vinext 1.0.0-beta.9 → 1.0.1

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 (828) hide show
  1. package/README.md +150 -92
  2. package/THIRD_PARTY_LICENSES.md +51 -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 +7 -14
  33. package/dist/build/precompress.d.ts +2 -3
  34. package/dist/build/precompress.js +1 -1
  35. package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
  36. package/dist/build/prerender-cloudflare-loader.js +49 -0
  37. package/dist/build/prerender-paths.d.ts +36 -11
  38. package/dist/build/prerender-paths.js +274 -102
  39. package/dist/build/prerender-phase.d.ts +2 -3
  40. package/dist/build/prerender-server-entry.js +11 -3
  41. package/dist/build/prerender-server-pool.d.ts +9 -6
  42. package/dist/build/prerender-server-pool.js +8 -5
  43. package/dist/build/prerender.d.ts +73 -16
  44. package/dist/build/prerender.js +272 -80
  45. package/dist/build/preview-credentials.d.ts +5 -6
  46. package/dist/build/preview-credentials.js +2 -2
  47. package/dist/build/public-dir-conflict.d.ts +5 -6
  48. package/dist/build/public-dir-conflict.js +2 -1
  49. package/dist/build/report.d.ts +24 -20
  50. package/dist/build/report.js +10 -2
  51. package/dist/build/route-classification-injector.d.ts +2 -3
  52. package/dist/build/route-classification-manifest.d.ts +5 -6
  53. package/dist/build/run-prerender.d.ts +11 -9
  54. package/dist/build/run-prerender.js +26 -16
  55. package/dist/build/server-entry.d.ts +6 -0
  56. package/dist/build/server-entry.js +34 -0
  57. package/dist/build/server-manifest.d.ts +8 -3
  58. package/dist/build/server-manifest.js +14 -2
  59. package/dist/build/ssr-manifest.d.ts +5 -6
  60. package/dist/build/standalone.d.ts +2 -3
  61. package/dist/build/standalone.js +2 -2
  62. package/dist/build/static-export.d.ts +6 -7
  63. package/dist/cache/cache-adapters-virtual.d.ts +60 -20
  64. package/dist/cache/cache-adapters-virtual.js +50 -7
  65. package/dist/check.d.ts +11 -10
  66. package/dist/check.js +467 -176
  67. package/dist/cli-args.d.ts +7 -16
  68. package/dist/cli-args.js +2 -45
  69. package/dist/cli-dev-config.d.ts +10 -7
  70. package/dist/cli-dev-config.js +160 -3
  71. package/dist/cli.js +124 -442
  72. package/dist/client/app-nav-failure-handler.d.ts +6 -7
  73. package/dist/client/browser-globals.d.ts +4 -0
  74. package/dist/client/browser-globals.js +5 -0
  75. package/dist/client/client-rewrite-matcher.d.ts +2 -3
  76. package/dist/client/client-rewrites.d.ts +4 -5
  77. package/dist/client/dev-error-overlay-store.d.ts +13 -14
  78. package/dist/client/dev-error-overlay.d.ts +15 -15
  79. package/dist/client/dev-error-overlay.js +8 -5
  80. package/dist/client/instrumentation-client-inject.d.ts +3 -4
  81. package/dist/client/instrumentation-client-state.d.ts +5 -6
  82. package/dist/client/instrumentation-client.d.ts +3 -4
  83. package/dist/client/navigation-runtime.d.ts +20 -17
  84. package/dist/client/navigation-runtime.js +4 -3
  85. package/dist/client/pages-router-link-navigation.d.ts +4 -5
  86. package/dist/client/react-instance.d.ts +2 -3
  87. package/dist/client/validate-module-path.d.ts +2 -3
  88. package/dist/client/vinext-next-data.d.ts +7 -10
  89. package/dist/client/window-next.d.ts +4 -5
  90. package/dist/config/config-matchers.d.ts +16 -16
  91. package/dist/config/config-matchers.js +2 -4
  92. package/dist/config/dotenv.d.ts +3 -4
  93. package/dist/config/dotenv.js +14 -2
  94. package/dist/config/next-config.d.ts +31 -27
  95. package/dist/config/next-config.js +163 -16
  96. package/dist/config/prerender.d.ts +20 -16
  97. package/dist/config/prerender.js +10 -4
  98. package/dist/config/request-context.d.ts +5 -6
  99. package/dist/config/server-external-packages.d.ts +14 -3
  100. package/dist/config/server-external-packages.js +37 -3
  101. package/dist/config/tsconfig-paths.d.ts +3 -4
  102. package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
  103. package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
  104. package/dist/entries/app-browser-entry.d.ts +4 -5
  105. package/dist/entries/app-browser-entry.js +1 -3
  106. package/dist/entries/app-rsc-entry.d.ts +10 -3
  107. package/dist/entries/app-rsc-entry.js +503 -51
  108. package/dist/entries/app-rsc-manifest.d.ts +4 -3
  109. package/dist/entries/app-rsc-manifest.js +26 -8
  110. package/dist/entries/app-ssr-entry.d.ts +2 -3
  111. package/dist/entries/app-ssr-entry.js +8 -1
  112. package/dist/entries/pages-client-entry.d.ts +3 -3
  113. package/dist/entries/pages-client-entry.js +17 -2
  114. package/dist/entries/pages-server-entry.d.ts +13 -3
  115. package/dist/entries/pages-server-entry.js +234 -33
  116. package/dist/entries/runtime-entry-module.d.ts +4 -5
  117. package/dist/image/image-adapters-virtual.d.ts +4 -5
  118. package/dist/index.d.ts +10 -11
  119. package/dist/index.js +848 -255
  120. package/dist/init-cloudflare.d.ts +26 -17
  121. package/dist/init-cloudflare.js +711 -103
  122. package/dist/init-platform.d.ts +26 -22
  123. package/dist/init-platform.js +85 -29
  124. package/dist/init.d.ts +19 -13
  125. package/dist/init.js +126 -42
  126. package/dist/plugins/action-owner-manifest.d.ts +3 -4
  127. package/dist/plugins/action-owner-manifest.js +10 -3
  128. package/dist/plugins/ast-scope.d.ts +10 -11
  129. package/dist/plugins/ast-scope.js +10 -22
  130. package/dist/plugins/ast-utils.d.ts +16 -29
  131. package/dist/plugins/ast-utils.js +27 -71
  132. package/dist/plugins/async-hooks-stub.d.ts +2 -3
  133. package/dist/plugins/client-reference-dedup.d.ts +4 -5
  134. package/dist/plugins/commonjs-syntax.d.ts +16 -0
  135. package/dist/plugins/commonjs-syntax.js +22 -0
  136. package/dist/plugins/css-data-url.d.ts +2 -3
  137. package/dist/plugins/css-module-imports.d.ts +3 -4
  138. package/dist/plugins/css-module-imports.js +1 -1
  139. package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
  140. package/dist/plugins/dynamic-preload-metadata.js +55 -154
  141. package/dist/plugins/environment.d.ts +2 -3
  142. package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
  143. package/dist/plugins/extensionless-dynamic-import.js +6 -10
  144. package/dist/plugins/fonts.d.ts +10 -11
  145. package/dist/plugins/fonts.js +4 -3
  146. package/dist/plugins/ignore-dynamic-requests.d.ts +14 -4
  147. package/dist/plugins/ignore-dynamic-requests.js +113 -91
  148. package/dist/plugins/import-meta-url.d.ts +6 -7
  149. package/dist/plugins/import-meta-url.js +36 -48
  150. package/dist/plugins/instrumentation-client.d.ts +3 -3
  151. package/dist/plugins/instrumentation-client.js +46 -10
  152. package/dist/plugins/middleware-export-validation.d.ts +3 -4
  153. package/dist/plugins/middleware-export-validation.js +3 -3
  154. package/dist/plugins/middleware-server-only.d.ts +2 -3
  155. package/dist/plugins/og-asset-ownership.d.ts +5 -4
  156. package/dist/plugins/og-asset-ownership.js +24 -13
  157. package/dist/plugins/og-assets.d.ts +22 -5
  158. package/dist/plugins/og-assets.js +82 -21
  159. package/dist/plugins/og-harfbuzz.d.ts +24 -0
  160. package/dist/plugins/og-harfbuzz.js +271 -0
  161. package/dist/plugins/optimize-imports.d.ts +7 -7
  162. package/dist/plugins/optimize-imports.js +34 -45
  163. package/dist/plugins/pages-node-externals.d.ts +2 -3
  164. package/dist/plugins/pages-node-externals.js +6 -11
  165. package/dist/plugins/postcss.d.ts +8 -4
  166. package/dist/plugins/postcss.js +1 -1
  167. package/dist/plugins/remove-console.d.ts +2 -3
  168. package/dist/plugins/remove-console.js +0 -1
  169. package/dist/plugins/require-condition-resolution.d.ts +3 -4
  170. package/dist/plugins/require-condition-resolution.js +17 -18
  171. package/dist/plugins/require-context.d.ts +3 -3
  172. package/dist/plugins/require-context.js +41 -22
  173. package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
  174. package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
  175. package/dist/plugins/rsc-client-shim-excludes.js +1 -0
  176. package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
  177. package/dist/plugins/sass.d.ts +7 -8
  178. package/dist/plugins/sass.js +7 -4
  179. package/dist/plugins/scan-build-css.d.ts +12 -0
  180. package/dist/plugins/scan-build-css.js +39 -0
  181. package/dist/plugins/server-externals-manifest.d.ts +2 -3
  182. package/dist/plugins/strip-server-exports.d.ts +7 -6
  183. package/dist/plugins/strip-server-exports.js +4 -2
  184. package/dist/plugins/styled-jsx.d.ts +2 -3
  185. package/dist/plugins/styled-jsx.js +7 -7
  186. package/dist/plugins/transform-cache.d.ts +2 -3
  187. package/dist/plugins/transform-result.d.ts +21 -4
  188. package/dist/plugins/transform-result.js +23 -2
  189. package/dist/plugins/transitive-externals.d.ts +2 -3
  190. package/dist/plugins/typeof-window.d.ts +16 -7
  191. package/dist/plugins/typeof-window.js +62 -39
  192. package/dist/plugins/use-cache-callable.d.ts +2 -5
  193. package/dist/plugins/use-cache-callable.js +43 -22
  194. package/dist/plugins/wasm-module-import.d.ts +2 -3
  195. package/dist/plugins/worker-image-imports.d.ts +2 -3
  196. package/dist/plugins/worker-image-imports.js +6 -8
  197. package/dist/routing/app-route-graph.d.ts +18 -19
  198. package/dist/routing/app-route-graph.js +5 -6
  199. package/dist/routing/app-route-ids.d.ts +3 -0
  200. package/dist/routing/app-route-ids.js +6 -0
  201. package/dist/routing/app-router.d.ts +19 -6
  202. package/dist/routing/app-router.js +24 -2
  203. package/dist/routing/file-matcher.d.ts +9 -10
  204. package/dist/routing/pages-router.d.ts +6 -6
  205. package/dist/routing/pages-router.js +1 -1
  206. package/dist/routing/route-matching.d.ts +4 -5
  207. package/dist/routing/route-matching.js +4 -2
  208. package/dist/routing/route-pattern.d.ts +13 -14
  209. package/dist/routing/route-trie.d.ts +5 -6
  210. package/dist/routing/route-validation.d.ts +3 -4
  211. package/dist/routing/route-validation.js +12 -11
  212. package/dist/routing/utils.d.ts +13 -14
  213. package/dist/server/accept-encoding.d.ts +9 -10
  214. package/dist/server/api-handler.d.ts +2 -3
  215. package/dist/server/api-handler.js +9 -6
  216. package/dist/server/app-action-forwarding.d.ts +3 -4
  217. package/dist/server/app-action-forwarding.js +1 -1
  218. package/dist/server/app-action-request.d.ts +2 -3
  219. package/dist/server/app-bfcache-id.d.ts +4 -4
  220. package/dist/server/app-bfcache-id.js +7 -1
  221. package/dist/server/app-bfcache-identity.d.ts +8 -9
  222. package/dist/server/app-bfcache-identity.js +1 -2
  223. package/dist/server/app-browser-action-result.d.ts +15 -16
  224. package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
  225. package/dist/server/app-browser-entry.js +91 -36
  226. package/dist/server/app-browser-error.d.ts +5 -6
  227. package/dist/server/app-browser-error.js +9 -3
  228. package/dist/server/app-browser-history-controller.d.ts +4 -5
  229. package/dist/server/app-browser-hydration.d.ts +16 -6
  230. package/dist/server/app-browser-hydration.js +15 -2
  231. package/dist/server/app-browser-interception-context.d.ts +3 -4
  232. package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
  233. package/dist/server/app-browser-navigation-abort.d.ts +3 -4
  234. package/dist/server/app-browser-navigation-controller.d.ts +8 -8
  235. package/dist/server/app-browser-navigation-controller.js +9 -5
  236. package/dist/server/app-browser-navigation-response.d.ts +2 -3
  237. package/dist/server/app-browser-popstate.d.ts +4 -5
  238. package/dist/server/app-browser-prefetch-response.d.ts +5 -6
  239. package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
  240. package/dist/server/app-browser-server-action-client.d.ts +7 -6
  241. package/dist/server/app-browser-server-action-client.js +9 -5
  242. package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
  243. package/dist/server/app-browser-state.d.ts +17 -17
  244. package/dist/server/app-browser-state.js +7 -3
  245. package/dist/server/app-browser-stream.d.ts +5 -6
  246. package/dist/server/app-browser-stream.js +8 -6
  247. package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
  248. package/dist/server/app-browser-visible-commit.d.ts +6 -7
  249. package/dist/server/app-client-reference-preloader.d.ts +2 -3
  250. package/dist/server/app-elements-wire-key.d.ts +25 -0
  251. package/dist/server/app-elements-wire-key.js +69 -0
  252. package/dist/server/app-elements-wire.d.ts +34 -53
  253. package/dist/server/app-elements-wire.js +4 -75
  254. package/dist/server/app-elements.d.ts +5 -5
  255. package/dist/server/app-elements.js +1 -1
  256. package/dist/server/app-fallback-renderer.d.ts +4 -4
  257. package/dist/server/app-fallback-renderer.js +6 -6
  258. package/dist/server/app-fetch-tracing.d.ts +15 -0
  259. package/dist/server/app-fetch-tracing.js +38 -0
  260. package/dist/server/app-history-state.d.ts +25 -27
  261. package/dist/server/app-history-state.js +21 -16
  262. package/dist/server/app-hook-warning-suppression.d.ts +2 -3
  263. package/dist/server/app-hydration-cache-publication.d.ts +3 -4
  264. package/dist/server/app-inline-css-client.d.ts +3 -4
  265. package/dist/server/app-interception-context-header.d.ts +2 -3
  266. package/dist/server/app-layout-param-observation.d.ts +7 -8
  267. package/dist/server/app-metadata-tracing.d.ts +12 -0
  268. package/dist/server/app-metadata-tracing.js +17 -0
  269. package/dist/server/app-middleware.d.ts +7 -7
  270. package/dist/server/app-middleware.js +2 -3
  271. package/dist/server/app-mounted-slots-header.d.ts +2 -3
  272. package/dist/server/app-mounted-slots-header.js +2 -2
  273. package/dist/server/app-optimistic-routing.d.ts +10 -11
  274. package/dist/server/app-optimistic-routing.js +3 -2
  275. package/dist/server/app-page-boundary-render.d.ts +6 -6
  276. package/dist/server/app-page-boundary-render.js +10 -4
  277. package/dist/server/app-page-boundary.d.ts +9 -10
  278. package/dist/server/app-page-boundary.js +1 -1
  279. package/dist/server/app-page-cache-finalizer.d.ts +18 -9
  280. package/dist/server/app-page-cache-finalizer.js +51 -16
  281. package/dist/server/app-page-cache-render.d.ts +8 -5
  282. package/dist/server/app-page-cache-render.js +22 -4
  283. package/dist/server/app-page-cache.d.ts +28 -9
  284. package/dist/server/app-page-cache.js +95 -24
  285. package/dist/server/app-page-dispatch.d.ts +34 -12
  286. package/dist/server/app-page-dispatch.js +181 -64
  287. package/dist/server/app-page-element-builder.d.ts +13 -11
  288. package/dist/server/app-page-element-builder.js +104 -61
  289. package/dist/server/app-page-execution.d.ts +14 -14
  290. package/dist/server/app-page-execution.js +11 -7
  291. package/dist/server/app-page-head.d.ts +19 -16
  292. package/dist/server/app-page-head.js +25 -25
  293. package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
  294. package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
  295. package/dist/server/app-page-method.d.ts +5 -11
  296. package/dist/server/app-page-method.js +2 -9
  297. package/dist/server/app-page-params.d.ts +5 -6
  298. package/dist/server/app-page-ppr-runtime.d.ts +2 -2
  299. package/dist/server/app-page-probe.d.ts +5 -6
  300. package/dist/server/app-page-probe.js +5 -4
  301. package/dist/server/app-page-render-identity.d.ts +4 -5
  302. package/dist/server/app-page-render-observation.d.ts +8 -9
  303. package/dist/server/app-page-render-observation.js +1 -1
  304. package/dist/server/app-page-render.d.ts +41 -6
  305. package/dist/server/app-page-render.js +171 -24
  306. package/dist/server/app-page-request.d.ts +10 -9
  307. package/dist/server/app-page-request.js +16 -12
  308. package/dist/server/app-page-response.d.ts +20 -9
  309. package/dist/server/app-page-response.js +30 -12
  310. package/dist/server/app-page-route-wiring.d.ts +15 -15
  311. package/dist/server/app-page-route-wiring.js +31 -24
  312. package/dist/server/app-page-search-params-observation.d.ts +26 -5
  313. package/dist/server/app-page-search-params-observation.js +43 -7
  314. package/dist/server/app-page-segment-plan.d.ts +2 -3
  315. package/dist/server/app-page-segment-state.d.ts +11 -12
  316. package/dist/server/app-page-stream.d.ts +27 -11
  317. package/dist/server/app-page-stream.js +34 -6
  318. package/dist/server/app-page-tracing.d.ts +33 -0
  319. package/dist/server/app-page-tracing.js +50 -0
  320. package/dist/server/app-pages-bridge.d.ts +6 -6
  321. package/dist/server/app-pages-bridge.js +18 -4
  322. package/dist/server/app-post-middleware-context.d.ts +2 -3
  323. package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
  324. package/dist/server/app-ppr-fallback-shell-render.js +3 -2
  325. package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
  326. package/dist/server/app-prerender-endpoints.d.ts +5 -5
  327. package/dist/server/app-prerender-endpoints.js +3 -1
  328. package/dist/server/app-prerender-static-params.d.ts +15 -7
  329. package/dist/server/app-prerender-static-params.js +24 -9
  330. package/dist/server/app-render-abort-error.d.ts +3 -0
  331. package/dist/server/app-render-abort-error.js +8 -0
  332. package/dist/server/app-render-dependency.d.ts +14 -13
  333. package/dist/server/app-render-dependency.js +5 -1
  334. package/dist/server/app-request-context.d.ts +3 -4
  335. package/dist/server/app-request-stage-context.d.ts +5 -0
  336. package/dist/server/app-request-stage-context.js +11 -0
  337. package/dist/server/app-request-stage-dispatch.d.ts +25 -0
  338. package/dist/server/app-request-stage-dispatch.js +54 -0
  339. package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
  340. package/dist/server/app-request-stage-independent-entry.js +112 -0
  341. package/dist/server/app-response-header-provenance.d.ts +13 -7
  342. package/dist/server/app-response-header-provenance.js +34 -1
  343. package/dist/server/app-response-stage-entry.d.ts +9 -0
  344. package/dist/server/app-response-stage-entry.js +87 -0
  345. package/dist/server/app-route-handler-cache.d.ts +4 -4
  346. package/dist/server/app-route-handler-cache.js +51 -35
  347. package/dist/server/app-route-handler-dispatch.d.ts +3 -3
  348. package/dist/server/app-route-handler-dispatch.js +77 -56
  349. package/dist/server/app-route-handler-execution.d.ts +26 -14
  350. package/dist/server/app-route-handler-execution.js +94 -28
  351. package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
  352. package/dist/server/app-route-handler-middleware-context.js +15 -0
  353. package/dist/server/app-route-handler-policy.d.ts +11 -11
  354. package/dist/server/app-route-handler-policy.js +2 -2
  355. package/dist/server/app-route-handler-response.d.ts +9 -10
  356. package/dist/server/app-route-handler-response.js +14 -3
  357. package/dist/server/app-route-handler-runtime.d.ts +9 -10
  358. package/dist/server/app-route-handler-runtime.js +20 -16
  359. package/dist/server/app-route-module-loader.d.ts +6 -7
  360. package/dist/server/app-route-request-built-ins.d.ts +3 -4
  361. package/dist/server/app-route-tree-prefetch.d.ts +6 -7
  362. package/dist/server/app-route-tree-prefetch.js +2 -1
  363. package/dist/server/app-router-entry.d.ts +4 -1
  364. package/dist/server/app-router-entry.js +33 -17
  365. package/dist/server/app-rsc-cache-busting.d.ts +34 -27
  366. package/dist/server/app-rsc-cache-busting.js +14 -2
  367. package/dist/server/app-rsc-combined-handler.d.ts +9 -0
  368. package/dist/server/app-rsc-combined-handler.js +11 -0
  369. package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
  370. package/dist/server/app-rsc-error-handler.d.ts +12 -6
  371. package/dist/server/app-rsc-error-handler.js +15 -6
  372. package/dist/server/app-rsc-errors.d.ts +11 -9
  373. package/dist/server/app-rsc-errors.js +14 -16
  374. package/dist/server/app-rsc-handler.d.ts +32 -6
  375. package/dist/server/app-rsc-handler.js +425 -64
  376. package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
  377. package/dist/server/app-rsc-render-mode.d.ts +8 -9
  378. package/dist/server/app-rsc-request-normalization.d.ts +3 -3
  379. package/dist/server/app-rsc-request-normalization.js +5 -3
  380. package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
  381. package/dist/server/app-rsc-response-finalizer.js +10 -7
  382. package/dist/server/app-rsc-response-stage.d.ts +6 -0
  383. package/dist/server/app-rsc-response-stage.js +251 -0
  384. package/dist/server/app-rsc-route-matching.d.ts +3 -4
  385. package/dist/server/app-rsc-route-matching.js +3 -2
  386. package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
  387. package/dist/server/app-rsc-vary.d.ts +16 -0
  388. package/dist/server/app-rsc-vary.js +31 -0
  389. package/dist/server/app-segment-config.d.ts +119 -7
  390. package/dist/server/app-segment-config.js +242 -2
  391. package/dist/server/app-server-action-execution.d.ts +18 -13
  392. package/dist/server/app-server-action-execution.js +86 -33
  393. package/dist/server/app-ssr-entry.d.ts +14 -4
  394. package/dist/server/app-ssr-entry.js +62 -15
  395. package/dist/server/app-ssr-error-meta.d.ts +3 -4
  396. package/dist/server/app-ssr-error-meta.js +2 -1
  397. package/dist/server/app-ssr-router-instance.d.ts +2 -3
  398. package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
  399. package/dist/server/app-ssr-search-params-gate.js +54 -0
  400. package/dist/server/app-ssr-stream.d.ts +13 -9
  401. package/dist/server/app-ssr-stream.js +34 -8
  402. package/dist/server/app-static-generation.d.ts +4 -5
  403. package/dist/server/app-visited-response-cache.d.ts +11 -12
  404. package/dist/server/app-visited-response-cache.js +2 -2
  405. package/dist/server/app-worker-stages.d.ts +112 -0
  406. package/dist/server/app-worker-stages.js +105 -0
  407. package/dist/server/artifact-compatibility.d.ts +11 -12
  408. package/dist/server/before-interactive-head.d.ts +2 -3
  409. package/dist/server/bfcache-identity.d.ts +7 -8
  410. package/dist/server/cache-control.d.ts +35 -13
  411. package/dist/server/cache-control.js +64 -6
  412. package/dist/server/cache-headers.d.ts +3 -4
  413. package/dist/server/cache-proof.d.ts +75 -70
  414. package/dist/server/cache-proof.js +9 -1
  415. package/dist/server/cacheability-limits.d.ts +4 -5
  416. package/dist/server/cacheability-limits.js +2 -2
  417. package/dist/server/cacheability-manifest.d.ts +42 -16
  418. package/dist/server/cacheability-manifest.js +60 -10
  419. package/dist/server/cacheability-request.d.ts +37 -8
  420. package/dist/server/cacheability-request.js +192 -90
  421. package/dist/server/client-reuse-manifest.d.ts +17 -18
  422. package/dist/server/client-reuse-manifest.js +2 -2
  423. package/dist/server/client-trace-metadata.d.ts +9 -6
  424. package/dist/server/client-trace-metadata.js +27 -15
  425. package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
  426. package/dist/server/cloudflare-workers-tracing.js +8 -0
  427. package/dist/server/config-headers.d.ts +19 -5
  428. package/dist/server/config-headers.js +25 -11
  429. package/dist/server/cookie-utils.d.ts +2 -3
  430. package/dist/server/csp.d.ts +5 -6
  431. package/dist/server/default-global-error-module.d.ts +2 -3
  432. package/dist/server/default-global-not-found-module.d.ts +2 -3
  433. package/dist/server/default-not-found-module.d.ts +2 -3
  434. package/dist/server/defer-until-stream-consumed.d.ts +2 -3
  435. package/dist/server/defer-until-stream-consumed.js +2 -1
  436. package/dist/server/dev-initial-server-error.d.ts +3 -4
  437. package/dist/server/dev-initial-server-error.js +2 -1
  438. package/dist/server/dev-lockfile.d.ts +7 -8
  439. package/dist/server/dev-lockfile.js +4 -1
  440. package/dist/server/dev-module-runner.d.ts +2 -3
  441. package/dist/server/dev-origin-check.d.ts +5 -6
  442. package/dist/server/dev-route-files.d.ts +2 -3
  443. package/dist/server/dev-server.d.ts +4 -5
  444. package/dist/server/dev-server.js +141 -64
  445. package/dist/server/dev-stack-sourcemap.d.ts +7 -7
  446. package/dist/server/dev-stack-sourcemap.js +1 -1
  447. package/dist/server/document-initial-head.d.ts +3 -4
  448. package/dist/server/edge-api-runtime.d.ts +4 -5
  449. package/dist/server/fetch-handler.d.ts +3 -2
  450. package/dist/server/fetch-handler.js +3 -18
  451. package/dist/server/file-based-metadata.d.ts +2 -3
  452. package/dist/server/framework-tracer.d.ts +46 -0
  453. package/dist/server/framework-tracer.js +125 -0
  454. package/dist/server/fully-buffered-response.d.ts +11 -0
  455. package/dist/server/fully-buffered-response.js +19 -0
  456. package/dist/server/headers.d.ts +56 -61
  457. package/dist/server/headers.js +22 -31
  458. package/dist/server/html.d.ts +6 -27
  459. package/dist/server/html.js +16 -1
  460. package/dist/server/http-conditional.d.ts +5 -6
  461. package/dist/server/http-date.d.ts +2 -3
  462. package/dist/server/http-error-responses.d.ts +9 -10
  463. package/dist/server/http-error-responses.js +1 -0
  464. package/dist/server/http-range.d.ts +4 -5
  465. package/dist/server/hybrid-route-priority.d.ts +4 -5
  466. package/dist/server/image-optimization.d.ts +20 -21
  467. package/dist/server/implicit-tags.d.ts +3 -4
  468. package/dist/server/instrumentation-runtime.d.ts +17 -21
  469. package/dist/server/instrumentation-runtime.js +26 -8
  470. package/dist/server/instrumentation.d.ts +26 -30
  471. package/dist/server/instrumentation.js +18 -23
  472. package/dist/server/isr-cache.d.ts +30 -27
  473. package/dist/server/isr-cache.js +23 -70
  474. package/dist/server/isr-decision.d.ts +4 -4
  475. package/dist/server/metadata-route-build-data.d.ts +4 -5
  476. package/dist/server/metadata-route-response.d.ts +7 -7
  477. package/dist/server/metadata-route-response.js +158 -35
  478. package/dist/server/metadata-routes.d.ts +18 -19
  479. package/dist/server/middleware-matcher-pattern.d.ts +6 -7
  480. package/dist/server/middleware-matcher.d.ts +6 -7
  481. package/dist/server/middleware-path-to-regexp.d.ts +6 -7
  482. package/dist/server/middleware-path-to-regexp.js +11 -9
  483. package/dist/server/middleware-response-headers.d.ts +3 -4
  484. package/dist/server/middleware-runtime.d.ts +7 -8
  485. package/dist/server/middleware-runtime.js +36 -7
  486. package/dist/server/middleware.d.ts +5 -5
  487. package/dist/server/multi-stage.d.ts +141 -0
  488. package/dist/server/multi-stage.js +8 -0
  489. package/dist/server/navigation-planner.d.ts +26 -26
  490. package/dist/server/navigation-trace.d.ts +11 -12
  491. package/dist/server/next-error-digest.d.ts +4 -5
  492. package/dist/server/normalize-path.d.ts +5 -6
  493. package/dist/server/open-redirect.d.ts +2 -3
  494. package/dist/server/opentelemetry-api.d.ts +59 -0
  495. package/dist/server/opentelemetry-api.js +53 -0
  496. package/dist/server/opentelemetry-tracing.d.ts +5 -0
  497. package/dist/server/opentelemetry-tracing.js +83 -0
  498. package/dist/server/operation-token.d.ts +11 -12
  499. package/dist/server/otel-tracer-extension.d.ts +7 -9
  500. package/dist/server/otel-tracer-extension.js +37 -36
  501. package/dist/server/pages-api-route.d.ts +5 -4
  502. package/dist/server/pages-api-route.js +28 -9
  503. package/dist/server/pages-asset-tags.d.ts +7 -6
  504. package/dist/server/pages-asset-tags.js +104 -18
  505. package/dist/server/pages-body-parser-config.d.ts +4 -5
  506. package/dist/server/pages-body-parser-config.js +4 -4
  507. package/dist/server/pages-client-assets.d.ts +13 -5
  508. package/dist/server/pages-data-route.d.ts +11 -12
  509. package/dist/server/pages-data-route.js +1 -1
  510. package/dist/server/pages-default-404.d.ts +3 -4
  511. package/dist/server/pages-dev-hydration.d.ts +9 -4
  512. package/dist/server/pages-dev-hydration.js +19 -7
  513. package/dist/server/pages-dev-module-url.d.ts +3 -4
  514. package/dist/server/pages-dev-stylesheets.d.ts +5 -6
  515. package/dist/server/pages-document-asset-props.d.ts +6 -7
  516. package/dist/server/pages-document-initial-props.d.ts +5 -5
  517. package/dist/server/pages-document-initial-props.js +4 -2
  518. package/dist/server/pages-execution-tracing.d.ts +40 -0
  519. package/dist/server/pages-execution-tracing.js +80 -0
  520. package/dist/server/pages-get-initial-props.d.ts +9 -10
  521. package/dist/server/pages-i18n.d.ts +8 -8
  522. package/dist/server/pages-media-type.d.ts +4 -5
  523. package/dist/server/pages-node-compat.d.ts +11 -10
  524. package/dist/server/pages-node-compat.js +12 -4
  525. package/dist/server/pages-page-data.d.ts +23 -19
  526. package/dist/server/pages-page-data.js +82 -75
  527. package/dist/server/pages-page-handler.d.ts +7 -6
  528. package/dist/server/pages-page-handler.js +103 -47
  529. package/dist/server/pages-page-method.d.ts +2 -3
  530. package/dist/server/pages-page-response.d.ts +14 -10
  531. package/dist/server/pages-page-response.js +52 -32
  532. package/dist/server/pages-preview.d.ts +10 -11
  533. package/dist/server/pages-readiness.d.ts +2 -3
  534. package/dist/server/pages-request-pipeline.d.ts +15 -12
  535. package/dist/server/pages-request-pipeline.js +80 -35
  536. package/dist/server/pages-request-stage-entry.d.ts +23 -0
  537. package/dist/server/pages-request-stage-entry.js +316 -0
  538. package/dist/server/pages-response-stage-entry.d.ts +11 -0
  539. package/dist/server/pages-response-stage-entry.js +106 -0
  540. package/dist/server/pages-response-stage.d.ts +31 -0
  541. package/dist/server/pages-response-stage.js +49 -0
  542. package/dist/server/pages-revalidate.d.ts +3 -4
  543. package/dist/server/pages-revalidate.js +9 -4
  544. package/dist/server/pages-route-data-kind.d.ts +18 -0
  545. package/dist/server/pages-route-data-kind.js +11 -0
  546. package/dist/server/pages-router-entry.d.ts +1 -25
  547. package/dist/server/pages-router-entry.js +35 -148
  548. package/dist/server/pages-serializable-props.d.ts +3 -4
  549. package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
  550. package/dist/server/pregenerated-concrete-paths.js +12 -6
  551. package/dist/server/prerender-cache-life-header.d.ts +3 -4
  552. package/dist/server/prerender-manifest.d.ts +17 -11
  553. package/dist/server/prerender-manifest.js +7 -4
  554. package/dist/server/prerender-route-params.d.ts +16 -9
  555. package/dist/server/prerender-route-params.js +18 -3
  556. package/dist/server/prerender-work-unit-setup.d.ts +2 -3
  557. package/dist/server/prerender-work-unit-setup.js +5 -5
  558. package/dist/server/prod-server.d.ts +12 -9
  559. package/dist/server/prod-server.js +127 -44
  560. package/dist/server/proxy-trust.d.ts +5 -6
  561. package/dist/server/request-log.d.ts +3 -4
  562. package/dist/server/request-pipeline.d.ts +16 -16
  563. package/dist/server/request-pipeline.js +7 -2
  564. package/dist/server/request-stage.d.ts +5 -0
  565. package/dist/server/request-stage.js +7 -0
  566. package/dist/server/request-tracing.d.ts +22 -0
  567. package/dist/server/request-tracing.js +180 -0
  568. package/dist/server/response-stage-cacheability.d.ts +37 -0
  569. package/dist/server/response-stage-cacheability.js +55 -0
  570. package/dist/server/response-stage-policy.d.ts +23 -0
  571. package/dist/server/response-stage-policy.js +89 -0
  572. package/dist/server/response-stage.d.ts +5 -0
  573. package/dist/server/response-stage.js +7 -0
  574. package/dist/server/response-start-tracing.d.ts +14 -0
  575. package/dist/server/response-start-tracing.js +80 -0
  576. package/dist/server/revalidation-host.d.ts +2 -3
  577. package/dist/server/revalidation-host.js +1 -1
  578. package/dist/server/revalidation-request.d.ts +8 -0
  579. package/dist/server/revalidation-request.js +37 -0
  580. package/dist/server/rsc-completion-metadata.d.ts +6 -7
  581. package/dist/server/rsc-stream-hints.d.ts +18 -7
  582. package/dist/server/rsc-stream-hints.js +70 -35
  583. package/dist/server/seed-cache.d.ts +2 -3
  584. package/dist/server/seed-cache.js +8 -7
  585. package/dist/server/server-action-not-found.d.ts +5 -6
  586. package/dist/server/server-globals.d.ts +2 -3
  587. package/dist/server/skip-cache-proof.d.ts +4 -4
  588. package/dist/server/socket-error-backstop.d.ts +5 -6
  589. package/dist/server/socket-error-backstop.js +1 -1
  590. package/dist/server/static-file-cache.d.ts +5 -6
  591. package/dist/server/static-file-cache.js +9 -7
  592. package/dist/server/static-file-signal.d.ts +9 -6
  593. package/dist/server/static-file-signal.js +51 -2
  594. package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
  595. package/dist/server/streaming-metadata.d.ts +2 -3
  596. package/dist/server/tracer.d.ts +5 -0
  597. package/dist/server/tracer.js +13 -0
  598. package/dist/server/worker-prerender-discovery.d.ts +5 -6
  599. package/dist/server/worker-revalidation-context.d.ts +4 -4
  600. package/dist/server/worker-revalidation-context.js +6 -5
  601. package/dist/server/worker-stages.d.ts +43 -0
  602. package/dist/server/worker-stages.js +25 -0
  603. package/dist/server/worker-utils.d.ts +5 -6
  604. package/dist/server/worker-utils.js +2 -1
  605. package/dist/server/workers-tracing.d.ts +34 -0
  606. package/dist/server/workers-tracing.js +67 -0
  607. package/dist/shims/amp.d.ts +3 -4
  608. package/dist/shims/app-router-scroll-state.d.ts +9 -10
  609. package/dist/shims/app-router-scroll.d.ts +4 -5
  610. package/dist/shims/app-router-scroll.js +2 -1
  611. package/dist/shims/app.d.ts +5 -6
  612. package/dist/shims/before-interactive-context.d.ts +5 -6
  613. package/dist/shims/cache-callable-runtime.d.ts +44 -4
  614. package/dist/shims/cache-callable-runtime.js +168 -8
  615. package/dist/shims/cache-for-request.d.ts +2 -3
  616. package/dist/shims/cache-handler.d.ts +33 -20
  617. package/dist/shims/cache-handler.js +61 -2
  618. package/dist/shims/cache-request-state.d.ts +26 -38
  619. package/dist/shims/cache-request-state.js +2 -13
  620. package/dist/shims/cache-runtime.d.ts +23 -21
  621. package/dist/shims/cache-runtime.js +110 -28
  622. package/dist/shims/cache.d.ts +17 -16
  623. package/dist/shims/cache.js +19 -15
  624. package/dist/shims/cacheability-classification.d.ts +50 -29
  625. package/dist/shims/cacheability-classification.js +29 -14
  626. package/dist/shims/cdn-cache-state.d.ts +13 -0
  627. package/dist/shims/cdn-cache-state.js +23 -0
  628. package/dist/shims/cdn-cache.d.ts +59 -21
  629. package/dist/shims/cdn-cache.js +31 -47
  630. package/dist/shims/client-hook-error.d.ts +3 -4
  631. package/dist/shims/client-locale.d.ts +2 -3
  632. package/dist/shims/client-page-root.d.ts +24 -0
  633. package/dist/shims/client-page-root.js +121 -0
  634. package/dist/shims/compat-router.d.ts +2 -3
  635. package/dist/shims/config.d.ts +3 -4
  636. package/dist/shims/constants.d.ts +73 -74
  637. package/dist/shims/constants.js +1 -1
  638. package/dist/shims/default-not-found.d.ts +2 -3
  639. package/dist/shims/document.d.ts +9 -9
  640. package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
  641. package/dist/shims/dynamic-preload-chunks.js +17 -13
  642. package/dist/shims/dynamic.d.ts +3 -3
  643. package/dist/shims/error-boundary-navigation.d.ts +3 -4
  644. package/dist/shims/error-boundary.d.ts +17 -18
  645. package/dist/shims/error-boundary.js +17 -11
  646. package/dist/shims/error.d.ts +5 -19
  647. package/dist/shims/error.js +17 -10
  648. package/dist/shims/error.react-server.d.ts +4 -7
  649. package/dist/shims/error.react-server.js +4 -1
  650. package/dist/shims/fetch-cache.d.ts +22 -22
  651. package/dist/shims/fetch-cache.js +46 -20
  652. package/dist/shims/font-google-base.d.ts +9 -9
  653. package/dist/shims/font-google-base.js +2 -1
  654. package/dist/shims/font-local.d.ts +3 -3
  655. package/dist/shims/font-local.js +1 -1
  656. package/dist/shims/font-utils.d.ts +14 -15
  657. package/dist/shims/form.d.ts +2 -2
  658. package/dist/shims/form.js +10 -7
  659. package/dist/shims/hash-scroll.d.ts +5 -6
  660. package/dist/shims/head-state.d.ts +4 -5
  661. package/dist/shims/head.d.ts +16 -16
  662. package/dist/shims/head.js +5 -4
  663. package/dist/shims/headers.d.ts +44 -73
  664. package/dist/shims/headers.js +87 -144
  665. package/dist/shims/i18n-context.d.ts +5 -6
  666. package/dist/shims/i18n-state.d.ts +4 -5
  667. package/dist/shims/image-config.d.ts +5 -6
  668. package/dist/shims/image-config.js +2 -0
  669. package/dist/shims/image.d.ts +5 -5
  670. package/dist/shims/image.js +12 -8
  671. package/dist/shims/internal/als-registry.d.ts +4 -5
  672. package/dist/shims/internal/api-utils.d.ts +3 -4
  673. package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
  674. package/dist/shims/internal/app-page-props-cache-key.js +53 -1
  675. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
  676. package/dist/shims/internal/app-prefetch-rsc-request.d.ts +5 -17
  677. package/dist/shims/internal/app-prefetch-rsc-request.js +5 -14
  678. package/dist/shims/internal/app-route-detection.d.ts +2 -2
  679. package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -8
  680. package/dist/shims/internal/app-route-prefetch-policy.js +0 -1
  681. package/dist/shims/internal/app-router-context.d.ts +9 -10
  682. package/dist/shims/internal/cache-context-accessor.d.ts +16 -0
  683. package/dist/shims/internal/cache-context-accessor.js +15 -0
  684. package/dist/shims/internal/cookie-serialize.d.ts +4 -5
  685. package/dist/shims/internal/format-url-object.d.ts +7 -0
  686. package/dist/shims/internal/format-url-object.js +53 -0
  687. package/dist/shims/internal/headers-state.d.ts +74 -0
  688. package/dist/shims/internal/headers-state.js +157 -0
  689. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
  690. package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
  691. package/dist/shims/internal/hybrid-client-route-owner.js +3 -2
  692. package/dist/shims/internal/interpolate-as.d.ts +5 -6
  693. package/dist/shims/internal/interpolate-as.js +4 -2
  694. package/dist/shims/internal/link-status-registry.d.ts +5 -6
  695. package/dist/shims/internal/make-hanging-promise.d.ts +3 -4
  696. package/dist/shims/internal/navigation-untracked.d.ts +2 -3
  697. package/dist/shims/internal/normalize-router-href.d.ts +15 -0
  698. package/dist/shims/internal/normalize-router-href.js +41 -0
  699. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
  700. package/dist/shims/internal/pages-data-target.d.ts +8 -6
  701. package/dist/shims/internal/pages-data-target.js +32 -36
  702. package/dist/shims/internal/pages-data-url.d.ts +4 -5
  703. package/dist/shims/internal/pages-data-url.js +2 -1
  704. package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
  705. package/dist/shims/internal/pages-router-components.d.ts +3 -4
  706. package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
  707. package/dist/shims/internal/route-pattern-for-warning.js +3 -3
  708. package/dist/shims/internal/router-context.d.ts +2 -3
  709. package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
  710. package/dist/shims/internal/thenable-well-known-properties.js +33 -0
  711. package/dist/shims/internal/utils.d.ts +7 -8
  712. package/dist/shims/internal/work-unit-async-storage.d.ts +10 -11
  713. package/dist/shims/layout-segment-context.d.ts +3 -4
  714. package/dist/shims/link-prefetch.d.ts +9 -10
  715. package/dist/shims/link.d.ts +4 -4
  716. package/dist/shims/link.js +56 -116
  717. package/dist/shims/metadata.d.ts +15 -16
  718. package/dist/shims/metadata.js +40 -36
  719. package/dist/shims/navigation-context-accessors.d.ts +9 -0
  720. package/dist/shims/navigation-context-accessors.js +19 -0
  721. package/dist/shims/navigation-context-state.d.ts +27 -18
  722. package/dist/shims/navigation-errors.d.ts +18 -19
  723. package/dist/shims/navigation-state.d.ts +6 -7
  724. package/dist/shims/navigation.d.ts +80 -68
  725. package/dist/shims/navigation.js +26 -18
  726. package/dist/shims/navigation.react-server.d.ts +9 -9
  727. package/dist/shims/offline.d.ts +2 -3
  728. package/dist/shims/og.d.ts +2 -2
  729. package/dist/shims/pages-router-runtime.d.ts +4 -5
  730. package/dist/shims/ppr-fallback-shell.d.ts +13 -14
  731. package/dist/shims/readonly-url-search-params.d.ts +2 -3
  732. package/dist/shims/request-context.d.ts +5 -6
  733. package/dist/shims/request-state-types.d.ts +2 -1
  734. package/dist/shims/root-params.d.ts +14 -15
  735. package/dist/shims/root-params.js +1 -1
  736. package/dist/shims/router-state.d.ts +5 -6
  737. package/dist/shims/router-state.js +1 -1
  738. package/dist/shims/router.d.ts +22 -21
  739. package/dist/shims/router.js +339 -164
  740. package/dist/shims/script-nonce-context.d.ts +8 -6
  741. package/dist/shims/script-nonce-context.js +15 -6
  742. package/dist/shims/script.d.ts +4 -4
  743. package/dist/shims/script.js +9 -7
  744. package/dist/shims/search-params-gate.d.ts +35 -0
  745. package/dist/shims/search-params-gate.js +32 -0
  746. package/dist/shims/server.d.ts +19 -51
  747. package/dist/shims/server.js +66 -30
  748. package/dist/shims/slot.d.ts +33 -15
  749. package/dist/shims/slot.js +41 -9
  750. package/dist/shims/streamed-icons.d.ts +3 -4
  751. package/dist/shims/thenable-params.d.ts +5 -7
  752. package/dist/shims/thenable-params.js +3 -24
  753. package/dist/shims/unified-request-context.d.ts +35 -32
  754. package/dist/shims/unified-request-context.js +34 -24
  755. package/dist/shims/unrecognized-action-error.d.ts +3 -4
  756. package/dist/shims/url-safety.d.ts +5 -6
  757. package/dist/shims/url-utils.d.ts +12 -13
  758. package/dist/shims/use-merged-ref.d.ts +2 -3
  759. package/dist/shims/user-agent.d.ts +31 -0
  760. package/dist/shims/user-agent.js +16 -0
  761. package/dist/shims/web-vitals.d.ts +2 -2
  762. package/dist/typegen.d.ts +3 -4
  763. package/dist/utils/asset-prefix.d.ts +7 -8
  764. package/dist/utils/base-path.d.ts +5 -6
  765. package/dist/utils/built-asset-url.d.ts +2 -3
  766. package/dist/utils/built-asset-url.js +1 -1
  767. package/dist/utils/cache-control-metadata.d.ts +4 -5
  768. package/dist/utils/client-build-manifest.d.ts +6 -7
  769. package/dist/utils/client-build-manifest.js +2 -1
  770. package/dist/utils/client-entry-manifest.d.ts +6 -7
  771. package/dist/utils/client-runtime-metadata.d.ts +8 -3
  772. package/dist/utils/client-runtime-metadata.js +18 -1
  773. package/dist/utils/commonjs-loader.d.ts +4 -5
  774. package/dist/utils/compare.d.ts +2 -3
  775. package/dist/utils/deployment-id.d.ts +6 -7
  776. package/dist/utils/dev-error-recovery-event.d.ts +2 -3
  777. package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
  778. package/dist/utils/domain-locale.d.ts +7 -8
  779. package/dist/utils/encode-cache-tag.d.ts +4 -4
  780. package/dist/utils/encode-cache-tag.js +11 -1
  781. package/dist/utils/error-cause.d.ts +2 -3
  782. package/dist/utils/external-url.d.ts +2 -3
  783. package/dist/utils/has-trailing-comma.d.ts +3 -4
  784. package/dist/utils/hash.d.ts +3 -4
  785. package/dist/utils/html-limited-bots.d.ts +3 -4
  786. package/dist/utils/lazy-chunks.d.ts +8 -9
  787. package/dist/utils/lazy-chunks.js +4 -4
  788. package/dist/utils/manifest-paths.d.ts +5 -6
  789. package/dist/utils/mdx-scan.d.ts +11 -4
  790. package/dist/utils/mdx-scan.js +27 -1
  791. package/dist/utils/middleware-request-headers.d.ts +7 -6
  792. package/dist/utils/middleware-request-headers.js +6 -1
  793. package/dist/utils/navigation-signal.d.ts +3 -3
  794. package/dist/utils/navigation-signal.js +16 -1
  795. package/dist/utils/number.d.ts +2 -3
  796. package/dist/utils/package-name.d.ts +3 -4
  797. package/dist/utils/parse-cookie.d.ts +4 -5
  798. package/dist/utils/path.d.ts +8 -9
  799. package/dist/utils/plugin-options.d.ts +2 -3
  800. package/dist/utils/precompressed-variant.d.ts +3 -4
  801. package/dist/utils/prerender-output-paths.d.ts +4 -5
  802. package/dist/utils/project.d.ts +19 -30
  803. package/dist/utils/project.js +20 -29
  804. package/dist/utils/promise.d.ts +2 -3
  805. package/dist/utils/protocol-headers.d.ts +14 -15
  806. package/dist/utils/public-file-path.d.ts +2 -3
  807. package/dist/utils/public-routes.d.ts +2 -3
  808. package/dist/utils/query.d.ts +14 -9
  809. package/dist/utils/query.js +22 -1
  810. package/dist/utils/react-compiler-support.d.ts +6 -7
  811. package/dist/utils/react-version.d.ts +4 -3
  812. package/dist/utils/react-version.js +19 -1
  813. package/dist/utils/record.d.ts +2 -3
  814. package/dist/utils/redirect-digest.d.ts +3 -4
  815. package/dist/utils/regex-safety.d.ts +4 -5
  816. package/dist/utils/regex.d.ts +2 -3
  817. package/dist/utils/safe-json-file.d.ts +2 -3
  818. package/dist/utils/sorted-array.d.ts +2 -3
  819. package/dist/utils/text-stream.d.ts +3 -4
  820. package/dist/utils/vinext-root.d.ts +2 -3
  821. package/dist/utils/virtual-module.d.ts +3 -4
  822. package/dist/utils/vite-cli-invocation.d.ts +21 -0
  823. package/dist/utils/vite-cli-invocation.js +151 -0
  824. package/dist/utils/vite-version.d.ts +5 -6
  825. package/next-package.json +4 -0
  826. package/package.json +51 -6
  827. package/dist/server/metadata-route-cache-policy.d.ts +0 -6
  828. package/dist/server/metadata-route-cache-policy.js +0 -6
@@ -0,0 +1,112 @@
1
+ import { VINEXT_PRERENDER_SECRET_HEADER, VINEXT_REVALIDATE_HOST_HEADER } from "../utils/protocol-headers.js";
2
+ import { runWithExecutionContext } from "../shims/request-context.js";
3
+ import "./server-globals.js";
4
+ import "./app-rsc-vary.js";
5
+ import { VINEXT_CACHEABILITY_PROBE_QUERY_PARAM, VINEXT_EXPECTED_WORKER_VERSION_HEADER } from "./headers.js";
6
+ import { badRequestResponse, notFoundResponse } from "./http-error-responses.js";
7
+ import { isOpenRedirectShaped } from "./open-redirect.js";
8
+ import { cloneRequestWithHeaders, filterInternalHeaders } from "./request-pipeline.js";
9
+ import { getExplicitCdnCacheAdapter } from "../shims/cdn-cache-state.js";
10
+ import { applyCdnResponseIdentityHeaders, validateCdnRequest } from "./cache-control.js";
11
+ import { registerLazyDataCacheHandler } from "../shims/cache-handler.js";
12
+ import { getImageOptimizer, handleConfiguredImageOptimization, isImageOptimizationPath } from "./image-optimization.js";
13
+ import { consumeFrameworkRequestRoute, traceFrameworkRequest } from "./request-tracing.js";
14
+ import { createStaticAssetRequest, resolveStaticAssetSignal } from "./worker-utils.js";
15
+ import { readTrustedPrerenderStateFromHeaders } from "./prerender-route-params.js";
16
+ import { createWorkerRevalidationContext } from "./worker-revalidation-context.js";
17
+ import { createWorkerPrerenderDiscoveryContext, createWorkerPrerenderReadinessResponse } from "./worker-prerender-discovery.js";
18
+ import requestRscHandler, { __ensureHybridPagesApplication, __ensureInstrumentation, __imageAllowedWidths, __imageConfig, __prerenderSecret } from "virtual:vinext-app-request-entry";
19
+ import * as configuredCdnCacheAdapters from "virtual:vinext-cdn-cache-adapter";
20
+ import { registerConfiguredImageOptimizer } from "virtual:vinext-image-adapters";
21
+ //#region src/server/app-request-stage-independent-entry.ts
22
+ function handleRequestStage(request, env, ctx, dispatchResponseStage) {
23
+ const originalRequest = request;
24
+ const handleStage = async () => {
25
+ await __ensureInstrumentation();
26
+ const url = new URL(request.url);
27
+ return traceFrameworkRequest({
28
+ callback: () => handleRequest(request, env, ctx, dispatchResponseStage, ctx?.assets).then((response) => applyCdnResponseIdentityHeaders(response, originalRequest)),
29
+ getStatus: (response) => response?.status,
30
+ headers: request.headers,
31
+ isRsc: url.pathname.endsWith(".rsc") || request.headers.get("RSC") === "1",
32
+ method: request.method,
33
+ target: url.pathname + url.search
34
+ });
35
+ };
36
+ return ctx ? runWithExecutionContext(ctx, handleStage) : handleStage();
37
+ }
38
+ async function handleRequest(request, env, platformCtx, dispatchResponseStage, assets) {
39
+ let ctx = platformCtx?.trustedRevalidateOrigin ? platformCtx : createWorkerRevalidationContext(platformCtx, (internalRequest, internalCtx) => handleRequest(internalRequest, env, internalCtx, dispatchResponseStage, assets), "node");
40
+ configuredCdnCacheAdapters.registerConfiguredCacheAdapters(env);
41
+ assets ??= getExplicitCdnCacheAdapter()?.assets;
42
+ if (configuredCdnCacheAdapters.hasConfiguredDataCache) registerLazyDataCacheHandler(async () => {
43
+ (await import("virtual:vinext-cache-adapters")).registerConfiguredCacheAdapters(env);
44
+ });
45
+ registerConfiguredImageOptimizer(env);
46
+ ctx = createWorkerPrerenderDiscoveryContext(ctx, request, __prerenderSecret);
47
+ const readinessResponse = createWorkerPrerenderReadinessResponse(ctx, request);
48
+ let didValidateCdnRequest = false;
49
+ if (readinessResponse) {
50
+ const validationResponse = await validateCdnRequest(request);
51
+ if (validationResponse) return validationResponse;
52
+ didValidateCdnRequest = true;
53
+ if (readinessResponse.status !== 204) return readinessResponse;
54
+ await __ensureHybridPagesApplication();
55
+ }
56
+ let probeMode = null;
57
+ let probeRoute = null;
58
+ if (request.headers.has("X-Vinext-Cacheability-Probe")) {
59
+ const { readWorkerCacheabilityProbeMode, readWorkerCacheabilityProbeRoute } = await import("./cacheability-request.js");
60
+ probeMode = readWorkerCacheabilityProbeMode(request, __prerenderSecret);
61
+ if (probeMode) {
62
+ probeRoute = readWorkerCacheabilityProbeRoute(request);
63
+ const probeUrl = new URL(request.url);
64
+ probeUrl.searchParams.delete(VINEXT_CACHEABILITY_PROBE_QUERY_PARAM);
65
+ request = new Request(probeUrl, request);
66
+ }
67
+ }
68
+ if (!didValidateCdnRequest) {
69
+ const cdnValidationResponse = await validateCdnRequest(request);
70
+ if (cdnValidationResponse) return cdnValidationResponse;
71
+ }
72
+ const url = new URL(request.url);
73
+ if (isImageOptimizationPath(url.pathname) && assets && getImageOptimizer()) return handleConfiguredImageOptimization(request, (assetPath) => Promise.resolve(assets.fetch(new Request(new URL(assetPath, request.url)))), __imageAllowedWidths, __imageConfig);
74
+ if (isOpenRedirectShaped(url.pathname)) return notFoundResponse();
75
+ try {
76
+ decodeURIComponent(url.pathname);
77
+ } catch {
78
+ return badRequestResponse();
79
+ }
80
+ const trustedPrerenderState = readTrustedPrerenderStateFromHeaders(request.headers, __prerenderSecret);
81
+ const filteredHeaders = ctx.isInternalPagesRevalidation ? new Headers(request.headers) : filterInternalHeaders(request.headers);
82
+ filteredHeaders.delete(VINEXT_PRERENDER_SECRET_HEADER);
83
+ filteredHeaders.delete(VINEXT_REVALIDATE_HOST_HEADER);
84
+ if (readinessResponse?.status === 204) {
85
+ const expectedWorkerVersion = request.headers.get(VINEXT_EXPECTED_WORKER_VERSION_HEADER);
86
+ if (expectedWorkerVersion) filteredHeaders.set(VINEXT_EXPECTED_WORKER_VERSION_HEADER, expectedWorkerVersion);
87
+ }
88
+ request = cloneRequestWithHeaders(request, filteredHeaders);
89
+ let responseStageDispatched = false;
90
+ const trackedDispatchResponseStage = (stageRequest, props, options) => {
91
+ responseStageDispatched = true;
92
+ const response = dispatchResponseStage(stageRequest, props, options);
93
+ return props.kind === "app-full-request" ? response.then(consumeFrameworkRequestRoute) : response;
94
+ };
95
+ const handle = () => requestRscHandler(request, ctx, trackedDispatchResponseStage, probeMode, ctx.isPrerenderPathDiscovery === true, trustedPrerenderState);
96
+ let response = await runWithExecutionContext(ctx, handle);
97
+ if (assets) {
98
+ const assetResponse = await resolveStaticAssetSignal(response, { fetchAsset: (path) => Promise.resolve(assets.fetch(createStaticAssetRequest(path, request))) });
99
+ if (assetResponse) response = assetResponse;
100
+ }
101
+ if (probeMode && probeRoute && !responseStageDispatched) {
102
+ const { finalizeRequestStageCacheabilityProbe } = await import("./cacheability-request.js");
103
+ response = finalizeRequestStageCacheabilityProbe(response, {
104
+ mode: probeMode,
105
+ responseStageDispatched,
106
+ route: probeRoute
107
+ });
108
+ }
109
+ return response;
110
+ }
111
+ //#endregion
112
+ export { handleRequestStage };
@@ -1,13 +1,19 @@
1
1
  //#region src/server/app-response-header-provenance.d.ts
2
2
  /** Mark response headers whose Link value was emitted by the App page renderer. */
3
- declare function markFrameworkLinkHeaders(headers: Headers, linkHeader: string | string[] | null | undefined): void;
3
+ export declare function markFrameworkLinkHeaders(headers: Headers, linkHeader: string | string[] | null | undefined): void;
4
4
  /** Whether the response carries renderer-owned Link values that config may prepend to. */
5
- declare function hasFrameworkLinkHeaders(headers: Headers): boolean;
5
+ export declare function hasFrameworkLinkHeaders(headers: Headers): boolean;
6
6
  /** Mark Link values returned by an Edge route handler after config and middleware. */
7
- declare function markEdgeRouteHandlerLinkHeaders(headers: Headers, linkHeader: string | null | undefined): void;
7
+ export declare function markEdgeRouteHandlerLinkHeaders(headers: Headers, linkHeader: string | null | undefined): void;
8
8
  /** Whether config must precede a later framework or Edge-handler Link value. */
9
- declare function hasPostConfigLinkHeaders(headers: Headers): boolean;
9
+ export declare function hasPostConfigLinkHeaders(headers: Headers): boolean;
10
10
  /** Preserve Link provenance when a response wrapper reconstructs a Response. */
11
- declare function copyLinkHeaderProvenance(source: Headers, target: Headers): void;
12
- //#endregion
13
- export { copyLinkHeaderProvenance, hasFrameworkLinkHeaders, hasPostConfigLinkHeaders, markEdgeRouteHandlerLinkHeaders, markFrameworkLinkHeaders };
11
+ export declare function copyLinkHeaderProvenance(source: Headers, target: Headers): void;
12
+ /** Serialize otherwise process-local Link provenance across a response-stage transport. */
13
+ export declare function serializeResponseStageLinkProvenance(response: Response): Response;
14
+ /** Consume transported Link provenance before applying outer config and middleware. */
15
+ export declare function consumeResponseStageLinkProvenance(response: Response): {
16
+ appendToPostConfigLink: boolean;
17
+ response: Response;
18
+ };
19
+ //#endregion
@@ -1,6 +1,9 @@
1
+ import { preserveFullyBufferedBodyMetadata } from "./fully-buffered-response.js";
2
+ import "../shims/unified-request-context.js";
1
3
  //#region src/server/app-response-header-provenance.ts
2
4
  const frameworkLinkHeaders = /* @__PURE__ */ new WeakSet();
3
5
  const edgeRouteHandlerLinkHeaders = /* @__PURE__ */ new WeakSet();
6
+ const APP_RESPONSE_STAGE_LINK_PROVENANCE_HEADER = "x-vinext-app-stage-post-config-link";
4
7
  /** Mark response headers whose Link value was emitted by the App page renderer. */
5
8
  function markFrameworkLinkHeaders(headers, linkHeader) {
6
9
  if (linkHeader && (typeof linkHeader === "string" || linkHeader.length > 0)) frameworkLinkHeaders.add(headers);
@@ -22,5 +25,35 @@ function copyLinkHeaderProvenance(source, target) {
22
25
  if (frameworkLinkHeaders.has(source)) frameworkLinkHeaders.add(target);
23
26
  if (edgeRouteHandlerLinkHeaders.has(source)) edgeRouteHandlerLinkHeaders.add(target);
24
27
  }
28
+ /** Serialize otherwise process-local Link provenance across a response-stage transport. */
29
+ function serializeResponseStageLinkProvenance(response) {
30
+ if (!hasPostConfigLinkHeaders(response.headers)) return response;
31
+ const headers = new Headers(response.headers);
32
+ headers.set(APP_RESPONSE_STAGE_LINK_PROVENANCE_HEADER, "1");
33
+ return preserveFullyBufferedBodyMetadata(response, new Response(response.body, {
34
+ headers,
35
+ status: response.status,
36
+ statusText: response.statusText
37
+ }));
38
+ }
39
+ /** Consume transported Link provenance before applying outer config and middleware. */
40
+ function consumeResponseStageLinkProvenance(response) {
41
+ if (response.headers.get(APP_RESPONSE_STAGE_LINK_PROVENANCE_HEADER) !== "1") return {
42
+ appendToPostConfigLink: false,
43
+ response
44
+ };
45
+ const headers = new Headers(response.headers);
46
+ headers.delete(APP_RESPONSE_STAGE_LINK_PROVENANCE_HEADER);
47
+ const transported = preserveFullyBufferedBodyMetadata(response, new Response(response.body, {
48
+ headers,
49
+ status: response.status,
50
+ statusText: response.statusText
51
+ }));
52
+ markFrameworkLinkHeaders(transported.headers, transported.headers.get("link"));
53
+ return {
54
+ appendToPostConfigLink: true,
55
+ response: transported
56
+ };
57
+ }
25
58
  //#endregion
26
- export { copyLinkHeaderProvenance, hasFrameworkLinkHeaders, hasPostConfigLinkHeaders, markEdgeRouteHandlerLinkHeaders, markFrameworkLinkHeaders };
59
+ export { consumeResponseStageLinkProvenance, copyLinkHeaderProvenance, hasFrameworkLinkHeaders, hasPostConfigLinkHeaders, markEdgeRouteHandlerLinkHeaders, markFrameworkLinkHeaders, serializeResponseStageLinkProvenance };
@@ -0,0 +1,9 @@
1
+ import { VinextCacheFunctionInvocation, VinextRequestStageTransport, VinextResponseStageDispatchOptions } from "./multi-stage.js";
2
+ import { ExecutionContextLike } from "../shims/request-context.js";
3
+ import { AppWorkerResponseStageProps } from "./app-worker-stages.js";
4
+ //#region src/server/app-response-stage-entry.d.ts
5
+ type AppResponseStageEnv = Record<string, unknown>;
6
+ /** Invoke one transformed public cache function without rendering its owning route. */
7
+ export declare function invokeCacheFunction(invocation: VinextCacheFunctionInvocation, env: AppResponseStageEnv | undefined, platformCtx: ExecutionContextLike | undefined, dispatchRequestStage: VinextRequestStageTransport): Promise<void>;
8
+ export declare function handleResponseStage(request: Request, env: AppResponseStageEnv | undefined, platformCtx: ExecutionContextLike | undefined, props: AppWorkerResponseStageProps, dispatchRequestStage: VinextRequestStageTransport, options?: VinextResponseStageDispatchOptions): Promise<Response>;
9
+ //#endregion
@@ -0,0 +1,87 @@
1
+ import { createRequestContext, runWithRequestContext } from "../shims/unified-request-context.js";
2
+ import { runWithExecutionContext } from "../shims/request-context.js";
3
+ import { serializeStaticFileSignalForTransport } from "./static-file-signal.js";
4
+ import { validateCdnRequest } from "./cache-control.js";
5
+ import { ensureFetchPatch } from "../shims/fetch-cache.js";
6
+ import { serializeResponseStageLinkProvenance } from "./app-response-header-provenance.js";
7
+ import { attachFrameworkRequestError, attachFrameworkRequestRoute, captureFrameworkRequestRoute, clearFrameworkRequestError } from "./request-tracing.js";
8
+ import { isAppWorkerResponseStageProps } from "./app-worker-stages.js";
9
+ import { createWorkerRevalidationContext } from "./worker-revalidation-context.js";
10
+ import { createWorkerPrerenderReadinessResponse } from "./worker-prerender-discovery.js";
11
+ import { withResponseStageCacheability } from "./response-stage-cacheability.js";
12
+ import { registerConfiguredImageOptimizer } from "virtual:vinext-image-adapters";
13
+ import rscHandler, { __cacheabilityManifest, __ensureHybridPagesApplication, __ensureInstrumentation } from "virtual:vinext-app-response-entry";
14
+ import { registerConfiguredCacheAdapters } from "virtual:vinext-cache-adapters";
15
+ //#region src/server/app-response-stage-entry.ts
16
+ /** Cacheable App response stage. This is the only multi-stage App entry that imports user routes. */
17
+ /** Invoke one transformed public cache function without rendering its owning route. */
18
+ async function invokeCacheFunction(invocation, env, platformCtx, dispatchRequestStage) {
19
+ await __ensureInstrumentation();
20
+ const [{ loadServerAction }, { invokeCacheFunction: invokeRegisteredCacheFunction }] = await Promise.all([import("@vitejs/plugin-rsc/core/rsc"), import("../shims/cache-callable-runtime.js")]);
21
+ registerConfiguredCacheAdapters(env);
22
+ ensureFetchPatch();
23
+ const executionContext = createWorkerRevalidationContext(platformCtx, (request) => dispatchRequestStage(request), "node");
24
+ const context = createRequestContext({
25
+ currentFetchSoftTags: invocation.softTags,
26
+ executionContext,
27
+ rootParams: invocation.rootParams
28
+ });
29
+ await runWithRequestContext(context, () => invokeRegisteredCacheFunction(invocation, loadServerAction));
30
+ }
31
+ async function handleResponseStage(request, env, platformCtx, props, dispatchRequestStage, options = { cache: "bypass" }) {
32
+ if (!isAppWorkerResponseStageProps(props)) return new Response("Invalid vinext App response stage", { status: 400 });
33
+ if (props.requestOrigin !== new URL(request.url).origin) return new Response("Invalid vinext App response stage", { status: 400 });
34
+ const currentBuildId = process.env.__VINEXT_BUILD_ID ?? null;
35
+ if (props.buildId !== currentBuildId) return new Response("Incompatible vinext App response stage", { status: 409 });
36
+ await __ensureInstrumentation();
37
+ if (props.kind === "app-full-request" && props.prerenderDiscovery) await __ensureHybridPagesApplication();
38
+ registerConfiguredImageOptimizer(env);
39
+ let ctx = createWorkerRevalidationContext(platformCtx, (internalRequest) => dispatchRequestStage(internalRequest), "node");
40
+ if (props.kind === "app-full-request" && props.prerenderDiscovery) ctx = {
41
+ ...ctx,
42
+ isPrerenderPathDiscovery: true
43
+ };
44
+ return withResponseStageCacheability({
45
+ buildId: process.env.__VINEXT_BUILD_ID,
46
+ cache: options.cache,
47
+ context: ctx,
48
+ forceDynamic: (props.kind === "app-page" || props.kind === "app-route-handler") && props.forceDynamic === true,
49
+ policyHeaders: props.cacheability.policyHeaders,
50
+ probeMode: props.cacheability.probeMode,
51
+ rawManifest: __cacheabilityManifest,
52
+ recomposesRequestScopedHeaders: props.kind === "app-page" && props.isRscRequest,
53
+ registerCacheAdapters: () => registerConfiguredCacheAdapters(env),
54
+ request,
55
+ representation: props.cacheability.representation,
56
+ resolvedRoutePathname: props.cacheability.resolvedRoutePathname
57
+ }, async (cacheabilityContext) => {
58
+ if (props.kind === "app-full-request") {
59
+ if (props.prerenderDiscovery) {
60
+ const readinessResponse = createWorkerPrerenderReadinessResponse(cacheabilityContext, request);
61
+ if (readinessResponse) return await validateCdnRequest(request) ?? readinessResponse;
62
+ }
63
+ const fullEntry = await import("virtual:vinext-rsc-entry");
64
+ const render = () => fullEntry.default(request, cacheabilityContext, false, void 0, null, props.trustedPrerenderState);
65
+ let route;
66
+ let result;
67
+ let failure;
68
+ let failed = false;
69
+ try {
70
+ ({result, route} = await captureFrameworkRequestRoute(() => runWithExecutionContext(cacheabilityContext, render), (matchedRoute) => {
71
+ route = matchedRoute;
72
+ }));
73
+ } catch (error) {
74
+ console.error("[vinext] App response stage error:", error);
75
+ failed = true;
76
+ failure = error;
77
+ result = new Response("Internal Server Error", { status: 500 });
78
+ }
79
+ const serialized = serializeStaticFileSignalForTransport(result, props.staticFileSignalToken);
80
+ return attachFrameworkRequestRoute(failed ? attachFrameworkRequestError(serialized, failure) : clearFrameworkRequestError(serialized), route);
81
+ }
82
+ const render = () => rscHandler.handleResponseStage(request, cacheabilityContext, props, options);
83
+ return serializeResponseStageLinkProvenance(await runWithExecutionContext(cacheabilityContext, render));
84
+ });
85
+ }
86
+ //#endregion
87
+ export { handleResponseStage, invokeCacheFunction };
@@ -1,6 +1,7 @@
1
1
  import { NextI18nConfig } from "../config/next-config.js";
2
2
  import { ISRCacheEntry } from "./isr-cache.js";
3
- import { HeadersAccessPhase } from "../shims/headers.js";
3
+ import { HeadersAccessPhase } from "../shims/internal/headers-state.js";
4
+ import "../shims/headers.js";
4
5
  import { RouteHandlerMiddlewareContext } from "./app-route-handler-response.js";
5
6
  import { AppRouteDebugLogger, AppRouteDynamicUsageFn, AppRouteHandlerFunction, AppRouteParams, MarkAppRouteDynamicUsageFn, RouteHandlerCacheSetter } from "./app-route-handler-execution.js";
6
7
  //#region src/server/app-route-handler-cache.d.ts
@@ -42,6 +43,5 @@ type ReadAppRouteHandlerCacheOptions = {
42
43
  params: AppRouteParams;
43
44
  } | null) => void;
44
45
  };
45
- declare function readAppRouteHandlerCacheResponse(options: ReadAppRouteHandlerCacheOptions): Promise<Response | null>;
46
- //#endregion
47
- export { readAppRouteHandlerCacheResponse };
46
+ export declare function readAppRouteHandlerCacheResponse(options: ReadAppRouteHandlerCacheOptions): Promise<Response | null>;
47
+ //#endregion
@@ -1,8 +1,9 @@
1
- import { isrCacheControl } from "./isr-cache.js";
1
+ import { isrCacheControl, resolveRouteExpireSeconds } from "./isr-cache.js";
2
2
  import { makeThenableParams } from "../shims/thenable-params.js";
3
3
  import { applyRouteHandlerMiddlewareContext, assertSupportedAppRouteHandlerResponse, buildAppRouteCacheValue, buildRouteHandlerCachedResponse } from "./app-route-handler-response.js";
4
4
  import { markKnownDynamicAppRoute } from "./app-route-handler-runtime.js";
5
- import { runAppRouteHandler } from "./app-route-handler-execution.js";
5
+ import { resolveAppRouteHandlerSpecialError } from "./app-route-handler-policy.js";
6
+ import { completeAppRouteHandlerResponse, runAppRouteHandler, traceAppRouteHandlerExecution } from "./app-route-handler-execution.js";
6
7
  //#region src/server/app-route-handler-cache.ts
7
8
  const EMPTY_PARAMS = Object.freeze({});
8
9
  function getCachedAppRouteValue(entry) {
@@ -31,42 +32,57 @@ async function readAppRouteHandlerCacheResponse(options) {
31
32
  if (cached?.isStale && cachedValue) {
32
33
  const staleValue = cachedValue;
33
34
  const revalidateSearchParams = new URLSearchParams(options.revalidateSearchParams);
34
- options.scheduleBackgroundRegeneration(routeKey, async () => {
35
- await options.runInRevalidationContext(async () => {
36
- options.setNavigationContext({
37
- pathname: options.cleanPathname,
38
- searchParams: revalidateSearchParams,
39
- params: options.params ?? EMPTY_PARAMS
40
- });
41
- const { dynamicUsedInHandler, response } = await runAppRouteHandler({
42
- basePath: options.basePath,
43
- consumeDynamicUsage: options.consumeDynamicUsage,
44
- dynamicConfig: options.dynamicConfig,
45
- handlerFn: options.handlerFn,
46
- i18n: options.i18n,
47
- trailingSlash: options.trailingSlash,
48
- markDynamicUsage: options.markDynamicUsage,
49
- params: options.params === null ? null : makeThenableParams(options.params),
50
- request: new Request(options.requestUrl, { method: "GET" }),
51
- routePattern: options.routePattern,
52
- setHeadersAccessPhase: options.setHeadersAccessPhase
35
+ options.scheduleBackgroundRegeneration(routeKey, () => options.runInRevalidationContext(async () => {
36
+ options.setNavigationContext({
37
+ pathname: options.cleanPathname,
38
+ searchParams: revalidateSearchParams,
39
+ params: options.params ?? EMPTY_PARAMS
40
+ });
41
+ let tracedResult;
42
+ try {
43
+ tracedResult = await traceAppRouteHandlerExecution(options.routePattern, async () => {
44
+ try {
45
+ return { handlerResult: await runAppRouteHandler({
46
+ basePath: options.basePath,
47
+ consumeDynamicUsage: options.consumeDynamicUsage,
48
+ dynamicConfig: options.dynamicConfig,
49
+ handlerFn: options.handlerFn,
50
+ i18n: options.i18n,
51
+ trailingSlash: options.trailingSlash,
52
+ markDynamicUsage: options.markDynamicUsage,
53
+ params: options.params === null ? null : makeThenableParams(options.params),
54
+ request: new Request(options.requestUrl, { method: "GET" }),
55
+ routePattern: options.routePattern,
56
+ setHeadersAccessPhase: options.setHeadersAccessPhase
57
+ }) };
58
+ } catch (error) {
59
+ if (resolveAppRouteHandlerSpecialError(error, options.requestUrl)) return { specialError: error };
60
+ throw error;
61
+ }
53
62
  });
63
+ } finally {
54
64
  options.setNavigationContext(null);
55
- assertSupportedAppRouteHandlerResponse(response);
56
- if (dynamicUsedInHandler) {
57
- markKnownDynamicAppRoute(options.routePattern);
58
- options.isrDebug?.("route regen skipped (dynamic usage)", options.cleanPathname);
59
- return;
60
- }
61
- const routeTags = options.buildPageCacheTags(options.cleanPathname, options.getCollectedFetchTags());
62
- const routeCacheValue = await buildAppRouteCacheValue(response);
63
- await options.isrSet(routeKey, routeCacheValue, {
64
- cacheControl: isrCacheControl(options.revalidateSeconds, { expireSeconds: options.expireSeconds }),
65
- tags: routeTags
66
- });
67
- options.isrDebug?.("route regen complete", routeKey);
65
+ }
66
+ if ("specialError" in tracedResult) return;
67
+ const { dynamicUsedInHandler, response, didAccessDynamicRequest } = tracedResult.handlerResult;
68
+ assertSupportedAppRouteHandlerResponse(response);
69
+ const completed = await completeAppRouteHandlerResponse(response);
70
+ const lateDynamicUsage = options.consumeDynamicUsage();
71
+ const becameDynamic = dynamicUsedInHandler || lateDynamicUsage || didAccessDynamicRequest();
72
+ if (!completed.completed || becameDynamic || response.headers.has("set-cookie")) {
73
+ completed.response.body?.cancel().catch(() => {});
74
+ if (becameDynamic) markKnownDynamicAppRoute(options.routePattern);
75
+ options.isrDebug?.("route regen skipped (dynamic usage)", options.cleanPathname);
76
+ return;
77
+ }
78
+ const routeTags = options.buildPageCacheTags(options.cleanPathname, options.getCollectedFetchTags());
79
+ const routeCacheValue = await buildAppRouteCacheValue(completed.response, response.headers.get("Cache-Control") ?? void 0);
80
+ await options.isrSet(routeKey, routeCacheValue, {
81
+ cacheControl: isrCacheControl(options.revalidateSeconds === Infinity ? false : options.revalidateSeconds, { expireSeconds: resolveRouteExpireSeconds(options.revalidateSeconds, options.expireSeconds) }),
82
+ tags: routeTags
68
83
  });
69
- });
84
+ options.isrDebug?.("route regen complete", routeKey);
85
+ }));
70
86
  options.isrDebug?.("STALE (route)", options.cleanPathname);
71
87
  options.clearRequestContext();
72
88
  return applyRouteHandlerMiddlewareContext(buildRouteHandlerCachedResponse(staleValue, {
@@ -18,6 +18,7 @@ type RouteHandlerBackgroundRegenerationErrorContext = {
18
18
  type RouteHandlerBackgroundRegenerator = (key: string, renderFn: () => Promise<void>, errorContext?: RouteHandlerBackgroundRegenerationErrorContext) => void;
19
19
  type DispatchAppRouteHandlerOptions = {
20
20
  basePath?: string;
21
+ bypassSharedCache?: boolean;
21
22
  cleanPathname: string;
22
23
  clearRequestContext: () => void;
23
24
  draftModeSecret: string;
@@ -43,6 +44,5 @@ type DispatchAppRouteHandlerOptions = {
43
44
  scheduleBackgroundRegeneration: RouteHandlerBackgroundRegenerator;
44
45
  searchParams: URLSearchParams;
45
46
  };
46
- declare function dispatchAppRouteHandler(options: DispatchAppRouteHandlerOptions): Promise<Response>;
47
- //#endregion
48
- export { dispatchAppRouteHandler };
47
+ export declare function dispatchAppRouteHandler(options: DispatchAppRouteHandlerOptions): Promise<Response>;
48
+ //#endregion
@@ -1,20 +1,24 @@
1
1
  import { closeAfterResponse, createRequestContext, runWithRequestContext } from "../shims/unified-request-context.js";
2
+ import "../utils/protocol-headers.js";
2
3
  import { getRequestExecutionContext } from "../shims/request-context.js";
3
4
  import { reportRequestError } from "./instrumentation.js";
5
+ import { beginRouteCacheability, getRouteCacheabilityDynamicReason } from "../shims/cacheability-classification.js";
4
6
  import { applyCdnResponseBuildIdentityHeaders } from "./cache-control.js";
5
- import { consumeDynamicUsage, getActiveDraftModeState, getAndClearPendingCookies, getDraftModeCookieHeader, isDraftModeRequest, markDynamicUsage, setHeadersAccessPhase } from "../shims/headers.js";
7
+ import { isOnDemandRevalidateRequest } from "./revalidation-request.js";
8
+ import { markDynamicUsage } from "../shims/internal/headers-state.js";
9
+ import { consumeDynamicUsage, getActiveDraftModeState, getAndClearPendingCookies, getDraftModeCookieHeader, isDraftModeRequest, setHeadersAccessPhase } from "../shims/headers.js";
6
10
  import { _drainPendingRevalidations } from "../shims/cache-request-state.js";
7
11
  import { ensureFetchPatch, getCollectedFetchTags, setCurrentFetchCacheMode, setCurrentFetchRevalidate, setCurrentFetchSoftTags, setCurrentForceDynamicFetchDefault } from "../shims/fetch-cache.js";
8
12
  import { setNavigationContext } from "../shims/navigation-context-state.js";
9
13
  import { makeThenableParams } from "../shims/thenable-params.js";
10
- import { beginRouteCacheability, getRouteCacheabilityDynamicReason } from "../shims/cacheability-classification.js";
14
+ import { traceResponseStart } from "./response-start-tracing.js";
11
15
  import { buildPageCacheTags } from "./implicit-tags.js";
12
16
  import { applyRouteHandlerMiddlewareContext, finalizeRouteHandlerResponse } from "./app-route-handler-response.js";
13
17
  import { resolveAppRouteHandlerFetchCacheMode } from "./app-segment-config.js";
14
18
  import "../shims/navigation.js";
15
19
  import { isKnownDynamicAppRoute, isValidHTTPMethod } from "./app-route-handler-runtime.js";
16
- import { createStaticGenerationHeadersContext } from "./app-static-generation.js";
17
20
  import { getAppRouteHandlerRevalidateSeconds, hasAppRouteHandlerDefaultExport, hasNonStaticAppRouteHandlerMethods, resolveAppRouteHandlerMethod, shouldReadAppRouteHandlerCache } from "./app-route-handler-policy.js";
21
+ import { createStaticGenerationHeadersContext } from "./app-static-generation.js";
18
22
  import { applyDraftModeCachePolicy, executeAppRouteHandler } from "./app-route-handler-execution.js";
19
23
  import { readAppRouteHandlerCacheResponse } from "./app-route-handler-cache.js";
20
24
  //#region src/server/app-route-handler-dispatch.ts
@@ -25,14 +29,15 @@ function buildRouteHandlerPageCacheTags(pathname, extraTags, routeSegments) {
25
29
  return buildPageCacheTags(pathname, extraTags, routeSegments, "route");
26
30
  }
27
31
  async function runInRouteHandlerRevalidationContext(options, renderFn) {
32
+ const headersContext = createStaticGenerationHeadersContext({
33
+ draftModeEnabled: false,
34
+ draftModeSecret: options.draftModeSecret,
35
+ dynamicConfig: options.dynamicConfig,
36
+ routeKind: "route",
37
+ routePattern: options.routePattern
38
+ });
28
39
  const requestContext = createRequestContext({
29
- headersContext: createStaticGenerationHeadersContext({
30
- draftModeEnabled: false,
31
- draftModeSecret: options.draftModeSecret,
32
- dynamicConfig: options.dynamicConfig,
33
- routeKind: "route",
34
- routePattern: options.routePattern
35
- }),
40
+ headersContext,
36
41
  executionContext: getRequestExecutionContext(),
37
42
  unstableCacheRevalidation: "foreground"
38
43
  });
@@ -55,6 +60,9 @@ async function runInRouteHandlerRevalidationContext(options, renderFn) {
55
60
  }
56
61
  }
57
62
  async function dispatchAppRouteHandler(options) {
63
+ return traceResponseStart(await dispatchAppRouteHandlerImpl(options));
64
+ }
65
+ async function dispatchAppRouteHandlerImpl(options) {
58
66
  const { route } = options;
59
67
  const handler = route.routeHandler;
60
68
  const method = options.request.method.toUpperCase();
@@ -84,11 +92,7 @@ async function dispatchAppRouteHandler(options) {
84
92
  headers: { Allow: allowHeaderForOptions }
85
93
  }));
86
94
  const resolvedHandlerFn = isAppRouteHandlerFunction(handlerFn) ? handlerFn : void 0;
87
- const fetchCacheMode = resolveAppRouteHandlerFetchCacheMode(handler);
88
- setCurrentFetchCacheMode(fetchCacheMode);
89
- setCurrentFetchRevalidate(configuredRevalidateSeconds);
90
- setCurrentForceDynamicFetchDefault(handler.dynamic === "force-dynamic");
91
- if (revalidateSeconds !== null && !getRouteCacheabilityDynamicReason() && shouldReadAppRouteHandlerCache({
95
+ const shouldReadRouteCache = options.bypassSharedCache !== true && revalidateSeconds !== null && !getRouteCacheabilityDynamicReason() && shouldReadAppRouteHandlerCache({
92
96
  dynamicConfig: handler.dynamic,
93
97
  handlerFn: resolvedHandlerFn,
94
98
  isAutoHead,
@@ -97,7 +101,14 @@ async function dispatchAppRouteHandler(options) {
97
101
  isProduction,
98
102
  method,
99
103
  revalidateSeconds
100
- }) && resolvedHandlerFn) {
104
+ });
105
+ const revalidateReason = isOnDemandRevalidateRequest(options.request.headers.get("x-prerender-revalidate")) ? "on-demand" : shouldReadRouteCache && revalidateSeconds !== Infinity ? "stale" : void 0;
106
+ const fetchCacheMode = resolveAppRouteHandlerFetchCacheMode(handler);
107
+ setCurrentFetchCacheMode(fetchCacheMode);
108
+ setCurrentFetchRevalidate(configuredRevalidateSeconds);
109
+ setCurrentForceDynamicFetchDefault(handler.dynamic === "force-dynamic");
110
+ let isRevalidation = false;
111
+ if (shouldReadRouteCache && resolvedHandlerFn) {
101
112
  const cachedRouteResponse = await readAppRouteHandlerCacheResponse({
102
113
  basePath: options.basePath,
103
114
  buildPageCacheTags(pathname, extraTags) {
@@ -114,7 +125,11 @@ async function dispatchAppRouteHandler(options) {
114
125
  isAutoHead,
115
126
  appendResponseLink,
116
127
  isrDebug: options.isrDebug,
117
- isrGet: options.isrGet,
128
+ async isrGet(key) {
129
+ const entry = await options.isrGet(key);
130
+ isRevalidation = entry?.value.value?.kind === "APP_ROUTE";
131
+ return entry;
132
+ },
118
133
  isrRouteKey: options.isrRouteKey,
119
134
  isrSet: options.isrSet,
120
135
  markDynamicUsage,
@@ -148,45 +163,51 @@ async function dispatchAppRouteHandler(options) {
148
163
  });
149
164
  if (cachedRouteResponse) return applyCdnResponseBuildIdentityHeaders(cachedRouteResponse);
150
165
  }
151
- if (resolvedHandlerFn) return applyCdnResponseBuildIdentityHeaders(await executeAppRouteHandler({
152
- basePath: options.basePath,
153
- buildPageCacheTags(pathname, extraTags) {
154
- return buildRouteHandlerPageCacheTags(pathname, extraTags, route.routeSegments);
155
- },
156
- cleanPathname: options.cleanPathname,
157
- clearRequestContext: options.clearRequestContext,
158
- consumeDynamicUsage,
159
- draftModeSecret: options.draftModeSecret,
160
- executionContext: getRequestExecutionContext(),
161
- getAndClearPendingCookies,
162
- getCollectedFetchTags,
163
- getActiveDraftModeState,
164
- getDraftModeCookieHeader,
165
- handler,
166
- handlerFn: resolvedHandlerFn,
167
- i18n: options.i18n,
168
- trailingSlash: options.trailingSlash,
169
- isAutoHead,
170
- initialDraftModeCookie,
171
- isDraftMode,
172
- isProduction,
173
- isrDebug: options.isrDebug,
174
- isrRouteKey: options.isrRouteKey,
175
- isrSet: options.isrSet,
176
- markDynamicUsage,
177
- method,
178
- middlewareContext: options.middlewareContext,
179
- middlewareRequestHeaders: options.middlewareRequestHeaders,
180
- params: options.params === null ? null : makeThenableParams(options.params),
181
- reportRequestError(error, request, context) {
182
- reportRequestError(error, request, context);
183
- },
184
- request: options.request,
185
- expireSeconds: options.expireSeconds,
186
- revalidateSeconds,
187
- routePattern: route.pattern,
188
- setHeadersAccessPhase
189
- }));
166
+ if (resolvedHandlerFn) {
167
+ const response = await executeAppRouteHandler({
168
+ isRevalidation,
169
+ basePath: options.basePath,
170
+ bypassSharedCache: options.bypassSharedCache,
171
+ buildPageCacheTags(pathname, extraTags) {
172
+ return buildRouteHandlerPageCacheTags(pathname, extraTags, route.routeSegments);
173
+ },
174
+ cleanPathname: options.cleanPathname,
175
+ clearRequestContext: options.clearRequestContext,
176
+ consumeDynamicUsage,
177
+ draftModeSecret: options.draftModeSecret,
178
+ executionContext: getRequestExecutionContext(),
179
+ getAndClearPendingCookies,
180
+ getCollectedFetchTags,
181
+ getActiveDraftModeState,
182
+ getDraftModeCookieHeader,
183
+ handler,
184
+ handlerFn: resolvedHandlerFn,
185
+ i18n: options.i18n,
186
+ trailingSlash: options.trailingSlash,
187
+ isAutoHead,
188
+ initialDraftModeCookie,
189
+ isDraftMode,
190
+ isProduction,
191
+ isrDebug: options.isrDebug,
192
+ isrRouteKey: options.isrRouteKey,
193
+ isrSet: options.isrSet,
194
+ markDynamicUsage,
195
+ method,
196
+ middlewareContext: options.middlewareContext,
197
+ middlewareRequestHeaders: options.middlewareRequestHeaders,
198
+ params: options.params === null ? null : makeThenableParams(options.params),
199
+ reportRequestError(error, request, context) {
200
+ return reportRequestError(error, request, context);
201
+ },
202
+ request: options.request,
203
+ expireSeconds: options.expireSeconds,
204
+ revalidateSeconds,
205
+ revalidateReason,
206
+ routePattern: route.pattern,
207
+ setHeadersAccessPhase
208
+ });
209
+ return applyCdnResponseBuildIdentityHeaders(response);
210
+ }
190
211
  return finalizeFrameworkResponse(new Response(null, { status: 405 }));
191
212
  }
192
213
  //#endregion