vinext 0.0.54 → 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 (977) hide show
  1. package/README.md +52 -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 +321 -27
  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 +2 -2
  65. package/dist/client/navigation-runtime.js +1 -3
  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 +30 -3
  87. package/dist/config/next-config.js +47 -8
  88. package/dist/config/tsconfig-paths.d.ts +12 -4
  89. package/dist/config/tsconfig-paths.js +58 -31
  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 +6 -5
  95. package/dist/entries/app-rsc-entry.js +62 -61
  96. package/dist/entries/app-rsc-manifest.d.ts +1 -2
  97. package/dist/entries/app-rsc-manifest.js +42 -12
  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 +94 -670
  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 +297 -140
  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 +16 -0
  123. package/dist/plugins/import-meta-url.js +347 -0
  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 +9 -17
  169. package/dist/server/app-browser-action-result.js +25 -16
  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 +352 -115
  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 +16 -0
  180. package/dist/server/app-browser-mpa-navigation.js +42 -0
  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 +4 -3
  184. package/dist/server/app-browser-popstate.js +15 -3
  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 +195 -11
  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 +43 -0
  210. package/dist/server/app-layout-param-observation.js +168 -0
  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 +20 -11
  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 +2 -2
  234. package/dist/server/app-page-params.js +14 -3
  235. package/dist/server/app-page-probe.d.ts +90 -2
  236. package/dist/server/app-page-probe.js +201 -6
  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 +8 -7
  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 +12 -3
  286. package/dist/server/app-rsc-cache-busting.js +21 -10
  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 +32 -14
  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 +5 -3
  304. package/dist/server/app-segment-config.js +12 -3
  305. package/dist/server/app-server-action-execution.d.ts +12 -2
  306. package/dist/server/app-server-action-execution.js +200 -25
  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 +2 -2
  318. package/dist/server/artifact-compatibility.js +12 -7
  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 +10 -5
  326. package/dist/server/client-reuse-manifest.js +7 -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 +127 -28
  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 +6 -0
  358. package/dist/server/document-initial-head.js +33 -0
  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 +84 -3
  414. package/dist/server/pages-document-initial-props.js +127 -3
  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 +35 -4
  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 +15 -2
  430. package/dist/server/pages-page-response.js +39 -12
  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 +13 -8
  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 +23 -3
  456. package/dist/server/skip-cache-proof.js +81 -14
  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 +15 -0
  462. package/dist/server/static-layout-client-reuse-proof.js +33 -0
  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 +68 -7
  482. package/dist/shims/cache.js +179 -25
  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 +11 -7
  500. package/dist/shims/document.js +7 -10
  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 +60 -28
  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 +3 -2
  508. package/dist/shims/fetch-cache.js +18 -9
  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 +4 -2
  518. package/dist/shims/hash-scroll.js +13 -3
  519. package/dist/shims/head-state.d.ts +2 -2
  520. package/dist/shims/head-state.js +18 -5
  521. package/dist/shims/head.d.ts +35 -2
  522. package/dist/shims/head.js +113 -16
  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 +55 -0
  545. package/dist/shims/internal/pages-data-fetch-dedup.js +68 -0
  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 +47 -15
  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 +61 -7
  571. package/dist/shims/navigation.js +244 -47
  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 +172 -37
  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 +6 -3
  602. package/dist/shims/thenable-params.js +131 -12
  603. package/dist/shims/unified-request-context.d.ts +1 -2
  604. package/dist/shims/unified-request-context.js +3 -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 +14 -0
  624. package/dist/utils/client-build-manifest.js +52 -0
  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 +1 -3
  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 +10 -0
  674. package/dist/utils/vite-version.js +34 -0
  675. package/package.json +20 -7
  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/instrumentation-client.js.map +0 -1
  732. package/dist/plugins/middleware-server-only.js.map +0 -1
  733. package/dist/plugins/og-assets.js.map +0 -1
  734. package/dist/plugins/optimize-imports.js.map +0 -1
  735. package/dist/plugins/postcss.js.map +0 -1
  736. package/dist/plugins/remove-console.js.map +0 -1
  737. package/dist/plugins/rsc-client-reference-loaders.js.map +0 -1
  738. package/dist/plugins/rsc-client-shim-excludes.js.map +0 -1
  739. package/dist/plugins/sass.js.map +0 -1
  740. package/dist/plugins/server-externals-manifest.js.map +0 -1
  741. package/dist/plugins/strip-server-exports.js.map +0 -1
  742. package/dist/routing/app-route-graph.js.map +0 -1
  743. package/dist/routing/app-router.js.map +0 -1
  744. package/dist/routing/file-matcher.js.map +0 -1
  745. package/dist/routing/pages-router.js.map +0 -1
  746. package/dist/routing/route-matching.js.map +0 -1
  747. package/dist/routing/route-pattern.js.map +0 -1
  748. package/dist/routing/route-trie.js.map +0 -1
  749. package/dist/routing/route-validation.js.map +0 -1
  750. package/dist/routing/utils.js.map +0 -1
  751. package/dist/server/api-handler.js.map +0 -1
  752. package/dist/server/app-browser-action-result.js.map +0 -1
  753. package/dist/server/app-browser-entry.js.map +0 -1
  754. package/dist/server/app-browser-error.js.map +0 -1
  755. package/dist/server/app-browser-hydration.js.map +0 -1
  756. package/dist/server/app-browser-interception-context.js.map +0 -1
  757. package/dist/server/app-browser-navigation-controller.js.map +0 -1
  758. package/dist/server/app-browser-popstate.js.map +0 -1
  759. package/dist/server/app-browser-rsc-redirect.js.map +0 -1
  760. package/dist/server/app-browser-state.js.map +0 -1
  761. package/dist/server/app-browser-stream.js.map +0 -1
  762. package/dist/server/app-browser-visible-commit.js.map +0 -1
  763. package/dist/server/app-client-reference-preloader.js.map +0 -1
  764. package/dist/server/app-elements-wire.js.map +0 -1
  765. package/dist/server/app-elements.js.map +0 -1
  766. package/dist/server/app-fallback-renderer.js.map +0 -1
  767. package/dist/server/app-history-state.js.map +0 -1
  768. package/dist/server/app-hook-warning-suppression.js.map +0 -1
  769. package/dist/server/app-inline-css-client.js.map +0 -1
  770. package/dist/server/app-interception-context-header.js.map +0 -1
  771. package/dist/server/app-middleware.js.map +0 -1
  772. package/dist/server/app-mounted-slots-header.js.map +0 -1
  773. package/dist/server/app-optimistic-routing.js.map +0 -1
  774. package/dist/server/app-page-boundary-render.js.map +0 -1
  775. package/dist/server/app-page-boundary.js.map +0 -1
  776. package/dist/server/app-page-cache.js.map +0 -1
  777. package/dist/server/app-page-dispatch.js.map +0 -1
  778. package/dist/server/app-page-element-builder.js.map +0 -1
  779. package/dist/server/app-page-execution.js.map +0 -1
  780. package/dist/server/app-page-head.js.map +0 -1
  781. package/dist/server/app-page-method.js.map +0 -1
  782. package/dist/server/app-page-params.js.map +0 -1
  783. package/dist/server/app-page-probe.js.map +0 -1
  784. package/dist/server/app-page-render-identity.js.map +0 -1
  785. package/dist/server/app-page-render-observation.js.map +0 -1
  786. package/dist/server/app-page-render.js.map +0 -1
  787. package/dist/server/app-page-request.js.map +0 -1
  788. package/dist/server/app-page-response.js.map +0 -1
  789. package/dist/server/app-page-route-wiring.js.map +0 -1
  790. package/dist/server/app-page-segment-state.js.map +0 -1
  791. package/dist/server/app-page-stream.js.map +0 -1
  792. package/dist/server/app-post-middleware-context.js.map +0 -1
  793. package/dist/server/app-prerender-endpoints.js.map +0 -1
  794. package/dist/server/app-prerender-static-params.js.map +0 -1
  795. package/dist/server/app-render-dependency.js.map +0 -1
  796. package/dist/server/app-request-context.js.map +0 -1
  797. package/dist/server/app-route-handler-cache.js.map +0 -1
  798. package/dist/server/app-route-handler-dispatch.js.map +0 -1
  799. package/dist/server/app-route-handler-execution.js.map +0 -1
  800. package/dist/server/app-route-handler-policy.js.map +0 -1
  801. package/dist/server/app-route-handler-response.js.map +0 -1
  802. package/dist/server/app-route-handler-runtime.js.map +0 -1
  803. package/dist/server/app-router-entry.js.map +0 -1
  804. package/dist/server/app-rsc-cache-busting.js.map +0 -1
  805. package/dist/server/app-rsc-embedded-chunks.js.map +0 -1
  806. package/dist/server/app-rsc-error-handler.js.map +0 -1
  807. package/dist/server/app-rsc-errors.js.map +0 -1
  808. package/dist/server/app-rsc-handler.js.map +0 -1
  809. package/dist/server/app-rsc-render-mode.js.map +0 -1
  810. package/dist/server/app-rsc-request-normalization.js.map +0 -1
  811. package/dist/server/app-rsc-response-finalizer.js.map +0 -1
  812. package/dist/server/app-rsc-route-matching.js.map +0 -1
  813. package/dist/server/app-segment-config.js.map +0 -1
  814. package/dist/server/app-server-action-execution.js.map +0 -1
  815. package/dist/server/app-ssr-entry.js.map +0 -1
  816. package/dist/server/app-ssr-error-meta.js.map +0 -1
  817. package/dist/server/app-ssr-stream.js.map +0 -1
  818. package/dist/server/app-static-generation.js.map +0 -1
  819. package/dist/server/artifact-compatibility.js.map +0 -1
  820. package/dist/server/cache-control.js.map +0 -1
  821. package/dist/server/cache-headers.js.map +0 -1
  822. package/dist/server/cache-proof.js.map +0 -1
  823. package/dist/server/client-reuse-manifest.js.map +0 -1
  824. package/dist/server/client-trace-metadata.js.map +0 -1
  825. package/dist/server/cookie-utils.js.map +0 -1
  826. package/dist/server/csp.js.map +0 -1
  827. package/dist/server/default-global-error-module.js.map +0 -1
  828. package/dist/server/default-not-found-module.js.map +0 -1
  829. package/dist/server/dev-error-overlay-store.js.map +0 -1
  830. package/dist/server/dev-error-overlay.js.map +0 -1
  831. package/dist/server/dev-lockfile.js.map +0 -1
  832. package/dist/server/dev-module-runner.js.map +0 -1
  833. package/dist/server/dev-origin-check.js.map +0 -1
  834. package/dist/server/dev-route-files.js.map +0 -1
  835. package/dist/server/dev-server.js.map +0 -1
  836. package/dist/server/edge-api-runtime.js.map +0 -1
  837. package/dist/server/file-based-metadata.js.map +0 -1
  838. package/dist/server/headers.js.map +0 -1
  839. package/dist/server/html.js.map +0 -1
  840. package/dist/server/http-error-responses.js.map +0 -1
  841. package/dist/server/image-optimization.js.map +0 -1
  842. package/dist/server/implicit-tags.js.map +0 -1
  843. package/dist/server/instrumentation-runtime.js.map +0 -1
  844. package/dist/server/instrumentation.js.map +0 -1
  845. package/dist/server/isr-cache.js.map +0 -1
  846. package/dist/server/metadata-route-build-data.js.map +0 -1
  847. package/dist/server/metadata-route-response.js.map +0 -1
  848. package/dist/server/metadata-routes.js.map +0 -1
  849. package/dist/server/middleware-matcher.js.map +0 -1
  850. package/dist/server/middleware-request-headers.js.map +0 -1
  851. package/dist/server/middleware-response-headers.js.map +0 -1
  852. package/dist/server/middleware-runtime.js.map +0 -1
  853. package/dist/server/middleware.js.map +0 -1
  854. package/dist/server/navigation-planner.js.map +0 -1
  855. package/dist/server/navigation-trace.js.map +0 -1
  856. package/dist/server/next-error-digest.js.map +0 -1
  857. package/dist/server/normalize-path.js.map +0 -1
  858. package/dist/server/pages-api-route.js.map +0 -1
  859. package/dist/server/pages-body-parser-config.js.map +0 -1
  860. package/dist/server/pages-data-route.js.map +0 -1
  861. package/dist/server/pages-default-404.js.map +0 -1
  862. package/dist/server/pages-document-initial-props.js.map +0 -1
  863. package/dist/server/pages-i18n.js.map +0 -1
  864. package/dist/server/pages-media-type.js.map +0 -1
  865. package/dist/server/pages-node-compat.js.map +0 -1
  866. package/dist/server/pages-page-data.js.map +0 -1
  867. package/dist/server/pages-page-method.js.map +0 -1
  868. package/dist/server/pages-page-response.js.map +0 -1
  869. package/dist/server/pages-serializable-props.js.map +0 -1
  870. package/dist/server/prerender-route-params.js.map +0 -1
  871. package/dist/server/prerender-work-unit-setup.js.map +0 -1
  872. package/dist/server/prod-server.js.map +0 -1
  873. package/dist/server/proxy-trust.js.map +0 -1
  874. package/dist/server/request-log.js.map +0 -1
  875. package/dist/server/request-pipeline.js.map +0 -1
  876. package/dist/server/rsc-stream-hints.js.map +0 -1
  877. package/dist/server/seed-cache.js.map +0 -1
  878. package/dist/server/server-action-not-found.js.map +0 -1
  879. package/dist/server/server-globals.js.map +0 -1
  880. package/dist/server/skip-cache-proof.js.map +0 -1
  881. package/dist/server/socket-error-backstop.js.map +0 -1
  882. package/dist/server/static-file-cache.js.map +0 -1
  883. package/dist/server/streaming-metadata.js.map +0 -1
  884. package/dist/server/worker-utils.js.map +0 -1
  885. package/dist/shims/amp.js.map +0 -1
  886. package/dist/shims/app-router-scroll-state.js.map +0 -1
  887. package/dist/shims/app-router-scroll.js.map +0 -1
  888. package/dist/shims/app.js.map +0 -1
  889. package/dist/shims/before-interactive-context.js.map +0 -1
  890. package/dist/shims/cache-for-request.js.map +0 -1
  891. package/dist/shims/cache-runtime.js.map +0 -1
  892. package/dist/shims/cache.js.map +0 -1
  893. package/dist/shims/client-hook-error.js.map +0 -1
  894. package/dist/shims/client-locale.js.map +0 -1
  895. package/dist/shims/compat-router.js.map +0 -1
  896. package/dist/shims/config.js.map +0 -1
  897. package/dist/shims/constants.js.map +0 -1
  898. package/dist/shims/default-global-error.js.map +0 -1
  899. package/dist/shims/default-not-found.js.map +0 -1
  900. package/dist/shims/document.js.map +0 -1
  901. package/dist/shims/dynamic.js.map +0 -1
  902. package/dist/shims/error-boundary.js.map +0 -1
  903. package/dist/shims/error.js.map +0 -1
  904. package/dist/shims/fetch-cache.js.map +0 -1
  905. package/dist/shims/font-google-base.js.map +0 -1
  906. package/dist/shims/font-local.js.map +0 -1
  907. package/dist/shims/font-utils.js.map +0 -1
  908. package/dist/shims/form.js.map +0 -1
  909. package/dist/shims/hash-scroll.js.map +0 -1
  910. package/dist/shims/head-state.js.map +0 -1
  911. package/dist/shims/head.js.map +0 -1
  912. package/dist/shims/headers.js.map +0 -1
  913. package/dist/shims/i18n-context.js.map +0 -1
  914. package/dist/shims/i18n-state.js.map +0 -1
  915. package/dist/shims/image-config.js.map +0 -1
  916. package/dist/shims/image.js.map +0 -1
  917. package/dist/shims/internal/als-registry.js.map +0 -1
  918. package/dist/shims/internal/app-route-detection.js.map +0 -1
  919. package/dist/shims/internal/app-router-context.js.map +0 -1
  920. package/dist/shims/internal/cookie-serialize.js.map +0 -1
  921. package/dist/shims/internal/make-hanging-promise.js.map +0 -1
  922. package/dist/shims/internal/pages-data-target.js.map +0 -1
  923. package/dist/shims/internal/pages-data-url.js.map +0 -1
  924. package/dist/shims/internal/parse-cookie-header.js.map +0 -1
  925. package/dist/shims/internal/router-context.js.map +0 -1
  926. package/dist/shims/internal/utils.js.map +0 -1
  927. package/dist/shims/internal/work-unit-async-storage.js.map +0 -1
  928. package/dist/shims/layout-segment-context.js.map +0 -1
  929. package/dist/shims/legacy-image.js.map +0 -1
  930. package/dist/shims/link-prefetch.js.map +0 -1
  931. package/dist/shims/link.js.map +0 -1
  932. package/dist/shims/metadata.js.map +0 -1
  933. package/dist/shims/navigation-state.js.map +0 -1
  934. package/dist/shims/navigation.js.map +0 -1
  935. package/dist/shims/navigation.react-server.js.map +0 -1
  936. package/dist/shims/offline.js.map +0 -1
  937. package/dist/shims/og.js.map +0 -1
  938. package/dist/shims/pages-router-runtime.js.map +0 -1
  939. package/dist/shims/readonly-url-search-params.js.map +0 -1
  940. package/dist/shims/request-context.js.map +0 -1
  941. package/dist/shims/root-params.js.map +0 -1
  942. package/dist/shims/router-state.js.map +0 -1
  943. package/dist/shims/router.js.map +0 -1
  944. package/dist/shims/script-nonce-context.js.map +0 -1
  945. package/dist/shims/script.js.map +0 -1
  946. package/dist/shims/server.js.map +0 -1
  947. package/dist/shims/slot.js.map +0 -1
  948. package/dist/shims/thenable-params.js.map +0 -1
  949. package/dist/shims/unified-request-context.js.map +0 -1
  950. package/dist/shims/unrecognized-action-error.js.map +0 -1
  951. package/dist/shims/url-safety.js.map +0 -1
  952. package/dist/shims/url-utils.js.map +0 -1
  953. package/dist/shims/use-merged-ref.js.map +0 -1
  954. package/dist/shims/web-vitals.js.map +0 -1
  955. package/dist/typegen.js.map +0 -1
  956. package/dist/utils/asset-prefix.js.map +0 -1
  957. package/dist/utils/base-path.js.map +0 -1
  958. package/dist/utils/cache-control-metadata.js.map +0 -1
  959. package/dist/utils/domain-locale.js.map +0 -1
  960. package/dist/utils/encode-cache-tag.js.map +0 -1
  961. package/dist/utils/error-cause.js.map +0 -1
  962. package/dist/utils/hash.js.map +0 -1
  963. package/dist/utils/html-limited-bots.js.map +0 -1
  964. package/dist/utils/lazy-chunks.js.map +0 -1
  965. package/dist/utils/manifest-paths.js.map +0 -1
  966. package/dist/utils/mdx-scan.js.map +0 -1
  967. package/dist/utils/navigation-signal.js.map +0 -1
  968. package/dist/utils/path.js.map +0 -1
  969. package/dist/utils/prerender-output-paths.js.map +0 -1
  970. package/dist/utils/project.js.map +0 -1
  971. package/dist/utils/public-routes.js.map +0 -1
  972. package/dist/utils/query.js.map +0 -1
  973. package/dist/utils/record.js.map +0 -1
  974. package/dist/utils/safe-json-file.js.map +0 -1
  975. package/dist/utils/sorted-array.js.map +0 -1
  976. package/dist/utils/text-stream.js.map +0 -1
  977. package/dist/utils/vinext-root.js.map +0 -1
@@ -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
@@ -1,6 +1,8 @@
1
1
  import { AppRouteSemanticIds } from "../routing/app-route-graph.js";
2
2
  import { AppElements, AppElementsInterception } from "./app-elements-wire.js";
3
3
  import { AppPageParams } from "./app-page-boundary.js";
4
+ import { ThenableParamsObserver } from "../shims/thenable-params.js";
5
+ import { AppLayoutParamAccessTracker } from "./app-layout-param-observation.js";
4
6
  import { AppRscRenderMode } from "./app-rsc-render-mode.js";
5
7
  import { Metadata, Viewport } from "../shims/metadata.js";
6
8
  import { AppPageRenderIdentity } from "./app-page-render-identity.js";
@@ -104,7 +106,8 @@ type AppPageLayoutEntry<TModule extends AppPageModule = AppPageModule, TErrorMod
104
106
  type BuildAppPageRouteElementOptions<TModule extends AppPageModule = AppPageModule, TErrorModule extends AppPageErrorModule = AppPageErrorModule> = {
105
107
  element: ReactNode;
106
108
  globalErrorModule?: TErrorModule | null;
107
- makeThenableParams: (params: AppPageParams) => unknown;
109
+ layoutParamAccess?: AppLayoutParamAccessTracker;
110
+ makeThenableParams: MakeThenableParams;
108
111
  matchedParams: AppPageParams;
109
112
  metadataPlacement?: "body" | "head";
110
113
  resolvedMetadata: Metadata | null;
@@ -114,8 +117,10 @@ type BuildAppPageRouteElementOptions<TModule extends AppPageModule = AppPageModu
114
117
  rootNotFoundModule?: TModule | null;
115
118
  rootUnauthorizedModule?: TModule | null;
116
119
  route: AppPageRouteWiringRoute<TModule, TErrorModule>;
120
+ searchParams?: unknown;
117
121
  slotOverrides?: Readonly<Record<string, AppPageSlotOverride<TModule>>> | null;
118
122
  };
123
+ type MakeThenableParams = (params: AppPageParams, observer?: ThenableParamsObserver) => unknown;
119
124
  type BuildAppPageElementsOptions<TModule extends AppPageModule = AppPageModule, TErrorModule extends AppPageErrorModule = AppPageErrorModule> = BuildAppPageRouteElementOptions<TModule, TErrorModule> & {
120
125
  interception?: AppElementsInterception | null;
121
126
  interceptionContext?: string | null;
@@ -126,11 +131,17 @@ type BuildAppPageElementsOptions<TModule extends AppPageModule = AppPageModule,
126
131
  routePath: string;
127
132
  };
128
133
  declare function createAppPageTreePath(routeSegments: readonly string[] | null | undefined, treePosition: number): string;
134
+ declare function probeAppPageLayoutWithTracking<TModule extends AppPageModule>(options: {
135
+ layoutIndex: number;
136
+ layoutParamAccess: AppLayoutParamAccessTracker | undefined;
137
+ makeThenableParams: MakeThenableParams;
138
+ matchedParams: AppPageParams;
139
+ route: Pick<AppPageRouteWiringRoute<TModule>, "layoutTreePositions" | "layouts" | "routeSegments">;
140
+ }): unknown;
129
141
  declare function createAppPageLayoutEntries<TModule extends AppPageModule, TErrorModule extends AppPageErrorModule>(route: Pick<AppPageRouteWiringRoute<TModule, TErrorModule>, "errors" | "errorTreePositions" | "layoutTreePositions" | "layouts" | "notFounds" | "routeSegments"> & {
130
142
  forbiddens?: readonly (TModule | null | undefined)[] | null;
131
143
  unauthorizeds?: readonly (TModule | null | undefined)[] | null;
132
144
  }): AppPageLayoutEntry<TModule, TErrorModule>[];
133
145
  declare function buildAppPageElements<TModule extends AppPageModule, TErrorModule extends AppPageErrorModule>(options: BuildAppPageElementsOptions<TModule, TErrorModule>): AppElements;
134
146
  //#endregion
135
- export { AppPageErrorModule, AppPageModule, AppPageRouteWiringRoute, AppPageSlotOverride, buildAppPageElements, createAppPageLayoutEntries, createAppPageTreePath, resolveAppPageChildSegments };
136
- //# sourceMappingURL=app-page-route-wiring.d.ts.map
147
+ export { AppPageErrorModule, AppPageModule, AppPageRouteWiringRoute, AppPageSlotOverride, buildAppPageElements, createAppPageLayoutEntries, createAppPageTreePath, probeAppPageLayoutWithTracking, resolveAppPageChildSegments };
@@ -1,3 +1,4 @@
1
+ import { createAppRenderDependency, registerAppElementRenderDependencies, renderAfterAppDependencies, renderWithAppDependencyBarrier } from "./app-render-dependency.js";
1
2
  import { APP_STATIC_SIBLINGS_KEY, AppElementsWire, normalizeAppElementsSlotBindings } from "./app-elements-wire.js";
2
3
  import { APP_RSC_RENDER_MODE_PREFETCH_LOADING_SHELL, shouldSuppressLoadingBoundaries } from "./app-rsc-render-mode.js";
3
4
  import { APP_PREFETCH_LOADING_SHELL_MARKER_KEY } from "./app-elements.js";
@@ -6,12 +7,13 @@ import { AppRouterScrollTarget } from "../shims/app-router-scroll.js";
6
7
  import { LayoutSegmentProvider } from "../shims/layout-segment-context.js";
7
8
  import { MetadataHead, ViewportHead, renderMetadataToHtml } from "../shims/metadata.js";
8
9
  import { Children as Children$1, ParallelSlot, Slot } from "../shims/slot.js";
9
- import { createAppRenderDependency, renderAfterAppDependencies, renderWithAppDependencyBarrier } from "./app-render-dependency.js";
10
- import { resolveAppPageSegmentParams } from "./app-page-params.js";
10
+ import { resolveAppPageSegmentParamScopeKeys, resolveAppPageSegmentParams } from "./app-page-params.js";
11
+ import { probeReactServerSubtree } from "./app-page-probe.js";
11
12
  import { resolveAppPageChildSegments, resolveAppPageRouteStateKey, resolveAppPageSegmentStateKey } from "./app-page-segment-state.js";
12
- import { Suspense } from "react";
13
+ import { Fragment, Suspense } from "react";
13
14
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
14
15
  //#region src/server/app-page-route-wiring.tsx
16
+ const APP_PAGE_LAYOUT_PROBE_CHILD = /* @__PURE__ */ jsx(Fragment, {});
15
17
  function getDefaultExport(module) {
16
18
  return module?.default ?? null;
17
19
  }
@@ -23,6 +25,38 @@ function createAppPageTreePath(routeSegments, treePosition) {
23
25
  if (treePathSegments.length === 0) return "/";
24
26
  return `/${treePathSegments.join("/")}`;
25
27
  }
28
+ function readFiniteRevalidateSeconds(module) {
29
+ const revalidate = module?.revalidate;
30
+ return typeof revalidate === "number" && Number.isFinite(revalidate) && revalidate > 0 ? revalidate : null;
31
+ }
32
+ function recordLayoutSkipObservationScope(options) {
33
+ options.layoutParamAccess?.recordLayoutParamScope(options.layoutId, resolveAppPageSegmentParamScopeKeys(options.routeSegments, options.treePosition));
34
+ const revalidateSeconds = readFiniteRevalidateSeconds(options.layoutModule);
35
+ if (revalidateSeconds !== null) options.layoutParamAccess?.recordLayoutFiniteRevalidate(options.layoutId, revalidateSeconds);
36
+ }
37
+ function probeAppPageLayoutWithTracking(options) {
38
+ const treePosition = options.route.layoutTreePositions?.[options.layoutIndex] ?? 0;
39
+ const treePath = createAppPageTreePath(options.route.routeSegments, treePosition);
40
+ const layoutId = AppElementsWire.encodeLayoutId(treePath);
41
+ const probe = () => {
42
+ const layoutModule = options.route.layouts[options.layoutIndex];
43
+ const LayoutComponent = getDefaultExport(layoutModule);
44
+ if (!LayoutComponent) return null;
45
+ recordLayoutSkipObservationScope({
46
+ layoutId,
47
+ layoutModule,
48
+ layoutParamAccess: options.layoutParamAccess,
49
+ routeSegments: options.route.routeSegments,
50
+ treePosition
51
+ });
52
+ const layoutParams = resolveAppPageSegmentParams(options.route.routeSegments, treePosition, options.matchedParams);
53
+ return probeReactServerSubtree(/* @__PURE__ */ jsx(LayoutComponent, {
54
+ params: options.makeThenableParams(layoutParams, options.layoutParamAccess?.createThenableParamsObserver(layoutId)),
55
+ children: APP_PAGE_LAYOUT_PROBE_CHILD
56
+ }));
57
+ };
58
+ return options.layoutParamAccess ? options.layoutParamAccess.runLayoutProbe(layoutId, probe) : probe();
59
+ }
26
60
  function createAppPageLayoutEntries(route) {
27
61
  return route.layouts.map((layoutModule, index) => {
28
62
  const treePosition = route.layoutTreePositions?.[index] ?? 0;
@@ -87,16 +121,20 @@ function resolveAppPageSlotBindingState(slot, override) {
87
121
  if (getDefaultExport(slot.default)) return "default";
88
122
  return "unmatched";
89
123
  }
90
- function createAppPageSlotBindings(route, layoutEntries, resolveSlotOverride) {
124
+ function createAppPageSlotBindings(route, layoutEntries, resolveSlotOverride, options) {
91
125
  const bindings = [];
92
126
  for (const [slotKey, slot] of Object.entries(route.slots ?? {})) {
93
127
  const layoutEntry = layoutEntries[slot.layoutIndex >= 0 ? slot.layoutIndex : layoutEntries.length - 1] ?? null;
94
128
  const ownerLayoutId = layoutEntry?.id ?? null;
95
129
  const override = resolveSlotOverride(slotKey, slot.name);
130
+ const slotId = resolveAppPageSlotId(slot, layoutEntry?.treePath ?? "/");
131
+ const state = resolveAppPageSlotBindingState(slot, override);
132
+ const activeRouteId = state === "active" ? options.interception?.slotId === slotId ? options.interception.targetRouteId : AppElementsWire.encodeRouteId(options.routePath, null) : null;
96
133
  bindings.push({
134
+ ...activeRouteId !== null ? { activeRouteId } : {},
97
135
  ownerLayoutId,
98
- slotId: resolveAppPageSlotId(slot, layoutEntry?.treePath ?? "/"),
99
- state: resolveAppPageSlotBindingState(slot, override)
136
+ slotId,
137
+ state
100
138
  });
101
139
  }
102
140
  return normalizeAppElementsSlotBindings(bindings, { layoutIds: layoutEntries.map((entry) => entry.id) });
@@ -139,6 +177,7 @@ function buildAppPageElements(options) {
139
177
  const layoutIndicesByTreePosition = /* @__PURE__ */ new Map();
140
178
  for (let index = 0; index < layoutEntries.length; index++) layoutIndicesByTreePosition.set(layoutEntries[index].treePosition, index);
141
179
  const layoutDependenciesByIndex = /* @__PURE__ */ new Map();
180
+ const renderDependenciesByElementId = /* @__PURE__ */ new Map();
142
181
  const layoutDependenciesBefore = [];
143
182
  const slotDependenciesByLayoutIndex = [];
144
183
  const templateDependenciesById = /* @__PURE__ */ new Map();
@@ -166,7 +205,11 @@ function buildAppPageElements(options) {
166
205
  layoutIds: options.route.ids?.layouts ?? layoutEntries.map((entry) => entry.id),
167
206
  rootLayoutTreePath,
168
207
  routeId,
169
- slotBindings: createAppPageSlotBindings(options.route, layoutEntries, resolveSlotOverride)
208
+ slotBindings: createAppPageSlotBindings(options.route, layoutEntries, resolveSlotOverride, {
209
+ interception: renderIdentity?.interception ?? options.interception ?? null,
210
+ interceptionContext,
211
+ routePath: options.routePath
212
+ })
170
213
  }) };
171
214
  if (options.route.staticSiblings && options.route.staticSiblings.length > 0) elements[APP_STATIC_SIBLINGS_KEY] = options.route.staticSiblings;
172
215
  const getEffectiveSlotParams = (slotKey, slotName) => resolveSlotOverride(slotKey, slotName)?.params ?? options.matchedParams;
@@ -178,6 +221,7 @@ function buildAppPageElements(options) {
178
221
  if (getDefaultExport(layoutEntry.layoutModule)) {
179
222
  const layoutDependency = createAppRenderDependency();
180
223
  layoutDependenciesByIndex.set(layoutIndex, layoutDependency);
224
+ renderDependenciesByElementId.set(layoutEntry.id, layoutDependency);
181
225
  pageDependencies.push(layoutDependency);
182
226
  }
183
227
  slotDependenciesByLayoutIndex[layoutIndex] = [...pageDependencies];
@@ -211,7 +255,15 @@ function buildAppPageElements(options) {
211
255
  const layoutEntry = layoutEntries[index];
212
256
  const layoutComponent = getDefaultExport(layoutEntry.layoutModule);
213
257
  if (!layoutComponent) continue;
214
- const layoutProps = { params: options.makeThenableParams(resolveAppPageSegmentParams(options.route.routeSegments, layoutEntry.treePosition, options.matchedParams)) };
258
+ const layoutParams = resolveAppPageSegmentParams(options.route.routeSegments, layoutEntry.treePosition, options.matchedParams);
259
+ recordLayoutSkipObservationScope({
260
+ layoutId: layoutEntry.id,
261
+ layoutModule: layoutEntry.layoutModule,
262
+ layoutParamAccess: options.layoutParamAccess,
263
+ routeSegments: options.route.routeSegments,
264
+ treePosition: layoutEntry.treePosition
265
+ });
266
+ const layoutProps = { params: options.makeThenableParams(layoutParams, options.layoutParamAccess?.createThenableParamsObserver(layoutEntry.id)) };
215
267
  for (const slot of Object.values(options.route.slots ?? {})) {
216
268
  const slotName = slot.name;
217
269
  if ((slot.layoutIndex >= 0 ? slot.layoutIndex : layoutEntries.length - 1) !== index) continue;
@@ -245,6 +297,7 @@ function buildAppPageElements(options) {
245
297
  }
246
298
  const slotThenableParams = options.makeThenableParams(slotParams);
247
299
  const slotProps = { params: slotThenableParams };
300
+ if (options.searchParams !== void 0) slotProps.searchParams = options.searchParams;
248
301
  if (slotOverride?.props) Object.assign(slotProps, slotOverride.props);
249
302
  let slotElement = /* @__PURE__ */ jsx(slotComponent, { ...slotProps });
250
303
  const interceptLayouts = slotOverride?.layoutModules ?? [];
@@ -381,9 +434,8 @@ function buildAppPageElements(options) {
381
434
  routeChildren,
382
435
  createAppPageRouteBodyMetadata(options.resolvedMetadata, options.resolvedMetadataPathname ?? options.routePath, metadataPlacement)
383
436
  ] });
437
+ registerAppElementRenderDependencies(elements, renderDependenciesByElementId);
384
438
  return elements;
385
439
  }
386
440
  //#endregion
387
- export { buildAppPageElements, createAppPageLayoutEntries, createAppPageTreePath, resolveAppPageChildSegments };
388
-
389
- //# sourceMappingURL=app-page-route-wiring.js.map
441
+ export { buildAppPageElements, createAppPageLayoutEntries, createAppPageTreePath, probeAppPageLayoutWithTracking, resolveAppPageChildSegments };
@@ -0,0 +1,10 @@
1
+ import { ThenableParams } from "../shims/thenable-params.js";
2
+ import { AppPageSearchParams } from "./app-page-head.js";
3
+
4
+ //#region src/server/app-page-search-params-observation.d.ts
5
+ type AppPageSearchParamsObservationOptions = {
6
+ observeReactPromiseStatus?: boolean;
7
+ };
8
+ declare function makeObservedAppPageSearchParamsThenable(pageSearchParams: AppPageSearchParams, options?: AppPageSearchParamsObservationOptions): ThenableParams<AppPageSearchParams>;
9
+ //#endregion
10
+ export { makeObservedAppPageSearchParamsThenable };
@@ -0,0 +1,20 @@
1
+ import { markDynamicUsage, markRenderRequestApiUsage, throwIfInsideCacheScope } from "../shims/headers.js";
2
+ import { makeThenableParams } from "../shims/thenable-params.js";
3
+ //#region src/server/app-page-search-params-observation.ts
4
+ function markAppPageSearchParamsAccess() {
5
+ throwIfInsideCacheScope("searchParams");
6
+ markDynamicUsage();
7
+ markRenderRequestApiUsage("searchParams");
8
+ }
9
+ function makeObservedAppPageSearchParamsThenable(pageSearchParams, options = {}) {
10
+ const observer = { observeParamAccess() {
11
+ markAppPageSearchParamsAccess();
12
+ } };
13
+ if (options.observeReactPromiseStatus === true) return makeThenableParams(pageSearchParams, {
14
+ ...observer,
15
+ observeReactPromiseStatus: true
16
+ });
17
+ return makeThenableParams(pageSearchParams, observer);
18
+ }
19
+ //#endregion
20
+ export { makeObservedAppPageSearchParamsThenable };
@@ -6,5 +6,4 @@ declare function resolveAppPageSegmentStateKey(routeSegments: readonly string[],
6
6
  declare function resolveAppPageRouteStateKey(routeSegments: readonly string[], params: AppPageParams): string;
7
7
  declare function resolveAppPageLeafSegmentStateKey(routeSegments: readonly string[], params: AppPageParams): string;
8
8
  //#endregion
9
- export { resolveAppPageChildSegments, resolveAppPageLeafSegmentStateKey, resolveAppPageRouteStateKey, resolveAppPageSegmentStateKey };
10
- //# sourceMappingURL=app-page-segment-state.d.ts.map
9
+ export { resolveAppPageChildSegments, resolveAppPageLeafSegmentStateKey, resolveAppPageRouteStateKey, resolveAppPageSegmentStateKey };
@@ -1,10 +1,5 @@
1
+ import { isCatchAllSegment, isOptionalCatchAllSegment } from "../routing/utils.js";
1
2
  //#region src/server/app-page-segment-state.ts
2
- function isOptionalCatchAllSegment(segment) {
3
- return segment.startsWith("[[...") && segment.endsWith("]]") && segment.length > 7;
4
- }
5
- function isCatchAllSegment(segment) {
6
- return segment.startsWith("[...") && segment.endsWith("]") && segment.length > 5;
7
- }
8
3
  function isDynamicSegment(segment) {
9
4
  return segment.startsWith("[") && segment.endsWith("]") && !segment.includes(".");
10
5
  }
@@ -83,5 +78,3 @@ function resolveAppPageLeafSegmentStateKey(routeSegments, params) {
83
78
  }
84
79
  //#endregion
85
80
  export { resolveAppPageChildSegments, resolveAppPageLeafSegmentStateKey, resolveAppPageRouteStateKey, resolveAppPageSegmentStateKey };
86
-
87
- //# sourceMappingURL=app-page-segment-state.js.map