vinext 1.0.0-beta.9 → 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 (800) hide show
  1. package/README.md +150 -92
  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 +36 -11
  37. package/dist/build/prerender-paths.js +273 -97
  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 +65 -15
  43. package/dist/build/prerender.js +139 -43
  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 +24 -20
  49. package/dist/build/report.js +10 -2
  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 +6 -7
  62. package/dist/cache/cache-adapters-virtual.d.ts +60 -20
  63. package/dist/cache/cache-adapters-virtual.js +50 -7
  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 -442
  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 -10
  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 +2 -4
  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 +4 -5
  102. package/dist/entries/app-browser-entry.js +1 -3
  103. package/dist/entries/app-rsc-entry.d.ts +10 -3
  104. package/dist/entries/app-rsc-entry.js +502 -51
  105. package/dist/entries/app-rsc-manifest.d.ts +4 -3
  106. package/dist/entries/app-rsc-manifest.js +26 -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 +234 -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 +711 -189
  117. package/dist/init-cloudflare.d.ts +26 -17
  118. package/dist/init-cloudflare.js +710 -102
  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 +19 -6
  191. package/dist/routing/app-router.js +24 -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 +87 -34
  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 +8 -4
  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 +6 -2
  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-client-reference-preloader.d.ts +2 -3
  237. package/dist/server/app-elements-wire-key.d.ts +25 -0
  238. package/dist/server/app-elements-wire-key.js +69 -0
  239. package/dist/server/app-elements-wire.d.ts +34 -53
  240. package/dist/server/app-elements-wire.js +4 -75
  241. package/dist/server/app-elements.d.ts +5 -5
  242. package/dist/server/app-elements.js +1 -1
  243. package/dist/server/app-fallback-renderer.d.ts +4 -4
  244. package/dist/server/app-fallback-renderer.js +6 -6
  245. package/dist/server/app-fetch-tracing.d.ts +15 -0
  246. package/dist/server/app-fetch-tracing.js +38 -0
  247. package/dist/server/app-history-state.d.ts +26 -27
  248. package/dist/server/app-history-state.js +19 -11
  249. package/dist/server/app-hook-warning-suppression.d.ts +2 -3
  250. package/dist/server/app-hydration-cache-publication.d.ts +3 -4
  251. package/dist/server/app-inline-css-client.d.ts +3 -4
  252. package/dist/server/app-interception-context-header.d.ts +2 -3
  253. package/dist/server/app-layout-param-observation.d.ts +7 -8
  254. package/dist/server/app-metadata-tracing.d.ts +12 -0
  255. package/dist/server/app-metadata-tracing.js +17 -0
  256. package/dist/server/app-middleware.d.ts +7 -7
  257. package/dist/server/app-middleware.js +2 -3
  258. package/dist/server/app-mounted-slots-header.d.ts +2 -3
  259. package/dist/server/app-mounted-slots-header.js +2 -2
  260. package/dist/server/app-optimistic-routing.d.ts +10 -11
  261. package/dist/server/app-optimistic-routing.js +3 -2
  262. package/dist/server/app-page-boundary-render.d.ts +6 -6
  263. package/dist/server/app-page-boundary-render.js +10 -4
  264. package/dist/server/app-page-boundary.d.ts +9 -10
  265. package/dist/server/app-page-boundary.js +1 -1
  266. package/dist/server/app-page-cache-finalizer.d.ts +18 -9
  267. package/dist/server/app-page-cache-finalizer.js +51 -16
  268. package/dist/server/app-page-cache-render.d.ts +8 -5
  269. package/dist/server/app-page-cache-render.js +22 -5
  270. package/dist/server/app-page-cache.d.ts +28 -9
  271. package/dist/server/app-page-cache.js +95 -24
  272. package/dist/server/app-page-dispatch.d.ts +34 -12
  273. package/dist/server/app-page-dispatch.js +181 -64
  274. package/dist/server/app-page-element-builder.d.ts +13 -11
  275. package/dist/server/app-page-element-builder.js +104 -61
  276. package/dist/server/app-page-execution.d.ts +14 -14
  277. package/dist/server/app-page-execution.js +11 -7
  278. package/dist/server/app-page-head.d.ts +19 -16
  279. package/dist/server/app-page-head.js +25 -25
  280. package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
  281. package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
  282. package/dist/server/app-page-method.d.ts +5 -11
  283. package/dist/server/app-page-method.js +2 -9
  284. package/dist/server/app-page-params.d.ts +5 -6
  285. package/dist/server/app-page-ppr-runtime.d.ts +2 -2
  286. package/dist/server/app-page-probe.d.ts +5 -6
  287. package/dist/server/app-page-probe.js +5 -4
  288. package/dist/server/app-page-render-identity.d.ts +4 -5
  289. package/dist/server/app-page-render-observation.d.ts +8 -9
  290. package/dist/server/app-page-render-observation.js +1 -1
  291. package/dist/server/app-page-render.d.ts +41 -6
  292. package/dist/server/app-page-render.js +171 -25
  293. package/dist/server/app-page-request.d.ts +10 -9
  294. package/dist/server/app-page-request.js +16 -12
  295. package/dist/server/app-page-response.d.ts +20 -9
  296. package/dist/server/app-page-response.js +30 -12
  297. package/dist/server/app-page-route-wiring.d.ts +15 -15
  298. package/dist/server/app-page-route-wiring.js +31 -24
  299. package/dist/server/app-page-search-params-observation.d.ts +26 -5
  300. package/dist/server/app-page-search-params-observation.js +42 -6
  301. package/dist/server/app-page-segment-plan.d.ts +2 -3
  302. package/dist/server/app-page-segment-state.d.ts +11 -12
  303. package/dist/server/app-page-stream.d.ts +27 -11
  304. package/dist/server/app-page-stream.js +34 -6
  305. package/dist/server/app-page-tracing.d.ts +33 -0
  306. package/dist/server/app-page-tracing.js +49 -0
  307. package/dist/server/app-pages-bridge.d.ts +6 -6
  308. package/dist/server/app-pages-bridge.js +17 -4
  309. package/dist/server/app-post-middleware-context.d.ts +2 -3
  310. package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
  311. package/dist/server/app-ppr-fallback-shell-render.js +3 -2
  312. package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
  313. package/dist/server/app-prerender-endpoints.d.ts +5 -5
  314. package/dist/server/app-prerender-endpoints.js +3 -1
  315. package/dist/server/app-prerender-static-params.d.ts +15 -7
  316. package/dist/server/app-prerender-static-params.js +24 -9
  317. package/dist/server/app-render-dependency.d.ts +14 -13
  318. package/dist/server/app-render-dependency.js +5 -1
  319. package/dist/server/app-request-context.d.ts +3 -4
  320. package/dist/server/app-request-stage-context.d.ts +5 -0
  321. package/dist/server/app-request-stage-context.js +11 -0
  322. package/dist/server/app-request-stage-dispatch.d.ts +25 -0
  323. package/dist/server/app-request-stage-dispatch.js +54 -0
  324. package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
  325. package/dist/server/app-request-stage-independent-entry.js +115 -0
  326. package/dist/server/app-response-header-provenance.d.ts +13 -7
  327. package/dist/server/app-response-header-provenance.js +34 -1
  328. package/dist/server/app-response-stage-entry.d.ts +9 -0
  329. package/dist/server/app-response-stage-entry.js +87 -0
  330. package/dist/server/app-route-handler-cache.d.ts +2 -3
  331. package/dist/server/app-route-handler-cache.js +46 -34
  332. package/dist/server/app-route-handler-dispatch.d.ts +3 -3
  333. package/dist/server/app-route-handler-dispatch.js +68 -54
  334. package/dist/server/app-route-handler-execution.d.ts +17 -13
  335. package/dist/server/app-route-handler-execution.js +69 -18
  336. package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
  337. package/dist/server/app-route-handler-middleware-context.js +15 -0
  338. package/dist/server/app-route-handler-policy.d.ts +11 -11
  339. package/dist/server/app-route-handler-response.d.ts +9 -10
  340. package/dist/server/app-route-handler-response.js +2 -0
  341. package/dist/server/app-route-handler-runtime.d.ts +9 -10
  342. package/dist/server/app-route-handler-runtime.js +20 -16
  343. package/dist/server/app-route-module-loader.d.ts +6 -7
  344. package/dist/server/app-route-request-built-ins.d.ts +3 -4
  345. package/dist/server/app-route-tree-prefetch.d.ts +6 -7
  346. package/dist/server/app-route-tree-prefetch.js +2 -1
  347. package/dist/server/app-router-entry.d.ts +2 -0
  348. package/dist/server/app-router-entry.js +28 -8
  349. package/dist/server/app-rsc-cache-busting.d.ts +34 -27
  350. package/dist/server/app-rsc-cache-busting.js +14 -2
  351. package/dist/server/app-rsc-combined-handler.d.ts +9 -0
  352. package/dist/server/app-rsc-combined-handler.js +11 -0
  353. package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
  354. package/dist/server/app-rsc-error-handler.d.ts +12 -6
  355. package/dist/server/app-rsc-error-handler.js +15 -6
  356. package/dist/server/app-rsc-errors.d.ts +12 -9
  357. package/dist/server/app-rsc-errors.js +15 -13
  358. package/dist/server/app-rsc-handler.d.ts +31 -6
  359. package/dist/server/app-rsc-handler.js +411 -61
  360. package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
  361. package/dist/server/app-rsc-render-mode.d.ts +8 -9
  362. package/dist/server/app-rsc-request-normalization.d.ts +3 -3
  363. package/dist/server/app-rsc-request-normalization.js +2 -1
  364. package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
  365. package/dist/server/app-rsc-response-finalizer.js +6 -6
  366. package/dist/server/app-rsc-response-stage.d.ts +6 -0
  367. package/dist/server/app-rsc-response-stage.js +251 -0
  368. package/dist/server/app-rsc-route-matching.d.ts +3 -4
  369. package/dist/server/app-rsc-route-matching.js +3 -2
  370. package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
  371. package/dist/server/app-rsc-vary.d.ts +16 -0
  372. package/dist/server/app-rsc-vary.js +31 -0
  373. package/dist/server/app-segment-config.d.ts +119 -7
  374. package/dist/server/app-segment-config.js +242 -2
  375. package/dist/server/app-server-action-execution.d.ts +16 -12
  376. package/dist/server/app-server-action-execution.js +86 -33
  377. package/dist/server/app-ssr-entry.d.ts +14 -4
  378. package/dist/server/app-ssr-entry.js +61 -14
  379. package/dist/server/app-ssr-error-meta.d.ts +3 -4
  380. package/dist/server/app-ssr-error-meta.js +2 -1
  381. package/dist/server/app-ssr-router-instance.d.ts +2 -3
  382. package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
  383. package/dist/server/app-ssr-search-params-gate.js +54 -0
  384. package/dist/server/app-ssr-stream.d.ts +13 -9
  385. package/dist/server/app-ssr-stream.js +33 -7
  386. package/dist/server/app-static-generation.d.ts +4 -5
  387. package/dist/server/app-visited-response-cache.d.ts +11 -12
  388. package/dist/server/app-visited-response-cache.js +2 -2
  389. package/dist/server/app-worker-stages.d.ts +112 -0
  390. package/dist/server/app-worker-stages.js +105 -0
  391. package/dist/server/artifact-compatibility.d.ts +11 -12
  392. package/dist/server/before-interactive-head.d.ts +2 -3
  393. package/dist/server/bfcache-identity.d.ts +7 -8
  394. package/dist/server/cache-control.d.ts +35 -13
  395. package/dist/server/cache-control.js +71 -5
  396. package/dist/server/cache-headers.d.ts +3 -4
  397. package/dist/server/cache-proof.d.ts +75 -70
  398. package/dist/server/cache-proof.js +9 -1
  399. package/dist/server/cacheability-limits.d.ts +4 -5
  400. package/dist/server/cacheability-limits.js +2 -2
  401. package/dist/server/cacheability-manifest.d.ts +42 -16
  402. package/dist/server/cacheability-manifest.js +60 -10
  403. package/dist/server/cacheability-request.d.ts +37 -8
  404. package/dist/server/cacheability-request.js +159 -57
  405. package/dist/server/client-reuse-manifest.d.ts +17 -18
  406. package/dist/server/client-reuse-manifest.js +2 -2
  407. package/dist/server/client-trace-metadata.d.ts +9 -6
  408. package/dist/server/client-trace-metadata.js +27 -15
  409. package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
  410. package/dist/server/cloudflare-workers-tracing.js +8 -0
  411. package/dist/server/config-headers.d.ts +19 -5
  412. package/dist/server/config-headers.js +25 -11
  413. package/dist/server/cookie-utils.d.ts +2 -3
  414. package/dist/server/csp.d.ts +5 -6
  415. package/dist/server/default-global-error-module.d.ts +2 -3
  416. package/dist/server/default-global-not-found-module.d.ts +2 -3
  417. package/dist/server/default-not-found-module.d.ts +2 -3
  418. package/dist/server/defer-until-stream-consumed.d.ts +2 -3
  419. package/dist/server/defer-until-stream-consumed.js +2 -1
  420. package/dist/server/dev-initial-server-error.d.ts +3 -4
  421. package/dist/server/dev-initial-server-error.js +2 -1
  422. package/dist/server/dev-lockfile.d.ts +7 -8
  423. package/dist/server/dev-lockfile.js +4 -1
  424. package/dist/server/dev-module-runner.d.ts +2 -3
  425. package/dist/server/dev-origin-check.d.ts +5 -6
  426. package/dist/server/dev-route-files.d.ts +2 -3
  427. package/dist/server/dev-server.d.ts +4 -5
  428. package/dist/server/dev-server.js +130 -61
  429. package/dist/server/dev-stack-sourcemap.d.ts +7 -7
  430. package/dist/server/dev-stack-sourcemap.js +1 -1
  431. package/dist/server/document-initial-head.d.ts +3 -4
  432. package/dist/server/edge-api-runtime.d.ts +4 -5
  433. package/dist/server/fetch-handler.d.ts +3 -2
  434. package/dist/server/fetch-handler.js +3 -18
  435. package/dist/server/file-based-metadata.d.ts +2 -3
  436. package/dist/server/framework-tracer.d.ts +46 -0
  437. package/dist/server/framework-tracer.js +125 -0
  438. package/dist/server/fully-buffered-response.d.ts +11 -0
  439. package/dist/server/fully-buffered-response.js +19 -0
  440. package/dist/server/headers.d.ts +54 -61
  441. package/dist/server/headers.js +18 -31
  442. package/dist/server/html.d.ts +6 -27
  443. package/dist/server/html.js +16 -1
  444. package/dist/server/http-conditional.d.ts +5 -6
  445. package/dist/server/http-date.d.ts +2 -3
  446. package/dist/server/http-error-responses.d.ts +9 -10
  447. package/dist/server/http-range.d.ts +4 -5
  448. package/dist/server/hybrid-route-priority.d.ts +4 -5
  449. package/dist/server/image-optimization.d.ts +20 -21
  450. package/dist/server/implicit-tags.d.ts +3 -4
  451. package/dist/server/instrumentation-runtime.d.ts +17 -21
  452. package/dist/server/instrumentation-runtime.js +26 -8
  453. package/dist/server/instrumentation.d.ts +26 -30
  454. package/dist/server/instrumentation.js +18 -23
  455. package/dist/server/isr-cache.d.ts +28 -27
  456. package/dist/server/isr-cache.js +18 -70
  457. package/dist/server/isr-decision.d.ts +4 -4
  458. package/dist/server/metadata-route-build-data.d.ts +4 -5
  459. package/dist/server/metadata-route-cache-policy.d.ts +2 -3
  460. package/dist/server/metadata-route-response.d.ts +7 -7
  461. package/dist/server/metadata-route-response.js +68 -2
  462. package/dist/server/metadata-routes.d.ts +18 -19
  463. package/dist/server/middleware-matcher-pattern.d.ts +6 -7
  464. package/dist/server/middleware-matcher.d.ts +6 -7
  465. package/dist/server/middleware-path-to-regexp.d.ts +6 -7
  466. package/dist/server/middleware-path-to-regexp.js +11 -9
  467. package/dist/server/middleware-response-headers.d.ts +3 -4
  468. package/dist/server/middleware-runtime.d.ts +7 -8
  469. package/dist/server/middleware-runtime.js +36 -7
  470. package/dist/server/middleware.d.ts +5 -5
  471. package/dist/server/multi-stage.d.ts +141 -0
  472. package/dist/server/multi-stage.js +8 -0
  473. package/dist/server/navigation-planner.d.ts +26 -26
  474. package/dist/server/navigation-trace.d.ts +11 -12
  475. package/dist/server/next-error-digest.d.ts +4 -5
  476. package/dist/server/normalize-path.d.ts +5 -6
  477. package/dist/server/open-redirect.d.ts +2 -3
  478. package/dist/server/opentelemetry-api.d.ts +59 -0
  479. package/dist/server/opentelemetry-api.js +53 -0
  480. package/dist/server/opentelemetry-tracing.d.ts +5 -0
  481. package/dist/server/opentelemetry-tracing.js +83 -0
  482. package/dist/server/operation-token.d.ts +11 -12
  483. package/dist/server/otel-tracer-extension.d.ts +7 -9
  484. package/dist/server/otel-tracer-extension.js +37 -36
  485. package/dist/server/pages-api-route.d.ts +5 -4
  486. package/dist/server/pages-api-route.js +20 -7
  487. package/dist/server/pages-asset-tags.d.ts +6 -6
  488. package/dist/server/pages-asset-tags.js +37 -2
  489. package/dist/server/pages-body-parser-config.d.ts +4 -5
  490. package/dist/server/pages-body-parser-config.js +4 -4
  491. package/dist/server/pages-client-assets.d.ts +11 -5
  492. package/dist/server/pages-data-route.d.ts +11 -12
  493. package/dist/server/pages-data-route.js +1 -1
  494. package/dist/server/pages-default-404.d.ts +3 -4
  495. package/dist/server/pages-dev-hydration.d.ts +9 -4
  496. package/dist/server/pages-dev-hydration.js +19 -7
  497. package/dist/server/pages-dev-module-url.d.ts +3 -4
  498. package/dist/server/pages-dev-stylesheets.d.ts +5 -6
  499. package/dist/server/pages-document-asset-props.d.ts +6 -7
  500. package/dist/server/pages-document-initial-props.d.ts +5 -5
  501. package/dist/server/pages-document-initial-props.js +4 -2
  502. package/dist/server/pages-execution-tracing.d.ts +40 -0
  503. package/dist/server/pages-execution-tracing.js +80 -0
  504. package/dist/server/pages-get-initial-props.d.ts +9 -10
  505. package/dist/server/pages-i18n.d.ts +8 -8
  506. package/dist/server/pages-media-type.d.ts +4 -5
  507. package/dist/server/pages-node-compat.d.ts +11 -10
  508. package/dist/server/pages-node-compat.js +12 -4
  509. package/dist/server/pages-page-data.d.ts +18 -19
  510. package/dist/server/pages-page-data.js +11 -10
  511. package/dist/server/pages-page-handler.d.ts +7 -6
  512. package/dist/server/pages-page-handler.js +77 -39
  513. package/dist/server/pages-page-method.d.ts +2 -3
  514. package/dist/server/pages-page-response.d.ts +14 -10
  515. package/dist/server/pages-page-response.js +49 -31
  516. package/dist/server/pages-preview.d.ts +10 -11
  517. package/dist/server/pages-readiness.d.ts +2 -3
  518. package/dist/server/pages-request-pipeline.d.ts +14 -12
  519. package/dist/server/pages-request-pipeline.js +60 -30
  520. package/dist/server/pages-request-stage-entry.d.ts +23 -0
  521. package/dist/server/pages-request-stage-entry.js +314 -0
  522. package/dist/server/pages-response-stage-entry.d.ts +11 -0
  523. package/dist/server/pages-response-stage-entry.js +106 -0
  524. package/dist/server/pages-response-stage.d.ts +31 -0
  525. package/dist/server/pages-response-stage.js +49 -0
  526. package/dist/server/pages-revalidate.d.ts +3 -4
  527. package/dist/server/pages-revalidate.js +9 -4
  528. package/dist/server/pages-route-data-kind.d.ts +18 -0
  529. package/dist/server/pages-route-data-kind.js +11 -0
  530. package/dist/server/pages-router-entry.d.ts +1 -25
  531. package/dist/server/pages-router-entry.js +35 -148
  532. package/dist/server/pages-serializable-props.d.ts +3 -4
  533. package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
  534. package/dist/server/pregenerated-concrete-paths.js +12 -6
  535. package/dist/server/prerender-cache-life-header.d.ts +3 -4
  536. package/dist/server/prerender-manifest.d.ts +11 -11
  537. package/dist/server/prerender-manifest.js +6 -3
  538. package/dist/server/prerender-route-params.d.ts +16 -9
  539. package/dist/server/prerender-route-params.js +18 -3
  540. package/dist/server/prerender-work-unit-setup.d.ts +2 -3
  541. package/dist/server/prerender-work-unit-setup.js +5 -5
  542. package/dist/server/prod-server.d.ts +12 -9
  543. package/dist/server/prod-server.js +124 -31
  544. package/dist/server/proxy-trust.d.ts +5 -6
  545. package/dist/server/request-log.d.ts +3 -4
  546. package/dist/server/request-pipeline.d.ts +16 -16
  547. package/dist/server/request-pipeline.js +7 -2
  548. package/dist/server/request-stage.d.ts +5 -0
  549. package/dist/server/request-stage.js +7 -0
  550. package/dist/server/request-tracing.d.ts +22 -0
  551. package/dist/server/request-tracing.js +180 -0
  552. package/dist/server/response-stage-cacheability.d.ts +37 -0
  553. package/dist/server/response-stage-cacheability.js +55 -0
  554. package/dist/server/response-stage-policy.d.ts +23 -0
  555. package/dist/server/response-stage-policy.js +89 -0
  556. package/dist/server/response-stage.d.ts +5 -0
  557. package/dist/server/response-stage.js +7 -0
  558. package/dist/server/response-start-tracing.d.ts +14 -0
  559. package/dist/server/response-start-tracing.js +80 -0
  560. package/dist/server/revalidation-host.d.ts +2 -3
  561. package/dist/server/revalidation-host.js +1 -1
  562. package/dist/server/revalidation-request.d.ts +8 -0
  563. package/dist/server/revalidation-request.js +37 -0
  564. package/dist/server/rsc-completion-metadata.d.ts +6 -7
  565. package/dist/server/rsc-stream-hints.d.ts +18 -7
  566. package/dist/server/rsc-stream-hints.js +70 -35
  567. package/dist/server/seed-cache.d.ts +2 -3
  568. package/dist/server/seed-cache.js +8 -7
  569. package/dist/server/server-action-not-found.d.ts +5 -6
  570. package/dist/server/server-globals.d.ts +2 -3
  571. package/dist/server/skip-cache-proof.d.ts +4 -4
  572. package/dist/server/socket-error-backstop.d.ts +5 -6
  573. package/dist/server/socket-error-backstop.js +1 -1
  574. package/dist/server/static-file-cache.d.ts +5 -6
  575. package/dist/server/static-file-cache.js +9 -7
  576. package/dist/server/static-file-signal.d.ts +9 -6
  577. package/dist/server/static-file-signal.js +51 -2
  578. package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
  579. package/dist/server/streaming-metadata.d.ts +2 -3
  580. package/dist/server/tracer.d.ts +5 -0
  581. package/dist/server/tracer.js +13 -0
  582. package/dist/server/worker-prerender-discovery.d.ts +5 -6
  583. package/dist/server/worker-revalidation-context.d.ts +2 -3
  584. package/dist/server/worker-revalidation-context.js +5 -5
  585. package/dist/server/worker-stages.d.ts +43 -0
  586. package/dist/server/worker-stages.js +25 -0
  587. package/dist/server/worker-utils.d.ts +5 -6
  588. package/dist/server/worker-utils.js +2 -1
  589. package/dist/server/workers-tracing.d.ts +17 -0
  590. package/dist/server/workers-tracing.js +27 -0
  591. package/dist/shims/amp.d.ts +3 -4
  592. package/dist/shims/app-router-scroll-state.d.ts +9 -10
  593. package/dist/shims/app-router-scroll.d.ts +4 -5
  594. package/dist/shims/app-router-scroll.js +2 -1
  595. package/dist/shims/app.d.ts +5 -6
  596. package/dist/shims/before-interactive-context.d.ts +5 -6
  597. package/dist/shims/cache-callable-runtime.d.ts +44 -4
  598. package/dist/shims/cache-callable-runtime.js +168 -8
  599. package/dist/shims/cache-for-request.d.ts +2 -3
  600. package/dist/shims/cache-handler.d.ts +33 -20
  601. package/dist/shims/cache-handler.js +61 -2
  602. package/dist/shims/cache-request-state.d.ts +28 -29
  603. package/dist/shims/cache-runtime.d.ts +23 -21
  604. package/dist/shims/cache-runtime.js +107 -27
  605. package/dist/shims/cache.d.ts +15 -15
  606. package/dist/shims/cache.js +15 -13
  607. package/dist/shims/cacheability-classification.d.ts +49 -28
  608. package/dist/shims/cacheability-classification.js +27 -12
  609. package/dist/shims/cdn-cache-state.d.ts +13 -0
  610. package/dist/shims/cdn-cache-state.js +23 -0
  611. package/dist/shims/cdn-cache.d.ts +50 -21
  612. package/dist/shims/cdn-cache.js +15 -38
  613. package/dist/shims/client-hook-error.d.ts +3 -4
  614. package/dist/shims/client-locale.d.ts +2 -3
  615. package/dist/shims/client-page-root.d.ts +24 -0
  616. package/dist/shims/client-page-root.js +121 -0
  617. package/dist/shims/compat-router.d.ts +2 -3
  618. package/dist/shims/config.d.ts +3 -4
  619. package/dist/shims/constants.d.ts +73 -74
  620. package/dist/shims/constants.js +1 -1
  621. package/dist/shims/default-not-found.d.ts +2 -3
  622. package/dist/shims/document.d.ts +9 -9
  623. package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
  624. package/dist/shims/dynamic-preload-chunks.js +17 -13
  625. package/dist/shims/dynamic.d.ts +3 -3
  626. package/dist/shims/error-boundary-navigation.d.ts +3 -4
  627. package/dist/shims/error-boundary.d.ts +17 -18
  628. package/dist/shims/error-boundary.js +17 -11
  629. package/dist/shims/error.d.ts +4 -4
  630. package/dist/shims/error.react-server.d.ts +3 -4
  631. package/dist/shims/fetch-cache.d.ts +22 -22
  632. package/dist/shims/fetch-cache.js +42 -17
  633. package/dist/shims/font-google-base.d.ts +9 -9
  634. package/dist/shims/font-google-base.js +2 -1
  635. package/dist/shims/font-local.d.ts +3 -3
  636. package/dist/shims/font-local.js +1 -1
  637. package/dist/shims/font-utils.d.ts +14 -15
  638. package/dist/shims/form.d.ts +2 -2
  639. package/dist/shims/form.js +10 -7
  640. package/dist/shims/hash-scroll.d.ts +5 -6
  641. package/dist/shims/head-state.d.ts +4 -5
  642. package/dist/shims/head.d.ts +16 -16
  643. package/dist/shims/head.js +5 -4
  644. package/dist/shims/headers.d.ts +67 -33
  645. package/dist/shims/headers.js +93 -6
  646. package/dist/shims/i18n-context.d.ts +5 -6
  647. package/dist/shims/i18n-state.d.ts +4 -5
  648. package/dist/shims/image-config.d.ts +5 -6
  649. package/dist/shims/image-config.js +2 -0
  650. package/dist/shims/image.d.ts +5 -5
  651. package/dist/shims/image.js +12 -8
  652. package/dist/shims/internal/als-registry.d.ts +4 -5
  653. package/dist/shims/internal/api-utils.d.ts +3 -4
  654. package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
  655. package/dist/shims/internal/app-page-props-cache-key.js +53 -1
  656. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
  657. package/dist/shims/internal/app-prefetch-rsc-request.d.ts +5 -17
  658. package/dist/shims/internal/app-prefetch-rsc-request.js +5 -14
  659. package/dist/shims/internal/app-route-detection.d.ts +2 -2
  660. package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -8
  661. package/dist/shims/internal/app-route-prefetch-policy.js +0 -1
  662. package/dist/shims/internal/app-router-context.d.ts +9 -10
  663. package/dist/shims/internal/cookie-serialize.d.ts +4 -5
  664. package/dist/shims/internal/format-url-object.d.ts +7 -0
  665. package/dist/shims/internal/format-url-object.js +53 -0
  666. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
  667. package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
  668. package/dist/shims/internal/hybrid-client-route-owner.js +3 -2
  669. package/dist/shims/internal/interpolate-as.d.ts +5 -6
  670. package/dist/shims/internal/interpolate-as.js +4 -2
  671. package/dist/shims/internal/link-status-registry.d.ts +5 -6
  672. package/dist/shims/internal/make-hanging-promise.d.ts +3 -4
  673. package/dist/shims/internal/navigation-untracked.d.ts +2 -3
  674. package/dist/shims/internal/normalize-router-href.d.ts +15 -0
  675. package/dist/shims/internal/normalize-router-href.js +41 -0
  676. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
  677. package/dist/shims/internal/pages-data-target.d.ts +8 -6
  678. package/dist/shims/internal/pages-data-target.js +32 -36
  679. package/dist/shims/internal/pages-data-url.d.ts +4 -5
  680. package/dist/shims/internal/pages-data-url.js +2 -1
  681. package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
  682. package/dist/shims/internal/pages-router-components.d.ts +3 -4
  683. package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
  684. package/dist/shims/internal/route-pattern-for-warning.js +3 -3
  685. package/dist/shims/internal/router-context.d.ts +2 -3
  686. package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
  687. package/dist/shims/internal/thenable-well-known-properties.js +33 -0
  688. package/dist/shims/internal/utils.d.ts +7 -8
  689. package/dist/shims/internal/work-unit-async-storage.d.ts +10 -11
  690. package/dist/shims/layout-segment-context.d.ts +3 -4
  691. package/dist/shims/link-prefetch.d.ts +9 -10
  692. package/dist/shims/link.d.ts +4 -4
  693. package/dist/shims/link.js +56 -116
  694. package/dist/shims/metadata.d.ts +15 -16
  695. package/dist/shims/metadata.js +40 -36
  696. package/dist/shims/navigation-context-accessors.d.ts +9 -0
  697. package/dist/shims/navigation-context-accessors.js +19 -0
  698. package/dist/shims/navigation-context-state.d.ts +27 -18
  699. package/dist/shims/navigation-errors.d.ts +18 -19
  700. package/dist/shims/navigation-state.d.ts +6 -7
  701. package/dist/shims/navigation.d.ts +80 -68
  702. package/dist/shims/navigation.js +24 -16
  703. package/dist/shims/navigation.react-server.d.ts +9 -9
  704. package/dist/shims/offline.d.ts +2 -3
  705. package/dist/shims/og.d.ts +2 -2
  706. package/dist/shims/pages-router-runtime.d.ts +4 -5
  707. package/dist/shims/ppr-fallback-shell.d.ts +13 -14
  708. package/dist/shims/readonly-url-search-params.d.ts +2 -3
  709. package/dist/shims/request-context.d.ts +5 -6
  710. package/dist/shims/root-params.d.ts +14 -15
  711. package/dist/shims/router-state.d.ts +5 -6
  712. package/dist/shims/router-state.js +1 -1
  713. package/dist/shims/router.d.ts +22 -21
  714. package/dist/shims/router.js +339 -164
  715. package/dist/shims/script-nonce-context.d.ts +8 -6
  716. package/dist/shims/script-nonce-context.js +15 -6
  717. package/dist/shims/script.d.ts +4 -4
  718. package/dist/shims/script.js +9 -7
  719. package/dist/shims/search-params-gate.d.ts +35 -0
  720. package/dist/shims/search-params-gate.js +32 -0
  721. package/dist/shims/server.d.ts +19 -51
  722. package/dist/shims/server.js +14 -28
  723. package/dist/shims/slot.d.ts +33 -15
  724. package/dist/shims/slot.js +41 -9
  725. package/dist/shims/streamed-icons.d.ts +3 -4
  726. package/dist/shims/thenable-params.d.ts +5 -7
  727. package/dist/shims/thenable-params.js +3 -24
  728. package/dist/shims/unified-request-context.d.ts +34 -31
  729. package/dist/shims/unified-request-context.js +34 -24
  730. package/dist/shims/unrecognized-action-error.d.ts +3 -4
  731. package/dist/shims/url-safety.d.ts +5 -6
  732. package/dist/shims/url-utils.d.ts +12 -13
  733. package/dist/shims/use-merged-ref.d.ts +2 -3
  734. package/dist/shims/user-agent.d.ts +31 -0
  735. package/dist/shims/user-agent.js +16 -0
  736. package/dist/shims/web-vitals.d.ts +2 -2
  737. package/dist/typegen.d.ts +3 -4
  738. package/dist/utils/asset-prefix.d.ts +7 -8
  739. package/dist/utils/base-path.d.ts +5 -6
  740. package/dist/utils/built-asset-url.d.ts +2 -3
  741. package/dist/utils/built-asset-url.js +1 -1
  742. package/dist/utils/cache-control-metadata.d.ts +4 -5
  743. package/dist/utils/client-build-manifest.d.ts +6 -7
  744. package/dist/utils/client-build-manifest.js +2 -1
  745. package/dist/utils/client-entry-manifest.d.ts +6 -7
  746. package/dist/utils/client-runtime-metadata.d.ts +8 -3
  747. package/dist/utils/client-runtime-metadata.js +18 -1
  748. package/dist/utils/commonjs-loader.d.ts +4 -5
  749. package/dist/utils/compare.d.ts +2 -3
  750. package/dist/utils/deployment-id.d.ts +6 -7
  751. package/dist/utils/dev-error-recovery-event.d.ts +2 -3
  752. package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
  753. package/dist/utils/domain-locale.d.ts +7 -8
  754. package/dist/utils/encode-cache-tag.d.ts +3 -4
  755. package/dist/utils/error-cause.d.ts +2 -3
  756. package/dist/utils/external-url.d.ts +2 -3
  757. package/dist/utils/has-trailing-comma.d.ts +3 -4
  758. package/dist/utils/hash.d.ts +3 -4
  759. package/dist/utils/html-limited-bots.d.ts +3 -4
  760. package/dist/utils/lazy-chunks.d.ts +8 -9
  761. package/dist/utils/lazy-chunks.js +4 -4
  762. package/dist/utils/manifest-paths.d.ts +5 -6
  763. package/dist/utils/mdx-scan.d.ts +11 -4
  764. package/dist/utils/mdx-scan.js +27 -1
  765. package/dist/utils/middleware-request-headers.d.ts +7 -6
  766. package/dist/utils/middleware-request-headers.js +6 -1
  767. package/dist/utils/navigation-signal.d.ts +3 -3
  768. package/dist/utils/navigation-signal.js +16 -1
  769. package/dist/utils/number.d.ts +2 -3
  770. package/dist/utils/package-name.d.ts +3 -4
  771. package/dist/utils/parse-cookie.d.ts +4 -5
  772. package/dist/utils/path.d.ts +8 -9
  773. package/dist/utils/plugin-options.d.ts +2 -3
  774. package/dist/utils/precompressed-variant.d.ts +3 -4
  775. package/dist/utils/prerender-output-paths.d.ts +4 -5
  776. package/dist/utils/project.d.ts +19 -30
  777. package/dist/utils/project.js +20 -29
  778. package/dist/utils/promise.d.ts +2 -3
  779. package/dist/utils/protocol-headers.d.ts +14 -15
  780. package/dist/utils/public-file-path.d.ts +2 -3
  781. package/dist/utils/public-routes.d.ts +2 -3
  782. package/dist/utils/query.d.ts +14 -9
  783. package/dist/utils/query.js +22 -1
  784. package/dist/utils/react-compiler-support.d.ts +6 -7
  785. package/dist/utils/react-version.d.ts +4 -3
  786. package/dist/utils/react-version.js +19 -1
  787. package/dist/utils/record.d.ts +2 -3
  788. package/dist/utils/redirect-digest.d.ts +3 -4
  789. package/dist/utils/regex-safety.d.ts +4 -5
  790. package/dist/utils/regex.d.ts +2 -3
  791. package/dist/utils/safe-json-file.d.ts +2 -3
  792. package/dist/utils/sorted-array.d.ts +2 -3
  793. package/dist/utils/text-stream.d.ts +3 -4
  794. package/dist/utils/vinext-root.d.ts +2 -3
  795. package/dist/utils/virtual-module.d.ts +3 -4
  796. package/dist/utils/vite-cli-invocation.d.ts +21 -0
  797. package/dist/utils/vite-cli-invocation.js +144 -0
  798. package/dist/utils/vite-version.d.ts +5 -6
  799. package/next-package.json +4 -0
  800. package/package.json +47 -6
@@ -0,0 +1,12 @@
1
+ //#region src/server/app-metadata-tracing.d.ts
2
+ type AppMetadataModuleType = "forbidden" | "layout" | "not-found" | "page" | "unauthorized";
3
+ export declare function createAppMetadataModuleRoute(routeSegments: readonly string[], moduleType: AppMetadataModuleType): string;
4
+ export declare function traceGenerateMetadata<T>(moduleRoute: string, callback: () => T): T;
5
+ export declare function createGenerateMetadataSpanDescriptor(moduleRoute: string): {
6
+ readonly attributes: {
7
+ readonly "next.page": string;
8
+ };
9
+ readonly name: `generateMetadata ${string}`;
10
+ readonly type: "ResolveMetadata.generateMetadata";
11
+ };
12
+ //#endregion
@@ -0,0 +1,17 @@
1
+ import { frameworkTracer } from "./tracer.js";
2
+ //#region src/server/app-metadata-tracing.ts
3
+ function createAppMetadataModuleRoute(routeSegments, moduleType) {
4
+ return `/${[...routeSegments.filter((segment) => !segment.startsWith("@")), moduleType].join("/")}`;
5
+ }
6
+ function traceGenerateMetadata(moduleRoute, callback) {
7
+ return frameworkTracer.trace(createGenerateMetadataSpanDescriptor(moduleRoute), callback);
8
+ }
9
+ function createGenerateMetadataSpanDescriptor(moduleRoute) {
10
+ return {
11
+ attributes: { "next.page": moduleRoute },
12
+ name: `generateMetadata ${moduleRoute}`,
13
+ type: "ResolveMetadata.generateMetadata"
14
+ };
15
+ }
16
+ //#endregion
17
+ export { createAppMetadataModuleRoute, createGenerateMetadataSpanDescriptor, traceGenerateMetadata };
@@ -2,12 +2,12 @@ import { NextI18nConfig } from "../config/next-config.js";
2
2
  import { MiddlewareModule } from "./middleware-runtime.js";
3
3
  import { FLIGHT_HEADERS } from "./headers.js";
4
4
  //#region src/server/app-middleware.d.ts
5
- type AppMiddlewareContext = {
5
+ export type AppMiddlewareContext = {
6
6
  headers: Headers | null;
7
7
  requestHeaders: Headers | null;
8
8
  status: number | null;
9
9
  };
10
- type ApplyAppMiddlewareOptions = {
10
+ export type ApplyAppMiddlewareOptions = {
11
11
  basePath?: string;
12
12
  cleanPathname: string;
13
13
  context: AppMiddlewareContext;
@@ -35,7 +35,7 @@ type ApplyAppMiddlewareOptions = {
35
35
  */
36
36
  trailingSlash?: boolean;
37
37
  };
38
- type ApplyAppMiddlewareResult = {
38
+ export type ApplyAppMiddlewareResult = {
39
39
  kind: "continue";
40
40
  cleanPathname: string;
41
41
  /** Present on real middleware results; optional for older generated callers. */
@@ -52,8 +52,8 @@ type ApplyAppMiddlewareResult = {
52
52
  pathnameEligible?: boolean;
53
53
  response: Response;
54
54
  };
55
- declare function isExternalMiddlewareRewrite(rewriteUrl: string, request: Request): boolean;
56
- declare function proxyExternalMiddlewareRewrite(request: Request, rewriteUrl: string, context: AppMiddlewareContext): Promise<Response>;
57
- declare function applyAppMiddleware(options: ApplyAppMiddlewareOptions): Promise<ApplyAppMiddlewareResult>;
55
+ export declare function isExternalMiddlewareRewrite(rewriteUrl: string, request: Request): boolean;
56
+ export declare function proxyExternalMiddlewareRewrite(request: Request, rewriteUrl: string, context: AppMiddlewareContext): Promise<Response>;
57
+ export declare function applyAppMiddleware(options: ApplyAppMiddlewareOptions): Promise<ApplyAppMiddlewareResult>;
58
58
  //#endregion
59
- export { AppMiddlewareContext, ApplyAppMiddlewareOptions, ApplyAppMiddlewareResult, FLIGHT_HEADERS, applyAppMiddleware, isExternalMiddlewareRewrite, proxyExternalMiddlewareRewrite };
59
+ export { FLIGHT_HEADERS };
@@ -1,14 +1,13 @@
1
1
  import { VINEXT_MW_CTX_HEADER } from "../utils/protocol-headers.js";
2
- import { FLIGHT_HEADERS } from "./headers.js";
3
2
  import { buildRequestHeadersFromMiddlewareResponse } from "../utils/middleware-request-headers.js";
4
3
  import { isExternalUrl } from "../utils/external-url.js";
4
+ import { FLIGHT_HEADERS } from "./headers.js";
5
5
  import { internalServerErrorResponse } from "./http-error-responses.js";
6
6
  import { cloneRequestWithHeaders, processMiddlewareHeaders } from "./request-pipeline.js";
7
7
  import { executeMiddleware } from "./middleware-runtime.js";
8
8
  import { applyMiddlewareRequestHeaders, setHeadersContext } from "../shims/headers.js";
9
- import { setNavigationContext } from "../shims/navigation-context-state.js";
10
9
  import { mergeMiddlewareResponseHeaders } from "./middleware-response-headers.js";
11
- import "../shims/navigation.js";
10
+ import { setNavigationContext } from "../shims/navigation-context-accessors.js";
12
11
  //#region src/server/app-middleware.ts
13
12
  const FLIGHT_HEADER_SET = new Set(FLIGHT_HEADERS);
14
13
  function isForwardedMiddlewareContext(value) {
@@ -30,6 +30,5 @@
30
30
  * - app-elements (outgoing x-vinext-mounted-slots construction)
31
31
  * - isr-cache (RSC cache key generation)
32
32
  */
33
- declare function normalizeMountedSlotsHeader(raw: string | null | undefined): string | null;
34
- //#endregion
35
- export { normalizeMountedSlotsHeader };
33
+ export declare function normalizeMountedSlotsHeader(raw: string | null | undefined): string | null;
34
+ //#endregion
@@ -1,4 +1,4 @@
1
- import { AppElementsWire } from "./app-elements-wire.js";
1
+ import { isAppElementsWireSlotId } from "./app-elements-wire-key.js";
2
2
  //#region src/server/app-mounted-slots-header.ts
3
3
  /**
4
4
  * Normalize the `x-vinext-mounted-slots` header for request handling and cache keying.
@@ -45,7 +45,7 @@ const MAX_SLOT_TOKENS = 16;
45
45
  */
46
46
  function isValidSlotToken(token) {
47
47
  if (token.length === 0 || token.length > MAX_TOKEN_LENGTH) return false;
48
- return AppElementsWire.isSlotId(token);
48
+ return isAppElementsWireSlotId(token);
49
49
  }
50
50
  function normalizeMountedSlotsHeader(raw) {
51
51
  if (!raw) return null;
@@ -6,7 +6,7 @@ type OptimisticRouteMatch = {
6
6
  params: Record<string, string | string[]>;
7
7
  route: RouteManifestRoute;
8
8
  };
9
- type OptimisticRouteTemplate = {
9
+ export type OptimisticRouteTemplate = {
10
10
  elements: AppElements;
11
11
  mountedSlotsHeader: string | null;
12
12
  omittedBfcacheSegmentIds: readonly string[];
@@ -21,27 +21,27 @@ type OptimisticNavigationPayload = {
21
21
  template: OptimisticRouteTemplate;
22
22
  urlParts: readonly string[];
23
23
  };
24
- declare function getOptimisticRouteTemplateKey(options: {
24
+ export declare function getOptimisticRouteTemplateKey(options: {
25
25
  interceptionContext: string | null;
26
26
  mountedSlotsHeader: string | null;
27
27
  routeId: string;
28
28
  }): string;
29
- declare function getOptimisticPrefetchSourceKey(options: {
29
+ export declare function getOptimisticPrefetchSourceKey(options: {
30
30
  cacheKey: string;
31
31
  interceptionContext: string | null;
32
32
  mountedSlotsHeader: string | null;
33
33
  }): string;
34
- declare function matchOptimisticRouteManifestRoute(options: {
34
+ export declare function matchOptimisticRouteManifestRoute(options: {
35
35
  basePath: string;
36
36
  href: string;
37
37
  routeManifest: RouteManifest;
38
38
  }): OptimisticRouteMatch | null;
39
- declare function resolveOptimisticNavigationParamsForHref(options: {
39
+ export declare function resolveOptimisticNavigationParamsForHref(options: {
40
40
  basePath: string;
41
41
  href: string;
42
42
  routeManifest: RouteManifest;
43
43
  }): Record<string, string | string[]> | null;
44
- declare function createOptimisticRouteTemplate(options: {
44
+ export declare function createOptimisticRouteTemplate(options: {
45
45
  allowLoadingShell?: boolean;
46
46
  basePath: string;
47
47
  elements: AppElements;
@@ -50,7 +50,7 @@ declare function createOptimisticRouteTemplate(options: {
50
50
  mountedSlotsHeader: string | null;
51
51
  routeManifest: RouteManifest;
52
52
  }): OptimisticRouteTemplate | null;
53
- declare function createOptimisticRouteElements(template: OptimisticRouteTemplate): AppElements;
53
+ export declare function createOptimisticRouteElements(template: OptimisticRouteTemplate): AppElements;
54
54
  /**
55
55
  * A loading-shell prefetch stops at the first loading boundary, so layouts
56
56
  * below that boundary are present in the route metadata but absent from the
@@ -59,7 +59,7 @@ declare function createOptimisticRouteElements(template: OptimisticRouteTemplate
59
59
  * keeps the shared segment active in this case, which also means the ancestor
60
60
  * loading boundary does not re-trigger.
61
61
  */
62
- declare function canCommitOptimisticRouteTemplate(options: {
62
+ export declare function canCommitOptimisticRouteTemplate(options: {
63
63
  currentElements: AppElements;
64
64
  currentLayoutIds: readonly string[];
65
65
  currentParams: Readonly<Record<string, string | string[]>>;
@@ -68,7 +68,7 @@ declare function canCommitOptimisticRouteTemplate(options: {
68
68
  targetUrlParts: readonly string[];
69
69
  template: OptimisticRouteTemplate;
70
70
  }): boolean;
71
- declare function resolveOptimisticNavigationPayload(options: {
71
+ export declare function resolveOptimisticNavigationPayload(options: {
72
72
  basePath: string;
73
73
  href: string;
74
74
  interceptionContext: string | null;
@@ -76,5 +76,4 @@ declare function resolveOptimisticNavigationPayload(options: {
76
76
  routeManifest: RouteManifest;
77
77
  templates: ReadonlyMap<string, OptimisticRouteTemplate>;
78
78
  }): OptimisticNavigationPayload | null;
79
- //#endregion
80
- export { OptimisticRouteTemplate, canCommitOptimisticRouteTemplate, createOptimisticRouteElements, createOptimisticRouteTemplate, getOptimisticPrefetchSourceKey, getOptimisticRouteTemplateKey, matchOptimisticRouteManifestRoute, resolveOptimisticNavigationParamsForHref, resolveOptimisticNavigationPayload };
79
+ //#endregion
@@ -1,6 +1,6 @@
1
+ import { isUnknownRecord } from "../utils/record.js";
1
2
  import { buildParams, decodeMatchedParams, splitPathnameForRouteMatch } from "../routing/utils.js";
2
3
  import { stripBasePath } from "../utils/base-path.js";
3
- import { isUnknownRecord } from "../utils/record.js";
4
4
  import { AppElementsWire } from "./app-elements-wire.js";
5
5
  import "./app-elements.js";
6
6
  import { extractRawRoutePatternParams, matchRoutePattern } from "../routing/route-pattern.js";
@@ -127,7 +127,8 @@ function hrefToRouteParts(href, basePath) {
127
127
  return null;
128
128
  }
129
129
  stripRscCacheBustingSearchParam(url);
130
- const appPathname = stripBasePath(stripRscSuffix(url.pathname), basePath);
130
+ const withoutRscSuffix = stripRscSuffix(url.pathname);
131
+ const appPathname = stripBasePath(withoutRscSuffix, basePath);
131
132
  const pathname = appPathname === "" ? "/" : appPathname;
132
133
  return {
133
134
  normalized: splitPathnameForRouteMatch(pathname),
@@ -10,6 +10,7 @@ import { ApplyAppPageFileBasedMetadata } from "./app-page-head.js";
10
10
  import { AppPageRouteWiringRoute } from "./app-page-route-wiring.js";
11
11
  import { AppPageInterceptOptions } from "./app-page-element-builder.js";
12
12
  import { AppPageSsrHandler } from "./app-page-stream.js";
13
+ import { AppRenderErrorContextOverrides } from "./app-rsc-error-handler.js";
13
14
  import { ComponentType, ReactNode } from "react";
14
15
  //#region src/server/app-page-boundary-render.d.ts
15
16
  type AppPageComponent = ComponentType<any>;
@@ -17,7 +18,7 @@ type AppPageModule = Record<string, unknown> & {
17
18
  default?: AppPageComponent | null | undefined;
18
19
  };
19
20
  type AppPageBoundaryOnError = (error: unknown, requestInfo: unknown, errorContext: unknown) => unknown;
20
- type AppPageBoundaryRoute<TModule extends AppPageModule = AppPageModule> = {
21
+ export type AppPageBoundaryRoute<TModule extends AppPageModule = AppPageModule> = {
21
22
  error?: TModule | null;
22
23
  errorPaths?: readonly TModule[] | null;
23
24
  errors?: readonly (TModule | null | undefined)[] | null;
@@ -41,7 +42,7 @@ type AppPageBoundaryRenderCommonOptions<TModule extends AppPageModule = AppPageM
41
42
  applyFileBasedMetadata?: ApplyAppPageFileBasedMetadata;
42
43
  buildFontLinkHeader: (preloads: readonly AppPageFontPreload[] | null | undefined) => string;
43
44
  clearRequestContext: () => void;
44
- createRscOnErrorHandler: (pathname: string, routePath: string) => AppPageBoundaryOnError;
45
+ createRscOnErrorHandler: (pathname: string, routePath: string, overrides?: AppRenderErrorContextOverrides) => AppPageBoundaryOnError;
45
46
  getAndClearPendingCookies?: () => string[];
46
47
  getFontLinks: () => string[];
47
48
  getFontPreloads: () => AppPageFontPreload[];
@@ -108,7 +109,6 @@ type RenderAppPageErrorBoundaryOptions<TModule extends AppPageModule = AppPageMo
108
109
  route?: AppPageBoundaryRoute<TModule> | null;
109
110
  sanitizeErrorForClient: (error: Error) => Error;
110
111
  } & AppPageBoundaryRenderCommonOptions<TModule>;
111
- declare function renderAppPageHttpAccessFallback<TModule extends AppPageModule>(options: RenderAppPageHttpAccessFallbackOptions<TModule>): Promise<Response | null>;
112
- declare function renderAppPageErrorBoundary<TModule extends AppPageModule>(options: RenderAppPageErrorBoundaryOptions<TModule>): Promise<Response | null>;
113
- //#endregion
114
- export { AppPageBoundaryRoute, renderAppPageErrorBoundary, renderAppPageHttpAccessFallback };
112
+ export declare function renderAppPageHttpAccessFallback<TModule extends AppPageModule>(options: RenderAppPageHttpAccessFallbackOptions<TModule>): Promise<Response | null>;
113
+ export declare function renderAppPageErrorBoundary<TModule extends AppPageModule>(options: RenderAppPageErrorBoundaryOptions<TModule>): Promise<Response | null>;
114
+ //#endregion
@@ -1,9 +1,9 @@
1
1
  import { stripBasePath } from "../utils/base-path.js";
2
+ import { isNavigationSignalError } from "../utils/navigation-signal.js";
2
3
  import { NEVER_CACHE_CONTROL, applyCdnResponseHeaders } from "./cache-control.js";
3
4
  import { AppElementsWire } from "./app-elements-wire.js";
4
5
  import "./app-elements.js";
5
6
  import DefaultGlobalError from "../shims/default-global-error.js";
6
- import { isNavigationSignalError } from "../utils/navigation-signal.js";
7
7
  import { ErrorBoundary, GlobalErrorBoundary, SerializedErrorBoundary } from "../shims/error-boundary.js";
8
8
  import { LayoutSegmentProvider } from "../shims/layout-segment-context.js";
9
9
  import { MetadataHead, ViewportHead } from "../shims/metadata.js";
@@ -18,7 +18,7 @@ import { resolveHttpAccessFallbackMetadata, resolveHttpAccessFallbackViewport }
18
18
  import "./app-rsc-route-matching.js";
19
19
  import { renderAppPageBoundaryResponse, resolveAppPageErrorBoundary, resolveAppPageHttpAccessBoundaryModule, wrapAppPageBoundaryElement } from "./app-page-boundary.js";
20
20
  import { resolveSlotParamOverrides } from "./app-page-element-builder.js";
21
- import { createAppPageFontData, createAppPageRscErrorTracker, renderAppPageHtmlResponse } from "./app-page-stream.js";
21
+ import { createAppPageFontData, createAppPageRscErrorTracker, createAppPageSsrErrorHandler, renderAppPageHtmlResponse } from "./app-page-stream.js";
22
22
  import { Fragment, createElement } from "react";
23
23
  //#region src/server/app-page-boundary-render.ts
24
24
  const DEFAULT_GLOBAL_ERROR_COMPONENT = DefaultGlobalError;
@@ -133,7 +133,8 @@ async function renderAppPageBoundaryElementResponse(options) {
133
133
  route: options.route,
134
134
  sourcePageSegments: options.sourcePageSegments
135
135
  });
136
- const rscErrorTracker = createAppPageRscErrorTracker(options.createRscOnErrorHandler(pathname, options.routePattern ?? pathname));
136
+ const baseRscOnErrorHandler = options.createRscOnErrorHandler(pathname, options.routePattern ?? pathname);
137
+ const rscErrorTracker = createAppPageRscErrorTracker(baseRscOnErrorHandler);
137
138
  const resolveCapturedSpecialError = (error) => resolveAppPageSpecialError(error) ?? resolveAppPageSpecialError(rscErrorTracker.getCapturedSpecialError());
138
139
  const renderSpecialErrorResponse = (specialError) => renderBoundarySpecialErrorResponse(options, specialError);
139
140
  const handleSpecialErrors = options.handleSpecialErrors === true;
@@ -147,6 +148,7 @@ async function renderAppPageBoundaryElementResponse(options) {
147
148
  getStyles: options.getFontStyles
148
149
  });
149
150
  const ssrHandler = await options.loadSsrHandler();
151
+ const onSsrError = options.createRscOnErrorHandler(pathname, options.routePattern ?? pathname, { renderSource: "server-rendering" });
150
152
  return renderAppPageHtmlResponse({
151
153
  clearRequestContext: options.clearRequestContext,
152
154
  fontData,
@@ -163,7 +165,8 @@ async function renderAppPageBoundaryElementResponse(options) {
163
165
  scriptNonce: options.scriptNonce,
164
166
  ssrHandler,
165
167
  status: responseStatus,
166
- initialDevServerError: options.initialDevServerError
168
+ initialDevServerError: options.initialDevServerError,
169
+ onSsrError: createAppPageSsrErrorHandler(onSsrError, rscErrorTracker.isCapturedError)
167
170
  });
168
171
  },
169
172
  createRscOnErrorHandler() {
@@ -254,6 +257,7 @@ async function renderAppPageHttpAccessFallback(options) {
254
257
  },
255
258
  ...intercept?.interceptNotFound ? {
256
259
  notFoundModule: intercept.interceptNotFound,
260
+ notFoundModuleRouteSegments: (intercept.interceptNotFoundBranchSegments ?? intercept.interceptSourcePageSegments ?? fallbackRouteSegments).slice(0, intercept.interceptNotFoundTreePosition ?? 0),
257
261
  notFoundParams: resolveAppPageBranchParams(intercept.interceptNotFoundBranchSegments ?? intercept.interceptBranchSegments ?? fallbackRouteSegments, intercept.interceptNotFoundTreePosition ?? 0, effectiveParams)
258
262
  } : {},
259
263
  ownerTreePosition: fallbackRouteSegments.length
@@ -261,7 +265,9 @@ async function renderAppPageHttpAccessFallback(options) {
261
265
  const fallbackHeadOptions = {
262
266
  boundaryModule,
263
267
  boundaryParams,
268
+ boundaryRouteSegments: fallbackRouteSegments.slice(0, boundaryTreePosition ?? 0),
264
269
  branchNotFoundConventions: options.statusCode === 404,
270
+ errorConvention: options.statusCode === 403 ? "forbidden" : options.statusCode === 401 ? "unauthorized" : "not-found",
265
271
  layoutModules,
266
272
  layoutTreePositions: resolveHttpAccessFallbackHeadLayoutTreePositions(options.route, layoutModules),
267
273
  parallelBranches,
@@ -1,5 +1,5 @@
1
1
  //#region src/server/app-page-boundary.d.ts
2
- type AppPageParams = Record<string, string | string[]>;
2
+ export type AppPageParams = Record<string, string | string[]>;
3
3
  type ResolveAppPageHttpAccessBoundaryComponentOptions<TModule, TComponent> = {
4
4
  getDefaultExport: (module: TModule | null | undefined) => TComponent | null | undefined;
5
5
  rootForbiddenModule?: TModule | null;
@@ -72,9 +72,9 @@ type RenderAppPageBoundaryResponseOptions<TElement> = {
72
72
  }) => ReadableStream<Uint8Array>;
73
73
  status: number;
74
74
  };
75
- declare function resolveAppPageHttpAccessBoundaryComponent<TModule, TComponent>(options: ResolveAppPageHttpAccessBoundaryComponentOptions<TModule, TComponent>): TComponent | null;
76
- declare function resolveAppPageHttpAccessBoundaryModule<TModule>(options: ResolveAppPageHttpAccessBoundaryModuleOptions<TModule>): TModule | null;
77
- declare function resolveAppPageParentHttpAccessBoundaryModule<TModule>(options: ResolveAppPageParentHttpAccessBoundaryModuleOptions<TModule>): TModule | null;
75
+ export declare function resolveAppPageHttpAccessBoundaryComponent<TModule, TComponent>(options: ResolveAppPageHttpAccessBoundaryComponentOptions<TModule, TComponent>): TComponent | null;
76
+ export declare function resolveAppPageHttpAccessBoundaryModule<TModule>(options: ResolveAppPageHttpAccessBoundaryModuleOptions<TModule>): TModule | null;
77
+ export declare function resolveAppPageParentHttpAccessBoundaryModule<TModule>(options: ResolveAppPageParentHttpAccessBoundaryModuleOptions<TModule>): TModule | null;
78
78
  /**
79
79
  * Like {@link resolveAppPageParentHttpAccessBoundaryModule}, but also returns
80
80
  * the layout index that owns the resolved boundary so callers can slice the
@@ -91,12 +91,11 @@ declare function resolveAppPageParentHttpAccessBoundaryModule<TModule>(options:
91
91
  *
92
92
  * @see https://github.com/vercel/next.js/blob/canary/packages/next/src/server/app-render/create-component-tree.tsx
93
93
  */
94
- declare function resolveAppPageParentHttpAccessBoundary<TModule>(options: ResolveAppPageParentHttpAccessBoundaryModuleOptions<TModule>): {
94
+ export declare function resolveAppPageParentHttpAccessBoundary<TModule>(options: ResolveAppPageParentHttpAccessBoundaryModuleOptions<TModule>): {
95
95
  module: TModule | null;
96
96
  layoutIndex: number | null;
97
97
  };
98
- declare function resolveAppPageErrorBoundary<TModule, TComponent>(options: ResolveAppPageErrorBoundaryOptions<TModule, TComponent>): ResolveAppPageErrorBoundaryResult<TComponent>;
99
- declare function wrapAppPageBoundaryElement<TElement, TLayoutModule, TLayoutComponent, TChildSegments, TGlobalErrorComponent>(options: WrapAppPageBoundaryElementOptions<TElement, TLayoutModule, TLayoutComponent, TChildSegments, TGlobalErrorComponent>): TElement;
100
- declare function renderAppPageBoundaryResponse<TElement>(options: RenderAppPageBoundaryResponseOptions<TElement>): Promise<Response>;
101
- //#endregion
102
- export { AppPageParams, renderAppPageBoundaryResponse, resolveAppPageErrorBoundary, resolveAppPageHttpAccessBoundaryComponent, resolveAppPageHttpAccessBoundaryModule, resolveAppPageParentHttpAccessBoundary, resolveAppPageParentHttpAccessBoundaryModule, wrapAppPageBoundaryElement };
98
+ export declare function resolveAppPageErrorBoundary<TModule, TComponent>(options: ResolveAppPageErrorBoundaryOptions<TModule, TComponent>): ResolveAppPageErrorBoundaryResult<TComponent>;
99
+ export declare function wrapAppPageBoundaryElement<TElement, TLayoutModule, TLayoutComponent, TChildSegments, TGlobalErrorComponent>(options: WrapAppPageBoundaryElementOptions<TElement, TLayoutModule, TLayoutComponent, TChildSegments, TGlobalErrorComponent>): TElement;
100
+ export declare function renderAppPageBoundaryResponse<TElement>(options: RenderAppPageBoundaryResponseOptions<TElement>): Promise<Response>;
101
+ //#endregion
@@ -1,4 +1,4 @@
1
- import { VINEXT_RSC_VARY_HEADER } from "./headers.js";
1
+ import { VINEXT_RSC_VARY_HEADER } from "./app-rsc-vary.js";
2
2
  import { runWithFetchDedupe } from "../shims/fetch-cache.js";
3
3
  import { resolveAppPageSegmentParams } from "./app-page-params.js";
4
4
  import { VINEXT_RSC_CONTENT_TYPE, applyRscCompatibilityIdHeader, applyRscDeploymentIdHeader } from "./app-rsc-cache-busting.js";
@@ -21,16 +21,24 @@ type FinalizeAppPageCacheabilityEvaluationOptions = {
21
21
  getPageTags: () => string[];
22
22
  getRequestCacheLife?: () => AppPageRequestCacheLife | null;
23
23
  expireSeconds?: number;
24
+ /**
25
+ * `false` for routes Next.js classifies as dynamic (ƒ), which are never
26
+ * cacheable even when a cacheLife resolves during the render.
27
+ */
28
+ isStaticEligible: boolean;
24
29
  revalidateSeconds: number | null;
25
30
  };
26
31
  type FinalizeAppPageHtmlCacheResponseOptions = {
32
+ bypassInterceptionContextCache?: boolean;
27
33
  capturedDynamicUsageBeforeContextCleanup?: () => boolean;
28
34
  capturedRscDataPromise: Promise<ArrayBuffer> | null;
29
35
  cleanPathname: string;
36
+ /** Private marker surrounding this render's injected client trace metadata. */
37
+ clientTraceMetadataMarker?: string;
30
38
  consumeDynamicUsage: () => boolean;
31
39
  consumeRenderObservationState?: () => AppPageRenderObservationState;
32
- createHtmlRenderObservation?: BuildAppPageCacheRenderObservation;
33
- createRscRenderObservation?: BuildAppPageCacheRenderObservation;
40
+ createHtmlRenderObservation: BuildAppPageCacheRenderObservation;
41
+ createRscRenderObservation: BuildAppPageCacheRenderObservation;
34
42
  getPageTags: () => string[];
35
43
  getRequestCacheLife?: () => AppPageRequestCacheLife | null;
36
44
  isrDebug?: AppPageDebugLogger;
@@ -42,6 +50,7 @@ type FinalizeAppPageHtmlCacheResponseOptions = {
42
50
  omitPendingDynamicCacheState?: boolean;
43
51
  preserveClientResponseHeaders?: boolean;
44
52
  expireSeconds?: number;
53
+ isStaticEligible: boolean;
45
54
  revalidateSeconds: number | null;
46
55
  linkHeader: string | null;
47
56
  waitUntil?: (promise: Promise<void>) => void;
@@ -52,7 +61,7 @@ type ScheduleAppPageRscCacheWriteOptions = {
52
61
  cleanPathname: string;
53
62
  consumeDynamicUsage: () => boolean;
54
63
  consumeRenderObservationState?: () => AppPageRenderObservationState;
55
- createRscRenderObservation?: BuildAppPageCacheRenderObservation;
64
+ createRscRenderObservation: BuildAppPageCacheRenderObservation;
56
65
  dynamicUsedDuringBuild: boolean;
57
66
  getPageTags: () => string[];
58
67
  getRequestCacheLife?: () => AppPageRequestCacheLife | null;
@@ -66,6 +75,7 @@ type ScheduleAppPageRscCacheWriteOptions = {
66
75
  renderMode?: AppRscRenderMode;
67
76
  preserveClientResponseHeaders?: boolean;
68
77
  expireSeconds?: number;
78
+ isStaticEligible: boolean;
69
79
  revalidateSeconds: number | null;
70
80
  waitUntil?: (promise: Promise<void>) => void;
71
81
  };
@@ -73,9 +83,8 @@ type ScheduleAppPageRscCacheWriteOptions = {
73
83
  * Complete probe/admission classification for an App Page response that does
74
84
  * not enter the ISR cache-write path. Ordinary requests pass through unchanged.
75
85
  */
76
- declare function finalizeAppPageCacheabilityEvaluationResponse(response: Response, options: FinalizeAppPageCacheabilityEvaluationOptions): Response;
77
- declare function finalizeAppPageHtmlCacheResponse(response: Response, options: FinalizeAppPageHtmlCacheResponseOptions): Response;
78
- declare function finalizeAppPageRscCacheResponse(response: Response, options: ScheduleAppPageRscCacheWriteOptions): Response;
79
- declare function scheduleAppPageRscCacheWrite(options: ScheduleAppPageRscCacheWriteOptions): boolean;
80
- //#endregion
81
- export { finalizeAppPageCacheabilityEvaluationResponse, finalizeAppPageHtmlCacheResponse, finalizeAppPageRscCacheResponse, scheduleAppPageRscCacheWrite };
86
+ export declare function finalizeAppPageCacheabilityEvaluationResponse(response: Response, options: FinalizeAppPageCacheabilityEvaluationOptions): Response;
87
+ export declare function finalizeAppPageHtmlCacheResponse(response: Response, options: FinalizeAppPageHtmlCacheResponseOptions): Response;
88
+ export declare function finalizeAppPageRscCacheResponse(response: Response, options: ScheduleAppPageRscCacheWriteOptions): Response;
89
+ export declare function scheduleAppPageRscCacheWrite(options: ScheduleAppPageRscCacheWriteOptions): boolean;
90
+ //#endregion
@@ -1,23 +1,26 @@
1
1
  import { NEXTJS_CACHE_HEADER, VINEXT_CACHE_HEADER } from "./headers.js";
2
+ import { getCdnCacheAdapter } from "../shims/cdn-cache.js";
3
+ import { captureRouteCacheabilityResponsePolicy, deferRouteCacheability, isRouteCacheabilityEvaluation } from "../shims/cacheability-classification.js";
4
+ import { NO_STORE_CACHE_CONTROL, STATIC_CACHE_CONTROL, applyCdnResponseHeaders, buildRevalidateCacheControl, captureCdnResponsePolicyHeaders, hasExplicitNonCacheableResponsePolicy } from "./cache-control.js";
5
+ import { buildAppPageCacheValue, isrCacheControl, resolveRouteExpireSeconds } from "./isr-cache.js";
2
6
  import { resolveClientStaleTimeSeconds } from "../utils/cache-control-metadata.js";
3
- import { NO_STORE_CACHE_CONTROL, STATIC_CACHE_CONTROL, applyCdnResponseHeaders, buildRevalidateCacheControl, hasExplicitNonCacheableResponsePolicy } from "./cache-control.js";
4
- import { buildAppPageCacheValue, isrCacheControl } from "./isr-cache.js";
5
7
  import { setCacheStateHeaders } from "./cache-headers.js";
6
8
  import { readStreamAsText } from "../utils/text-stream.js";
9
+ import { deferUntilStreamConsumed } from "./defer-until-stream-consumed.js";
7
10
  import { markFrameworkLinkHeaders } from "./app-response-header-provenance.js";
8
- import { captureRouteCacheabilityResponsePolicy, deferRouteCacheability, isRouteCacheabilityEvaluation } from "../shims/cacheability-classification.js";
11
+ import { hasQueryInvariantRenderProof } from "./cache-proof.js";
9
12
  import { createEmptyAppPageRenderObservationState } from "./app-page-render-observation.js";
10
- import { deferUntilStreamConsumed } from "./defer-until-stream-consumed.js";
11
13
  //#region src/server/app-page-cache-finalizer.ts
12
14
  function applyPendingDynamicCdnHeaders(headers, tags, options = {}) {
15
+ const cacheable = headers.get("Cache-Control") ?? "";
13
16
  applyCdnResponseHeaders(headers, {
14
- cacheControl: headers.get("Cache-Control") ?? "",
17
+ cacheControl: cacheable,
15
18
  pendingDynamicCheck: true,
16
19
  tags
17
20
  });
18
21
  finalizePendingCacheStateHeaders(headers, options);
19
22
  }
20
- function applyUncacheableRscVariantNoStoreHeaders(headers, options = {}) {
23
+ function applyUncacheableVariantNoStoreHeaders(headers, options = {}) {
21
24
  applyCdnResponseHeaders(headers, { cacheControl: NO_STORE_CACHE_CONTROL });
22
25
  finalizePendingCacheStateHeaders(headers, {
23
26
  ...options,
@@ -35,10 +38,9 @@ function finalizePendingCacheStateHeaders(headers, options = {}) {
35
38
  }
36
39
  function resolveAppPageCacheControl(options) {
37
40
  let revalidateSeconds = options.revalidateSeconds;
38
- let expireSeconds = options.expireSeconds;
39
41
  const requestCacheLife = options.requestCacheLife;
40
42
  if (requestCacheLife?.revalidate !== void 0) revalidateSeconds = revalidateSeconds === null ? requestCacheLife.revalidate : Math.min(revalidateSeconds, requestCacheLife.revalidate);
41
- if (requestCacheLife?.expire !== void 0) expireSeconds = requestCacheLife.expire;
43
+ const expireSeconds = requestCacheLife?.expire ?? resolveRouteExpireSeconds(revalidateSeconds, options.expireSeconds);
42
44
  if (revalidateSeconds === null || Number.isNaN(revalidateSeconds) || revalidateSeconds <= 0) return null;
43
45
  return isrCacheControl(revalidateSeconds, {
44
46
  expireSeconds,
@@ -52,17 +54,22 @@ function finalizeEvaluatedAppPageResponse(response, options) {
52
54
  if (!isRouteCacheabilityEvaluation()) return null;
53
55
  const complete = deferRouteCacheability();
54
56
  if (!complete) return response;
55
- captureRouteCacheabilityResponsePolicy(response.headers);
57
+ captureRouteCacheabilityResponsePolicy(captureCdnResponsePolicyHeaders(response.headers));
56
58
  let completed = false;
57
59
  const finish = () => {
58
60
  if (completed) return;
59
61
  completed = true;
62
+ const observationState = options.consumeRenderObservationState?.();
60
63
  let outcome;
61
64
  if (options.capturedDynamicUsageBeforeContextCleanup?.() === true || options.consumeDynamicUsage()) outcome = {
62
65
  cacheable: false,
63
66
  dynamicUsage: true,
64
67
  reason: "dynamic API used during render"
65
68
  };
69
+ else if (options.isStaticEligible === false) outcome = {
70
+ cacheable: false,
71
+ reason: "route is not statically generated"
72
+ };
66
73
  else if (response.headers.has("set-cookie") || hasExplicitNonCacheableResponsePolicy(response.headers)) outcome = {
67
74
  cacheable: false,
68
75
  reason: "response explicitly opts out of shared caching"
@@ -76,13 +83,13 @@ function finalizeEvaluatedAppPageResponse(response, options) {
76
83
  outcome = cacheControl ? {
77
84
  cacheable: true,
78
85
  cacheControl: appPageCacheControlHeader(cacheControl),
86
+ ...observationState && !observationState.requestApis.includes("searchParams") ? { searchParamsUnread: true } : {},
79
87
  tags: options.getPageTags()
80
88
  } : {
81
89
  cacheable: false,
82
90
  reason: "render did not produce a cache policy"
83
91
  };
84
92
  }
85
- options.consumeRenderObservationState?.();
86
93
  complete(outcome);
87
94
  };
88
95
  if (!response.body) {
@@ -105,9 +112,25 @@ function finalizeAppPageCacheabilityEvaluationResponse(response, options) {
105
112
  function finalizeAppPageHtmlCacheResponse(response, options) {
106
113
  const probeResponse = finalizeEvaluatedAppPageResponse(response, options);
107
114
  if (probeResponse) {
108
- options.capturedRscDataPromise?.catch(() => {});
115
+ if (options.capturedRscDataPromise) {
116
+ const adapter = getCdnCacheAdapter();
117
+ if (adapter.captureAppPageRscData) adapter.captureAppPageRscData(options.capturedRscDataPromise);
118
+ else options.capturedRscDataPromise.catch(() => {});
119
+ }
109
120
  return probeResponse;
110
121
  }
122
+ if (options.bypassInterceptionContextCache === true) {
123
+ options.capturedRscDataPromise?.catch(() => {});
124
+ const headers = new Headers(response.headers);
125
+ applyUncacheableVariantNoStoreHeaders(headers, { omitCacheState: options.omitPendingDynamicCacheState === true });
126
+ const clientResponse = new Response(response.body, {
127
+ status: response.status,
128
+ statusText: response.statusText,
129
+ headers
130
+ });
131
+ markFrameworkLinkHeaders(clientResponse.headers, options.linkHeader);
132
+ return clientResponse;
133
+ }
111
134
  if (!response.body) return response;
112
135
  const [streamForClient, streamForCache] = response.body.tee();
113
136
  const htmlKey = options.isrHtmlKey(options.cleanPathname);
@@ -116,7 +139,7 @@ function finalizeAppPageHtmlCacheResponse(response, options) {
116
139
  if (options.preserveClientResponseHeaders !== true) applyPendingDynamicCdnHeaders(clientHeaders, options.getPageTags(), { omitCacheState: options.omitPendingDynamicCacheState === true });
117
140
  const cachePromise = (async () => {
118
141
  try {
119
- const cachedHtml = await readStreamAsText(streamForCache);
142
+ let cachedHtml = await readStreamAsText(streamForCache);
120
143
  if (options.capturedDynamicUsageBeforeContextCleanup?.() === true || options.consumeDynamicUsage()) {
121
144
  options.isrDebug?.("HTML cache write skipped (dynamic usage during render)", htmlKey);
122
145
  return;
@@ -130,17 +153,25 @@ function finalizeAppPageHtmlCacheResponse(response, options) {
130
153
  options.isrDebug?.("HTML cache write skipped (no cache policy)", htmlKey);
131
154
  return;
132
155
  }
156
+ if (options.clientTraceMetadataMarker) {
157
+ const { stripClientTraceMetadataBlock } = await import("./client-trace-metadata.js");
158
+ cachedHtml = stripClientTraceMetadataBlock(cachedHtml, options.clientTraceMetadataMarker);
159
+ }
133
160
  const pageTags = options.getPageTags();
134
161
  const observationState = options.consumeRenderObservationState?.() ?? createEmptyAppPageRenderObservationState();
135
- const htmlRenderObservation = options.createHtmlRenderObservation?.({
162
+ const htmlRenderObservation = options.createHtmlRenderObservation({
136
163
  cacheTags: pageTags,
137
164
  state: observationState
138
165
  });
139
- const rscRenderObservation = options.createRscRenderObservation?.({
166
+ const rscRenderObservation = options.createRscRenderObservation({
140
167
  cacheTags: pageTags,
141
168
  state: observationState
142
169
  });
143
170
  const linkHeader = options.linkHeader;
171
+ if (!hasQueryInvariantRenderProof(htmlRenderObservation) || !hasQueryInvariantRenderProof(rscRenderObservation)) {
172
+ options.isrDebug?.("HTML cache write skipped (searchParams not proven unread)", htmlKey);
173
+ return;
174
+ }
144
175
  const writes = [options.isrSet(htmlKey, buildAppPageCacheValue(cachedHtml, void 0, 200, htmlRenderObservation, linkHeader ? { link: linkHeader } : void 0), {
145
176
  cacheControl,
146
177
  tags: pageTags
@@ -174,7 +205,7 @@ function finalizeAppPageRscCacheResponse(response, options) {
174
205
  const isUncacheableVariant = Boolean(options.mountedSlotsHeader) || options.bypassInterceptionContextCache === true;
175
206
  if (options.preserveClientResponseHeaders === true && !isUncacheableVariant) return response;
176
207
  const clientHeaders = new Headers(response.headers);
177
- if (isUncacheableVariant) applyUncacheableRscVariantNoStoreHeaders(clientHeaders, { omitCacheState: options.omitPendingDynamicCacheState === true });
208
+ if (isUncacheableVariant) applyUncacheableVariantNoStoreHeaders(clientHeaders, { omitCacheState: options.omitPendingDynamicCacheState === true });
178
209
  else applyPendingDynamicCdnHeaders(clientHeaders, options.getPageTags(), { omitCacheState: options.omitPendingDynamicCacheState === true });
179
210
  return new Response(response.body, {
180
211
  status: response.status,
@@ -204,10 +235,14 @@ function scheduleAppPageRscCacheWrite(options) {
204
235
  }
205
236
  const pageTags = options.getPageTags();
206
237
  const observationState = options.consumeRenderObservationState?.() ?? createEmptyAppPageRenderObservationState();
207
- const rscRenderObservation = options.createRscRenderObservation?.({
238
+ const rscRenderObservation = options.createRscRenderObservation({
208
239
  cacheTags: pageTags,
209
240
  state: observationState
210
241
  });
242
+ if (!hasQueryInvariantRenderProof(rscRenderObservation)) {
243
+ options.isrDebug?.("RSC cache write skipped (searchParams not proven unread)", rscKey);
244
+ return;
245
+ }
211
246
  await options.isrSet(rscKey, buildAppPageCacheValue("", rscData, 200, rscRenderObservation), {
212
247
  cacheControl,
213
248
  tags: pageTags
@@ -12,7 +12,7 @@ type AppPageCacheRoute = {
12
12
  pattern: string;
13
13
  routeSegments: readonly string[];
14
14
  };
15
- type RenderAppPageCacheArtifactsOptions = {
15
+ export type RenderAppPageCacheArtifactsOptions = {
16
16
  basePath?: string;
17
17
  captureRscData: boolean;
18
18
  cleanPathname: string;
@@ -25,7 +25,9 @@ type RenderAppPageCacheArtifactsOptions = {
25
25
  loadSsrHandler: () => Promise<AppPageSsrHandler>;
26
26
  mountedSlotsHeader?: string | null;
27
27
  navigationParams: Record<string, unknown>;
28
+ isCapturedRscError?: (error: unknown) => boolean;
28
29
  onError: (error: unknown, requestInfo: unknown, errorContext: unknown) => unknown;
30
+ onSsrError?: (error: unknown) => unknown;
29
31
  reactMaxHeadersLength?: number;
30
32
  renderToReadableStream: (element: AppPageRenderableElement, options: {
31
33
  onError: (error: unknown, requestInfo: unknown, errorContext: unknown) => unknown;
@@ -35,7 +37,7 @@ type RenderAppPageCacheArtifactsOptions = {
35
37
  waitForAllReady?: boolean;
36
38
  isForceStatic?: boolean;
37
39
  };
38
- type RenderAppPageCacheArtifactsResult = {
40
+ export type RenderAppPageCacheArtifactsResult = {
39
41
  cacheControl?: CacheControlMetadata;
40
42
  html: string;
41
43
  htmlRenderObservation: ReturnType<typeof createAppPageRenderObservation>;
@@ -43,6 +45,8 @@ type RenderAppPageCacheArtifactsResult = {
43
45
  rscData?: ArrayBuffer;
44
46
  rscRenderObservation?: ReturnType<typeof createAppPageRenderObservation>;
45
47
  tags: string[];
48
+ /** The render used a dynamic API, so its output must not be stored. */
49
+ usedDynamicApi: boolean;
46
50
  };
47
51
  /**
48
52
  * Render an App page element to HTML (and optionally its RSC payload) for cache
@@ -50,6 +54,5 @@ type RenderAppPageCacheArtifactsResult = {
50
54
  * cache-tag construction used by both normal ISR revalidation and PPR fallback
51
55
  * shell regeneration.
52
56
  */
53
- declare function renderAppPageCacheArtifacts(options: RenderAppPageCacheArtifactsOptions): Promise<RenderAppPageCacheArtifactsResult>;
54
- //#endregion
55
- export { RenderAppPageCacheArtifactsOptions, RenderAppPageCacheArtifactsResult, renderAppPageCacheArtifacts };
57
+ export declare function renderAppPageCacheArtifacts(options: RenderAppPageCacheArtifactsOptions): Promise<RenderAppPageCacheArtifactsResult>;
58
+ //#endregion