vinext 1.0.0-beta.9 → 1.0.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 (828) hide show
  1. package/README.md +150 -92
  2. package/THIRD_PARTY_LICENSES.md +51 -0
  3. package/dist/_virtual/_rolldown/runtime.js +25 -0
  4. package/dist/build/action-owner-manifest.d.ts +8 -9
  5. package/dist/build/action-owner-manifest.js +23 -5
  6. package/dist/build/assets-ignore.d.ts +3 -4
  7. package/dist/build/clean-output.d.ts +2 -3
  8. package/dist/build/client-build-config.d.ts +40 -12
  9. package/dist/build/client-build-config.js +76 -6
  10. package/dist/build/css-url-assets.d.ts +4 -5
  11. package/dist/build/css-url-assets.js +5 -2
  12. package/dist/build/google-fonts/build-url.d.ts +3 -4
  13. package/dist/build/google-fonts/fallback-metrics.d.ts +3 -4
  14. package/dist/build/google-fonts/find-font-files-in-css.d.ts +2 -3
  15. package/dist/build/google-fonts/font-metadata.d.ts +2 -3
  16. package/dist/build/google-fonts/get-axes.d.ts +2 -3
  17. package/dist/build/google-fonts/sort-variants.d.ts +2 -3
  18. package/dist/build/google-fonts/validate.d.ts +2 -3
  19. package/dist/build/google-fonts/validate.js +8 -4
  20. package/dist/build/inject-pregenerated-paths.d.ts +2 -3
  21. package/dist/build/inject-pregenerated-paths.js +16 -14
  22. package/dist/build/inline-css.d.ts +3 -4
  23. package/dist/build/layout-classification-types.d.ts +4 -5
  24. package/dist/build/layout-classification.d.ts +7 -8
  25. package/dist/build/lifecycle.d.ts +42 -0
  26. package/dist/build/lifecycle.js +253 -0
  27. package/dist/build/module-dependency-cache.d.ts +2 -3
  28. package/dist/build/next-client-runtime-manifests.d.ts +4 -5
  29. package/dist/build/nitro-route-rules.d.ts +6 -7
  30. package/dist/build/nitro-route-rules.js +1 -1
  31. package/dist/build/pages-client-assets-module.d.ts +4 -8
  32. package/dist/build/pages-client-assets-module.js +7 -14
  33. package/dist/build/precompress.d.ts +2 -3
  34. package/dist/build/precompress.js +1 -1
  35. package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
  36. package/dist/build/prerender-cloudflare-loader.js +49 -0
  37. package/dist/build/prerender-paths.d.ts +36 -11
  38. package/dist/build/prerender-paths.js +274 -102
  39. package/dist/build/prerender-phase.d.ts +2 -3
  40. package/dist/build/prerender-server-entry.js +11 -3
  41. package/dist/build/prerender-server-pool.d.ts +9 -6
  42. package/dist/build/prerender-server-pool.js +8 -5
  43. package/dist/build/prerender.d.ts +73 -16
  44. package/dist/build/prerender.js +272 -80
  45. package/dist/build/preview-credentials.d.ts +5 -6
  46. package/dist/build/preview-credentials.js +2 -2
  47. package/dist/build/public-dir-conflict.d.ts +5 -6
  48. package/dist/build/public-dir-conflict.js +2 -1
  49. package/dist/build/report.d.ts +24 -20
  50. package/dist/build/report.js +10 -2
  51. package/dist/build/route-classification-injector.d.ts +2 -3
  52. package/dist/build/route-classification-manifest.d.ts +5 -6
  53. package/dist/build/run-prerender.d.ts +11 -9
  54. package/dist/build/run-prerender.js +26 -16
  55. package/dist/build/server-entry.d.ts +6 -0
  56. package/dist/build/server-entry.js +34 -0
  57. package/dist/build/server-manifest.d.ts +8 -3
  58. package/dist/build/server-manifest.js +14 -2
  59. package/dist/build/ssr-manifest.d.ts +5 -6
  60. package/dist/build/standalone.d.ts +2 -3
  61. package/dist/build/standalone.js +2 -2
  62. package/dist/build/static-export.d.ts +6 -7
  63. package/dist/cache/cache-adapters-virtual.d.ts +60 -20
  64. package/dist/cache/cache-adapters-virtual.js +50 -7
  65. package/dist/check.d.ts +11 -10
  66. package/dist/check.js +467 -176
  67. package/dist/cli-args.d.ts +7 -16
  68. package/dist/cli-args.js +2 -45
  69. package/dist/cli-dev-config.d.ts +10 -7
  70. package/dist/cli-dev-config.js +160 -3
  71. package/dist/cli.js +124 -442
  72. package/dist/client/app-nav-failure-handler.d.ts +6 -7
  73. package/dist/client/browser-globals.d.ts +4 -0
  74. package/dist/client/browser-globals.js +5 -0
  75. package/dist/client/client-rewrite-matcher.d.ts +2 -3
  76. package/dist/client/client-rewrites.d.ts +4 -5
  77. package/dist/client/dev-error-overlay-store.d.ts +13 -14
  78. package/dist/client/dev-error-overlay.d.ts +15 -15
  79. package/dist/client/dev-error-overlay.js +8 -5
  80. package/dist/client/instrumentation-client-inject.d.ts +3 -4
  81. package/dist/client/instrumentation-client-state.d.ts +5 -6
  82. package/dist/client/instrumentation-client.d.ts +3 -4
  83. package/dist/client/navigation-runtime.d.ts +20 -17
  84. package/dist/client/navigation-runtime.js +4 -3
  85. package/dist/client/pages-router-link-navigation.d.ts +4 -5
  86. package/dist/client/react-instance.d.ts +2 -3
  87. package/dist/client/validate-module-path.d.ts +2 -3
  88. package/dist/client/vinext-next-data.d.ts +7 -10
  89. package/dist/client/window-next.d.ts +4 -5
  90. package/dist/config/config-matchers.d.ts +16 -16
  91. package/dist/config/config-matchers.js +2 -4
  92. package/dist/config/dotenv.d.ts +3 -4
  93. package/dist/config/dotenv.js +14 -2
  94. package/dist/config/next-config.d.ts +31 -27
  95. package/dist/config/next-config.js +163 -16
  96. package/dist/config/prerender.d.ts +20 -16
  97. package/dist/config/prerender.js +10 -4
  98. package/dist/config/request-context.d.ts +5 -6
  99. package/dist/config/server-external-packages.d.ts +14 -3
  100. package/dist/config/server-external-packages.js +37 -3
  101. package/dist/config/tsconfig-paths.d.ts +3 -4
  102. package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
  103. package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
  104. package/dist/entries/app-browser-entry.d.ts +4 -5
  105. package/dist/entries/app-browser-entry.js +1 -3
  106. package/dist/entries/app-rsc-entry.d.ts +10 -3
  107. package/dist/entries/app-rsc-entry.js +503 -51
  108. package/dist/entries/app-rsc-manifest.d.ts +4 -3
  109. package/dist/entries/app-rsc-manifest.js +26 -8
  110. package/dist/entries/app-ssr-entry.d.ts +2 -3
  111. package/dist/entries/app-ssr-entry.js +8 -1
  112. package/dist/entries/pages-client-entry.d.ts +3 -3
  113. package/dist/entries/pages-client-entry.js +17 -2
  114. package/dist/entries/pages-server-entry.d.ts +13 -3
  115. package/dist/entries/pages-server-entry.js +234 -33
  116. package/dist/entries/runtime-entry-module.d.ts +4 -5
  117. package/dist/image/image-adapters-virtual.d.ts +4 -5
  118. package/dist/index.d.ts +10 -11
  119. package/dist/index.js +848 -255
  120. package/dist/init-cloudflare.d.ts +26 -17
  121. package/dist/init-cloudflare.js +711 -103
  122. package/dist/init-platform.d.ts +26 -22
  123. package/dist/init-platform.js +85 -29
  124. package/dist/init.d.ts +19 -13
  125. package/dist/init.js +126 -42
  126. package/dist/plugins/action-owner-manifest.d.ts +3 -4
  127. package/dist/plugins/action-owner-manifest.js +10 -3
  128. package/dist/plugins/ast-scope.d.ts +10 -11
  129. package/dist/plugins/ast-scope.js +10 -22
  130. package/dist/plugins/ast-utils.d.ts +16 -29
  131. package/dist/plugins/ast-utils.js +27 -71
  132. package/dist/plugins/async-hooks-stub.d.ts +2 -3
  133. package/dist/plugins/client-reference-dedup.d.ts +4 -5
  134. package/dist/plugins/commonjs-syntax.d.ts +16 -0
  135. package/dist/plugins/commonjs-syntax.js +22 -0
  136. package/dist/plugins/css-data-url.d.ts +2 -3
  137. package/dist/plugins/css-module-imports.d.ts +3 -4
  138. package/dist/plugins/css-module-imports.js +1 -1
  139. package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
  140. package/dist/plugins/dynamic-preload-metadata.js +55 -154
  141. package/dist/plugins/environment.d.ts +2 -3
  142. package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
  143. package/dist/plugins/extensionless-dynamic-import.js +6 -10
  144. package/dist/plugins/fonts.d.ts +10 -11
  145. package/dist/plugins/fonts.js +4 -3
  146. package/dist/plugins/ignore-dynamic-requests.d.ts +14 -4
  147. package/dist/plugins/ignore-dynamic-requests.js +113 -91
  148. package/dist/plugins/import-meta-url.d.ts +6 -7
  149. package/dist/plugins/import-meta-url.js +36 -48
  150. package/dist/plugins/instrumentation-client.d.ts +3 -3
  151. package/dist/plugins/instrumentation-client.js +46 -10
  152. package/dist/plugins/middleware-export-validation.d.ts +3 -4
  153. package/dist/plugins/middleware-export-validation.js +3 -3
  154. package/dist/plugins/middleware-server-only.d.ts +2 -3
  155. package/dist/plugins/og-asset-ownership.d.ts +5 -4
  156. package/dist/plugins/og-asset-ownership.js +24 -13
  157. package/dist/plugins/og-assets.d.ts +22 -5
  158. package/dist/plugins/og-assets.js +82 -21
  159. package/dist/plugins/og-harfbuzz.d.ts +24 -0
  160. package/dist/plugins/og-harfbuzz.js +271 -0
  161. package/dist/plugins/optimize-imports.d.ts +7 -7
  162. package/dist/plugins/optimize-imports.js +34 -45
  163. package/dist/plugins/pages-node-externals.d.ts +2 -3
  164. package/dist/plugins/pages-node-externals.js +6 -11
  165. package/dist/plugins/postcss.d.ts +8 -4
  166. package/dist/plugins/postcss.js +1 -1
  167. package/dist/plugins/remove-console.d.ts +2 -3
  168. package/dist/plugins/remove-console.js +0 -1
  169. package/dist/plugins/require-condition-resolution.d.ts +3 -4
  170. package/dist/plugins/require-condition-resolution.js +17 -18
  171. package/dist/plugins/require-context.d.ts +3 -3
  172. package/dist/plugins/require-context.js +41 -22
  173. package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
  174. package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
  175. package/dist/plugins/rsc-client-shim-excludes.js +1 -0
  176. package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
  177. package/dist/plugins/sass.d.ts +7 -8
  178. package/dist/plugins/sass.js +7 -4
  179. package/dist/plugins/scan-build-css.d.ts +12 -0
  180. package/dist/plugins/scan-build-css.js +39 -0
  181. package/dist/plugins/server-externals-manifest.d.ts +2 -3
  182. package/dist/plugins/strip-server-exports.d.ts +7 -6
  183. package/dist/plugins/strip-server-exports.js +4 -2
  184. package/dist/plugins/styled-jsx.d.ts +2 -3
  185. package/dist/plugins/styled-jsx.js +7 -7
  186. package/dist/plugins/transform-cache.d.ts +2 -3
  187. package/dist/plugins/transform-result.d.ts +21 -4
  188. package/dist/plugins/transform-result.js +23 -2
  189. package/dist/plugins/transitive-externals.d.ts +2 -3
  190. package/dist/plugins/typeof-window.d.ts +16 -7
  191. package/dist/plugins/typeof-window.js +62 -39
  192. package/dist/plugins/use-cache-callable.d.ts +2 -5
  193. package/dist/plugins/use-cache-callable.js +43 -22
  194. package/dist/plugins/wasm-module-import.d.ts +2 -3
  195. package/dist/plugins/worker-image-imports.d.ts +2 -3
  196. package/dist/plugins/worker-image-imports.js +6 -8
  197. package/dist/routing/app-route-graph.d.ts +18 -19
  198. package/dist/routing/app-route-graph.js +5 -6
  199. package/dist/routing/app-route-ids.d.ts +3 -0
  200. package/dist/routing/app-route-ids.js +6 -0
  201. package/dist/routing/app-router.d.ts +19 -6
  202. package/dist/routing/app-router.js +24 -2
  203. package/dist/routing/file-matcher.d.ts +9 -10
  204. package/dist/routing/pages-router.d.ts +6 -6
  205. package/dist/routing/pages-router.js +1 -1
  206. package/dist/routing/route-matching.d.ts +4 -5
  207. package/dist/routing/route-matching.js +4 -2
  208. package/dist/routing/route-pattern.d.ts +13 -14
  209. package/dist/routing/route-trie.d.ts +5 -6
  210. package/dist/routing/route-validation.d.ts +3 -4
  211. package/dist/routing/route-validation.js +12 -11
  212. package/dist/routing/utils.d.ts +13 -14
  213. package/dist/server/accept-encoding.d.ts +9 -10
  214. package/dist/server/api-handler.d.ts +2 -3
  215. package/dist/server/api-handler.js +9 -6
  216. package/dist/server/app-action-forwarding.d.ts +3 -4
  217. package/dist/server/app-action-forwarding.js +1 -1
  218. package/dist/server/app-action-request.d.ts +2 -3
  219. package/dist/server/app-bfcache-id.d.ts +4 -4
  220. package/dist/server/app-bfcache-id.js +7 -1
  221. package/dist/server/app-bfcache-identity.d.ts +8 -9
  222. package/dist/server/app-bfcache-identity.js +1 -2
  223. package/dist/server/app-browser-action-result.d.ts +15 -16
  224. package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
  225. package/dist/server/app-browser-entry.js +91 -36
  226. package/dist/server/app-browser-error.d.ts +5 -6
  227. package/dist/server/app-browser-error.js +9 -3
  228. package/dist/server/app-browser-history-controller.d.ts +4 -5
  229. package/dist/server/app-browser-hydration.d.ts +16 -6
  230. package/dist/server/app-browser-hydration.js +15 -2
  231. package/dist/server/app-browser-interception-context.d.ts +3 -4
  232. package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
  233. package/dist/server/app-browser-navigation-abort.d.ts +3 -4
  234. package/dist/server/app-browser-navigation-controller.d.ts +8 -8
  235. package/dist/server/app-browser-navigation-controller.js +9 -5
  236. package/dist/server/app-browser-navigation-response.d.ts +2 -3
  237. package/dist/server/app-browser-popstate.d.ts +4 -5
  238. package/dist/server/app-browser-prefetch-response.d.ts +5 -6
  239. package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
  240. package/dist/server/app-browser-server-action-client.d.ts +7 -6
  241. package/dist/server/app-browser-server-action-client.js +9 -5
  242. package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
  243. package/dist/server/app-browser-state.d.ts +17 -17
  244. package/dist/server/app-browser-state.js +7 -3
  245. package/dist/server/app-browser-stream.d.ts +5 -6
  246. package/dist/server/app-browser-stream.js +8 -6
  247. package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
  248. package/dist/server/app-browser-visible-commit.d.ts +6 -7
  249. package/dist/server/app-client-reference-preloader.d.ts +2 -3
  250. package/dist/server/app-elements-wire-key.d.ts +25 -0
  251. package/dist/server/app-elements-wire-key.js +69 -0
  252. package/dist/server/app-elements-wire.d.ts +34 -53
  253. package/dist/server/app-elements-wire.js +4 -75
  254. package/dist/server/app-elements.d.ts +5 -5
  255. package/dist/server/app-elements.js +1 -1
  256. package/dist/server/app-fallback-renderer.d.ts +4 -4
  257. package/dist/server/app-fallback-renderer.js +6 -6
  258. package/dist/server/app-fetch-tracing.d.ts +15 -0
  259. package/dist/server/app-fetch-tracing.js +38 -0
  260. package/dist/server/app-history-state.d.ts +25 -27
  261. package/dist/server/app-history-state.js +21 -16
  262. package/dist/server/app-hook-warning-suppression.d.ts +2 -3
  263. package/dist/server/app-hydration-cache-publication.d.ts +3 -4
  264. package/dist/server/app-inline-css-client.d.ts +3 -4
  265. package/dist/server/app-interception-context-header.d.ts +2 -3
  266. package/dist/server/app-layout-param-observation.d.ts +7 -8
  267. package/dist/server/app-metadata-tracing.d.ts +12 -0
  268. package/dist/server/app-metadata-tracing.js +17 -0
  269. package/dist/server/app-middleware.d.ts +7 -7
  270. package/dist/server/app-middleware.js +2 -3
  271. package/dist/server/app-mounted-slots-header.d.ts +2 -3
  272. package/dist/server/app-mounted-slots-header.js +2 -2
  273. package/dist/server/app-optimistic-routing.d.ts +10 -11
  274. package/dist/server/app-optimistic-routing.js +3 -2
  275. package/dist/server/app-page-boundary-render.d.ts +6 -6
  276. package/dist/server/app-page-boundary-render.js +10 -4
  277. package/dist/server/app-page-boundary.d.ts +9 -10
  278. package/dist/server/app-page-boundary.js +1 -1
  279. package/dist/server/app-page-cache-finalizer.d.ts +18 -9
  280. package/dist/server/app-page-cache-finalizer.js +51 -16
  281. package/dist/server/app-page-cache-render.d.ts +8 -5
  282. package/dist/server/app-page-cache-render.js +22 -4
  283. package/dist/server/app-page-cache.d.ts +28 -9
  284. package/dist/server/app-page-cache.js +95 -24
  285. package/dist/server/app-page-dispatch.d.ts +34 -12
  286. package/dist/server/app-page-dispatch.js +181 -64
  287. package/dist/server/app-page-element-builder.d.ts +13 -11
  288. package/dist/server/app-page-element-builder.js +104 -61
  289. package/dist/server/app-page-execution.d.ts +14 -14
  290. package/dist/server/app-page-execution.js +11 -7
  291. package/dist/server/app-page-head.d.ts +19 -16
  292. package/dist/server/app-page-head.js +25 -25
  293. package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
  294. package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
  295. package/dist/server/app-page-method.d.ts +5 -11
  296. package/dist/server/app-page-method.js +2 -9
  297. package/dist/server/app-page-params.d.ts +5 -6
  298. package/dist/server/app-page-ppr-runtime.d.ts +2 -2
  299. package/dist/server/app-page-probe.d.ts +5 -6
  300. package/dist/server/app-page-probe.js +5 -4
  301. package/dist/server/app-page-render-identity.d.ts +4 -5
  302. package/dist/server/app-page-render-observation.d.ts +8 -9
  303. package/dist/server/app-page-render-observation.js +1 -1
  304. package/dist/server/app-page-render.d.ts +41 -6
  305. package/dist/server/app-page-render.js +171 -24
  306. package/dist/server/app-page-request.d.ts +10 -9
  307. package/dist/server/app-page-request.js +16 -12
  308. package/dist/server/app-page-response.d.ts +20 -9
  309. package/dist/server/app-page-response.js +30 -12
  310. package/dist/server/app-page-route-wiring.d.ts +15 -15
  311. package/dist/server/app-page-route-wiring.js +31 -24
  312. package/dist/server/app-page-search-params-observation.d.ts +26 -5
  313. package/dist/server/app-page-search-params-observation.js +43 -7
  314. package/dist/server/app-page-segment-plan.d.ts +2 -3
  315. package/dist/server/app-page-segment-state.d.ts +11 -12
  316. package/dist/server/app-page-stream.d.ts +27 -11
  317. package/dist/server/app-page-stream.js +34 -6
  318. package/dist/server/app-page-tracing.d.ts +33 -0
  319. package/dist/server/app-page-tracing.js +50 -0
  320. package/dist/server/app-pages-bridge.d.ts +6 -6
  321. package/dist/server/app-pages-bridge.js +18 -4
  322. package/dist/server/app-post-middleware-context.d.ts +2 -3
  323. package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
  324. package/dist/server/app-ppr-fallback-shell-render.js +3 -2
  325. package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
  326. package/dist/server/app-prerender-endpoints.d.ts +5 -5
  327. package/dist/server/app-prerender-endpoints.js +3 -1
  328. package/dist/server/app-prerender-static-params.d.ts +15 -7
  329. package/dist/server/app-prerender-static-params.js +24 -9
  330. package/dist/server/app-render-abort-error.d.ts +3 -0
  331. package/dist/server/app-render-abort-error.js +8 -0
  332. package/dist/server/app-render-dependency.d.ts +14 -13
  333. package/dist/server/app-render-dependency.js +5 -1
  334. package/dist/server/app-request-context.d.ts +3 -4
  335. package/dist/server/app-request-stage-context.d.ts +5 -0
  336. package/dist/server/app-request-stage-context.js +11 -0
  337. package/dist/server/app-request-stage-dispatch.d.ts +25 -0
  338. package/dist/server/app-request-stage-dispatch.js +54 -0
  339. package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
  340. package/dist/server/app-request-stage-independent-entry.js +112 -0
  341. package/dist/server/app-response-header-provenance.d.ts +13 -7
  342. package/dist/server/app-response-header-provenance.js +34 -1
  343. package/dist/server/app-response-stage-entry.d.ts +9 -0
  344. package/dist/server/app-response-stage-entry.js +87 -0
  345. package/dist/server/app-route-handler-cache.d.ts +4 -4
  346. package/dist/server/app-route-handler-cache.js +51 -35
  347. package/dist/server/app-route-handler-dispatch.d.ts +3 -3
  348. package/dist/server/app-route-handler-dispatch.js +77 -56
  349. package/dist/server/app-route-handler-execution.d.ts +26 -14
  350. package/dist/server/app-route-handler-execution.js +94 -28
  351. package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
  352. package/dist/server/app-route-handler-middleware-context.js +15 -0
  353. package/dist/server/app-route-handler-policy.d.ts +11 -11
  354. package/dist/server/app-route-handler-policy.js +2 -2
  355. package/dist/server/app-route-handler-response.d.ts +9 -10
  356. package/dist/server/app-route-handler-response.js +14 -3
  357. package/dist/server/app-route-handler-runtime.d.ts +9 -10
  358. package/dist/server/app-route-handler-runtime.js +20 -16
  359. package/dist/server/app-route-module-loader.d.ts +6 -7
  360. package/dist/server/app-route-request-built-ins.d.ts +3 -4
  361. package/dist/server/app-route-tree-prefetch.d.ts +6 -7
  362. package/dist/server/app-route-tree-prefetch.js +2 -1
  363. package/dist/server/app-router-entry.d.ts +4 -1
  364. package/dist/server/app-router-entry.js +33 -17
  365. package/dist/server/app-rsc-cache-busting.d.ts +34 -27
  366. package/dist/server/app-rsc-cache-busting.js +14 -2
  367. package/dist/server/app-rsc-combined-handler.d.ts +9 -0
  368. package/dist/server/app-rsc-combined-handler.js +11 -0
  369. package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
  370. package/dist/server/app-rsc-error-handler.d.ts +12 -6
  371. package/dist/server/app-rsc-error-handler.js +15 -6
  372. package/dist/server/app-rsc-errors.d.ts +11 -9
  373. package/dist/server/app-rsc-errors.js +14 -16
  374. package/dist/server/app-rsc-handler.d.ts +32 -6
  375. package/dist/server/app-rsc-handler.js +425 -64
  376. package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
  377. package/dist/server/app-rsc-render-mode.d.ts +8 -9
  378. package/dist/server/app-rsc-request-normalization.d.ts +3 -3
  379. package/dist/server/app-rsc-request-normalization.js +5 -3
  380. package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
  381. package/dist/server/app-rsc-response-finalizer.js +10 -7
  382. package/dist/server/app-rsc-response-stage.d.ts +6 -0
  383. package/dist/server/app-rsc-response-stage.js +251 -0
  384. package/dist/server/app-rsc-route-matching.d.ts +3 -4
  385. package/dist/server/app-rsc-route-matching.js +3 -2
  386. package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
  387. package/dist/server/app-rsc-vary.d.ts +16 -0
  388. package/dist/server/app-rsc-vary.js +31 -0
  389. package/dist/server/app-segment-config.d.ts +119 -7
  390. package/dist/server/app-segment-config.js +242 -2
  391. package/dist/server/app-server-action-execution.d.ts +18 -13
  392. package/dist/server/app-server-action-execution.js +86 -33
  393. package/dist/server/app-ssr-entry.d.ts +14 -4
  394. package/dist/server/app-ssr-entry.js +62 -15
  395. package/dist/server/app-ssr-error-meta.d.ts +3 -4
  396. package/dist/server/app-ssr-error-meta.js +2 -1
  397. package/dist/server/app-ssr-router-instance.d.ts +2 -3
  398. package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
  399. package/dist/server/app-ssr-search-params-gate.js +54 -0
  400. package/dist/server/app-ssr-stream.d.ts +13 -9
  401. package/dist/server/app-ssr-stream.js +34 -8
  402. package/dist/server/app-static-generation.d.ts +4 -5
  403. package/dist/server/app-visited-response-cache.d.ts +11 -12
  404. package/dist/server/app-visited-response-cache.js +2 -2
  405. package/dist/server/app-worker-stages.d.ts +112 -0
  406. package/dist/server/app-worker-stages.js +105 -0
  407. package/dist/server/artifact-compatibility.d.ts +11 -12
  408. package/dist/server/before-interactive-head.d.ts +2 -3
  409. package/dist/server/bfcache-identity.d.ts +7 -8
  410. package/dist/server/cache-control.d.ts +35 -13
  411. package/dist/server/cache-control.js +64 -6
  412. package/dist/server/cache-headers.d.ts +3 -4
  413. package/dist/server/cache-proof.d.ts +75 -70
  414. package/dist/server/cache-proof.js +9 -1
  415. package/dist/server/cacheability-limits.d.ts +4 -5
  416. package/dist/server/cacheability-limits.js +2 -2
  417. package/dist/server/cacheability-manifest.d.ts +42 -16
  418. package/dist/server/cacheability-manifest.js +60 -10
  419. package/dist/server/cacheability-request.d.ts +37 -8
  420. package/dist/server/cacheability-request.js +192 -90
  421. package/dist/server/client-reuse-manifest.d.ts +17 -18
  422. package/dist/server/client-reuse-manifest.js +2 -2
  423. package/dist/server/client-trace-metadata.d.ts +9 -6
  424. package/dist/server/client-trace-metadata.js +27 -15
  425. package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
  426. package/dist/server/cloudflare-workers-tracing.js +8 -0
  427. package/dist/server/config-headers.d.ts +19 -5
  428. package/dist/server/config-headers.js +25 -11
  429. package/dist/server/cookie-utils.d.ts +2 -3
  430. package/dist/server/csp.d.ts +5 -6
  431. package/dist/server/default-global-error-module.d.ts +2 -3
  432. package/dist/server/default-global-not-found-module.d.ts +2 -3
  433. package/dist/server/default-not-found-module.d.ts +2 -3
  434. package/dist/server/defer-until-stream-consumed.d.ts +2 -3
  435. package/dist/server/defer-until-stream-consumed.js +2 -1
  436. package/dist/server/dev-initial-server-error.d.ts +3 -4
  437. package/dist/server/dev-initial-server-error.js +2 -1
  438. package/dist/server/dev-lockfile.d.ts +7 -8
  439. package/dist/server/dev-lockfile.js +4 -1
  440. package/dist/server/dev-module-runner.d.ts +2 -3
  441. package/dist/server/dev-origin-check.d.ts +5 -6
  442. package/dist/server/dev-route-files.d.ts +2 -3
  443. package/dist/server/dev-server.d.ts +4 -5
  444. package/dist/server/dev-server.js +141 -64
  445. package/dist/server/dev-stack-sourcemap.d.ts +7 -7
  446. package/dist/server/dev-stack-sourcemap.js +1 -1
  447. package/dist/server/document-initial-head.d.ts +3 -4
  448. package/dist/server/edge-api-runtime.d.ts +4 -5
  449. package/dist/server/fetch-handler.d.ts +3 -2
  450. package/dist/server/fetch-handler.js +3 -18
  451. package/dist/server/file-based-metadata.d.ts +2 -3
  452. package/dist/server/framework-tracer.d.ts +46 -0
  453. package/dist/server/framework-tracer.js +125 -0
  454. package/dist/server/fully-buffered-response.d.ts +11 -0
  455. package/dist/server/fully-buffered-response.js +19 -0
  456. package/dist/server/headers.d.ts +56 -61
  457. package/dist/server/headers.js +22 -31
  458. package/dist/server/html.d.ts +6 -27
  459. package/dist/server/html.js +16 -1
  460. package/dist/server/http-conditional.d.ts +5 -6
  461. package/dist/server/http-date.d.ts +2 -3
  462. package/dist/server/http-error-responses.d.ts +9 -10
  463. package/dist/server/http-error-responses.js +1 -0
  464. package/dist/server/http-range.d.ts +4 -5
  465. package/dist/server/hybrid-route-priority.d.ts +4 -5
  466. package/dist/server/image-optimization.d.ts +20 -21
  467. package/dist/server/implicit-tags.d.ts +3 -4
  468. package/dist/server/instrumentation-runtime.d.ts +17 -21
  469. package/dist/server/instrumentation-runtime.js +26 -8
  470. package/dist/server/instrumentation.d.ts +26 -30
  471. package/dist/server/instrumentation.js +18 -23
  472. package/dist/server/isr-cache.d.ts +30 -27
  473. package/dist/server/isr-cache.js +23 -70
  474. package/dist/server/isr-decision.d.ts +4 -4
  475. package/dist/server/metadata-route-build-data.d.ts +4 -5
  476. package/dist/server/metadata-route-response.d.ts +7 -7
  477. package/dist/server/metadata-route-response.js +158 -35
  478. package/dist/server/metadata-routes.d.ts +18 -19
  479. package/dist/server/middleware-matcher-pattern.d.ts +6 -7
  480. package/dist/server/middleware-matcher.d.ts +6 -7
  481. package/dist/server/middleware-path-to-regexp.d.ts +6 -7
  482. package/dist/server/middleware-path-to-regexp.js +11 -9
  483. package/dist/server/middleware-response-headers.d.ts +3 -4
  484. package/dist/server/middleware-runtime.d.ts +7 -8
  485. package/dist/server/middleware-runtime.js +36 -7
  486. package/dist/server/middleware.d.ts +5 -5
  487. package/dist/server/multi-stage.d.ts +141 -0
  488. package/dist/server/multi-stage.js +8 -0
  489. package/dist/server/navigation-planner.d.ts +26 -26
  490. package/dist/server/navigation-trace.d.ts +11 -12
  491. package/dist/server/next-error-digest.d.ts +4 -5
  492. package/dist/server/normalize-path.d.ts +5 -6
  493. package/dist/server/open-redirect.d.ts +2 -3
  494. package/dist/server/opentelemetry-api.d.ts +59 -0
  495. package/dist/server/opentelemetry-api.js +53 -0
  496. package/dist/server/opentelemetry-tracing.d.ts +5 -0
  497. package/dist/server/opentelemetry-tracing.js +83 -0
  498. package/dist/server/operation-token.d.ts +11 -12
  499. package/dist/server/otel-tracer-extension.d.ts +7 -9
  500. package/dist/server/otel-tracer-extension.js +37 -36
  501. package/dist/server/pages-api-route.d.ts +5 -4
  502. package/dist/server/pages-api-route.js +28 -9
  503. package/dist/server/pages-asset-tags.d.ts +7 -6
  504. package/dist/server/pages-asset-tags.js +104 -18
  505. package/dist/server/pages-body-parser-config.d.ts +4 -5
  506. package/dist/server/pages-body-parser-config.js +4 -4
  507. package/dist/server/pages-client-assets.d.ts +13 -5
  508. package/dist/server/pages-data-route.d.ts +11 -12
  509. package/dist/server/pages-data-route.js +1 -1
  510. package/dist/server/pages-default-404.d.ts +3 -4
  511. package/dist/server/pages-dev-hydration.d.ts +9 -4
  512. package/dist/server/pages-dev-hydration.js +19 -7
  513. package/dist/server/pages-dev-module-url.d.ts +3 -4
  514. package/dist/server/pages-dev-stylesheets.d.ts +5 -6
  515. package/dist/server/pages-document-asset-props.d.ts +6 -7
  516. package/dist/server/pages-document-initial-props.d.ts +5 -5
  517. package/dist/server/pages-document-initial-props.js +4 -2
  518. package/dist/server/pages-execution-tracing.d.ts +40 -0
  519. package/dist/server/pages-execution-tracing.js +80 -0
  520. package/dist/server/pages-get-initial-props.d.ts +9 -10
  521. package/dist/server/pages-i18n.d.ts +8 -8
  522. package/dist/server/pages-media-type.d.ts +4 -5
  523. package/dist/server/pages-node-compat.d.ts +11 -10
  524. package/dist/server/pages-node-compat.js +12 -4
  525. package/dist/server/pages-page-data.d.ts +23 -19
  526. package/dist/server/pages-page-data.js +82 -75
  527. package/dist/server/pages-page-handler.d.ts +7 -6
  528. package/dist/server/pages-page-handler.js +103 -47
  529. package/dist/server/pages-page-method.d.ts +2 -3
  530. package/dist/server/pages-page-response.d.ts +14 -10
  531. package/dist/server/pages-page-response.js +52 -32
  532. package/dist/server/pages-preview.d.ts +10 -11
  533. package/dist/server/pages-readiness.d.ts +2 -3
  534. package/dist/server/pages-request-pipeline.d.ts +15 -12
  535. package/dist/server/pages-request-pipeline.js +80 -35
  536. package/dist/server/pages-request-stage-entry.d.ts +23 -0
  537. package/dist/server/pages-request-stage-entry.js +316 -0
  538. package/dist/server/pages-response-stage-entry.d.ts +11 -0
  539. package/dist/server/pages-response-stage-entry.js +106 -0
  540. package/dist/server/pages-response-stage.d.ts +31 -0
  541. package/dist/server/pages-response-stage.js +49 -0
  542. package/dist/server/pages-revalidate.d.ts +3 -4
  543. package/dist/server/pages-revalidate.js +9 -4
  544. package/dist/server/pages-route-data-kind.d.ts +18 -0
  545. package/dist/server/pages-route-data-kind.js +11 -0
  546. package/dist/server/pages-router-entry.d.ts +1 -25
  547. package/dist/server/pages-router-entry.js +35 -148
  548. package/dist/server/pages-serializable-props.d.ts +3 -4
  549. package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
  550. package/dist/server/pregenerated-concrete-paths.js +12 -6
  551. package/dist/server/prerender-cache-life-header.d.ts +3 -4
  552. package/dist/server/prerender-manifest.d.ts +17 -11
  553. package/dist/server/prerender-manifest.js +7 -4
  554. package/dist/server/prerender-route-params.d.ts +16 -9
  555. package/dist/server/prerender-route-params.js +18 -3
  556. package/dist/server/prerender-work-unit-setup.d.ts +2 -3
  557. package/dist/server/prerender-work-unit-setup.js +5 -5
  558. package/dist/server/prod-server.d.ts +12 -9
  559. package/dist/server/prod-server.js +127 -44
  560. package/dist/server/proxy-trust.d.ts +5 -6
  561. package/dist/server/request-log.d.ts +3 -4
  562. package/dist/server/request-pipeline.d.ts +16 -16
  563. package/dist/server/request-pipeline.js +7 -2
  564. package/dist/server/request-stage.d.ts +5 -0
  565. package/dist/server/request-stage.js +7 -0
  566. package/dist/server/request-tracing.d.ts +22 -0
  567. package/dist/server/request-tracing.js +180 -0
  568. package/dist/server/response-stage-cacheability.d.ts +37 -0
  569. package/dist/server/response-stage-cacheability.js +55 -0
  570. package/dist/server/response-stage-policy.d.ts +23 -0
  571. package/dist/server/response-stage-policy.js +89 -0
  572. package/dist/server/response-stage.d.ts +5 -0
  573. package/dist/server/response-stage.js +7 -0
  574. package/dist/server/response-start-tracing.d.ts +14 -0
  575. package/dist/server/response-start-tracing.js +80 -0
  576. package/dist/server/revalidation-host.d.ts +2 -3
  577. package/dist/server/revalidation-host.js +1 -1
  578. package/dist/server/revalidation-request.d.ts +8 -0
  579. package/dist/server/revalidation-request.js +37 -0
  580. package/dist/server/rsc-completion-metadata.d.ts +6 -7
  581. package/dist/server/rsc-stream-hints.d.ts +18 -7
  582. package/dist/server/rsc-stream-hints.js +70 -35
  583. package/dist/server/seed-cache.d.ts +2 -3
  584. package/dist/server/seed-cache.js +8 -7
  585. package/dist/server/server-action-not-found.d.ts +5 -6
  586. package/dist/server/server-globals.d.ts +2 -3
  587. package/dist/server/skip-cache-proof.d.ts +4 -4
  588. package/dist/server/socket-error-backstop.d.ts +5 -6
  589. package/dist/server/socket-error-backstop.js +1 -1
  590. package/dist/server/static-file-cache.d.ts +5 -6
  591. package/dist/server/static-file-cache.js +9 -7
  592. package/dist/server/static-file-signal.d.ts +9 -6
  593. package/dist/server/static-file-signal.js +51 -2
  594. package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
  595. package/dist/server/streaming-metadata.d.ts +2 -3
  596. package/dist/server/tracer.d.ts +5 -0
  597. package/dist/server/tracer.js +13 -0
  598. package/dist/server/worker-prerender-discovery.d.ts +5 -6
  599. package/dist/server/worker-revalidation-context.d.ts +4 -4
  600. package/dist/server/worker-revalidation-context.js +6 -5
  601. package/dist/server/worker-stages.d.ts +43 -0
  602. package/dist/server/worker-stages.js +25 -0
  603. package/dist/server/worker-utils.d.ts +5 -6
  604. package/dist/server/worker-utils.js +2 -1
  605. package/dist/server/workers-tracing.d.ts +34 -0
  606. package/dist/server/workers-tracing.js +67 -0
  607. package/dist/shims/amp.d.ts +3 -4
  608. package/dist/shims/app-router-scroll-state.d.ts +9 -10
  609. package/dist/shims/app-router-scroll.d.ts +4 -5
  610. package/dist/shims/app-router-scroll.js +2 -1
  611. package/dist/shims/app.d.ts +5 -6
  612. package/dist/shims/before-interactive-context.d.ts +5 -6
  613. package/dist/shims/cache-callable-runtime.d.ts +44 -4
  614. package/dist/shims/cache-callable-runtime.js +168 -8
  615. package/dist/shims/cache-for-request.d.ts +2 -3
  616. package/dist/shims/cache-handler.d.ts +33 -20
  617. package/dist/shims/cache-handler.js +61 -2
  618. package/dist/shims/cache-request-state.d.ts +26 -38
  619. package/dist/shims/cache-request-state.js +2 -13
  620. package/dist/shims/cache-runtime.d.ts +23 -21
  621. package/dist/shims/cache-runtime.js +110 -28
  622. package/dist/shims/cache.d.ts +17 -16
  623. package/dist/shims/cache.js +19 -15
  624. package/dist/shims/cacheability-classification.d.ts +50 -29
  625. package/dist/shims/cacheability-classification.js +29 -14
  626. package/dist/shims/cdn-cache-state.d.ts +13 -0
  627. package/dist/shims/cdn-cache-state.js +23 -0
  628. package/dist/shims/cdn-cache.d.ts +59 -21
  629. package/dist/shims/cdn-cache.js +31 -47
  630. package/dist/shims/client-hook-error.d.ts +3 -4
  631. package/dist/shims/client-locale.d.ts +2 -3
  632. package/dist/shims/client-page-root.d.ts +24 -0
  633. package/dist/shims/client-page-root.js +121 -0
  634. package/dist/shims/compat-router.d.ts +2 -3
  635. package/dist/shims/config.d.ts +3 -4
  636. package/dist/shims/constants.d.ts +73 -74
  637. package/dist/shims/constants.js +1 -1
  638. package/dist/shims/default-not-found.d.ts +2 -3
  639. package/dist/shims/document.d.ts +9 -9
  640. package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
  641. package/dist/shims/dynamic-preload-chunks.js +17 -13
  642. package/dist/shims/dynamic.d.ts +3 -3
  643. package/dist/shims/error-boundary-navigation.d.ts +3 -4
  644. package/dist/shims/error-boundary.d.ts +17 -18
  645. package/dist/shims/error-boundary.js +17 -11
  646. package/dist/shims/error.d.ts +5 -19
  647. package/dist/shims/error.js +17 -10
  648. package/dist/shims/error.react-server.d.ts +4 -7
  649. package/dist/shims/error.react-server.js +4 -1
  650. package/dist/shims/fetch-cache.d.ts +22 -22
  651. package/dist/shims/fetch-cache.js +46 -20
  652. package/dist/shims/font-google-base.d.ts +9 -9
  653. package/dist/shims/font-google-base.js +2 -1
  654. package/dist/shims/font-local.d.ts +3 -3
  655. package/dist/shims/font-local.js +1 -1
  656. package/dist/shims/font-utils.d.ts +14 -15
  657. package/dist/shims/form.d.ts +2 -2
  658. package/dist/shims/form.js +10 -7
  659. package/dist/shims/hash-scroll.d.ts +5 -6
  660. package/dist/shims/head-state.d.ts +4 -5
  661. package/dist/shims/head.d.ts +16 -16
  662. package/dist/shims/head.js +5 -4
  663. package/dist/shims/headers.d.ts +44 -73
  664. package/dist/shims/headers.js +87 -144
  665. package/dist/shims/i18n-context.d.ts +5 -6
  666. package/dist/shims/i18n-state.d.ts +4 -5
  667. package/dist/shims/image-config.d.ts +5 -6
  668. package/dist/shims/image-config.js +2 -0
  669. package/dist/shims/image.d.ts +5 -5
  670. package/dist/shims/image.js +12 -8
  671. package/dist/shims/internal/als-registry.d.ts +4 -5
  672. package/dist/shims/internal/api-utils.d.ts +3 -4
  673. package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
  674. package/dist/shims/internal/app-page-props-cache-key.js +53 -1
  675. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
  676. package/dist/shims/internal/app-prefetch-rsc-request.d.ts +5 -17
  677. package/dist/shims/internal/app-prefetch-rsc-request.js +5 -14
  678. package/dist/shims/internal/app-route-detection.d.ts +2 -2
  679. package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -8
  680. package/dist/shims/internal/app-route-prefetch-policy.js +0 -1
  681. package/dist/shims/internal/app-router-context.d.ts +9 -10
  682. package/dist/shims/internal/cache-context-accessor.d.ts +16 -0
  683. package/dist/shims/internal/cache-context-accessor.js +15 -0
  684. package/dist/shims/internal/cookie-serialize.d.ts +4 -5
  685. package/dist/shims/internal/format-url-object.d.ts +7 -0
  686. package/dist/shims/internal/format-url-object.js +53 -0
  687. package/dist/shims/internal/headers-state.d.ts +74 -0
  688. package/dist/shims/internal/headers-state.js +157 -0
  689. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
  690. package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
  691. package/dist/shims/internal/hybrid-client-route-owner.js +3 -2
  692. package/dist/shims/internal/interpolate-as.d.ts +5 -6
  693. package/dist/shims/internal/interpolate-as.js +4 -2
  694. package/dist/shims/internal/link-status-registry.d.ts +5 -6
  695. package/dist/shims/internal/make-hanging-promise.d.ts +3 -4
  696. package/dist/shims/internal/navigation-untracked.d.ts +2 -3
  697. package/dist/shims/internal/normalize-router-href.d.ts +15 -0
  698. package/dist/shims/internal/normalize-router-href.js +41 -0
  699. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
  700. package/dist/shims/internal/pages-data-target.d.ts +8 -6
  701. package/dist/shims/internal/pages-data-target.js +32 -36
  702. package/dist/shims/internal/pages-data-url.d.ts +4 -5
  703. package/dist/shims/internal/pages-data-url.js +2 -1
  704. package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
  705. package/dist/shims/internal/pages-router-components.d.ts +3 -4
  706. package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
  707. package/dist/shims/internal/route-pattern-for-warning.js +3 -3
  708. package/dist/shims/internal/router-context.d.ts +2 -3
  709. package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
  710. package/dist/shims/internal/thenable-well-known-properties.js +33 -0
  711. package/dist/shims/internal/utils.d.ts +7 -8
  712. package/dist/shims/internal/work-unit-async-storage.d.ts +10 -11
  713. package/dist/shims/layout-segment-context.d.ts +3 -4
  714. package/dist/shims/link-prefetch.d.ts +9 -10
  715. package/dist/shims/link.d.ts +4 -4
  716. package/dist/shims/link.js +56 -116
  717. package/dist/shims/metadata.d.ts +15 -16
  718. package/dist/shims/metadata.js +40 -36
  719. package/dist/shims/navigation-context-accessors.d.ts +9 -0
  720. package/dist/shims/navigation-context-accessors.js +19 -0
  721. package/dist/shims/navigation-context-state.d.ts +27 -18
  722. package/dist/shims/navigation-errors.d.ts +18 -19
  723. package/dist/shims/navigation-state.d.ts +6 -7
  724. package/dist/shims/navigation.d.ts +80 -68
  725. package/dist/shims/navigation.js +26 -18
  726. package/dist/shims/navigation.react-server.d.ts +9 -9
  727. package/dist/shims/offline.d.ts +2 -3
  728. package/dist/shims/og.d.ts +2 -2
  729. package/dist/shims/pages-router-runtime.d.ts +4 -5
  730. package/dist/shims/ppr-fallback-shell.d.ts +13 -14
  731. package/dist/shims/readonly-url-search-params.d.ts +2 -3
  732. package/dist/shims/request-context.d.ts +5 -6
  733. package/dist/shims/request-state-types.d.ts +2 -1
  734. package/dist/shims/root-params.d.ts +14 -15
  735. package/dist/shims/root-params.js +1 -1
  736. package/dist/shims/router-state.d.ts +5 -6
  737. package/dist/shims/router-state.js +1 -1
  738. package/dist/shims/router.d.ts +22 -21
  739. package/dist/shims/router.js +339 -164
  740. package/dist/shims/script-nonce-context.d.ts +8 -6
  741. package/dist/shims/script-nonce-context.js +15 -6
  742. package/dist/shims/script.d.ts +4 -4
  743. package/dist/shims/script.js +9 -7
  744. package/dist/shims/search-params-gate.d.ts +35 -0
  745. package/dist/shims/search-params-gate.js +32 -0
  746. package/dist/shims/server.d.ts +19 -51
  747. package/dist/shims/server.js +66 -30
  748. package/dist/shims/slot.d.ts +33 -15
  749. package/dist/shims/slot.js +41 -9
  750. package/dist/shims/streamed-icons.d.ts +3 -4
  751. package/dist/shims/thenable-params.d.ts +5 -7
  752. package/dist/shims/thenable-params.js +3 -24
  753. package/dist/shims/unified-request-context.d.ts +35 -32
  754. package/dist/shims/unified-request-context.js +34 -24
  755. package/dist/shims/unrecognized-action-error.d.ts +3 -4
  756. package/dist/shims/url-safety.d.ts +5 -6
  757. package/dist/shims/url-utils.d.ts +12 -13
  758. package/dist/shims/use-merged-ref.d.ts +2 -3
  759. package/dist/shims/user-agent.d.ts +31 -0
  760. package/dist/shims/user-agent.js +16 -0
  761. package/dist/shims/web-vitals.d.ts +2 -2
  762. package/dist/typegen.d.ts +3 -4
  763. package/dist/utils/asset-prefix.d.ts +7 -8
  764. package/dist/utils/base-path.d.ts +5 -6
  765. package/dist/utils/built-asset-url.d.ts +2 -3
  766. package/dist/utils/built-asset-url.js +1 -1
  767. package/dist/utils/cache-control-metadata.d.ts +4 -5
  768. package/dist/utils/client-build-manifest.d.ts +6 -7
  769. package/dist/utils/client-build-manifest.js +2 -1
  770. package/dist/utils/client-entry-manifest.d.ts +6 -7
  771. package/dist/utils/client-runtime-metadata.d.ts +8 -3
  772. package/dist/utils/client-runtime-metadata.js +18 -1
  773. package/dist/utils/commonjs-loader.d.ts +4 -5
  774. package/dist/utils/compare.d.ts +2 -3
  775. package/dist/utils/deployment-id.d.ts +6 -7
  776. package/dist/utils/dev-error-recovery-event.d.ts +2 -3
  777. package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
  778. package/dist/utils/domain-locale.d.ts +7 -8
  779. package/dist/utils/encode-cache-tag.d.ts +4 -4
  780. package/dist/utils/encode-cache-tag.js +11 -1
  781. package/dist/utils/error-cause.d.ts +2 -3
  782. package/dist/utils/external-url.d.ts +2 -3
  783. package/dist/utils/has-trailing-comma.d.ts +3 -4
  784. package/dist/utils/hash.d.ts +3 -4
  785. package/dist/utils/html-limited-bots.d.ts +3 -4
  786. package/dist/utils/lazy-chunks.d.ts +8 -9
  787. package/dist/utils/lazy-chunks.js +4 -4
  788. package/dist/utils/manifest-paths.d.ts +5 -6
  789. package/dist/utils/mdx-scan.d.ts +11 -4
  790. package/dist/utils/mdx-scan.js +27 -1
  791. package/dist/utils/middleware-request-headers.d.ts +7 -6
  792. package/dist/utils/middleware-request-headers.js +6 -1
  793. package/dist/utils/navigation-signal.d.ts +3 -3
  794. package/dist/utils/navigation-signal.js +16 -1
  795. package/dist/utils/number.d.ts +2 -3
  796. package/dist/utils/package-name.d.ts +3 -4
  797. package/dist/utils/parse-cookie.d.ts +4 -5
  798. package/dist/utils/path.d.ts +8 -9
  799. package/dist/utils/plugin-options.d.ts +2 -3
  800. package/dist/utils/precompressed-variant.d.ts +3 -4
  801. package/dist/utils/prerender-output-paths.d.ts +4 -5
  802. package/dist/utils/project.d.ts +19 -30
  803. package/dist/utils/project.js +20 -29
  804. package/dist/utils/promise.d.ts +2 -3
  805. package/dist/utils/protocol-headers.d.ts +14 -15
  806. package/dist/utils/public-file-path.d.ts +2 -3
  807. package/dist/utils/public-routes.d.ts +2 -3
  808. package/dist/utils/query.d.ts +14 -9
  809. package/dist/utils/query.js +22 -1
  810. package/dist/utils/react-compiler-support.d.ts +6 -7
  811. package/dist/utils/react-version.d.ts +4 -3
  812. package/dist/utils/react-version.js +19 -1
  813. package/dist/utils/record.d.ts +2 -3
  814. package/dist/utils/redirect-digest.d.ts +3 -4
  815. package/dist/utils/regex-safety.d.ts +4 -5
  816. package/dist/utils/regex.d.ts +2 -3
  817. package/dist/utils/safe-json-file.d.ts +2 -3
  818. package/dist/utils/sorted-array.d.ts +2 -3
  819. package/dist/utils/text-stream.d.ts +3 -4
  820. package/dist/utils/vinext-root.d.ts +2 -3
  821. package/dist/utils/virtual-module.d.ts +3 -4
  822. package/dist/utils/vite-cli-invocation.d.ts +21 -0
  823. package/dist/utils/vite-cli-invocation.js +151 -0
  824. package/dist/utils/vite-version.d.ts +5 -6
  825. package/next-package.json +4 -0
  826. package/package.json +51 -6
  827. package/dist/server/metadata-route-cache-policy.d.ts +0 -6
  828. package/dist/server/metadata-route-cache-policy.js +0 -6
@@ -0,0 +1,23 @@
1
+ //#region src/shims/cdn-cache-state.ts
2
+ const CDN_CACHE_ADAPTER_KEY = Symbol.for("vinext.cdnCacheAdapter");
3
+ const globals = globalThis;
4
+ /** Register an adapter without loading the origin cache implementation. */
5
+ function setCdnCacheAdapter(adapter) {
6
+ globals[CDN_CACHE_ADAPTER_KEY] = adapter;
7
+ }
8
+ /**
9
+ * Lazily keep the first declaratively configured adapter shared across
10
+ * duplicated stage modules. Failed factories remain retryable so a later
11
+ * entrypoint with the required runtime bindings can register successfully.
12
+ */
13
+ function registerCdnCacheAdapter(factory) {
14
+ if (globals[CDN_CACHE_ADAPTER_KEY] !== void 0) return;
15
+ const adapter = factory();
16
+ if (globals[CDN_CACHE_ADAPTER_KEY] === void 0) globals[CDN_CACHE_ADAPTER_KEY] = adapter;
17
+ }
18
+ /** Read only an explicitly registered adapter; defaults belong to cdn-cache. */
19
+ function getExplicitCdnCacheAdapter() {
20
+ return globals[CDN_CACHE_ADAPTER_KEY] ?? null;
21
+ }
22
+ //#endregion
23
+ export { getExplicitCdnCacheAdapter, registerCdnCacheAdapter, setCdnCacheAdapter };
@@ -1,14 +1,18 @@
1
+ import { VinextAssetFetcher } from "../server/multi-stage.js";
1
2
  import { CacheHandlerValue, IncrementalCacheValue } from "./cache-handler.js";
3
+ import { setCdnCacheAdapter } from "./cdn-cache-state.js";
2
4
  //#region src/shims/cdn-cache.d.ts
3
5
  /** A map of response header name -> value the adapter wants applied or removed. */
4
- type CdnResponseHeaders = Record<string, string | null>;
5
- type CdnCacheableHeaderInput = {
6
+ export type CdnResponseHeaders = Record<string, string | null>;
7
+ export type CdnCacheableHeaderInput = {
6
8
  /**
7
9
  * The cacheable `Cache-Control` value the framework computed for shared
8
10
  * caches (e.g. `s-maxage=60, stale-while-revalidate`). May be an empty string
9
11
  * when no cacheable policy applies.
10
12
  */
11
13
  cacheControl: string;
14
+ /** Explicit endpoint policy returned to clients, independent of shared admission. */
15
+ browserCacheControl?: string;
12
16
  /**
13
17
  * True when this is a freshly-rendered **streaming** response whose
14
18
  * dynamic-ness is not yet proven (late Server Component request-API usage can
@@ -28,18 +32,40 @@ type CdnCacheableHeaderInput = {
28
32
  */
29
33
  tags?: readonly string[];
30
34
  };
35
+ export type CdnResponsePolicy = {
36
+ /** Whether a provider-specific response header controls shared caching. */
37
+ isHeader(name: string): boolean;
38
+ /**
39
+ * Read the effective shared-cache policy from a response. The returned value
40
+ * uses Cache-Control syntax so core can apply the framework's cacheability
41
+ * rules without knowing which provider header carried it.
42
+ */
43
+ readCacheControl(headers: Headers): string | null;
44
+ /**
45
+ * Name the response header `readCacheControl` interpreted, or `null` when
46
+ * none did. Core uses it to tell which stage owns the effective policy;
47
+ * without it, core cannot attribute that policy to next.config.
48
+ */
49
+ readCacheControlHeaderName?(headers: Headers): string | null;
50
+ /** Whether provider policy explicitly opts out of storage. */
51
+ hasExplicitNonCacheablePolicy(headers: Headers, baseline?: Headers): boolean;
52
+ };
53
+ /** Split Cache-Control directives without treating quoted commas as separators. */
54
+ export declare function splitCacheControlDirectives(cacheControl: string): string[];
31
55
  /** Whether a Cache-Control value contains an exact non-cacheable directive. */
32
- declare function isNonCacheableCacheControl(cacheControl: string): boolean;
56
+ export declare function isNonCacheableCacheControl(cacheControl: string, scope?: "shared" | "browser"): boolean;
33
57
  /**
34
58
  * The serving strategy for page-level ISR. Implement this to delegate
35
59
  * page/route/image caching to a CDN edge instead of the origin store.
36
60
  */
37
- type CdnCacheAdapter = {
61
+ export type CdnCacheAdapter = {
38
62
  /**
39
63
  * The shared cache selects response variants using every request header
40
64
  * named by `Vary`, comparing values verbatim.
41
65
  */
42
66
  readonly responseVary?: "verbatim";
67
+ /** Provider-specific response-policy interpretation, when the adapter has one. */
68
+ readonly responsePolicy?: CdnResponsePolicy;
43
69
  /**
44
70
  * Fresh App Page responses must reach clean EOF before this adapter may emit
45
71
  * shared-cache headers. Used by edge adapters whose cache sits in front of
@@ -47,6 +73,21 @@ type CdnCacheAdapter = {
47
73
  * the completed artifact.
48
74
  */
49
75
  readonly requiresCompletedResponseAdmission?: boolean;
76
+ /**
77
+ * This adapter's response-stage transport keys shared App page dispatches by
78
+ * `VinextResponseStageDispatchOptions.cacheIdentity` when core supplies one.
79
+ * Core supplies it only when completed-response admission is also required,
80
+ * because that admission is what makes a query-free identity safe.
81
+ */
82
+ readonly responseStageCacheIdentity?: "query-free";
83
+ /**
84
+ * Optionally return a foreground page response while completed-response
85
+ * admission continues on an independent body branch. Returning `null` keeps
86
+ * the normal blocking admission path. API responses are never passed here.
87
+ */
88
+ deferCompletedPageResponseAdmission?(response: Response, complete: (response: Response) => Promise<Response>): Response | null;
89
+ /** Capture the full-route RSC side stream while admitting a completed HTML response. */
90
+ captureAppPageRscData?(rscData: Promise<ArrayBuffer>): void;
50
91
  /**
51
92
  * Validate provider-specific request routing before the application handles
52
93
  * the request. Returning a response short-circuits the request pipeline;
@@ -64,6 +105,10 @@ type CdnCacheAdapter = {
64
105
  * edge owns serving.
65
106
  */
66
107
  get(key: string, ctx?: Record<string, unknown>): Promise<CacheHandlerValue | null>;
108
+ /** Also supplies build-time PAGES entries for pages without getStaticProps. */
109
+ readonly hasPrerenderedPages?: boolean;
110
+ /** Optional host asset fetcher resolved by the adapter's platform bindings. */
111
+ readonly assets?: VinextAssetFetcher;
67
112
  /**
68
113
  * Persist a freshly-rendered page-level artifact.
69
114
  *
@@ -85,14 +130,6 @@ type CdnCacheAdapter = {
85
130
  * paths that do not pass through cache-policy finalization.
86
131
  */
87
132
  buildResponseIdentityHeaders?(): CdnResponseHeaders;
88
- /**
89
- * Whether existing response headers explicitly opt out of storage. Adapters
90
- * that split browser and provider cache policy should implement this so they
91
- * can interpret the provider-specific headers they own.
92
- *
93
- * When omitted, core inspects only the generic `Cache-Control` header.
94
- */
95
- hasExplicitNonCacheableResponsePolicy?(headers: Headers): boolean;
96
133
  /**
97
134
  * Whether the **origin** runs in-process background regeneration when a stale
98
135
  * entry is served. Edge adapters set this to `false` because the CDN
@@ -118,11 +155,14 @@ type CdnCacheAdapter = {
118
155
  * response headers alone. Deployments where provider headers carry cache
119
156
  * semantics must configure the adapter that owns those headers.
120
157
  */
121
- declare class DefaultCdnCacheAdapter implements CdnCacheAdapter {
158
+ export declare class DefaultCdnCacheAdapter implements CdnCacheAdapter {
159
+ private readonly buildIdentity?;
122
160
  readonly ownsBackgroundRevalidation = true;
161
+ constructor(buildIdentity?: string | undefined);
123
162
  get(key: string, ctx?: Record<string, unknown>): Promise<CacheHandlerValue | null>;
124
163
  set(key: string, data: IncrementalCacheValue | null, ctx?: Record<string, unknown>): Promise<void>;
125
164
  buildResponseHeaders(input: CdnCacheableHeaderInput): CdnResponseHeaders;
165
+ buildResponseIdentityHeaders(): CdnResponseHeaders;
126
166
  revalidateTag(_tags: string | string[], _durations?: {
127
167
  expire?: number;
128
168
  }): Promise<void>;
@@ -138,23 +178,21 @@ declare class DefaultCdnCacheAdapter implements CdnCacheAdapter {
138
178
  *
139
179
  * ```ts
140
180
  * import { vinext } from "vinext";
141
- * import { cdnAdapter } from "@vinext/cloudflare/cache/cdn-adapter";
181
+ * import { workersCacheCdnAdapter } from "@vinext/cloudflare/cache/workers-cache-cdn-adapter";
142
182
  *
143
183
  * export default defineConfig({
144
- * plugins: [vinext({ cache: { cdn: cdnAdapter() } })],
184
+ * plugins: [vinext({ cache: { cdn: workersCacheCdnAdapter() } })],
145
185
  * });
146
186
  * ```
147
187
  *
148
188
  * The plugin registers the adapter across every runtime/router entry, so you
149
- * don't have to call this from a worker entry. This setter remains as the
150
- * internal registration target and for backwards compatibility, but is not the
151
- * recommended consumer API.
189
+ * don't have to call this from a worker entry. This setter remains for
190
+ * backwards compatibility, but is not the recommended consumer API.
152
191
  */
153
- declare function setCdnCacheAdapter(adapter: CdnCacheAdapter): void;
154
192
  /**
155
193
  * Get the active CDN cache adapter. An explicitly configured adapter wins;
156
194
  * otherwise the origin-managed {@link DefaultCdnCacheAdapter} is used.
157
195
  */
158
- declare function getCdnCacheAdapter(): CdnCacheAdapter;
196
+ export declare function getCdnCacheAdapter(): CdnCacheAdapter;
159
197
  //#endregion
160
- export { CdnCacheAdapter, CdnCacheableHeaderInput, CdnResponseHeaders, DefaultCdnCacheAdapter, getCdnCacheAdapter, isNonCacheableCacheControl, setCdnCacheAdapter };
198
+ export { setCdnCacheAdapter };
@@ -1,43 +1,16 @@
1
- import { getDataCacheHandler } from "./cache-handler.js";
1
+ import { getExplicitCdnCacheAdapter, setCdnCacheAdapter } from "./cdn-cache-state.js";
2
2
  //#region src/shims/cdn-cache.ts
3
- /**
4
- * CDN cache adapter — owns the *page-level ISR serving strategy*.
5
- *
6
- * This is deliberately distinct from the data cache handler (see `./cache.ts`):
7
- *
8
- * - The **data cache** stores cached data (fetch, `"use cache"`,
9
- * `unstable_cache`, route-handler data). It is a pure key/value store.
10
- *
11
- * - The **CDN cache adapter** decides *how page-level ISR is served*: where the
12
- * rendered page/route/image artifacts live, what cache headers the response
13
- * carries, whether the origin runs background regeneration, and how
14
- * invalidation propagates to a CDN edge.
15
- *
16
- * Two strategies sit behind one interface:
17
- *
18
- * | Concern | DefaultCdnCacheAdapter (origin-managed) | Edge adapter (CDN-managed) |
19
- * | ------------------ | --------------------------------------- | ------------------------------------------- |
20
- * | Serve from store? | Yes — reads the data cache | No — origin renders fresh, edge caches |
21
- * | Background regen | In-process via `waitUntil` | Edge re-requests origin |
22
- * | Response headers | Framework cache policy | Provider-specific cache policy |
23
- * | Invalidation | (data cache handles tag invalidation) | purge / revalidate via request context |
24
- *
25
- * The default adapter is a thin shim over the data cache + the framework's
26
- * existing header logic, so default behavior is byte-for-byte identical to the
27
- * pre-split implementation.
28
- */
29
- /** Whether a Cache-Control value contains an exact non-cacheable directive. */
30
- function isNonCacheableCacheControl(cacheControl) {
3
+ /** Split Cache-Control directives without treating quoted commas as separators. */
4
+ function splitCacheControlDirectives(cacheControl) {
5
+ const directives = [];
31
6
  let start = 0;
32
7
  let quoted = false;
33
8
  let escaped = false;
34
9
  for (let index = 0; index <= cacheControl.length; index++) {
35
10
  const char = cacheControl[index];
36
11
  if (index === cacheControl.length || char === "," && !quoted) {
37
- const directive = cacheControl.slice(start, index);
38
- const equals = directive.indexOf("=");
39
- const name = (equals === -1 ? directive : directive.slice(0, equals)).trim().toLowerCase();
40
- if (name === "no-store" || equals === -1 && (name === "private" || name === "no-cache")) return true;
12
+ const directive = cacheControl.slice(start, index).trim();
13
+ if (directive) directives.push(directive);
41
14
  start = index + 1;
42
15
  continue;
43
16
  }
@@ -48,7 +21,15 @@ function isNonCacheableCacheControl(cacheControl) {
48
21
  if (char === "\"" && !escaped) quoted = !quoted;
49
22
  escaped = false;
50
23
  }
51
- return false;
24
+ return directives;
25
+ }
26
+ /** Whether a Cache-Control value contains an exact non-cacheable directive. */
27
+ function isNonCacheableCacheControl(cacheControl, scope = "shared") {
28
+ return splitCacheControlDirectives(cacheControl).some((directive) => {
29
+ const equals = directive.indexOf("=");
30
+ const name = (equals === -1 ? directive : directive.slice(0, equals)).trim().toLowerCase();
31
+ return name === "no-store" || equals === -1 && (name === "no-cache" || scope === "shared" && name === "private");
32
+ });
52
33
  }
53
34
  const PENDING_DYNAMIC_CACHE_CONTROL = "no-store, must-revalidate";
54
35
  /**
@@ -59,21 +40,28 @@ const PENDING_DYNAMIC_CACHE_CONTROL = "no-store, must-revalidate";
59
40
  * semantics must configure the adapter that owns those headers.
60
41
  */
61
42
  var DefaultCdnCacheAdapter = class {
43
+ buildIdentity;
62
44
  ownsBackgroundRevalidation = true;
45
+ constructor(buildIdentity) {
46
+ this.buildIdentity = buildIdentity;
47
+ }
63
48
  async get(key, ctx) {
49
+ const { getDataCacheHandler } = await import("./cache-handler.js");
64
50
  return getDataCacheHandler().get(key, ctx);
65
51
  }
66
52
  async set(key, data, ctx) {
53
+ const { getDataCacheHandler } = await import("./cache-handler.js");
67
54
  await getDataCacheHandler().set(key, data, ctx);
68
55
  }
69
56
  buildResponseHeaders(input) {
70
57
  if (input.pendingDynamicCheck) return { "Cache-Control": PENDING_DYNAMIC_CACHE_CONTROL };
71
- return { "Cache-Control": input.cacheControl };
58
+ return { "Cache-Control": input.browserCacheControl ?? input.cacheControl };
59
+ }
60
+ buildResponseIdentityHeaders() {
61
+ return this.buildIdentity ? { "X-Vinext-Build-Id": this.buildIdentity } : {};
72
62
  }
73
63
  async revalidateTag(_tags, _durations) {}
74
64
  };
75
- const _CDN_KEY = Symbol.for("vinext.cdnCacheAdapter");
76
- const _gCdn = globalThis;
77
65
  let _defaultAdapter = null;
78
66
  /**
79
67
  * Set a custom CDN cache adapter to delegate page-level ISR to a CDN edge. An
@@ -86,29 +74,25 @@ let _defaultAdapter = null;
86
74
  *
87
75
  * ```ts
88
76
  * import { vinext } from "vinext";
89
- * import { cdnAdapter } from "@vinext/cloudflare/cache/cdn-adapter";
77
+ * import { workersCacheCdnAdapter } from "@vinext/cloudflare/cache/workers-cache-cdn-adapter";
90
78
  *
91
79
  * export default defineConfig({
92
- * plugins: [vinext({ cache: { cdn: cdnAdapter() } })],
80
+ * plugins: [vinext({ cache: { cdn: workersCacheCdnAdapter() } })],
93
81
  * });
94
82
  * ```
95
83
  *
96
84
  * The plugin registers the adapter across every runtime/router entry, so you
97
- * don't have to call this from a worker entry. This setter remains as the
98
- * internal registration target and for backwards compatibility, but is not the
99
- * recommended consumer API.
85
+ * don't have to call this from a worker entry. This setter remains for
86
+ * backwards compatibility, but is not the recommended consumer API.
100
87
  */
101
- function setCdnCacheAdapter(adapter) {
102
- _gCdn[_CDN_KEY] = adapter;
103
- }
104
88
  /**
105
89
  * Get the active CDN cache adapter. An explicitly configured adapter wins;
106
90
  * otherwise the origin-managed {@link DefaultCdnCacheAdapter} is used.
107
91
  */
108
92
  function getCdnCacheAdapter() {
109
- const active = _gCdn[_CDN_KEY];
93
+ const active = getExplicitCdnCacheAdapter();
110
94
  if (active) return active;
111
95
  return _defaultAdapter ??= new DefaultCdnCacheAdapter();
112
96
  }
113
97
  //#endregion
114
- export { DefaultCdnCacheAdapter, getCdnCacheAdapter, isNonCacheableCacheControl, setCdnCacheAdapter };
98
+ export { DefaultCdnCacheAdapter, getCdnCacheAdapter, isNonCacheableCacheControl, setCdnCacheAdapter, splitCacheControlDirectives };
@@ -7,7 +7,6 @@
7
7
  *
8
8
  * @see https://github.com/cloudflare/vinext/issues/834
9
9
  */
10
- declare function buildClientHookErrorMessage(hookName: string): string;
11
- declare function throwClientHookError(hookName: string): never;
12
- //#endregion
13
- export { buildClientHookErrorMessage, throwClientHookError };
10
+ export declare function buildClientHookErrorMessage(hookName: string): string;
11
+ export declare function throwClientHookError(hookName: string): never;
12
+ //#endregion
@@ -1,9 +1,8 @@
1
1
  import { DomainLocale } from "../utils/domain-locale.js";
2
2
  //#region src/shims/client-locale.d.ts
3
- declare function getCurrentBrowserLocale({ basePath, domainLocales, hostname }: {
3
+ export declare function getCurrentBrowserLocale({ basePath, domainLocales, hostname }: {
4
4
  basePath: string;
5
5
  domainLocales: readonly DomainLocale[] | undefined;
6
6
  hostname: string | null | undefined;
7
7
  }): string | undefined;
8
- //#endregion
9
- export { getCurrentBrowserLocale };
8
+ //#endregion
@@ -0,0 +1,24 @@
1
+ import { ComponentType } from "react";
2
+ //#region src/shims/client-page-root.d.ts
3
+ type ClientPageSearchParams = Record<string, string | string[]>;
4
+ export type ClientPageRootProps = {
5
+ Component: ComponentType<Record<string, unknown>>;
6
+ /** The page's other props (`params`, slot props). Never `searchParams`. */
7
+ pageProps: Readonly<Record<string, unknown>>;
8
+ /** The page always reads an empty query: `force-static`, or static export. */
9
+ emptySearchParams?: boolean;
10
+ };
11
+ /**
12
+ * Build an untracked `searchParams` promise, like Next.js 15's browser
13
+ * `makeUntrackedExoticSearchParams`: a settled promise whose query keys are
14
+ * also readable synchronously, except names Promise and React rely on.
15
+ *
16
+ * It matches the SSR thenable (`makeThenableParams`) wherever a page could
17
+ * tell them apart during hydration, so it is a proxy in the same way: the
18
+ * query keys are virtual, and the promise's methods run on the promise
19
+ * itself. As real own properties, a `constructor` key would replace the
20
+ * promise's species, and `await` would throw.
21
+ */
22
+ export declare function createClientPageSearchParams(searchParams: URLSearchParams | null | undefined): Promise<ClientPageSearchParams>;
23
+ export declare function ClientPageRoot({ Component, pageProps, emptySearchParams }: ClientPageRootProps): import("react").ReactElement<Record<string, unknown>, string | import("react").JSXElementConstructor<any>>;
24
+ //#endregion
@@ -0,0 +1,121 @@
1
+ "use client";
2
+ import { searchParamsToRecord } from "../utils/query.js";
3
+ import { getNavigationContext } from "./navigation-context-state.js";
4
+ import "./navigation-server.js";
5
+ import { isOwnPropertyCheck, isWellKnownProperty } from "./internal/thenable-well-known-properties.js";
6
+ import { RenderedSearchContext } from "./slot.js";
7
+ import { getClientNavigationRenderContext, useSearchParams } from "./navigation.js";
8
+ import { createElement, use, useMemo } from "react";
9
+ //#region src/shims/client-page-root.tsx
10
+ /**
11
+ * Wrapper for a "use client" App Router page, like Next.js's `ClientPageRoot`
12
+ * (client/components/client-page.tsx).
13
+ *
14
+ * The server never sends a client page's `searchParams` through Flight. Flight
15
+ * calls `then` on every promise prop while serializing it, so the page would
16
+ * always count as reading the query, and the RSC payload would carry it. This
17
+ * wrapper builds the prop where the page renders instead:
18
+ *
19
+ * - SSR: a promise per page from the navigation context (`app-ssr-entry.ts`),
20
+ * keyed by the page's props object like the browser's, so React's
21
+ * bookkeeping from one page's `use()` never shows on a sibling's. Reading
22
+ * it marks the render dynamic, so a render that uses the query is never
23
+ * stored, and a page that never reads it stays cacheable.
24
+ * - Browser: the query the server rendered this page with, captured when the
25
+ * page's server output first renders. Next.js reads it from the page's own
26
+ * segment payload, so a rewritten query survives, and a page that stays
27
+ * mounted (an intercepted modal's background, a kept parallel slot) keeps
28
+ * its query when the URL changes. The router tags each payload's elements
29
+ * with the query they were rendered with (`RenderedSearchContext`), so a
30
+ * kept page that first renders under a later navigation (still streaming,
31
+ * or refreshed from its own URL) reads its own response's query.
32
+ * - Browser, with Cache Components: the query `useSearchParams()` returns, as
33
+ * Next.js reads it from `SearchParamsContext` in that mode. That is the
34
+ * public URL's query rather than a rewritten one, and a kept page follows
35
+ * the URL.
36
+ *
37
+ * `emptySearchParams` pages (`dynamic = "force-static"`, static export) always
38
+ * get an empty, untracked query, as the server renders them.
39
+ *
40
+ * This module runs in the browser, so it must not import server-only modules.
41
+ */
42
+ const isServer = typeof window === "undefined";
43
+ function isCacheComponentsEnabled() {
44
+ return String(process.env.__NEXT_CACHE_COMPONENTS) === "true";
45
+ }
46
+ /**
47
+ * Build an untracked `searchParams` promise, like Next.js 15's browser
48
+ * `makeUntrackedExoticSearchParams`: a settled promise whose query keys are
49
+ * also readable synchronously, except names Promise and React rely on.
50
+ *
51
+ * It matches the SSR thenable (`makeThenableParams`) wherever a page could
52
+ * tell them apart during hydration, so it is a proxy in the same way: the
53
+ * query keys are virtual, and the promise's methods run on the promise
54
+ * itself. As real own properties, a `constructor` key would replace the
55
+ * promise's species, and `await` would throw.
56
+ */
57
+ function createClientPageSearchParams(searchParams) {
58
+ const record = { ...searchParamsToRecord(searchParams) };
59
+ const promise = Promise.resolve(record);
60
+ const isQueryKey = (prop) => typeof prop === "string" && !isWellKnownProperty(prop) && Object.hasOwn(record, prop);
61
+ return new Proxy(promise, {
62
+ get(target, prop, receiver) {
63
+ if (isQueryKey(prop)) return record[prop];
64
+ const value = Reflect.get(target, prop);
65
+ if (typeof value !== "function") return value;
66
+ return value.bind(isOwnPropertyCheck(prop) ? receiver : target);
67
+ },
68
+ getOwnPropertyDescriptor(target, prop) {
69
+ return isQueryKey(prop) ? {
70
+ configurable: true,
71
+ enumerable: true,
72
+ value: record[prop],
73
+ writable: true
74
+ } : Reflect.getOwnPropertyDescriptor(target, prop);
75
+ },
76
+ has(target, prop) {
77
+ return isQueryKey(prop) || Reflect.has(target, prop);
78
+ },
79
+ ownKeys() {
80
+ return Object.keys(record).filter((key) => !isWellKnownProperty(key));
81
+ }
82
+ });
83
+ }
84
+ const browserSearchParams = /* @__PURE__ */ new WeakMap();
85
+ function useBrowserSearchParams(pageProps, emptySearchParams) {
86
+ const cached = browserSearchParams.get(pageProps);
87
+ if (cached) return cached;
88
+ let search = null;
89
+ if (!emptySearchParams) {
90
+ const context = getClientNavigationRenderContext();
91
+ const snapshot = context ? use(context) : null;
92
+ search = use(RenderedSearchContext) ?? (snapshot ? snapshot.renderedSearch ?? snapshot.search : window.location.search);
93
+ }
94
+ const searchParams = createClientPageSearchParams(search === null ? null : new URLSearchParams(search));
95
+ browserSearchParams.set(pageProps, searchParams);
96
+ return searchParams;
97
+ }
98
+ /**
99
+ * Cache Components hands a client page the query `useSearchParams()` returns,
100
+ * not the one its payload rendered, so a rewritten query stays internal.
101
+ */
102
+ function useCanonicalSearchParams(emptySearchParams) {
103
+ const urlSearchParams = useSearchParams();
104
+ return useMemo(() => createClientPageSearchParams(emptySearchParams ? null : urlSearchParams), [emptySearchParams, urlSearchParams]);
105
+ }
106
+ function ClientPageRoot({ Component, pageProps, emptySearchParams }) {
107
+ let searchParams;
108
+ if (!isServer) searchParams = isCacheComponentsEnabled() ? useCanonicalSearchParams(emptySearchParams === true) : useBrowserSearchParams(pageProps, emptySearchParams === true);
109
+ else if (emptySearchParams === true) searchParams = createClientPageSearchParams(null);
110
+ else searchParams = getNavigationContext()?.getClientPageSearchParams?.(pageProps) ?? createClientPageSearchParams(null);
111
+ return useMemo(() => createElement(Component, {
112
+ ...pageProps,
113
+ searchParams
114
+ }), [
115
+ Component,
116
+ pageProps,
117
+ searchParams
118
+ ]);
119
+ }
120
+ //#endregion
121
+ export { ClientPageRoot, createClientPageSearchParams };
@@ -10,6 +10,5 @@ import { NextRouter } from "./router.js";
10
10
  *
11
11
  * @returns The `NextRouter` instance if it's available, otherwise `null`.
12
12
  */
13
- declare function useRouter(): NextRouter | null;
14
- //#endregion
15
- export { useRouter };
13
+ export declare function useRouter(): NextRouter | null;
14
+ //#endregion
@@ -18,11 +18,10 @@ type RuntimeConfig = {
18
18
  * Set the runtime config. Called during app bootstrap (by the plugin)
19
19
  * with values from next.config.js.
20
20
  */
21
- declare function setConfig(configValue: RuntimeConfig): void;
21
+ export declare function setConfig(configValue: RuntimeConfig): void;
22
22
  /**
23
23
  * Get the current runtime config.
24
24
  * Default export — matches `import getConfig from "next/config"`.
25
25
  */
26
- declare function getConfig(): RuntimeConfig;
27
- //#endregion
28
- export { getConfig as default, setConfig };
26
+ export default function getConfig(): RuntimeConfig;
27
+ //#endregion