vinext 0.0.55 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (985) hide show
  1. package/README.md +51 -15
  2. package/dist/build/clean-output.d.ts +1 -2
  3. package/dist/build/clean-output.js +0 -2
  4. package/dist/build/client-build-config.d.ts +16 -3
  5. package/dist/build/client-build-config.js +29 -4
  6. package/dist/build/css-url-assets.d.ts +29 -0
  7. package/dist/build/css-url-assets.js +211 -0
  8. package/dist/build/google-fonts/build-url.d.ts +1 -2
  9. package/dist/build/google-fonts/build-url.js +0 -2
  10. package/dist/build/google-fonts/fallback-metrics-data.js +0 -2
  11. package/dist/build/google-fonts/fallback-metrics.d.ts +1 -2
  12. package/dist/build/google-fonts/fallback-metrics.js +0 -2
  13. package/dist/build/google-fonts/font-data.js +0 -2
  14. package/dist/build/google-fonts/font-metadata.d.ts +1 -2
  15. package/dist/build/google-fonts/font-metadata.js +0 -2
  16. package/dist/build/google-fonts/get-axes.d.ts +1 -2
  17. package/dist/build/google-fonts/get-axes.js +0 -2
  18. package/dist/build/google-fonts/sort-variants.d.ts +1 -2
  19. package/dist/build/google-fonts/sort-variants.js +0 -2
  20. package/dist/build/google-fonts/validate.d.ts +1 -2
  21. package/dist/build/google-fonts/validate.js +0 -2
  22. package/dist/build/inline-css.d.ts +1 -2
  23. package/dist/build/inline-css.js +0 -2
  24. package/dist/build/layout-classification-types.d.ts +1 -2
  25. package/dist/build/layout-classification.d.ts +2 -3
  26. package/dist/build/layout-classification.js +1 -3
  27. package/dist/build/next-client-runtime-manifests.d.ts +14 -0
  28. package/dist/build/next-client-runtime-manifests.js +39 -0
  29. package/dist/build/nitro-route-rules.d.ts +1 -2
  30. package/dist/build/nitro-route-rules.js +0 -2
  31. package/dist/build/precompress.d.ts +1 -2
  32. package/dist/build/precompress.js +0 -2
  33. package/dist/build/prerender.d.ts +2 -3
  34. package/dist/build/prerender.js +14 -2
  35. package/dist/build/report.d.ts +1 -2
  36. package/dist/build/report.js +0 -2
  37. package/dist/build/route-classification-injector.d.ts +1 -2
  38. package/dist/build/route-classification-injector.js +4 -6
  39. package/dist/build/route-classification-manifest.d.ts +5 -6
  40. package/dist/build/route-classification-manifest.js +5 -7
  41. package/dist/build/run-prerender.d.ts +1 -2
  42. package/dist/build/run-prerender.js +15 -7
  43. package/dist/build/server-manifest.d.ts +1 -2
  44. package/dist/build/server-manifest.js +0 -2
  45. package/dist/build/ssr-manifest.d.ts +1 -2
  46. package/dist/build/ssr-manifest.js +2 -4
  47. package/dist/build/standalone.d.ts +1 -2
  48. package/dist/build/standalone.js +0 -2
  49. package/dist/build/static-export.d.ts +2 -3
  50. package/dist/build/static-export.js +0 -2
  51. package/dist/cache/cache-adapters-virtual.d.ts +50 -0
  52. package/dist/cache/cache-adapters-virtual.js +45 -0
  53. package/dist/check.d.ts +33 -2
  54. package/dist/check.js +306 -24
  55. package/dist/cli-args.d.ts +1 -2
  56. package/dist/cli-args.js +0 -2
  57. package/dist/cli.js +7 -13
  58. package/dist/client/instrumentation-client-inject.d.ts +1 -2
  59. package/dist/client/instrumentation-client-inject.js +0 -2
  60. package/dist/client/instrumentation-client-state.d.ts +1 -2
  61. package/dist/client/instrumentation-client-state.js +0 -2
  62. package/dist/client/instrumentation-client.d.ts +1 -2
  63. package/dist/client/instrumentation-client.js +0 -2
  64. package/dist/client/navigation-runtime.d.ts +1 -2
  65. package/dist/client/navigation-runtime.js +0 -2
  66. package/dist/client/pages-router-link-navigation.d.ts +1 -2
  67. package/dist/client/pages-router-link-navigation.js +0 -2
  68. package/dist/client/validate-module-path.d.ts +1 -2
  69. package/dist/client/validate-module-path.js +0 -2
  70. package/dist/client/vinext-next-data.d.ts +1 -2
  71. package/dist/client/vinext-next-data.js +0 -2
  72. package/dist/client/window-next.d.ts +1 -2
  73. package/dist/client/window-next.js +0 -2
  74. package/dist/cloudflare/index.d.ts +1 -1
  75. package/dist/cloudflare/index.js +1 -1
  76. package/dist/cloudflare/src/cache/cdn-adapter.runtime.js +97 -0
  77. package/dist/cloudflare/{kv-cache-handler.d.ts → src/cache/kv-data-adapter.runtime.d.ts} +25 -6
  78. package/dist/cloudflare/{kv-cache-handler.js → src/cache/kv-data-adapter.runtime.js} +36 -28
  79. package/dist/cloudflare/src/utils/cache-control-metadata.js +20 -0
  80. package/dist/cloudflare/tpr.d.ts +2 -3
  81. package/dist/cloudflare/tpr.js +8 -8
  82. package/dist/config/config-matchers.d.ts +1 -2
  83. package/dist/config/config-matchers.js +0 -2
  84. package/dist/config/dotenv.d.ts +1 -2
  85. package/dist/config/dotenv.js +0 -2
  86. package/dist/config/next-config.d.ts +16 -2
  87. package/dist/config/next-config.js +23 -4
  88. package/dist/config/tsconfig-paths.d.ts +1 -2
  89. package/dist/config/tsconfig-paths.js +3 -7
  90. package/dist/deploy.d.ts +48 -3
  91. package/dist/deploy.js +141 -112
  92. package/dist/entries/app-browser-entry.d.ts +1 -2
  93. package/dist/entries/app-browser-entry.js +0 -2
  94. package/dist/entries/app-rsc-entry.d.ts +4 -4
  95. package/dist/entries/app-rsc-entry.js +50 -61
  96. package/dist/entries/app-rsc-manifest.d.ts +1 -2
  97. package/dist/entries/app-rsc-manifest.js +20 -7
  98. package/dist/entries/app-ssr-entry.d.ts +1 -2
  99. package/dist/entries/app-ssr-entry.js +0 -2
  100. package/dist/entries/pages-client-entry.d.ts +3 -3
  101. package/dist/entries/pages-client-entry.js +16 -5
  102. package/dist/entries/pages-entry-helpers.d.ts +2 -11
  103. package/dist/entries/pages-entry-helpers.js +1 -20
  104. package/dist/entries/pages-server-entry.d.ts +2 -3
  105. package/dist/entries/pages-server-entry.js +89 -702
  106. package/dist/entries/runtime-entry-module.d.ts +1 -2
  107. package/dist/entries/runtime-entry-module.js +0 -2
  108. package/dist/index.d.ts +22 -2
  109. package/dist/index.js +216 -101
  110. package/dist/init.d.ts +1 -2
  111. package/dist/init.js +1 -3
  112. package/dist/plugins/ast-utils.d.ts +20 -0
  113. package/dist/plugins/ast-utils.js +78 -0
  114. package/dist/plugins/async-hooks-stub.d.ts +1 -2
  115. package/dist/plugins/async-hooks-stub.js +0 -2
  116. package/dist/plugins/client-reference-dedup.d.ts +1 -2
  117. package/dist/plugins/client-reference-dedup.js +4 -8
  118. package/dist/plugins/css-data-url.d.ts +1 -2
  119. package/dist/plugins/css-data-url.js +0 -2
  120. package/dist/plugins/fonts.d.ts +13 -3
  121. package/dist/plugins/fonts.js +19 -13
  122. package/dist/plugins/import-meta-url.d.ts +2 -2
  123. package/dist/plugins/import-meta-url.js +187 -33
  124. package/dist/plugins/instrumentation-client.d.ts +1 -2
  125. package/dist/plugins/instrumentation-client.js +0 -2
  126. package/dist/plugins/middleware-server-only.d.ts +1 -2
  127. package/dist/plugins/middleware-server-only.js +0 -2
  128. package/dist/plugins/og-assets.d.ts +32 -8
  129. package/dist/plugins/og-assets.js +126 -34
  130. package/dist/plugins/optimize-imports.d.ts +1 -2
  131. package/dist/plugins/optimize-imports.js +9 -17
  132. package/dist/plugins/postcss.d.ts +1 -2
  133. package/dist/plugins/postcss.js +0 -2
  134. package/dist/plugins/remove-console.d.ts +1 -2
  135. package/dist/plugins/remove-console.js +0 -2
  136. package/dist/plugins/rsc-client-reference-loaders.d.ts +1 -2
  137. package/dist/plugins/rsc-client-reference-loaders.js +0 -2
  138. package/dist/plugins/rsc-client-shim-excludes.d.ts +1 -2
  139. package/dist/plugins/rsc-client-shim-excludes.js +0 -2
  140. package/dist/plugins/sass.d.ts +1 -2
  141. package/dist/plugins/sass.js +0 -2
  142. package/dist/plugins/server-externals-manifest.d.ts +1 -2
  143. package/dist/plugins/server-externals-manifest.js +0 -2
  144. package/dist/plugins/strip-server-exports.d.ts +1 -2
  145. package/dist/plugins/strip-server-exports.js +0 -2
  146. package/dist/routing/app-route-graph.d.ts +2 -9
  147. package/dist/routing/app-route-graph.js +9 -30
  148. package/dist/routing/app-router.d.ts +1 -2
  149. package/dist/routing/app-router.js +0 -2
  150. package/dist/routing/file-matcher.d.ts +6 -2
  151. package/dist/routing/file-matcher.js +15 -7
  152. package/dist/routing/pages-router.d.ts +1 -2
  153. package/dist/routing/pages-router.js +0 -2
  154. package/dist/routing/route-matching.d.ts +1 -2
  155. package/dist/routing/route-matching.js +0 -2
  156. package/dist/routing/route-pattern.d.ts +1 -2
  157. package/dist/routing/route-pattern.js +0 -2
  158. package/dist/routing/route-trie.d.ts +1 -2
  159. package/dist/routing/route-trie.js +0 -2
  160. package/dist/routing/route-validation.d.ts +1 -2
  161. package/dist/routing/route-validation.js +0 -2
  162. package/dist/routing/utils.d.ts +44 -2
  163. package/dist/routing/utils.js +62 -3
  164. package/dist/server/api-handler.d.ts +1 -2
  165. package/dist/server/api-handler.js +0 -2
  166. package/dist/server/app-bfcache-id.d.ts +5 -0
  167. package/dist/server/app-bfcache-id.js +5 -0
  168. package/dist/server/app-browser-action-result.d.ts +1 -2
  169. package/dist/server/app-browser-action-result.js +0 -2
  170. package/dist/server/app-browser-client-reuse-manifest.d.ts +12 -0
  171. package/dist/server/app-browser-client-reuse-manifest.js +101 -0
  172. package/dist/server/app-browser-entry.js +186 -75
  173. package/dist/server/app-browser-error.d.ts +1 -2
  174. package/dist/server/app-browser-error.js +0 -2
  175. package/dist/server/app-browser-hydration.d.ts +1 -2
  176. package/dist/server/app-browser-hydration.js +0 -2
  177. package/dist/server/app-browser-interception-context.d.ts +1 -2
  178. package/dist/server/app-browser-interception-context.js +0 -2
  179. package/dist/server/app-browser-mpa-navigation.d.ts +2 -2
  180. package/dist/server/app-browser-mpa-navigation.js +9 -3
  181. package/dist/server/app-browser-navigation-controller.d.ts +5 -4
  182. package/dist/server/app-browser-navigation-controller.js +3 -3
  183. package/dist/server/app-browser-popstate.d.ts +1 -2
  184. package/dist/server/app-browser-popstate.js +0 -2
  185. package/dist/server/app-browser-rsc-redirect.d.ts +1 -2
  186. package/dist/server/app-browser-rsc-redirect.js +0 -2
  187. package/dist/server/app-browser-state.d.ts +28 -4
  188. package/dist/server/app-browser-state.js +193 -10
  189. package/dist/server/app-browser-stream.d.ts +1 -2
  190. package/dist/server/app-browser-stream.js +0 -2
  191. package/dist/server/app-browser-visible-commit.d.ts +2 -3
  192. package/dist/server/app-browser-visible-commit.js +24 -17
  193. package/dist/server/app-client-reference-preloader.d.ts +1 -2
  194. package/dist/server/app-client-reference-preloader.js +0 -2
  195. package/dist/server/app-elements-wire.d.ts +14 -8
  196. package/dist/server/app-elements-wire.js +45 -24
  197. package/dist/server/app-elements.d.ts +2 -3
  198. package/dist/server/app-elements.js +2 -4
  199. package/dist/server/app-fallback-renderer.d.ts +5 -5
  200. package/dist/server/app-fallback-renderer.js +4 -3
  201. package/dist/server/app-history-state.d.ts +18 -2
  202. package/dist/server/app-history-state.js +68 -10
  203. package/dist/server/app-hook-warning-suppression.d.ts +1 -2
  204. package/dist/server/app-hook-warning-suppression.js +0 -2
  205. package/dist/server/app-inline-css-client.d.ts +1 -2
  206. package/dist/server/app-inline-css-client.js +0 -2
  207. package/dist/server/app-interception-context-header.d.ts +1 -2
  208. package/dist/server/app-interception-context-header.js +0 -2
  209. package/dist/server/app-layout-param-observation.d.ts +15 -2
  210. package/dist/server/app-layout-param-observation.js +46 -8
  211. package/dist/server/app-middleware.d.ts +1 -2
  212. package/dist/server/app-middleware.js +0 -2
  213. package/dist/server/app-mounted-slots-header.d.ts +1 -2
  214. package/dist/server/app-mounted-slots-header.js +0 -2
  215. package/dist/server/app-optimistic-routing.d.ts +1 -2
  216. package/dist/server/app-optimistic-routing.js +0 -2
  217. package/dist/server/app-page-boundary-render.d.ts +4 -3
  218. package/dist/server/app-page-boundary-render.js +18 -9
  219. package/dist/server/app-page-boundary.d.ts +11 -2
  220. package/dist/server/app-page-boundary.js +13 -4
  221. package/dist/server/app-page-cache.d.ts +3 -3
  222. package/dist/server/app-page-cache.js +36 -11
  223. package/dist/server/app-page-dispatch.d.ts +19 -5
  224. package/dist/server/app-page-dispatch.js +119 -24
  225. package/dist/server/app-page-element-builder.d.ts +3 -2
  226. package/dist/server/app-page-element-builder.js +9 -11
  227. package/dist/server/app-page-execution.d.ts +8 -3
  228. package/dist/server/app-page-execution.js +55 -24
  229. package/dist/server/app-page-head.d.ts +1 -2
  230. package/dist/server/app-page-head.js +6 -6
  231. package/dist/server/app-page-method.d.ts +1 -2
  232. package/dist/server/app-page-method.js +0 -2
  233. package/dist/server/app-page-params.d.ts +1 -2
  234. package/dist/server/app-page-params.js +0 -2
  235. package/dist/server/app-page-probe.d.ts +79 -2
  236. package/dist/server/app-page-probe.js +89 -9
  237. package/dist/server/app-page-render-identity.d.ts +1 -2
  238. package/dist/server/app-page-render-identity.js +0 -2
  239. package/dist/server/app-page-render-observation.d.ts +1 -2
  240. package/dist/server/app-page-render-observation.js +0 -2
  241. package/dist/server/app-page-render.d.ts +9 -3
  242. package/dist/server/app-page-render.js +167 -10
  243. package/dist/server/app-page-request.d.ts +4 -3
  244. package/dist/server/app-page-request.js +1 -3
  245. package/dist/server/app-page-response.d.ts +2 -2
  246. package/dist/server/app-page-response.js +5 -3
  247. package/dist/server/app-page-route-wiring.d.ts +14 -3
  248. package/dist/server/app-page-route-wiring.js +63 -11
  249. package/dist/server/app-page-search-params-observation.d.ts +10 -0
  250. package/dist/server/app-page-search-params-observation.js +20 -0
  251. package/dist/server/app-page-segment-state.d.ts +1 -2
  252. package/dist/server/app-page-segment-state.js +1 -8
  253. package/dist/server/app-page-stream.d.ts +19 -9
  254. package/dist/server/app-page-stream.js +28 -10
  255. package/dist/server/app-pages-bridge.d.ts +25 -0
  256. package/dist/server/app-pages-bridge.js +34 -0
  257. package/dist/server/app-post-middleware-context.d.ts +1 -2
  258. package/dist/server/app-post-middleware-context.js +0 -2
  259. package/dist/server/app-ppr-fallback-shell.d.ts +21 -0
  260. package/dist/server/app-ppr-fallback-shell.js +82 -0
  261. package/dist/server/app-prerender-endpoints.d.ts +1 -2
  262. package/dist/server/app-prerender-endpoints.js +0 -2
  263. package/dist/server/app-prerender-static-params.d.ts +15 -2
  264. package/dist/server/app-prerender-static-params.js +44 -13
  265. package/dist/server/app-render-dependency.d.ts +3 -2
  266. package/dist/server/app-render-dependency.js +9 -3
  267. package/dist/server/app-request-context.d.ts +1 -2
  268. package/dist/server/app-request-context.js +0 -2
  269. package/dist/server/app-route-handler-cache.d.ts +1 -2
  270. package/dist/server/app-route-handler-cache.js +0 -2
  271. package/dist/server/app-route-handler-dispatch.d.ts +1 -2
  272. package/dist/server/app-route-handler-dispatch.js +0 -2
  273. package/dist/server/app-route-handler-execution.d.ts +1 -2
  274. package/dist/server/app-route-handler-execution.js +2 -4
  275. package/dist/server/app-route-handler-policy.d.ts +1 -2
  276. package/dist/server/app-route-handler-policy.js +0 -2
  277. package/dist/server/app-route-handler-response.d.ts +2 -3
  278. package/dist/server/app-route-handler-response.js +7 -6
  279. package/dist/server/app-route-handler-runtime.d.ts +1 -2
  280. package/dist/server/app-route-handler-runtime.js +0 -2
  281. package/dist/server/app-route-module-loader.d.ts +43 -0
  282. package/dist/server/app-route-module-loader.js +32 -0
  283. package/dist/server/app-router-entry.d.ts +1 -2
  284. package/dist/server/app-router-entry.js +2 -2
  285. package/dist/server/app-rsc-cache-busting.d.ts +10 -2
  286. package/dist/server/app-rsc-cache-busting.js +13 -4
  287. package/dist/server/app-rsc-embedded-chunks.d.ts +1 -2
  288. package/dist/server/app-rsc-embedded-chunks.js +0 -2
  289. package/dist/server/app-rsc-error-handler.d.ts +1 -2
  290. package/dist/server/app-rsc-error-handler.js +0 -2
  291. package/dist/server/app-rsc-errors.d.ts +1 -2
  292. package/dist/server/app-rsc-errors.js +0 -2
  293. package/dist/server/app-rsc-handler.d.ts +16 -2
  294. package/dist/server/app-rsc-handler.js +21 -13
  295. package/dist/server/app-rsc-render-mode.d.ts +1 -2
  296. package/dist/server/app-rsc-render-mode.js +0 -2
  297. package/dist/server/app-rsc-request-normalization.d.ts +4 -5
  298. package/dist/server/app-rsc-request-normalization.js +2 -4
  299. package/dist/server/app-rsc-response-finalizer.d.ts +1 -2
  300. package/dist/server/app-rsc-response-finalizer.js +2 -2
  301. package/dist/server/app-rsc-route-matching.d.ts +1 -2
  302. package/dist/server/app-rsc-route-matching.js +0 -2
  303. package/dist/server/app-segment-config.d.ts +4 -2
  304. package/dist/server/app-segment-config.js +8 -2
  305. package/dist/server/app-server-action-execution.d.ts +7 -2
  306. package/dist/server/app-server-action-execution.js +7 -8
  307. package/dist/server/app-ssr-entry.d.ts +5 -4
  308. package/dist/server/app-ssr-entry.js +31 -15
  309. package/dist/server/app-ssr-error-meta.d.ts +1 -2
  310. package/dist/server/app-ssr-error-meta.js +0 -2
  311. package/dist/server/app-ssr-stream.d.ts +1 -2
  312. package/dist/server/app-ssr-stream.js +31 -3
  313. package/dist/server/app-static-generation.d.ts +1 -2
  314. package/dist/server/app-static-generation.js +0 -2
  315. package/dist/server/app-visited-response-cache.d.ts +23 -0
  316. package/dist/server/app-visited-response-cache.js +19 -0
  317. package/dist/server/artifact-compatibility.d.ts +1 -2
  318. package/dist/server/artifact-compatibility.js +2 -6
  319. package/dist/server/cache-control.d.ts +15 -2
  320. package/dist/server/cache-control.js +21 -3
  321. package/dist/server/cache-headers.d.ts +1 -2
  322. package/dist/server/cache-headers.js +0 -2
  323. package/dist/server/cache-proof.d.ts +1 -2
  324. package/dist/server/cache-proof.js +0 -2
  325. package/dist/server/client-reuse-manifest.d.ts +3 -3
  326. package/dist/server/client-reuse-manifest.js +6 -10
  327. package/dist/server/client-trace-metadata.d.ts +1 -2
  328. package/dist/server/client-trace-metadata.js +0 -2
  329. package/dist/server/cookie-utils.d.ts +1 -2
  330. package/dist/server/cookie-utils.js +0 -2
  331. package/dist/server/csp.d.ts +1 -2
  332. package/dist/server/csp.js +0 -2
  333. package/dist/server/default-global-error-module.d.ts +1 -2
  334. package/dist/server/default-global-error-module.js +0 -2
  335. package/dist/server/default-not-found-module.d.ts +1 -2
  336. package/dist/server/default-not-found-module.js +0 -2
  337. package/dist/server/dev-error-overlay-store.d.ts +20 -4
  338. package/dist/server/dev-error-overlay-store.js +23 -4
  339. package/dist/server/dev-error-overlay.d.ts +39 -3
  340. package/dist/server/dev-error-overlay.js +952 -164
  341. package/dist/server/dev-initial-server-error.d.ts +9 -0
  342. package/dist/server/dev-initial-server-error.js +26 -0
  343. package/dist/server/dev-lockfile.d.ts +1 -2
  344. package/dist/server/dev-lockfile.js +0 -2
  345. package/dist/server/dev-module-runner.d.ts +1 -2
  346. package/dist/server/dev-module-runner.js +0 -2
  347. package/dist/server/dev-origin-check.d.ts +1 -2
  348. package/dist/server/dev-origin-check.js +0 -2
  349. package/dist/server/dev-route-files.d.ts +1 -2
  350. package/dist/server/dev-route-files.js +0 -2
  351. package/dist/server/dev-server.d.ts +2 -3
  352. package/dist/server/dev-server.js +75 -18
  353. package/dist/server/dev-stack-sourcemap-endpoint.d.ts +4 -0
  354. package/dist/server/dev-stack-sourcemap-endpoint.js +4 -0
  355. package/dist/server/dev-stack-sourcemap.d.ts +43 -0
  356. package/dist/server/dev-stack-sourcemap.js +443 -0
  357. package/dist/server/document-initial-head.d.ts +1 -2
  358. package/dist/server/document-initial-head.js +0 -2
  359. package/dist/server/edge-api-runtime.d.ts +1 -2
  360. package/dist/server/edge-api-runtime.js +0 -2
  361. package/dist/server/file-based-metadata.d.ts +1 -2
  362. package/dist/server/file-based-metadata.js +0 -2
  363. package/dist/server/headers.d.ts +3 -2
  364. package/dist/server/headers.js +3 -3
  365. package/dist/server/html.d.ts +1 -2
  366. package/dist/server/html.js +0 -2
  367. package/dist/server/http-error-responses.d.ts +1 -2
  368. package/dist/server/http-error-responses.js +0 -2
  369. package/dist/server/image-optimization.d.ts +1 -2
  370. package/dist/server/image-optimization.js +0 -2
  371. package/dist/server/implicit-tags.d.ts +1 -2
  372. package/dist/server/implicit-tags.js +0 -2
  373. package/dist/server/instrumentation-runtime.d.ts +1 -2
  374. package/dist/server/instrumentation-runtime.js +0 -2
  375. package/dist/server/instrumentation.d.ts +1 -2
  376. package/dist/server/instrumentation.js +0 -2
  377. package/dist/server/isr-cache.d.ts +10 -3
  378. package/dist/server/isr-cache.js +13 -28
  379. package/dist/server/metadata-route-build-data.d.ts +1 -2
  380. package/dist/server/metadata-route-build-data.js +0 -2
  381. package/dist/server/metadata-route-response.d.ts +1 -2
  382. package/dist/server/metadata-route-response.js +0 -2
  383. package/dist/server/metadata-routes.d.ts +1 -2
  384. package/dist/server/metadata-routes.js +0 -2
  385. package/dist/server/middleware-matcher.d.ts +1 -2
  386. package/dist/server/middleware-matcher.js +0 -2
  387. package/dist/server/middleware-request-headers.d.ts +1 -2
  388. package/dist/server/middleware-request-headers.js +0 -2
  389. package/dist/server/middleware-response-headers.d.ts +1 -2
  390. package/dist/server/middleware-response-headers.js +0 -2
  391. package/dist/server/middleware-runtime.d.ts +1 -2
  392. package/dist/server/middleware-runtime.js +14 -5
  393. package/dist/server/middleware.d.ts +2 -3
  394. package/dist/server/middleware.js +0 -2
  395. package/dist/server/navigation-planner.d.ts +16 -2
  396. package/dist/server/navigation-planner.js +1 -3
  397. package/dist/server/navigation-trace.d.ts +1 -2
  398. package/dist/server/navigation-trace.js +0 -2
  399. package/dist/server/next-error-digest.d.ts +1 -2
  400. package/dist/server/next-error-digest.js +0 -2
  401. package/dist/server/normalize-path.d.ts +1 -2
  402. package/dist/server/normalize-path.js +0 -2
  403. package/dist/server/pages-api-route.d.ts +1 -2
  404. package/dist/server/pages-api-route.js +1 -3
  405. package/dist/server/pages-asset-tags.d.ts +66 -0
  406. package/dist/server/pages-asset-tags.js +116 -0
  407. package/dist/server/pages-body-parser-config.d.ts +1 -2
  408. package/dist/server/pages-body-parser-config.js +0 -2
  409. package/dist/server/pages-data-route.d.ts +39 -2
  410. package/dist/server/pages-data-route.js +46 -3
  411. package/dist/server/pages-default-404.d.ts +1 -2
  412. package/dist/server/pages-default-404.js +0 -2
  413. package/dist/server/pages-document-initial-props.d.ts +1 -2
  414. package/dist/server/pages-document-initial-props.js +0 -2
  415. package/dist/server/pages-get-initial-props.d.ts +17 -0
  416. package/dist/server/pages-get-initial-props.js +50 -0
  417. package/dist/server/pages-i18n.d.ts +1 -2
  418. package/dist/server/pages-i18n.js +0 -2
  419. package/dist/server/pages-media-type.d.ts +1 -2
  420. package/dist/server/pages-media-type.js +1 -2
  421. package/dist/server/pages-node-compat.d.ts +9 -2
  422. package/dist/server/pages-node-compat.js +34 -3
  423. package/dist/server/pages-page-data.d.ts +7 -3
  424. package/dist/server/pages-page-data.js +75 -33
  425. package/dist/server/pages-page-handler.d.ts +90 -0
  426. package/dist/server/pages-page-handler.js +335 -0
  427. package/dist/server/pages-page-method.d.ts +1 -2
  428. package/dist/server/pages-page-method.js +0 -2
  429. package/dist/server/pages-page-response.d.ts +1 -2
  430. package/dist/server/pages-page-response.js +8 -4
  431. package/dist/server/pages-serializable-props.d.ts +1 -2
  432. package/dist/server/pages-serializable-props.js +0 -2
  433. package/dist/server/pregenerated-concrete-paths.d.ts +32 -0
  434. package/dist/server/pregenerated-concrete-paths.js +78 -0
  435. package/dist/server/prerender-route-params.d.ts +13 -3
  436. package/dist/server/prerender-route-params.js +30 -11
  437. package/dist/server/prerender-work-unit-setup.d.ts +1 -2
  438. package/dist/server/prerender-work-unit-setup.js +0 -2
  439. package/dist/server/prod-server.d.ts +2 -4
  440. package/dist/server/prod-server.js +0 -2
  441. package/dist/server/proxy-trust.d.ts +1 -2
  442. package/dist/server/proxy-trust.js +0 -2
  443. package/dist/server/request-log.d.ts +1 -2
  444. package/dist/server/request-log.js +0 -2
  445. package/dist/server/request-pipeline.d.ts +14 -2
  446. package/dist/server/request-pipeline.js +42 -3
  447. package/dist/server/rsc-stream-hints.d.ts +1 -2
  448. package/dist/server/rsc-stream-hints.js +0 -2
  449. package/dist/server/seed-cache.d.ts +6 -2
  450. package/dist/server/seed-cache.js +10 -8
  451. package/dist/server/server-action-not-found.d.ts +1 -2
  452. package/dist/server/server-action-not-found.js +0 -2
  453. package/dist/server/server-globals.d.ts +1 -2
  454. package/dist/server/server-globals.js +0 -2
  455. package/dist/server/skip-cache-proof.d.ts +1 -2
  456. package/dist/server/skip-cache-proof.js +0 -2
  457. package/dist/server/socket-error-backstop.d.ts +1 -2
  458. package/dist/server/socket-error-backstop.js +0 -2
  459. package/dist/server/static-file-cache.d.ts +1 -2
  460. package/dist/server/static-file-cache.js +0 -2
  461. package/dist/server/static-layout-client-reuse-proof.d.ts +1 -2
  462. package/dist/server/static-layout-client-reuse-proof.js +0 -2
  463. package/dist/server/streaming-metadata.d.ts +1 -2
  464. package/dist/server/streaming-metadata.js +0 -2
  465. package/dist/server/worker-utils.d.ts +1 -2
  466. package/dist/server/worker-utils.js +3 -6
  467. package/dist/shims/amp.d.ts +1 -2
  468. package/dist/shims/amp.js +0 -2
  469. package/dist/shims/app-router-scroll-state.d.ts +1 -2
  470. package/dist/shims/app-router-scroll-state.js +0 -2
  471. package/dist/shims/app-router-scroll.d.ts +3 -5
  472. package/dist/shims/app-router-scroll.js +0 -2
  473. package/dist/shims/app.d.ts +1 -2
  474. package/dist/shims/app.js +0 -2
  475. package/dist/shims/before-interactive-context.d.ts +1 -2
  476. package/dist/shims/before-interactive-context.js +0 -2
  477. package/dist/shims/cache-for-request.d.ts +1 -2
  478. package/dist/shims/cache-for-request.js +0 -2
  479. package/dist/shims/cache-runtime.d.ts +20 -5
  480. package/dist/shims/cache-runtime.js +35 -30
  481. package/dist/shims/cache.d.ts +48 -7
  482. package/dist/shims/cache.js +79 -20
  483. package/dist/shims/cdn-cache.d.ts +125 -0
  484. package/dist/shims/cdn-cache.js +100 -0
  485. package/dist/shims/client-hook-error.d.ts +1 -2
  486. package/dist/shims/client-hook-error.js +0 -2
  487. package/dist/shims/client-locale.d.ts +1 -2
  488. package/dist/shims/client-locale.js +1 -3
  489. package/dist/shims/compat-router.d.ts +1 -2
  490. package/dist/shims/compat-router.js +0 -2
  491. package/dist/shims/config.d.ts +1 -2
  492. package/dist/shims/config.js +0 -2
  493. package/dist/shims/constants.d.ts +1 -2
  494. package/dist/shims/constants.js +0 -2
  495. package/dist/shims/default-global-error.d.ts +3 -4
  496. package/dist/shims/default-global-error.js +0 -2
  497. package/dist/shims/default-not-found.d.ts +1 -2
  498. package/dist/shims/default-not-found.js +0 -2
  499. package/dist/shims/document.d.ts +5 -7
  500. package/dist/shims/document.js +0 -2
  501. package/dist/shims/dynamic.d.ts +1 -2
  502. package/dist/shims/dynamic.js +0 -2
  503. package/dist/shims/error-boundary.d.ts +16 -12
  504. package/dist/shims/error-boundary.js +35 -2
  505. package/dist/shims/error.d.ts +1 -2
  506. package/dist/shims/error.js +0 -2
  507. package/dist/shims/fetch-cache.d.ts +1 -2
  508. package/dist/shims/fetch-cache.js +2 -4
  509. package/dist/shims/font-google-base.d.ts +1 -2
  510. package/dist/shims/font-google-base.js +1 -13
  511. package/dist/shims/font-local.d.ts +1 -2
  512. package/dist/shims/font-local.js +1 -15
  513. package/dist/shims/font-utils.d.ts +7 -2
  514. package/dist/shims/font-utils.js +13 -3
  515. package/dist/shims/form.d.ts +12 -5
  516. package/dist/shims/form.js +98 -21
  517. package/dist/shims/hash-scroll.d.ts +1 -2
  518. package/dist/shims/hash-scroll.js +0 -2
  519. package/dist/shims/head-state.d.ts +1 -2
  520. package/dist/shims/head-state.js +0 -2
  521. package/dist/shims/head.d.ts +1 -2
  522. package/dist/shims/head.js +0 -2
  523. package/dist/shims/headers.d.ts +9 -2
  524. package/dist/shims/headers.js +13 -3
  525. package/dist/shims/i18n-context.d.ts +1 -2
  526. package/dist/shims/i18n-context.js +0 -2
  527. package/dist/shims/i18n-state.d.ts +1 -2
  528. package/dist/shims/i18n-state.js +0 -2
  529. package/dist/shims/image-config.d.ts +1 -2
  530. package/dist/shims/image-config.js +0 -2
  531. package/dist/shims/image.d.ts +1 -2
  532. package/dist/shims/image.js +1 -3
  533. package/dist/shims/internal/als-registry.d.ts +1 -2
  534. package/dist/shims/internal/als-registry.js +0 -2
  535. package/dist/shims/internal/api-utils.d.ts +1 -2
  536. package/dist/shims/internal/app-route-detection.d.ts +1 -2
  537. package/dist/shims/internal/app-route-detection.js +0 -2
  538. package/dist/shims/internal/app-router-context.d.ts +1 -2
  539. package/dist/shims/internal/app-router-context.js +0 -2
  540. package/dist/shims/internal/cookie-serialize.d.ts +1 -2
  541. package/dist/shims/internal/cookie-serialize.js +0 -2
  542. package/dist/shims/internal/make-hanging-promise.d.ts +1 -2
  543. package/dist/shims/internal/make-hanging-promise.js +0 -2
  544. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +1 -2
  545. package/dist/shims/internal/pages-data-fetch-dedup.js +0 -2
  546. package/dist/shims/internal/pages-data-target.d.ts +1 -2
  547. package/dist/shims/internal/pages-data-target.js +0 -2
  548. package/dist/shims/internal/pages-data-url.d.ts +1 -2
  549. package/dist/shims/internal/pages-data-url.js +0 -2
  550. package/dist/shims/internal/parse-cookie-header.d.ts +1 -2
  551. package/dist/shims/internal/parse-cookie-header.js +0 -2
  552. package/dist/shims/internal/router-context.d.ts +2 -4
  553. package/dist/shims/internal/router-context.js +0 -2
  554. package/dist/shims/internal/utils.d.ts +1 -2
  555. package/dist/shims/internal/utils.js +0 -2
  556. package/dist/shims/internal/work-unit-async-storage.d.ts +1 -2
  557. package/dist/shims/internal/work-unit-async-storage.js +0 -2
  558. package/dist/shims/layout-segment-context.d.ts +2 -4
  559. package/dist/shims/layout-segment-context.js +0 -2
  560. package/dist/shims/legacy-image.d.ts +1 -2
  561. package/dist/shims/legacy-image.js +0 -2
  562. package/dist/shims/link-prefetch.d.ts +1 -2
  563. package/dist/shims/link-prefetch.js +0 -2
  564. package/dist/shims/link.d.ts +2 -2
  565. package/dist/shims/link.js +20 -14
  566. package/dist/shims/metadata.d.ts +4 -5
  567. package/dist/shims/metadata.js +1 -3
  568. package/dist/shims/navigation-state.d.ts +1 -2
  569. package/dist/shims/navigation-state.js +0 -2
  570. package/dist/shims/navigation.d.ts +23 -7
  571. package/dist/shims/navigation.js +188 -39
  572. package/dist/shims/navigation.react-server.d.ts +1 -2
  573. package/dist/shims/navigation.react-server.js +0 -2
  574. package/dist/shims/offline.d.ts +1 -2
  575. package/dist/shims/offline.js +0 -2
  576. package/dist/shims/og.d.ts +1 -2
  577. package/dist/shims/og.js +2 -4
  578. package/dist/shims/pages-router-runtime.d.ts +7 -2
  579. package/dist/shims/pages-router-runtime.js +11 -3
  580. package/dist/shims/ppr-fallback-shell.d.ts +29 -0
  581. package/dist/shims/ppr-fallback-shell.js +149 -0
  582. package/dist/shims/readonly-url-search-params.d.ts +1 -2
  583. package/dist/shims/readonly-url-search-params.js +0 -2
  584. package/dist/shims/request-context.d.ts +9 -5
  585. package/dist/shims/request-context.js +0 -2
  586. package/dist/shims/request-state-types.d.ts +1 -1
  587. package/dist/shims/root-params.d.ts +1 -2
  588. package/dist/shims/root-params.js +0 -2
  589. package/dist/shims/router-state.d.ts +1 -2
  590. package/dist/shims/router-state.js +0 -2
  591. package/dist/shims/router.d.ts +1 -2
  592. package/dist/shims/router.js +135 -20
  593. package/dist/shims/script-nonce-context.d.ts +1 -2
  594. package/dist/shims/script-nonce-context.js +0 -2
  595. package/dist/shims/script.d.ts +1 -2
  596. package/dist/shims/script.js +0 -2
  597. package/dist/shims/server.d.ts +1 -2
  598. package/dist/shims/server.js +0 -2
  599. package/dist/shims/slot.d.ts +11 -4
  600. package/dist/shims/slot.js +121 -9
  601. package/dist/shims/thenable-params.d.ts +2 -2
  602. package/dist/shims/thenable-params.js +107 -12
  603. package/dist/shims/unified-request-context.d.ts +1 -2
  604. package/dist/shims/unified-request-context.js +0 -2
  605. package/dist/shims/unrecognized-action-error.d.ts +1 -2
  606. package/dist/shims/unrecognized-action-error.js +0 -2
  607. package/dist/shims/url-safety.d.ts +1 -2
  608. package/dist/shims/url-safety.js +0 -2
  609. package/dist/shims/url-utils.d.ts +1 -2
  610. package/dist/shims/url-utils.js +0 -2
  611. package/dist/shims/use-merged-ref.d.ts +1 -2
  612. package/dist/shims/use-merged-ref.js +0 -2
  613. package/dist/shims/web-vitals.d.ts +1 -2
  614. package/dist/shims/web-vitals.js +0 -2
  615. package/dist/typegen.d.ts +1 -2
  616. package/dist/typegen.js +2 -9
  617. package/dist/utils/asset-prefix.d.ts +1 -2
  618. package/dist/utils/asset-prefix.js +0 -2
  619. package/dist/utils/base-path.d.ts +1 -2
  620. package/dist/utils/base-path.js +0 -2
  621. package/dist/utils/cache-control-metadata.d.ts +1 -4
  622. package/dist/utils/cache-control-metadata.js +1 -3
  623. package/dist/utils/client-build-manifest.d.ts +1 -2
  624. package/dist/utils/client-build-manifest.js +0 -2
  625. package/dist/utils/compare.d.ts +4 -0
  626. package/dist/utils/compare.js +8 -0
  627. package/dist/utils/dev-error-recovery-event.d.ts +4 -0
  628. package/dist/utils/dev-error-recovery-event.js +4 -0
  629. package/dist/utils/domain-locale.d.ts +1 -2
  630. package/dist/utils/domain-locale.js +2 -4
  631. package/dist/utils/encode-cache-tag.d.ts +1 -2
  632. package/dist/utils/encode-cache-tag.js +0 -2
  633. package/dist/utils/error-cause.d.ts +1 -2
  634. package/dist/utils/error-cause.js +0 -2
  635. package/dist/utils/hash.d.ts +1 -2
  636. package/dist/utils/hash.js +0 -2
  637. package/dist/utils/html-limited-bots.d.ts +1 -2
  638. package/dist/utils/html-limited-bots.js +0 -2
  639. package/dist/utils/lazy-chunks.d.ts +1 -2
  640. package/dist/utils/lazy-chunks.js +0 -2
  641. package/dist/utils/manifest-paths.d.ts +8 -3
  642. package/dist/utils/manifest-paths.js +15 -3
  643. package/dist/utils/mdx-scan.d.ts +1 -2
  644. package/dist/utils/mdx-scan.js +0 -2
  645. package/dist/utils/navigation-signal.d.ts +1 -2
  646. package/dist/utils/navigation-signal.js +0 -2
  647. package/dist/utils/number.d.ts +4 -0
  648. package/dist/utils/number.js +6 -0
  649. package/dist/utils/path.d.ts +4 -2
  650. package/dist/utils/path.js +5 -3
  651. package/dist/utils/prerender-output-paths.d.ts +1 -2
  652. package/dist/utils/prerender-output-paths.js +0 -2
  653. package/dist/utils/project.d.ts +1 -2
  654. package/dist/utils/project.js +0 -2
  655. package/dist/utils/promise.d.ts +4 -0
  656. package/dist/utils/promise.js +6 -0
  657. package/dist/utils/public-routes.d.ts +1 -2
  658. package/dist/utils/public-routes.js +0 -2
  659. package/dist/utils/query.d.ts +1 -2
  660. package/dist/utils/query.js +0 -2
  661. package/dist/utils/record.d.ts +1 -2
  662. package/dist/utils/record.js +0 -2
  663. package/dist/utils/regex.d.ts +4 -0
  664. package/dist/utils/regex.js +6 -0
  665. package/dist/utils/safe-json-file.d.ts +1 -2
  666. package/dist/utils/safe-json-file.js +0 -2
  667. package/dist/utils/sorted-array.d.ts +1 -2
  668. package/dist/utils/sorted-array.js +0 -2
  669. package/dist/utils/text-stream.d.ts +1 -2
  670. package/dist/utils/text-stream.js +0 -2
  671. package/dist/utils/vinext-root.d.ts +1 -2
  672. package/dist/utils/vinext-root.js +0 -2
  673. package/dist/utils/vite-version.d.ts +1 -2
  674. package/dist/utils/vite-version.js +0 -2
  675. package/package.json +19 -6
  676. package/dist/build/clean-output.js.map +0 -1
  677. package/dist/build/client-build-config.js.map +0 -1
  678. package/dist/build/google-fonts/build-url.js.map +0 -1
  679. package/dist/build/google-fonts/fallback-metrics-data.js.map +0 -1
  680. package/dist/build/google-fonts/fallback-metrics.js.map +0 -1
  681. package/dist/build/google-fonts/font-data.js.map +0 -1
  682. package/dist/build/google-fonts/font-metadata.js.map +0 -1
  683. package/dist/build/google-fonts/get-axes.js.map +0 -1
  684. package/dist/build/google-fonts/sort-variants.js.map +0 -1
  685. package/dist/build/google-fonts/validate.js.map +0 -1
  686. package/dist/build/inline-css.js.map +0 -1
  687. package/dist/build/layout-classification.js.map +0 -1
  688. package/dist/build/nitro-route-rules.js.map +0 -1
  689. package/dist/build/precompress.js.map +0 -1
  690. package/dist/build/prerender.js.map +0 -1
  691. package/dist/build/report.js.map +0 -1
  692. package/dist/build/route-classification-injector.js.map +0 -1
  693. package/dist/build/route-classification-manifest.js.map +0 -1
  694. package/dist/build/run-prerender.js.map +0 -1
  695. package/dist/build/server-manifest.js.map +0 -1
  696. package/dist/build/ssr-manifest.js.map +0 -1
  697. package/dist/build/standalone.js.map +0 -1
  698. package/dist/build/static-export.js.map +0 -1
  699. package/dist/check.js.map +0 -1
  700. package/dist/cli-args.js.map +0 -1
  701. package/dist/cli.js.map +0 -1
  702. package/dist/client/instrumentation-client-inject.js.map +0 -1
  703. package/dist/client/instrumentation-client-state.js.map +0 -1
  704. package/dist/client/instrumentation-client.js.map +0 -1
  705. package/dist/client/navigation-runtime.js.map +0 -1
  706. package/dist/client/pages-router-link-navigation.js.map +0 -1
  707. package/dist/client/validate-module-path.js.map +0 -1
  708. package/dist/client/vinext-next-data.js.map +0 -1
  709. package/dist/client/window-next.js.map +0 -1
  710. package/dist/cloudflare/kv-cache-handler.js.map +0 -1
  711. package/dist/cloudflare/tpr.js.map +0 -1
  712. package/dist/config/config-matchers.js.map +0 -1
  713. package/dist/config/dotenv.js.map +0 -1
  714. package/dist/config/next-config.js.map +0 -1
  715. package/dist/config/tsconfig-paths.js.map +0 -1
  716. package/dist/deploy.js.map +0 -1
  717. package/dist/entries/app-browser-entry.js.map +0 -1
  718. package/dist/entries/app-rsc-entry.js.map +0 -1
  719. package/dist/entries/app-rsc-manifest.js.map +0 -1
  720. package/dist/entries/app-ssr-entry.js.map +0 -1
  721. package/dist/entries/pages-client-entry.js.map +0 -1
  722. package/dist/entries/pages-entry-helpers.js.map +0 -1
  723. package/dist/entries/pages-server-entry.js.map +0 -1
  724. package/dist/entries/runtime-entry-module.js.map +0 -1
  725. package/dist/index.js.map +0 -1
  726. package/dist/init.js.map +0 -1
  727. package/dist/plugins/async-hooks-stub.js.map +0 -1
  728. package/dist/plugins/client-reference-dedup.js.map +0 -1
  729. package/dist/plugins/css-data-url.js.map +0 -1
  730. package/dist/plugins/fonts.js.map +0 -1
  731. package/dist/plugins/import-meta-url.js.map +0 -1
  732. package/dist/plugins/instrumentation-client.js.map +0 -1
  733. package/dist/plugins/middleware-server-only.js.map +0 -1
  734. package/dist/plugins/og-assets.js.map +0 -1
  735. package/dist/plugins/optimize-imports.js.map +0 -1
  736. package/dist/plugins/postcss.js.map +0 -1
  737. package/dist/plugins/remove-console.js.map +0 -1
  738. package/dist/plugins/rsc-client-reference-loaders.js.map +0 -1
  739. package/dist/plugins/rsc-client-shim-excludes.js.map +0 -1
  740. package/dist/plugins/sass.js.map +0 -1
  741. package/dist/plugins/server-externals-manifest.js.map +0 -1
  742. package/dist/plugins/strip-server-exports.js.map +0 -1
  743. package/dist/routing/app-route-graph.js.map +0 -1
  744. package/dist/routing/app-router.js.map +0 -1
  745. package/dist/routing/file-matcher.js.map +0 -1
  746. package/dist/routing/pages-router.js.map +0 -1
  747. package/dist/routing/route-matching.js.map +0 -1
  748. package/dist/routing/route-pattern.js.map +0 -1
  749. package/dist/routing/route-trie.js.map +0 -1
  750. package/dist/routing/route-validation.js.map +0 -1
  751. package/dist/routing/utils.js.map +0 -1
  752. package/dist/server/api-handler.js.map +0 -1
  753. package/dist/server/app-browser-action-result.js.map +0 -1
  754. package/dist/server/app-browser-entry.js.map +0 -1
  755. package/dist/server/app-browser-error.js.map +0 -1
  756. package/dist/server/app-browser-hydration.js.map +0 -1
  757. package/dist/server/app-browser-interception-context.js.map +0 -1
  758. package/dist/server/app-browser-mpa-navigation.js.map +0 -1
  759. package/dist/server/app-browser-navigation-controller.js.map +0 -1
  760. package/dist/server/app-browser-popstate.js.map +0 -1
  761. package/dist/server/app-browser-rsc-redirect.js.map +0 -1
  762. package/dist/server/app-browser-state.js.map +0 -1
  763. package/dist/server/app-browser-stream.js.map +0 -1
  764. package/dist/server/app-browser-visible-commit.js.map +0 -1
  765. package/dist/server/app-client-reference-preloader.js.map +0 -1
  766. package/dist/server/app-elements-wire.js.map +0 -1
  767. package/dist/server/app-elements.js.map +0 -1
  768. package/dist/server/app-fallback-renderer.js.map +0 -1
  769. package/dist/server/app-history-state.js.map +0 -1
  770. package/dist/server/app-hook-warning-suppression.js.map +0 -1
  771. package/dist/server/app-inline-css-client.js.map +0 -1
  772. package/dist/server/app-interception-context-header.js.map +0 -1
  773. package/dist/server/app-layout-param-observation.js.map +0 -1
  774. package/dist/server/app-middleware.js.map +0 -1
  775. package/dist/server/app-mounted-slots-header.js.map +0 -1
  776. package/dist/server/app-optimistic-routing.js.map +0 -1
  777. package/dist/server/app-page-boundary-render.js.map +0 -1
  778. package/dist/server/app-page-boundary.js.map +0 -1
  779. package/dist/server/app-page-cache.js.map +0 -1
  780. package/dist/server/app-page-dispatch.js.map +0 -1
  781. package/dist/server/app-page-element-builder.js.map +0 -1
  782. package/dist/server/app-page-execution.js.map +0 -1
  783. package/dist/server/app-page-head.js.map +0 -1
  784. package/dist/server/app-page-method.js.map +0 -1
  785. package/dist/server/app-page-params.js.map +0 -1
  786. package/dist/server/app-page-probe.js.map +0 -1
  787. package/dist/server/app-page-render-identity.js.map +0 -1
  788. package/dist/server/app-page-render-observation.js.map +0 -1
  789. package/dist/server/app-page-render.js.map +0 -1
  790. package/dist/server/app-page-request.js.map +0 -1
  791. package/dist/server/app-page-response.js.map +0 -1
  792. package/dist/server/app-page-route-wiring.js.map +0 -1
  793. package/dist/server/app-page-segment-state.js.map +0 -1
  794. package/dist/server/app-page-stream.js.map +0 -1
  795. package/dist/server/app-post-middleware-context.js.map +0 -1
  796. package/dist/server/app-prerender-endpoints.js.map +0 -1
  797. package/dist/server/app-prerender-static-params.js.map +0 -1
  798. package/dist/server/app-render-dependency.js.map +0 -1
  799. package/dist/server/app-request-context.js.map +0 -1
  800. package/dist/server/app-route-handler-cache.js.map +0 -1
  801. package/dist/server/app-route-handler-dispatch.js.map +0 -1
  802. package/dist/server/app-route-handler-execution.js.map +0 -1
  803. package/dist/server/app-route-handler-policy.js.map +0 -1
  804. package/dist/server/app-route-handler-response.js.map +0 -1
  805. package/dist/server/app-route-handler-runtime.js.map +0 -1
  806. package/dist/server/app-router-entry.js.map +0 -1
  807. package/dist/server/app-rsc-cache-busting.js.map +0 -1
  808. package/dist/server/app-rsc-embedded-chunks.js.map +0 -1
  809. package/dist/server/app-rsc-error-handler.js.map +0 -1
  810. package/dist/server/app-rsc-errors.js.map +0 -1
  811. package/dist/server/app-rsc-handler.js.map +0 -1
  812. package/dist/server/app-rsc-render-mode.js.map +0 -1
  813. package/dist/server/app-rsc-request-normalization.js.map +0 -1
  814. package/dist/server/app-rsc-response-finalizer.js.map +0 -1
  815. package/dist/server/app-rsc-route-matching.js.map +0 -1
  816. package/dist/server/app-segment-config.js.map +0 -1
  817. package/dist/server/app-server-action-execution.js.map +0 -1
  818. package/dist/server/app-ssr-entry.js.map +0 -1
  819. package/dist/server/app-ssr-error-meta.js.map +0 -1
  820. package/dist/server/app-ssr-stream.js.map +0 -1
  821. package/dist/server/app-static-generation.js.map +0 -1
  822. package/dist/server/artifact-compatibility.js.map +0 -1
  823. package/dist/server/cache-control.js.map +0 -1
  824. package/dist/server/cache-headers.js.map +0 -1
  825. package/dist/server/cache-proof.js.map +0 -1
  826. package/dist/server/client-reuse-manifest.js.map +0 -1
  827. package/dist/server/client-trace-metadata.js.map +0 -1
  828. package/dist/server/cookie-utils.js.map +0 -1
  829. package/dist/server/csp.js.map +0 -1
  830. package/dist/server/default-global-error-module.js.map +0 -1
  831. package/dist/server/default-not-found-module.js.map +0 -1
  832. package/dist/server/dev-error-overlay-store.js.map +0 -1
  833. package/dist/server/dev-error-overlay.js.map +0 -1
  834. package/dist/server/dev-lockfile.js.map +0 -1
  835. package/dist/server/dev-module-runner.js.map +0 -1
  836. package/dist/server/dev-origin-check.js.map +0 -1
  837. package/dist/server/dev-route-files.js.map +0 -1
  838. package/dist/server/dev-server.js.map +0 -1
  839. package/dist/server/document-initial-head.js.map +0 -1
  840. package/dist/server/edge-api-runtime.js.map +0 -1
  841. package/dist/server/file-based-metadata.js.map +0 -1
  842. package/dist/server/headers.js.map +0 -1
  843. package/dist/server/html.js.map +0 -1
  844. package/dist/server/http-error-responses.js.map +0 -1
  845. package/dist/server/image-optimization.js.map +0 -1
  846. package/dist/server/implicit-tags.js.map +0 -1
  847. package/dist/server/instrumentation-runtime.js.map +0 -1
  848. package/dist/server/instrumentation.js.map +0 -1
  849. package/dist/server/isr-cache.js.map +0 -1
  850. package/dist/server/metadata-route-build-data.js.map +0 -1
  851. package/dist/server/metadata-route-response.js.map +0 -1
  852. package/dist/server/metadata-routes.js.map +0 -1
  853. package/dist/server/middleware-matcher.js.map +0 -1
  854. package/dist/server/middleware-request-headers.js.map +0 -1
  855. package/dist/server/middleware-response-headers.js.map +0 -1
  856. package/dist/server/middleware-runtime.js.map +0 -1
  857. package/dist/server/middleware.js.map +0 -1
  858. package/dist/server/navigation-planner.js.map +0 -1
  859. package/dist/server/navigation-trace.js.map +0 -1
  860. package/dist/server/next-error-digest.js.map +0 -1
  861. package/dist/server/normalize-path.js.map +0 -1
  862. package/dist/server/pages-api-route.js.map +0 -1
  863. package/dist/server/pages-body-parser-config.js.map +0 -1
  864. package/dist/server/pages-data-route.js.map +0 -1
  865. package/dist/server/pages-default-404.js.map +0 -1
  866. package/dist/server/pages-document-initial-props.js.map +0 -1
  867. package/dist/server/pages-i18n.js.map +0 -1
  868. package/dist/server/pages-media-type.js.map +0 -1
  869. package/dist/server/pages-node-compat.js.map +0 -1
  870. package/dist/server/pages-page-data.js.map +0 -1
  871. package/dist/server/pages-page-method.js.map +0 -1
  872. package/dist/server/pages-page-response.js.map +0 -1
  873. package/dist/server/pages-serializable-props.js.map +0 -1
  874. package/dist/server/prerender-route-params.js.map +0 -1
  875. package/dist/server/prerender-work-unit-setup.js.map +0 -1
  876. package/dist/server/prod-server.js.map +0 -1
  877. package/dist/server/proxy-trust.js.map +0 -1
  878. package/dist/server/request-log.js.map +0 -1
  879. package/dist/server/request-pipeline.js.map +0 -1
  880. package/dist/server/rsc-stream-hints.js.map +0 -1
  881. package/dist/server/seed-cache.js.map +0 -1
  882. package/dist/server/server-action-not-found.js.map +0 -1
  883. package/dist/server/server-globals.js.map +0 -1
  884. package/dist/server/skip-cache-proof.js.map +0 -1
  885. package/dist/server/socket-error-backstop.js.map +0 -1
  886. package/dist/server/static-file-cache.js.map +0 -1
  887. package/dist/server/static-layout-client-reuse-proof.js.map +0 -1
  888. package/dist/server/streaming-metadata.js.map +0 -1
  889. package/dist/server/worker-utils.js.map +0 -1
  890. package/dist/shims/amp.js.map +0 -1
  891. package/dist/shims/app-router-scroll-state.js.map +0 -1
  892. package/dist/shims/app-router-scroll.js.map +0 -1
  893. package/dist/shims/app.js.map +0 -1
  894. package/dist/shims/before-interactive-context.js.map +0 -1
  895. package/dist/shims/cache-for-request.js.map +0 -1
  896. package/dist/shims/cache-runtime.js.map +0 -1
  897. package/dist/shims/cache.js.map +0 -1
  898. package/dist/shims/client-hook-error.js.map +0 -1
  899. package/dist/shims/client-locale.js.map +0 -1
  900. package/dist/shims/compat-router.js.map +0 -1
  901. package/dist/shims/config.js.map +0 -1
  902. package/dist/shims/constants.js.map +0 -1
  903. package/dist/shims/default-global-error.js.map +0 -1
  904. package/dist/shims/default-not-found.js.map +0 -1
  905. package/dist/shims/document.js.map +0 -1
  906. package/dist/shims/dynamic.js.map +0 -1
  907. package/dist/shims/error-boundary.js.map +0 -1
  908. package/dist/shims/error.js.map +0 -1
  909. package/dist/shims/fetch-cache.js.map +0 -1
  910. package/dist/shims/font-google-base.js.map +0 -1
  911. package/dist/shims/font-local.js.map +0 -1
  912. package/dist/shims/font-utils.js.map +0 -1
  913. package/dist/shims/form.js.map +0 -1
  914. package/dist/shims/hash-scroll.js.map +0 -1
  915. package/dist/shims/head-state.js.map +0 -1
  916. package/dist/shims/head.js.map +0 -1
  917. package/dist/shims/headers.js.map +0 -1
  918. package/dist/shims/i18n-context.js.map +0 -1
  919. package/dist/shims/i18n-state.js.map +0 -1
  920. package/dist/shims/image-config.js.map +0 -1
  921. package/dist/shims/image.js.map +0 -1
  922. package/dist/shims/internal/als-registry.js.map +0 -1
  923. package/dist/shims/internal/app-route-detection.js.map +0 -1
  924. package/dist/shims/internal/app-router-context.js.map +0 -1
  925. package/dist/shims/internal/cookie-serialize.js.map +0 -1
  926. package/dist/shims/internal/make-hanging-promise.js.map +0 -1
  927. package/dist/shims/internal/pages-data-fetch-dedup.js.map +0 -1
  928. package/dist/shims/internal/pages-data-target.js.map +0 -1
  929. package/dist/shims/internal/pages-data-url.js.map +0 -1
  930. package/dist/shims/internal/parse-cookie-header.js.map +0 -1
  931. package/dist/shims/internal/router-context.js.map +0 -1
  932. package/dist/shims/internal/utils.js.map +0 -1
  933. package/dist/shims/internal/work-unit-async-storage.js.map +0 -1
  934. package/dist/shims/layout-segment-context.js.map +0 -1
  935. package/dist/shims/legacy-image.js.map +0 -1
  936. package/dist/shims/link-prefetch.js.map +0 -1
  937. package/dist/shims/link.js.map +0 -1
  938. package/dist/shims/metadata.js.map +0 -1
  939. package/dist/shims/navigation-state.js.map +0 -1
  940. package/dist/shims/navigation.js.map +0 -1
  941. package/dist/shims/navigation.react-server.js.map +0 -1
  942. package/dist/shims/offline.js.map +0 -1
  943. package/dist/shims/og.js.map +0 -1
  944. package/dist/shims/pages-router-runtime.js.map +0 -1
  945. package/dist/shims/readonly-url-search-params.js.map +0 -1
  946. package/dist/shims/request-context.js.map +0 -1
  947. package/dist/shims/root-params.js.map +0 -1
  948. package/dist/shims/router-state.js.map +0 -1
  949. package/dist/shims/router.js.map +0 -1
  950. package/dist/shims/script-nonce-context.js.map +0 -1
  951. package/dist/shims/script.js.map +0 -1
  952. package/dist/shims/server.js.map +0 -1
  953. package/dist/shims/slot.js.map +0 -1
  954. package/dist/shims/thenable-params.js.map +0 -1
  955. package/dist/shims/unified-request-context.js.map +0 -1
  956. package/dist/shims/unrecognized-action-error.js.map +0 -1
  957. package/dist/shims/url-safety.js.map +0 -1
  958. package/dist/shims/url-utils.js.map +0 -1
  959. package/dist/shims/use-merged-ref.js.map +0 -1
  960. package/dist/shims/web-vitals.js.map +0 -1
  961. package/dist/typegen.js.map +0 -1
  962. package/dist/utils/asset-prefix.js.map +0 -1
  963. package/dist/utils/base-path.js.map +0 -1
  964. package/dist/utils/cache-control-metadata.js.map +0 -1
  965. package/dist/utils/client-build-manifest.js.map +0 -1
  966. package/dist/utils/domain-locale.js.map +0 -1
  967. package/dist/utils/encode-cache-tag.js.map +0 -1
  968. package/dist/utils/error-cause.js.map +0 -1
  969. package/dist/utils/hash.js.map +0 -1
  970. package/dist/utils/html-limited-bots.js.map +0 -1
  971. package/dist/utils/lazy-chunks.js.map +0 -1
  972. package/dist/utils/manifest-paths.js.map +0 -1
  973. package/dist/utils/mdx-scan.js.map +0 -1
  974. package/dist/utils/navigation-signal.js.map +0 -1
  975. package/dist/utils/path.js.map +0 -1
  976. package/dist/utils/prerender-output-paths.js.map +0 -1
  977. package/dist/utils/project.js.map +0 -1
  978. package/dist/utils/public-routes.js.map +0 -1
  979. package/dist/utils/query.js.map +0 -1
  980. package/dist/utils/record.js.map +0 -1
  981. package/dist/utils/safe-json-file.js.map +0 -1
  982. package/dist/utils/sorted-array.js.map +0 -1
  983. package/dist/utils/text-stream.js.map +0 -1
  984. package/dist/utils/vinext-root.js.map +0 -1
  985. package/dist/utils/vite-version.js.map +0 -1
@@ -35,6 +35,84 @@ declare function probeAppPage(options: {
35
35
  asyncRouteParams: unknown;
36
36
  searchParams: URLSearchParams | null | undefined;
37
37
  }): unknown;
38
+ type AppPageProbeModule = Readonly<{
39
+ default?: unknown;
40
+ }> | null | undefined;
41
+ type AppPageProbeSlot = Readonly<{
42
+ page?: AppPageProbeModule;
43
+ }> | null | undefined;
44
+ type AppPageProbeRoute = Readonly<{
45
+ slots?: Readonly<Record<string, AppPageProbeSlot>> | null;
46
+ }>;
47
+ type AppPageProbeIntercept = Readonly<{
48
+ page?: AppPageProbeModule;
49
+ matchedParams?: unknown;
50
+ /**
51
+ * Key of the parallel-route slot this interception overrides. At render
52
+ * time the matched route's `slots[slotKey].page` is replaced by the
53
+ * interception page (see app-page-element-builder.ts), so the slot's own
54
+ * page never renders for this request.
55
+ */
56
+ slotKey?: string | null;
57
+ }> | null | undefined;
58
+ /**
59
+ * Fan out the per-request page probes for the App Router dispatch lifecycle.
60
+ *
61
+ * A single request can render more than one page component: the matched page,
62
+ * each active parallel-route slot page, and an interception page when one
63
+ * matches. Each must be probed so searchParams access anywhere in the rendered
64
+ * tree bails the request out of the query-invariant static cache.
65
+ *
66
+ * Extracted out of the generated RSC entry so the fan-out is directly
67
+ * unit-testable and the entry stays codegen glue (see AGENTS.md "Generated
68
+ * Entry Modules Should Stay Thin"). Returns a list of resolved promises so the
69
+ * caller can `Promise.all` them.
70
+ *
71
+ * The fan-out is scoped to the page components that render for this request:
72
+ *
73
+ * - **Interception override:** when an interception matches it replaces the
74
+ * page of the slot named by `intercept.slotKey` (the element builder sets
75
+ * `overrides[slotKey].pageModule` to the interception page, which wins over
76
+ * `slot.page` in `app-page-route-wiring.tsx`). We probe the interception page
77
+ * in place of that slot's own page rather than probing both — probing the
78
+ * overridden slot page would mark an otherwise-static request dynamic for a
79
+ * component that never renders.
80
+ * - **Non-overridden slots:** `slot.page?.default` is exactly what renders.
81
+ * `app-page-route-wiring.tsx` resolves a slot to `overrideOrPageComponent ??
82
+ * defaultComponent`, so whenever a slot has a `page.tsx` that page renders.
83
+ * When a slot has only a `default.tsx` (including the soft-nav case at
84
+ * `app-page-route-wiring.tsx:741` that skips an already-mounted slot), there
85
+ * is no `slot.page?.default`, so `probeAppPage` short-circuits to `null` and
86
+ * probes nothing — a no-op, not an over-bail.
87
+ *
88
+ * Interception only fires for RSC navigations (`resolveAppPageInterceptState`
89
+ * returns `kind: "none"` when `!isRscRequest`, app-page-request.ts:324), so the
90
+ * interception handling here is gated on `isRscRequest`. For non-RSC (HTML)
91
+ * requests the matched route renders normally, so we probe every slot's own
92
+ * page and skip the interception probe entirely. The remaining "source-route"
93
+ * interception case (where a *different* route renders, app-page-request.ts:342)
94
+ * never reaches this probe: `dispatchAppPage` returns the intercepted response
95
+ * before calling `probePage`, so by the time this runs any matched interception
96
+ * is the current-route override case above.
97
+ *
98
+ * A `default.tsx` that itself awaits `searchParams` is not probed here, but the
99
+ * real render still observes that access and skips the query-invariant cache
100
+ * write (the same loading.tsx backstop), so this cannot under-bail.
101
+ */
102
+ declare function buildAppPageProbes(options: {
103
+ route: AppPageProbeRoute;
104
+ pageComponent: unknown;
105
+ asyncRouteParams: unknown;
106
+ searchParams: URLSearchParams | null | undefined;
107
+ intercept?: AppPageProbeIntercept;
108
+ /**
109
+ * Whether this is an RSC navigation. Interception only fires for RSC
110
+ * requests, so the interception probe is ignored when this is false.
111
+ */
112
+ isRscRequest: boolean; /** Fallback raw params used when an interception match omits its own. */
113
+ matchedParams: unknown;
114
+ makeThenableParams: (params: unknown) => unknown;
115
+ }): Promise<unknown>[];
38
116
  type ProbeAppPageBeforeRenderResult = {
39
117
  response: Response | null;
40
118
  layoutFlags: LayoutFlags;
@@ -52,5 +130,4 @@ type ProbeAppPageBeforeRenderOptions = {
52
130
  };
53
131
  declare function probeAppPageBeforeRender(options: ProbeAppPageBeforeRenderOptions): Promise<ProbeAppPageBeforeRenderResult>;
54
132
  //#endregion
55
- export { probeAppPage, probeAppPageBeforeRender, probeReactServerSubtree };
56
- //# sourceMappingURL=app-page-probe.d.ts.map
133
+ export { buildAppPageProbes, probeAppPage, probeAppPageBeforeRender, probeReactServerSubtree };
@@ -1,6 +1,9 @@
1
- import { makeThenableParams } from "../shims/thenable-params.js";
1
+ import { markAppPagePropsForUseCache } from "../shims/cache-runtime.js";
2
+ import { isNextRouterError } from "../shims/navigation.js";
3
+ import { isPromiseLike } from "../utils/promise.js";
2
4
  import { probeAppPageComponent, probeAppPageLayouts } from "./app-page-execution.js";
3
5
  import { collectAppPageSearchParams } from "./app-page-head.js";
6
+ import { makeObservedAppPageSearchParamsThenable } from "./app-page-search-params-observation.js";
4
7
  import { Fragment, isValidElement } from "react";
5
8
  //#region src/server/app-page-probe.ts
6
9
  const DEFAULT_SUBTREE_PROBE_MAX_DEPTH = 32;
@@ -20,9 +23,6 @@ var AppPageSubtreeProbeUnsupportedIterableError = class extends Error {
20
23
  this.name = "AppPageSubtreeProbeUnsupportedIterableError";
21
24
  }
22
25
  };
23
- function isPromiseLike(value) {
24
- return Boolean(value && (typeof value === "object" || typeof value === "function") && "then" in value && typeof value.then === "function");
25
- }
26
26
  function isIterable(value) {
27
27
  return Boolean(value && typeof value !== "string" && typeof value === "object" && Symbol.iterator in value && typeof value[Symbol.iterator] === "function");
28
28
  }
@@ -117,6 +117,14 @@ async function probeReactServerSubtree(node, options = {}) {
117
117
  };
118
118
  await visit(node, 0);
119
119
  }
120
+ async function probeReactServerSubtreeForDynamicUsage(node) {
121
+ try {
122
+ await probeReactServerSubtree(node);
123
+ } catch (error) {
124
+ if (isNextRouterError(error)) return;
125
+ throw error;
126
+ }
127
+ }
120
128
  /**
121
129
  * Build a probePage() invocation for the App Router request lifecycle.
122
130
  *
@@ -138,10 +146,84 @@ function probeAppPage(options) {
138
146
  const { pageComponent, asyncRouteParams, searchParams } = options;
139
147
  if (typeof pageComponent !== "function") return null;
140
148
  const { pageSearchParams } = collectAppPageSearchParams(searchParams);
141
- return pageComponent({
149
+ const result = pageComponent(markAppPagePropsForUseCache({
142
150
  params: asyncRouteParams,
143
- searchParams: makeThenableParams(pageSearchParams)
151
+ searchParams: makeObservedAppPageSearchParamsThenable(pageSearchParams, { observeReactPromiseStatus: true })
152
+ }));
153
+ if (isPromiseLike(result)) return result.then(async (resolved) => {
154
+ await probeReactServerSubtreeForDynamicUsage(resolved);
155
+ return resolved;
144
156
  });
157
+ if (isValidElement(result) || Array.isArray(result)) return probeReactServerSubtreeForDynamicUsage(result).then(() => result);
158
+ return result;
159
+ }
160
+ /**
161
+ * Fan out the per-request page probes for the App Router dispatch lifecycle.
162
+ *
163
+ * A single request can render more than one page component: the matched page,
164
+ * each active parallel-route slot page, and an interception page when one
165
+ * matches. Each must be probed so searchParams access anywhere in the rendered
166
+ * tree bails the request out of the query-invariant static cache.
167
+ *
168
+ * Extracted out of the generated RSC entry so the fan-out is directly
169
+ * unit-testable and the entry stays codegen glue (see AGENTS.md "Generated
170
+ * Entry Modules Should Stay Thin"). Returns a list of resolved promises so the
171
+ * caller can `Promise.all` them.
172
+ *
173
+ * The fan-out is scoped to the page components that render for this request:
174
+ *
175
+ * - **Interception override:** when an interception matches it replaces the
176
+ * page of the slot named by `intercept.slotKey` (the element builder sets
177
+ * `overrides[slotKey].pageModule` to the interception page, which wins over
178
+ * `slot.page` in `app-page-route-wiring.tsx`). We probe the interception page
179
+ * in place of that slot's own page rather than probing both — probing the
180
+ * overridden slot page would mark an otherwise-static request dynamic for a
181
+ * component that never renders.
182
+ * - **Non-overridden slots:** `slot.page?.default` is exactly what renders.
183
+ * `app-page-route-wiring.tsx` resolves a slot to `overrideOrPageComponent ??
184
+ * defaultComponent`, so whenever a slot has a `page.tsx` that page renders.
185
+ * When a slot has only a `default.tsx` (including the soft-nav case at
186
+ * `app-page-route-wiring.tsx:741` that skips an already-mounted slot), there
187
+ * is no `slot.page?.default`, so `probeAppPage` short-circuits to `null` and
188
+ * probes nothing — a no-op, not an over-bail.
189
+ *
190
+ * Interception only fires for RSC navigations (`resolveAppPageInterceptState`
191
+ * returns `kind: "none"` when `!isRscRequest`, app-page-request.ts:324), so the
192
+ * interception handling here is gated on `isRscRequest`. For non-RSC (HTML)
193
+ * requests the matched route renders normally, so we probe every slot's own
194
+ * page and skip the interception probe entirely. The remaining "source-route"
195
+ * interception case (where a *different* route renders, app-page-request.ts:342)
196
+ * never reaches this probe: `dispatchAppPage` returns the intercepted response
197
+ * before calling `probePage`, so by the time this runs any matched interception
198
+ * is the current-route override case above.
199
+ *
200
+ * A `default.tsx` that itself awaits `searchParams` is not probed here, but the
201
+ * real render still observes that access and skips the query-invariant cache
202
+ * write (the same loading.tsx backstop), so this cannot under-bail.
203
+ */
204
+ function buildAppPageProbes(options) {
205
+ const { route, pageComponent, asyncRouteParams, searchParams, matchedParams } = options;
206
+ const intercept = options.isRscRequest ? options.intercept : null;
207
+ const probes = [probeAppPage({
208
+ pageComponent,
209
+ asyncRouteParams,
210
+ searchParams
211
+ })];
212
+ const overriddenSlotKey = intercept?.slotKey ?? null;
213
+ for (const [slotKey, slot] of Object.entries(route.slots ?? {})) {
214
+ if (overriddenSlotKey !== null && slotKey === overriddenSlotKey) continue;
215
+ probes.push(probeAppPage({
216
+ pageComponent: slot?.page?.default,
217
+ asyncRouteParams,
218
+ searchParams
219
+ }));
220
+ }
221
+ if (intercept) probes.push(probeAppPage({
222
+ pageComponent: intercept.page?.default,
223
+ asyncRouteParams: options.makeThenableParams(intercept.matchedParams ?? matchedParams),
224
+ searchParams
225
+ }));
226
+ return probes.map((probe) => Promise.resolve(probe));
145
227
  }
146
228
  async function probeAppPageBeforeRender(options) {
147
229
  let layoutFlags = {};
@@ -186,6 +268,4 @@ async function probeAppPageBeforeRender(options) {
186
268
  };
187
269
  }
188
270
  //#endregion
189
- export { probeAppPage, probeAppPageBeforeRender, probeReactServerSubtree };
190
-
191
- //# sourceMappingURL=app-page-probe.js.map
271
+ export { buildAppPageProbes, probeAppPage, probeAppPageBeforeRender, probeReactServerSubtree };
@@ -18,5 +18,4 @@ type AppPageRenderIdentity = {
18
18
  declare function normalizeAppPageInterceptionProofPathname(pathname: string | null): string | null;
19
19
  declare function createAppPageRenderIdentity(input: AppPageRenderIdentityInput): AppPageRenderIdentity;
20
20
  //#endregion
21
- export { AppPageRenderIdentity, createAppPageRenderIdentity, normalizeAppPageInterceptionProofPathname };
22
- //# sourceMappingURL=app-page-render-identity.d.ts.map
21
+ export { AppPageRenderIdentity, createAppPageRenderIdentity, normalizeAppPageInterceptionProofPathname };
@@ -38,5 +38,3 @@ function createAppPageRenderIdentity(input) {
38
38
  }
39
39
  //#endregion
40
40
  export { createAppPageRenderIdentity, normalizeAppPageInterceptionProofPathname };
41
-
42
- //# sourceMappingURL=app-page-render-identity.js.map
@@ -31,5 +31,4 @@ declare function createAppPageHtmlOutputScope(options: {
31
31
  routePattern: string;
32
32
  }): CacheProofOutputScope;
33
33
  //#endregion
34
- export { AppPageRenderObservationState, createAppPageHtmlOutputScope, createAppPageRenderObservation, createAppPageRscOutputScope, createEmptyAppPageRenderObservationState };
35
- //# sourceMappingURL=app-page-render-observation.d.ts.map
34
+ export { AppPageRenderObservationState, createAppPageHtmlOutputScope, createAppPageRenderObservation, createAppPageRscOutputScope, createEmptyAppPageRenderObservationState };
@@ -64,5 +64,3 @@ function createAppPageHtmlOutputScope(options) {
64
64
  }
65
65
  //#endregion
66
66
  export { createAppPageHtmlOutputScope, createAppPageRenderObservation, createAppPageRscOutputScope, createEmptyAppPageRenderObservationState };
67
-
68
- //# sourceMappingURL=app-page-render-observation.js.map
@@ -1,9 +1,12 @@
1
1
  import { CachedAppPageValue } from "../shims/cache.js";
2
+ import { ClientReuseManifestParseResult, ClientReuseManifestSkipDisposition } from "./client-reuse-manifest.js";
2
3
  import { AppOutgoingElements } from "./app-elements-wire.js";
4
+ import { NavigationContext } from "../shims/navigation.js";
3
5
  import { AppPageFontPreload, AppPageSpecialError, LayoutClassificationOptions } from "./app-page-execution.js";
4
6
  import { AppPageMiddlewareContext } from "./app-page-response.js";
5
7
  import { RootParams } from "../shims/root-params.js";
6
8
  import { AppPageSsrHandler } from "./app-page-stream.js";
9
+ import { AppLayoutParamAccessTracker } from "./app-layout-param-observation.js";
7
10
  import { AppRscRenderMode } from "./app-rsc-render-mode.js";
8
11
  import { AppPageRenderObservationState } from "./app-page-render-observation.js";
9
12
  import { ReactNode } from "react";
@@ -34,13 +37,14 @@ type RenderAppPageLifecycleOptions = {
34
37
  getFontLinks: () => string[];
35
38
  getFontPreloads: () => AppPageFontPreload[];
36
39
  getFontStyles: () => string[];
37
- getNavigationContext: () => unknown;
40
+ getNavigationContext: () => NavigationContext | null;
38
41
  getPageTags: () => string[];
39
42
  getRequestCacheLife: () => AppPageRequestCacheLife | null;
40
43
  peekRequestCacheLife?: () => AppPageRequestCacheLife | null;
41
44
  getDraftModeCookieHeader: () => string | null | undefined;
42
45
  handlerStart: number;
43
46
  hasLoadingBoundary: boolean;
47
+ dynamicStaleTimeSeconds?: number;
44
48
  isDynamicError: boolean;
45
49
  isDraftMode: boolean;
46
50
  isEdgeRuntime?: boolean;
@@ -76,13 +80,15 @@ type RenderAppPageLifecycleOptions = {
76
80
  routePattern: string;
77
81
  runWithSuppressedHookWarning<T>(probe: () => Promise<T>): Promise<T>;
78
82
  scriptNonce?: string;
83
+ clientReuseManifest?: ClientReuseManifestParseResult;
84
+ skipDisposition?: ClientReuseManifestSkipDisposition;
79
85
  mountedSlotsHeader?: string | null;
80
86
  renderMode?: AppRscRenderMode;
81
87
  waitUntil?: (promise: Promise<void>) => void;
88
+ layoutParamAccess?: AppLayoutParamAccessTracker;
82
89
  element: ReactNode | Readonly<Record<string, ReactNode>>;
83
90
  classification?: LayoutClassificationOptions | null;
84
91
  };
85
92
  declare function renderAppPageLifecycle(options: RenderAppPageLifecycleOptions): Promise<Response>;
86
93
  //#endregion
87
- export { renderAppPageLifecycle };
88
- //# sourceMappingURL=app-page-render.d.ts.map
94
+ export { renderAppPageLifecycle };
@@ -2,13 +2,18 @@ import { createArtifactCompatibilityEnvelope, createArtifactCompatibilityGraphVe
2
2
  import { AppElementsWire, isAppElementsRecord } from "./app-elements-wire.js";
3
3
  import "./app-elements.js";
4
4
  import { runWithFetchDedupe } from "../shims/fetch-cache.js";
5
+ import { NO_STORE_CACHE_CONTROL } from "./cache-control.js";
5
6
  import { buildAppPageHtmlResponse, buildAppPageRscResponse, resolveAppPageHtmlResponsePolicy, resolveAppPageRscResponsePolicy } from "./app-page-response.js";
6
7
  import { buildAppPageFontLinkHeader, readAppPageBinaryStream, resolveAppPageSpecialError, teeAppPageRscStreamForCapture } from "./app-page-execution.js";
7
- import { createAppPageFontData, createAppPageRscErrorTracker, deferUntilStreamConsumed, renderAppPageHtmlStream, renderAppPageHtmlStreamWithRecovery, shouldRerenderAppPageWithGlobalError } from "./app-page-stream.js";
8
+ import { probeAppPageBeforeRender } from "./app-page-probe.js";
9
+ import { DEFAULT_CACHE_VARIANT_BUDGET, buildCacheVariantWithRouteBudget, buildRenderObservation, buildRenderRequestApiObservations, createStaticLayoutArtifactReuseDecision } from "./cache-proof.js";
8
10
  import { createAppPageHtmlOutputScope, createAppPageRenderObservation, createAppPageRscOutputScope, createEmptyAppPageRenderObservationState } from "./app-page-render-observation.js";
9
11
  import { finalizeAppPageHtmlCacheResponse, finalizeAppPageRscCacheResponse } from "./app-page-cache.js";
12
+ import { createStaticLayoutClientReuseArtifactCompatibility, createStaticLayoutClientReusePayloadHash, createStaticLayoutClientReuseRouteId } from "./static-layout-client-reuse-proof.js";
13
+ import { createAppPageFontData, createAppPageRscErrorTracker, deferUntilStreamConsumed, renderAppPageHtmlStream, renderAppPageHtmlStreamWithRecovery, shouldRerenderAppPageWithGlobalError } from "./app-page-stream.js";
14
+ import { getStaticLayoutObservationSkipRejection } from "./app-layout-param-observation.js";
10
15
  import { hasDigest } from "./app-rsc-errors.js";
11
- import { probeAppPageBeforeRender } from "./app-page-probe.js";
16
+ import { createClientReuseSkipTransportPlan, crossCheckClientReuseManifestEntryWithCache } from "./skip-cache-proof.js";
12
17
  //#region src/server/app-page-render.ts
13
18
  function buildResponseTiming(options) {
14
19
  if (options.isProduction) return;
@@ -49,6 +54,146 @@ function createAppPageArtifactCompatibility(element, routePattern) {
49
54
  rootBoundaryId
50
55
  });
51
56
  }
57
+ function readStringMetadata(element, key) {
58
+ const value = element[key];
59
+ return typeof value === "string" ? value : null;
60
+ }
61
+ function createStaticLayoutOutputScope(input) {
62
+ const routeId = readStringMetadata(input.element, AppElementsWire.keys.route);
63
+ if (routeId === null) return null;
64
+ return {
65
+ kind: "layout",
66
+ layoutId: input.layoutId,
67
+ rootBoundaryId: input.artifactCompatibility.rootBoundaryId,
68
+ routeId
69
+ };
70
+ }
71
+ function createRenderAndSendSkipDisposition() {
72
+ return {
73
+ code: "SKIP_MODEL_DISABLED",
74
+ enabled: false,
75
+ mode: "renderAndSend"
76
+ };
77
+ }
78
+ function rejectStaticLayoutObservation(entry, code, fields = {}) {
79
+ return {
80
+ kind: "rejected",
81
+ rejection: {
82
+ code,
83
+ entryId: entry.id,
84
+ fields
85
+ },
86
+ skipDisposition: createRenderAndSendSkipDisposition()
87
+ };
88
+ }
89
+ function rejectUnsafeStaticLayoutObservation(entry, layoutParamAccess) {
90
+ const observation = layoutParamAccess?.getLayoutObservation(entry.id);
91
+ if (!observation) return rejectStaticLayoutObservation(entry, "SKIP_LAYOUT_PARAMS_OBSERVATION_INCOMPLETE");
92
+ const observationRejection = getStaticLayoutObservationSkipRejection(observation);
93
+ if (observationRejection) return rejectStaticLayoutObservation(entry, observationRejection.code, observationRejection.fields);
94
+ return null;
95
+ }
96
+ function createRenderLifecycleSkipDisposition(input) {
97
+ if (!input.isRscRequest || input.clientReuseManifest === void 0) return;
98
+ const clientReuseManifest = input.clientReuseManifest;
99
+ if (clientReuseManifest.kind !== "parsed" || clientReuseManifest.manifest.entries.length === 0) return;
100
+ if (!isAppElementsRecord(input.element) || input.artifactCompatibility === void 0) return {
101
+ code: "SKIP_MODEL_DISABLED",
102
+ enabled: false,
103
+ mode: "renderAndSend"
104
+ };
105
+ const element = input.element;
106
+ const artifactCompatibility = input.artifactCompatibility;
107
+ const staticLayoutIds = new Set(Object.entries(input.layoutFlags).filter(([, flag]) => flag === "s").map(([layoutId]) => layoutId));
108
+ return createClientReuseSkipTransportPlan({
109
+ manifest: clientReuseManifest,
110
+ verifyEntry(entry) {
111
+ if (entry.kind !== "layout" || !staticLayoutIds.has(entry.id) || AppElementsWire.parseElementKey(entry.id)?.kind !== "layout") return crossCheckClientReuseManifestEntryWithCache({
112
+ artifact: {
113
+ compatibility: artifactCompatibility,
114
+ invalidation: { kind: "unknown" },
115
+ payloadHash: null
116
+ },
117
+ cacheDecision: null,
118
+ entry
119
+ });
120
+ const currentOutput = createStaticLayoutOutputScope({
121
+ artifactCompatibility,
122
+ element,
123
+ layoutId: entry.id
124
+ });
125
+ if (currentOutput === null) return crossCheckClientReuseManifestEntryWithCache({
126
+ artifact: {
127
+ compatibility: artifactCompatibility,
128
+ invalidation: { kind: "unknown" },
129
+ payloadHash: null
130
+ },
131
+ cacheDecision: null,
132
+ entry
133
+ });
134
+ const observationRejection = rejectUnsafeStaticLayoutObservation(entry, input.layoutParamAccess);
135
+ if (observationRejection) return observationRejection;
136
+ const candidateRouteId = createStaticLayoutClientReuseRouteId(entry.id);
137
+ const candidateOutput = {
138
+ ...currentOutput,
139
+ routeId: candidateRouteId
140
+ };
141
+ const candidateVariant = buildCacheVariantWithRouteBudget({
142
+ budget: DEFAULT_CACHE_VARIANT_BUDGET,
143
+ dimensions: [],
144
+ output: candidateOutput,
145
+ routeBudget: {
146
+ routeId: candidateRouteId,
147
+ variantCacheKeys: []
148
+ }
149
+ });
150
+ const skipArtifactCompatibility = candidateVariant.kind === "variant" ? createStaticLayoutClientReuseArtifactCompatibility({
151
+ artifactCompatibility,
152
+ layoutId: entry.id,
153
+ rootBoundaryId: candidateOutput.rootBoundaryId,
154
+ routeId: candidateOutput.routeId,
155
+ variantCacheKey: candidateVariant.variant.cacheKey
156
+ }) : artifactCompatibility;
157
+ const cacheDecision = createStaticLayoutArtifactReuseDecision({
158
+ candidateArtifactCompatibility: skipArtifactCompatibility,
159
+ candidateObservation: buildRenderObservation({
160
+ boundaryOutcome: { kind: "success" },
161
+ cacheability: "public",
162
+ cacheTags: [],
163
+ completeness: "complete",
164
+ dynamicFetches: [],
165
+ output: candidateOutput,
166
+ pathTags: [input.cleanPathname],
167
+ requestApis: buildRenderRequestApiObservations({
168
+ completeness: "complete",
169
+ observed: []
170
+ })
171
+ }),
172
+ candidateVariant,
173
+ currentArtifactCompatibility: skipArtifactCompatibility,
174
+ currentOutput
175
+ });
176
+ return crossCheckClientReuseManifestEntryWithCache({
177
+ artifact: {
178
+ compatibility: skipArtifactCompatibility,
179
+ invalidation: { kind: "valid" },
180
+ payloadHash: candidateVariant.kind === "variant" ? createStaticLayoutClientReusePayloadHash({
181
+ artifactCompatibility: skipArtifactCompatibility,
182
+ layoutId: entry.id,
183
+ rootBoundaryId: candidateOutput.rootBoundaryId,
184
+ routeId: candidateOutput.routeId,
185
+ variantCacheKey: candidateVariant.variant.cacheKey
186
+ }) : null
187
+ },
188
+ cacheDecision,
189
+ entry
190
+ });
191
+ }
192
+ }).skipDisposition;
193
+ }
194
+ function isSkipTransportEnabled(skipDisposition) {
195
+ return skipDisposition?.enabled === true;
196
+ }
52
197
  /**
53
198
  * Wraps an RSC response body to report invalid dynamic usage errors after the
54
199
  * stream is fully consumed. In dev mode, errors from cookies()/headers() inside
@@ -151,18 +296,29 @@ async function renderAppPageLifecycle(options) {
151
296
  params: options.params,
152
297
  state: options.peekRenderObservationState?.() ?? createEmptyAppPageRenderObservationState()
153
298
  });
299
+ const skipDisposition = options.skipDisposition ?? createRenderLifecycleSkipDisposition({
300
+ artifactCompatibility,
301
+ cleanPathname: options.cleanPathname,
302
+ clientReuseManifest: options.clientReuseManifest,
303
+ element: options.element,
304
+ isRscRequest: options.isRscRequest,
305
+ layoutFlags,
306
+ layoutParamAccess: options.layoutParamAccess
307
+ });
308
+ const shouldBypassRscCacheForSkipTransport = options.isRscRequest && isSkipTransportEnabled(skipDisposition);
154
309
  const outgoingElement = AppElementsWire.encodeOutgoingPayload({
155
310
  element: options.element,
156
311
  layoutFlags,
157
312
  ...artifactCompatibility ? { artifactCompatibility } : {},
158
- renderObservation: payloadRenderObservation
313
+ renderObservation: payloadRenderObservation,
314
+ skipDisposition: options.isRscRequest ? skipDisposition : void 0
159
315
  });
160
316
  const compileEnd = options.isProduction ? void 0 : performance.now();
161
317
  const rscErrorTracker = createAppPageRscErrorTracker(options.createRscOnErrorHandler(options.cleanPathname, options.routePattern));
162
318
  const rscStream = runWithFetchDedupe(() => options.renderToReadableStream(outgoingElement, { onError: rscErrorTracker.onRenderError }));
163
319
  let revalidateSeconds = options.revalidateSeconds;
164
320
  let expireSeconds = options.expireSeconds;
165
- const shouldCaptureRscForCacheMetadata = options.isProgressiveActionRender !== true && (options.isProduction || options.isPrerender === true) && (revalidateSeconds === null || revalidateSeconds > 0 && revalidateSeconds !== Infinity) && !options.isDraftMode && !options.isForceDynamic;
321
+ const shouldCaptureRscForCacheMetadata = options.isProgressiveActionRender !== true && (options.isProduction || options.isPrerender === true) && (revalidateSeconds === null || revalidateSeconds > 0 && revalidateSeconds !== Infinity) && !options.isDraftMode && !options.isForceDynamic && !shouldBypassRscCacheForSkipTransport;
166
322
  const rscCapture = teeAppPageRscStreamForCapture(rscStream, shouldCaptureRscForCacheMetadata);
167
323
  const rscForResponse = rscCapture.ssrStream;
168
324
  const capturedRscDataRef = { value: null };
@@ -177,7 +333,7 @@ async function renderAppPageLifecycle(options) {
177
333
  }));
178
334
  }
179
335
  const dynamicUsedDuringBuild = options.consumeDynamicUsage();
180
- const rscResponsePolicy = resolveAppPageRscResponsePolicy({
336
+ const rscResponsePolicy = shouldBypassRscCacheForSkipTransport ? { cacheControl: NO_STORE_CACHE_CONTROL } : resolveAppPageRscResponsePolicy({
181
337
  dynamicUsedDuringBuild,
182
338
  isDraftMode: options.isDraftMode,
183
339
  isDynamicError: options.isDynamicError,
@@ -187,7 +343,9 @@ async function renderAppPageLifecycle(options) {
187
343
  expireSeconds,
188
344
  revalidateSeconds
189
345
  });
346
+ if (shouldBypassRscCacheForSkipTransport) options.isrDebug?.("RSC cache write skipped (skip transport payload)", options.cleanPathname);
190
347
  const rscResponse = buildAppPageRscResponse(rscForResponse, {
348
+ dynamicStaleTimeSeconds: options.dynamicStaleTimeSeconds !== void 0 && options.isPrerender !== true && !options.isForceStatic && (dynamicUsedDuringBuild || !shouldCaptureRscForCacheMetadata) ? options.dynamicStaleTimeSeconds : void 0,
191
349
  isEdgeRuntime: options.isEdgeRuntime,
192
350
  middlewareContext: options.middlewareContext,
193
351
  mountedSlotsHeader: options.mountedSlotsHeader,
@@ -250,7 +408,7 @@ async function renderAppPageLifecycle(options) {
250
408
  if (!options.isProduction) renderEnd = performance.now();
251
409
  },
252
410
  renderErrorBoundaryResponse(error) {
253
- return options.renderErrorBoundaryResponse(error);
411
+ return options.renderErrorBoundaryResponse(rscErrorTracker.getCapturedError() ?? error);
254
412
  },
255
413
  async renderHtmlStream() {
256
414
  const ssrHandler = await options.loadSsrHandler();
@@ -275,8 +433,9 @@ async function renderAppPageLifecycle(options) {
275
433
  resolveSpecialError: resolveAppPageSpecialError
276
434
  });
277
435
  if (htmlRender.response) return htmlRender.response;
278
- const htmlStream = htmlRender.htmlStream;
436
+ let htmlStream = htmlRender.htmlStream;
279
437
  if (!htmlStream) throw new Error("[vinext] Expected an HTML stream when no fallback response was returned");
438
+ if (options.isPrerender === true) await htmlRender.metadataReady;
280
439
  if (options.hasLoadingBoundary) {
281
440
  const captured = rscErrorTracker.getCapturedSpecialError();
282
441
  if (captured) {
@@ -295,7 +454,7 @@ async function renderAppPageLifecycle(options) {
295
454
  if (cleanResponse) return cleanResponse;
296
455
  }
297
456
  if (options.isPrerender === true) {
298
- await settleCapturedRscRenderForCacheMetadata(capturedRscDataRef.value);
457
+ await settleCapturedRscRenderForCacheMetadata(htmlRender.capturedRscData);
299
458
  ({expireSeconds, revalidateSeconds} = applyRequestCacheLife({
300
459
  expireSeconds,
301
460
  requestCacheLife: readRequestCacheLifeForPrerender(options),
@@ -407,5 +566,3 @@ async function settleCapturedRscRenderForCacheMetadata(capturedRscDataPromise) {
407
566
  }
408
567
  //#endregion
409
568
  export { renderAppPageLifecycle };
410
-
411
- //# sourceMappingURL=app-page-render.js.map
@@ -1,4 +1,5 @@
1
1
  import { AppPageSpecialError } from "./app-page-execution.js";
2
+ import { AppLayoutParamAccessTracker } from "./app-layout-param-observation.js";
2
3
 
3
4
  //#region src/server/app-page-request.d.ts
4
5
  type AppPageParams = Record<string, string | string[]>;
@@ -76,13 +77,14 @@ type ResolveAppPageInterceptionRerenderTargetResult<TRoute, TInterceptOpts> = {
76
77
  type ResolveAppPageActionRerenderTargetOptions<TRoute, TPage, TInterceptOpts> = ResolveAppPageInterceptionRerenderTargetOptions<TRoute, TPage, TInterceptOpts>;
77
78
  type ResolveAppPageActionRerenderTargetResult<TRoute, TInterceptOpts> = ResolveAppPageInterceptionRerenderTargetResult<TRoute, TInterceptOpts>;
78
79
  type ResolveAppPageInterceptOptions<TRoute, TPage, TInterceptOpts, TElement> = {
79
- buildPageElement: (route: TRoute, params: AppPageParams, interceptOpts: TInterceptOpts | undefined, searchParams: URLSearchParams) => Promise<TElement>;
80
+ buildPageElement: (route: TRoute, params: AppPageParams, interceptOpts: TInterceptOpts | undefined, searchParams: URLSearchParams, layoutParamAccess?: AppLayoutParamAccessTracker) => Promise<TElement>;
80
81
  cleanPathname: string;
81
82
  currentRoute: TRoute;
82
83
  findIntercept: (pathname: string) => AppPageInterceptMatch<TPage> | null;
83
84
  getRouteParamNames: (route: TRoute) => readonly string[];
84
85
  getSourceRoute: (sourceRouteIndex: number) => TRoute | undefined;
85
86
  isRscRequest: boolean;
87
+ layoutParamAccess?: AppLayoutParamAccessTracker;
86
88
  renderInterceptResponse: (route: TRoute, element: TElement) => Promise<Response> | Response;
87
89
  searchParams: URLSearchParams;
88
90
  setNavigationContext: (context: {
@@ -120,5 +122,4 @@ declare function resolveAppPageActionRerenderTarget<TRoute, TPage, TInterceptOpt
120
122
  declare function resolveAppPageIntercept<TRoute, TPage, TInterceptOpts, TElement>(options: ResolveAppPageInterceptOptions<TRoute, TPage, TInterceptOpts, TElement>): Promise<ResolveAppPageInterceptResult<TInterceptOpts>>;
121
123
  declare function buildAppPageElement<TElement>(options: BuildAppPageElementOptions<TElement>): Promise<BuildAppPageElementResult<TElement>>;
122
124
  //#endregion
123
- export { ValidateAppPageDynamicParamsOptions, buildAppPageElement, resolveAppPageActionRerenderTarget, resolveAppPageGenerateStaticParamsSources, resolveAppPageIntercept, resolveAppPageInterceptMatch, resolveAppPageInterceptionRerenderTarget, validateAppPageDynamicParams };
124
- //# sourceMappingURL=app-page-request.d.ts.map
125
+ export { ValidateAppPageDynamicParamsOptions, buildAppPageElement, resolveAppPageActionRerenderTarget, resolveAppPageGenerateStaticParamsSources, resolveAppPageIntercept, resolveAppPageInterceptMatch, resolveAppPageInterceptionRerenderTarget, validateAppPageDynamicParams };
@@ -158,7 +158,7 @@ async function resolveAppPageIntercept(options) {
158
158
  pathname: options.cleanPathname,
159
159
  searchParams: options.searchParams
160
160
  });
161
- const interceptElement = await options.buildPageElement(interceptState.sourceRoute, pickRouteParams(interceptState.intercept.matchedParams, options.getRouteParamNames(interceptState.sourceRoute)), options.toInterceptOpts(interceptState.intercept), options.searchParams);
161
+ const interceptElement = await options.buildPageElement(interceptState.sourceRoute, pickRouteParams(interceptState.intercept.matchedParams, options.getRouteParamNames(interceptState.sourceRoute)), options.toInterceptOpts(interceptState.intercept), options.searchParams, options.layoutParamAccess);
162
162
  return {
163
163
  interceptOpts: void 0,
164
164
  response: await options.renderInterceptResponse(interceptState.sourceRoute, interceptElement)
@@ -191,5 +191,3 @@ async function buildAppPageElement(options) {
191
191
  }
192
192
  //#endregion
193
193
  export { buildAppPageElement, resolveAppPageActionRerenderTarget, resolveAppPageGenerateStaticParamsSources, resolveAppPageIntercept, resolveAppPageInterceptMatch, resolveAppPageInterceptionRerenderTarget, validateAppPageDynamicParams };
194
-
195
- //# sourceMappingURL=app-page-request.js.map
@@ -36,6 +36,7 @@ type AppPageHtmlResponsePolicy = {
36
36
  shouldWriteToCache: boolean;
37
37
  } & AppPageResponsePolicy;
38
38
  type BuildAppPageRscResponseOptions = {
39
+ dynamicStaleTimeSeconds?: number;
39
40
  isEdgeRuntime?: boolean;
40
41
  middlewareContext: AppPageMiddlewareContext;
41
42
  mountedSlotsHeader?: string | null;
@@ -64,5 +65,4 @@ declare function applyEdgeRuntimeHeader(headers: Headers, isEdgeRuntime: boolean
64
65
  declare function buildAppPageRscResponse(body: ReadableStream, options: BuildAppPageRscResponseOptions): Response;
65
66
  declare function buildAppPageHtmlResponse(body: ReadableStream, options: BuildAppPageHtmlResponseOptions): Response;
66
67
  //#endregion
67
- export { AppPageMiddlewareContext, AppPageResponseTiming, applyEdgeRuntimeHeader, buildAppPageHtmlResponse, buildAppPageRscResponse, mergeMiddlewareResponseHeaders, resolveAppPageHtmlResponsePolicy, resolveAppPageRscResponsePolicy };
68
- //# sourceMappingURL=app-page-response.d.ts.map
68
+ export { AppPageMiddlewareContext, AppPageResponseTiming, applyEdgeRuntimeHeader, buildAppPageHtmlResponse, buildAppPageRscResponse, mergeMiddlewareResponseHeaders, resolveAppPageHtmlResponsePolicy, resolveAppPageRscResponsePolicy };
@@ -1,4 +1,4 @@
1
- import { VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_PARAMS_HEADER, VINEXT_TIMING_HEADER } from "./headers.js";
1
+ import { VINEXT_DYNAMIC_STALE_TIME_HEADER, VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_PARAMS_HEADER, VINEXT_TIMING_HEADER } from "./headers.js";
2
2
  import { setCacheStateHeaders } from "./cache-headers.js";
3
3
  import { VINEXT_RSC_CONTENT_TYPE, VINEXT_RSC_VARY_HEADER, applyRscCompatibilityIdHeader } from "./app-rsc-cache-busting.js";
4
4
  import { NO_STORE_CACHE_CONTROL, STATIC_CACHE_CONTROL, buildRevalidateCacheControl } from "./cache-control.js";
@@ -11,6 +11,9 @@ function applyTimingHeader(headers, timing) {
11
11
  const renderMs = timing.responseKind === "html" && timing.renderEnd !== void 0 && timing.compileEnd !== void 0 ? Math.round(timing.renderEnd - timing.compileEnd) : -1;
12
12
  headers.set(VINEXT_TIMING_HEADER, `${handlerStart},${compileMs},${renderMs}`);
13
13
  }
14
+ function applyDynamicStaleTimeHeader(headers, dynamicStaleTimeSeconds) {
15
+ if (dynamicStaleTimeSeconds !== void 0 && Number.isInteger(dynamicStaleTimeSeconds) && dynamicStaleTimeSeconds >= 0) headers.set(VINEXT_DYNAMIC_STALE_TIME_HEADER, String(dynamicStaleTimeSeconds));
16
+ }
14
17
  function resolveAppPageRscResponsePolicy(options) {
15
18
  if (options.isDraftMode) return { cacheControl: NO_STORE_CACHE_CONTROL };
16
19
  if (options.isForceDynamic || options.dynamicUsedDuringBuild) return { cacheControl: NO_STORE_CACHE_CONTROL };
@@ -85,6 +88,7 @@ function buildAppPageRscResponse(body, options) {
85
88
  applyEdgeRuntimeHeader(headers, options.isEdgeRuntime);
86
89
  if (options.params && Object.keys(options.params).length > 0) headers.set(VINEXT_PARAMS_HEADER, encodeURIComponent(JSON.stringify(options.params)));
87
90
  if (options.mountedSlotsHeader) headers.set(VINEXT_MOUNTED_SLOTS_HEADER, options.mountedSlotsHeader);
91
+ applyDynamicStaleTimeHeader(headers, options.dynamicStaleTimeSeconds);
88
92
  if (options.policy.cacheControl) headers.set("Cache-Control", options.policy.cacheControl);
89
93
  if (options.policy.cacheState) setCacheStateHeaders(headers, options.policy.cacheState);
90
94
  mergeMiddlewareResponseHeaders(headers, options.middlewareContext.headers);
@@ -114,5 +118,3 @@ function buildAppPageHtmlResponse(body, options) {
114
118
  }
115
119
  //#endregion
116
120
  export { applyEdgeRuntimeHeader, buildAppPageHtmlResponse, buildAppPageRscResponse, mergeMiddlewareResponseHeaders, resolveAppPageHtmlResponsePolicy, resolveAppPageRscResponsePolicy };
117
-
118
- //# sourceMappingURL=app-page-response.js.map