vinext 0.0.55 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1001) hide show
  1. package/README.md +51 -15
  2. package/dist/build/assets-ignore.d.ts +32 -0
  3. package/dist/build/assets-ignore.js +48 -0
  4. package/dist/build/clean-output.d.ts +1 -2
  5. package/dist/build/clean-output.js +0 -2
  6. package/dist/build/client-build-config.d.ts +42 -3
  7. package/dist/build/client-build-config.js +86 -4
  8. package/dist/build/css-url-assets.d.ts +29 -0
  9. package/dist/build/css-url-assets.js +211 -0
  10. package/dist/build/google-fonts/build-url.d.ts +1 -2
  11. package/dist/build/google-fonts/build-url.js +0 -2
  12. package/dist/build/google-fonts/fallback-metrics-data.js +0 -2
  13. package/dist/build/google-fonts/fallback-metrics.d.ts +1 -2
  14. package/dist/build/google-fonts/fallback-metrics.js +0 -2
  15. package/dist/build/google-fonts/font-data.js +0 -2
  16. package/dist/build/google-fonts/font-metadata.d.ts +1 -2
  17. package/dist/build/google-fonts/font-metadata.js +0 -2
  18. package/dist/build/google-fonts/get-axes.d.ts +1 -2
  19. package/dist/build/google-fonts/get-axes.js +0 -2
  20. package/dist/build/google-fonts/sort-variants.d.ts +1 -2
  21. package/dist/build/google-fonts/sort-variants.js +0 -2
  22. package/dist/build/google-fonts/validate.d.ts +1 -2
  23. package/dist/build/google-fonts/validate.js +0 -2
  24. package/dist/build/inline-css.d.ts +1 -2
  25. package/dist/build/inline-css.js +0 -2
  26. package/dist/build/layout-classification-types.d.ts +1 -2
  27. package/dist/build/layout-classification.d.ts +2 -3
  28. package/dist/build/layout-classification.js +1 -3
  29. package/dist/build/next-client-runtime-manifests.d.ts +14 -0
  30. package/dist/build/next-client-runtime-manifests.js +39 -0
  31. package/dist/build/nitro-route-rules.d.ts +1 -2
  32. package/dist/build/nitro-route-rules.js +0 -2
  33. package/dist/build/precompress.d.ts +1 -2
  34. package/dist/build/precompress.js +0 -2
  35. package/dist/build/prerender.d.ts +2 -3
  36. package/dist/build/prerender.js +14 -2
  37. package/dist/build/report.d.ts +1 -2
  38. package/dist/build/report.js +0 -2
  39. package/dist/build/route-classification-injector.d.ts +1 -2
  40. package/dist/build/route-classification-injector.js +4 -6
  41. package/dist/build/route-classification-manifest.d.ts +5 -6
  42. package/dist/build/route-classification-manifest.js +5 -7
  43. package/dist/build/run-prerender.d.ts +1 -2
  44. package/dist/build/run-prerender.js +15 -7
  45. package/dist/build/server-manifest.d.ts +1 -2
  46. package/dist/build/server-manifest.js +0 -2
  47. package/dist/build/ssr-manifest.d.ts +1 -2
  48. package/dist/build/ssr-manifest.js +2 -4
  49. package/dist/build/standalone.d.ts +1 -2
  50. package/dist/build/standalone.js +0 -2
  51. package/dist/build/static-export.d.ts +2 -3
  52. package/dist/build/static-export.js +0 -2
  53. package/dist/cache/cache-adapters-virtual.d.ts +50 -0
  54. package/dist/cache/cache-adapters-virtual.js +45 -0
  55. package/dist/check.d.ts +33 -2
  56. package/dist/check.js +306 -24
  57. package/dist/cli-args.d.ts +1 -2
  58. package/dist/cli-args.js +0 -2
  59. package/dist/cli.js +9 -13
  60. package/dist/client/instrumentation-client-inject.d.ts +1 -2
  61. package/dist/client/instrumentation-client-inject.js +0 -2
  62. package/dist/client/instrumentation-client-state.d.ts +1 -2
  63. package/dist/client/instrumentation-client-state.js +0 -2
  64. package/dist/client/instrumentation-client.d.ts +1 -2
  65. package/dist/client/instrumentation-client.js +0 -2
  66. package/dist/client/navigation-runtime.d.ts +9 -2
  67. package/dist/client/navigation-runtime.js +1 -3
  68. package/dist/client/pages-router-link-navigation.d.ts +1 -2
  69. package/dist/client/pages-router-link-navigation.js +0 -2
  70. package/dist/client/validate-module-path.d.ts +1 -2
  71. package/dist/client/validate-module-path.js +0 -2
  72. package/dist/client/vinext-next-data.d.ts +3 -3
  73. package/dist/client/vinext-next-data.js +0 -2
  74. package/dist/client/window-next.d.ts +1 -2
  75. package/dist/client/window-next.js +0 -2
  76. package/dist/cloudflare/index.d.ts +1 -1
  77. package/dist/cloudflare/index.js +1 -1
  78. package/dist/cloudflare/src/cache/cdn-adapter.runtime.js +97 -0
  79. package/dist/cloudflare/{kv-cache-handler.d.ts → src/cache/kv-data-adapter.runtime.d.ts} +25 -6
  80. package/dist/cloudflare/{kv-cache-handler.js → src/cache/kv-data-adapter.runtime.js} +36 -28
  81. package/dist/cloudflare/src/utils/cache-control-metadata.js +20 -0
  82. package/dist/cloudflare/tpr.d.ts +2 -3
  83. package/dist/cloudflare/tpr.js +8 -8
  84. package/dist/config/config-matchers.d.ts +20 -2
  85. package/dist/config/config-matchers.js +35 -3
  86. package/dist/config/dotenv.d.ts +1 -2
  87. package/dist/config/dotenv.js +0 -2
  88. package/dist/config/next-config.d.ts +32 -5
  89. package/dist/config/next-config.js +53 -6
  90. package/dist/config/tsconfig-paths.d.ts +1 -2
  91. package/dist/config/tsconfig-paths.js +3 -7
  92. package/dist/deploy.d.ts +48 -3
  93. package/dist/deploy.js +180 -415
  94. package/dist/entries/app-browser-entry.d.ts +1 -2
  95. package/dist/entries/app-browser-entry.js +0 -2
  96. package/dist/entries/app-rsc-entry.d.ts +12 -6
  97. package/dist/entries/app-rsc-entry.js +101 -62
  98. package/dist/entries/app-rsc-manifest.d.ts +1 -2
  99. package/dist/entries/app-rsc-manifest.js +40 -9
  100. package/dist/entries/app-ssr-entry.d.ts +1 -2
  101. package/dist/entries/app-ssr-entry.js +0 -2
  102. package/dist/entries/pages-client-entry.d.ts +3 -3
  103. package/dist/entries/pages-client-entry.js +16 -5
  104. package/dist/entries/pages-entry-helpers.d.ts +2 -11
  105. package/dist/entries/pages-entry-helpers.js +1 -20
  106. package/dist/entries/pages-server-entry.d.ts +2 -3
  107. package/dist/entries/pages-server-entry.js +98 -703
  108. package/dist/entries/runtime-entry-module.d.ts +1 -2
  109. package/dist/entries/runtime-entry-module.js +0 -2
  110. package/dist/index.d.ts +22 -2
  111. package/dist/index.js +376 -316
  112. package/dist/init.d.ts +1 -2
  113. package/dist/init.js +1 -3
  114. package/dist/plugins/ast-utils.d.ts +20 -0
  115. package/dist/plugins/ast-utils.js +78 -0
  116. package/dist/plugins/async-hooks-stub.d.ts +1 -2
  117. package/dist/plugins/async-hooks-stub.js +0 -2
  118. package/dist/plugins/client-reference-dedup.d.ts +1 -2
  119. package/dist/plugins/client-reference-dedup.js +4 -8
  120. package/dist/plugins/css-data-url.d.ts +1 -2
  121. package/dist/plugins/css-data-url.js +0 -2
  122. package/dist/plugins/fonts.d.ts +13 -3
  123. package/dist/plugins/fonts.js +19 -13
  124. package/dist/plugins/import-meta-url.d.ts +2 -2
  125. package/dist/plugins/import-meta-url.js +187 -33
  126. package/dist/plugins/instrumentation-client.d.ts +1 -2
  127. package/dist/plugins/instrumentation-client.js +0 -2
  128. package/dist/plugins/middleware-server-only.d.ts +1 -2
  129. package/dist/plugins/middleware-server-only.js +0 -2
  130. package/dist/plugins/og-assets.d.ts +32 -8
  131. package/dist/plugins/og-assets.js +126 -34
  132. package/dist/plugins/optimize-imports.d.ts +1 -2
  133. package/dist/plugins/optimize-imports.js +9 -17
  134. package/dist/plugins/postcss.d.ts +1 -2
  135. package/dist/plugins/postcss.js +18 -16
  136. package/dist/plugins/remove-console.d.ts +1 -2
  137. package/dist/plugins/remove-console.js +0 -2
  138. package/dist/plugins/require-context.d.ts +6 -0
  139. package/dist/plugins/require-context.js +184 -0
  140. package/dist/plugins/rsc-client-reference-loaders.d.ts +1 -2
  141. package/dist/plugins/rsc-client-reference-loaders.js +0 -2
  142. package/dist/plugins/rsc-client-shim-excludes.d.ts +1 -2
  143. package/dist/plugins/rsc-client-shim-excludes.js +0 -2
  144. package/dist/plugins/sass.d.ts +1 -2
  145. package/dist/plugins/sass.js +0 -2
  146. package/dist/plugins/server-externals-manifest.d.ts +1 -2
  147. package/dist/plugins/server-externals-manifest.js +0 -2
  148. package/dist/plugins/strip-server-exports.d.ts +1 -2
  149. package/dist/plugins/strip-server-exports.js +0 -2
  150. package/dist/routing/app-route-graph.d.ts +14 -10
  151. package/dist/routing/app-route-graph.js +146 -35
  152. package/dist/routing/app-router.d.ts +1 -2
  153. package/dist/routing/app-router.js +0 -2
  154. package/dist/routing/file-matcher.d.ts +6 -2
  155. package/dist/routing/file-matcher.js +15 -7
  156. package/dist/routing/pages-router.d.ts +1 -2
  157. package/dist/routing/pages-router.js +0 -2
  158. package/dist/routing/route-matching.d.ts +1 -2
  159. package/dist/routing/route-matching.js +0 -2
  160. package/dist/routing/route-pattern.d.ts +2 -2
  161. package/dist/routing/route-pattern.js +16 -3
  162. package/dist/routing/route-trie.d.ts +1 -2
  163. package/dist/routing/route-trie.js +0 -2
  164. package/dist/routing/route-validation.d.ts +1 -2
  165. package/dist/routing/route-validation.js +0 -2
  166. package/dist/routing/utils.d.ts +44 -2
  167. package/dist/routing/utils.js +62 -3
  168. package/dist/server/api-handler.d.ts +1 -2
  169. package/dist/server/api-handler.js +4 -2
  170. package/dist/server/app-bfcache-id.d.ts +5 -0
  171. package/dist/server/app-bfcache-id.js +5 -0
  172. package/dist/server/app-browser-action-result.d.ts +1 -2
  173. package/dist/server/app-browser-action-result.js +0 -2
  174. package/dist/server/app-browser-client-reuse-manifest.d.ts +12 -0
  175. package/dist/server/app-browser-client-reuse-manifest.js +101 -0
  176. package/dist/server/app-browser-entry.js +244 -88
  177. package/dist/server/app-browser-error.d.ts +1 -2
  178. package/dist/server/app-browser-error.js +0 -2
  179. package/dist/server/app-browser-hydration.d.ts +1 -2
  180. package/dist/server/app-browser-hydration.js +0 -2
  181. package/dist/server/app-browser-interception-context.d.ts +2 -2
  182. package/dist/server/app-browser-interception-context.js +15 -4
  183. package/dist/server/app-browser-mpa-navigation.d.ts +2 -2
  184. package/dist/server/app-browser-mpa-navigation.js +9 -3
  185. package/dist/server/app-browser-navigation-controller.d.ts +15 -4
  186. package/dist/server/app-browser-navigation-controller.js +80 -4
  187. package/dist/server/app-browser-popstate.d.ts +12 -4
  188. package/dist/server/app-browser-popstate.js +19 -6
  189. package/dist/server/app-browser-rsc-redirect.d.ts +1 -2
  190. package/dist/server/app-browser-rsc-redirect.js +0 -2
  191. package/dist/server/app-browser-state.d.ts +31 -4
  192. package/dist/server/app-browser-state.js +196 -10
  193. package/dist/server/app-browser-stream.d.ts +1 -2
  194. package/dist/server/app-browser-stream.js +0 -2
  195. package/dist/server/app-browser-visible-commit.d.ts +2 -3
  196. package/dist/server/app-browser-visible-commit.js +30 -21
  197. package/dist/server/app-client-reference-preloader.d.ts +1 -2
  198. package/dist/server/app-client-reference-preloader.js +0 -2
  199. package/dist/server/app-elements-wire.d.ts +14 -8
  200. package/dist/server/app-elements-wire.js +45 -24
  201. package/dist/server/app-elements.d.ts +2 -3
  202. package/dist/server/app-elements.js +2 -4
  203. package/dist/server/app-fallback-renderer.d.ts +5 -5
  204. package/dist/server/app-fallback-renderer.js +4 -3
  205. package/dist/server/app-history-state.d.ts +62 -2
  206. package/dist/server/app-history-state.js +176 -10
  207. package/dist/server/app-hook-warning-suppression.d.ts +1 -2
  208. package/dist/server/app-hook-warning-suppression.js +0 -2
  209. package/dist/server/app-inline-css-client.d.ts +1 -2
  210. package/dist/server/app-inline-css-client.js +0 -2
  211. package/dist/server/app-interception-context-header.d.ts +1 -2
  212. package/dist/server/app-interception-context-header.js +0 -2
  213. package/dist/server/app-layout-param-observation.d.ts +15 -2
  214. package/dist/server/app-layout-param-observation.js +46 -8
  215. package/dist/server/app-middleware.d.ts +1 -2
  216. package/dist/server/app-middleware.js +0 -2
  217. package/dist/server/app-mounted-slots-header.d.ts +1 -2
  218. package/dist/server/app-mounted-slots-header.js +0 -2
  219. package/dist/server/app-optimistic-routing.d.ts +1 -2
  220. package/dist/server/app-optimistic-routing.js +0 -2
  221. package/dist/server/app-page-boundary-render.d.ts +4 -3
  222. package/dist/server/app-page-boundary-render.js +59 -28
  223. package/dist/server/app-page-boundary.d.ts +11 -2
  224. package/dist/server/app-page-boundary.js +13 -4
  225. package/dist/server/app-page-cache.d.ts +3 -3
  226. package/dist/server/app-page-cache.js +36 -11
  227. package/dist/server/app-page-dispatch.d.ts +25 -5
  228. package/dist/server/app-page-dispatch.js +122 -25
  229. package/dist/server/app-page-element-builder.d.ts +4 -2
  230. package/dist/server/app-page-element-builder.js +31 -21
  231. package/dist/server/app-page-execution.d.ts +8 -3
  232. package/dist/server/app-page-execution.js +55 -24
  233. package/dist/server/app-page-head.d.ts +1 -2
  234. package/dist/server/app-page-head.js +6 -6
  235. package/dist/server/app-page-method.d.ts +1 -2
  236. package/dist/server/app-page-method.js +0 -2
  237. package/dist/server/app-page-params.d.ts +1 -2
  238. package/dist/server/app-page-params.js +0 -2
  239. package/dist/server/app-page-probe.d.ts +79 -2
  240. package/dist/server/app-page-probe.js +89 -9
  241. package/dist/server/app-page-render-identity.d.ts +1 -2
  242. package/dist/server/app-page-render-identity.js +0 -2
  243. package/dist/server/app-page-render-observation.d.ts +1 -2
  244. package/dist/server/app-page-render-observation.js +0 -2
  245. package/dist/server/app-page-render.d.ts +15 -3
  246. package/dist/server/app-page-render.js +171 -12
  247. package/dist/server/app-page-request.d.ts +12 -9
  248. package/dist/server/app-page-request.js +12 -11
  249. package/dist/server/app-page-response.d.ts +4 -4
  250. package/dist/server/app-page-response.js +6 -4
  251. package/dist/server/app-page-route-wiring.d.ts +14 -3
  252. package/dist/server/app-page-route-wiring.js +65 -12
  253. package/dist/server/app-page-search-params-observation.d.ts +10 -0
  254. package/dist/server/app-page-search-params-observation.js +20 -0
  255. package/dist/server/app-page-segment-state.d.ts +1 -2
  256. package/dist/server/app-page-segment-state.js +1 -8
  257. package/dist/server/app-page-stream.d.ts +54 -9
  258. package/dist/server/app-page-stream.js +61 -10
  259. package/dist/server/app-pages-bridge.d.ts +41 -0
  260. package/dist/server/app-pages-bridge.js +54 -0
  261. package/dist/server/app-post-middleware-context.d.ts +1 -2
  262. package/dist/server/app-post-middleware-context.js +0 -2
  263. package/dist/server/app-ppr-fallback-shell.d.ts +21 -0
  264. package/dist/server/app-ppr-fallback-shell.js +82 -0
  265. package/dist/server/app-prerender-endpoints.d.ts +1 -2
  266. package/dist/server/app-prerender-endpoints.js +0 -2
  267. package/dist/server/app-prerender-static-params.d.ts +15 -2
  268. package/dist/server/app-prerender-static-params.js +44 -13
  269. package/dist/server/app-render-dependency.d.ts +3 -2
  270. package/dist/server/app-render-dependency.js +9 -3
  271. package/dist/server/app-request-context.d.ts +1 -2
  272. package/dist/server/app-request-context.js +0 -2
  273. package/dist/server/app-route-handler-cache.d.ts +2 -2
  274. package/dist/server/app-route-handler-cache.js +1 -2
  275. package/dist/server/app-route-handler-dispatch.d.ts +2 -2
  276. package/dist/server/app-route-handler-dispatch.js +2 -2
  277. package/dist/server/app-route-handler-execution.d.ts +2 -2
  278. package/dist/server/app-route-handler-execution.js +3 -4
  279. package/dist/server/app-route-handler-policy.d.ts +1 -2
  280. package/dist/server/app-route-handler-policy.js +0 -2
  281. package/dist/server/app-route-handler-response.d.ts +2 -3
  282. package/dist/server/app-route-handler-response.js +7 -6
  283. package/dist/server/app-route-handler-runtime.d.ts +2 -2
  284. package/dist/server/app-route-handler-runtime.js +3 -4
  285. package/dist/server/app-route-module-loader.d.ts +43 -0
  286. package/dist/server/app-route-module-loader.js +32 -0
  287. package/dist/server/app-router-entry.d.ts +1 -2
  288. package/dist/server/app-router-entry.js +2 -2
  289. package/dist/server/app-rsc-cache-busting.d.ts +10 -2
  290. package/dist/server/app-rsc-cache-busting.js +13 -4
  291. package/dist/server/app-rsc-embedded-chunks.d.ts +1 -2
  292. package/dist/server/app-rsc-embedded-chunks.js +0 -2
  293. package/dist/server/app-rsc-error-handler.d.ts +1 -2
  294. package/dist/server/app-rsc-error-handler.js +0 -2
  295. package/dist/server/app-rsc-errors.d.ts +1 -2
  296. package/dist/server/app-rsc-errors.js +0 -2
  297. package/dist/server/app-rsc-handler.d.ts +17 -2
  298. package/dist/server/app-rsc-handler.js +24 -15
  299. package/dist/server/app-rsc-render-mode.d.ts +1 -2
  300. package/dist/server/app-rsc-render-mode.js +0 -2
  301. package/dist/server/app-rsc-request-normalization.d.ts +4 -5
  302. package/dist/server/app-rsc-request-normalization.js +2 -4
  303. package/dist/server/app-rsc-response-finalizer.d.ts +1 -2
  304. package/dist/server/app-rsc-response-finalizer.js +2 -2
  305. package/dist/server/app-rsc-route-matching.d.ts +20 -2
  306. package/dist/server/app-rsc-route-matching.js +29 -6
  307. package/dist/server/app-segment-config.d.ts +4 -2
  308. package/dist/server/app-segment-config.js +8 -2
  309. package/dist/server/app-server-action-execution.d.ts +18 -3
  310. package/dist/server/app-server-action-execution.js +75 -18
  311. package/dist/server/app-ssr-entry.d.ts +11 -4
  312. package/dist/server/app-ssr-entry.js +47 -15
  313. package/dist/server/app-ssr-error-meta.d.ts +1 -2
  314. package/dist/server/app-ssr-error-meta.js +0 -2
  315. package/dist/server/app-ssr-stream.d.ts +1 -2
  316. package/dist/server/app-ssr-stream.js +31 -3
  317. package/dist/server/app-static-generation.d.ts +1 -2
  318. package/dist/server/app-static-generation.js +0 -2
  319. package/dist/server/app-visited-response-cache.d.ts +23 -0
  320. package/dist/server/app-visited-response-cache.js +19 -0
  321. package/dist/server/artifact-compatibility.d.ts +1 -2
  322. package/dist/server/artifact-compatibility.js +2 -6
  323. package/dist/server/cache-control.d.ts +15 -2
  324. package/dist/server/cache-control.js +21 -3
  325. package/dist/server/cache-headers.d.ts +1 -2
  326. package/dist/server/cache-headers.js +0 -2
  327. package/dist/server/cache-proof.d.ts +1 -2
  328. package/dist/server/cache-proof.js +0 -2
  329. package/dist/server/client-reuse-manifest.d.ts +3 -3
  330. package/dist/server/client-reuse-manifest.js +6 -10
  331. package/dist/server/client-trace-metadata.d.ts +1 -2
  332. package/dist/server/client-trace-metadata.js +0 -2
  333. package/dist/server/cookie-utils.d.ts +1 -2
  334. package/dist/server/cookie-utils.js +0 -2
  335. package/dist/server/csp.d.ts +1 -2
  336. package/dist/server/csp.js +0 -2
  337. package/dist/server/default-global-error-module.d.ts +1 -2
  338. package/dist/server/default-global-error-module.js +0 -2
  339. package/dist/server/default-not-found-module.d.ts +1 -2
  340. package/dist/server/default-not-found-module.js +0 -2
  341. package/dist/server/dev-error-overlay-store.d.ts +20 -4
  342. package/dist/server/dev-error-overlay-store.js +23 -4
  343. package/dist/server/dev-error-overlay.d.ts +39 -3
  344. package/dist/server/dev-error-overlay.js +952 -164
  345. package/dist/server/dev-initial-server-error.d.ts +9 -0
  346. package/dist/server/dev-initial-server-error.js +26 -0
  347. package/dist/server/dev-lockfile.d.ts +1 -2
  348. package/dist/server/dev-lockfile.js +0 -2
  349. package/dist/server/dev-module-runner.d.ts +1 -2
  350. package/dist/server/dev-module-runner.js +0 -2
  351. package/dist/server/dev-origin-check.d.ts +1 -2
  352. package/dist/server/dev-origin-check.js +0 -2
  353. package/dist/server/dev-route-files.d.ts +1 -2
  354. package/dist/server/dev-route-files.js +0 -2
  355. package/dist/server/dev-server.d.ts +3 -4
  356. package/dist/server/dev-server.js +129 -49
  357. package/dist/server/dev-stack-sourcemap-endpoint.d.ts +4 -0
  358. package/dist/server/dev-stack-sourcemap-endpoint.js +4 -0
  359. package/dist/server/dev-stack-sourcemap.d.ts +43 -0
  360. package/dist/server/dev-stack-sourcemap.js +443 -0
  361. package/dist/server/document-initial-head.d.ts +1 -2
  362. package/dist/server/document-initial-head.js +0 -2
  363. package/dist/server/edge-api-runtime.d.ts +1 -2
  364. package/dist/server/edge-api-runtime.js +0 -2
  365. package/dist/server/file-based-metadata.d.ts +1 -2
  366. package/dist/server/file-based-metadata.js +0 -2
  367. package/dist/server/headers.d.ts +3 -2
  368. package/dist/server/headers.js +3 -3
  369. package/dist/server/html.d.ts +1 -2
  370. package/dist/server/html.js +0 -2
  371. package/dist/server/http-error-responses.d.ts +1 -2
  372. package/dist/server/http-error-responses.js +0 -2
  373. package/dist/server/image-optimization.d.ts +1 -2
  374. package/dist/server/image-optimization.js +0 -2
  375. package/dist/server/implicit-tags.d.ts +1 -2
  376. package/dist/server/implicit-tags.js +0 -2
  377. package/dist/server/instrumentation-runtime.d.ts +1 -2
  378. package/dist/server/instrumentation-runtime.js +0 -2
  379. package/dist/server/instrumentation.d.ts +1 -2
  380. package/dist/server/instrumentation.js +0 -2
  381. package/dist/server/isr-cache.d.ts +46 -3
  382. package/dist/server/isr-cache.js +93 -24
  383. package/dist/server/metadata-route-build-data.d.ts +1 -2
  384. package/dist/server/metadata-route-build-data.js +0 -2
  385. package/dist/server/metadata-route-response.d.ts +1 -2
  386. package/dist/server/metadata-route-response.js +0 -2
  387. package/dist/server/metadata-routes.d.ts +1 -2
  388. package/dist/server/metadata-routes.js +0 -2
  389. package/dist/server/middleware-matcher.d.ts +1 -2
  390. package/dist/server/middleware-matcher.js +0 -2
  391. package/dist/server/middleware-request-headers.d.ts +1 -2
  392. package/dist/server/middleware-request-headers.js +0 -2
  393. package/dist/server/middleware-response-headers.d.ts +1 -2
  394. package/dist/server/middleware-response-headers.js +0 -2
  395. package/dist/server/middleware-runtime.d.ts +1 -2
  396. package/dist/server/middleware-runtime.js +14 -5
  397. package/dist/server/middleware.d.ts +2 -3
  398. package/dist/server/middleware.js +0 -2
  399. package/dist/server/navigation-planner.d.ts +16 -2
  400. package/dist/server/navigation-planner.js +6 -6
  401. package/dist/server/navigation-trace.d.ts +1 -2
  402. package/dist/server/navigation-trace.js +0 -2
  403. package/dist/server/next-error-digest.d.ts +1 -2
  404. package/dist/server/next-error-digest.js +0 -2
  405. package/dist/server/normalize-path.d.ts +1 -2
  406. package/dist/server/normalize-path.js +0 -2
  407. package/dist/server/pages-api-route.d.ts +1 -2
  408. package/dist/server/pages-api-route.js +1 -3
  409. package/dist/server/pages-asset-tags.d.ts +66 -0
  410. package/dist/server/pages-asset-tags.js +116 -0
  411. package/dist/server/pages-body-parser-config.d.ts +1 -2
  412. package/dist/server/pages-body-parser-config.js +0 -2
  413. package/dist/server/pages-data-route.d.ts +39 -2
  414. package/dist/server/pages-data-route.js +46 -3
  415. package/dist/server/pages-default-404.d.ts +1 -2
  416. package/dist/server/pages-default-404.js +0 -2
  417. package/dist/server/pages-document-initial-props.d.ts +1 -2
  418. package/dist/server/pages-document-initial-props.js +0 -2
  419. package/dist/server/pages-get-initial-props.d.ts +17 -0
  420. package/dist/server/pages-get-initial-props.js +50 -0
  421. package/dist/server/pages-i18n.d.ts +1 -2
  422. package/dist/server/pages-i18n.js +0 -2
  423. package/dist/server/pages-media-type.d.ts +1 -2
  424. package/dist/server/pages-media-type.js +1 -2
  425. package/dist/server/pages-node-compat.d.ts +11 -2
  426. package/dist/server/pages-node-compat.js +38 -3
  427. package/dist/server/pages-page-data.d.ts +17 -10
  428. package/dist/server/pages-page-data.js +79 -35
  429. package/dist/server/pages-page-handler.d.ts +97 -0
  430. package/dist/server/pages-page-handler.js +348 -0
  431. package/dist/server/pages-page-method.d.ts +1 -2
  432. package/dist/server/pages-page-method.js +0 -2
  433. package/dist/server/pages-page-response.d.ts +11 -3
  434. package/dist/server/pages-page-response.js +16 -5
  435. package/dist/server/pages-readiness.d.ts +36 -0
  436. package/dist/server/pages-readiness.js +21 -0
  437. package/dist/server/pages-request-pipeline.d.ts +99 -0
  438. package/dist/server/pages-request-pipeline.js +209 -0
  439. package/dist/server/pages-revalidate.d.ts +15 -0
  440. package/dist/server/pages-revalidate.js +19 -0
  441. package/dist/server/pages-serializable-props.d.ts +1 -2
  442. package/dist/server/pages-serializable-props.js +0 -2
  443. package/dist/server/pregenerated-concrete-paths.d.ts +32 -0
  444. package/dist/server/pregenerated-concrete-paths.js +78 -0
  445. package/dist/server/prerender-route-params.d.ts +13 -3
  446. package/dist/server/prerender-route-params.js +30 -11
  447. package/dist/server/prerender-work-unit-setup.d.ts +1 -2
  448. package/dist/server/prerender-work-unit-setup.js +0 -2
  449. package/dist/server/prod-server.d.ts +8 -6
  450. package/dist/server/prod-server.js +101 -219
  451. package/dist/server/proxy-trust.d.ts +1 -2
  452. package/dist/server/proxy-trust.js +0 -2
  453. package/dist/server/request-log.d.ts +1 -2
  454. package/dist/server/request-log.js +0 -2
  455. package/dist/server/request-pipeline.d.ts +14 -2
  456. package/dist/server/request-pipeline.js +42 -3
  457. package/dist/server/rsc-stream-hints.d.ts +1 -2
  458. package/dist/server/rsc-stream-hints.js +0 -2
  459. package/dist/server/seed-cache.d.ts +6 -2
  460. package/dist/server/seed-cache.js +10 -8
  461. package/dist/server/server-action-not-found.d.ts +1 -2
  462. package/dist/server/server-action-not-found.js +0 -2
  463. package/dist/server/server-globals.d.ts +1 -2
  464. package/dist/server/server-globals.js +0 -2
  465. package/dist/server/skip-cache-proof.d.ts +1 -2
  466. package/dist/server/skip-cache-proof.js +0 -2
  467. package/dist/server/socket-error-backstop.d.ts +19 -2
  468. package/dist/server/socket-error-backstop.js +77 -6
  469. package/dist/server/static-file-cache.d.ts +1 -2
  470. package/dist/server/static-file-cache.js +0 -2
  471. package/dist/server/static-layout-client-reuse-proof.d.ts +1 -2
  472. package/dist/server/static-layout-client-reuse-proof.js +0 -2
  473. package/dist/server/streaming-metadata.d.ts +1 -2
  474. package/dist/server/streaming-metadata.js +0 -2
  475. package/dist/server/worker-utils.d.ts +1 -2
  476. package/dist/server/worker-utils.js +3 -6
  477. package/dist/shims/amp.d.ts +1 -2
  478. package/dist/shims/amp.js +0 -2
  479. package/dist/shims/app-router-scroll-state.d.ts +1 -2
  480. package/dist/shims/app-router-scroll-state.js +0 -2
  481. package/dist/shims/app-router-scroll.d.ts +3 -5
  482. package/dist/shims/app-router-scroll.js +22 -6
  483. package/dist/shims/app.d.ts +1 -2
  484. package/dist/shims/app.js +0 -2
  485. package/dist/shims/before-interactive-context.d.ts +1 -2
  486. package/dist/shims/before-interactive-context.js +0 -2
  487. package/dist/shims/cache-for-request.d.ts +1 -2
  488. package/dist/shims/cache-for-request.js +0 -2
  489. package/dist/shims/cache-runtime.d.ts +20 -5
  490. package/dist/shims/cache-runtime.js +66 -31
  491. package/dist/shims/cache.d.ts +48 -7
  492. package/dist/shims/cache.js +79 -20
  493. package/dist/shims/cdn-cache.d.ts +125 -0
  494. package/dist/shims/cdn-cache.js +100 -0
  495. package/dist/shims/client-hook-error.d.ts +1 -2
  496. package/dist/shims/client-hook-error.js +0 -2
  497. package/dist/shims/client-locale.d.ts +1 -2
  498. package/dist/shims/client-locale.js +1 -3
  499. package/dist/shims/compat-router.d.ts +1 -2
  500. package/dist/shims/compat-router.js +0 -2
  501. package/dist/shims/config.d.ts +1 -2
  502. package/dist/shims/config.js +0 -2
  503. package/dist/shims/constants.d.ts +1 -2
  504. package/dist/shims/constants.js +0 -2
  505. package/dist/shims/default-global-error.d.ts +3 -4
  506. package/dist/shims/default-global-error.js +0 -2
  507. package/dist/shims/default-not-found.d.ts +1 -2
  508. package/dist/shims/default-not-found.js +0 -2
  509. package/dist/shims/document.d.ts +5 -7
  510. package/dist/shims/document.js +0 -2
  511. package/dist/shims/dynamic.d.ts +1 -2
  512. package/dist/shims/dynamic.js +0 -2
  513. package/dist/shims/error-boundary.d.ts +32 -18
  514. package/dist/shims/error-boundary.js +43 -3
  515. package/dist/shims/error.d.ts +1 -2
  516. package/dist/shims/error.js +0 -2
  517. package/dist/shims/fetch-cache.d.ts +14 -2
  518. package/dist/shims/fetch-cache.js +20 -5
  519. package/dist/shims/font-google-base.d.ts +1 -2
  520. package/dist/shims/font-google-base.js +1 -13
  521. package/dist/shims/font-local.d.ts +1 -2
  522. package/dist/shims/font-local.js +1 -15
  523. package/dist/shims/font-utils.d.ts +7 -2
  524. package/dist/shims/font-utils.js +13 -3
  525. package/dist/shims/form.d.ts +12 -5
  526. package/dist/shims/form.js +98 -21
  527. package/dist/shims/hash-scroll.d.ts +2 -2
  528. package/dist/shims/hash-scroll.js +3 -3
  529. package/dist/shims/head-state.d.ts +1 -2
  530. package/dist/shims/head-state.js +0 -2
  531. package/dist/shims/head.d.ts +1 -2
  532. package/dist/shims/head.js +0 -2
  533. package/dist/shims/headers.d.ts +9 -2
  534. package/dist/shims/headers.js +13 -3
  535. package/dist/shims/i18n-context.d.ts +1 -2
  536. package/dist/shims/i18n-context.js +0 -2
  537. package/dist/shims/i18n-state.d.ts +1 -2
  538. package/dist/shims/i18n-state.js +0 -2
  539. package/dist/shims/image-config.d.ts +1 -2
  540. package/dist/shims/image-config.js +0 -2
  541. package/dist/shims/image.d.ts +1 -2
  542. package/dist/shims/image.js +1 -3
  543. package/dist/shims/internal/als-registry.d.ts +1 -2
  544. package/dist/shims/internal/als-registry.js +0 -2
  545. package/dist/shims/internal/api-utils.d.ts +1 -2
  546. package/dist/shims/internal/app-route-detection.d.ts +1 -2
  547. package/dist/shims/internal/app-route-detection.js +0 -2
  548. package/dist/shims/internal/app-router-context.d.ts +1 -2
  549. package/dist/shims/internal/app-router-context.js +0 -2
  550. package/dist/shims/internal/cookie-serialize.d.ts +1 -2
  551. package/dist/shims/internal/cookie-serialize.js +0 -2
  552. package/dist/shims/internal/link-status-registry.d.ts +43 -0
  553. package/dist/shims/internal/link-status-registry.js +42 -0
  554. package/dist/shims/internal/make-hanging-promise.d.ts +1 -2
  555. package/dist/shims/internal/make-hanging-promise.js +0 -2
  556. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +1 -2
  557. package/dist/shims/internal/pages-data-fetch-dedup.js +0 -2
  558. package/dist/shims/internal/pages-data-target.d.ts +1 -2
  559. package/dist/shims/internal/pages-data-target.js +0 -2
  560. package/dist/shims/internal/pages-data-url.d.ts +1 -2
  561. package/dist/shims/internal/pages-data-url.js +0 -2
  562. package/dist/shims/internal/parse-cookie-header.d.ts +1 -2
  563. package/dist/shims/internal/parse-cookie-header.js +0 -2
  564. package/dist/shims/internal/route-pattern-for-warning.d.ts +27 -0
  565. package/dist/shims/internal/route-pattern-for-warning.js +40 -0
  566. package/dist/shims/internal/router-context.d.ts +2 -4
  567. package/dist/shims/internal/router-context.js +0 -2
  568. package/dist/shims/internal/utils.d.ts +2 -2
  569. package/dist/shims/internal/utils.js +0 -2
  570. package/dist/shims/internal/work-unit-async-storage.d.ts +1 -2
  571. package/dist/shims/internal/work-unit-async-storage.js +0 -2
  572. package/dist/shims/layout-segment-context.d.ts +2 -4
  573. package/dist/shims/layout-segment-context.js +0 -2
  574. package/dist/shims/legacy-image.d.ts +1 -2
  575. package/dist/shims/legacy-image.js +0 -2
  576. package/dist/shims/link-prefetch.d.ts +1 -2
  577. package/dist/shims/link-prefetch.js +0 -2
  578. package/dist/shims/link.d.ts +2 -2
  579. package/dist/shims/link.js +40 -20
  580. package/dist/shims/metadata.d.ts +4 -5
  581. package/dist/shims/metadata.js +1 -3
  582. package/dist/shims/navigation-state.d.ts +1 -2
  583. package/dist/shims/navigation-state.js +0 -2
  584. package/dist/shims/navigation.d.ts +25 -9
  585. package/dist/shims/navigation.js +251 -46
  586. package/dist/shims/navigation.react-server.d.ts +1 -2
  587. package/dist/shims/navigation.react-server.js +0 -2
  588. package/dist/shims/offline.d.ts +1 -2
  589. package/dist/shims/offline.js +0 -2
  590. package/dist/shims/og.d.ts +1 -2
  591. package/dist/shims/og.js +2 -4
  592. package/dist/shims/pages-router-runtime.d.ts +7 -2
  593. package/dist/shims/pages-router-runtime.js +11 -3
  594. package/dist/shims/ppr-fallback-shell.d.ts +29 -0
  595. package/dist/shims/ppr-fallback-shell.js +149 -0
  596. package/dist/shims/readonly-url-search-params.d.ts +1 -2
  597. package/dist/shims/readonly-url-search-params.js +0 -2
  598. package/dist/shims/request-context.d.ts +9 -5
  599. package/dist/shims/request-context.js +0 -2
  600. package/dist/shims/request-state-types.d.ts +1 -1
  601. package/dist/shims/root-params.d.ts +1 -2
  602. package/dist/shims/root-params.js +0 -2
  603. package/dist/shims/router-state.d.ts +2 -2
  604. package/dist/shims/router-state.js +2 -2
  605. package/dist/shims/router.d.ts +6 -4
  606. package/dist/shims/router.js +262 -40
  607. package/dist/shims/script-nonce-context.d.ts +1 -2
  608. package/dist/shims/script-nonce-context.js +0 -2
  609. package/dist/shims/script.d.ts +1 -2
  610. package/dist/shims/script.js +0 -2
  611. package/dist/shims/server.d.ts +1 -2
  612. package/dist/shims/server.js +0 -2
  613. package/dist/shims/slot.d.ts +11 -4
  614. package/dist/shims/slot.js +121 -9
  615. package/dist/shims/thenable-params.d.ts +2 -2
  616. package/dist/shims/thenable-params.js +107 -12
  617. package/dist/shims/unified-request-context.d.ts +1 -2
  618. package/dist/shims/unified-request-context.js +0 -2
  619. package/dist/shims/unrecognized-action-error.d.ts +1 -2
  620. package/dist/shims/unrecognized-action-error.js +0 -2
  621. package/dist/shims/url-safety.d.ts +1 -2
  622. package/dist/shims/url-safety.js +0 -2
  623. package/dist/shims/url-utils.d.ts +1 -2
  624. package/dist/shims/url-utils.js +0 -2
  625. package/dist/shims/use-merged-ref.d.ts +1 -2
  626. package/dist/shims/use-merged-ref.js +0 -2
  627. package/dist/shims/web-vitals.d.ts +1 -2
  628. package/dist/shims/web-vitals.js +0 -2
  629. package/dist/typegen.d.ts +1 -2
  630. package/dist/typegen.js +2 -9
  631. package/dist/utils/asset-prefix.d.ts +1 -2
  632. package/dist/utils/asset-prefix.js +0 -2
  633. package/dist/utils/base-path.d.ts +1 -2
  634. package/dist/utils/base-path.js +0 -2
  635. package/dist/utils/cache-control-metadata.d.ts +1 -4
  636. package/dist/utils/cache-control-metadata.js +1 -3
  637. package/dist/utils/client-build-manifest.d.ts +8 -2
  638. package/dist/utils/client-build-manifest.js +30 -7
  639. package/dist/utils/client-entry-manifest.d.ts +11 -0
  640. package/dist/utils/client-entry-manifest.js +29 -0
  641. package/dist/utils/compare.d.ts +4 -0
  642. package/dist/utils/compare.js +8 -0
  643. package/dist/utils/dev-error-recovery-event.d.ts +4 -0
  644. package/dist/utils/dev-error-recovery-event.js +4 -0
  645. package/dist/utils/domain-locale.d.ts +1 -2
  646. package/dist/utils/domain-locale.js +2 -4
  647. package/dist/utils/encode-cache-tag.d.ts +1 -2
  648. package/dist/utils/encode-cache-tag.js +0 -2
  649. package/dist/utils/error-cause.d.ts +1 -2
  650. package/dist/utils/error-cause.js +0 -2
  651. package/dist/utils/hash.d.ts +1 -2
  652. package/dist/utils/hash.js +0 -2
  653. package/dist/utils/html-limited-bots.d.ts +1 -2
  654. package/dist/utils/html-limited-bots.js +0 -2
  655. package/dist/utils/lazy-chunks.d.ts +1 -2
  656. package/dist/utils/lazy-chunks.js +0 -2
  657. package/dist/utils/manifest-paths.d.ts +8 -3
  658. package/dist/utils/manifest-paths.js +15 -3
  659. package/dist/utils/mdx-scan.d.ts +1 -2
  660. package/dist/utils/mdx-scan.js +0 -2
  661. package/dist/utils/navigation-signal.d.ts +1 -2
  662. package/dist/utils/navigation-signal.js +0 -2
  663. package/dist/utils/number.d.ts +4 -0
  664. package/dist/utils/number.js +6 -0
  665. package/dist/utils/path.d.ts +4 -2
  666. package/dist/utils/path.js +5 -3
  667. package/dist/utils/prerender-output-paths.d.ts +1 -2
  668. package/dist/utils/prerender-output-paths.js +0 -2
  669. package/dist/utils/project.d.ts +1 -2
  670. package/dist/utils/project.js +0 -2
  671. package/dist/utils/promise.d.ts +4 -0
  672. package/dist/utils/promise.js +6 -0
  673. package/dist/utils/public-routes.d.ts +1 -2
  674. package/dist/utils/public-routes.js +0 -2
  675. package/dist/utils/query.d.ts +1 -2
  676. package/dist/utils/query.js +0 -2
  677. package/dist/utils/record.d.ts +1 -2
  678. package/dist/utils/record.js +0 -2
  679. package/dist/utils/regex.d.ts +4 -0
  680. package/dist/utils/regex.js +6 -0
  681. package/dist/utils/safe-json-file.d.ts +1 -2
  682. package/dist/utils/safe-json-file.js +0 -2
  683. package/dist/utils/sorted-array.d.ts +1 -2
  684. package/dist/utils/sorted-array.js +0 -2
  685. package/dist/utils/text-stream.d.ts +1 -2
  686. package/dist/utils/text-stream.js +0 -2
  687. package/dist/utils/vinext-root.d.ts +1 -2
  688. package/dist/utils/vinext-root.js +0 -2
  689. package/dist/utils/vite-version.d.ts +1 -2
  690. package/dist/utils/vite-version.js +0 -2
  691. package/package.json +23 -6
  692. package/dist/build/clean-output.js.map +0 -1
  693. package/dist/build/client-build-config.js.map +0 -1
  694. package/dist/build/google-fonts/build-url.js.map +0 -1
  695. package/dist/build/google-fonts/fallback-metrics-data.js.map +0 -1
  696. package/dist/build/google-fonts/fallback-metrics.js.map +0 -1
  697. package/dist/build/google-fonts/font-data.js.map +0 -1
  698. package/dist/build/google-fonts/font-metadata.js.map +0 -1
  699. package/dist/build/google-fonts/get-axes.js.map +0 -1
  700. package/dist/build/google-fonts/sort-variants.js.map +0 -1
  701. package/dist/build/google-fonts/validate.js.map +0 -1
  702. package/dist/build/inline-css.js.map +0 -1
  703. package/dist/build/layout-classification.js.map +0 -1
  704. package/dist/build/nitro-route-rules.js.map +0 -1
  705. package/dist/build/precompress.js.map +0 -1
  706. package/dist/build/prerender.js.map +0 -1
  707. package/dist/build/report.js.map +0 -1
  708. package/dist/build/route-classification-injector.js.map +0 -1
  709. package/dist/build/route-classification-manifest.js.map +0 -1
  710. package/dist/build/run-prerender.js.map +0 -1
  711. package/dist/build/server-manifest.js.map +0 -1
  712. package/dist/build/ssr-manifest.js.map +0 -1
  713. package/dist/build/standalone.js.map +0 -1
  714. package/dist/build/static-export.js.map +0 -1
  715. package/dist/check.js.map +0 -1
  716. package/dist/cli-args.js.map +0 -1
  717. package/dist/cli.js.map +0 -1
  718. package/dist/client/instrumentation-client-inject.js.map +0 -1
  719. package/dist/client/instrumentation-client-state.js.map +0 -1
  720. package/dist/client/instrumentation-client.js.map +0 -1
  721. package/dist/client/navigation-runtime.js.map +0 -1
  722. package/dist/client/pages-router-link-navigation.js.map +0 -1
  723. package/dist/client/validate-module-path.js.map +0 -1
  724. package/dist/client/vinext-next-data.js.map +0 -1
  725. package/dist/client/window-next.js.map +0 -1
  726. package/dist/cloudflare/kv-cache-handler.js.map +0 -1
  727. package/dist/cloudflare/tpr.js.map +0 -1
  728. package/dist/config/config-matchers.js.map +0 -1
  729. package/dist/config/dotenv.js.map +0 -1
  730. package/dist/config/next-config.js.map +0 -1
  731. package/dist/config/tsconfig-paths.js.map +0 -1
  732. package/dist/deploy.js.map +0 -1
  733. package/dist/entries/app-browser-entry.js.map +0 -1
  734. package/dist/entries/app-rsc-entry.js.map +0 -1
  735. package/dist/entries/app-rsc-manifest.js.map +0 -1
  736. package/dist/entries/app-ssr-entry.js.map +0 -1
  737. package/dist/entries/pages-client-entry.js.map +0 -1
  738. package/dist/entries/pages-entry-helpers.js.map +0 -1
  739. package/dist/entries/pages-server-entry.js.map +0 -1
  740. package/dist/entries/runtime-entry-module.js.map +0 -1
  741. package/dist/index.js.map +0 -1
  742. package/dist/init.js.map +0 -1
  743. package/dist/plugins/async-hooks-stub.js.map +0 -1
  744. package/dist/plugins/client-reference-dedup.js.map +0 -1
  745. package/dist/plugins/css-data-url.js.map +0 -1
  746. package/dist/plugins/fonts.js.map +0 -1
  747. package/dist/plugins/import-meta-url.js.map +0 -1
  748. package/dist/plugins/instrumentation-client.js.map +0 -1
  749. package/dist/plugins/middleware-server-only.js.map +0 -1
  750. package/dist/plugins/og-assets.js.map +0 -1
  751. package/dist/plugins/optimize-imports.js.map +0 -1
  752. package/dist/plugins/postcss.js.map +0 -1
  753. package/dist/plugins/remove-console.js.map +0 -1
  754. package/dist/plugins/rsc-client-reference-loaders.js.map +0 -1
  755. package/dist/plugins/rsc-client-shim-excludes.js.map +0 -1
  756. package/dist/plugins/sass.js.map +0 -1
  757. package/dist/plugins/server-externals-manifest.js.map +0 -1
  758. package/dist/plugins/strip-server-exports.js.map +0 -1
  759. package/dist/routing/app-route-graph.js.map +0 -1
  760. package/dist/routing/app-router.js.map +0 -1
  761. package/dist/routing/file-matcher.js.map +0 -1
  762. package/dist/routing/pages-router.js.map +0 -1
  763. package/dist/routing/route-matching.js.map +0 -1
  764. package/dist/routing/route-pattern.js.map +0 -1
  765. package/dist/routing/route-trie.js.map +0 -1
  766. package/dist/routing/route-validation.js.map +0 -1
  767. package/dist/routing/utils.js.map +0 -1
  768. package/dist/server/api-handler.js.map +0 -1
  769. package/dist/server/app-browser-action-result.js.map +0 -1
  770. package/dist/server/app-browser-entry.js.map +0 -1
  771. package/dist/server/app-browser-error.js.map +0 -1
  772. package/dist/server/app-browser-hydration.js.map +0 -1
  773. package/dist/server/app-browser-interception-context.js.map +0 -1
  774. package/dist/server/app-browser-mpa-navigation.js.map +0 -1
  775. package/dist/server/app-browser-navigation-controller.js.map +0 -1
  776. package/dist/server/app-browser-popstate.js.map +0 -1
  777. package/dist/server/app-browser-rsc-redirect.js.map +0 -1
  778. package/dist/server/app-browser-state.js.map +0 -1
  779. package/dist/server/app-browser-stream.js.map +0 -1
  780. package/dist/server/app-browser-visible-commit.js.map +0 -1
  781. package/dist/server/app-client-reference-preloader.js.map +0 -1
  782. package/dist/server/app-elements-wire.js.map +0 -1
  783. package/dist/server/app-elements.js.map +0 -1
  784. package/dist/server/app-fallback-renderer.js.map +0 -1
  785. package/dist/server/app-history-state.js.map +0 -1
  786. package/dist/server/app-hook-warning-suppression.js.map +0 -1
  787. package/dist/server/app-inline-css-client.js.map +0 -1
  788. package/dist/server/app-interception-context-header.js.map +0 -1
  789. package/dist/server/app-layout-param-observation.js.map +0 -1
  790. package/dist/server/app-middleware.js.map +0 -1
  791. package/dist/server/app-mounted-slots-header.js.map +0 -1
  792. package/dist/server/app-optimistic-routing.js.map +0 -1
  793. package/dist/server/app-page-boundary-render.js.map +0 -1
  794. package/dist/server/app-page-boundary.js.map +0 -1
  795. package/dist/server/app-page-cache.js.map +0 -1
  796. package/dist/server/app-page-dispatch.js.map +0 -1
  797. package/dist/server/app-page-element-builder.js.map +0 -1
  798. package/dist/server/app-page-execution.js.map +0 -1
  799. package/dist/server/app-page-head.js.map +0 -1
  800. package/dist/server/app-page-method.js.map +0 -1
  801. package/dist/server/app-page-params.js.map +0 -1
  802. package/dist/server/app-page-probe.js.map +0 -1
  803. package/dist/server/app-page-render-identity.js.map +0 -1
  804. package/dist/server/app-page-render-observation.js.map +0 -1
  805. package/dist/server/app-page-render.js.map +0 -1
  806. package/dist/server/app-page-request.js.map +0 -1
  807. package/dist/server/app-page-response.js.map +0 -1
  808. package/dist/server/app-page-route-wiring.js.map +0 -1
  809. package/dist/server/app-page-segment-state.js.map +0 -1
  810. package/dist/server/app-page-stream.js.map +0 -1
  811. package/dist/server/app-post-middleware-context.js.map +0 -1
  812. package/dist/server/app-prerender-endpoints.js.map +0 -1
  813. package/dist/server/app-prerender-static-params.js.map +0 -1
  814. package/dist/server/app-render-dependency.js.map +0 -1
  815. package/dist/server/app-request-context.js.map +0 -1
  816. package/dist/server/app-route-handler-cache.js.map +0 -1
  817. package/dist/server/app-route-handler-dispatch.js.map +0 -1
  818. package/dist/server/app-route-handler-execution.js.map +0 -1
  819. package/dist/server/app-route-handler-policy.js.map +0 -1
  820. package/dist/server/app-route-handler-response.js.map +0 -1
  821. package/dist/server/app-route-handler-runtime.js.map +0 -1
  822. package/dist/server/app-router-entry.js.map +0 -1
  823. package/dist/server/app-rsc-cache-busting.js.map +0 -1
  824. package/dist/server/app-rsc-embedded-chunks.js.map +0 -1
  825. package/dist/server/app-rsc-error-handler.js.map +0 -1
  826. package/dist/server/app-rsc-errors.js.map +0 -1
  827. package/dist/server/app-rsc-handler.js.map +0 -1
  828. package/dist/server/app-rsc-render-mode.js.map +0 -1
  829. package/dist/server/app-rsc-request-normalization.js.map +0 -1
  830. package/dist/server/app-rsc-response-finalizer.js.map +0 -1
  831. package/dist/server/app-rsc-route-matching.js.map +0 -1
  832. package/dist/server/app-segment-config.js.map +0 -1
  833. package/dist/server/app-server-action-execution.js.map +0 -1
  834. package/dist/server/app-ssr-entry.js.map +0 -1
  835. package/dist/server/app-ssr-error-meta.js.map +0 -1
  836. package/dist/server/app-ssr-stream.js.map +0 -1
  837. package/dist/server/app-static-generation.js.map +0 -1
  838. package/dist/server/artifact-compatibility.js.map +0 -1
  839. package/dist/server/cache-control.js.map +0 -1
  840. package/dist/server/cache-headers.js.map +0 -1
  841. package/dist/server/cache-proof.js.map +0 -1
  842. package/dist/server/client-reuse-manifest.js.map +0 -1
  843. package/dist/server/client-trace-metadata.js.map +0 -1
  844. package/dist/server/cookie-utils.js.map +0 -1
  845. package/dist/server/csp.js.map +0 -1
  846. package/dist/server/default-global-error-module.js.map +0 -1
  847. package/dist/server/default-not-found-module.js.map +0 -1
  848. package/dist/server/dev-error-overlay-store.js.map +0 -1
  849. package/dist/server/dev-error-overlay.js.map +0 -1
  850. package/dist/server/dev-lockfile.js.map +0 -1
  851. package/dist/server/dev-module-runner.js.map +0 -1
  852. package/dist/server/dev-origin-check.js.map +0 -1
  853. package/dist/server/dev-route-files.js.map +0 -1
  854. package/dist/server/dev-server.js.map +0 -1
  855. package/dist/server/document-initial-head.js.map +0 -1
  856. package/dist/server/edge-api-runtime.js.map +0 -1
  857. package/dist/server/file-based-metadata.js.map +0 -1
  858. package/dist/server/headers.js.map +0 -1
  859. package/dist/server/html.js.map +0 -1
  860. package/dist/server/http-error-responses.js.map +0 -1
  861. package/dist/server/image-optimization.js.map +0 -1
  862. package/dist/server/implicit-tags.js.map +0 -1
  863. package/dist/server/instrumentation-runtime.js.map +0 -1
  864. package/dist/server/instrumentation.js.map +0 -1
  865. package/dist/server/isr-cache.js.map +0 -1
  866. package/dist/server/metadata-route-build-data.js.map +0 -1
  867. package/dist/server/metadata-route-response.js.map +0 -1
  868. package/dist/server/metadata-routes.js.map +0 -1
  869. package/dist/server/middleware-matcher.js.map +0 -1
  870. package/dist/server/middleware-request-headers.js.map +0 -1
  871. package/dist/server/middleware-response-headers.js.map +0 -1
  872. package/dist/server/middleware-runtime.js.map +0 -1
  873. package/dist/server/middleware.js.map +0 -1
  874. package/dist/server/navigation-planner.js.map +0 -1
  875. package/dist/server/navigation-trace.js.map +0 -1
  876. package/dist/server/next-error-digest.js.map +0 -1
  877. package/dist/server/normalize-path.js.map +0 -1
  878. package/dist/server/pages-api-route.js.map +0 -1
  879. package/dist/server/pages-body-parser-config.js.map +0 -1
  880. package/dist/server/pages-data-route.js.map +0 -1
  881. package/dist/server/pages-default-404.js.map +0 -1
  882. package/dist/server/pages-document-initial-props.js.map +0 -1
  883. package/dist/server/pages-i18n.js.map +0 -1
  884. package/dist/server/pages-media-type.js.map +0 -1
  885. package/dist/server/pages-node-compat.js.map +0 -1
  886. package/dist/server/pages-page-data.js.map +0 -1
  887. package/dist/server/pages-page-method.js.map +0 -1
  888. package/dist/server/pages-page-response.js.map +0 -1
  889. package/dist/server/pages-serializable-props.js.map +0 -1
  890. package/dist/server/prerender-route-params.js.map +0 -1
  891. package/dist/server/prerender-work-unit-setup.js.map +0 -1
  892. package/dist/server/prod-server.js.map +0 -1
  893. package/dist/server/proxy-trust.js.map +0 -1
  894. package/dist/server/request-log.js.map +0 -1
  895. package/dist/server/request-pipeline.js.map +0 -1
  896. package/dist/server/rsc-stream-hints.js.map +0 -1
  897. package/dist/server/seed-cache.js.map +0 -1
  898. package/dist/server/server-action-not-found.js.map +0 -1
  899. package/dist/server/server-globals.js.map +0 -1
  900. package/dist/server/skip-cache-proof.js.map +0 -1
  901. package/dist/server/socket-error-backstop.js.map +0 -1
  902. package/dist/server/static-file-cache.js.map +0 -1
  903. package/dist/server/static-layout-client-reuse-proof.js.map +0 -1
  904. package/dist/server/streaming-metadata.js.map +0 -1
  905. package/dist/server/worker-utils.js.map +0 -1
  906. package/dist/shims/amp.js.map +0 -1
  907. package/dist/shims/app-router-scroll-state.js.map +0 -1
  908. package/dist/shims/app-router-scroll.js.map +0 -1
  909. package/dist/shims/app.js.map +0 -1
  910. package/dist/shims/before-interactive-context.js.map +0 -1
  911. package/dist/shims/cache-for-request.js.map +0 -1
  912. package/dist/shims/cache-runtime.js.map +0 -1
  913. package/dist/shims/cache.js.map +0 -1
  914. package/dist/shims/client-hook-error.js.map +0 -1
  915. package/dist/shims/client-locale.js.map +0 -1
  916. package/dist/shims/compat-router.js.map +0 -1
  917. package/dist/shims/config.js.map +0 -1
  918. package/dist/shims/constants.js.map +0 -1
  919. package/dist/shims/default-global-error.js.map +0 -1
  920. package/dist/shims/default-not-found.js.map +0 -1
  921. package/dist/shims/document.js.map +0 -1
  922. package/dist/shims/dynamic.js.map +0 -1
  923. package/dist/shims/error-boundary.js.map +0 -1
  924. package/dist/shims/error.js.map +0 -1
  925. package/dist/shims/fetch-cache.js.map +0 -1
  926. package/dist/shims/font-google-base.js.map +0 -1
  927. package/dist/shims/font-local.js.map +0 -1
  928. package/dist/shims/font-utils.js.map +0 -1
  929. package/dist/shims/form.js.map +0 -1
  930. package/dist/shims/hash-scroll.js.map +0 -1
  931. package/dist/shims/head-state.js.map +0 -1
  932. package/dist/shims/head.js.map +0 -1
  933. package/dist/shims/headers.js.map +0 -1
  934. package/dist/shims/i18n-context.js.map +0 -1
  935. package/dist/shims/i18n-state.js.map +0 -1
  936. package/dist/shims/image-config.js.map +0 -1
  937. package/dist/shims/image.js.map +0 -1
  938. package/dist/shims/internal/als-registry.js.map +0 -1
  939. package/dist/shims/internal/app-route-detection.js.map +0 -1
  940. package/dist/shims/internal/app-router-context.js.map +0 -1
  941. package/dist/shims/internal/cookie-serialize.js.map +0 -1
  942. package/dist/shims/internal/make-hanging-promise.js.map +0 -1
  943. package/dist/shims/internal/pages-data-fetch-dedup.js.map +0 -1
  944. package/dist/shims/internal/pages-data-target.js.map +0 -1
  945. package/dist/shims/internal/pages-data-url.js.map +0 -1
  946. package/dist/shims/internal/parse-cookie-header.js.map +0 -1
  947. package/dist/shims/internal/router-context.js.map +0 -1
  948. package/dist/shims/internal/utils.js.map +0 -1
  949. package/dist/shims/internal/work-unit-async-storage.js.map +0 -1
  950. package/dist/shims/layout-segment-context.js.map +0 -1
  951. package/dist/shims/legacy-image.js.map +0 -1
  952. package/dist/shims/link-prefetch.js.map +0 -1
  953. package/dist/shims/link.js.map +0 -1
  954. package/dist/shims/metadata.js.map +0 -1
  955. package/dist/shims/navigation-state.js.map +0 -1
  956. package/dist/shims/navigation.js.map +0 -1
  957. package/dist/shims/navigation.react-server.js.map +0 -1
  958. package/dist/shims/offline.js.map +0 -1
  959. package/dist/shims/og.js.map +0 -1
  960. package/dist/shims/pages-router-runtime.js.map +0 -1
  961. package/dist/shims/readonly-url-search-params.js.map +0 -1
  962. package/dist/shims/request-context.js.map +0 -1
  963. package/dist/shims/root-params.js.map +0 -1
  964. package/dist/shims/router-state.js.map +0 -1
  965. package/dist/shims/router.js.map +0 -1
  966. package/dist/shims/script-nonce-context.js.map +0 -1
  967. package/dist/shims/script.js.map +0 -1
  968. package/dist/shims/server.js.map +0 -1
  969. package/dist/shims/slot.js.map +0 -1
  970. package/dist/shims/thenable-params.js.map +0 -1
  971. package/dist/shims/unified-request-context.js.map +0 -1
  972. package/dist/shims/unrecognized-action-error.js.map +0 -1
  973. package/dist/shims/url-safety.js.map +0 -1
  974. package/dist/shims/url-utils.js.map +0 -1
  975. package/dist/shims/use-merged-ref.js.map +0 -1
  976. package/dist/shims/web-vitals.js.map +0 -1
  977. package/dist/typegen.js.map +0 -1
  978. package/dist/utils/asset-prefix.js.map +0 -1
  979. package/dist/utils/base-path.js.map +0 -1
  980. package/dist/utils/cache-control-metadata.js.map +0 -1
  981. package/dist/utils/client-build-manifest.js.map +0 -1
  982. package/dist/utils/domain-locale.js.map +0 -1
  983. package/dist/utils/encode-cache-tag.js.map +0 -1
  984. package/dist/utils/error-cause.js.map +0 -1
  985. package/dist/utils/hash.js.map +0 -1
  986. package/dist/utils/html-limited-bots.js.map +0 -1
  987. package/dist/utils/lazy-chunks.js.map +0 -1
  988. package/dist/utils/manifest-paths.js.map +0 -1
  989. package/dist/utils/mdx-scan.js.map +0 -1
  990. package/dist/utils/navigation-signal.js.map +0 -1
  991. package/dist/utils/path.js.map +0 -1
  992. package/dist/utils/prerender-output-paths.js.map +0 -1
  993. package/dist/utils/project.js.map +0 -1
  994. package/dist/utils/public-routes.js.map +0 -1
  995. package/dist/utils/query.js.map +0 -1
  996. package/dist/utils/record.js.map +0 -1
  997. package/dist/utils/safe-json-file.js.map +0 -1
  998. package/dist/utils/sorted-array.js.map +0 -1
  999. package/dist/utils/text-stream.js.map +0 -1
  1000. package/dist/utils/vinext-root.js.map +0 -1
  1001. package/dist/utils/vite-version.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { stripBasePath } from "../utils/base-path.js";
2
- import { VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_PARAMS_HEADER } from "../server/headers.js";
2
+ import { VINEXT_DYNAMIC_STALE_TIME_HEADER, VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_PARAMS_HEADER } from "../server/headers.js";
3
3
  import { assertSafeNavigationUrl } from "./url-safety.js";
4
4
  import { AppElementsWire } from "../server/app-elements-wire.js";
5
5
  import "../server/app-elements.js";
@@ -8,9 +8,11 @@ import { isAbsoluteOrProtocolRelativeUrl, isHashOnlyBrowserUrlChange, toBrowserN
8
8
  import { retryScrollTo, scrollToHashTarget } from "./hash-scroll.js";
9
9
  import { getNavigationRuntime, hasAppNavigationRuntime } from "../client/navigation-runtime.js";
10
10
  import { notifyAppRouterTransitionStart } from "../client/instrumentation-client-state.js";
11
+ import { PUBLIC_INITIAL_BFCACHE_ID } from "../server/app-bfcache-id.js";
11
12
  import { resolveManifestNavigationInterceptionContext } from "../server/app-browser-interception-context.js";
12
- import { createExternalHistoryStatePreservingMetadata } from "../server/app-history-state.js";
13
- import { VINEXT_RSC_COMPATIBILITY_ID_HEADER, createRscRequestHeaders, createRscRequestUrl } from "../server/app-rsc-cache-busting.js";
13
+ import { createExternalHistoryStatePreservingMetadata, createHashOnlyHistoryStatePreservingNavigationMetadata } from "../server/app-history-state.js";
14
+ import { VINEXT_RSC_COMPATIBILITY_ID_HEADER, createRscRequestHeaders, createRscRequestUrl, stripRscCacheBustingSearchParam } from "../server/app-rsc-cache-busting.js";
15
+ import { hasPendingAppRouterPageRedirect } from "../server/app-browser-mpa-navigation.js";
14
16
  import { ReadonlyURLSearchParams } from "./readonly-url-search-params.js";
15
17
  import { beginAppRouterScrollIntent, clearAppRouterScrollIntent, consumeAppRouterScrollIntent } from "./app-router-scroll-state.js";
16
18
  import { UnrecognizedActionError, unstable_isUnrecognizedActionError } from "./unrecognized-action-error.js";
@@ -25,6 +27,8 @@ import * as React$1 from "react";
25
27
  */
26
28
  const _LAYOUT_SEGMENT_CTX_KEY = Symbol.for("vinext.layoutSegmentContext");
27
29
  const _SERVER_INSERTED_HTML_CTX_KEY = Symbol.for("vinext.serverInsertedHTMLContext");
30
+ const _BFCACHE_ID_MAP_CTX_KEY = Symbol.for("vinext.bfcacheIdMapContext");
31
+ const _BFCACHE_SEGMENT_ID_CTX_KEY = Symbol.for("vinext.bfcacheSegmentIdContext");
28
32
  function getServerInsertedHTMLContext() {
29
33
  if (typeof React$1.createContext !== "function") return null;
30
34
  const globalState = globalThis;
@@ -42,6 +46,18 @@ function getLayoutSegmentContext() {
42
46
  if (!globalState[_LAYOUT_SEGMENT_CTX_KEY]) globalState[_LAYOUT_SEGMENT_CTX_KEY] = React$1.createContext({ children: [] });
43
47
  return globalState[_LAYOUT_SEGMENT_CTX_KEY] ?? null;
44
48
  }
49
+ function getBfcacheIdMapContext() {
50
+ if (typeof React$1.createContext !== "function") return null;
51
+ const globalState = globalThis;
52
+ if (!globalState[_BFCACHE_ID_MAP_CTX_KEY]) globalState[_BFCACHE_ID_MAP_CTX_KEY] = React$1.createContext(null);
53
+ return globalState[_BFCACHE_ID_MAP_CTX_KEY] ?? null;
54
+ }
55
+ function getBfcacheSegmentIdContext() {
56
+ if (typeof React$1.createContext !== "function") return null;
57
+ const globalState = globalThis;
58
+ if (!globalState[_BFCACHE_SEGMENT_ID_CTX_KEY]) globalState[_BFCACHE_SEGMENT_ID_CTX_KEY] = React$1.createContext(null);
59
+ return globalState[_BFCACHE_SEGMENT_ID_CTX_KEY] ?? null;
60
+ }
45
61
  /**
46
62
  * Read the child segments for a parallel route below the current layout.
47
63
  * Returns [] if no context is available (RSC environment, outside React tree)
@@ -58,6 +74,7 @@ function useChildSegments(parallelRoutesKey = "children") {
58
74
  }
59
75
  const _READONLY_SEARCH_PARAMS = Symbol("vinext.navigation.readonlySearchParams");
60
76
  const _READONLY_SEARCH_PARAMS_SOURCE = Symbol("vinext.navigation.readonlySearchParamsSource");
77
+ const _READONLY_SEARCH_PARAMS_SOURCE_KEY = Symbol("vinext.navigation.readonlySearchParamsSourceKey");
61
78
  const GLOBAL_ACCESSORS_KEY = Symbol.for("vinext.navigation.globalAccessors");
62
79
  const _GLOBAL_ACCESSORS_KEY = GLOBAL_ACCESSORS_KEY;
63
80
  const _GLOBAL_HYDRATION_CONTEXT_KEY = Symbol.for("vinext.navigation.clientHydrationContext");
@@ -71,6 +88,9 @@ function _getClientHydrationContext() {
71
88
  function _setClientHydrationContext(ctx) {
72
89
  globalThis[_GLOBAL_HYDRATION_CONTEXT_KEY] = ctx;
73
90
  }
91
+ function clearClientHydrationContext() {
92
+ if (typeof window !== "undefined") _setClientHydrationContext(null);
93
+ }
74
94
  let _serverContext = null;
75
95
  let _serverInsertedHTMLCallbacks = [];
76
96
  let _getServerContext = () => {
@@ -111,6 +131,7 @@ function _registerStateAccessors(accessors) {
111
131
  _clearInsertedHTMLCallbacks = accessors.clearInsertedHTMLCallbacks;
112
132
  }
113
133
  const PAGES_NAVIGATION_ACCESSOR_KEY = Symbol.for("vinext.navigation.pagesNavigationContextAccessor");
134
+ const PAGES_NAVIGATION_NOTIFY_KEY = Symbol.for("vinext.navigation.pagesNavigationNotify");
114
135
  function _getPagesNavigationContext() {
115
136
  const accessor = globalThis[PAGES_NAVIGATION_ACCESSOR_KEY];
116
137
  if (!accessor) return null;
@@ -200,6 +221,91 @@ function getPrefetchedUrls() {
200
221
  if (!window.__VINEXT_RSC_PREFETCHED_URLS__) window.__VINEXT_RSC_PREFETCHED_URLS__ = /* @__PURE__ */ new Set();
201
222
  return window.__VINEXT_RSC_PREFETCHED_URLS__;
202
223
  }
224
+ function isDynamicStaleTimeSeconds(value) {
225
+ return typeof value === "number" && Number.isFinite(value) && Number.isInteger(value) && value >= 0;
226
+ }
227
+ function isCacheExpiresAt(value) {
228
+ return typeof value === "number" && Number.isFinite(value) && value >= 0;
229
+ }
230
+ function parseDynamicStaleTimeSeconds(value) {
231
+ if (value === null || value === "") return void 0;
232
+ const seconds = Number(value);
233
+ return isDynamicStaleTimeSeconds(seconds) ? seconds : void 0;
234
+ }
235
+ function resolveCachedRscResponseTtlMs(cached, fallbackTtlMs) {
236
+ const seconds = cached.dynamicStaleTimeSeconds;
237
+ if (!isDynamicStaleTimeSeconds(seconds)) return fallbackTtlMs;
238
+ return seconds * 1e3;
239
+ }
240
+ function resolveCachedRscResponseExpiresAt(timestamp, cached, fallbackTtlMs) {
241
+ if (isCacheExpiresAt(cached.expiresAt)) return cached.expiresAt;
242
+ return timestamp + resolveCachedRscResponseTtlMs(cached, fallbackTtlMs);
243
+ }
244
+ function resolvePrefetchCacheEntryExpiresAt(entry) {
245
+ if (entry.expiresAt !== void 0) return entry.expiresAt;
246
+ if (entry.snapshot) return resolveCachedRscResponseExpiresAt(entry.timestamp, entry.snapshot, PREFETCH_CACHE_TTL);
247
+ return entry.timestamp + PREFETCH_CACHE_TTL;
248
+ }
249
+ function resolvePrefetchCacheEntryMountedSlotsHeader(entry) {
250
+ if (entry.mountedSlotsHeader !== void 0) return entry.mountedSlotsHeader;
251
+ return entry.snapshot?.mountedSlotsHeader ?? null;
252
+ }
253
+ function normalizeRscCacheLookupUrl(rscUrl) {
254
+ try {
255
+ const url = new URL(rscUrl, "http://vinext.local");
256
+ stripRscCacheBustingSearchParam(url);
257
+ return `${url.pathname}${url.search}`;
258
+ } catch {
259
+ return null;
260
+ }
261
+ }
262
+ function parsePrefetchCacheKey(cacheKey) {
263
+ const separatorIndex = cacheKey.indexOf("\0");
264
+ if (separatorIndex === -1) return {
265
+ interceptionContext: null,
266
+ rscUrl: cacheKey
267
+ };
268
+ return {
269
+ interceptionContext: cacheKey.slice(separatorIndex + 1),
270
+ rscUrl: cacheKey.slice(0, separatorIndex)
271
+ };
272
+ }
273
+ function isPrefetchCacheEntryCompatibleWithMountedSlots(entry, mountedSlotsHeader) {
274
+ if (resolvePrefetchCacheEntryMountedSlotsHeader(entry) === mountedSlotsHeader) return true;
275
+ return (entry.snapshot?.mountedSlotsHeader ?? null) === mountedSlotsHeader;
276
+ }
277
+ function findPrefetchCacheEntryForNavigation(rscUrl, interceptionContext, mountedSlotsHeader) {
278
+ const exactCacheKey = AppElementsWire.encodeCacheKey(rscUrl, interceptionContext);
279
+ const cache = getPrefetchCache();
280
+ const exactEntry = cache.get(exactCacheKey);
281
+ if (exactEntry && exactEntry.cacheForNavigation !== false && isPrefetchCacheEntryCompatibleWithMountedSlots(exactEntry, mountedSlotsHeader)) return {
282
+ cacheKey: exactCacheKey,
283
+ entry: exactEntry
284
+ };
285
+ const normalizedTarget = normalizeRscCacheLookupUrl(rscUrl);
286
+ if (normalizedTarget === null) return null;
287
+ for (const [cacheKey, entry] of cache) {
288
+ if (cacheKey === exactCacheKey) continue;
289
+ if (entry.cacheForNavigation === false) continue;
290
+ const source = parsePrefetchCacheKey(cacheKey);
291
+ if (source.interceptionContext !== interceptionContext) continue;
292
+ if (normalizeRscCacheLookupUrl(source.rscUrl) !== normalizedTarget) continue;
293
+ if (!isPrefetchCacheEntryCompatibleWithMountedSlots(entry, mountedSlotsHeader)) continue;
294
+ return {
295
+ cacheKey,
296
+ entry
297
+ };
298
+ }
299
+ return null;
300
+ }
301
+ function hasPrefetchCacheEntryForNavigation(rscUrl, interceptionContext = null, mountedSlotsHeader = null) {
302
+ const match = findPrefetchCacheEntryForNavigation(rscUrl, interceptionContext, mountedSlotsHeader);
303
+ if (match === null) return false;
304
+ if (match.entry.pending !== void 0) return true;
305
+ if (resolvePrefetchCacheEntryExpiresAt(match.entry) > Date.now()) return true;
306
+ deletePrefetchCacheEntry(getPrefetchCache(), getPrefetchedUrls(), match.cacheKey, match.entry, true);
307
+ return false;
308
+ }
203
309
  /**
204
310
  * Evict prefetch cache entries if at capacity.
205
311
  * First sweeps expired entries, then falls back to FIFO eviction.
@@ -209,7 +315,7 @@ function evictPrefetchCacheIfNeeded() {
209
315
  if (cache.size < 50) return;
210
316
  const now = Date.now();
211
317
  const prefetched = getPrefetchedUrls();
212
- for (const [key, entry] of cache) if (now - entry.timestamp >= PREFETCH_CACHE_TTL) deletePrefetchCacheEntry(cache, prefetched, key, entry, true);
318
+ for (const [key, entry] of cache) if (resolvePrefetchCacheEntryExpiresAt(entry) <= now) deletePrefetchCacheEntry(cache, prefetched, key, entry, true);
213
319
  while (cache.size >= 50) {
214
320
  const oldest = cache.keys().next().value;
215
321
  if (oldest !== void 0) {
@@ -258,8 +364,7 @@ function invalidatePrefetchCacheEntry(cacheKey) {
258
364
  function schedulePrefetchInvalidation(cacheKey, entry) {
259
365
  if (entry.onInvalidateCallbacks === void 0 || entry.onInvalidateCallbacks.size === 0) return;
260
366
  clearPrefetchInvalidation(entry);
261
- const elapsed = Date.now() - entry.timestamp;
262
- const delay = Math.max(0, PREFETCH_CACHE_TTL - elapsed);
367
+ const delay = Math.max(0, resolvePrefetchCacheEntryExpiresAt(entry) - Date.now());
263
368
  entry.invalidationTimer = setTimeout(() => {
264
369
  invalidatePrefetchCacheEntry(cacheKey);
265
370
  }, delay);
@@ -303,12 +408,15 @@ function storePrefetchResponse(rscUrl, response, interceptionContext = null, opt
303
408
  const cacheKey = AppElementsWire.encodeCacheKey(rscUrl, interceptionContext);
304
409
  evictPrefetchCacheIfNeeded();
305
410
  const entry = {
411
+ mountedSlotsHeader: null,
306
412
  outcome: "pending",
307
413
  timestamp: Date.now()
308
414
  };
309
415
  addPrefetchInvalidationCallback(entry, options?.onInvalidate);
310
416
  entry.pending = snapshotRscResponse(response).then((snapshot) => {
417
+ entry.mountedSlotsHeader = snapshot.mountedSlotsHeader ?? null;
311
418
  entry.snapshot = snapshot;
419
+ entry.expiresAt = resolveCachedRscResponseExpiresAt(entry.timestamp, snapshot, PREFETCH_CACHE_TTL);
312
420
  }).catch(() => {
313
421
  deletePrefetchCacheEntry(getPrefetchCache(), getPrefetchedUrls(), cacheKey, entry, false);
314
422
  }).finally(() => {
@@ -321,10 +429,12 @@ function storePrefetchResponse(rscUrl, response, interceptionContext = null, opt
321
429
  getPrefetchCache().set(cacheKey, entry);
322
430
  }
323
431
  function createCachedRscResponseSnapshot(response, buffer, responseUrl = null) {
432
+ const dynamicStaleTimeSeconds = parseDynamicStaleTimeSeconds(response.headers.get(VINEXT_DYNAMIC_STALE_TIME_HEADER));
324
433
  return {
325
434
  compatibilityIdHeader: response.headers.get(VINEXT_RSC_COMPATIBILITY_ID_HEADER),
326
435
  buffer,
327
436
  contentType: response.headers.get("content-type") ?? "text/x-component",
437
+ ...dynamicStaleTimeSeconds !== void 0 ? { dynamicStaleTimeSeconds } : {},
328
438
  mountedSlotsHeader: response.headers.get(VINEXT_MOUNTED_SLOTS_HEADER),
329
439
  paramsHeader: response.headers.get(VINEXT_PARAMS_HEADER),
330
440
  url: responseUrl ?? response.url
@@ -356,6 +466,7 @@ function restoreRscResponse(cached, copy = true) {
356
466
  const headers = new Headers({ "content-type": cached.contentType });
357
467
  if (cached.mountedSlotsHeader != null) headers.set(VINEXT_MOUNTED_SLOTS_HEADER, cached.mountedSlotsHeader);
358
468
  if (cached.compatibilityIdHeader != null) headers.set(VINEXT_RSC_COMPATIBILITY_ID_HEADER, cached.compatibilityIdHeader);
469
+ if (isDynamicStaleTimeSeconds(cached.dynamicStaleTimeSeconds)) headers.set(VINEXT_DYNAMIC_STALE_TIME_HEADER, String(cached.dynamicStaleTimeSeconds));
359
470
  if (cached.paramsHeader != null) headers.set(VINEXT_PARAMS_HEADER, cached.paramsHeader);
360
471
  return new Response(copy ? cached.buffer.slice(0) : cached.buffer, {
361
472
  status: 200,
@@ -376,17 +487,17 @@ function prefetchRscResponse(rscUrl, fetchPromise, interceptionContext = null, m
376
487
  const now = Date.now();
377
488
  const entry = {
378
489
  cacheForNavigation: behavior.cacheForNavigation ?? true,
490
+ mountedSlotsHeader,
379
491
  optimisticRouteShell: behavior.optimisticRouteShell === true,
380
492
  outcome: "pending",
381
493
  timestamp: now
382
494
  };
383
495
  addPrefetchInvalidationCallback(entry, options?.onInvalidate);
384
496
  entry.pending = fetchPromise.then(async (response) => {
385
- if (response.ok) entry.snapshot = {
386
- ...await snapshotRscResponse(response),
387
- mountedSlotsHeader
388
- };
389
- else deletePrefetchCacheEntry(cache, prefetched, cacheKey, entry, false);
497
+ if (response.ok) {
498
+ entry.snapshot = await snapshotRscResponse(response);
499
+ entry.expiresAt = resolveCachedRscResponseExpiresAt(entry.timestamp, entry.snapshot, PREFETCH_CACHE_TTL);
500
+ } else deletePrefetchCacheEntry(cache, prefetched, cacheKey, entry, false);
390
501
  }).catch(() => {
391
502
  deletePrefetchCacheEntry(cache, prefetched, cacheKey, entry, false);
392
503
  }).finally(() => {
@@ -405,26 +516,32 @@ function prefetchRscResponse(rscUrl, fetchPromise, interceptionContext = null, m
405
516
  * Returns null if the entry is still in flight or doesn't exist.
406
517
  */
407
518
  function consumePrefetchResponse(rscUrl, interceptionContext = null, mountedSlotsHeader = null) {
408
- const cacheKey = AppElementsWire.encodeCacheKey(rscUrl, interceptionContext);
409
519
  const cache = getPrefetchCache();
410
- const entry = cache.get(cacheKey);
411
- if (!entry) return null;
520
+ const exactCacheKey = AppElementsWire.encodeCacheKey(rscUrl, interceptionContext);
521
+ const exactEntry = cache.get(exactCacheKey);
522
+ if (exactEntry && exactEntry.cacheForNavigation !== false && !isPrefetchCacheEntryCompatibleWithMountedSlots(exactEntry, mountedSlotsHeader)) deletePrefetchCacheEntry(cache, getPrefetchedUrls(), exactCacheKey, exactEntry, false);
523
+ const match = findPrefetchCacheEntryForNavigation(rscUrl, interceptionContext, mountedSlotsHeader);
524
+ if (!match) return null;
525
+ const { cacheKey, entry } = match;
412
526
  if (entry.pending || entry.outcome !== "cache-seeded") return null;
413
527
  if (entry.cacheForNavigation === false) return null;
414
528
  deletePrefetchCacheEntry(cache, getPrefetchedUrls(), cacheKey, entry, false);
415
529
  if (entry.snapshot) {
416
- if ((entry.snapshot.mountedSlotsHeader ?? null) !== mountedSlotsHeader) return null;
417
- if (Date.now() - entry.timestamp >= PREFETCH_CACHE_TTL) return null;
530
+ if (!isPrefetchCacheEntryCompatibleWithMountedSlots(entry, mountedSlotsHeader)) return null;
531
+ if (resolvePrefetchCacheEntryExpiresAt(entry) <= Date.now()) return null;
532
+ if (entry.expiresAt !== void 0 || entry.snapshot.expiresAt !== void 0) return {
533
+ ...entry.snapshot,
534
+ expiresAt: resolvePrefetchCacheEntryExpiresAt(entry)
535
+ };
418
536
  return entry.snapshot;
419
537
  }
420
538
  return null;
421
539
  }
422
540
  async function consumePrefetchResponseForNavigation(rscUrl, interceptionContext = null, mountedSlotsHeader = null, options) {
423
- const cacheKey = AppElementsWire.encodeCacheKey(rscUrl, interceptionContext);
424
541
  const cache = getPrefetchCache();
425
- const entry = cache.get(cacheKey);
426
- if (!entry) return null;
427
- if (entry.cacheForNavigation === false) return null;
542
+ const match = findPrefetchCacheEntryForNavigation(rscUrl, interceptionContext, mountedSlotsHeader);
543
+ if (!match) return null;
544
+ const { cacheKey, entry } = match;
428
545
  if (entry.pending !== void 0) {
429
546
  await entry.pending.catch(() => {});
430
547
  if (cache.get(cacheKey) !== entry) return null;
@@ -471,7 +588,25 @@ function notifyNavigationListeners() {
471
588
  if (!state) return;
472
589
  for (const fn of state.listeners) fn();
473
590
  }
591
+ if (!isServer) globalThis[PAGES_NAVIGATION_NOTIFY_KEY] = notifyNavigationListeners;
474
592
  let _cachedEmptyServerSearchParams = null;
593
+ const _readonlyPagesSearchParamsCache = /* @__PURE__ */ new WeakMap();
594
+ let _cachedReadonlyPagesSearchParamsKey = null;
595
+ let _cachedReadonlyPagesSearchParams = null;
596
+ function getReadonlyPagesSearchParams(searchParams) {
597
+ const cached = _readonlyPagesSearchParamsCache.get(searchParams);
598
+ if (cached) return cached;
599
+ const key = searchParams.toString();
600
+ if (_cachedReadonlyPagesSearchParamsKey === key && _cachedReadonlyPagesSearchParams) {
601
+ _readonlyPagesSearchParamsCache.set(searchParams, _cachedReadonlyPagesSearchParams);
602
+ return _cachedReadonlyPagesSearchParams;
603
+ }
604
+ const readonly = new ReadonlyURLSearchParams(searchParams);
605
+ _readonlyPagesSearchParamsCache.set(searchParams, readonly);
606
+ _cachedReadonlyPagesSearchParamsKey = key;
607
+ _cachedReadonlyPagesSearchParams = readonly;
608
+ return readonly;
609
+ }
475
610
  /**
476
611
  * Get cached pathname snapshot for useSyncExternalStore.
477
612
  * Note: Returns cached value from ClientNavigationState, not live window.location.
@@ -481,6 +616,8 @@ let _cachedEmptyServerSearchParams = null;
481
616
  * be visible until the next commit.
482
617
  */
483
618
  function getPathnameSnapshot() {
619
+ const pagesCtx = _getPagesNavigationContext();
620
+ if (pagesCtx) return pagesCtx.pathname;
484
621
  return getClientNavigationState()?.cachedPathname ?? "/";
485
622
  }
486
623
  let _cachedEmptyClientSearchParams = null;
@@ -493,6 +630,9 @@ let _cachedEmptyClientSearchParams = null;
493
630
  * be visible until the next commit.
494
631
  */
495
632
  function getSearchParamsSnapshot() {
633
+ if (_getServerContext()) return getServerSearchParamsSnapshot();
634
+ const pagesCtx = _getPagesNavigationContext();
635
+ if (pagesCtx) return getReadonlyPagesSearchParams(pagesCtx.searchParams);
496
636
  const cached = getClientNavigationState()?.cachedReadonlySearchParams;
497
637
  if (cached) return cached;
498
638
  if (_cachedEmptyClientSearchParams === null) _cachedEmptyClientSearchParams = new ReadonlyURLSearchParams();
@@ -519,7 +659,7 @@ function getServerSearchParamsSnapshot() {
519
659
  const ctx = _getServerContext();
520
660
  if (!ctx) {
521
661
  const pagesCtx = _getPagesNavigationContext();
522
- if (pagesCtx) return new ReadonlyURLSearchParams(pagesCtx.searchParams);
662
+ if (pagesCtx) return getReadonlyPagesSearchParams(pagesCtx.searchParams);
523
663
  if (_cachedEmptyServerSearchParams === null) _cachedEmptyServerSearchParams = new ReadonlyURLSearchParams();
524
664
  return _cachedEmptyServerSearchParams;
525
665
  }
@@ -527,9 +667,15 @@ function getServerSearchParamsSnapshot() {
527
667
  const cached = ctx[_READONLY_SEARCH_PARAMS];
528
668
  const cachedSource = ctx[_READONLY_SEARCH_PARAMS_SOURCE];
529
669
  if (cached && cachedSource === source) return cached;
670
+ const sourceKey = source.toString();
671
+ if (cached && ctx[_READONLY_SEARCH_PARAMS_SOURCE_KEY] === sourceKey) {
672
+ ctx[_READONLY_SEARCH_PARAMS_SOURCE] = source;
673
+ return cached;
674
+ }
530
675
  const readonly = new ReadonlyURLSearchParams(source);
531
676
  ctx[_READONLY_SEARCH_PARAMS] = readonly;
532
677
  ctx[_READONLY_SEARCH_PARAMS_SOURCE] = source;
678
+ ctx[_READONLY_SEARCH_PARAMS_SOURCE_KEY] = sourceKey;
533
679
  return readonly;
534
680
  }
535
681
  /**
@@ -630,15 +776,18 @@ function clearPendingPathname(navId) {
630
776
  }
631
777
  function getClientParamsSnapshot() {
632
778
  const state = getClientNavigationState();
779
+ const ctx = _getServerContext();
780
+ if (ctx) return ctx.params;
633
781
  const pagesCtx = _getPagesNavigationContext();
634
782
  if (pagesCtx) return pagesCtx.params;
635
- if (state && Object.keys(state.clientParams).length > 0) return state.clientParams;
636
783
  return state?.clientParams ?? _EMPTY_PARAMS;
637
784
  }
638
785
  function getServerParamsSnapshot() {
639
786
  const ctx = _getServerContext();
640
787
  if (ctx) return ctx.params;
641
- return _getPagesNavigationContext()?.params ?? _EMPTY_PARAMS;
788
+ const pagesCtx = _getPagesNavigationContext();
789
+ if (pagesCtx) return pagesCtx.params;
790
+ return _EMPTY_PARAMS;
642
791
  }
643
792
  function subscribeToNavigation(cb) {
644
793
  const state = getClientNavigationState();
@@ -656,10 +805,16 @@ function usePathname() {
656
805
  if (isServer) {
657
806
  const ctx = _getServerContext();
658
807
  if (ctx) return ctx.pathname;
659
- return _getPagesNavigationContext()?.pathname ?? "/";
808
+ const pagesCtx = _getPagesNavigationContext();
809
+ return pagesCtx ? pagesCtx.pathname : "/";
660
810
  }
661
811
  const renderSnapshot = useClientNavigationRenderSnapshot();
662
- const pathname = React$1.useSyncExternalStore(subscribeToNavigation, getPathnameSnapshot, () => _getServerContext()?.pathname ?? _getPagesNavigationContext()?.pathname ?? "/");
812
+ const pathname = React$1.useSyncExternalStore(subscribeToNavigation, getPathnameSnapshot, () => {
813
+ const ctx = _getServerContext();
814
+ if (ctx) return ctx.pathname;
815
+ const pagesCtx = _getPagesNavigationContext();
816
+ return pagesCtx ? pagesCtx.pathname : "/";
817
+ });
663
818
  if (renderSnapshot && (getClientNavigationState()?.navigationSnapshotActiveCount ?? 0) > 0) return renderSnapshot.pathname;
664
819
  return pathname;
665
820
  }
@@ -721,11 +876,13 @@ function commitClientNavigationState(navId, options) {
721
876
  if (!state) return;
722
877
  if ((navId !== void 0 || options?.releaseSnapshot === true) && state.navigationSnapshotActiveCount > 0) state.navigationSnapshotActiveCount -= 1;
723
878
  const urlChanged = syncCommittedUrlStateFromLocation();
879
+ let paramsChanged = false;
724
880
  if (state.pendingClientParams !== null && state.pendingClientParamsJson !== null) {
725
881
  state.clientParams = state.pendingClientParams;
726
882
  state.clientParamsJson = state.pendingClientParamsJson;
727
883
  state.pendingClientParams = null;
728
884
  state.pendingClientParamsJson = null;
885
+ paramsChanged = true;
729
886
  }
730
887
  if (state.pendingPathnameNavId === null || navId !== void 0 && state.pendingPathnameNavId === navId) {
731
888
  state.pendingPathname = null;
@@ -733,10 +890,8 @@ function commitClientNavigationState(navId, options) {
733
890
  }
734
891
  const shouldNotify = urlChanged || state.hasPendingNavigationUpdate;
735
892
  state.hasPendingNavigationUpdate = false;
736
- if (shouldNotify) {
737
- notifyNavigationListeners();
738
- getNavigationRuntime()?.functions.pingVisibleLinks?.();
739
- }
893
+ if (urlChanged || paramsChanged) clearClientHydrationContext();
894
+ if (shouldNotify) notifyNavigationListeners();
740
895
  }
741
896
  function pushHistoryStateWithoutNotify(data, unused, url) {
742
897
  withSuppressedUrlNotifications(() => {
@@ -768,8 +923,9 @@ function commitHashOnlyHistoryState(href, mode, scroll) {
768
923
  commitAppRouterHashNavigation(href, mode, scroll);
769
924
  return;
770
925
  }
771
- if (mode === "replace") replaceHistoryStateWithoutNotify(null, "", href);
772
- else pushHistoryStateWithoutNotify(null, "", href);
926
+ const historyState = createHashOnlyHistoryStatePreservingNavigationMetadata(window.history.state);
927
+ if (mode === "replace") replaceHistoryStateWithoutNotify(historyState, "", href);
928
+ else pushHistoryStateWithoutNotify(historyState, "", href);
773
929
  }
774
930
  function applyAppRouterScrollFallback(intent) {
775
931
  if (typeof document === "undefined" || typeof window === "undefined") return;
@@ -808,6 +964,7 @@ function restoreScrollPosition(state) {
808
964
  * Navigate to a URL, handling external URLs, hash-only changes, and RSC navigation.
809
965
  */
810
966
  async function navigateClientSide(href, mode, scroll, programmaticTransition = false) {
967
+ getNavigationRuntime()?.functions.notifyLinkNavigationStart?.();
811
968
  let normalizedHref = href;
812
969
  if (isExternalUrl(href)) {
813
970
  const localPath = toSameOriginAppPath(href, __basePath);
@@ -835,6 +992,17 @@ async function navigateClientSide(href, mode, scroll, programmaticTransition = f
835
992
  if (scroll) scrollToHashTarget(hash);
836
993
  return;
837
994
  }
995
+ if (hasPendingAppRouterPageRedirect(typeof document === "undefined" ? void 0 : document)) {
996
+ const mpaNavigate = getNavigationRuntime()?.functions.navigateExternal;
997
+ if (mpaNavigate) {
998
+ await mpaNavigate(fullHref, mode);
999
+ return;
1000
+ }
1001
+ if (mode === "replace") window.location.replace(fullHref);
1002
+ else window.location.assign(fullHref);
1003
+ await new Promise(() => {});
1004
+ return;
1005
+ }
838
1006
  const hashIdx = fullHref.indexOf("#");
839
1007
  const hash = hashIdx !== -1 ? fullHref.slice(hashIdx) : "";
840
1008
  const scrollIntent = scroll ? beginAppRouterScrollIntent(hash || null) : null;
@@ -873,13 +1041,15 @@ function releaseScheduledAppRouterNavigationAfterCurrentTask(release) {
873
1041
  queueMicrotask(release);
874
1042
  }
875
1043
  /**
876
- * Public App Router instance, exposed for the browser entry so it can wire
877
- * `window.next.router` to the same singleton returned from `useRouter()`.
1044
+ * App Router public router instance. Mirrors Next.js's
1045
+ * `publicAppRouterInstance` from
1046
+ * `packages/next/src/client/components/app-router-instance.ts`.
878
1047
  *
879
- * Mirrors `publicAppRouterInstance` from Next.js's
880
- * `packages/next/src/client/components/app-router-instance.ts` (line 392).
1048
+ * Exported so the App Router browser entry can install it on
1049
+ * `window.next.router` for Next.js parity (see `client/window-next.ts`).
1050
+ * Internal callers in this file continue to use `_appRouter` for brevity.
881
1051
  */
882
- const appRouterInstance = {
1052
+ const _appRouter = {
883
1053
  bfcacheId: "0",
884
1054
  push(href, options) {
885
1055
  assertSafeNavigationUrl(href);
@@ -967,19 +1137,47 @@ const appRouterInstance = {
967
1137
  });
968
1138
  }
969
1139
  };
1140
+ function formatPublicBfcacheId(value) {
1141
+ if (!value || value === "0") return PUBLIC_INITIAL_BFCACHE_ID;
1142
+ return value;
1143
+ }
1144
+ function readBfcacheIdFromContext() {
1145
+ const segmentContext = getBfcacheSegmentIdContext();
1146
+ const idMapContext = getBfcacheIdMapContext();
1147
+ if (!segmentContext || !idMapContext || typeof React$1.useContext !== "function") return formatPublicBfcacheId(null);
1148
+ try {
1149
+ const segmentId = React$1.useContext(segmentContext);
1150
+ const idMap = React$1.useContext(idMapContext);
1151
+ return formatPublicBfcacheId(segmentId !== null ? idMap?.[segmentId] : null);
1152
+ } catch (error) {
1153
+ if (process.env.NODE_ENV !== "production") console.warn("[vinext] readBfcacheIdFromContext failed:", error);
1154
+ return formatPublicBfcacheId(null);
1155
+ }
1156
+ }
1157
+ /**
1158
+ * Public App Router instance, exposed for the browser entry so it can wire
1159
+ * `window.next.router` to the same singleton returned from `useRouter()`.
1160
+ *
1161
+ * Mirrors `publicAppRouterInstance` from Next.js's
1162
+ * `packages/next/src/client/components/app-router-instance.ts` (line 392).
1163
+ */
1164
+ const appRouterInstance = _appRouter;
970
1165
  /**
971
1166
  * App Router's useRouter — returns push/replace/back/forward/refresh.
972
1167
  * Different from Pages Router's useRouter (next/router).
973
1168
  *
974
- * Returns a stable singleton: the same object reference on every call,
975
- * matching Next.js behavior so components using referential equality
976
- * (e.g. useMemo / useEffect deps, React.memo) don't re-render unnecessarily.
1169
+ * Preserves the mounted AppRouterContext router as the authority for methods
1170
+ * and layers the nearest segment's contextual `bfcacheId` on top.
977
1171
  */
978
1172
  function useRouter() {
979
- if (!AppRouterContext || typeof React$1.useContext !== "function") throw new Error("invariant expected app router to be mounted");
1173
+ if (!AppRouterContext || typeof React$1.useContext !== "function" || typeof React$1.useMemo !== "function") throw new Error("invariant expected app router to be mounted");
980
1174
  const router = React$1.useContext(AppRouterContext);
981
1175
  if (router === null) throw new Error("invariant expected app router to be mounted");
982
- return router;
1176
+ const bfcacheId = readBfcacheIdFromContext();
1177
+ return React$1.useMemo(() => ({
1178
+ ...router,
1179
+ bfcacheId
1180
+ }), [router, bfcacheId]);
983
1181
  }
984
1182
  /**
985
1183
  * Returns the active child segment one level below the layout where it's called.
@@ -1361,6 +1559,9 @@ if (!isServer) {
1361
1559
  const state = getClientNavigationState();
1362
1560
  if (state && !state.patchInstalled) {
1363
1561
  state.patchInstalled = true;
1562
+ window.addEventListener("popstate", () => {
1563
+ getNavigationRuntime()?.functions.notifyLinkNavigationStart?.();
1564
+ });
1364
1565
  window.addEventListener("popstate", (event) => {
1365
1566
  if (!hasAppNavigationRuntime()) {
1366
1567
  commitClientNavigationState();
@@ -1369,15 +1570,19 @@ if (!isServer) {
1369
1570
  });
1370
1571
  window.history.pushState = function patchedPushState(data, unused, url) {
1371
1572
  state.originalPushState.call(window.history, createExternalHistoryStatePreservingMetadata(data, window.history.state), unused, url);
1372
- if (state.suppressUrlNotifyCount === 0) commitClientNavigationState();
1573
+ if (state.suppressUrlNotifyCount === 0) {
1574
+ getNavigationRuntime()?.functions.notifyLinkNavigationStart?.();
1575
+ commitClientNavigationState();
1576
+ }
1373
1577
  };
1374
1578
  window.history.replaceState = function patchedReplaceState(data, unused, url) {
1375
1579
  state.originalReplaceState.call(window.history, createExternalHistoryStatePreservingMetadata(data, window.history.state), unused, url);
1376
- if (state.suppressUrlNotifyCount === 0) commitClientNavigationState();
1580
+ if (state.suppressUrlNotifyCount === 0) {
1581
+ getNavigationRuntime()?.functions.notifyLinkNavigationStart?.();
1582
+ commitClientNavigationState();
1583
+ }
1377
1584
  };
1378
1585
  }
1379
1586
  }
1380
1587
  //#endregion
1381
- export { BailoutToCSRError, DynamicServerError, GLOBAL_ACCESSORS_KEY, HTTP_ERROR_FALLBACK_ERROR_CODE, MAX_PREFETCH_CACHE_SIZE, PREFETCH_CACHE_TTL, ReadonlyURLSearchParams, RedirectType, ServerInsertedHTMLContext, UnrecognizedActionError, __basePath, _registerStateAccessors, activateNavigationSnapshot, appRouterInstance, clearPendingPathname, clearServerInsertedHTML, commitClientNavigationState, consumePrefetchResponse, consumePrefetchResponseForNavigation, createCachedRscResponseSnapshot, createClientNavigationRenderSnapshot, decodeRedirectError, flushServerInsertedHTML, forbidden, getAccessFallbackHTTPStatus, getClientNavigationRenderContext, getClientNavigationState, getClientParams, getCurrentInterceptionContext, getCurrentNextUrl, getLayoutSegmentContext, getMountedSlotsHeader, getNavigationContext, getPrefetchCache, getPrefetchInterceptionContext, getPrefetchedUrls, invalidatePrefetchCache, isBailoutToCSRError, isDynamicServerError, isHTTPAccessFallbackError, isNextRouterError, isRedirectError, navigateClientSide, notFound, permanentRedirect, prefetchRscResponse, pushHistoryStateWithoutNotify, redirect, renderServerInsertedHTML, replaceClientParamsWithoutNotify, replaceHistoryStateWithoutNotify, restoreRscResponse, saveScrollPosition, setClientParams, setMountedSlotsHeader, setNavigationContext, setPendingPathname, snapshotRscResponse, storePrefetchResponse, unauthorized, unstable_isUnrecognizedActionError, unstable_rethrow, useParams, usePathname, useRouter, useSearchParams, useSelectedLayoutSegment, useSelectedLayoutSegments, useServerInsertedHTML };
1382
-
1383
- //# sourceMappingURL=navigation.js.map
1588
+ export { BailoutToCSRError, DynamicServerError, GLOBAL_ACCESSORS_KEY, HTTP_ERROR_FALLBACK_ERROR_CODE, MAX_PREFETCH_CACHE_SIZE, PREFETCH_CACHE_TTL, ReadonlyURLSearchParams, RedirectType, ServerInsertedHTMLContext, UnrecognizedActionError, __basePath, _registerStateAccessors, activateNavigationSnapshot, appRouterInstance, clearPendingPathname, clearServerInsertedHTML, commitClientNavigationState, consumePrefetchResponse, consumePrefetchResponseForNavigation, createCachedRscResponseSnapshot, createClientNavigationRenderSnapshot, decodeRedirectError, flushServerInsertedHTML, forbidden, getAccessFallbackHTTPStatus, getBfcacheIdMapContext, getBfcacheSegmentIdContext, getClientNavigationRenderContext, getClientNavigationState, getClientParams, getCurrentInterceptionContext, getCurrentNextUrl, getLayoutSegmentContext, getMountedSlotsHeader, getNavigationContext, getPrefetchCache, getPrefetchInterceptionContext, getPrefetchedUrls, hasPrefetchCacheEntryForNavigation, invalidatePrefetchCache, isBailoutToCSRError, isDynamicServerError, isHTTPAccessFallbackError, isNextRouterError, isRedirectError, navigateClientSide, notFound, permanentRedirect, prefetchRscResponse, pushHistoryStateWithoutNotify, redirect, renderServerInsertedHTML, replaceClientParamsWithoutNotify, replaceHistoryStateWithoutNotify, resolveCachedRscResponseExpiresAt, resolveCachedRscResponseTtlMs, resolvePrefetchCacheEntryMountedSlotsHeader, restoreRscResponse, saveScrollPosition, setClientParams, setMountedSlotsHeader, setNavigationContext, setPendingPathname, snapshotRscResponse, storePrefetchResponse, unauthorized, unstable_isUnrecognizedActionError, unstable_rethrow, useParams, usePathname, useRouter, useSearchParams, useSelectedLayoutSegment, useSelectedLayoutSegments, useServerInsertedHTML };
@@ -11,5 +11,4 @@ declare function useSelectedLayoutSegments(): never;
11
11
  declare function useServerInsertedHTML(): never;
12
12
  declare function unstable_isUnrecognizedActionError(): boolean;
13
13
  //#endregion
14
- export { BailoutToCSRError, DynamicServerError, GLOBAL_ACCESSORS_KEY, HTTP_ERROR_FALLBACK_ERROR_CODE, type NavigationContext, ReadonlyURLSearchParams, RedirectType, type SegmentMap, ServerInsertedHTMLContext, _registerStateAccessors, clearServerInsertedHTML, flushServerInsertedHTML, forbidden, getAccessFallbackHTTPStatus, getLayoutSegmentContext, getNavigationContext, isBailoutToCSRError, isDynamicServerError, isHTTPAccessFallbackError, isNextRouterError, isRedirectError, notFound, permanentRedirect, redirect, renderServerInsertedHTML, setNavigationContext, unauthorized, unstable_isUnrecognizedActionError, unstable_rethrow, useParams, usePathname, useRouter, useSearchParams, useSelectedLayoutSegment, useSelectedLayoutSegments, useServerInsertedHTML };
15
- //# sourceMappingURL=navigation.react-server.d.ts.map
14
+ export { BailoutToCSRError, DynamicServerError, GLOBAL_ACCESSORS_KEY, HTTP_ERROR_FALLBACK_ERROR_CODE, type NavigationContext, ReadonlyURLSearchParams, RedirectType, type SegmentMap, ServerInsertedHTMLContext, _registerStateAccessors, clearServerInsertedHTML, flushServerInsertedHTML, forbidden, getAccessFallbackHTTPStatus, getLayoutSegmentContext, getNavigationContext, isBailoutToCSRError, isDynamicServerError, isHTTPAccessFallbackError, isNextRouterError, isRedirectError, notFound, permanentRedirect, redirect, renderServerInsertedHTML, setNavigationContext, unauthorized, unstable_isUnrecognizedActionError, unstable_rethrow, useParams, usePathname, useRouter, useSearchParams, useSelectedLayoutSegment, useSelectedLayoutSegments, useServerInsertedHTML };
@@ -28,5 +28,3 @@ function unstable_isUnrecognizedActionError() {
28
28
  }
29
29
  //#endregion
30
30
  export { BailoutToCSRError, DynamicServerError, GLOBAL_ACCESSORS_KEY, HTTP_ERROR_FALLBACK_ERROR_CODE, ReadonlyURLSearchParams, RedirectType, ServerInsertedHTMLContext, _registerStateAccessors, clearServerInsertedHTML, flushServerInsertedHTML, forbidden, getAccessFallbackHTTPStatus, getLayoutSegmentContext, getNavigationContext, isBailoutToCSRError, isDynamicServerError, isHTTPAccessFallbackError, isNextRouterError, isRedirectError, notFound, permanentRedirect, redirect, renderServerInsertedHTML, setNavigationContext, unauthorized, unstable_isUnrecognizedActionError, unstable_rethrow, useParams, usePathname, useRouter, useSearchParams, useSelectedLayoutSegment, useSelectedLayoutSegments, useServerInsertedHTML };
31
-
32
- //# sourceMappingURL=navigation.react-server.js.map
@@ -1,5 +1,4 @@
1
1
  //#region src/shims/offline.d.ts
2
2
  declare function useOffline(): boolean;
3
3
  //#endregion
4
- export { useOffline };
5
- //# sourceMappingURL=offline.d.ts.map
4
+ export { useOffline };
@@ -13,5 +13,3 @@ function useOffline() {
13
13
  }
14
14
  //#endregion
15
15
  export { useOffline };
16
-
17
- //# sourceMappingURL=offline.js.map
@@ -14,5 +14,4 @@ declare class ImageResponse extends Response {
14
14
  constructor(element: ReactElement, options?: ImageResponseOptions$1);
15
15
  }
16
16
  //#endregion
17
- export { ImageResponse, type ImageResponseOptions };
18
- //# sourceMappingURL=og.d.ts.map
17
+ export { ImageResponse, type ImageResponseOptions };
package/dist/shims/og.js CHANGED
@@ -1,4 +1,3 @@
1
- import { ImageResponse as ImageResponse$1 } from "@vercel/og";
2
1
  //#region src/shims/og.tsx
3
2
  const CACHE_HEADERS = {
4
3
  noCache: "no-cache, no-store",
@@ -15,7 +14,8 @@ var ImageResponse = class extends Response {
15
14
  static displayName = "ImageResponse";
16
15
  constructor(element, options) {
17
16
  const readable = new ReadableStream({ async start(controller) {
18
- const imageResponse = new ImageResponse$1(element, options);
17
+ const { ImageResponse: VercelImageResponse } = await import("@vercel/og");
18
+ const imageResponse = new VercelImageResponse(element, options);
19
19
  if (!imageResponse.body) {
20
20
  controller.close();
21
21
  return;
@@ -46,5 +46,3 @@ var ImageResponse = class extends Response {
46
46
  };
47
47
  //#endregion
48
48
  export { ImageResponse };
49
-
50
- //# sourceMappingURL=og.js.map
@@ -1,7 +1,12 @@
1
1
  //#region src/shims/pages-router-runtime.d.ts
2
2
  type PagesRouterPopStateHandler = (event: PopStateEvent) => void;
3
3
  declare function setPagesRouterPopStateHandler(handler: PagesRouterPopStateHandler): void;
4
+ /**
5
+ * Register the function that stamps Next.js-shaped state onto the initial
6
+ * document entry (called once at install time). Router.ts registers this so
7
+ * the runtime module stays free of router internals.
8
+ */
9
+ declare function setStampInitialHistoryState(fn: () => void): void;
4
10
  declare function installPagesRouterRuntime(): void;
5
11
  //#endregion
6
- export { installPagesRouterRuntime, setPagesRouterPopStateHandler };
7
- //# sourceMappingURL=pages-router-runtime.d.ts.map
12
+ export { installPagesRouterRuntime, setPagesRouterPopStateHandler, setStampInitialHistoryState };