vinext 1.0.0-beta.8 → 1.0.0

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