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,8 @@
1
1
  import { isInterceptionMatchedUrlPath } from "./normalize-path.js";
2
+ import { compareStrings } from "../utils/compare.js";
3
+ import { isUnknownRecord } from "../utils/record.js";
2
4
  import { createArtifactCompatibilityEnvelope, parseArtifactCompatibilityEnvelope } from "./artifact-compatibility.js";
5
+ import { releaseAppElementRenderDependency } from "./app-render-dependency.js";
3
6
  import { isValidElement } from "react";
4
7
  //#region src/server/app-elements-wire.ts
5
8
  const APP_INTERCEPTION_SEPARATOR = "\0";
@@ -12,6 +15,7 @@ const APP_LAYOUT_FLAGS_KEY = "__layoutFlags";
12
15
  const APP_RENDER_OBSERVATION_KEY = "__renderObservation";
13
16
  const APP_ROUTE_KEY = "__route";
14
17
  const APP_ROOT_LAYOUT_KEY = "__rootLayout";
18
+ const APP_SKIPPED_LAYOUT_IDS_KEY = "__skippedLayoutIds";
15
19
  const APP_SLOT_BINDINGS_KEY = "__slotBindings";
16
20
  /**
17
21
  * Static sibling segment names for the matched route, surfaced so the client
@@ -24,6 +28,7 @@ const APP_SLOT_BINDINGS_KEY = "__slotBindings";
24
28
  const APP_STATIC_SIBLINGS_KEY = "__staticSiblings";
25
29
  const APP_UNMATCHED_SLOT_WIRE_VALUE = "__VINEXT_UNMATCHED_SLOT__";
26
30
  const UNMATCHED_SLOT = Symbol.for("vinext.unmatchedSlot");
31
+ const EMPTY_SKIPPED_LAYOUT_IDS = /* @__PURE__ */ new Set();
27
32
  function createCacheProofRejectionCodeSet(codes) {
28
33
  return new Set(codes);
29
34
  }
@@ -58,11 +63,7 @@ const CACHE_PROOF_REJECTION_CODES = createCacheProofRejectionCodeSet([
58
63
  "CP_STATIC_LAYOUT_ROOT_BOUNDARY_UNKNOWN",
59
64
  "CP_STATIC_LAYOUT_VARIANT_DIMENSION_UNPROVEN"
60
65
  ]);
61
- function compareAppElementsSlotIds(left, right) {
62
- if (left < right) return -1;
63
- if (left > right) return 1;
64
- return 0;
65
- }
66
+ const compareAppElementsSlotIds = compareStrings;
66
67
  function compareAppElementsSlotBindingsBySlotId(left, right) {
67
68
  return compareAppElementsSlotIds(left.slotId, right.slotId);
68
69
  }
@@ -202,24 +203,27 @@ function isLayoutFlagsRecord(value) {
202
203
  for (const v of Object.values(value)) if (v !== "s" && v !== "d") return false;
203
204
  return true;
204
205
  }
205
- function isRecord(value) {
206
- return typeof value === "object" && value !== null && !Array.isArray(value);
207
- }
208
206
  function parseLayoutFlags(value) {
209
207
  if (isLayoutFlagsRecord(value)) return value;
210
208
  return {};
211
209
  }
212
- function parseLayoutIds(value) {
210
+ function parseLayoutIdList(value, fieldName) {
213
211
  if (value === void 0) return [];
214
- if (!Array.isArray(value)) throw new Error("[vinext] Invalid __layoutIds in App Router payload: expected layout id string[]");
212
+ if (!Array.isArray(value)) throw new Error(`[vinext] Invalid ${fieldName} in App Router payload: expected layout id string[]`);
215
213
  const layoutIds = [];
216
214
  for (const entry of value) {
217
- if (typeof entry !== "string") throw new Error("[vinext] Invalid __layoutIds in App Router payload: expected layout id string[]");
218
- if (parseAppElementsWireElementKey(entry)?.kind !== "layout") throw new Error("[vinext] Invalid __layoutIds in App Router payload: expected layout ids");
215
+ if (typeof entry !== "string") throw new Error(`[vinext] Invalid ${fieldName} in App Router payload: expected layout id string[]`);
216
+ if (parseAppElementsWireElementKey(entry)?.kind !== "layout") throw new Error(`[vinext] Invalid ${fieldName} in App Router payload: expected layout ids`);
219
217
  layoutIds.push(entry);
220
218
  }
221
219
  return layoutIds;
222
220
  }
221
+ function parseLayoutIds(value) {
222
+ return parseLayoutIdList(value, APP_LAYOUT_IDS_KEY);
223
+ }
224
+ function parseSkippedLayoutIds(value) {
225
+ return parseLayoutIdList(value, APP_SKIPPED_LAYOUT_IDS_KEY);
226
+ }
223
227
  function isSlotBindingState(value) {
224
228
  return value === "active" || value === "default" || value === "unmatched";
225
229
  }
@@ -228,14 +232,17 @@ function parseSlotBindings(value, options = {}) {
228
232
  if (!Array.isArray(value)) throw new Error("[vinext] Invalid __slotBindings in App Router payload: expected array");
229
233
  const slotBindings = [];
230
234
  for (const entry of value) {
231
- if (!isRecord(entry)) throw new Error("[vinext] Invalid __slotBindings in App Router payload: expected objects");
235
+ if (!isUnknownRecord(entry)) throw new Error("[vinext] Invalid __slotBindings in App Router payload: expected objects");
232
236
  const slotId = entry.slotId;
233
237
  if (typeof slotId !== "string" || parseAppElementsWireElementKey(slotId)?.kind !== "slot") throw new Error("[vinext] Invalid __slotBindings in App Router payload: expected slot ids");
234
238
  const ownerLayoutId = entry.ownerLayoutId;
235
239
  if (ownerLayoutId !== null && (typeof ownerLayoutId !== "string" || parseAppElementsWireElementKey(ownerLayoutId)?.kind !== "layout")) throw new Error("[vinext] Invalid __slotBindings in App Router payload: expected owner layout ids");
236
240
  const state = entry.state;
237
241
  if (!isSlotBindingState(state)) throw new Error("[vinext] Invalid __slotBindings in App Router payload: expected state");
242
+ const activeRouteId = entry.activeRouteId;
243
+ if (activeRouteId !== void 0 && activeRouteId !== null && (typeof activeRouteId !== "string" || parseAppElementsWireElementKey(activeRouteId)?.kind !== "route")) throw new Error("[vinext] Invalid __slotBindings in App Router payload: expected route ids");
238
244
  slotBindings.push({
245
+ ...activeRouteId !== void 0 ? { activeRouteId } : {},
239
246
  ownerLayoutId,
240
247
  slotId,
241
248
  state
@@ -263,7 +270,7 @@ function parseInterceptionSlotId(value) {
263
270
  }
264
271
  function parseInterceptionMetadata(value) {
265
272
  if (value === void 0 || value === null) return null;
266
- if (!isRecord(value)) throw new Error("[vinext] Invalid __interception in App Router payload: expected object");
273
+ if (!isUnknownRecord(value)) throw new Error("[vinext] Invalid __interception in App Router payload: expected object");
267
274
  const sourceMatchedUrl = parseInterceptionMatchedUrl(readRequiredInterceptionString(value, "sourceMatchedUrl"));
268
275
  const targetMatchedUrl = parseInterceptionMatchedUrl(readRequiredInterceptionString(value, "targetMatchedUrl"));
269
276
  return {
@@ -297,15 +304,28 @@ function withLayoutFlags(elements, layoutFlags) {
297
304
  }
298
305
  function buildOutgoingAppPayload(input) {
299
306
  if (!isAppElementsRecord(input.element)) return input.element;
300
- const payload = {
301
- ...input.element,
302
- [APP_LAYOUT_FLAGS_KEY]: input.layoutFlags,
303
- [APP_ARTIFACT_COMPATIBILITY_KEY]: input.artifactCompatibility ?? createArtifactCompatibilityEnvelope()
304
- };
307
+ const skippedLayoutIds = createSkippedLayoutIds(input.skipDisposition);
308
+ const payload = {};
309
+ for (const [key, value] of Object.entries(input.element)) {
310
+ if (skippedLayoutIds.has(key)) {
311
+ releaseAppElementRenderDependency(input.element, key);
312
+ continue;
313
+ }
314
+ payload[key] = value === UNMATCHED_SLOT ? APP_UNMATCHED_SLOT_WIRE_VALUE : value;
315
+ }
316
+ payload[APP_LAYOUT_FLAGS_KEY] = input.layoutFlags;
317
+ if (skippedLayoutIds.size > 0) payload[APP_SKIPPED_LAYOUT_IDS_KEY] = [...skippedLayoutIds];
318
+ payload[APP_ARTIFACT_COMPATIBILITY_KEY] = input.artifactCompatibility ?? createArtifactCompatibilityEnvelope();
305
319
  if (input.cacheEntryReuseProof) payload[APP_CACHE_ENTRY_REUSE_PROOF_KEY] = input.cacheEntryReuseProof;
306
320
  if (input.renderObservation) payload[APP_RENDER_OBSERVATION_KEY] = input.renderObservation;
307
321
  return payload;
308
322
  }
323
+ function createSkippedLayoutIds(skipDisposition) {
324
+ if (skipDisposition?.enabled !== true) return EMPTY_SKIPPED_LAYOUT_IDS;
325
+ const skippedLayoutIds = /* @__PURE__ */ new Set();
326
+ for (const id of skipDisposition.skippedEntryIds) if (parseAppElementsWireElementKey(id)?.kind === "layout") skippedLayoutIds.add(id);
327
+ return skippedLayoutIds;
328
+ }
309
329
  function readArtifactCompatibilityMetadata(value) {
310
330
  if (value === void 0) return createArtifactCompatibilityEnvelope();
311
331
  return parseArtifactCompatibilityEnvelope(value) ?? createArtifactCompatibilityEnvelope();
@@ -327,10 +347,10 @@ function isCacheProofFallbackScope(value) {
327
347
  }
328
348
  function parseCacheEntryReuseProofMetadata(value) {
329
349
  if (value === void 0) return null;
330
- if (!isRecord(value) || value.kind !== "runtime-cache-entry") return createMissingCacheEntryReuseProof();
350
+ if (!isUnknownRecord(value) || value.kind !== "runtime-cache-entry") return createMissingCacheEntryReuseProof();
331
351
  const decision = value.decision;
332
352
  if (decision === null) return createMissingCacheEntryReuseProof();
333
- if (!isRecord(decision)) return createMissingCacheEntryReuseProof();
353
+ if (!isUnknownRecord(decision)) return createMissingCacheEntryReuseProof();
334
354
  if (decision.kind === "reuse" && decision.canReuse === true && decision.code === "CP_STATIC_LAYOUT_REUSE_PROVEN" && decision.reuseClass === "static-layout") return {
335
355
  kind: "runtime-cache-entry",
336
356
  decision: {
@@ -362,6 +382,7 @@ function readAppElementsMetadata(elements) {
362
382
  if (rootLayoutTreePath !== null && typeof rootLayoutTreePath !== "string") throw new Error("[vinext] Invalid __rootLayout in App Router payload: expected string or null");
363
383
  const layoutFlags = parseLayoutFlags(elements[APP_LAYOUT_FLAGS_KEY]);
364
384
  const layoutIds = parseLayoutIds(elements[APP_LAYOUT_IDS_KEY]);
385
+ const skippedLayoutIds = parseSkippedLayoutIds(elements[APP_SKIPPED_LAYOUT_IDS_KEY]);
365
386
  const slotBindings = parseSlotBindings(elements[APP_SLOT_BINDINGS_KEY], { layoutIds });
366
387
  const interception = parseInterceptionMetadata(elements[APP_INTERCEPTION_KEY]);
367
388
  const artifactCompatibility = readArtifactCompatibilityMetadata(elements[APP_ARTIFACT_COMPATIBILITY_KEY]);
@@ -375,6 +396,7 @@ function readAppElementsMetadata(elements) {
375
396
  layoutFlags,
376
397
  routeId,
377
398
  rootLayoutTreePath,
399
+ skippedLayoutIds,
378
400
  slotBindings
379
401
  };
380
402
  }
@@ -389,6 +411,7 @@ const AppElementsWire = {
389
411
  renderObservation: APP_RENDER_OBSERVATION_KEY,
390
412
  rootLayout: APP_ROOT_LAYOUT_KEY,
391
413
  route: APP_ROUTE_KEY,
414
+ skippedLayoutIds: APP_SKIPPED_LAYOUT_IDS_KEY,
392
415
  slotBindings: APP_SLOT_BINDINGS_KEY
393
416
  },
394
417
  unmatchedSlotValue: APP_UNMATCHED_SLOT_WIRE_VALUE,
@@ -407,6 +430,4 @@ const AppElementsWire = {
407
430
  withLayoutFlags
408
431
  };
409
432
  //#endregion
410
- export { APP_ARTIFACT_COMPATIBILITY_KEY, APP_CACHE_ENTRY_REUSE_PROOF_KEY, APP_INTERCEPTION_CONTEXT_KEY, APP_INTERCEPTION_KEY, APP_LAYOUT_FLAGS_KEY, APP_LAYOUT_IDS_KEY, APP_RENDER_OBSERVATION_KEY, APP_ROOT_LAYOUT_KEY, APP_ROUTE_KEY, APP_SLOT_BINDINGS_KEY, APP_STATIC_SIBLINGS_KEY, APP_UNMATCHED_SLOT_WIRE_VALUE, AppElementsWire, UNMATCHED_SLOT, buildOutgoingAppPayload, compareAppElementsSlotIds, isAppElementsRecord, normalizeAppElements, normalizeAppElementsSlotBindings, readAppElementsMetadata, withLayoutFlags };
411
-
412
- //# sourceMappingURL=app-elements-wire.js.map
433
+ export { APP_ARTIFACT_COMPATIBILITY_KEY, APP_CACHE_ENTRY_REUSE_PROOF_KEY, APP_INTERCEPTION_CONTEXT_KEY, APP_INTERCEPTION_KEY, APP_LAYOUT_FLAGS_KEY, APP_LAYOUT_IDS_KEY, APP_RENDER_OBSERVATION_KEY, APP_ROOT_LAYOUT_KEY, APP_ROUTE_KEY, APP_SKIPPED_LAYOUT_IDS_KEY, APP_SLOT_BINDINGS_KEY, APP_STATIC_SIBLINGS_KEY, APP_UNMATCHED_SLOT_WIRE_VALUE, AppElementsWire, UNMATCHED_SLOT, buildOutgoingAppPayload, compareAppElementsSlotIds, isAppElementsRecord, normalizeAppElements, normalizeAppElementsSlotBindings, readAppElementsMetadata, withLayoutFlags };
@@ -1,4 +1,4 @@
1
- import { APP_ARTIFACT_COMPATIBILITY_KEY, APP_CACHE_ENTRY_REUSE_PROOF_KEY, APP_INTERCEPTION_CONTEXT_KEY, APP_INTERCEPTION_KEY, APP_LAYOUT_FLAGS_KEY, APP_LAYOUT_IDS_KEY, APP_RENDER_OBSERVATION_KEY, APP_ROOT_LAYOUT_KEY, APP_ROUTE_KEY, APP_SLOT_BINDINGS_KEY, APP_STATIC_SIBLINGS_KEY, APP_UNMATCHED_SLOT_WIRE_VALUE, AppElementValue, AppElements, AppElementsInterception, AppElementsSlotBinding, AppElementsWire, AppOutgoingElements, AppWireElements, LayoutFlags, UNMATCHED_SLOT, buildOutgoingAppPayload, compareAppElementsSlotIds, isAppElementsRecord, normalizeAppElements, normalizeAppElementsSlotBindings, readAppElementsMetadata, withLayoutFlags } from "./app-elements-wire.js";
1
+ import { APP_ARTIFACT_COMPATIBILITY_KEY, APP_CACHE_ENTRY_REUSE_PROOF_KEY, APP_INTERCEPTION_CONTEXT_KEY, APP_INTERCEPTION_KEY, APP_LAYOUT_FLAGS_KEY, APP_LAYOUT_IDS_KEY, APP_RENDER_OBSERVATION_KEY, APP_ROOT_LAYOUT_KEY, APP_ROUTE_KEY, APP_SKIPPED_LAYOUT_IDS_KEY, APP_SLOT_BINDINGS_KEY, APP_STATIC_SIBLINGS_KEY, APP_UNMATCHED_SLOT_WIRE_VALUE, AppElementValue, AppElements, AppElementsInterception, AppElementsSlotBinding, AppElementsWire, AppOutgoingElements, AppWireElements, LayoutFlags, UNMATCHED_SLOT, buildOutgoingAppPayload, compareAppElementsSlotIds, isAppElementsRecord, normalizeAppElements, normalizeAppElementsSlotBindings, readAppElementsMetadata, withLayoutFlags } from "./app-elements-wire.js";
2
2
 
3
3
  //#region src/server/app-elements.d.ts
4
4
  declare const APP_PREFETCH_LOADING_SHELL_MARKER_KEY = "__prefetchLoadingShell";
@@ -6,5 +6,4 @@ declare function getMountedSlotIds(elements: AppElements): string[];
6
6
  declare function getMountedSlotIdsHeader(elements: AppElements): string | null;
7
7
  declare function resolveVisitedResponseInterceptionContext(requestInterceptionContext: string | null, payloadInterceptionContext: string | null): string | null;
8
8
  //#endregion
9
- export { APP_ARTIFACT_COMPATIBILITY_KEY, APP_CACHE_ENTRY_REUSE_PROOF_KEY, APP_INTERCEPTION_CONTEXT_KEY, APP_INTERCEPTION_KEY, APP_LAYOUT_FLAGS_KEY, APP_LAYOUT_IDS_KEY, APP_PREFETCH_LOADING_SHELL_MARKER_KEY, APP_RENDER_OBSERVATION_KEY, APP_ROOT_LAYOUT_KEY, APP_ROUTE_KEY, APP_SLOT_BINDINGS_KEY, APP_STATIC_SIBLINGS_KEY, APP_UNMATCHED_SLOT_WIRE_VALUE, type AppElementValue, type AppElements, type AppElementsInterception, type AppElementsSlotBinding, AppElementsWire, type AppOutgoingElements, type AppWireElements, type LayoutFlags, UNMATCHED_SLOT, buildOutgoingAppPayload, compareAppElementsSlotIds, getMountedSlotIds, getMountedSlotIdsHeader, isAppElementsRecord, normalizeAppElements, normalizeAppElementsSlotBindings, readAppElementsMetadata, resolveVisitedResponseInterceptionContext, withLayoutFlags };
10
- //# sourceMappingURL=app-elements.d.ts.map
9
+ export { APP_ARTIFACT_COMPATIBILITY_KEY, APP_CACHE_ENTRY_REUSE_PROOF_KEY, APP_INTERCEPTION_CONTEXT_KEY, APP_INTERCEPTION_KEY, APP_LAYOUT_FLAGS_KEY, APP_LAYOUT_IDS_KEY, APP_PREFETCH_LOADING_SHELL_MARKER_KEY, APP_RENDER_OBSERVATION_KEY, APP_ROOT_LAYOUT_KEY, APP_ROUTE_KEY, APP_SKIPPED_LAYOUT_IDS_KEY, APP_SLOT_BINDINGS_KEY, APP_STATIC_SIBLINGS_KEY, APP_UNMATCHED_SLOT_WIRE_VALUE, type AppElementValue, type AppElements, type AppElementsInterception, type AppElementsSlotBinding, AppElementsWire, type AppOutgoingElements, type AppWireElements, type LayoutFlags, UNMATCHED_SLOT, buildOutgoingAppPayload, compareAppElementsSlotIds, getMountedSlotIds, getMountedSlotIdsHeader, isAppElementsRecord, normalizeAppElements, normalizeAppElementsSlotBindings, readAppElementsMetadata, resolveVisitedResponseInterceptionContext, withLayoutFlags };
@@ -1,4 +1,4 @@
1
- import { APP_ARTIFACT_COMPATIBILITY_KEY, APP_CACHE_ENTRY_REUSE_PROOF_KEY, APP_INTERCEPTION_CONTEXT_KEY, APP_INTERCEPTION_KEY, APP_LAYOUT_FLAGS_KEY, APP_LAYOUT_IDS_KEY, APP_RENDER_OBSERVATION_KEY, APP_ROOT_LAYOUT_KEY, APP_ROUTE_KEY, APP_SLOT_BINDINGS_KEY, APP_STATIC_SIBLINGS_KEY, APP_UNMATCHED_SLOT_WIRE_VALUE, AppElementsWire, UNMATCHED_SLOT, buildOutgoingAppPayload, compareAppElementsSlotIds, isAppElementsRecord, normalizeAppElements, normalizeAppElementsSlotBindings, readAppElementsMetadata, withLayoutFlags } from "./app-elements-wire.js";
1
+ import { APP_ARTIFACT_COMPATIBILITY_KEY, APP_CACHE_ENTRY_REUSE_PROOF_KEY, APP_INTERCEPTION_CONTEXT_KEY, APP_INTERCEPTION_KEY, APP_LAYOUT_FLAGS_KEY, APP_LAYOUT_IDS_KEY, APP_RENDER_OBSERVATION_KEY, APP_ROOT_LAYOUT_KEY, APP_ROUTE_KEY, APP_SKIPPED_LAYOUT_IDS_KEY, APP_SLOT_BINDINGS_KEY, APP_STATIC_SIBLINGS_KEY, APP_UNMATCHED_SLOT_WIRE_VALUE, AppElementsWire, UNMATCHED_SLOT, buildOutgoingAppPayload, compareAppElementsSlotIds, isAppElementsRecord, normalizeAppElements, normalizeAppElementsSlotBindings, readAppElementsMetadata, withLayoutFlags } from "./app-elements-wire.js";
2
2
  import { normalizeMountedSlotsHeader } from "./app-mounted-slots-header.js";
3
3
  //#region src/server/app-elements.ts
4
4
  const APP_PREFETCH_LOADING_SHELL_MARKER_KEY = "__prefetchLoadingShell";
@@ -15,6 +15,4 @@ function resolveVisitedResponseInterceptionContext(requestInterceptionContext, p
15
15
  return payloadInterceptionContext ?? requestInterceptionContext;
16
16
  }
17
17
  //#endregion
18
- export { APP_ARTIFACT_COMPATIBILITY_KEY, APP_CACHE_ENTRY_REUSE_PROOF_KEY, APP_INTERCEPTION_CONTEXT_KEY, APP_INTERCEPTION_KEY, APP_LAYOUT_FLAGS_KEY, APP_LAYOUT_IDS_KEY, APP_PREFETCH_LOADING_SHELL_MARKER_KEY, APP_RENDER_OBSERVATION_KEY, APP_ROOT_LAYOUT_KEY, APP_ROUTE_KEY, APP_SLOT_BINDINGS_KEY, APP_STATIC_SIBLINGS_KEY, APP_UNMATCHED_SLOT_WIRE_VALUE, AppElementsWire, UNMATCHED_SLOT, buildOutgoingAppPayload, compareAppElementsSlotIds, getMountedSlotIds, getMountedSlotIdsHeader, isAppElementsRecord, normalizeAppElements, normalizeAppElementsSlotBindings, readAppElementsMetadata, resolveVisitedResponseInterceptionContext, withLayoutFlags };
19
-
20
- //# sourceMappingURL=app-elements.js.map
18
+ export { APP_ARTIFACT_COMPATIBILITY_KEY, APP_CACHE_ENTRY_REUSE_PROOF_KEY, APP_INTERCEPTION_CONTEXT_KEY, APP_INTERCEPTION_KEY, APP_LAYOUT_FLAGS_KEY, APP_LAYOUT_IDS_KEY, APP_PREFETCH_LOADING_SHELL_MARKER_KEY, APP_RENDER_OBSERVATION_KEY, APP_ROOT_LAYOUT_KEY, APP_ROUTE_KEY, APP_SKIPPED_LAYOUT_IDS_KEY, APP_SLOT_BINDINGS_KEY, APP_STATIC_SIBLINGS_KEY, APP_UNMATCHED_SLOT_WIRE_VALUE, AppElementsWire, UNMATCHED_SLOT, buildOutgoingAppPayload, compareAppElementsSlotIds, getMountedSlotIds, getMountedSlotIdsHeader, isAppElementsRecord, normalizeAppElements, normalizeAppElementsSlotBindings, readAppElementsMetadata, resolveVisitedResponseInterceptionContext, withLayoutFlags };
@@ -1,15 +1,15 @@
1
1
  import { MetadataFileRoute } from "./metadata-routes.js";
2
2
  import { AppElements } from "./app-elements-wire.js";
3
+ import { NavigationContext } from "../shims/navigation.js";
3
4
  import { AppPageParams } from "./app-page-boundary.js";
4
5
  import { AppPageFontPreload } from "./app-page-execution.js";
5
6
  import { AppPageMiddlewareContext } from "./app-page-response.js";
6
7
  import { AppPageSsrHandler } from "./app-page-stream.js";
7
8
  import { AppPageBoundaryRoute } from "./app-page-boundary-render.js";
8
- import * as _$react from "react";
9
9
  import { ReactNode } from "react";
10
10
 
11
11
  //#region src/server/app-fallback-renderer.d.ts
12
- type AppPageComponent = _$react.ComponentType<any>;
12
+ type AppPageComponent = import("react").ComponentType<any>;
13
13
  type AppPageModule = Record<string, unknown> & {
14
14
  default?: AppPageComponent | null | undefined;
15
15
  };
@@ -30,7 +30,7 @@ type AppFallbackRendererOptions<TModule extends AppPageModule = AppPageModule> =
30
30
  clearRequestContext: () => void;
31
31
  createRscOnErrorHandler: (request: Request, pathname: string, routePath: string) => AppPageBoundaryOnError;
32
32
  fontProviders: AppFallbackRendererFontProviders;
33
- getNavigationContext: () => unknown;
33
+ getNavigationContext: () => NavigationContext | null;
34
34
  globalErrorModule?: TModule | null;
35
35
  /**
36
36
  * Loader for the user's `app/global-not-found.tsx` module. When provided,
@@ -74,6 +74,7 @@ type AppFallbackRenderer<TModule extends AppPageModule = AppPageModule> = {
74
74
  renderErrorBoundary: (route: AppPageBoundaryRoute<TModule> | null, error: unknown, isRscRequest: boolean, request: Request, matchedParams: AppPageParams | undefined, scriptNonce: string | undefined, middlewareContext: AppPageMiddlewareContext, callContext?: AppFallbackRendererCallContext) => Promise<Response | null>;
75
75
  renderHttpAccessFallback: (route: AppPageBoundaryRoute<TModule> | null, statusCode: number, isRscRequest: boolean, request: Request, opts: {
76
76
  boundaryComponent?: AppPageComponent | null;
77
+ boundaryModule?: TModule | null;
77
78
  layouts?: readonly (TModule | null | undefined)[] | null;
78
79
  matchedParams?: AppPageParams;
79
80
  }, scriptNonce: string | undefined, middlewareContext: AppPageMiddlewareContext, callContext?: AppFallbackRendererCallContext) => Promise<Response | null>;
@@ -81,5 +82,4 @@ type AppFallbackRenderer<TModule extends AppPageModule = AppPageModule> = {
81
82
  };
82
83
  declare function createAppFallbackRenderer<TModule extends AppPageModule>(options: AppFallbackRendererOptions<TModule>): AppFallbackRenderer<TModule>;
83
84
  //#endregion
84
- export { createAppFallbackRenderer };
85
- //# sourceMappingURL=app-fallback-renderer.d.ts.map
85
+ export { createAppFallbackRenderer };
@@ -20,9 +20,11 @@ function createAppFallbackRenderer(options) {
20
20
  return {
21
21
  async renderHttpAccessFallback(route, statusCode, isRscRequest, request, opts, scriptNonce, middlewareContext, callContext) {
22
22
  if (statusCode === 404 && !!loadGlobalNotFoundModule && !route && !opts?.boundaryComponent) {
23
- const globalNotFoundComponent = (await resolveGlobalNotFoundModule())?.default ?? null;
23
+ const globalNotFoundModule = await resolveGlobalNotFoundModule();
24
+ const globalNotFoundComponent = globalNotFoundModule?.default ?? null;
24
25
  if (globalNotFoundComponent) return renderAppPageHttpAccessFallback({
25
26
  boundaryComponent: globalNotFoundComponent,
27
+ boundaryModule: globalNotFoundModule ?? null,
26
28
  buildFontLinkHeader: fontProviders.buildFontLinkHeader,
27
29
  clearRequestContext,
28
30
  createRscOnErrorHandler(pathname, routePath) {
@@ -57,6 +59,7 @@ function createAppFallbackRenderer(options) {
57
59
  return renderAppPageHttpAccessFallback({
58
60
  basePath,
59
61
  boundaryComponent: opts?.boundaryComponent ?? null,
62
+ boundaryModule: opts?.boundaryModule ?? null,
60
63
  buildFontLinkHeader: fontProviders.buildFontLinkHeader,
61
64
  clearRequestContext,
62
65
  createRscOnErrorHandler(pathname, routePath) {
@@ -124,5 +127,3 @@ function createAppFallbackRenderer(options) {
124
127
  }
125
128
  //#endregion
126
129
  export { createAppFallbackRenderer };
127
-
128
- //# sourceMappingURL=app-fallback-renderer.js.map
@@ -4,23 +4,83 @@ import { TraverseDirection } from "./navigation-planner.js";
4
4
  type HistoryStateRecord = {
5
5
  [key: string]: unknown;
6
6
  };
7
+ type BfcacheIdMap = Readonly<Record<string, string>>;
7
8
  type HistoryTraversalIntent = {
8
9
  direction: TraverseDirection;
9
10
  historyState: unknown;
10
11
  targetHistoryIndex: number | null;
11
12
  };
13
+ type HistoryStateSnapshotRestoreDecision<TState> = {
14
+ kind: "restore";
15
+ state: TState;
16
+ targetHistoryIndex: number;
17
+ } | {
18
+ kind: "skip";
19
+ reason: "guarded" | "missing-history-index" | "missing-snapshot" | "stale-bfcache-version";
20
+ targetHistoryIndex: number | null;
21
+ };
22
+ declare class HistoryStateSnapshotCache<TState> {
23
+ #private;
24
+ constructor(options: {
25
+ maxEntries: number;
26
+ });
27
+ clear(): void;
28
+ remember(options: {
29
+ bfcacheVersion: number;
30
+ historyIndex: number | null;
31
+ state: TState;
32
+ }): void;
33
+ resolveRestore(options: {
34
+ currentBfcacheVersion: number;
35
+ guarded: boolean;
36
+ historyState: unknown;
37
+ }): HistoryStateSnapshotRestoreDecision<TState>;
38
+ }
39
+ declare class RestorableClientStateController<TState> {
40
+ #private;
41
+ constructor(options: {
42
+ initialHistoryState: unknown;
43
+ maxHistoryStateSnapshots: number;
44
+ });
45
+ get currentBfcacheVersion(): number;
46
+ beginCacheInvalidationGuard(): () => void;
47
+ isCacheInvalidationGuarded(): boolean;
48
+ isCurrentBfcacheVersion(historyState: unknown): boolean;
49
+ readCurrentBfcacheVersionHistoryIds(historyState: unknown): BfcacheIdMap | null;
50
+ invalidateClientState(): void;
51
+ rememberHistoryStateSnapshot(options: {
52
+ historyIndex: number | null;
53
+ state: TState;
54
+ }): void;
55
+ resolveHistoryStateSnapshotRestore(historyState: unknown): HistoryStateSnapshotRestoreDecision<TState>;
56
+ }
12
57
  declare function createHistoryStateWithPreviousNextUrl(state: unknown, previousNextUrl: string | null): HistoryStateRecord | null;
13
58
  declare function createHistoryStateWithNavigationMetadata(state: unknown, metadata: {
59
+ bfcacheIds?: BfcacheIdMap | null;
60
+ bfcacheVersion?: number | null;
14
61
  previousNextUrl: string | null;
15
62
  traversalIndex?: number | null;
16
63
  }): HistoryStateRecord | null;
17
64
  declare function createExternalHistoryStatePreservingMetadata(callerState: unknown, currentHistoryState: unknown): unknown;
18
65
  declare function readHistoryStatePreviousNextUrl(state: unknown): string | null;
66
+ declare function isBfcacheSegmentId(id: string): boolean;
67
+ declare function readHistoryStateBfcacheIds(state: unknown): BfcacheIdMap | null;
68
+ declare function readHistoryStateBfcacheVersion(state: unknown): number | null;
69
+ /**
70
+ * Whether a history entry's stored bfcache version matches the document's
71
+ * current version. A missing/invalid stored version (null) is NEVER current:
72
+ * coercing it to 0 would let un-versioned entries (older builds / external
73
+ * pushState) pass the gate on a fresh document whose current version is 0,
74
+ * defeating the document-scoped stale-id rejection. App-written entries always
75
+ * carry an explicit version, so the legitimate first-document path (0 === 0)
76
+ * still matches.
77
+ */
78
+ declare function isHistoryStateBfcacheVersionCurrent(state: unknown, currentVersion: number): boolean;
79
+ declare function createHashOnlyHistoryStatePreservingNavigationMetadata(state: unknown): unknown;
19
80
  declare function readHistoryStateTraversalIndex(state: unknown): number | null;
20
81
  declare function resolveHistoryTraversalIntent(options: {
21
82
  currentHistoryIndex: number | null;
22
83
  historyState: unknown;
23
84
  }): HistoryTraversalIntent;
24
85
  //#endregion
25
- export { HistoryTraversalIntent, createExternalHistoryStatePreservingMetadata, createHistoryStateWithNavigationMetadata, createHistoryStateWithPreviousNextUrl, readHistoryStatePreviousNextUrl, readHistoryStateTraversalIndex, resolveHistoryTraversalIntent };
26
- //# sourceMappingURL=app-history-state.d.ts.map
86
+ export { BfcacheIdMap, HistoryStateSnapshotCache, HistoryTraversalIntent, RestorableClientStateController, createExternalHistoryStatePreservingMetadata, createHashOnlyHistoryStatePreservingNavigationMetadata, createHistoryStateWithNavigationMetadata, createHistoryStateWithPreviousNextUrl, isBfcacheSegmentId, isHistoryStateBfcacheVersionCurrent, readHistoryStateBfcacheIds, readHistoryStateBfcacheVersion, readHistoryStatePreviousNextUrl, readHistoryStateTraversalIndex, resolveHistoryTraversalIntent };
@@ -1,42 +1,210 @@
1
+ import { AppElementsWire } from "./app-elements-wire.js";
2
+ import "./app-elements.js";
3
+ import { isNonNegativeSafeInteger } from "../utils/number.js";
1
4
  //#region src/server/app-history-state.ts
2
5
  const VINEXT_PREVIOUS_NEXT_URL_HISTORY_STATE_KEY = "__vinext_previousNextUrl";
3
6
  const VINEXT_HISTORY_INDEX_HISTORY_STATE_KEY = "__vinext_historyIndex";
7
+ const VINEXT_BFCACHE_IDS_HISTORY_STATE_KEY = "__vinext_bfcacheIds";
8
+ const VINEXT_BFCACHE_VERSION_HISTORY_STATE_KEY = "__vinext_bfcacheVersion";
9
+ var HistoryStateSnapshotCache = class {
10
+ #maxEntries;
11
+ #snapshots = /* @__PURE__ */ new Map();
12
+ constructor(options) {
13
+ this.#maxEntries = options.maxEntries;
14
+ }
15
+ clear() {
16
+ this.#snapshots.clear();
17
+ }
18
+ remember(options) {
19
+ if (options.historyIndex === null) return;
20
+ this.#snapshots.delete(options.historyIndex);
21
+ this.#snapshots.set(options.historyIndex, {
22
+ bfcacheVersion: options.bfcacheVersion,
23
+ state: options.state
24
+ });
25
+ if (this.#snapshots.size <= this.#maxEntries) return;
26
+ const oldestIndex = this.#snapshots.keys().next().value;
27
+ if (typeof oldestIndex === "number") this.#snapshots.delete(oldestIndex);
28
+ }
29
+ resolveRestore(options) {
30
+ const targetHistoryIndex = readHistoryStateTraversalIndex(options.historyState);
31
+ if (targetHistoryIndex === null) return {
32
+ kind: "skip",
33
+ reason: "missing-history-index",
34
+ targetHistoryIndex
35
+ };
36
+ const snapshot = this.#snapshots.get(targetHistoryIndex);
37
+ if (!snapshot) return {
38
+ kind: "skip",
39
+ reason: "missing-snapshot",
40
+ targetHistoryIndex
41
+ };
42
+ if (options.guarded) return {
43
+ kind: "skip",
44
+ reason: "guarded",
45
+ targetHistoryIndex
46
+ };
47
+ if (snapshot.bfcacheVersion !== options.currentBfcacheVersion) {
48
+ this.#snapshots.delete(targetHistoryIndex);
49
+ return {
50
+ kind: "skip",
51
+ reason: "stale-bfcache-version",
52
+ targetHistoryIndex
53
+ };
54
+ }
55
+ return {
56
+ kind: "restore",
57
+ state: snapshot.state,
58
+ targetHistoryIndex
59
+ };
60
+ }
61
+ };
62
+ var RestorableClientStateController = class {
63
+ #currentBfcacheVersion;
64
+ #pendingCacheInvalidationGuards = 0;
65
+ #snapshots;
66
+ constructor(options) {
67
+ const initialHistoryBfcacheVersion = readHistoryStateBfcacheVersion(options.initialHistoryState);
68
+ this.#currentBfcacheVersion = initialHistoryBfcacheVersion === null ? 0 : initialHistoryBfcacheVersion + 1;
69
+ this.#snapshots = new HistoryStateSnapshotCache({ maxEntries: options.maxHistoryStateSnapshots });
70
+ }
71
+ get currentBfcacheVersion() {
72
+ return this.#currentBfcacheVersion;
73
+ }
74
+ beginCacheInvalidationGuard() {
75
+ this.#pendingCacheInvalidationGuards += 1;
76
+ let released = false;
77
+ return () => {
78
+ if (released) return;
79
+ released = true;
80
+ this.#pendingCacheInvalidationGuards = Math.max(0, this.#pendingCacheInvalidationGuards - 1);
81
+ };
82
+ }
83
+ isCacheInvalidationGuarded() {
84
+ return this.#pendingCacheInvalidationGuards > 0;
85
+ }
86
+ isCurrentBfcacheVersion(historyState) {
87
+ return isHistoryStateBfcacheVersionCurrent(historyState, this.#currentBfcacheVersion);
88
+ }
89
+ readCurrentBfcacheVersionHistoryIds(historyState) {
90
+ if (this.isCacheInvalidationGuarded()) return null;
91
+ const ids = readHistoryStateBfcacheIds(historyState);
92
+ if (ids === null) return null;
93
+ return this.isCurrentBfcacheVersion(historyState) ? ids : null;
94
+ }
95
+ #invalidateBfcacheIds() {
96
+ this.#currentBfcacheVersion += 1;
97
+ }
98
+ invalidateClientState() {
99
+ this.#snapshots.clear();
100
+ this.#invalidateBfcacheIds();
101
+ }
102
+ rememberHistoryStateSnapshot(options) {
103
+ this.#snapshots.remember({
104
+ bfcacheVersion: this.#currentBfcacheVersion,
105
+ historyIndex: options.historyIndex,
106
+ state: options.state
107
+ });
108
+ }
109
+ resolveHistoryStateSnapshotRestore(historyState) {
110
+ return this.#snapshots.resolveRestore({
111
+ currentBfcacheVersion: this.#currentBfcacheVersion,
112
+ guarded: this.isCacheInvalidationGuarded(),
113
+ historyState
114
+ });
115
+ }
116
+ };
4
117
  function cloneHistoryState(state) {
5
118
  if (!state || typeof state !== "object") return {};
6
119
  const nextState = {};
7
120
  for (const [key, value] of Object.entries(state)) nextState[key] = value;
8
121
  return nextState;
9
122
  }
123
+ function readHistoryStateRecord(state) {
124
+ if (!state || typeof state !== "object" || Array.isArray(state)) return null;
125
+ return state;
126
+ }
10
127
  function createHistoryStateWithPreviousNextUrl(state, previousNextUrl) {
11
128
  return createHistoryStateWithNavigationMetadata(state, { previousNextUrl });
12
129
  }
13
130
  function createHistoryStateWithNavigationMetadata(state, metadata) {
14
131
  const nextState = cloneHistoryState(state);
132
+ const bfcacheIdsWereCleared = metadata.bfcacheIds !== void 0 && (metadata.bfcacheIds === null || Object.keys(metadata.bfcacheIds).length === 0);
15
133
  if (metadata.previousNextUrl === null) delete nextState[VINEXT_PREVIOUS_NEXT_URL_HISTORY_STATE_KEY];
16
134
  else nextState[VINEXT_PREVIOUS_NEXT_URL_HISTORY_STATE_KEY] = metadata.previousNextUrl;
17
- if (metadata.traversalIndex !== void 0) if (isValidHistoryTraversalIndex(metadata.traversalIndex)) nextState[VINEXT_HISTORY_INDEX_HISTORY_STATE_KEY] = metadata.traversalIndex;
135
+ if (metadata.traversalIndex !== void 0) if (isNonNegativeSafeInteger(metadata.traversalIndex)) nextState[VINEXT_HISTORY_INDEX_HISTORY_STATE_KEY] = metadata.traversalIndex;
18
136
  else delete nextState[VINEXT_HISTORY_INDEX_HISTORY_STATE_KEY];
137
+ if (metadata.bfcacheIds !== void 0) if (bfcacheIdsWereCleared) {
138
+ delete nextState[VINEXT_BFCACHE_IDS_HISTORY_STATE_KEY];
139
+ delete nextState[VINEXT_BFCACHE_VERSION_HISTORY_STATE_KEY];
140
+ } else nextState[VINEXT_BFCACHE_IDS_HISTORY_STATE_KEY] = { ...metadata.bfcacheIds };
141
+ if (metadata.bfcacheVersion !== void 0) if (bfcacheIdsWereCleared) delete nextState[VINEXT_BFCACHE_VERSION_HISTORY_STATE_KEY];
142
+ else if (isNonNegativeSafeInteger(metadata.bfcacheVersion)) nextState[VINEXT_BFCACHE_VERSION_HISTORY_STATE_KEY] = metadata.bfcacheVersion;
143
+ else delete nextState[VINEXT_BFCACHE_VERSION_HISTORY_STATE_KEY];
19
144
  return Object.keys(nextState).length > 0 ? nextState : null;
20
145
  }
21
146
  function createExternalHistoryStatePreservingMetadata(callerState, currentHistoryState) {
22
147
  const previousNextUrl = readHistoryStatePreviousNextUrl(currentHistoryState);
23
148
  const traversalIndex = readHistoryStateTraversalIndex(currentHistoryState);
24
- if (previousNextUrl === null && traversalIndex === null) return callerState;
149
+ const bfcacheIds = readHistoryStateBfcacheIds(currentHistoryState);
150
+ const bfcacheVersion = readHistoryStateBfcacheVersion(currentHistoryState);
151
+ if (previousNextUrl === null && traversalIndex === null && bfcacheIds === null) return callerState;
25
152
  return createHistoryStateWithNavigationMetadata(callerState, {
153
+ bfcacheIds,
154
+ bfcacheVersion: bfcacheIds === null ? void 0 : bfcacheVersion,
26
155
  previousNextUrl,
27
156
  traversalIndex
28
157
  });
29
158
  }
30
159
  function readHistoryStatePreviousNextUrl(state) {
31
- const value = cloneHistoryState(state)[VINEXT_PREVIOUS_NEXT_URL_HISTORY_STATE_KEY];
160
+ const value = readHistoryStateRecord(state)?.[VINEXT_PREVIOUS_NEXT_URL_HISTORY_STATE_KEY];
32
161
  return typeof value === "string" ? value : null;
33
162
  }
34
- function isValidHistoryTraversalIndex(value) {
35
- return typeof value === "number" && Number.isSafeInteger(value) && value >= 0;
163
+ function isBfcacheSegmentId(id) {
164
+ const parsed = AppElementsWire.parseElementKey(id);
165
+ return parsed?.kind === "layout" || parsed?.kind === "page" || parsed?.kind === "slot" || parsed?.kind === "template";
166
+ }
167
+ function readHistoryStateBfcacheIds(state) {
168
+ const value = readHistoryStateRecord(state)?.[VINEXT_BFCACHE_IDS_HISTORY_STATE_KEY];
169
+ if (!value || typeof value !== "object" || Array.isArray(value)) return null;
170
+ const ids = {};
171
+ for (const [key, id] of Object.entries(value)) {
172
+ if (!isBfcacheSegmentId(key) || typeof id !== "string") return null;
173
+ ids[key] = id;
174
+ }
175
+ return ids;
176
+ }
177
+ function readHistoryStateBfcacheVersion(state) {
178
+ const value = readHistoryStateRecord(state)?.[VINEXT_BFCACHE_VERSION_HISTORY_STATE_KEY];
179
+ return isNonNegativeSafeInteger(value) ? value : null;
180
+ }
181
+ /**
182
+ * Whether a history entry's stored bfcache version matches the document's
183
+ * current version. A missing/invalid stored version (null) is NEVER current:
184
+ * coercing it to 0 would let un-versioned entries (older builds / external
185
+ * pushState) pass the gate on a fresh document whose current version is 0,
186
+ * defeating the document-scoped stale-id rejection. App-written entries always
187
+ * carry an explicit version, so the legitimate first-document path (0 === 0)
188
+ * still matches.
189
+ */
190
+ function isHistoryStateBfcacheVersionCurrent(state, currentVersion) {
191
+ const version = readHistoryStateBfcacheVersion(state);
192
+ return version !== null && version === currentVersion;
193
+ }
194
+ function createHashOnlyHistoryStatePreservingNavigationMetadata(state) {
195
+ const previousNextUrl = readHistoryStatePreviousNextUrl(state);
196
+ const bfcacheIds = readHistoryStateBfcacheIds(state);
197
+ const bfcacheVersion = readHistoryStateBfcacheVersion(state);
198
+ if (previousNextUrl === null && bfcacheIds === null) return null;
199
+ return createHistoryStateWithNavigationMetadata(null, {
200
+ bfcacheIds,
201
+ bfcacheVersion: bfcacheIds === null ? void 0 : bfcacheVersion,
202
+ previousNextUrl
203
+ });
36
204
  }
37
205
  function readHistoryStateTraversalIndex(state) {
38
- const value = cloneHistoryState(state)[VINEXT_HISTORY_INDEX_HISTORY_STATE_KEY];
39
- return isValidHistoryTraversalIndex(value) ? value : null;
206
+ const value = readHistoryStateRecord(state)?.[VINEXT_HISTORY_INDEX_HISTORY_STATE_KEY];
207
+ return isNonNegativeSafeInteger(value) ? value : null;
40
208
  }
41
209
  function resolveHistoryTraversalIntent(options) {
42
210
  const targetHistoryIndex = readHistoryStateTraversalIndex(options.historyState);
@@ -52,6 +220,4 @@ function resolveHistoryTraversalIntent(options) {
52
220
  };
53
221
  }
54
222
  //#endregion
55
- export { createExternalHistoryStatePreservingMetadata, createHistoryStateWithNavigationMetadata, createHistoryStateWithPreviousNextUrl, readHistoryStatePreviousNextUrl, readHistoryStateTraversalIndex, resolveHistoryTraversalIntent };
56
-
57
- //# sourceMappingURL=app-history-state.js.map
223
+ export { HistoryStateSnapshotCache, RestorableClientStateController, createExternalHistoryStatePreservingMetadata, createHashOnlyHistoryStatePreservingNavigationMetadata, createHistoryStateWithNavigationMetadata, createHistoryStateWithPreviousNextUrl, isBfcacheSegmentId, isHistoryStateBfcacheVersionCurrent, readHistoryStateBfcacheIds, readHistoryStateBfcacheVersion, readHistoryStatePreviousNextUrl, readHistoryStateTraversalIndex, resolveHistoryTraversalIntent };
@@ -3,5 +3,4 @@ import { AsyncLocalStorage } from "node:async_hooks";
3
3
  //#region src/server/app-hook-warning-suppression.d.ts
4
4
  declare const suppressHookWarningAls: AsyncLocalStorage<boolean>;
5
5
  //#endregion
6
- export { suppressHookWarningAls };
7
- //# sourceMappingURL=app-hook-warning-suppression.d.ts.map
6
+ export { suppressHookWarningAls };
@@ -8,5 +8,3 @@ console.error = (...args) => {
8
8
  };
9
9
  //#endregion
10
10
  export { suppressHookWarningAls };
11
-
12
- //# sourceMappingURL=app-hook-warning-suppression.js.map
@@ -3,5 +3,4 @@ type InlineCssStylesheetLinkElement = Pick<HTMLLinkElement, "getAttribute" | "ha
3
3
  declare function isInlineCssStylesheetLinkElement(link: InlineCssStylesheetLinkElement): boolean;
4
4
  declare function removeStylesheetLinksCoveredByInlineCss(): void;
5
5
  //#endregion
6
- export { isInlineCssStylesheetLinkElement, removeStylesheetLinksCoveredByInlineCss };
7
- //# sourceMappingURL=app-inline-css-client.d.ts.map
6
+ export { isInlineCssStylesheetLinkElement, removeStylesheetLinksCoveredByInlineCss };
@@ -33,5 +33,3 @@ function removeStylesheetLinksCoveredByInlineCss() {
33
33
  }
34
34
  //#endregion
35
35
  export { isInlineCssStylesheetLinkElement, removeStylesheetLinksCoveredByInlineCss };
36
-
37
- //# sourceMappingURL=app-inline-css-client.js.map
@@ -29,5 +29,4 @@
29
29
  */
30
30
  declare function normalizeInterceptionContextHeader(raw: string | null | undefined): string | null;
31
31
  //#endregion
32
- export { normalizeInterceptionContextHeader };
33
- //# sourceMappingURL=app-interception-context-header.d.ts.map
32
+ export { normalizeInterceptionContextHeader };
@@ -40,5 +40,3 @@ function normalizeInterceptionContextHeader(raw) {
40
40
  }
41
41
  //#endregion
42
42
  export { normalizeInterceptionContextHeader };
43
-
44
- //# sourceMappingURL=app-interception-context-header.js.map