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
@@ -10,6 +10,7 @@ import { AppPageMiddlewareContext } from "./app-page-response.js";
10
10
  import { AppLayoutParamAccessTracker } from "./app-layout-param-observation.js";
11
11
  import { RootParams } from "../shims/root-params.js";
12
12
  import { AppPageSsrHandler } from "./app-page-stream.js";
13
+ import { AppRenderErrorContextOverrides } from "./app-rsc-error-handler.js";
13
14
  import { AppPageCacheSetter, ISRCacheEntry } from "./isr-cache.js";
14
15
  import { PprFallbackShellState } from "../shims/ppr-fallback-shell.js";
15
16
  import { FetchCacheMode } from "../shims/fetch-cache.js";
@@ -21,14 +22,15 @@ import { ReactFormState } from "react-dom/client";
21
22
  //#region src/server/app-page-dispatch.d.ts
22
23
  type AppPageParams = Record<string, string | string[]>;
23
24
  type AppPageElement = ReactNode | Readonly<Record<string, ReactNode>>;
24
- type AppPageRenderableElement = ReactNode | AppOutgoingElements;
25
- type AppPageBoundaryOnError = (error: unknown, requestInfo: unknown, errorContext: unknown) => unknown;
25
+ export type AppPageRenderableElement = ReactNode | AppOutgoingElements;
26
+ export type AppPageBoundaryOnError = (error: unknown, requestInfo: unknown, errorContext: unknown) => unknown;
26
27
  type AppPageDebugLogger = (event: string, detail: string) => void;
27
28
  type AppPageCacheGetter = (key: string) => Promise<ISRCacheEntry | null>;
28
29
  type AppPageBackgroundRegenerationErrorContext = {
29
30
  routerKind: "App Router";
30
31
  routePath: string;
31
32
  routeType: "render";
33
+ shouldReport?: (error: unknown) => boolean;
32
34
  };
33
35
  type AppPageBackgroundRegenerator = (key: string, renderFn: () => Promise<void>, errorContext?: AppPageBackgroundRegenerationErrorContext) => void;
34
36
  type AppPageDispatchIntercept<TPage = unknown> = {
@@ -86,7 +88,7 @@ type AppPageDispatchSlot = {
86
88
  slotPatternParts?: readonly string[] | null;
87
89
  slotParamNames?: readonly string[] | null;
88
90
  };
89
- type AppPageDispatchRoute = {
91
+ export type AppPageDispatchRoute = {
90
92
  __buildTimeClassifications?: LayoutClassificationOptions["buildTimeClassifications"];
91
93
  __buildTimeReasons?: LayoutClassificationOptions["buildTimeReasons"];
92
94
  error?: AppPageModule | null;
@@ -110,17 +112,19 @@ type AppPageDispatchRoute = {
110
112
  unauthorizedTreePosition?: number | null;
111
113
  unauthorizeds?: readonly (AppPageModule | null | undefined)[];
112
114
  };
113
- type AppPagePprRuntime<TRoute extends AppPageDispatchRoute> = {
115
+ export type AppPagePprRuntime<TRoute extends AppPageDispatchRoute> = {
114
116
  beginFinalRender(state: AppPagePprState): void;
115
117
  getState(): AppPagePprState | null;
116
118
  run<T>(shell: NonNullable<DispatchAppPageOptions<TRoute>["pprFallbackShell"]>, fn: () => T): T;
117
119
  tryServe(options: DispatchAppPageOptions<TRoute>, currentRevalidateSeconds: number | null, isDraftMode: boolean, isForceStatic: boolean, isForceDynamic: boolean): Promise<Response | null>;
118
120
  warm(options: WarmPprFallbackShellCachesOptions): Promise<void>;
119
121
  };
120
- type AppPagePprState = PprFallbackShellState;
121
- type DispatchAppPageOptions<TRoute extends AppPageDispatchRoute> = {
122
+ export type AppPagePprState = PprFallbackShellState;
123
+ export type DispatchAppPageOptions<TRoute extends AppPageDispatchRoute> = {
122
124
  /** Configured basePath (e.g. "/blog"). Used to prefix redirect Locations. */
123
125
  basePath?: string;
126
+ /** Bypass shared RSC caches when the client-supplied interception context was not verified. */
127
+ bypassInterceptionContextCache?: boolean;
124
128
  /**
125
129
  * Allow-list of OpenTelemetry propagation keys (from
126
130
  * `experimental.clientTraceMetadata`) to surface as `<meta>` tags in the
@@ -134,6 +138,7 @@ type DispatchAppPageOptions<TRoute extends AppPageDispatchRoute> = {
134
138
  */
135
139
  reactMaxHeadersLength?: number;
136
140
  buildPageElement: (route: TRoute, params: AppPageParams, opts: AppPageDispatchInterceptOptions | undefined, searchParams: URLSearchParams, layoutParamAccess?: AppLayoutParamAccessTracker, options?: {
141
+ isForceStatic?: boolean;
137
142
  observeMetadataSearchParamsAccess?: boolean;
138
143
  observePageSearchParamsAccess?: boolean;
139
144
  serveStreamingMetadata?: boolean;
@@ -142,7 +147,7 @@ type DispatchAppPageOptions<TRoute extends AppPageDispatchRoute> = {
142
147
  cleanPathname: string;
143
148
  displayPathname?: string;
144
149
  clearRequestContext: () => void;
145
- createRscOnErrorHandler: (pathname: string, routePath: string) => AppPageBoundaryOnError;
150
+ createRscOnErrorHandler: (pathname: string, routePath: string, overrides?: AppRenderErrorContextOverrides) => AppPageBoundaryOnError;
146
151
  debugClassification?: (layoutId: string, reason: ClassificationReason) => void;
147
152
  draftModeSecret: string;
148
153
  dynamicConfig?: string;
@@ -165,7 +170,13 @@ type DispatchAppPageOptions<TRoute extends AppPageDispatchRoute> = {
165
170
  getFontStyles: () => string[];
166
171
  getNavigationContext: () => NavigationContext | null;
167
172
  getSourceRoute: (sourceRouteIndex: number) => TRoute | undefined;
173
+ /**
174
+ * Whether `generateStaticParams` is exported at or below the route's last
175
+ * dynamic segment (`hasAppPageGenerateStaticParamsAtLastDynamicSegment`).
176
+ */
168
177
  hasGenerateStaticParams: boolean;
178
+ /** Whether any segment of the route exports `generateStaticParams`. */
179
+ hasAnyGenerateStaticParams: boolean;
169
180
  hasCustomGlobalError?: boolean;
170
181
  hasPageDefaultExport: boolean;
171
182
  hasPageModule: boolean;
@@ -173,6 +184,13 @@ type DispatchAppPageOptions<TRoute extends AppPageDispatchRoute> = {
173
184
  htmlLimitedBots?: string;
174
185
  interceptionContext: string | null;
175
186
  isEdgeRuntime?: boolean;
187
+ /**
188
+ * Whether the route's loader tree resolves `runtime = "edge"` (or
189
+ * `"experimental-edge"`), which disables static generation outside
190
+ * `cacheComponents`. Every parallel branch merges at each node, as
191
+ * in Next.js's Turbopack build (`collectAppPageStaticGenerationRuntimes`).
192
+ */
193
+ isStaticGenerationEdgeRuntime?: boolean;
176
194
  isProgressiveActionRender?: boolean;
177
195
  isProduction: boolean;
178
196
  isRscRequest: boolean;
@@ -229,6 +247,13 @@ type DispatchAppPageOptions<TRoute extends AppPageDispatchRoute> = {
229
247
  resolveRouteFetchCacheMode?: (route: TRoute) => FetchCacheMode | null;
230
248
  resolveRouteRevalidateSeconds?: (route: TRoute) => number | null;
231
249
  resolveRouteDynamicConfig?: (route: TRoute) => string | null | undefined;
250
+ /**
251
+ * `isAppPageStaticEligible` for another route, from that route's own segment
252
+ * config, `generateStaticParams`, dynamism and runtime. A direct intercepted
253
+ * RSC response renders its source route, so it takes the source's
254
+ * cacheability.
255
+ */
256
+ resolveRouteStaticEligible: (route: TRoute) => boolean;
232
257
  rootForbiddenModule?: AppPageModule | null;
233
258
  rootNotFoundModule?: AppPageModule | null;
234
259
  rootUnauthorizedModule?: AppPageModule | null;
@@ -244,7 +269,7 @@ type DispatchAppPageOptions<TRoute extends AppPageDispatchRoute> = {
244
269
  }) => void;
245
270
  renderMode?: AppRscRenderMode;
246
271
  };
247
- declare function shouldReadAppPageCache(options: {
272
+ export declare function shouldReadAppPageCache(options: {
248
273
  isProgressiveActionRender: boolean;
249
274
  isDraftMode: boolean;
250
275
  isForceDynamic: boolean;
@@ -253,7 +278,6 @@ declare function shouldReadAppPageCache(options: {
253
278
  revalidateSeconds: number | null;
254
279
  scriptNonce?: string;
255
280
  }): boolean;
256
- declare function hasSearchParams(searchParams: URLSearchParams | null | undefined): boolean;
257
- declare function dispatchAppPage<TRoute extends AppPageDispatchRoute>(options: DispatchAppPageOptions<TRoute>): Promise<Response>;
258
- //#endregion
259
- export { AppPageBoundaryOnError, AppPageDispatchRoute, AppPagePprRuntime, AppPagePprState, AppPageRenderableElement, DispatchAppPageOptions, dispatchAppPage, hasSearchParams, shouldReadAppPageCache };
281
+ export declare function hasSearchParams(searchParams: URLSearchParams | null | undefined): boolean;
282
+ export declare function dispatchAppPage<TRoute extends AppPageDispatchRoute>(options: DispatchAppPageOptions<TRoute>): Promise<Response>;
283
+ //#endregion
@@ -1,28 +1,35 @@
1
1
  import { closeAfterResponse, createRequestContext, runWithRequestContext } from "../shims/unified-request-context.js";
2
- import { getRequestExecutionContext } from "../shims/request-context.js";
3
2
  import "../utils/protocol-headers.js";
4
- import { VINEXT_INTERCEPTION_ID_HEADER } from "./headers.js";
5
- import { AppElementsWire } from "./app-elements-wire.js";
3
+ import { getRequestExecutionContext } from "../shims/request-context.js";
4
+ import { VINEXT_INTERCEPTION_ID_HEADER, VINEXT_RSC_VARY_HEADER } from "./app-rsc-vary.js";
5
+ import "./headers.js";
6
+ import { beginRouteCacheability, isRouteCacheabilityIdentityProbe, isRouteCacheabilityProbe, markRouteCacheabilityPatternDynamic, readRouteCacheabilityState } from "../shims/cacheability-classification.js";
6
7
  import { APP_RSC_RENDER_MODE_PREFETCH_DYNAMIC_SHELL } from "./app-rsc-render-mode.js";
8
+ import { AppElementsWire } from "./app-elements-wire.js";
7
9
  import "./app-elements.js";
8
10
  import { consumeDynamicUsage, consumeInvalidDynamicUsageError, getAndClearPendingCookies, getDraftModeCookieHeader, getHeadersContext, isDraftModeRequest, peekDynamicUsage, peekRenderRequestApiUsage, runWithIsolatedDynamicUsage, setHeadersContext } from "../shims/headers.js";
9
11
  import { _captureRequestScopedCacheLifeAccessors } from "../shims/cache-request-state.js";
10
12
  import { ensureFetchPatch, getCollectedFetchTags, peekDynamicFetchObservations, runWithFetchDedupe, setCurrentFetchCacheMode, setCurrentFetchRevalidate, setCurrentFetchSoftTags, setCurrentForceDynamicFetchDefault, setRefreshStaleFetchesInForeground } from "../shims/fetch-cache.js";
11
- import { VINEXT_RSC_CONTENT_TYPE, VINEXT_RSC_VARY_HEADER, applyRscCompatibilityIdHeader, applyRscDeploymentIdHeader } from "./app-rsc-cache-busting.js";
13
+ import { cacheabilityManifestPageState } from "./cacheability-manifest.js";
14
+ import { VINEXT_RSC_CONTENT_TYPE, applyRscCompatibilityIdHeader, applyRscDeploymentIdHeader } from "./app-rsc-cache-busting.js";
12
15
  import { mergeMiddlewareResponseHeaders } from "./middleware-response-headers.js";
13
- import "./app-page-response.js";
16
+ import { resolveUncacheableCacheControl } from "./app-page-response.js";
14
17
  import { buildRscRedirectFlightStream } from "./app-rsc-redirect-flight.js";
15
18
  import { buildAppPageSpecialErrorResponse, probeAppPageThrownError, resolveAppPageSpecialError } from "./app-page-execution.js";
19
+ import { resolveAppPageTraceOperation } from "./app-page-tracing.js";
16
20
  import { createAppPageTreePath } from "./app-page-route-wiring.js";
21
+ import { traceResponseStart } from "./response-start-tracing.js";
17
22
  import { buildAppPageTags } from "./implicit-tags.js";
18
23
  import { consumeAppPageRenderObservationState, discardAppPageRenderState } from "./app-page-render-observation.js";
24
+ import { isAppPageStaticEligible } from "./app-segment-config.js";
19
25
  import { resolveAppPageParentHttpAccessBoundary, resolveAppPageParentHttpAccessBoundaryModule } from "./app-page-boundary.js";
20
26
  import { shouldServeStreamingMetadata } from "./streaming-metadata.js";
21
27
  import { resolveAppPageNavigationParams } from "./app-page-element-builder.js";
28
+ import { createAppPageRscErrorTracker } from "./app-page-stream.js";
22
29
  import { createAppLayoutParamAccessTracker, isAppLayoutObservationUnsafeForStaticReuse } from "./app-layout-param-observation.js";
23
30
  import { resolveAppPageMethodResponse } from "./app-page-method.js";
24
31
  import { buildAppPageElement, resolveAppPageIntercept, resolveAppPageInterceptionRerenderTarget, validateAppPageDynamicParams } from "./app-page-request.js";
25
- import { renderAppPageLifecycle } from "./app-page-render.js";
32
+ import { applyIneligibleRouteCachePolicy, renderAppPageLifecycle } from "./app-page-render.js";
26
33
  //#region src/server/app-page-dispatch.ts
27
34
  function getActiveLoadingTreePositions(route) {
28
35
  const positions = [];
@@ -127,14 +134,15 @@ function hasSearchParams(searchParams) {
127
134
  }
128
135
  async function runAppPageRevalidationContext(options, renderFn) {
129
136
  const { createStaticGenerationHeadersContext } = await import("./app-static-generation.js");
137
+ const headersContext = createStaticGenerationHeadersContext({
138
+ draftModeEnabled: false,
139
+ draftModeSecret: options.draftModeSecret,
140
+ dynamicConfig: options.dynamicConfig,
141
+ routeKind: "page",
142
+ routePattern: options.routePattern
143
+ });
130
144
  const requestContext = createRequestContext({
131
- headersContext: createStaticGenerationHeadersContext({
132
- draftModeEnabled: false,
133
- draftModeSecret: options.draftModeSecret,
134
- dynamicConfig: options.dynamicConfig,
135
- routeKind: "page",
136
- routePattern: options.routePattern
137
- }),
145
+ headersContext,
138
146
  currentFetchCacheMode: options.currentFetchCacheMode ?? null,
139
147
  currentFetchRevalidate: options.currentFetchRevalidate ?? null,
140
148
  currentForceDynamicFetchDefault: options.dynamicConfig === "force-dynamic",
@@ -181,20 +189,62 @@ function toInterceptOptions(interceptionContext, intercept) {
181
189
  interceptTargetRouteGraphId: intercept.targetRouteGraphId ?? null
182
190
  };
183
191
  }
192
+ /**
193
+ * Workers Cache never admits a path its deploy manifest gives no state: a
194
+ * listed path that used a dynamic API, or an unlisted path of a route without
195
+ * on-demand ISR. Next.js serves those per request, so they render normally,
196
+ * with real values. Without a manifest, admission uses the `runtime` policy
197
+ * and every path keeps candidate mode, as on core.
198
+ */
199
+ function hasNoManifestAdmissionState(routePattern) {
200
+ const admission = readRouteCacheabilityState()?.admission;
201
+ return admission?.policy === "manifest" && admission.representation !== void 0 && admission.routePathname !== void 0 && cacheabilityManifestPageState(admission.manifest, {
202
+ kind: "app-page",
203
+ pattern: routePattern
204
+ }, admission.representation, admission.routePathname) === null;
205
+ }
184
206
  async function dispatchAppPage(options) {
185
207
  const dispatch = () => runWithFetchDedupe(() => dispatchAppPageInner(options));
186
- if (!options.pprFallbackShell || !options.pprRuntime) return await dispatch();
187
- return await options.pprRuntime.run(options.pprFallbackShell, dispatch);
208
+ let response;
209
+ if (!options.pprFallbackShell || !options.pprRuntime) response = await dispatch();
210
+ else response = await options.pprRuntime.run(options.pprFallbackShell, dispatch);
211
+ return options.isRscRequest ? response : traceResponseStart(response);
188
212
  }
189
213
  async function dispatchAppPageInner(options) {
190
214
  const route = options.route;
215
+ beginRouteCacheability("app-page", route.pattern);
216
+ if (isRouteCacheabilityIdentityProbe()) {
217
+ options.clearRequestContext();
218
+ return new Response(null, { status: 204 });
219
+ }
191
220
  const dynamicConfig = options.dynamicConfig;
192
- const currentRevalidateSeconds = options.revalidateSeconds;
193
221
  const interceptionId = options.isRscRequest ? options.request.headers.get(VINEXT_INTERCEPTION_ID_HEADER) : null;
194
222
  const isForceStatic = dynamicConfig === "force-static";
195
223
  const isDynamicError = dynamicConfig === "error";
196
224
  const isForceDynamic = dynamicConfig === "force-dynamic";
225
+ const isNextStaticEligible = isAppPageStaticEligible({
226
+ dynamicConfig,
227
+ hasGenerateStaticParams: options.hasGenerateStaticParams,
228
+ isDynamicRoute: route.isDynamic,
229
+ isStaticGenerationEdgeRuntime: options.isStaticGenerationEdgeRuntime === true,
230
+ revalidateSeconds: options.revalidateSeconds
231
+ });
232
+ const isStaticEligible = options.pprRuntime !== void 0 || isNextStaticEligible;
233
+ const hasStaticRevalidateDefault = options.isProduction && options.pprRuntime === void 0 && isNextStaticEligible;
234
+ const currentRevalidateSeconds = options.revalidateSeconds ?? (hasStaticRevalidateDefault || options.hasAnyGenerateStaticParams ? Infinity : null);
235
+ if (isRouteCacheabilityProbe()) {
236
+ const isRouteStaticEligible = options.pprRuntime !== void 0 || isAppPageStaticEligible({
237
+ dynamicConfig: options.dynamicConfig,
238
+ hasGenerateStaticParams: options.hasGenerateStaticParams,
239
+ isDynamicRoute: route.isDynamic,
240
+ isStaticGenerationEdgeRuntime: options.isStaticGenerationEdgeRuntime === true,
241
+ revalidateSeconds: options.revalidateSeconds ?? null
242
+ });
243
+ const patternDynamicReason = isForceDynamic ? "dynamic = \"force-dynamic\"" : currentRevalidateSeconds === 0 ? "revalidate = 0" : !isRouteStaticEligible ? "route is not statically generated" : null;
244
+ if (patternDynamicReason) markRouteCacheabilityPatternDynamic(patternDynamicReason);
245
+ }
197
246
  const isPrerender = process.env.VINEXT_PRERENDER === "1";
247
+ let traceOperation = isPrerender ? "prerender" : "render";
198
248
  const serveStreamingMetadata = shouldServeStreamingMetadata(options.request.headers.get("user-agent") ?? "", options.htmlLimitedBots);
199
249
  const placeGeneratedMetadataInBody = (!isPrerender || options.pprFallbackShell !== void 0) && serveStreamingMetadata;
200
250
  const isPrefetchDynamicShell = options.renderMode === APP_RSC_RENDER_MODE_PREFETCH_DYNAMIC_SHELL;
@@ -212,15 +262,25 @@ async function dispatchAppPageInner(options) {
212
262
  setCurrentForceDynamicFetchDefault(isForceDynamic);
213
263
  if (options.hasPageModule && !options.hasPageDefaultExport) {
214
264
  options.clearRequestContext();
215
- return new Response("Page has no default export", { status: 500 });
265
+ return applyIneligibleRouteCachePolicy(new Response("Page has no default export", { status: 500 }), {
266
+ isDraftMode,
267
+ isDynamicError,
268
+ isForceDynamic,
269
+ isForceStatic,
270
+ isProduction: options.isProduction,
271
+ isProgressiveActionRender: options.isProgressiveActionRender === true,
272
+ isRscRequest: options.isRscRequest,
273
+ isStaticEligible,
274
+ middlewareContext: options.middlewareContext,
275
+ peekDynamicUsage,
276
+ revalidateSeconds: currentRevalidateSeconds,
277
+ scriptNonce: options.scriptNonce
278
+ });
216
279
  }
217
280
  const methodResponse = resolveAppPageMethodResponse({
218
- dynamicConfig,
219
- hasGenerateStaticParams: options.hasGenerateStaticParams,
220
- isDynamicRoute: route.isDynamic,
281
+ isStaticEligible: isNextStaticEligible,
221
282
  middlewareHeaders: options.middlewareContext.headers,
222
- request: options.request,
223
- revalidateSeconds: currentRevalidateSeconds
283
+ request: options.request
224
284
  });
225
285
  if (methodResponse) {
226
286
  options.clearRequestContext();
@@ -242,7 +302,7 @@ async function dispatchAppPageInner(options) {
242
302
  params: staticNavigationParams
243
303
  });
244
304
  }
245
- if (shouldReadAppPageCache({
305
+ const isCacheEligibleRender = options.bypassInterceptionContextCache !== true && shouldReadAppPageCache({
246
306
  isDraftMode,
247
307
  isForceDynamic,
248
308
  isProgressiveActionRender: options.isProgressiveActionRender === true,
@@ -250,13 +310,48 @@ async function dispatchAppPageInner(options) {
250
310
  isRscRequest: options.isRscRequest,
251
311
  revalidateSeconds: currentRevalidateSeconds,
252
312
  scriptNonce: options.scriptNonce
253
- })) {
313
+ });
314
+ const isNeverStoredPath = options.pprRuntime === void 0 && hasNoManifestAdmissionState(route.pattern);
315
+ const shouldReadCache = !isRouteCacheabilityProbe() && isCacheEligibleRender && !isNeverStoredPath;
316
+ const isCacheCandidate = isCacheEligibleRender && isStaticEligible && options.pprRuntime === void 0 && !isNeverStoredPath;
317
+ if (shouldReadCache && isStaticEligible) {
318
+ traceOperation = resolveAppPageTraceOperation({
319
+ hasRequestSearchParams,
320
+ isDynamicError,
321
+ isForceStatic,
322
+ isKnownPrerenderedRoute: options.renderedConcreteUrlPaths !== void 0,
323
+ isPrerender
324
+ });
254
325
  const { readAppPageCacheResponse } = await import("./app-page-cache.js");
326
+ const reportedSsrRevalidationErrors = /* @__PURE__ */ new Set();
327
+ let revalidationRscErrorTracker = null;
328
+ const resolveCacheRenderTarget = async () => {
329
+ const revalidationTarget = await resolveAppPageInterceptionRerenderTarget({
330
+ cleanPathname: options.cleanPathname,
331
+ currentParams: options.params,
332
+ currentRoute: route,
333
+ findIntercept: options.findIntercept,
334
+ getRouteParamNames(sourceRoute) {
335
+ return sourceRoute.params;
336
+ },
337
+ getSourceRoute(sourceRouteIndex) {
338
+ return options.getSourceRoute(sourceRouteIndex);
339
+ },
340
+ isRscRequest: options.isRscRequest,
341
+ toInterceptOpts(intercept) {
342
+ return toInterceptOptions(options.interceptionContext, intercept);
343
+ }
344
+ });
345
+ await options.ensureRouteLoaded?.(revalidationTarget.route);
346
+ revalidationTarget.navigationParams = resolveAppPageNavigationParams(revalidationTarget.route, revalidationTarget.navigationParams, options.cleanPathname, revalidationTarget.interceptOpts);
347
+ return revalidationTarget;
348
+ };
255
349
  const cachedPageResponse = await readAppPageCacheResponse({
256
350
  cleanPathname: options.cleanPathname,
257
351
  clearRequestContext: options.clearRequestContext,
258
352
  hasRequestSearchParams,
259
353
  isEdgeRuntime: options.isEdgeRuntime,
354
+ isRoutePPREnabled: options.pprRuntime !== void 0,
260
355
  isRscRequest: options.isRscRequest,
261
356
  isrDebug: options.isrDebug,
262
357
  isrGet: options.isrGet,
@@ -268,6 +363,10 @@ async function dispatchAppPageInner(options) {
268
363
  middlewareHeaders: options.middlewareContext.headers,
269
364
  middlewareStatus: options.middlewareContext.status,
270
365
  mountedSlotsHeader: options.mountedSlotsHeader,
366
+ async resolveParams() {
367
+ return (await resolveCacheRenderTarget()).navigationParams;
368
+ },
369
+ renderedPathAndSearch: options.renderedPathAndSearch,
271
370
  renderMode: options.renderMode,
272
371
  expireSeconds: options.expireSeconds,
273
372
  revalidateSeconds: resolveAppPageCacheReadRevalidateSeconds({
@@ -276,30 +375,15 @@ async function dispatchAppPageInner(options) {
276
375
  revalidateSeconds: currentRevalidateSeconds
277
376
  }),
278
377
  renderFreshPageForCache: async () => {
279
- const revalidationTarget = await resolveAppPageInterceptionRerenderTarget({
280
- cleanPathname: options.cleanPathname,
281
- currentParams: options.params,
282
- currentRoute: route,
283
- findIntercept: options.findIntercept,
284
- getRouteParamNames(sourceRoute) {
285
- return sourceRoute.params;
286
- },
287
- getSourceRoute(sourceRouteIndex) {
288
- return options.getSourceRoute(sourceRouteIndex);
289
- },
290
- isRscRequest: options.isRscRequest,
291
- toInterceptOpts(intercept) {
292
- return toInterceptOptions(options.interceptionContext, intercept);
293
- }
294
- });
295
- revalidationTarget.navigationParams = resolveAppPageNavigationParams(revalidationTarget.route, revalidationTarget.navigationParams, options.cleanPathname, revalidationTarget.interceptOpts);
296
- await options.ensureRouteLoaded?.(revalidationTarget.route);
378
+ const revalidationTarget = await resolveCacheRenderTarget();
297
379
  const revalidationDynamicConfig = options.resolveRouteDynamicConfig?.(revalidationTarget.route) ?? (revalidationTarget.route === route ? dynamicConfig : void 0);
380
+ const revalidationConfigRevalidateSeconds = options.resolveRouteRevalidateSeconds?.(revalidationTarget.route) ?? (revalidationTarget.route === route ? currentRevalidateSeconds : null);
381
+ const revalidationRouteRevalidateSeconds = revalidationTarget.route === route ? void 0 : revalidationConfigRevalidateSeconds ?? (revalidationDynamicConfig === "force-static" || revalidationDynamicConfig === "error" || options.isProduction && options.pprRuntime === void 0 && options.resolveRouteStaticEligible(revalidationTarget.route) ? Infinity : null);
298
382
  return runAppPageRevalidationContext({
299
383
  cleanPathname: options.cleanPathname,
300
384
  displayPathname: options.displayPathname,
301
385
  currentFetchCacheMode: options.resolveRouteFetchCacheMode?.(revalidationTarget.route) ?? (revalidationTarget.route === route ? options.fetchCache ?? null : null),
302
- currentFetchRevalidate: options.resolveRouteRevalidateSeconds?.(revalidationTarget.route) ?? (revalidationTarget.route === route ? currentRevalidateSeconds : null),
386
+ currentFetchRevalidate: revalidationConfigRevalidateSeconds,
303
387
  draftModeSecret: options.draftModeSecret,
304
388
  dynamicConfig: revalidationDynamicConfig,
305
389
  params: revalidationTarget.navigationParams,
@@ -309,11 +393,17 @@ async function dispatchAppPageInner(options) {
309
393
  }, async () => {
310
394
  const { renderAppPageCacheArtifacts } = await import("./app-page-cache-render.js");
311
395
  const revalidatedElement = await options.buildPageElement(revalidationTarget.route, revalidationTarget.params, revalidationTarget.interceptOpts, new URLSearchParams(), void 0, {
396
+ isForceStatic: revalidationDynamicConfig === "force-static",
312
397
  observeMetadataSearchParamsAccess: revalidationDynamicConfig !== "force-static",
313
398
  observePageSearchParamsAccess: revalidationDynamicConfig !== "force-static",
314
399
  serveStreamingMetadata: false
315
400
  });
316
- const revalidatedOnError = options.createRscOnErrorHandler(options.cleanPathname, revalidationTarget.route.pattern);
401
+ const baseRevalidatedOnError = options.createRscOnErrorHandler(options.cleanPathname, revalidationTarget.route.pattern, { revalidateReason: "stale" });
402
+ const baseRevalidatedOnSsrError = options.createRscOnErrorHandler(options.cleanPathname, revalidationTarget.route.pattern, {
403
+ renderSource: "server-rendering",
404
+ revalidateReason: "stale"
405
+ });
406
+ revalidationRscErrorTracker = createAppPageRscErrorTracker(baseRevalidatedOnError);
317
407
  const rendered = await renderAppPageCacheArtifacts({
318
408
  basePath: options.basePath,
319
409
  captureRscData: true,
@@ -327,7 +417,12 @@ async function dispatchAppPageInner(options) {
327
417
  loadSsrHandler: options.loadSsrHandler,
328
418
  mountedSlotsHeader: options.mountedSlotsHeader,
329
419
  navigationParams: revalidationTarget.navigationParams,
330
- onError: revalidatedOnError,
420
+ isCapturedRscError: revalidationRscErrorTracker.isCapturedError,
421
+ onError: revalidationRscErrorTracker.onRenderError,
422
+ onSsrError(error) {
423
+ reportedSsrRevalidationErrors.add(error);
424
+ return baseRevalidatedOnSsrError(error, void 0, void 0);
425
+ },
331
426
  reactMaxHeadersLength: options.reactMaxHeadersLength,
332
427
  renderToReadableStream: options.renderToReadableStream,
333
428
  rootParams: options.rootParams,
@@ -343,7 +438,9 @@ async function dispatchAppPageInner(options) {
343
438
  rscData: rendered.rscData,
344
439
  rscRenderObservation: rendered.rscRenderObservation,
345
440
  tags: rendered.tags,
346
- cacheControl: rendered.cacheControl
441
+ cacheControl: rendered.cacheControl,
442
+ revalidateSeconds: revalidationRouteRevalidateSeconds,
443
+ usedDynamicApi: rendered.usedDynamicApi
347
444
  };
348
445
  });
349
446
  },
@@ -351,7 +448,8 @@ async function dispatchAppPageInner(options) {
351
448
  options.scheduleBackgroundRegeneration(key, renderFn, {
352
449
  routerKind: "App Router",
353
450
  routePath: route.pattern,
354
- routeType: "render"
451
+ routeType: "render",
452
+ shouldReport: (error) => !reportedSsrRevalidationErrors.has(error) && !revalidationRscErrorTracker?.isCapturedError(error)
355
453
  });
356
454
  }
357
455
  });
@@ -366,15 +464,30 @@ async function dispatchAppPageInner(options) {
366
464
  });
367
465
  if (dynamicParamsResponse) {
368
466
  const renderedNotFound = await options.renderHttpAccessFallbackPage(404, { matchedParams: options.params }, options.middlewareContext);
369
- if (renderedNotFound) return renderedNotFound;
467
+ const cachePolicy = {
468
+ isDraftMode,
469
+ isDynamicError,
470
+ isForceDynamic,
471
+ isForceStatic,
472
+ isProduction: options.isProduction,
473
+ isProgressiveActionRender: options.isProgressiveActionRender === true,
474
+ isRscRequest: options.isRscRequest,
475
+ isStaticEligible,
476
+ middlewareContext: options.middlewareContext,
477
+ peekDynamicUsage,
478
+ revalidateSeconds: currentRevalidateSeconds,
479
+ scriptNonce: options.scriptNonce
480
+ };
481
+ if (renderedNotFound) return applyIneligibleRouteCachePolicy(renderedNotFound, cachePolicy);
370
482
  options.clearRequestContext();
371
- return dynamicParamsResponse;
483
+ return applyIneligibleRouteCachePolicy(dynamicParamsResponse, cachePolicy);
372
484
  }
373
485
  }
374
486
  const fallbackShellResponse = options.pprRuntime ? await options.pprRuntime.tryServe(options, currentRevalidateSeconds, isDraftMode, isForceStatic, isForceDynamic) : null;
375
487
  if (fallbackShellResponse) return fallbackShellResponse;
376
488
  let interceptDynamicConfig;
377
489
  let interceptDynamicConfigResolved = false;
490
+ let isInterceptSourceKnownDynamic = false;
378
491
  const interceptResult = await resolveAppPageIntercept({
379
492
  async buildPageElement(interceptRoute, interceptParams, interceptOpts, interceptSearchParams, interceptLayoutParamAccess) {
380
493
  const sourceDynamicConfig = interceptDynamicConfigResolved ? interceptDynamicConfig : options.resolveRouteDynamicConfig?.(interceptRoute);
@@ -388,10 +501,13 @@ async function dispatchAppPageInner(options) {
388
501
  routePattern: interceptRoute.pattern
389
502
  }));
390
503
  } else setHeadersContext(requestHeadersContext);
504
+ const sourceRevalidateSeconds = options.resolveRouteRevalidateSeconds?.(interceptRoute) ?? null;
505
+ isInterceptSourceKnownDynamic = sourceDynamicConfig === "force-dynamic" || sourceRevalidateSeconds === 0;
391
506
  setCurrentFetchCacheMode(options.resolveRouteFetchCacheMode?.(interceptRoute) ?? null);
392
- setCurrentFetchRevalidate(options.resolveRouteRevalidateSeconds?.(interceptRoute) ?? null);
507
+ setCurrentFetchRevalidate(sourceRevalidateSeconds);
393
508
  setCurrentForceDynamicFetchDefault(sourceDynamicConfig === "force-dynamic");
394
509
  return options.buildPageElement(interceptRoute, interceptParams, interceptOpts, interceptSearchParams, interceptLayoutParamAccess, {
510
+ isForceStatic: sourceDynamicConfig === "force-static",
395
511
  observeMetadataSearchParamsAccess: sourceDynamicConfig !== "force-static",
396
512
  observePageSearchParamsAccess: sourceDynamicConfig !== "force-static",
397
513
  serveStreamingMetadata: placeGeneratedMetadataInBody
@@ -420,6 +536,7 @@ async function dispatchAppPageInner(options) {
420
536
  "Content-Type": VINEXT_RSC_CONTENT_TYPE,
421
537
  Vary: VINEXT_RSC_VARY_HEADER
422
538
  });
539
+ if (!(options.pprRuntime !== void 0 || options.resolveRouteStaticEligible(sourceRoute)) || isDraftMode || isInterceptSourceKnownDynamic) interceptHeaders.set("Cache-Control", resolveUncacheableCacheControl(options.isProduction));
423
540
  mergeMiddlewareResponseHeaders(interceptHeaders, options.middlewareContext.headers);
424
541
  applyRscCompatibilityIdHeader(interceptHeaders);
425
542
  applyRscDeploymentIdHeader(interceptHeaders);
@@ -445,6 +562,7 @@ async function dispatchAppPageInner(options) {
445
562
  buildPageElement() {
446
563
  if (options.actionFailed) throw options.actionError;
447
564
  return options.buildPageElement(route, options.params, interceptResult.interceptOpts, pageSearchParams, layoutParamAccess, {
565
+ isForceStatic,
448
566
  observeMetadataSearchParamsAccess: !isForceStatic,
449
567
  observePageSearchParamsAccess: !isForceStatic,
450
568
  serveStreamingMetadata: placeGeneratedMetadataInBody
@@ -452,12 +570,13 @@ async function dispatchAppPageInner(options) {
452
570
  },
453
571
  async probePageSpecialError() {
454
572
  if (hasActiveLoadingBoundary) return null;
455
- return resolveAppPageSpecialError(await probeAppPageThrownError({
573
+ const pageError = await probeAppPageThrownError({
456
574
  probePage: () => options.probePage(pageSearchParams),
457
575
  runWithSuppressedHookWarning(probe) {
458
576
  return options.runWithSuppressedHookWarning(probe);
459
577
  }
460
- }));
578
+ });
579
+ return resolveAppPageSpecialError(pageError);
461
580
  },
462
581
  renderErrorBoundaryPage(buildError) {
463
582
  return options.renderErrorBoundaryPage(buildError);
@@ -479,14 +598,7 @@ async function dispatchAppPageInner(options) {
479
598
  });
480
599
  discardAppPageRenderState();
481
600
  }
482
- const pageBuildResult = await buildCurrentPageElement();
483
- if (pageBuildResult.response) return pageBuildResult.response;
484
601
  const navigationParams = resolveAppPageNavigationParams(route, options.params, options.cleanPathname, interceptResult.interceptOpts);
485
- options.setNavigationContext({
486
- pathname: options.displayPathname ?? options.cleanPathname,
487
- searchParams: pageSearchParams,
488
- params: navigationParams
489
- });
490
602
  const layoutClassifications = getEffectiveLayoutClassifications(route, options.debugClassification);
491
603
  const activeFallbackShellState = options.pprRuntime?.getState() ?? null;
492
604
  const pprFallbackShellSignal = activeFallbackShellState?.abortController.signal;
@@ -495,6 +607,7 @@ async function dispatchAppPageInner(options) {
495
607
  const requestCacheLife = _captureRequestScopedCacheLifeAccessors();
496
608
  return renderAppPageLifecycle({
497
609
  basePath: options.basePath,
610
+ bypassInterceptionContextCache: options.bypassInterceptionContextCache,
498
611
  clientTraceMetadata: options.clientTraceMetadata,
499
612
  reactMaxHeadersLength: options.reactMaxHeadersLength,
500
613
  cleanPathname: options.cleanPathname,
@@ -503,10 +616,19 @@ async function dispatchAppPageInner(options) {
503
616
  peekDynamicUsage,
504
617
  consumeInvalidDynamicUsageError,
505
618
  consumeRenderObservationState: consumeAppPageRenderObservationState,
506
- createRscOnErrorHandler(pathname, routePath) {
507
- return options.createRscOnErrorHandler(pathname, routePath);
619
+ createRscOnErrorHandler(pathname, routePath, overrides) {
620
+ return options.createRscOnErrorHandler(pathname, routePath, overrides);
621
+ },
622
+ async prepareElement() {
623
+ const pageBuildResult = await buildCurrentPageElement();
624
+ if (pageBuildResult.response) return { response: pageBuildResult.response };
625
+ options.setNavigationContext({
626
+ pathname: options.displayPathname ?? options.cleanPathname,
627
+ searchParams: pageSearchParams,
628
+ params: navigationParams
629
+ });
630
+ return { element: pageBuildResult.element };
508
631
  },
509
- element: pageBuildResult.element,
510
632
  clientReuseManifest: options.clientReuseManifest,
511
633
  getDraftModeCookieHeader,
512
634
  getFontLinks: options.getFontLinks,
@@ -524,7 +646,7 @@ async function dispatchAppPageInner(options) {
524
646
  },
525
647
  handlerStart: options.handlerStart,
526
648
  hasLoadingBoundary: hasActiveLoadingBoundary,
527
- omitPendingDynamicCacheState: hasRequestSearchParams,
649
+ omitPendingDynamicCacheState: hasRequestSearchParams && !(isCacheCandidate && !options.isRscRequest),
528
650
  formState: options.formState ?? null,
529
651
  isProgressiveActionRender: options.isProgressiveActionRender === true,
530
652
  isDynamicError,
@@ -532,10 +654,13 @@ async function dispatchAppPageInner(options) {
532
654
  isForceDynamic,
533
655
  isForceStatic,
534
656
  isEdgeRuntime: options.isEdgeRuntime === true,
657
+ isStaticEligible,
658
+ isCacheCandidate,
535
659
  isPrerender,
536
660
  isSpeculativePrerender,
537
661
  isProduction: options.isProduction,
538
662
  isRscRequest: options.isRscRequest,
663
+ traceOperation,
539
664
  isrDebug: options.isrDebug,
540
665
  isrHtmlKey: options.isrHtmlKey,
541
666
  isrRscKey: options.isrRscKey,