vinext 0.0.55 → 0.1.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 (1001) hide show
  1. package/README.md +51 -15
  2. package/dist/build/assets-ignore.d.ts +32 -0
  3. package/dist/build/assets-ignore.js +48 -0
  4. package/dist/build/clean-output.d.ts +1 -2
  5. package/dist/build/clean-output.js +0 -2
  6. package/dist/build/client-build-config.d.ts +42 -3
  7. package/dist/build/client-build-config.js +86 -4
  8. package/dist/build/css-url-assets.d.ts +29 -0
  9. package/dist/build/css-url-assets.js +211 -0
  10. package/dist/build/google-fonts/build-url.d.ts +1 -2
  11. package/dist/build/google-fonts/build-url.js +0 -2
  12. package/dist/build/google-fonts/fallback-metrics-data.js +0 -2
  13. package/dist/build/google-fonts/fallback-metrics.d.ts +1 -2
  14. package/dist/build/google-fonts/fallback-metrics.js +0 -2
  15. package/dist/build/google-fonts/font-data.js +0 -2
  16. package/dist/build/google-fonts/font-metadata.d.ts +1 -2
  17. package/dist/build/google-fonts/font-metadata.js +0 -2
  18. package/dist/build/google-fonts/get-axes.d.ts +1 -2
  19. package/dist/build/google-fonts/get-axes.js +0 -2
  20. package/dist/build/google-fonts/sort-variants.d.ts +1 -2
  21. package/dist/build/google-fonts/sort-variants.js +0 -2
  22. package/dist/build/google-fonts/validate.d.ts +1 -2
  23. package/dist/build/google-fonts/validate.js +0 -2
  24. package/dist/build/inline-css.d.ts +1 -2
  25. package/dist/build/inline-css.js +0 -2
  26. package/dist/build/layout-classification-types.d.ts +1 -2
  27. package/dist/build/layout-classification.d.ts +2 -3
  28. package/dist/build/layout-classification.js +1 -3
  29. package/dist/build/next-client-runtime-manifests.d.ts +14 -0
  30. package/dist/build/next-client-runtime-manifests.js +39 -0
  31. package/dist/build/nitro-route-rules.d.ts +1 -2
  32. package/dist/build/nitro-route-rules.js +0 -2
  33. package/dist/build/precompress.d.ts +1 -2
  34. package/dist/build/precompress.js +0 -2
  35. package/dist/build/prerender.d.ts +2 -3
  36. package/dist/build/prerender.js +14 -2
  37. package/dist/build/report.d.ts +1 -2
  38. package/dist/build/report.js +0 -2
  39. package/dist/build/route-classification-injector.d.ts +1 -2
  40. package/dist/build/route-classification-injector.js +4 -6
  41. package/dist/build/route-classification-manifest.d.ts +5 -6
  42. package/dist/build/route-classification-manifest.js +5 -7
  43. package/dist/build/run-prerender.d.ts +1 -2
  44. package/dist/build/run-prerender.js +15 -7
  45. package/dist/build/server-manifest.d.ts +1 -2
  46. package/dist/build/server-manifest.js +0 -2
  47. package/dist/build/ssr-manifest.d.ts +1 -2
  48. package/dist/build/ssr-manifest.js +2 -4
  49. package/dist/build/standalone.d.ts +1 -2
  50. package/dist/build/standalone.js +0 -2
  51. package/dist/build/static-export.d.ts +2 -3
  52. package/dist/build/static-export.js +0 -2
  53. package/dist/cache/cache-adapters-virtual.d.ts +50 -0
  54. package/dist/cache/cache-adapters-virtual.js +45 -0
  55. package/dist/check.d.ts +33 -2
  56. package/dist/check.js +306 -24
  57. package/dist/cli-args.d.ts +1 -2
  58. package/dist/cli-args.js +0 -2
  59. package/dist/cli.js +9 -13
  60. package/dist/client/instrumentation-client-inject.d.ts +1 -2
  61. package/dist/client/instrumentation-client-inject.js +0 -2
  62. package/dist/client/instrumentation-client-state.d.ts +1 -2
  63. package/dist/client/instrumentation-client-state.js +0 -2
  64. package/dist/client/instrumentation-client.d.ts +1 -2
  65. package/dist/client/instrumentation-client.js +0 -2
  66. package/dist/client/navigation-runtime.d.ts +9 -2
  67. package/dist/client/navigation-runtime.js +1 -3
  68. package/dist/client/pages-router-link-navigation.d.ts +1 -2
  69. package/dist/client/pages-router-link-navigation.js +0 -2
  70. package/dist/client/validate-module-path.d.ts +1 -2
  71. package/dist/client/validate-module-path.js +0 -2
  72. package/dist/client/vinext-next-data.d.ts +3 -3
  73. package/dist/client/vinext-next-data.js +0 -2
  74. package/dist/client/window-next.d.ts +1 -2
  75. package/dist/client/window-next.js +0 -2
  76. package/dist/cloudflare/index.d.ts +1 -1
  77. package/dist/cloudflare/index.js +1 -1
  78. package/dist/cloudflare/src/cache/cdn-adapter.runtime.js +97 -0
  79. package/dist/cloudflare/{kv-cache-handler.d.ts → src/cache/kv-data-adapter.runtime.d.ts} +25 -6
  80. package/dist/cloudflare/{kv-cache-handler.js → src/cache/kv-data-adapter.runtime.js} +36 -28
  81. package/dist/cloudflare/src/utils/cache-control-metadata.js +20 -0
  82. package/dist/cloudflare/tpr.d.ts +2 -3
  83. package/dist/cloudflare/tpr.js +8 -8
  84. package/dist/config/config-matchers.d.ts +20 -2
  85. package/dist/config/config-matchers.js +35 -3
  86. package/dist/config/dotenv.d.ts +1 -2
  87. package/dist/config/dotenv.js +0 -2
  88. package/dist/config/next-config.d.ts +32 -5
  89. package/dist/config/next-config.js +53 -6
  90. package/dist/config/tsconfig-paths.d.ts +1 -2
  91. package/dist/config/tsconfig-paths.js +3 -7
  92. package/dist/deploy.d.ts +48 -3
  93. package/dist/deploy.js +180 -415
  94. package/dist/entries/app-browser-entry.d.ts +1 -2
  95. package/dist/entries/app-browser-entry.js +0 -2
  96. package/dist/entries/app-rsc-entry.d.ts +12 -6
  97. package/dist/entries/app-rsc-entry.js +101 -62
  98. package/dist/entries/app-rsc-manifest.d.ts +1 -2
  99. package/dist/entries/app-rsc-manifest.js +40 -9
  100. package/dist/entries/app-ssr-entry.d.ts +1 -2
  101. package/dist/entries/app-ssr-entry.js +0 -2
  102. package/dist/entries/pages-client-entry.d.ts +3 -3
  103. package/dist/entries/pages-client-entry.js +16 -5
  104. package/dist/entries/pages-entry-helpers.d.ts +2 -11
  105. package/dist/entries/pages-entry-helpers.js +1 -20
  106. package/dist/entries/pages-server-entry.d.ts +2 -3
  107. package/dist/entries/pages-server-entry.js +98 -703
  108. package/dist/entries/runtime-entry-module.d.ts +1 -2
  109. package/dist/entries/runtime-entry-module.js +0 -2
  110. package/dist/index.d.ts +22 -2
  111. package/dist/index.js +376 -316
  112. package/dist/init.d.ts +1 -2
  113. package/dist/init.js +1 -3
  114. package/dist/plugins/ast-utils.d.ts +20 -0
  115. package/dist/plugins/ast-utils.js +78 -0
  116. package/dist/plugins/async-hooks-stub.d.ts +1 -2
  117. package/dist/plugins/async-hooks-stub.js +0 -2
  118. package/dist/plugins/client-reference-dedup.d.ts +1 -2
  119. package/dist/plugins/client-reference-dedup.js +4 -8
  120. package/dist/plugins/css-data-url.d.ts +1 -2
  121. package/dist/plugins/css-data-url.js +0 -2
  122. package/dist/plugins/fonts.d.ts +13 -3
  123. package/dist/plugins/fonts.js +19 -13
  124. package/dist/plugins/import-meta-url.d.ts +2 -2
  125. package/dist/plugins/import-meta-url.js +187 -33
  126. package/dist/plugins/instrumentation-client.d.ts +1 -2
  127. package/dist/plugins/instrumentation-client.js +0 -2
  128. package/dist/plugins/middleware-server-only.d.ts +1 -2
  129. package/dist/plugins/middleware-server-only.js +0 -2
  130. package/dist/plugins/og-assets.d.ts +32 -8
  131. package/dist/plugins/og-assets.js +126 -34
  132. package/dist/plugins/optimize-imports.d.ts +1 -2
  133. package/dist/plugins/optimize-imports.js +9 -17
  134. package/dist/plugins/postcss.d.ts +1 -2
  135. package/dist/plugins/postcss.js +18 -16
  136. package/dist/plugins/remove-console.d.ts +1 -2
  137. package/dist/plugins/remove-console.js +0 -2
  138. package/dist/plugins/require-context.d.ts +6 -0
  139. package/dist/plugins/require-context.js +184 -0
  140. package/dist/plugins/rsc-client-reference-loaders.d.ts +1 -2
  141. package/dist/plugins/rsc-client-reference-loaders.js +0 -2
  142. package/dist/plugins/rsc-client-shim-excludes.d.ts +1 -2
  143. package/dist/plugins/rsc-client-shim-excludes.js +0 -2
  144. package/dist/plugins/sass.d.ts +1 -2
  145. package/dist/plugins/sass.js +0 -2
  146. package/dist/plugins/server-externals-manifest.d.ts +1 -2
  147. package/dist/plugins/server-externals-manifest.js +0 -2
  148. package/dist/plugins/strip-server-exports.d.ts +1 -2
  149. package/dist/plugins/strip-server-exports.js +0 -2
  150. package/dist/routing/app-route-graph.d.ts +14 -10
  151. package/dist/routing/app-route-graph.js +146 -35
  152. package/dist/routing/app-router.d.ts +1 -2
  153. package/dist/routing/app-router.js +0 -2
  154. package/dist/routing/file-matcher.d.ts +6 -2
  155. package/dist/routing/file-matcher.js +15 -7
  156. package/dist/routing/pages-router.d.ts +1 -2
  157. package/dist/routing/pages-router.js +0 -2
  158. package/dist/routing/route-matching.d.ts +1 -2
  159. package/dist/routing/route-matching.js +0 -2
  160. package/dist/routing/route-pattern.d.ts +2 -2
  161. package/dist/routing/route-pattern.js +16 -3
  162. package/dist/routing/route-trie.d.ts +1 -2
  163. package/dist/routing/route-trie.js +0 -2
  164. package/dist/routing/route-validation.d.ts +1 -2
  165. package/dist/routing/route-validation.js +0 -2
  166. package/dist/routing/utils.d.ts +44 -2
  167. package/dist/routing/utils.js +62 -3
  168. package/dist/server/api-handler.d.ts +1 -2
  169. package/dist/server/api-handler.js +4 -2
  170. package/dist/server/app-bfcache-id.d.ts +5 -0
  171. package/dist/server/app-bfcache-id.js +5 -0
  172. package/dist/server/app-browser-action-result.d.ts +1 -2
  173. package/dist/server/app-browser-action-result.js +0 -2
  174. package/dist/server/app-browser-client-reuse-manifest.d.ts +12 -0
  175. package/dist/server/app-browser-client-reuse-manifest.js +101 -0
  176. package/dist/server/app-browser-entry.js +244 -88
  177. package/dist/server/app-browser-error.d.ts +1 -2
  178. package/dist/server/app-browser-error.js +0 -2
  179. package/dist/server/app-browser-hydration.d.ts +1 -2
  180. package/dist/server/app-browser-hydration.js +0 -2
  181. package/dist/server/app-browser-interception-context.d.ts +2 -2
  182. package/dist/server/app-browser-interception-context.js +15 -4
  183. package/dist/server/app-browser-mpa-navigation.d.ts +2 -2
  184. package/dist/server/app-browser-mpa-navigation.js +9 -3
  185. package/dist/server/app-browser-navigation-controller.d.ts +15 -4
  186. package/dist/server/app-browser-navigation-controller.js +80 -4
  187. package/dist/server/app-browser-popstate.d.ts +12 -4
  188. package/dist/server/app-browser-popstate.js +19 -6
  189. package/dist/server/app-browser-rsc-redirect.d.ts +1 -2
  190. package/dist/server/app-browser-rsc-redirect.js +0 -2
  191. package/dist/server/app-browser-state.d.ts +31 -4
  192. package/dist/server/app-browser-state.js +196 -10
  193. package/dist/server/app-browser-stream.d.ts +1 -2
  194. package/dist/server/app-browser-stream.js +0 -2
  195. package/dist/server/app-browser-visible-commit.d.ts +2 -3
  196. package/dist/server/app-browser-visible-commit.js +30 -21
  197. package/dist/server/app-client-reference-preloader.d.ts +1 -2
  198. package/dist/server/app-client-reference-preloader.js +0 -2
  199. package/dist/server/app-elements-wire.d.ts +14 -8
  200. package/dist/server/app-elements-wire.js +45 -24
  201. package/dist/server/app-elements.d.ts +2 -3
  202. package/dist/server/app-elements.js +2 -4
  203. package/dist/server/app-fallback-renderer.d.ts +5 -5
  204. package/dist/server/app-fallback-renderer.js +4 -3
  205. package/dist/server/app-history-state.d.ts +62 -2
  206. package/dist/server/app-history-state.js +176 -10
  207. package/dist/server/app-hook-warning-suppression.d.ts +1 -2
  208. package/dist/server/app-hook-warning-suppression.js +0 -2
  209. package/dist/server/app-inline-css-client.d.ts +1 -2
  210. package/dist/server/app-inline-css-client.js +0 -2
  211. package/dist/server/app-interception-context-header.d.ts +1 -2
  212. package/dist/server/app-interception-context-header.js +0 -2
  213. package/dist/server/app-layout-param-observation.d.ts +15 -2
  214. package/dist/server/app-layout-param-observation.js +46 -8
  215. package/dist/server/app-middleware.d.ts +1 -2
  216. package/dist/server/app-middleware.js +0 -2
  217. package/dist/server/app-mounted-slots-header.d.ts +1 -2
  218. package/dist/server/app-mounted-slots-header.js +0 -2
  219. package/dist/server/app-optimistic-routing.d.ts +1 -2
  220. package/dist/server/app-optimistic-routing.js +0 -2
  221. package/dist/server/app-page-boundary-render.d.ts +4 -3
  222. package/dist/server/app-page-boundary-render.js +59 -28
  223. package/dist/server/app-page-boundary.d.ts +11 -2
  224. package/dist/server/app-page-boundary.js +13 -4
  225. package/dist/server/app-page-cache.d.ts +3 -3
  226. package/dist/server/app-page-cache.js +36 -11
  227. package/dist/server/app-page-dispatch.d.ts +25 -5
  228. package/dist/server/app-page-dispatch.js +122 -25
  229. package/dist/server/app-page-element-builder.d.ts +4 -2
  230. package/dist/server/app-page-element-builder.js +31 -21
  231. package/dist/server/app-page-execution.d.ts +8 -3
  232. package/dist/server/app-page-execution.js +55 -24
  233. package/dist/server/app-page-head.d.ts +1 -2
  234. package/dist/server/app-page-head.js +6 -6
  235. package/dist/server/app-page-method.d.ts +1 -2
  236. package/dist/server/app-page-method.js +0 -2
  237. package/dist/server/app-page-params.d.ts +1 -2
  238. package/dist/server/app-page-params.js +0 -2
  239. package/dist/server/app-page-probe.d.ts +79 -2
  240. package/dist/server/app-page-probe.js +89 -9
  241. package/dist/server/app-page-render-identity.d.ts +1 -2
  242. package/dist/server/app-page-render-identity.js +0 -2
  243. package/dist/server/app-page-render-observation.d.ts +1 -2
  244. package/dist/server/app-page-render-observation.js +0 -2
  245. package/dist/server/app-page-render.d.ts +15 -3
  246. package/dist/server/app-page-render.js +171 -12
  247. package/dist/server/app-page-request.d.ts +12 -9
  248. package/dist/server/app-page-request.js +12 -11
  249. package/dist/server/app-page-response.d.ts +4 -4
  250. package/dist/server/app-page-response.js +6 -4
  251. package/dist/server/app-page-route-wiring.d.ts +14 -3
  252. package/dist/server/app-page-route-wiring.js +65 -12
  253. package/dist/server/app-page-search-params-observation.d.ts +10 -0
  254. package/dist/server/app-page-search-params-observation.js +20 -0
  255. package/dist/server/app-page-segment-state.d.ts +1 -2
  256. package/dist/server/app-page-segment-state.js +1 -8
  257. package/dist/server/app-page-stream.d.ts +54 -9
  258. package/dist/server/app-page-stream.js +61 -10
  259. package/dist/server/app-pages-bridge.d.ts +41 -0
  260. package/dist/server/app-pages-bridge.js +54 -0
  261. package/dist/server/app-post-middleware-context.d.ts +1 -2
  262. package/dist/server/app-post-middleware-context.js +0 -2
  263. package/dist/server/app-ppr-fallback-shell.d.ts +21 -0
  264. package/dist/server/app-ppr-fallback-shell.js +82 -0
  265. package/dist/server/app-prerender-endpoints.d.ts +1 -2
  266. package/dist/server/app-prerender-endpoints.js +0 -2
  267. package/dist/server/app-prerender-static-params.d.ts +15 -2
  268. package/dist/server/app-prerender-static-params.js +44 -13
  269. package/dist/server/app-render-dependency.d.ts +3 -2
  270. package/dist/server/app-render-dependency.js +9 -3
  271. package/dist/server/app-request-context.d.ts +1 -2
  272. package/dist/server/app-request-context.js +0 -2
  273. package/dist/server/app-route-handler-cache.d.ts +2 -2
  274. package/dist/server/app-route-handler-cache.js +1 -2
  275. package/dist/server/app-route-handler-dispatch.d.ts +2 -2
  276. package/dist/server/app-route-handler-dispatch.js +2 -2
  277. package/dist/server/app-route-handler-execution.d.ts +2 -2
  278. package/dist/server/app-route-handler-execution.js +3 -4
  279. package/dist/server/app-route-handler-policy.d.ts +1 -2
  280. package/dist/server/app-route-handler-policy.js +0 -2
  281. package/dist/server/app-route-handler-response.d.ts +2 -3
  282. package/dist/server/app-route-handler-response.js +7 -6
  283. package/dist/server/app-route-handler-runtime.d.ts +2 -2
  284. package/dist/server/app-route-handler-runtime.js +3 -4
  285. package/dist/server/app-route-module-loader.d.ts +43 -0
  286. package/dist/server/app-route-module-loader.js +32 -0
  287. package/dist/server/app-router-entry.d.ts +1 -2
  288. package/dist/server/app-router-entry.js +2 -2
  289. package/dist/server/app-rsc-cache-busting.d.ts +10 -2
  290. package/dist/server/app-rsc-cache-busting.js +13 -4
  291. package/dist/server/app-rsc-embedded-chunks.d.ts +1 -2
  292. package/dist/server/app-rsc-embedded-chunks.js +0 -2
  293. package/dist/server/app-rsc-error-handler.d.ts +1 -2
  294. package/dist/server/app-rsc-error-handler.js +0 -2
  295. package/dist/server/app-rsc-errors.d.ts +1 -2
  296. package/dist/server/app-rsc-errors.js +0 -2
  297. package/dist/server/app-rsc-handler.d.ts +17 -2
  298. package/dist/server/app-rsc-handler.js +24 -15
  299. package/dist/server/app-rsc-render-mode.d.ts +1 -2
  300. package/dist/server/app-rsc-render-mode.js +0 -2
  301. package/dist/server/app-rsc-request-normalization.d.ts +4 -5
  302. package/dist/server/app-rsc-request-normalization.js +2 -4
  303. package/dist/server/app-rsc-response-finalizer.d.ts +1 -2
  304. package/dist/server/app-rsc-response-finalizer.js +2 -2
  305. package/dist/server/app-rsc-route-matching.d.ts +20 -2
  306. package/dist/server/app-rsc-route-matching.js +29 -6
  307. package/dist/server/app-segment-config.d.ts +4 -2
  308. package/dist/server/app-segment-config.js +8 -2
  309. package/dist/server/app-server-action-execution.d.ts +18 -3
  310. package/dist/server/app-server-action-execution.js +75 -18
  311. package/dist/server/app-ssr-entry.d.ts +11 -4
  312. package/dist/server/app-ssr-entry.js +47 -15
  313. package/dist/server/app-ssr-error-meta.d.ts +1 -2
  314. package/dist/server/app-ssr-error-meta.js +0 -2
  315. package/dist/server/app-ssr-stream.d.ts +1 -2
  316. package/dist/server/app-ssr-stream.js +31 -3
  317. package/dist/server/app-static-generation.d.ts +1 -2
  318. package/dist/server/app-static-generation.js +0 -2
  319. package/dist/server/app-visited-response-cache.d.ts +23 -0
  320. package/dist/server/app-visited-response-cache.js +19 -0
  321. package/dist/server/artifact-compatibility.d.ts +1 -2
  322. package/dist/server/artifact-compatibility.js +2 -6
  323. package/dist/server/cache-control.d.ts +15 -2
  324. package/dist/server/cache-control.js +21 -3
  325. package/dist/server/cache-headers.d.ts +1 -2
  326. package/dist/server/cache-headers.js +0 -2
  327. package/dist/server/cache-proof.d.ts +1 -2
  328. package/dist/server/cache-proof.js +0 -2
  329. package/dist/server/client-reuse-manifest.d.ts +3 -3
  330. package/dist/server/client-reuse-manifest.js +6 -10
  331. package/dist/server/client-trace-metadata.d.ts +1 -2
  332. package/dist/server/client-trace-metadata.js +0 -2
  333. package/dist/server/cookie-utils.d.ts +1 -2
  334. package/dist/server/cookie-utils.js +0 -2
  335. package/dist/server/csp.d.ts +1 -2
  336. package/dist/server/csp.js +0 -2
  337. package/dist/server/default-global-error-module.d.ts +1 -2
  338. package/dist/server/default-global-error-module.js +0 -2
  339. package/dist/server/default-not-found-module.d.ts +1 -2
  340. package/dist/server/default-not-found-module.js +0 -2
  341. package/dist/server/dev-error-overlay-store.d.ts +20 -4
  342. package/dist/server/dev-error-overlay-store.js +23 -4
  343. package/dist/server/dev-error-overlay.d.ts +39 -3
  344. package/dist/server/dev-error-overlay.js +952 -164
  345. package/dist/server/dev-initial-server-error.d.ts +9 -0
  346. package/dist/server/dev-initial-server-error.js +26 -0
  347. package/dist/server/dev-lockfile.d.ts +1 -2
  348. package/dist/server/dev-lockfile.js +0 -2
  349. package/dist/server/dev-module-runner.d.ts +1 -2
  350. package/dist/server/dev-module-runner.js +0 -2
  351. package/dist/server/dev-origin-check.d.ts +1 -2
  352. package/dist/server/dev-origin-check.js +0 -2
  353. package/dist/server/dev-route-files.d.ts +1 -2
  354. package/dist/server/dev-route-files.js +0 -2
  355. package/dist/server/dev-server.d.ts +3 -4
  356. package/dist/server/dev-server.js +129 -49
  357. package/dist/server/dev-stack-sourcemap-endpoint.d.ts +4 -0
  358. package/dist/server/dev-stack-sourcemap-endpoint.js +4 -0
  359. package/dist/server/dev-stack-sourcemap.d.ts +43 -0
  360. package/dist/server/dev-stack-sourcemap.js +443 -0
  361. package/dist/server/document-initial-head.d.ts +1 -2
  362. package/dist/server/document-initial-head.js +0 -2
  363. package/dist/server/edge-api-runtime.d.ts +1 -2
  364. package/dist/server/edge-api-runtime.js +0 -2
  365. package/dist/server/file-based-metadata.d.ts +1 -2
  366. package/dist/server/file-based-metadata.js +0 -2
  367. package/dist/server/headers.d.ts +3 -2
  368. package/dist/server/headers.js +3 -3
  369. package/dist/server/html.d.ts +1 -2
  370. package/dist/server/html.js +0 -2
  371. package/dist/server/http-error-responses.d.ts +1 -2
  372. package/dist/server/http-error-responses.js +0 -2
  373. package/dist/server/image-optimization.d.ts +1 -2
  374. package/dist/server/image-optimization.js +0 -2
  375. package/dist/server/implicit-tags.d.ts +1 -2
  376. package/dist/server/implicit-tags.js +0 -2
  377. package/dist/server/instrumentation-runtime.d.ts +1 -2
  378. package/dist/server/instrumentation-runtime.js +0 -2
  379. package/dist/server/instrumentation.d.ts +1 -2
  380. package/dist/server/instrumentation.js +0 -2
  381. package/dist/server/isr-cache.d.ts +46 -3
  382. package/dist/server/isr-cache.js +93 -24
  383. package/dist/server/metadata-route-build-data.d.ts +1 -2
  384. package/dist/server/metadata-route-build-data.js +0 -2
  385. package/dist/server/metadata-route-response.d.ts +1 -2
  386. package/dist/server/metadata-route-response.js +0 -2
  387. package/dist/server/metadata-routes.d.ts +1 -2
  388. package/dist/server/metadata-routes.js +0 -2
  389. package/dist/server/middleware-matcher.d.ts +1 -2
  390. package/dist/server/middleware-matcher.js +0 -2
  391. package/dist/server/middleware-request-headers.d.ts +1 -2
  392. package/dist/server/middleware-request-headers.js +0 -2
  393. package/dist/server/middleware-response-headers.d.ts +1 -2
  394. package/dist/server/middleware-response-headers.js +0 -2
  395. package/dist/server/middleware-runtime.d.ts +1 -2
  396. package/dist/server/middleware-runtime.js +14 -5
  397. package/dist/server/middleware.d.ts +2 -3
  398. package/dist/server/middleware.js +0 -2
  399. package/dist/server/navigation-planner.d.ts +16 -2
  400. package/dist/server/navigation-planner.js +6 -6
  401. package/dist/server/navigation-trace.d.ts +1 -2
  402. package/dist/server/navigation-trace.js +0 -2
  403. package/dist/server/next-error-digest.d.ts +1 -2
  404. package/dist/server/next-error-digest.js +0 -2
  405. package/dist/server/normalize-path.d.ts +1 -2
  406. package/dist/server/normalize-path.js +0 -2
  407. package/dist/server/pages-api-route.d.ts +1 -2
  408. package/dist/server/pages-api-route.js +1 -3
  409. package/dist/server/pages-asset-tags.d.ts +66 -0
  410. package/dist/server/pages-asset-tags.js +116 -0
  411. package/dist/server/pages-body-parser-config.d.ts +1 -2
  412. package/dist/server/pages-body-parser-config.js +0 -2
  413. package/dist/server/pages-data-route.d.ts +39 -2
  414. package/dist/server/pages-data-route.js +46 -3
  415. package/dist/server/pages-default-404.d.ts +1 -2
  416. package/dist/server/pages-default-404.js +0 -2
  417. package/dist/server/pages-document-initial-props.d.ts +1 -2
  418. package/dist/server/pages-document-initial-props.js +0 -2
  419. package/dist/server/pages-get-initial-props.d.ts +17 -0
  420. package/dist/server/pages-get-initial-props.js +50 -0
  421. package/dist/server/pages-i18n.d.ts +1 -2
  422. package/dist/server/pages-i18n.js +0 -2
  423. package/dist/server/pages-media-type.d.ts +1 -2
  424. package/dist/server/pages-media-type.js +1 -2
  425. package/dist/server/pages-node-compat.d.ts +11 -2
  426. package/dist/server/pages-node-compat.js +38 -3
  427. package/dist/server/pages-page-data.d.ts +17 -10
  428. package/dist/server/pages-page-data.js +79 -35
  429. package/dist/server/pages-page-handler.d.ts +97 -0
  430. package/dist/server/pages-page-handler.js +348 -0
  431. package/dist/server/pages-page-method.d.ts +1 -2
  432. package/dist/server/pages-page-method.js +0 -2
  433. package/dist/server/pages-page-response.d.ts +11 -3
  434. package/dist/server/pages-page-response.js +16 -5
  435. package/dist/server/pages-readiness.d.ts +36 -0
  436. package/dist/server/pages-readiness.js +21 -0
  437. package/dist/server/pages-request-pipeline.d.ts +99 -0
  438. package/dist/server/pages-request-pipeline.js +209 -0
  439. package/dist/server/pages-revalidate.d.ts +15 -0
  440. package/dist/server/pages-revalidate.js +19 -0
  441. package/dist/server/pages-serializable-props.d.ts +1 -2
  442. package/dist/server/pages-serializable-props.js +0 -2
  443. package/dist/server/pregenerated-concrete-paths.d.ts +32 -0
  444. package/dist/server/pregenerated-concrete-paths.js +78 -0
  445. package/dist/server/prerender-route-params.d.ts +13 -3
  446. package/dist/server/prerender-route-params.js +30 -11
  447. package/dist/server/prerender-work-unit-setup.d.ts +1 -2
  448. package/dist/server/prerender-work-unit-setup.js +0 -2
  449. package/dist/server/prod-server.d.ts +8 -6
  450. package/dist/server/prod-server.js +101 -219
  451. package/dist/server/proxy-trust.d.ts +1 -2
  452. package/dist/server/proxy-trust.js +0 -2
  453. package/dist/server/request-log.d.ts +1 -2
  454. package/dist/server/request-log.js +0 -2
  455. package/dist/server/request-pipeline.d.ts +14 -2
  456. package/dist/server/request-pipeline.js +42 -3
  457. package/dist/server/rsc-stream-hints.d.ts +1 -2
  458. package/dist/server/rsc-stream-hints.js +0 -2
  459. package/dist/server/seed-cache.d.ts +6 -2
  460. package/dist/server/seed-cache.js +10 -8
  461. package/dist/server/server-action-not-found.d.ts +1 -2
  462. package/dist/server/server-action-not-found.js +0 -2
  463. package/dist/server/server-globals.d.ts +1 -2
  464. package/dist/server/server-globals.js +0 -2
  465. package/dist/server/skip-cache-proof.d.ts +1 -2
  466. package/dist/server/skip-cache-proof.js +0 -2
  467. package/dist/server/socket-error-backstop.d.ts +19 -2
  468. package/dist/server/socket-error-backstop.js +77 -6
  469. package/dist/server/static-file-cache.d.ts +1 -2
  470. package/dist/server/static-file-cache.js +0 -2
  471. package/dist/server/static-layout-client-reuse-proof.d.ts +1 -2
  472. package/dist/server/static-layout-client-reuse-proof.js +0 -2
  473. package/dist/server/streaming-metadata.d.ts +1 -2
  474. package/dist/server/streaming-metadata.js +0 -2
  475. package/dist/server/worker-utils.d.ts +1 -2
  476. package/dist/server/worker-utils.js +3 -6
  477. package/dist/shims/amp.d.ts +1 -2
  478. package/dist/shims/amp.js +0 -2
  479. package/dist/shims/app-router-scroll-state.d.ts +1 -2
  480. package/dist/shims/app-router-scroll-state.js +0 -2
  481. package/dist/shims/app-router-scroll.d.ts +3 -5
  482. package/dist/shims/app-router-scroll.js +22 -6
  483. package/dist/shims/app.d.ts +1 -2
  484. package/dist/shims/app.js +0 -2
  485. package/dist/shims/before-interactive-context.d.ts +1 -2
  486. package/dist/shims/before-interactive-context.js +0 -2
  487. package/dist/shims/cache-for-request.d.ts +1 -2
  488. package/dist/shims/cache-for-request.js +0 -2
  489. package/dist/shims/cache-runtime.d.ts +20 -5
  490. package/dist/shims/cache-runtime.js +66 -31
  491. package/dist/shims/cache.d.ts +48 -7
  492. package/dist/shims/cache.js +79 -20
  493. package/dist/shims/cdn-cache.d.ts +125 -0
  494. package/dist/shims/cdn-cache.js +100 -0
  495. package/dist/shims/client-hook-error.d.ts +1 -2
  496. package/dist/shims/client-hook-error.js +0 -2
  497. package/dist/shims/client-locale.d.ts +1 -2
  498. package/dist/shims/client-locale.js +1 -3
  499. package/dist/shims/compat-router.d.ts +1 -2
  500. package/dist/shims/compat-router.js +0 -2
  501. package/dist/shims/config.d.ts +1 -2
  502. package/dist/shims/config.js +0 -2
  503. package/dist/shims/constants.d.ts +1 -2
  504. package/dist/shims/constants.js +0 -2
  505. package/dist/shims/default-global-error.d.ts +3 -4
  506. package/dist/shims/default-global-error.js +0 -2
  507. package/dist/shims/default-not-found.d.ts +1 -2
  508. package/dist/shims/default-not-found.js +0 -2
  509. package/dist/shims/document.d.ts +5 -7
  510. package/dist/shims/document.js +0 -2
  511. package/dist/shims/dynamic.d.ts +1 -2
  512. package/dist/shims/dynamic.js +0 -2
  513. package/dist/shims/error-boundary.d.ts +32 -18
  514. package/dist/shims/error-boundary.js +43 -3
  515. package/dist/shims/error.d.ts +1 -2
  516. package/dist/shims/error.js +0 -2
  517. package/dist/shims/fetch-cache.d.ts +14 -2
  518. package/dist/shims/fetch-cache.js +20 -5
  519. package/dist/shims/font-google-base.d.ts +1 -2
  520. package/dist/shims/font-google-base.js +1 -13
  521. package/dist/shims/font-local.d.ts +1 -2
  522. package/dist/shims/font-local.js +1 -15
  523. package/dist/shims/font-utils.d.ts +7 -2
  524. package/dist/shims/font-utils.js +13 -3
  525. package/dist/shims/form.d.ts +12 -5
  526. package/dist/shims/form.js +98 -21
  527. package/dist/shims/hash-scroll.d.ts +2 -2
  528. package/dist/shims/hash-scroll.js +3 -3
  529. package/dist/shims/head-state.d.ts +1 -2
  530. package/dist/shims/head-state.js +0 -2
  531. package/dist/shims/head.d.ts +1 -2
  532. package/dist/shims/head.js +0 -2
  533. package/dist/shims/headers.d.ts +9 -2
  534. package/dist/shims/headers.js +13 -3
  535. package/dist/shims/i18n-context.d.ts +1 -2
  536. package/dist/shims/i18n-context.js +0 -2
  537. package/dist/shims/i18n-state.d.ts +1 -2
  538. package/dist/shims/i18n-state.js +0 -2
  539. package/dist/shims/image-config.d.ts +1 -2
  540. package/dist/shims/image-config.js +0 -2
  541. package/dist/shims/image.d.ts +1 -2
  542. package/dist/shims/image.js +1 -3
  543. package/dist/shims/internal/als-registry.d.ts +1 -2
  544. package/dist/shims/internal/als-registry.js +0 -2
  545. package/dist/shims/internal/api-utils.d.ts +1 -2
  546. package/dist/shims/internal/app-route-detection.d.ts +1 -2
  547. package/dist/shims/internal/app-route-detection.js +0 -2
  548. package/dist/shims/internal/app-router-context.d.ts +1 -2
  549. package/dist/shims/internal/app-router-context.js +0 -2
  550. package/dist/shims/internal/cookie-serialize.d.ts +1 -2
  551. package/dist/shims/internal/cookie-serialize.js +0 -2
  552. package/dist/shims/internal/link-status-registry.d.ts +43 -0
  553. package/dist/shims/internal/link-status-registry.js +42 -0
  554. package/dist/shims/internal/make-hanging-promise.d.ts +1 -2
  555. package/dist/shims/internal/make-hanging-promise.js +0 -2
  556. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +1 -2
  557. package/dist/shims/internal/pages-data-fetch-dedup.js +0 -2
  558. package/dist/shims/internal/pages-data-target.d.ts +1 -2
  559. package/dist/shims/internal/pages-data-target.js +0 -2
  560. package/dist/shims/internal/pages-data-url.d.ts +1 -2
  561. package/dist/shims/internal/pages-data-url.js +0 -2
  562. package/dist/shims/internal/parse-cookie-header.d.ts +1 -2
  563. package/dist/shims/internal/parse-cookie-header.js +0 -2
  564. package/dist/shims/internal/route-pattern-for-warning.d.ts +27 -0
  565. package/dist/shims/internal/route-pattern-for-warning.js +40 -0
  566. package/dist/shims/internal/router-context.d.ts +2 -4
  567. package/dist/shims/internal/router-context.js +0 -2
  568. package/dist/shims/internal/utils.d.ts +2 -2
  569. package/dist/shims/internal/utils.js +0 -2
  570. package/dist/shims/internal/work-unit-async-storage.d.ts +1 -2
  571. package/dist/shims/internal/work-unit-async-storage.js +0 -2
  572. package/dist/shims/layout-segment-context.d.ts +2 -4
  573. package/dist/shims/layout-segment-context.js +0 -2
  574. package/dist/shims/legacy-image.d.ts +1 -2
  575. package/dist/shims/legacy-image.js +0 -2
  576. package/dist/shims/link-prefetch.d.ts +1 -2
  577. package/dist/shims/link-prefetch.js +0 -2
  578. package/dist/shims/link.d.ts +2 -2
  579. package/dist/shims/link.js +40 -20
  580. package/dist/shims/metadata.d.ts +4 -5
  581. package/dist/shims/metadata.js +1 -3
  582. package/dist/shims/navigation-state.d.ts +1 -2
  583. package/dist/shims/navigation-state.js +0 -2
  584. package/dist/shims/navigation.d.ts +25 -9
  585. package/dist/shims/navigation.js +251 -46
  586. package/dist/shims/navigation.react-server.d.ts +1 -2
  587. package/dist/shims/navigation.react-server.js +0 -2
  588. package/dist/shims/offline.d.ts +1 -2
  589. package/dist/shims/offline.js +0 -2
  590. package/dist/shims/og.d.ts +1 -2
  591. package/dist/shims/og.js +2 -4
  592. package/dist/shims/pages-router-runtime.d.ts +7 -2
  593. package/dist/shims/pages-router-runtime.js +11 -3
  594. package/dist/shims/ppr-fallback-shell.d.ts +29 -0
  595. package/dist/shims/ppr-fallback-shell.js +149 -0
  596. package/dist/shims/readonly-url-search-params.d.ts +1 -2
  597. package/dist/shims/readonly-url-search-params.js +0 -2
  598. package/dist/shims/request-context.d.ts +9 -5
  599. package/dist/shims/request-context.js +0 -2
  600. package/dist/shims/request-state-types.d.ts +1 -1
  601. package/dist/shims/root-params.d.ts +1 -2
  602. package/dist/shims/root-params.js +0 -2
  603. package/dist/shims/router-state.d.ts +2 -2
  604. package/dist/shims/router-state.js +2 -2
  605. package/dist/shims/router.d.ts +6 -4
  606. package/dist/shims/router.js +262 -40
  607. package/dist/shims/script-nonce-context.d.ts +1 -2
  608. package/dist/shims/script-nonce-context.js +0 -2
  609. package/dist/shims/script.d.ts +1 -2
  610. package/dist/shims/script.js +0 -2
  611. package/dist/shims/server.d.ts +1 -2
  612. package/dist/shims/server.js +0 -2
  613. package/dist/shims/slot.d.ts +11 -4
  614. package/dist/shims/slot.js +121 -9
  615. package/dist/shims/thenable-params.d.ts +2 -2
  616. package/dist/shims/thenable-params.js +107 -12
  617. package/dist/shims/unified-request-context.d.ts +1 -2
  618. package/dist/shims/unified-request-context.js +0 -2
  619. package/dist/shims/unrecognized-action-error.d.ts +1 -2
  620. package/dist/shims/unrecognized-action-error.js +0 -2
  621. package/dist/shims/url-safety.d.ts +1 -2
  622. package/dist/shims/url-safety.js +0 -2
  623. package/dist/shims/url-utils.d.ts +1 -2
  624. package/dist/shims/url-utils.js +0 -2
  625. package/dist/shims/use-merged-ref.d.ts +1 -2
  626. package/dist/shims/use-merged-ref.js +0 -2
  627. package/dist/shims/web-vitals.d.ts +1 -2
  628. package/dist/shims/web-vitals.js +0 -2
  629. package/dist/typegen.d.ts +1 -2
  630. package/dist/typegen.js +2 -9
  631. package/dist/utils/asset-prefix.d.ts +1 -2
  632. package/dist/utils/asset-prefix.js +0 -2
  633. package/dist/utils/base-path.d.ts +1 -2
  634. package/dist/utils/base-path.js +0 -2
  635. package/dist/utils/cache-control-metadata.d.ts +1 -4
  636. package/dist/utils/cache-control-metadata.js +1 -3
  637. package/dist/utils/client-build-manifest.d.ts +8 -2
  638. package/dist/utils/client-build-manifest.js +30 -7
  639. package/dist/utils/client-entry-manifest.d.ts +11 -0
  640. package/dist/utils/client-entry-manifest.js +29 -0
  641. package/dist/utils/compare.d.ts +4 -0
  642. package/dist/utils/compare.js +8 -0
  643. package/dist/utils/dev-error-recovery-event.d.ts +4 -0
  644. package/dist/utils/dev-error-recovery-event.js +4 -0
  645. package/dist/utils/domain-locale.d.ts +1 -2
  646. package/dist/utils/domain-locale.js +2 -4
  647. package/dist/utils/encode-cache-tag.d.ts +1 -2
  648. package/dist/utils/encode-cache-tag.js +0 -2
  649. package/dist/utils/error-cause.d.ts +1 -2
  650. package/dist/utils/error-cause.js +0 -2
  651. package/dist/utils/hash.d.ts +1 -2
  652. package/dist/utils/hash.js +0 -2
  653. package/dist/utils/html-limited-bots.d.ts +1 -2
  654. package/dist/utils/html-limited-bots.js +0 -2
  655. package/dist/utils/lazy-chunks.d.ts +1 -2
  656. package/dist/utils/lazy-chunks.js +0 -2
  657. package/dist/utils/manifest-paths.d.ts +8 -3
  658. package/dist/utils/manifest-paths.js +15 -3
  659. package/dist/utils/mdx-scan.d.ts +1 -2
  660. package/dist/utils/mdx-scan.js +0 -2
  661. package/dist/utils/navigation-signal.d.ts +1 -2
  662. package/dist/utils/navigation-signal.js +0 -2
  663. package/dist/utils/number.d.ts +4 -0
  664. package/dist/utils/number.js +6 -0
  665. package/dist/utils/path.d.ts +4 -2
  666. package/dist/utils/path.js +5 -3
  667. package/dist/utils/prerender-output-paths.d.ts +1 -2
  668. package/dist/utils/prerender-output-paths.js +0 -2
  669. package/dist/utils/project.d.ts +1 -2
  670. package/dist/utils/project.js +0 -2
  671. package/dist/utils/promise.d.ts +4 -0
  672. package/dist/utils/promise.js +6 -0
  673. package/dist/utils/public-routes.d.ts +1 -2
  674. package/dist/utils/public-routes.js +0 -2
  675. package/dist/utils/query.d.ts +1 -2
  676. package/dist/utils/query.js +0 -2
  677. package/dist/utils/record.d.ts +1 -2
  678. package/dist/utils/record.js +0 -2
  679. package/dist/utils/regex.d.ts +4 -0
  680. package/dist/utils/regex.js +6 -0
  681. package/dist/utils/safe-json-file.d.ts +1 -2
  682. package/dist/utils/safe-json-file.js +0 -2
  683. package/dist/utils/sorted-array.d.ts +1 -2
  684. package/dist/utils/sorted-array.js +0 -2
  685. package/dist/utils/text-stream.d.ts +1 -2
  686. package/dist/utils/text-stream.js +0 -2
  687. package/dist/utils/vinext-root.d.ts +1 -2
  688. package/dist/utils/vinext-root.js +0 -2
  689. package/dist/utils/vite-version.d.ts +1 -2
  690. package/dist/utils/vite-version.js +0 -2
  691. package/package.json +23 -6
  692. package/dist/build/clean-output.js.map +0 -1
  693. package/dist/build/client-build-config.js.map +0 -1
  694. package/dist/build/google-fonts/build-url.js.map +0 -1
  695. package/dist/build/google-fonts/fallback-metrics-data.js.map +0 -1
  696. package/dist/build/google-fonts/fallback-metrics.js.map +0 -1
  697. package/dist/build/google-fonts/font-data.js.map +0 -1
  698. package/dist/build/google-fonts/font-metadata.js.map +0 -1
  699. package/dist/build/google-fonts/get-axes.js.map +0 -1
  700. package/dist/build/google-fonts/sort-variants.js.map +0 -1
  701. package/dist/build/google-fonts/validate.js.map +0 -1
  702. package/dist/build/inline-css.js.map +0 -1
  703. package/dist/build/layout-classification.js.map +0 -1
  704. package/dist/build/nitro-route-rules.js.map +0 -1
  705. package/dist/build/precompress.js.map +0 -1
  706. package/dist/build/prerender.js.map +0 -1
  707. package/dist/build/report.js.map +0 -1
  708. package/dist/build/route-classification-injector.js.map +0 -1
  709. package/dist/build/route-classification-manifest.js.map +0 -1
  710. package/dist/build/run-prerender.js.map +0 -1
  711. package/dist/build/server-manifest.js.map +0 -1
  712. package/dist/build/ssr-manifest.js.map +0 -1
  713. package/dist/build/standalone.js.map +0 -1
  714. package/dist/build/static-export.js.map +0 -1
  715. package/dist/check.js.map +0 -1
  716. package/dist/cli-args.js.map +0 -1
  717. package/dist/cli.js.map +0 -1
  718. package/dist/client/instrumentation-client-inject.js.map +0 -1
  719. package/dist/client/instrumentation-client-state.js.map +0 -1
  720. package/dist/client/instrumentation-client.js.map +0 -1
  721. package/dist/client/navigation-runtime.js.map +0 -1
  722. package/dist/client/pages-router-link-navigation.js.map +0 -1
  723. package/dist/client/validate-module-path.js.map +0 -1
  724. package/dist/client/vinext-next-data.js.map +0 -1
  725. package/dist/client/window-next.js.map +0 -1
  726. package/dist/cloudflare/kv-cache-handler.js.map +0 -1
  727. package/dist/cloudflare/tpr.js.map +0 -1
  728. package/dist/config/config-matchers.js.map +0 -1
  729. package/dist/config/dotenv.js.map +0 -1
  730. package/dist/config/next-config.js.map +0 -1
  731. package/dist/config/tsconfig-paths.js.map +0 -1
  732. package/dist/deploy.js.map +0 -1
  733. package/dist/entries/app-browser-entry.js.map +0 -1
  734. package/dist/entries/app-rsc-entry.js.map +0 -1
  735. package/dist/entries/app-rsc-manifest.js.map +0 -1
  736. package/dist/entries/app-ssr-entry.js.map +0 -1
  737. package/dist/entries/pages-client-entry.js.map +0 -1
  738. package/dist/entries/pages-entry-helpers.js.map +0 -1
  739. package/dist/entries/pages-server-entry.js.map +0 -1
  740. package/dist/entries/runtime-entry-module.js.map +0 -1
  741. package/dist/index.js.map +0 -1
  742. package/dist/init.js.map +0 -1
  743. package/dist/plugins/async-hooks-stub.js.map +0 -1
  744. package/dist/plugins/client-reference-dedup.js.map +0 -1
  745. package/dist/plugins/css-data-url.js.map +0 -1
  746. package/dist/plugins/fonts.js.map +0 -1
  747. package/dist/plugins/import-meta-url.js.map +0 -1
  748. package/dist/plugins/instrumentation-client.js.map +0 -1
  749. package/dist/plugins/middleware-server-only.js.map +0 -1
  750. package/dist/plugins/og-assets.js.map +0 -1
  751. package/dist/plugins/optimize-imports.js.map +0 -1
  752. package/dist/plugins/postcss.js.map +0 -1
  753. package/dist/plugins/remove-console.js.map +0 -1
  754. package/dist/plugins/rsc-client-reference-loaders.js.map +0 -1
  755. package/dist/plugins/rsc-client-shim-excludes.js.map +0 -1
  756. package/dist/plugins/sass.js.map +0 -1
  757. package/dist/plugins/server-externals-manifest.js.map +0 -1
  758. package/dist/plugins/strip-server-exports.js.map +0 -1
  759. package/dist/routing/app-route-graph.js.map +0 -1
  760. package/dist/routing/app-router.js.map +0 -1
  761. package/dist/routing/file-matcher.js.map +0 -1
  762. package/dist/routing/pages-router.js.map +0 -1
  763. package/dist/routing/route-matching.js.map +0 -1
  764. package/dist/routing/route-pattern.js.map +0 -1
  765. package/dist/routing/route-trie.js.map +0 -1
  766. package/dist/routing/route-validation.js.map +0 -1
  767. package/dist/routing/utils.js.map +0 -1
  768. package/dist/server/api-handler.js.map +0 -1
  769. package/dist/server/app-browser-action-result.js.map +0 -1
  770. package/dist/server/app-browser-entry.js.map +0 -1
  771. package/dist/server/app-browser-error.js.map +0 -1
  772. package/dist/server/app-browser-hydration.js.map +0 -1
  773. package/dist/server/app-browser-interception-context.js.map +0 -1
  774. package/dist/server/app-browser-mpa-navigation.js.map +0 -1
  775. package/dist/server/app-browser-navigation-controller.js.map +0 -1
  776. package/dist/server/app-browser-popstate.js.map +0 -1
  777. package/dist/server/app-browser-rsc-redirect.js.map +0 -1
  778. package/dist/server/app-browser-state.js.map +0 -1
  779. package/dist/server/app-browser-stream.js.map +0 -1
  780. package/dist/server/app-browser-visible-commit.js.map +0 -1
  781. package/dist/server/app-client-reference-preloader.js.map +0 -1
  782. package/dist/server/app-elements-wire.js.map +0 -1
  783. package/dist/server/app-elements.js.map +0 -1
  784. package/dist/server/app-fallback-renderer.js.map +0 -1
  785. package/dist/server/app-history-state.js.map +0 -1
  786. package/dist/server/app-hook-warning-suppression.js.map +0 -1
  787. package/dist/server/app-inline-css-client.js.map +0 -1
  788. package/dist/server/app-interception-context-header.js.map +0 -1
  789. package/dist/server/app-layout-param-observation.js.map +0 -1
  790. package/dist/server/app-middleware.js.map +0 -1
  791. package/dist/server/app-mounted-slots-header.js.map +0 -1
  792. package/dist/server/app-optimistic-routing.js.map +0 -1
  793. package/dist/server/app-page-boundary-render.js.map +0 -1
  794. package/dist/server/app-page-boundary.js.map +0 -1
  795. package/dist/server/app-page-cache.js.map +0 -1
  796. package/dist/server/app-page-dispatch.js.map +0 -1
  797. package/dist/server/app-page-element-builder.js.map +0 -1
  798. package/dist/server/app-page-execution.js.map +0 -1
  799. package/dist/server/app-page-head.js.map +0 -1
  800. package/dist/server/app-page-method.js.map +0 -1
  801. package/dist/server/app-page-params.js.map +0 -1
  802. package/dist/server/app-page-probe.js.map +0 -1
  803. package/dist/server/app-page-render-identity.js.map +0 -1
  804. package/dist/server/app-page-render-observation.js.map +0 -1
  805. package/dist/server/app-page-render.js.map +0 -1
  806. package/dist/server/app-page-request.js.map +0 -1
  807. package/dist/server/app-page-response.js.map +0 -1
  808. package/dist/server/app-page-route-wiring.js.map +0 -1
  809. package/dist/server/app-page-segment-state.js.map +0 -1
  810. package/dist/server/app-page-stream.js.map +0 -1
  811. package/dist/server/app-post-middleware-context.js.map +0 -1
  812. package/dist/server/app-prerender-endpoints.js.map +0 -1
  813. package/dist/server/app-prerender-static-params.js.map +0 -1
  814. package/dist/server/app-render-dependency.js.map +0 -1
  815. package/dist/server/app-request-context.js.map +0 -1
  816. package/dist/server/app-route-handler-cache.js.map +0 -1
  817. package/dist/server/app-route-handler-dispatch.js.map +0 -1
  818. package/dist/server/app-route-handler-execution.js.map +0 -1
  819. package/dist/server/app-route-handler-policy.js.map +0 -1
  820. package/dist/server/app-route-handler-response.js.map +0 -1
  821. package/dist/server/app-route-handler-runtime.js.map +0 -1
  822. package/dist/server/app-router-entry.js.map +0 -1
  823. package/dist/server/app-rsc-cache-busting.js.map +0 -1
  824. package/dist/server/app-rsc-embedded-chunks.js.map +0 -1
  825. package/dist/server/app-rsc-error-handler.js.map +0 -1
  826. package/dist/server/app-rsc-errors.js.map +0 -1
  827. package/dist/server/app-rsc-handler.js.map +0 -1
  828. package/dist/server/app-rsc-render-mode.js.map +0 -1
  829. package/dist/server/app-rsc-request-normalization.js.map +0 -1
  830. package/dist/server/app-rsc-response-finalizer.js.map +0 -1
  831. package/dist/server/app-rsc-route-matching.js.map +0 -1
  832. package/dist/server/app-segment-config.js.map +0 -1
  833. package/dist/server/app-server-action-execution.js.map +0 -1
  834. package/dist/server/app-ssr-entry.js.map +0 -1
  835. package/dist/server/app-ssr-error-meta.js.map +0 -1
  836. package/dist/server/app-ssr-stream.js.map +0 -1
  837. package/dist/server/app-static-generation.js.map +0 -1
  838. package/dist/server/artifact-compatibility.js.map +0 -1
  839. package/dist/server/cache-control.js.map +0 -1
  840. package/dist/server/cache-headers.js.map +0 -1
  841. package/dist/server/cache-proof.js.map +0 -1
  842. package/dist/server/client-reuse-manifest.js.map +0 -1
  843. package/dist/server/client-trace-metadata.js.map +0 -1
  844. package/dist/server/cookie-utils.js.map +0 -1
  845. package/dist/server/csp.js.map +0 -1
  846. package/dist/server/default-global-error-module.js.map +0 -1
  847. package/dist/server/default-not-found-module.js.map +0 -1
  848. package/dist/server/dev-error-overlay-store.js.map +0 -1
  849. package/dist/server/dev-error-overlay.js.map +0 -1
  850. package/dist/server/dev-lockfile.js.map +0 -1
  851. package/dist/server/dev-module-runner.js.map +0 -1
  852. package/dist/server/dev-origin-check.js.map +0 -1
  853. package/dist/server/dev-route-files.js.map +0 -1
  854. package/dist/server/dev-server.js.map +0 -1
  855. package/dist/server/document-initial-head.js.map +0 -1
  856. package/dist/server/edge-api-runtime.js.map +0 -1
  857. package/dist/server/file-based-metadata.js.map +0 -1
  858. package/dist/server/headers.js.map +0 -1
  859. package/dist/server/html.js.map +0 -1
  860. package/dist/server/http-error-responses.js.map +0 -1
  861. package/dist/server/image-optimization.js.map +0 -1
  862. package/dist/server/implicit-tags.js.map +0 -1
  863. package/dist/server/instrumentation-runtime.js.map +0 -1
  864. package/dist/server/instrumentation.js.map +0 -1
  865. package/dist/server/isr-cache.js.map +0 -1
  866. package/dist/server/metadata-route-build-data.js.map +0 -1
  867. package/dist/server/metadata-route-response.js.map +0 -1
  868. package/dist/server/metadata-routes.js.map +0 -1
  869. package/dist/server/middleware-matcher.js.map +0 -1
  870. package/dist/server/middleware-request-headers.js.map +0 -1
  871. package/dist/server/middleware-response-headers.js.map +0 -1
  872. package/dist/server/middleware-runtime.js.map +0 -1
  873. package/dist/server/middleware.js.map +0 -1
  874. package/dist/server/navigation-planner.js.map +0 -1
  875. package/dist/server/navigation-trace.js.map +0 -1
  876. package/dist/server/next-error-digest.js.map +0 -1
  877. package/dist/server/normalize-path.js.map +0 -1
  878. package/dist/server/pages-api-route.js.map +0 -1
  879. package/dist/server/pages-body-parser-config.js.map +0 -1
  880. package/dist/server/pages-data-route.js.map +0 -1
  881. package/dist/server/pages-default-404.js.map +0 -1
  882. package/dist/server/pages-document-initial-props.js.map +0 -1
  883. package/dist/server/pages-i18n.js.map +0 -1
  884. package/dist/server/pages-media-type.js.map +0 -1
  885. package/dist/server/pages-node-compat.js.map +0 -1
  886. package/dist/server/pages-page-data.js.map +0 -1
  887. package/dist/server/pages-page-method.js.map +0 -1
  888. package/dist/server/pages-page-response.js.map +0 -1
  889. package/dist/server/pages-serializable-props.js.map +0 -1
  890. package/dist/server/prerender-route-params.js.map +0 -1
  891. package/dist/server/prerender-work-unit-setup.js.map +0 -1
  892. package/dist/server/prod-server.js.map +0 -1
  893. package/dist/server/proxy-trust.js.map +0 -1
  894. package/dist/server/request-log.js.map +0 -1
  895. package/dist/server/request-pipeline.js.map +0 -1
  896. package/dist/server/rsc-stream-hints.js.map +0 -1
  897. package/dist/server/seed-cache.js.map +0 -1
  898. package/dist/server/server-action-not-found.js.map +0 -1
  899. package/dist/server/server-globals.js.map +0 -1
  900. package/dist/server/skip-cache-proof.js.map +0 -1
  901. package/dist/server/socket-error-backstop.js.map +0 -1
  902. package/dist/server/static-file-cache.js.map +0 -1
  903. package/dist/server/static-layout-client-reuse-proof.js.map +0 -1
  904. package/dist/server/streaming-metadata.js.map +0 -1
  905. package/dist/server/worker-utils.js.map +0 -1
  906. package/dist/shims/amp.js.map +0 -1
  907. package/dist/shims/app-router-scroll-state.js.map +0 -1
  908. package/dist/shims/app-router-scroll.js.map +0 -1
  909. package/dist/shims/app.js.map +0 -1
  910. package/dist/shims/before-interactive-context.js.map +0 -1
  911. package/dist/shims/cache-for-request.js.map +0 -1
  912. package/dist/shims/cache-runtime.js.map +0 -1
  913. package/dist/shims/cache.js.map +0 -1
  914. package/dist/shims/client-hook-error.js.map +0 -1
  915. package/dist/shims/client-locale.js.map +0 -1
  916. package/dist/shims/compat-router.js.map +0 -1
  917. package/dist/shims/config.js.map +0 -1
  918. package/dist/shims/constants.js.map +0 -1
  919. package/dist/shims/default-global-error.js.map +0 -1
  920. package/dist/shims/default-not-found.js.map +0 -1
  921. package/dist/shims/document.js.map +0 -1
  922. package/dist/shims/dynamic.js.map +0 -1
  923. package/dist/shims/error-boundary.js.map +0 -1
  924. package/dist/shims/error.js.map +0 -1
  925. package/dist/shims/fetch-cache.js.map +0 -1
  926. package/dist/shims/font-google-base.js.map +0 -1
  927. package/dist/shims/font-local.js.map +0 -1
  928. package/dist/shims/font-utils.js.map +0 -1
  929. package/dist/shims/form.js.map +0 -1
  930. package/dist/shims/hash-scroll.js.map +0 -1
  931. package/dist/shims/head-state.js.map +0 -1
  932. package/dist/shims/head.js.map +0 -1
  933. package/dist/shims/headers.js.map +0 -1
  934. package/dist/shims/i18n-context.js.map +0 -1
  935. package/dist/shims/i18n-state.js.map +0 -1
  936. package/dist/shims/image-config.js.map +0 -1
  937. package/dist/shims/image.js.map +0 -1
  938. package/dist/shims/internal/als-registry.js.map +0 -1
  939. package/dist/shims/internal/app-route-detection.js.map +0 -1
  940. package/dist/shims/internal/app-router-context.js.map +0 -1
  941. package/dist/shims/internal/cookie-serialize.js.map +0 -1
  942. package/dist/shims/internal/make-hanging-promise.js.map +0 -1
  943. package/dist/shims/internal/pages-data-fetch-dedup.js.map +0 -1
  944. package/dist/shims/internal/pages-data-target.js.map +0 -1
  945. package/dist/shims/internal/pages-data-url.js.map +0 -1
  946. package/dist/shims/internal/parse-cookie-header.js.map +0 -1
  947. package/dist/shims/internal/router-context.js.map +0 -1
  948. package/dist/shims/internal/utils.js.map +0 -1
  949. package/dist/shims/internal/work-unit-async-storage.js.map +0 -1
  950. package/dist/shims/layout-segment-context.js.map +0 -1
  951. package/dist/shims/legacy-image.js.map +0 -1
  952. package/dist/shims/link-prefetch.js.map +0 -1
  953. package/dist/shims/link.js.map +0 -1
  954. package/dist/shims/metadata.js.map +0 -1
  955. package/dist/shims/navigation-state.js.map +0 -1
  956. package/dist/shims/navigation.js.map +0 -1
  957. package/dist/shims/navigation.react-server.js.map +0 -1
  958. package/dist/shims/offline.js.map +0 -1
  959. package/dist/shims/og.js.map +0 -1
  960. package/dist/shims/pages-router-runtime.js.map +0 -1
  961. package/dist/shims/readonly-url-search-params.js.map +0 -1
  962. package/dist/shims/request-context.js.map +0 -1
  963. package/dist/shims/root-params.js.map +0 -1
  964. package/dist/shims/router-state.js.map +0 -1
  965. package/dist/shims/router.js.map +0 -1
  966. package/dist/shims/script-nonce-context.js.map +0 -1
  967. package/dist/shims/script.js.map +0 -1
  968. package/dist/shims/server.js.map +0 -1
  969. package/dist/shims/slot.js.map +0 -1
  970. package/dist/shims/thenable-params.js.map +0 -1
  971. package/dist/shims/unified-request-context.js.map +0 -1
  972. package/dist/shims/unrecognized-action-error.js.map +0 -1
  973. package/dist/shims/url-safety.js.map +0 -1
  974. package/dist/shims/url-utils.js.map +0 -1
  975. package/dist/shims/use-merged-ref.js.map +0 -1
  976. package/dist/shims/web-vitals.js.map +0 -1
  977. package/dist/typegen.js.map +0 -1
  978. package/dist/utils/asset-prefix.js.map +0 -1
  979. package/dist/utils/base-path.js.map +0 -1
  980. package/dist/utils/cache-control-metadata.js.map +0 -1
  981. package/dist/utils/client-build-manifest.js.map +0 -1
  982. package/dist/utils/domain-locale.js.map +0 -1
  983. package/dist/utils/encode-cache-tag.js.map +0 -1
  984. package/dist/utils/error-cause.js.map +0 -1
  985. package/dist/utils/hash.js.map +0 -1
  986. package/dist/utils/html-limited-bots.js.map +0 -1
  987. package/dist/utils/lazy-chunks.js.map +0 -1
  988. package/dist/utils/manifest-paths.js.map +0 -1
  989. package/dist/utils/mdx-scan.js.map +0 -1
  990. package/dist/utils/navigation-signal.js.map +0 -1
  991. package/dist/utils/path.js.map +0 -1
  992. package/dist/utils/prerender-output-paths.js.map +0 -1
  993. package/dist/utils/project.js.map +0 -1
  994. package/dist/utils/public-routes.js.map +0 -1
  995. package/dist/utils/query.js.map +0 -1
  996. package/dist/utils/record.js.map +0 -1
  997. package/dist/utils/safe-json-file.js.map +0 -1
  998. package/dist/utils/sorted-array.js.map +0 -1
  999. package/dist/utils/text-stream.js.map +0 -1
  1000. package/dist/utils/vinext-root.js.map +0 -1
  1001. package/dist/utils/vite-version.js.map +0 -1
@@ -1,3 +1,4 @@
1
+ import { splitPathSegments } from "../routing/utils.js";
1
2
  import { addBasePathToPathname, hasBasePath, stripBasePath } from "../utils/base-path.js";
2
3
  import { ACTION_FORWARDED_HEADER, ACTION_REDIRECT_HEADER, ACTION_REDIRECT_STATUS_HEADER, ACTION_REDIRECT_TYPE_HEADER, ACTION_REVALIDATED_HEADER } from "./headers.js";
3
4
  import { isExternalUrl } from "../config/config-matchers.js";
@@ -9,10 +10,10 @@ import { APP_RSC_RENDER_MODE_ACTION_RERENDER_PRESERVE_UI } from "./app-rsc-rende
9
10
  import { setCurrentFetchCacheMode, setCurrentFetchSoftTags } from "../shims/fetch-cache.js";
10
11
  import { VINEXT_RSC_CONTENT_TYPE, VINEXT_RSC_VARY_HEADER, applyRscCompatibilityIdHeader } from "./app-rsc-cache-busting.js";
11
12
  import { readStreamAsTextWithLimit } from "../utils/text-stream.js";
12
- import { createServerActionNotFoundResponse, getServerActionNotFoundMessage, isServerActionNotFoundError } from "./server-action-not-found.js";
13
13
  import { mergeMiddlewareResponseHeaders } from "./middleware-response-headers.js";
14
14
  import { applyEdgeRuntimeHeader } from "./app-page-response.js";
15
15
  import { getNextErrorDigest, parseNextHttpErrorDigest, parseNextRedirectDigest } from "./next-error-digest.js";
16
+ import { createServerActionNotFoundResponse, getServerActionNotFoundMessage, isServerActionNotFoundError } from "./server-action-not-found.js";
16
17
  import { deferUntilStreamConsumed } from "./app-page-stream.js";
17
18
  import { resolveAppPageActionRerenderTarget } from "./app-page-request.js";
18
19
  import { buildPageCacheTags } from "./implicit-tags.js";
@@ -109,6 +110,15 @@ function isRequestBodyTooLarge(error) {
109
110
  return error instanceof Error && error.message === "Request body too large";
110
111
  }
111
112
  /**
113
+ * Build the error thrown when a server-action request body exceeds the
114
+ * configured size limit. Matches Next.js' `Body exceeded {limit} limit.`
115
+ * message + docs link (action-handler.ts) verbatim — including the original
116
+ * config string (e.g. "2mb") — so it reads identically in logs.
117
+ */
118
+ function createBodyExceededError(limitLabel) {
119
+ return /* @__PURE__ */ new Error(`Body exceeded ${limitLabel} limit.\nTo configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit`);
120
+ }
121
+ /**
112
122
  * Collapse repeated `cookies().set(name, ...)` / `cookies().delete(name)`
113
123
  * calls down to the last value per name, matching Next.js'
114
124
  * `MutableRequestCookiesAdapter` semantics. Next.js stores response cookies in
@@ -244,12 +254,9 @@ function resolveInternalActionRedirectTarget(redirectUrl, requestUrl, basePath)
244
254
  function isAncestorRouteRedirect(targetPathname, currentPathname) {
245
255
  return targetPathname !== "/" && currentPathname.startsWith(`${targetPathname}/`);
246
256
  }
247
- function splitActionRedirectPathname(pathname) {
248
- return pathname.split("/").filter(Boolean);
249
- }
250
257
  function isStaleChildSiblingRouteRedirect(targetPathname, currentPathname) {
251
- const targetSegments = splitActionRedirectPathname(targetPathname);
252
- const currentSegments = splitActionRedirectPathname(currentPathname);
258
+ const targetSegments = splitPathSegments(targetPathname);
259
+ const currentSegments = splitPathSegments(currentPathname);
253
260
  if (targetSegments.length === 0 || currentSegments.length <= targetSegments.length) return false;
254
261
  let commonPrefixLength = 0;
255
262
  const maxPrefixLength = Math.min(targetSegments.length, currentSegments.length);
@@ -327,7 +334,13 @@ async function handleProgressiveServerActionRequest(options) {
327
334
  return payloadResponse;
328
335
  }
329
336
  const action = await options.decodeAction(body);
330
- if (!isAppServerActionFunction(action)) return null;
337
+ if (!isAppServerActionFunction(action)) {
338
+ if (options.hasPageRoute) return createActionNotFoundResponse(null, {
339
+ clearRequestContext: options.clearRequestContext,
340
+ getAndClearPendingCookies: options.getAndClearPendingCookies
341
+ });
342
+ return null;
343
+ }
331
344
  let actionRedirect = null;
332
345
  let actionError = void 0;
333
346
  let actionFailed = false;
@@ -413,23 +426,66 @@ async function handleProgressiveServerActionRequest(options) {
413
426
  return internalServerErrorResponse(process.env.NODE_ENV === "production" ? void 0 : "Server action parsing failed: " + getServerActionFailureMessage(error));
414
427
  }
415
428
  }
429
+ /**
430
+ * Render the response for a fetch (client-invoked) server action whose request
431
+ * body exceeds the configured `serverActions.bodySizeLimit`.
432
+ *
433
+ * Next.js does not return a bare 413 here: it throws the body-exceeded error
434
+ * before the action runs, then — for fetch actions — emits a Flight response
435
+ * with status 500 carrying the rejected action result, so the nearest client
436
+ * error boundary catches it (see action-handler.ts, the `isFetchAction` branch
437
+ * of the generic error path). vinext mirrors that by rendering a Flight stream
438
+ * with `returnValue: { ok: false }` and no page root (the action never ran, so
439
+ * nothing was revalidated and the page render is skipped). A bare 413 plain
440
+ * response would bypass the boundary and surface the wrong status/content-type.
441
+ */
442
+ async function renderFetchActionBodyExceededResponse(options) {
443
+ const error = createBodyExceededError(options.maxActionBodySizeLabel);
444
+ console.error("[vinext] Server action error:", error);
445
+ options.reportRequestError(normalizeError(error), {
446
+ path: options.cleanPathname,
447
+ method: options.request.method,
448
+ headers: Object.fromEntries(options.request.headers.entries())
449
+ }, {
450
+ routerKind: "App Router",
451
+ routePath: options.cleanPathname,
452
+ routeType: "action"
453
+ });
454
+ getAndClearActionRevalidationKind();
455
+ options.getAndClearPendingCookies();
456
+ const returnValue = {
457
+ ok: false,
458
+ data: options.sanitizeErrorForClient(error)
459
+ };
460
+ const temporaryReferences = options.createTemporaryReferenceSet();
461
+ const onRenderError = options.createRscOnErrorHandler(options.request, options.cleanPathname, options.cleanPathname);
462
+ const rscStream = await options.renderToReadableStream({ returnValue }, {
463
+ temporaryReferences,
464
+ onError: onRenderError
465
+ });
466
+ const headers = new Headers({
467
+ "Content-Type": VINEXT_RSC_CONTENT_TYPE,
468
+ Vary: VINEXT_RSC_VARY_HEADER
469
+ });
470
+ applyEdgeRuntimeHeader(headers, options.isEdgeRuntime);
471
+ mergeMiddlewareResponseHeaders(headers, options.middlewareHeaders);
472
+ applyRscCompatibilityIdHeader(headers);
473
+ return createServerActionRscResponse(rscStream, {
474
+ status: 500,
475
+ headers
476
+ }, options.clearRequestContext);
477
+ }
416
478
  async function handleServerActionRscRequest(options) {
417
479
  if (options.request.method.toUpperCase() !== "POST" || !options.actionId) return null;
418
480
  const csrfResponse = validateCsrfOrigin(options.request, options.allowedOrigins);
419
481
  if (csrfResponse) return csrfResponse;
420
- if (parseInt(options.request.headers.get("content-length") || "0", 10) > options.maxActionBodySize) {
421
- options.clearRequestContext();
422
- return payloadTooLargeResponse();
423
- }
482
+ if (parseInt(options.request.headers.get("content-length") || "0", 10) > options.maxActionBodySize) return renderFetchActionBodyExceededResponse(options);
424
483
  try {
425
484
  let body;
426
485
  try {
427
486
  body = options.contentType.startsWith("multipart/form-data") ? await options.readFormDataWithLimit(options.request, options.maxActionBodySize) : await options.readBodyWithLimit(options.request, options.maxActionBodySize);
428
487
  } catch (error) {
429
- if (isRequestBodyTooLarge(error)) {
430
- options.clearRequestContext();
431
- return payloadTooLargeResponse();
432
- }
488
+ if (isRequestBodyTooLarge(error)) return renderFetchActionBodyExceededResponse(options);
433
489
  throw error;
434
490
  }
435
491
  const payloadResponse = await validateServerActionPayload(body);
@@ -519,6 +575,7 @@ async function handleServerActionRscRequest(options) {
519
575
  }
520
576
  const targetPathname = stripBasePath(redirectTarget.pathname, options.basePath ?? "");
521
577
  const targetMatch = options.matchRoute(targetPathname);
578
+ if (targetMatch) await options.ensureRouteLoaded?.(targetMatch.route);
522
579
  if (!targetMatch || !canRenderActionRedirectTarget(targetMatch.route)) {
523
580
  options.clearRequestContext();
524
581
  return new Response(null, {
@@ -527,6 +584,7 @@ async function handleServerActionRscRequest(options) {
527
584
  });
528
585
  }
529
586
  const currentMatch = options.matchRoute(options.cleanPathname);
587
+ if (currentMatch) await options.ensureRouteLoaded?.(currentMatch.route);
530
588
  const redirectRenderRequest = createActionRedirectRenderRequest({
531
589
  pendingCookies: [...actionPendingCookies, ...actionDraftCookie ? [actionDraftCookie] : []],
532
590
  request: options.request,
@@ -599,7 +657,7 @@ async function handleServerActionRscRequest(options) {
599
657
  let errorPattern = match ? match.route.pattern : options.cleanPathname;
600
658
  if (match) {
601
659
  const { route: actionRoute, params: actionParams } = match;
602
- const actionRerenderTarget = resolveAppPageActionRerenderTarget({
660
+ const actionRerenderTarget = await resolveAppPageActionRerenderTarget({
603
661
  cleanPathname: options.cleanPathname,
604
662
  currentParams: actionParams,
605
663
  currentRoute: actionRoute,
@@ -614,6 +672,7 @@ async function handleServerActionRscRequest(options) {
614
672
  searchParams: options.searchParams,
615
673
  params: actionRerenderTarget.navigationParams
616
674
  });
675
+ await options.ensureRouteLoaded?.(actionRerenderTarget.route);
617
676
  setCurrentFetchCacheMode(options.resolveRouteFetchCacheMode?.(actionRerenderTarget.route) ?? null);
618
677
  setCurrentFetchSoftTags(buildServerActionPageTags(actionRerenderTarget.route, options.cleanPathname));
619
678
  element = options.buildPageElement({
@@ -670,5 +729,3 @@ async function handleServerActionRscRequest(options) {
670
729
  }
671
730
  //#endregion
672
731
  export { applyActionRedirectBasePath, handleProgressiveServerActionRequest, handleServerActionRscRequest, isProgressiveServerActionRequest, readActionBodyWithLimit, readActionFormDataWithLimit };
673
-
674
- //# sourceMappingURL=app-server-action-execution.js.map
@@ -1,5 +1,6 @@
1
1
  import { NavigationContext } from "../shims/navigation.js";
2
2
  import { RootParams } from "../shims/root-params.js";
3
+ import { AppSsrRenderResult } from "./app-page-stream.js";
3
4
  import { ReactFormState } from "react-dom/client";
4
5
 
5
6
  //#region src/server/app-ssr-entry.d.ts
@@ -29,15 +30,21 @@ declare function handleSsr(rscStream: ReadableStream<Uint8Array>, navContext: Na
29
30
  * SSR head. Undefined or empty disables emission entirely.
30
31
  */
31
32
  clientTraceMetadata?: readonly string[];
32
- rootParams?: RootParams;
33
+ /**
34
+ * Maximum total length (in characters) of the preload `Link` header React
35
+ * emits during SSR. `0` disables emission. From `reactMaxHeadersLength` in
36
+ * `next.config`. Undefined falls back to React's own default.
37
+ */
38
+ reactMaxHeadersLength?: number;
39
+ rootParams?: RootParams; /** Dev-only: original server error to surface in the browser overlay. */
40
+ initialDevServerError?: unknown;
33
41
  /** When true, wait for the full React tree (including Suspense boundaries)
34
42
  * to resolve before returning the HTML stream. Used for static prerender
35
43
  * and ISR cache writes to avoid caching fallback content. */
36
44
  waitForAllReady?: boolean;
37
- }): Promise<ReadableStream<Uint8Array>>;
45
+ }): Promise<AppSsrRenderResult>;
38
46
  declare const _default: {
39
47
  fetch(request: Request): Promise<Response>;
40
48
  };
41
49
  //#endregion
42
- export { FontData, FontPreload, _default as default, handleSsr };
43
- //# sourceMappingURL=app-ssr-entry.d.ts.map
50
+ export { FontData, FontPreload, _default as default, handleSsr };
@@ -4,24 +4,33 @@ import { isOpenRedirectShaped } from "./request-pipeline.js";
4
4
  import { AppElementsWire } from "./app-elements-wire.js";
5
5
  import "./app-elements.js";
6
6
  import { AppRouterContext } from "../shims/internal/app-router-context.js";
7
- import { ServerInsertedHTMLContext, appRouterInstance, clearServerInsertedHTML, renderServerInsertedHTML, setNavigationContext, useServerInsertedHTML } from "../shims/navigation.js";
7
+ import { ServerInsertedHTMLContext, appRouterInstance, clearServerInsertedHTML, getBfcacheIdMapContext, renderServerInsertedHTML, setNavigationContext, useServerInsertedHTML } from "../shims/navigation.js";
8
8
  import { runWithNavigationContext } from "../shims/navigation-state.js";
9
9
  import { withScriptNonce } from "../shims/script-nonce-context.js";
10
10
  import { createInlineScriptTag, createNonceAttribute, escapeHtmlAttr, safeJsonStringify } from "./html.js";
11
11
  import { getClientTraceMetadataHTML } from "./client-trace-metadata.js";
12
- import { ElementsContext, Slot } from "../shims/slot.js";
12
+ import { BfcacheStateKeyMapContext, ElementsContext, Slot } from "../shims/slot.js";
13
+ import { createSsrErrorMetaRenderer } from "./app-ssr-error-meta.js";
13
14
  import { createNavigationRuntimeRscMetadataScript, createRscEmbedTransform, createTickBufferedTransform } from "./app-ssr-stream.js";
15
+ import { BeforeInteractiveContext } from "../shims/before-interactive-context.js";
16
+ import { runWithRootParamsScope } from "../shims/root-params.js";
17
+ import { createBfcacheSegmentStateKeyMap, createInitialBfcacheIdMap } from "./app-browser-state.js";
14
18
  import { RSC_FORM_STATE_GLOBAL } from "./app-browser-hydration.js";
15
19
  import { createClientReferencePreloader } from "./app-client-reference-preloader.js";
16
20
  import { deferUntilStreamConsumed } from "./app-page-stream.js";
17
- import { runWithRootParamsScope } from "../shims/root-params.js";
18
- import { BeforeInteractiveContext } from "../shims/before-interactive-context.js";
19
- import { createSsrErrorMetaRenderer } from "./app-ssr-error-meta.js";
21
+ import { createInitialDevServerErrorScript } from "./dev-initial-server-error.js";
20
22
  import { Fragment, createElement, use } from "react";
21
23
  import { renderToReadableStream, renderToStaticMarkup } from "react-dom/server.edge";
22
24
  import { createFromReadableStream } from "@vitejs/plugin-rsc/ssr";
23
25
  import clientReferences from "virtual:vite-rsc/client-references";
24
26
  //#region src/server/app-ssr-entry.ts
27
+ /**
28
+ * Default cap for the preload `Link` header, matching Next.js's
29
+ * `defaultConfig.reactMaxHeadersLength`. Used when no config value threads
30
+ * through (e.g. error-boundary renders) so React's internal cap agrees with
31
+ * the response-layer combine cap.
32
+ */
33
+ const DEFAULT_REACT_MAX_HEADERS_LENGTH = 6e3;
25
34
  const clientReferencePreloader = createClientReferencePreloader({
26
35
  getReferences() {
27
36
  return clientReferences;
@@ -33,6 +42,7 @@ const clientReferencePreloader = createClientReferencePreloader({
33
42
  if (process.env.NODE_ENV !== "production") console.warn("[vinext] failed to preload client ref:", id, error);
34
43
  }
35
44
  });
45
+ const BfcacheIdMapContext = getBfcacheIdMapContext();
36
46
  function ssrErrorDigest(input) {
37
47
  let hash = 5381;
38
48
  for (let i = input.length - 1; i >= 0; i--) hash = hash * 33 ^ input.charCodeAt(i);
@@ -117,15 +127,20 @@ function buildModulePreloadHtml(bootstrapModuleUrl, nonce) {
117
127
  }
118
128
  function buildHeadInjectionHtml(navContext, bootstrapModuleUrl, formState, insertedHTML, fontHTML, scriptNonce) {
119
129
  const navPayload = {
120
- pathname: navContext?.pathname ?? "/",
121
- searchParams: navContext?.searchParams ? [...navContext.searchParams.entries()] : []
130
+ pathname: navContext.pathname,
131
+ searchParams: [...navContext.searchParams.entries()]
122
132
  };
123
- return createInlineScriptTag(createNavigationRuntimeRscMetadataScript(navContext?.params ?? {}, navPayload), scriptNonce) + (formState === null ? "" : createInlineScriptTag("self[" + safeJsonStringify(RSC_FORM_STATE_GLOBAL) + "]=" + safeJsonStringify(formState), scriptNonce)) + buildModulePreloadHtml(bootstrapModuleUrl, scriptNonce) + insertedHTML + fontHTML;
133
+ return createInlineScriptTag(createNavigationRuntimeRscMetadataScript(navContext.params, navPayload), scriptNonce) + (formState === null ? "" : createInlineScriptTag("self[" + safeJsonStringify(RSC_FORM_STATE_GLOBAL) + "]=" + safeJsonStringify(formState), scriptNonce)) + buildModulePreloadHtml(bootstrapModuleUrl, scriptNonce) + insertedHTML + fontHTML;
134
+ }
135
+ function requireNavigationContext(navContext) {
136
+ if (!navContext) throw new Error("App SSR requires navigation context for BFCache state keys");
137
+ return navContext;
124
138
  }
125
139
  async function handleSsr(rscStream, navContext, fontData, options) {
126
140
  return runWithNavigationContext(async () => {
141
+ const ssrNavigationContext = requireNavigationContext(navContext);
127
142
  await clientReferencePreloader.preload();
128
- if (navContext) setNavigationContext(navContext);
143
+ setNavigationContext(ssrNavigationContext);
129
144
  clearServerInsertedHTML();
130
145
  const cleanup = () => {
131
146
  setNavigationContext(null);
@@ -150,7 +165,12 @@ async function handleSsr(rscStream, navContext, fontData, options) {
150
165
  const wireElements = use(flightRoot);
151
166
  const elements = AppElementsWire.decode(wireElements);
152
167
  const metadata = AppElementsWire.readMetadata(elements);
153
- return createElement(ElementsContext.Provider, { value: elements }, createElement(Slot, { id: metadata.routeId }));
168
+ const routeTree = createElement(ElementsContext.Provider, { value: elements }, createElement(Slot, { id: metadata.routeId }));
169
+ const stateKeyTree = createElement(BfcacheStateKeyMapContext.Provider, { value: createBfcacheSegmentStateKeyMap({
170
+ elements,
171
+ pathname: ssrNavigationContext.pathname
172
+ }) }, routeTree);
173
+ return BfcacheIdMapContext ? createElement(BfcacheIdMapContext.Provider, { value: createInitialBfcacheIdMap(elements) }, stateKeyTree) : stateKeyTree;
154
174
  }
155
175
  const flightRootElement = createElement(VinextFlightRoot);
156
176
  const root = AppRouterContext ? createElement(AppRouterContext.Provider, { value: appRouterInstance }, flightRootElement) : flightRootElement;
@@ -162,7 +182,15 @@ async function handleSsr(rscStream, navContext, fontData, options) {
162
182
  const ssrRoot = withScriptNonce(createElement(BeforeInteractiveContext.Provider, { value: registerBeforeInteractiveInlineScript }, ssrTree), options?.scriptNonce);
163
183
  const bootstrapModuleUrl = extractBootstrapModuleUrl(await import.meta.viteRsc.loadBootstrapScriptContent("index"));
164
184
  const errorMetaRenderer = createSsrErrorMetaRenderer({ basePath: options?.basePath });
185
+ let reactLinkHeader = "";
186
+ const maxHeadersLength = options?.reactMaxHeadersLength ?? DEFAULT_REACT_MAX_HEADERS_LENGTH;
187
+ const captureHeaders = maxHeadersLength > 0;
165
188
  const htmlStream = await renderToReadableStream(ssrRoot, {
189
+ onHeaders: captureHeaders ? (headers) => {
190
+ const link = headers.get("Link");
191
+ if (link) reactLinkHeader = link;
192
+ } : void 0,
193
+ maxHeadersLength: captureHeaders ? maxHeadersLength : void 0,
166
194
  bootstrapModules: bootstrapModuleUrl ? [bootstrapModuleUrl] : void 0,
167
195
  formState: options?.formState ?? null,
168
196
  nonce: options?.scriptNonce,
@@ -172,7 +200,6 @@ async function handleSsr(rscStream, navContext, fontData, options) {
172
200
  if (process.env.NODE_ENV === "production" && error) return ssrErrorDigest(getErrorMessage(error) + (error instanceof Error ? error.stack ?? "" : ""));
173
201
  }
174
202
  });
175
- if (options?.waitForAllReady === true) await htmlStream.allReady;
176
203
  const inlineCssManifest = globalThis.__VINEXT_INLINE_CSS__;
177
204
  const fontStyles = fontData?.styles ?? [];
178
205
  const mergeFontStylesIntoInlineCss = fontStyles.length > 0 && hasInlineCssManifest(inlineCssManifest);
@@ -188,12 +215,19 @@ async function handleSsr(rscStream, navContext, fontData, options) {
188
215
  const getInsertedHTML = () => {
189
216
  const insertedHTML = renderInsertedHtml(renderServerInsertedHTML());
190
217
  const errorMetaHTML = errorMetaRenderer.flush();
218
+ const initialDevServerErrorHTML = createInitialDevServerErrorScript(options?.initialDevServerError, options?.scriptNonce);
191
219
  if (didInjectHeadHTML) return insertedHTML + errorMetaHTML;
192
220
  didInjectHeadHTML = true;
193
- return buildHeadInjectionHtml(navContext, bootstrapModuleUrl, options?.formState ?? null, insertedHTML + errorMetaHTML + getTraceMetaHTML(), fontHTML, options?.scriptNonce);
221
+ return buildHeadInjectionHtml(ssrNavigationContext, bootstrapModuleUrl, options?.formState ?? null, insertedHTML + errorMetaHTML + getTraceMetaHTML() + initialDevServerErrorHTML, fontHTML, options?.scriptNonce);
194
222
  };
195
223
  const getBeforeInteractiveHeadHTML = () => renderBeforeInteractiveInlineScripts(beforeInteractiveInlineScripts);
196
- return deferUntilStreamConsumed(htmlStream.pipeThrough(createTickBufferedTransform(rscEmbed, getInsertedHTML, getBeforeInteractiveHeadHTML, inlineCssManifest, inlineCssFontStyles, inlineCssFontStyleFallbackHTML, options?.scriptNonce)), cleanup);
224
+ if (options?.waitForAllReady === true) await htmlStream.allReady;
225
+ return {
226
+ htmlStream: deferUntilStreamConsumed(htmlStream.pipeThrough(createTickBufferedTransform(rscEmbed, getInsertedHTML, getBeforeInteractiveHeadHTML, inlineCssManifest, inlineCssFontStyles, inlineCssFontStyleFallbackHTML, options?.scriptNonce)), cleanup),
227
+ metadataReady: Promise.resolve(),
228
+ capturedRscData: options?.capturedRscDataRef?.value ?? null,
229
+ linkHeader: reactLinkHeader
230
+ };
197
231
  } catch (error) {
198
232
  cleanup();
199
233
  throw error;
@@ -210,5 +244,3 @@ var app_ssr_entry_default = { async fetch(request) {
210
244
  } };
211
245
  //#endregion
212
246
  export { app_ssr_entry_default as default, handleSsr };
213
-
214
- //# sourceMappingURL=app-ssr-entry.js.map
@@ -10,5 +10,4 @@ type SsrErrorMetaRenderer = {
10
10
  declare function renderSsrErrorMetaTags(errors: readonly unknown[], options?: SsrErrorMetaRenderOptions): string;
11
11
  declare function createSsrErrorMetaRenderer(options?: SsrErrorMetaRenderOptions): SsrErrorMetaRenderer;
12
12
  //#endregion
13
- export { createSsrErrorMetaRenderer, renderSsrErrorMetaTags };
14
- //# sourceMappingURL=app-ssr-error-meta.d.ts.map
13
+ export { createSsrErrorMetaRenderer, renderSsrErrorMetaTags };
@@ -46,5 +46,3 @@ function createSsrErrorMetaRenderer(options = {}) {
46
46
  }
47
47
  //#endregion
48
48
  export { createSsrErrorMetaRenderer, renderSsrErrorMetaTags };
49
-
50
- //# sourceMappingURL=app-ssr-error-meta.js.map
@@ -57,5 +57,4 @@ declare function fixPreloadAs(html: string): string;
57
57
  */
58
58
  declare function createTickBufferedTransform(rscEmbed: RscEmbedTransform, injectHTML?: HtmlInsertion, injectAfterHeadOpenHTML?: HtmlInsertion, inlineCssManifest?: InlineCssManifest, inlineCssPrependCss?: string, inlineCssPrependFallbackHTML?: string, inlineCssScriptNonce?: string): TransformStream<Uint8Array, Uint8Array>;
59
59
  //#endregion
60
- export { createNavigationRuntimeRscMetadataScript, createRscEmbedTransform, createTickBufferedTransform, fixFlightHints, fixPreloadAs, navigationRuntimeRscBootstrapExpression };
61
- //# sourceMappingURL=app-ssr-stream.d.ts.map
60
+ export { createNavigationRuntimeRscMetadataScript, createRscEmbedTransform, createTickBufferedTransform, fixFlightHints, fixPreloadAs, navigationRuntimeRscBootstrapExpression };
@@ -218,6 +218,18 @@ function rewriteInlineCssStylesheetLinks(html, inlineCssManifest, prependCss, ss
218
218
  */
219
219
  const HEAD_OPEN_RE = /<head\b[^>]*>/;
220
220
  /**
221
+ * Final closing tags of the streamed HTML document. We track this suffix
222
+ * separately so we can move it to the very end of the stream — trailing flight
223
+ * chunks and preinit scripts emitted by `rscEmbed.finalize()` are appended in
224
+ * `flush()`, which would otherwise land them after `</body></html>` and break
225
+ * any consumer that asserts the document terminates with a well-formed close.
226
+ *
227
+ * Ported from Next.js: packages/next/src/server/stream-utils/node-web-streams-helper.ts
228
+ * https://github.com/vercel/next.js/blob/canary/packages/next/src/server/stream-utils/node-web-streams-helper.ts
229
+ * (see `createMoveSuffixStream` and `CLOSE_TAG`)
230
+ */
231
+ const DOCUMENT_CLOSE_SUFFIX = "</body></html>";
232
+ /**
221
233
  * Create the tick-buffered HTML transform that injects RSC scripts between
222
234
  * React Fizz flush cycles without corrupting split HTML chunks.
223
235
  *
@@ -250,10 +262,26 @@ function createTickBufferedTransform(rscEmbed, injectHTML = "", injectAfterHeadO
250
262
  const insertsPerFlush = typeof injectHTML === "function";
251
263
  let injected = false;
252
264
  let preHeadInjected = false;
265
+ let suffixStripped = false;
253
266
  let buffered = [];
254
267
  let pendingHtml = "";
255
268
  let timeoutId = null;
256
269
  const hasInlineCssManifest = inlineCssManifest !== void 0 && Object.keys(inlineCssManifest).length > 0;
270
+ /**
271
+ * Strip the first occurrence of `</body></html>` from `chunk` so it can be
272
+ * re-emitted at the very end of the stream. Returns the rewritten chunk and
273
+ * a flag indicating whether a suffix was found. If `suffixStripped` is
274
+ * already true (i.e. an earlier chunk contained the suffix), this is a
275
+ * no-op — additional matches in later chunks shouldn't happen in practice,
276
+ * but we leave them alone to avoid corrupting unexpected output.
277
+ */
278
+ const stripDocumentCloseSuffix = (chunk) => {
279
+ if (suffixStripped) return chunk;
280
+ const index = chunk.indexOf(DOCUMENT_CLOSE_SUFFIX);
281
+ if (index === -1) return chunk;
282
+ suffixStripped = true;
283
+ return chunk.slice(0, index) + chunk.slice(index + 14);
284
+ };
257
285
  const readInsertion = () => typeof injectHTML === "function" ? injectHTML() : injectHTML;
258
286
  const readPreHeadInsertion = () => typeof injectAfterHeadOpenHTML === "function" ? injectAfterHeadOpenHTML() : injectAfterHeadOpenHTML;
259
287
  const readInlineCssPrependFallback = () => {
@@ -328,12 +356,13 @@ function createTickBufferedTransform(rscEmbed, injectHTML = "", injectAfterHeadO
328
356
  const headEnd = working.indexOf("</head>");
329
357
  if (headEnd !== -1) {
330
358
  const before = working.slice(0, headEnd);
331
- const after = working.slice(headEnd);
359
+ const after = stripDocumentCloseSuffix(working.slice(headEnd));
332
360
  controller.enqueue(encoder.encode(before + readInlineCssPrependFallback() + readInsertion() + after));
333
361
  injected = true;
334
362
  return;
335
363
  }
336
364
  }
365
+ working = stripDocumentCloseSuffix(working);
337
366
  controller.enqueue(encoder.encode(working));
338
367
  };
339
368
  return new TransformStream({
@@ -363,10 +392,9 @@ function createTickBufferedTransform(rscEmbed, injectHTML = "", injectAfterHeadO
363
392
  } else if (insertsPerFlush) emitInsertion(controller);
364
393
  const finalScripts = await rscEmbed.finalize();
365
394
  if (finalScripts) controller.enqueue(encoder.encode(finalScripts));
395
+ controller.enqueue(encoder.encode(DOCUMENT_CLOSE_SUFFIX));
366
396
  }
367
397
  });
368
398
  }
369
399
  //#endregion
370
400
  export { createNavigationRuntimeRscMetadataScript, createRscEmbedTransform, createTickBufferedTransform, fixFlightHints, fixPreloadAs, navigationRuntimeRscBootstrapExpression };
371
-
372
- //# sourceMappingURL=app-ssr-stream.js.map
@@ -12,5 +12,4 @@ declare function getAppPageStaticGenerationErrorMessage(): string;
12
12
  declare function getAppRouteStaticGenerationErrorMessage(routePattern?: string, expression?: string): string;
13
13
  declare function createStaticGenerationHeadersContext(options: CreateStaticGenerationHeadersContextOptions): HeadersContext;
14
14
  //#endregion
15
- export { createStaticGenerationHeadersContext, getAppPageStaticGenerationErrorMessage, getAppRouteStaticGenerationErrorMessage };
16
- //# sourceMappingURL=app-static-generation.d.ts.map
15
+ export { createStaticGenerationHeadersContext, getAppPageStaticGenerationErrorMessage, getAppRouteStaticGenerationErrorMessage };
@@ -17,5 +17,3 @@ function createStaticGenerationHeadersContext(options) {
17
17
  }
18
18
  //#endregion
19
19
  export { createStaticGenerationHeadersContext, getAppPageStaticGenerationErrorMessage, getAppRouteStaticGenerationErrorMessage };
20
-
21
- //# sourceMappingURL=app-static-generation.js.map
@@ -0,0 +1,23 @@
1
+ import { CachedRscResponse } from "../shims/navigation.js";
2
+
3
+ //#region src/server/app-visited-response-cache.d.ts
4
+ type VisitedResponseCacheNavigationKind = "navigate" | "refresh" | "traverse";
5
+ type VisitedResponseCacheEntry = {
6
+ createdAt: number;
7
+ expiresAt: number;
8
+ params: Record<string, string | string[]>;
9
+ response: CachedRscResponse;
10
+ };
11
+ declare const VISITED_RESPONSE_CACHE_TTL: number;
12
+ declare const MAX_TRAVERSAL_CACHE_TTL: number;
13
+ declare function createVisitedResponseCacheEntry(options: {
14
+ now: number;
15
+ params: Record<string, string | string[]>;
16
+ response: CachedRscResponse;
17
+ }): VisitedResponseCacheEntry;
18
+ declare function isVisitedResponseCacheEntryFresh(entry: VisitedResponseCacheEntry, options: {
19
+ navigationKind: VisitedResponseCacheNavigationKind;
20
+ now: number;
21
+ }): boolean;
22
+ //#endregion
23
+ export { MAX_TRAVERSAL_CACHE_TTL, VISITED_RESPONSE_CACHE_TTL, VisitedResponseCacheEntry, createVisitedResponseCacheEntry, isVisitedResponseCacheEntryFresh };
@@ -0,0 +1,19 @@
1
+ import { resolveCachedRscResponseExpiresAt } from "../shims/navigation.js";
2
+ //#region src/server/app-visited-response-cache.ts
3
+ const VISITED_RESPONSE_CACHE_TTL = 5 * 6e4;
4
+ const MAX_TRAVERSAL_CACHE_TTL = 30 * 6e4;
5
+ function createVisitedResponseCacheEntry(options) {
6
+ return {
7
+ createdAt: options.now,
8
+ expiresAt: resolveCachedRscResponseExpiresAt(options.now, options.response, VISITED_RESPONSE_CACHE_TTL),
9
+ params: options.params,
10
+ response: options.response
11
+ };
12
+ }
13
+ function isVisitedResponseCacheEntryFresh(entry, options) {
14
+ if (options.navigationKind === "refresh") return false;
15
+ if (options.navigationKind === "traverse") return options.now - entry.createdAt < MAX_TRAVERSAL_CACHE_TTL;
16
+ return entry.expiresAt > options.now;
17
+ }
18
+ //#endregion
19
+ export { MAX_TRAVERSAL_CACHE_TTL, VISITED_RESPONSE_CACHE_TTL, createVisitedResponseCacheEntry, isVisitedResponseCacheEntryFresh };
@@ -51,5 +51,4 @@ declare function createArtifactCompatibilityGraphVersion(input: ArtifactCompatib
51
51
  declare function parseArtifactCompatibilityEnvelope(value: unknown): ArtifactCompatibilityEnvelope | null;
52
52
  declare function evaluateArtifactCompatibility(current: ArtifactCompatibilityEnvelope, candidate: ArtifactCompatibilityEnvelope, options?: ArtifactCompatibilityEvaluationOptions): ArtifactCompatibilityDecision;
53
53
  //#endregion
54
- export { APP_ELEMENTS_SCHEMA_VERSION, ARTIFACT_COMPATIBILITY_PROOF_FIELDS, ARTIFACT_COMPATIBILITY_SCHEMA_VERSION, ArtifactCompatibilityEnvelope, ArtifactCompatibilityEvaluationOptions, ArtifactCompatibilityMap, ArtifactCompatibilitySet, RSC_PAYLOAD_SCHEMA_VERSION, createArtifactCompatibilityEnvelope, createArtifactCompatibilityGraphVersion, evaluateArtifactCompatibility, parseArtifactCompatibilityEnvelope };
55
- //# sourceMappingURL=artifact-compatibility.d.ts.map
54
+ export { APP_ELEMENTS_SCHEMA_VERSION, ARTIFACT_COMPATIBILITY_PROOF_FIELDS, ARTIFACT_COMPATIBILITY_SCHEMA_VERSION, ArtifactCompatibilityEnvelope, ArtifactCompatibilityEvaluationOptions, RSC_PAYLOAD_SCHEMA_VERSION, createArtifactCompatibilityEnvelope, createArtifactCompatibilityGraphVersion, evaluateArtifactCompatibility, parseArtifactCompatibilityEnvelope };
@@ -1,4 +1,5 @@
1
1
  import { fnv1a64 } from "../utils/hash.js";
2
+ import { isUnknownRecord } from "../utils/record.js";
2
3
  //#region src/server/artifact-compatibility.ts
3
4
  const ARTIFACT_COMPATIBILITY_SCHEMA_VERSION = 1;
4
5
  const APP_ELEMENTS_SCHEMA_VERSION = 1;
@@ -26,9 +27,6 @@ function createArtifactCompatibilityEnvelope(input = {}) {
26
27
  function createArtifactCompatibilityGraphVersion(input) {
27
28
  return `app-route-graph:${fnv1a64(JSON.stringify([input.routePattern, input.rootBoundaryId]))}`;
28
29
  }
29
- function isRecord(value) {
30
- return typeof value === "object" && value !== null && !Array.isArray(value);
31
- }
32
30
  function isStringOrNull(value) {
33
31
  return typeof value === "string" || value === null;
34
32
  }
@@ -36,7 +34,7 @@ function hasCurrentSchemaVersions(record) {
36
34
  return record.schemaVersion === 1 && record.appElementsSchemaVersion === 1 && record.rscPayloadSchemaVersion === 1;
37
35
  }
38
36
  function parseArtifactCompatibilityEnvelope(value) {
39
- if (!isRecord(value)) return null;
37
+ if (!isUnknownRecord(value)) return null;
40
38
  if (!hasCurrentSchemaVersions(value)) return null;
41
39
  if (!isStringOrNull(value.graphVersion)) return null;
42
40
  if (!isStringOrNull(value.deploymentVersion)) return null;
@@ -91,5 +89,3 @@ function evaluateArtifactCompatibility(current, candidate, options = {}) {
91
89
  }
92
90
  //#endregion
93
91
  export { APP_ELEMENTS_SCHEMA_VERSION, ARTIFACT_COMPATIBILITY_PROOF_FIELDS, ARTIFACT_COMPATIBILITY_SCHEMA_VERSION, RSC_PAYLOAD_SCHEMA_VERSION, createArtifactCompatibilityEnvelope, createArtifactCompatibilityGraphVersion, evaluateArtifactCompatibility, parseArtifactCompatibilityEnvelope };
94
-
95
- //# sourceMappingURL=artifact-compatibility.js.map
@@ -1,7 +1,21 @@
1
+ import { CdnCacheableHeaderInput } from "../shims/cdn-cache.js";
2
+
1
3
  //#region src/server/cache-control.d.ts
2
4
  declare const NEVER_CACHE_CONTROL = "private, no-cache, no-store, max-age=0, must-revalidate";
3
5
  declare const STATIC_CACHE_CONTROL = "s-maxage=31536000, stale-while-revalidate";
4
6
  declare const NO_STORE_CACHE_CONTROL = "no-store, must-revalidate";
7
+ /**
8
+ * Route a cacheable response's headers through the active CDN cache adapter and
9
+ * apply the result to `headers`. The default adapter yields a single
10
+ * `Cache-Control` identical to `input.cacheControl` (no behavior change); edge
11
+ * adapters may instead emit `CDN-Cache-Control` / `Cache-Tag`.
12
+ *
13
+ * We only clear `Cache-Control` — the one header vinext stamps internally — so
14
+ * a stale vinext value never lingers if an adapter chooses not to emit one. The
15
+ * adapter's own headers are applied via `set()`, which overrides any prior value
16
+ * for the same name, so there's no need to pre-clear adapter-specific headers.
17
+ */
18
+ declare function applyCdnResponseHeaders(headers: Headers, input: CdnCacheableHeaderInput): void;
5
19
  /**
6
20
  * Matches Next.js's `getCacheControlHeader` stale window semantics while
7
21
  * preserving vinext's legacy unbounded SWR header when no expire ceiling is
@@ -20,5 +34,4 @@ declare function buildRevalidateCacheControl(revalidateSeconds: number, expireSe
20
34
  */
21
35
  declare function buildCachedRevalidateCacheControl(cacheState: "HIT" | "STALE", revalidateSeconds: number, expireSeconds?: number): string;
22
36
  //#endregion
23
- export { NEVER_CACHE_CONTROL, NO_STORE_CACHE_CONTROL, STATIC_CACHE_CONTROL, buildCachedRevalidateCacheControl, buildRevalidateCacheControl };
24
- //# sourceMappingURL=cache-control.d.ts.map
37
+ export { NEVER_CACHE_CONTROL, NO_STORE_CACHE_CONTROL, STATIC_CACHE_CONTROL, applyCdnResponseHeaders, buildCachedRevalidateCacheControl, buildRevalidateCacheControl };
@@ -1,9 +1,29 @@
1
+ import { getCdnCacheAdapter } from "../shims/cdn-cache.js";
1
2
  //#region src/server/cache-control.ts
2
3
  const NEVER_CACHE_CONTROL = "private, no-cache, no-store, max-age=0, must-revalidate";
3
4
  const STATIC_CACHE_CONTROL = "s-maxage=31536000, stale-while-revalidate";
4
5
  const STALE_REVALIDATE_CACHE_CONTROL = "s-maxage=0, stale-while-revalidate";
5
6
  const NO_STORE_CACHE_CONTROL = "no-store, must-revalidate";
6
7
  /**
8
+ * Route a cacheable response's headers through the active CDN cache adapter and
9
+ * apply the result to `headers`. The default adapter yields a single
10
+ * `Cache-Control` identical to `input.cacheControl` (no behavior change); edge
11
+ * adapters may instead emit `CDN-Cache-Control` / `Cache-Tag`.
12
+ *
13
+ * We only clear `Cache-Control` — the one header vinext stamps internally — so
14
+ * a stale vinext value never lingers if an adapter chooses not to emit one. The
15
+ * adapter's own headers are applied via `set()`, which overrides any prior value
16
+ * for the same name, so there's no need to pre-clear adapter-specific headers.
17
+ */
18
+ function applyCdnResponseHeaders(headers, input) {
19
+ headers.delete("Cache-Control");
20
+ const map = getCdnCacheAdapter().buildResponseHeaders(input);
21
+ for (const [name, value] of Object.entries(map)) {
22
+ if (value === "") continue;
23
+ headers.set(name, value);
24
+ }
25
+ }
26
+ /**
7
27
  * Matches Next.js's `getCacheControlHeader` stale window semantics while
8
28
  * preserving vinext's legacy unbounded SWR header when no expire ceiling is
9
29
  * available yet.
@@ -29,6 +49,4 @@ function buildCachedRevalidateCacheControl(cacheState, revalidateSeconds, expire
29
49
  return buildRevalidateCacheControl(revalidateSeconds, expireSeconds);
30
50
  }
31
51
  //#endregion
32
- export { NEVER_CACHE_CONTROL, NO_STORE_CACHE_CONTROL, STATIC_CACHE_CONTROL, buildCachedRevalidateCacheControl, buildRevalidateCacheControl };
33
-
34
- //# sourceMappingURL=cache-control.js.map
52
+ export { NEVER_CACHE_CONTROL, NO_STORE_CACHE_CONTROL, STATIC_CACHE_CONTROL, applyCdnResponseHeaders, buildCachedRevalidateCacheControl, buildRevalidateCacheControl };
@@ -3,5 +3,4 @@ type VinextCacheState = "HIT" | "MISS" | "STALE" | "STATIC";
3
3
  declare function setCacheStateHeaders(headers: Headers, cacheState: VinextCacheState): void;
4
4
  declare function buildCacheStateHeaders(cacheState: VinextCacheState): Record<string, string>;
5
5
  //#endregion
6
- export { buildCacheStateHeaders, setCacheStateHeaders };
7
- //# sourceMappingURL=cache-headers.d.ts.map
6
+ export { buildCacheStateHeaders, setCacheStateHeaders };
@@ -15,5 +15,3 @@ function buildCacheStateHeaders(cacheState) {
15
15
  }
16
16
  //#endregion
17
17
  export { buildCacheStateHeaders, setCacheStateHeaders };
18
-
19
- //# sourceMappingURL=cache-headers.js.map
@@ -361,5 +361,4 @@ declare function createStaticLayoutArtifactReuseDecision(input: CreateStaticLayo
361
361
  declare function createCacheEntryReuseProof(decision: StaticLayoutArtifactReuseDecision | null): CacheEntryReuseProof;
362
362
  declare function createDisabledCacheProofDecision(input: CreateDisabledCacheProofDecisionInput): DisabledCacheProofDecision;
363
363
  //#endregion
364
- export { ALL_RENDER_REQUEST_API_KINDS, AppRouteCacheProofGraphScope, AppRouteCacheProofGraphScopeInput, BoundaryOutcome, BoundaryOutcomeCompatibility, BuildCacheVariantInput, BuildCacheVariantResult, BuildCacheVariantWithRouteBudgetInput, BuildCacheVariantWithRouteBudgetResult, BuildRenderObservationInput, BuildRenderRequestApiObservationsInput, BuildStaticLayoutReuseProofInput, BuildStaticLayoutReuseProofResult, CACHE_PROOF_MODEL_SCHEMA_VERSION, CacheEntryReuseDecision, CacheEntryReuseProof, CacheProofAcceptanceCode, CacheProofBreakerFallback, CacheProofBreakerFallbackMode, CacheProofDowngradeClassification, CacheProofDowngradeReason, CacheProofDowngradeTarget, CacheProofFallbackScope, CacheProofHotPathMetric, CacheProofModelSchemaVersion, CacheProofOutputScope, CacheProofRejectionCode, CacheProofTraceCode, CacheProofTraceFieldValue, CacheProofTraceFields, CacheVariant, CacheVariantBudget, CacheVariantDimension, CacheVariantDimensionInput, CacheVariantDimensionPrivacy, CacheVariantDimensionSource, CacheVariantRouteBudget, CacheVariantRouteBudgetAdmission, ClassifyCacheVariantDimensionDowngradeInput, ClassifyRenderObservationDowngradeInput, CreateDisabledCacheProofDecisionInput, CreateStaticLayoutArtifactReuseDecisionInput, DEFAULT_CACHE_VARIANT_BUDGET, DisabledCacheProofDecision, RenderCacheability, RenderObservation, RenderObservationCompleteness, RenderRequestApiKind, RenderRequestApiObservation, RenderRequestApiStatus, StaticLayoutArtifactReuseDecision, StaticLayoutArtifactReuseProof, StaticLayoutCacheProofOutputScope, StaticLayoutReuseProof, buildBoundaryOutcomeCompatibility, buildCacheVariant, buildCacheVariantWithRouteBudget, buildRenderObservation, buildRenderRequestApiObservations, buildStaticLayoutReuseProof, classifyCacheVariantDimensionDowngrade, classifyRenderObservationDowngrade, createAppRouteCacheProofGraphScope, createCacheEntryReuseProof, createDisabledCacheProofDecision, createStaticLayoutArtifactReuseDecision, enforceCacheVariantRouteBudget, hasCompleteNegativeRequestApiProof };
365
- //# sourceMappingURL=cache-proof.d.ts.map
364
+ export { ALL_RENDER_REQUEST_API_KINDS, AppRouteCacheProofGraphScope, AppRouteCacheProofGraphScopeInput, BoundaryOutcome, BoundaryOutcomeCompatibility, BuildCacheVariantInput, BuildCacheVariantResult, BuildCacheVariantWithRouteBudgetInput, BuildCacheVariantWithRouteBudgetResult, BuildRenderObservationInput, BuildRenderRequestApiObservationsInput, BuildStaticLayoutReuseProofInput, BuildStaticLayoutReuseProofResult, CACHE_PROOF_MODEL_SCHEMA_VERSION, CacheEntryReuseDecision, CacheEntryReuseProof, CacheProofAcceptanceCode, CacheProofBreakerFallback, CacheProofBreakerFallbackMode, CacheProofDowngradeClassification, CacheProofDowngradeReason, CacheProofDowngradeTarget, CacheProofFallbackScope, CacheProofHotPathMetric, CacheProofModelSchemaVersion, CacheProofOutputScope, CacheProofRejectionCode, CacheProofTraceCode, CacheProofTraceFieldValue, CacheProofTraceFields, CacheVariant, CacheVariantBudget, CacheVariantDimension, CacheVariantDimensionInput, CacheVariantDimensionPrivacy, CacheVariantDimensionSource, CacheVariantRouteBudget, CacheVariantRouteBudgetAdmission, ClassifyCacheVariantDimensionDowngradeInput, ClassifyRenderObservationDowngradeInput, CreateDisabledCacheProofDecisionInput, CreateStaticLayoutArtifactReuseDecisionInput, DEFAULT_CACHE_VARIANT_BUDGET, DisabledCacheProofDecision, RenderCacheability, RenderObservation, RenderObservationCompleteness, RenderRequestApiKind, RenderRequestApiObservation, RenderRequestApiStatus, StaticLayoutArtifactReuseDecision, StaticLayoutArtifactReuseProof, StaticLayoutCacheProofOutputScope, StaticLayoutReuseProof, buildBoundaryOutcomeCompatibility, buildCacheVariant, buildCacheVariantWithRouteBudget, buildRenderObservation, buildRenderRequestApiObservations, buildStaticLayoutReuseProof, classifyCacheVariantDimensionDowngrade, classifyRenderObservationDowngrade, createAppRouteCacheProofGraphScope, createCacheEntryReuseProof, createDisabledCacheProofDecision, createStaticLayoutArtifactReuseDecision, enforceCacheVariantRouteBudget, hasCompleteNegativeRequestApiProof };