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
@@ -1,5 +1,20 @@
1
1
  //#region src/shims/internal/app-page-props-cache-key.ts
2
2
  const APP_PAGE_PROPS_CACHE_KEY_MARKER = Symbol.for("vinext.appPagePropsCacheKeyMarker");
3
+ const USE_CACHE_FUNCTION_SYMBOL = Symbol.for("vinext.useCacheFunction");
4
+ const SERVER_REFERENCE_TAG = Symbol.for("react.server.reference");
5
+ /**
6
+ * Server reference ids of transformed cache functions end in the export name
7
+ * the use-cache transform assigns (`secureExportName` in
8
+ * plugins/use-cache-callable.ts): `$$vinext_cache_` plus an HMAC-SHA256 hex
9
+ * digest. `"use server"` actions keep their own export names.
10
+ */
11
+ const USE_CACHE_SERVER_REFERENCE_ID_RE = /#\$\$vinext_cache_[0-9a-f]{64}$/;
12
+ /**
13
+ * Enumerable page marker, matching Next.js's `$$isPage` prop. It must be an
14
+ * ordinary string key: React's createElement drops symbol and non-enumerable
15
+ * props before a server component is invoked.
16
+ */
17
+ const APP_PAGE_USE_CACHE_MARKER = "$$isPage";
3
18
  function markAppPagePropsForUseCache(props) {
4
19
  Object.defineProperty(props, APP_PAGE_PROPS_CACHE_KEY_MARKER, {
5
20
  configurable: false,
@@ -12,5 +27,42 @@ function markAppPagePropsForUseCache(props) {
12
27
  function isMarkedAppPagePropsObject(value) {
13
28
  return Reflect.get(value, APP_PAGE_PROPS_CACHE_KEY_MARKER) === true;
14
29
  }
30
+ /**
31
+ * Whether `fn` is a transformed `"use cache"` function, including a bound
32
+ * one. Like Next.js's `isUseCacheFunction`, this survives `.bind()`: React's
33
+ * server-reference `bind` copies `$$typeof`/`$$id` to the bound function but
34
+ * not vinext's own marker symbol.
35
+ */
36
+ function isUseCacheFunctionReference(fn) {
37
+ if (typeof fn !== "function") return false;
38
+ if (Reflect.get(fn, USE_CACHE_FUNCTION_SYMBOL) === true) return true;
39
+ const reference = fn;
40
+ return reference.$$typeof === SERVER_REFERENCE_TAG && typeof reference.$$id === "string" && USE_CACHE_SERVER_REFERENCE_ID_RE.test(reference.$$id);
41
+ }
42
+ /**
43
+ * Add Next.js's `$$isPage` marker when `fn` is a `"use cache"` function
44
+ * invoked as a page component or as a page's generateMetadata/generateViewport
45
+ * (create-component-tree.tsx, resolve-metadata.ts `createSegmentProps`). The
46
+ * cache wrapper reads and removes it, so page semantics follow the invocation
47
+ * even when the cached function is defined in (or re-exported from) another
48
+ * module, or bound.
49
+ */
50
+ function withUseCachePageMarker(fn, props) {
51
+ return isUseCacheFunctionReference(fn) ? {
52
+ ...props,
53
+ [APP_PAGE_USE_CACHE_MARKER]: true
54
+ } : props;
55
+ }
56
+ /**
57
+ * Whether `value` is page props carrying the `$$isPage` marker. Only plain
58
+ * objects qualify: the framework always passes a plain props object, and
59
+ * reading the marker through a thenable params/searchParams proxy would be
60
+ * observed as a param access.
61
+ */
62
+ function hasUseCachePageMarker(value) {
63
+ if (value === null || typeof value !== "object") return false;
64
+ const prototype = Object.getPrototypeOf(value);
65
+ return (prototype === Object.prototype || prototype === null) && value["$$isPage"] === true;
66
+ }
15
67
  //#endregion
16
- export { isMarkedAppPagePropsObject, markAppPagePropsForUseCache };
68
+ export { APP_PAGE_USE_CACHE_MARKER, hasUseCachePageMarker, isMarkedAppPagePropsObject, isUseCacheFunctionReference, markAppPagePropsForUseCache, withUseCachePageMarker };
@@ -1,13 +1,13 @@
1
1
  //#region src/shims/internal/app-prefetch-fetch-queue.d.ts
2
- declare function releaseAppPrefetchFetchSlot(response: Response): void;
2
+ export declare function releaseAppPrefetchFetchSlot(response: Response): void;
3
3
  /**
4
4
  * Low-priority App Router prefetches share a small request queue. The consumer
5
5
  * must either snapshot the returned Response with snapshotRscResponse() or call
6
6
  * releaseAppPrefetchFetchSlot() when it drops the response without consuming it.
7
7
  */
8
- declare function scheduleAppPrefetchFetch(fetcher: (signal: AbortSignal) => Promise<Response>, priority: "low" | "high"): Promise<Response>;
8
+ export declare function scheduleAppPrefetchFetch(fetcher: (signal: AbortSignal) => Promise<Response>, priority: "low" | "high"): Promise<Response>;
9
9
  /** Cancel a queued or in-flight prefetch request. No-op once it has settled. */
10
- declare function cancelAppPrefetchFetch(promise: Promise<Response> | undefined): void;
10
+ export declare function cancelAppPrefetchFetch(promise: Promise<Response> | undefined): void;
11
11
  /**
12
12
  * Start a still-queued prefetch request immediately.
13
13
  *
@@ -20,6 +20,5 @@ declare function cancelAppPrefetchFetch(promise: Promise<Response> | undefined):
20
20
  *
21
21
  * No-op when the request has already started or was never queued.
22
22
  */
23
- declare function promoteAppPrefetchFetch(promise: Promise<Response> | undefined): void;
24
- //#endregion
25
- export { cancelAppPrefetchFetch, promoteAppPrefetchFetch, releaseAppPrefetchFetchSlot, scheduleAppPrefetchFetch };
23
+ export declare function promoteAppPrefetchFetch(promise: Promise<Response> | undefined): void;
24
+ //#endregion
@@ -1,25 +1,13 @@
1
1
  //#region src/shims/internal/app-prefetch-rsc-request.d.ts
2
- type ResolveAppPrefetchRscRequestOptions = {
3
- canUseCanonicalLoadingShell: boolean;
2
+ export type ResolveAppPrefetchRscRequestOptions = {
4
3
  fullHref: string;
5
4
  headers: Headers;
6
- interceptionContext: string | null;
7
- mountedSlotsHeader: string | null;
8
- prefetchInlining: boolean;
9
- requiresRouteTreePrefetch: boolean;
10
5
  rewrittenPrefetchHref: string | null;
11
6
  };
12
- type ResolvedAppPrefetchRscRequest = {
7
+ export type ResolvedAppPrefetchRscRequest = {
13
8
  additionalRscUrls: string[];
14
9
  rscUrl: string;
15
- usesCanonicalPrewarmedRequest: boolean;
16
10
  };
17
- /**
18
- * Resolve the RSC request identity shared by `<Link>` and `router.prefetch()`.
19
- * Only full routes and ordinary loading shells without request-specific
20
- * context can reuse deploy-prewarmed CDN entries. Contextual requests retain
21
- * their varying headers and deterministic `_rsc` digest.
22
- */
23
- declare function resolveAppPrefetchRscRequest({ canUseCanonicalLoadingShell, fullHref, headers, interceptionContext, mountedSlotsHeader, prefetchInlining, requiresRouteTreePrefetch, rewrittenPrefetchHref }: ResolveAppPrefetchRscRequestOptions): Promise<ResolvedAppPrefetchRscRequest>;
24
- //#endregion
25
- export { ResolveAppPrefetchRscRequestOptions, ResolvedAppPrefetchRscRequest, resolveAppPrefetchRscRequest };
11
+ /** Resolve the ordinary RSC request identities shared by `<Link>` and `router.prefetch()`. */
12
+ export declare function resolveAppPrefetchRscRequest({ fullHref, headers, rewrittenPrefetchHref }: ResolveAppPrefetchRscRequestOptions): Promise<ResolvedAppPrefetchRscRequest>;
13
+ //#endregion
@@ -1,20 +1,11 @@
1
- import { canonicalizeLoadingShellRscRequestHeaders, canonicalizePrewarmableRscRequestHeaders, createCanonicalRscRequestUrl, createRscRequestUrl } from "../../server/app-rsc-cache-busting.js";
1
+ import { createRscRequestUrl } from "../../server/app-rsc-cache-busting.js";
2
2
  //#region src/shims/internal/app-prefetch-rsc-request.ts
3
- /**
4
- * Resolve the RSC request identity shared by `<Link>` and `router.prefetch()`.
5
- * Only full routes and ordinary loading shells without request-specific
6
- * context can reuse deploy-prewarmed CDN entries. Contextual requests retain
7
- * their varying headers and deterministic `_rsc` digest.
8
- */
9
- async function resolveAppPrefetchRscRequest({ canUseCanonicalLoadingShell, fullHref, headers, interceptionContext, mountedSlotsHeader, prefetchInlining, requiresRouteTreePrefetch, rewrittenPrefetchHref }) {
10
- const canUseCanonicalSharedRequest = process.env.__NEXT_CONFIG_OUTPUT !== "export" && process.env.__VINEXT_CANONICAL_RSC_REQUESTS === "1" && interceptionContext === null && mountedSlotsHeader === null && (rewrittenPrefetchHref === null || rewrittenPrefetchHref === fullHref) && !requiresRouteTreePrefetch && !prefetchInlining;
11
- const usesCanonicalLoadingShell = canUseCanonicalSharedRequest && canUseCanonicalLoadingShell && canonicalizeLoadingShellRscRequestHeaders(headers);
12
- const usesCanonicalFullRoute = canUseCanonicalSharedRequest && !usesCanonicalLoadingShell && canonicalizePrewarmableRscRequestHeaders(headers);
13
- const [rscUrl, ...additionalRscUrls] = await Promise.all([usesCanonicalFullRoute ? createCanonicalRscRequestUrl(fullHref) : createRscRequestUrl(fullHref, headers), ...rewrittenPrefetchHref !== null && rewrittenPrefetchHref !== fullHref ? [createRscRequestUrl(rewrittenPrefetchHref, headers)] : []]);
3
+ /** Resolve the ordinary RSC request identities shared by `<Link>` and `router.prefetch()`. */
4
+ async function resolveAppPrefetchRscRequest({ fullHref, headers, rewrittenPrefetchHref }) {
5
+ const [rscUrl, ...additionalRscUrls] = await Promise.all([createRscRequestUrl(fullHref, headers), ...rewrittenPrefetchHref !== null && rewrittenPrefetchHref !== fullHref ? [createRscRequestUrl(rewrittenPrefetchHref, headers)] : []]);
14
6
  return {
15
7
  additionalRscUrls,
16
- rscUrl,
17
- usesCanonicalPrewarmedRequest: usesCanonicalLoadingShell || usesCanonicalFullRoute
8
+ rscUrl
18
9
  };
19
10
  }
20
11
  //#endregion
@@ -18,6 +18,6 @@ declare global {
18
18
  * first (e.g. `link.tsx` normalises to match `trailingSlash` config before
19
19
  * calling, while `router.prefetch()` passes the raw user-supplied URL).
20
20
  */
21
- declare function markAppRouteDetectedOnPrefetch(href: string, basePath: string): Promise<void>;
21
+ export declare function markAppRouteDetectedOnPrefetch(href: string, basePath: string): Promise<void>;
22
22
  //#endregion
23
- export { getPagesRouterComponentsMap, markAppRouteDetectedOnPrefetch };
23
+ export { getPagesRouterComponentsMap };
@@ -10,10 +10,8 @@ declare global {
10
10
  * it at all, whether the response is reusable by a later navigation, and which
11
11
  * cache TTL family applies.
12
12
  */
13
- type AppRoutePrefetchPolicy = {
13
+ export type AppRoutePrefetchPolicy = {
14
14
  cacheForNavigation: boolean;
15
- /** The selected loading shell has the canonical deploy-warmed identity. */
16
- canUseCanonicalLoadingShell?: true;
17
15
  /**
18
16
  * How the dynamic stale-time signal affects this prefetch. Navigation data
19
17
  * takes it verbatim, explicit full prefetches fall back to the static window
@@ -27,8 +25,7 @@ type AppRoutePrefetchPolicy = {
27
25
  requiresRouteTreePrefetch?: true;
28
26
  shouldPrefetch: boolean;
29
27
  };
30
- declare function canAutoPrefetchFullAppRoute(href: string): boolean;
31
- declare function resolveAutoAppRoutePrefetch(href: string): AppRoutePrefetchPolicy;
32
- declare function resolveFullAppRoutePrefetch(): AppRoutePrefetchPolicy;
33
- //#endregion
34
- export { AppRoutePrefetchPolicy, canAutoPrefetchFullAppRoute, resolveAutoAppRoutePrefetch, resolveFullAppRoutePrefetch };
28
+ export declare function canAutoPrefetchFullAppRoute(href: string): boolean;
29
+ export declare function resolveAutoAppRoutePrefetch(href: string): AppRoutePrefetchPolicy;
30
+ export declare function resolveFullAppRoutePrefetch(): AppRoutePrefetchPolicy;
31
+ //#endregion
@@ -45,7 +45,6 @@ function resolveAutoAppRoutePrefetch(href) {
45
45
  const cacheForNavigation = !hasSearchParams && !hasCacheComponentsLearningOnlyDynamicPath && (requiresRouteTreePrefetch || !route.canPrefetchLoadingShell && route.requiresDynamicNavigationRequest !== true);
46
46
  return {
47
47
  cacheForNavigation,
48
- ...route.canUseCanonicalLoadingShell === true ? { canUseCanonicalLoadingShell: true } : {},
49
48
  dynamicStaleTime: cacheForNavigation ? "verbatim" : "ignore",
50
49
  fallbackTtl: "static",
51
50
  prefetchShellFirst: requiresRouteTreePrefetch || hasSearchParams || !route.isDynamic,
@@ -1,13 +1,13 @@
1
1
  import * as React$1 from "react";
2
2
  //#region src/shims/internal/app-router-context.d.ts
3
- type NavigateOptions = {
3
+ export type NavigateOptions = {
4
4
  scroll?: boolean;
5
5
  };
6
- type PrefetchOptions = {
6
+ export type PrefetchOptions = {
7
7
  kind?: unknown;
8
8
  onInvalidate?: () => void;
9
9
  };
10
- type AppRouterInstance = {
10
+ export type AppRouterInstance = {
11
11
  bfcacheId: string;
12
12
  back(): void;
13
13
  forward(): void;
@@ -21,10 +21,9 @@ type AppRouterInstance = {
21
21
  */
22
22
  experimental_gesturePush?(href: string, options?: NavigateOptions): void;
23
23
  };
24
- declare const AppRouterContext: React$1.Context<AppRouterInstance | null> | null;
25
- declare const GlobalLayoutRouterContext: React$1.Context<unknown> | null;
26
- declare const LayoutRouterContext: React$1.Context<unknown> | null;
27
- declare const MissingSlotContext: React$1.Context<Set<string>> | null;
28
- declare const TemplateContext: React$1.Context<unknown> | null;
29
- //#endregion
30
- export { AppRouterContext, AppRouterInstance, GlobalLayoutRouterContext, LayoutRouterContext, MissingSlotContext, NavigateOptions, PrefetchOptions, TemplateContext };
24
+ export declare const AppRouterContext: React$1.Context<AppRouterInstance | null> | null;
25
+ export declare const GlobalLayoutRouterContext: React$1.Context<unknown> | null;
26
+ export declare const LayoutRouterContext: React$1.Context<unknown> | null;
27
+ export declare const MissingSlotContext: React$1.Context<Set<string>> | null;
28
+ export declare const TemplateContext: React$1.Context<unknown> | null;
29
+ //#endregion
@@ -0,0 +1,16 @@
1
+ import { CacheLifeConfig } from "../cache-request-state.js";
2
+ //#region src/shims/internal/cache-context-accessor.d.ts
3
+ type CacheContextLike = {
4
+ tags: string[];
5
+ lifeConfigs: CacheLifeConfig[];
6
+ variant: string;
7
+ readRootParamNames?: Set<string>;
8
+ hasExplicitRevalidate: boolean;
9
+ hasExplicitExpire: boolean;
10
+ dynamicNestedCacheError: Error | undefined;
11
+ };
12
+ export declare function _registerCacheContextAccessor(fn: () => CacheContextLike | null): void;
13
+ export declare function getRegisteredCacheContext(): CacheContextLike | null;
14
+ /** Record a root-param dependency on the active public `"use cache"` scope. */
15
+ export declare function _recordUseCacheRootParamRead(name: string): void;
16
+ //#endregion
@@ -0,0 +1,15 @@
1
+ //#region src/shims/internal/cache-context-accessor.ts
2
+ let getCacheContext = null;
3
+ function _registerCacheContextAccessor(fn) {
4
+ getCacheContext = fn;
5
+ }
6
+ function getRegisteredCacheContext() {
7
+ return getCacheContext?.() ?? null;
8
+ }
9
+ /** Record a root-param dependency on the active public `"use cache"` scope. */
10
+ function _recordUseCacheRootParamRead(name) {
11
+ const context = getRegisteredCacheContext();
12
+ if (context && context.variant !== "private") context.readRootParamNames?.add(name);
13
+ }
14
+ //#endregion
15
+ export { _recordUseCacheRootParamRead, _registerCacheContextAccessor, getRegisteredCacheContext };
@@ -24,12 +24,12 @@ type SerializeSetCookieOptions = {
24
24
  partitioned?: boolean;
25
25
  priority?: "low" | "medium" | "high";
26
26
  };
27
- declare function validateCookieName(name: string): void;
27
+ export declare function validateCookieName(name: string): void;
28
28
  /**
29
29
  * Validate cookie attribute values (path, domain) to prevent injection
30
30
  * via semicolons, newlines, or other control characters.
31
31
  */
32
- declare function validateCookieAttributeValue(value: string, attributeName: string): void;
32
+ export declare function validateCookieAttributeValue(value: string, attributeName: string): void;
33
33
  /**
34
34
  * Build a Set-Cookie header string from a cookie name, value, and attributes.
35
35
  *
@@ -43,6 +43,5 @@ declare function validateCookieAttributeValue(value: string, attributeName: stri
43
43
  * The caller is responsible for validating the cookie name (typically before
44
44
  * mutating any internal state) via `validateCookieName`.
45
45
  */
46
- declare function serializeSetCookie(name: string, value: string | null | undefined, options?: SerializeSetCookieOptions): string;
47
- //#endregion
48
- export { serializeSetCookie, validateCookieAttributeValue, validateCookieName };
46
+ export declare function serializeSetCookie(name: string, value: string | null | undefined, options?: SerializeSetCookieOptions): string;
47
+ //#endregion
@@ -0,0 +1,7 @@
1
+ import { UrlObject } from "node:url";
2
+ //#region src/shims/internal/format-url-object.d.ts
3
+ /** Format Node's public UrlObject shape with the semantics used by Next.js. */
4
+ export declare function formatUrlObject(url: UrlObject): string;
5
+ /** Format a Pages Router UrlObject and surface Next.js's development diagnostics. */
6
+ export declare function formatUrlObjectWithValidation(url: UrlObject): string;
7
+ //#endregion
@@ -0,0 +1,53 @@
1
+ import { urlQueryToSearchParams } from "../../utils/query.js";
2
+ //#region src/shims/internal/format-url-object.ts
3
+ const slashedProtocols = /https?|ftp|gopher|file/;
4
+ const urlObjectKeys = /* @__PURE__ */ new Set([
5
+ "auth",
6
+ "hash",
7
+ "host",
8
+ "hostname",
9
+ "href",
10
+ "path",
11
+ "pathname",
12
+ "port",
13
+ "protocol",
14
+ "query",
15
+ "search",
16
+ "slashes"
17
+ ]);
18
+ /** Format Node's public UrlObject shape with the semantics used by Next.js. */
19
+ function formatUrlObject(url) {
20
+ let { auth, hostname } = url;
21
+ let protocol = url.protocol || "";
22
+ let pathname = url.pathname || "";
23
+ let hash = url.hash || "";
24
+ let query = url.query || "";
25
+ let host = false;
26
+ auth = auth ? `${encodeURIComponent(auth).replace(/%3A/i, ":")}@` : "";
27
+ if (url.host) host = auth + url.host;
28
+ else if (hostname) {
29
+ host = auth + (hostname.includes(":") ? `[${hostname}]` : hostname);
30
+ if (url.port) host += `:${url.port}`;
31
+ }
32
+ if (query && typeof query === "object") query = String(urlQueryToSearchParams(query));
33
+ let search = url.search || query && `?${query}` || "";
34
+ if (protocol && !protocol.endsWith(":")) protocol += ":";
35
+ if (url.slashes || (!protocol || slashedProtocols.test(protocol)) && host !== false) {
36
+ host = `//${host || ""}`;
37
+ if (pathname && !pathname.startsWith("/")) pathname = `/${pathname}`;
38
+ } else if (!host) host = "";
39
+ if (hash && !hash.startsWith("#")) hash = `#${hash}`;
40
+ if (search && !search.startsWith("?")) search = `?${search}`;
41
+ pathname = pathname.replace(/[?#]/g, encodeURIComponent);
42
+ search = search.replace("#", "%23");
43
+ return `${protocol}${host}${pathname}${search}${hash}`;
44
+ }
45
+ /** Format a Pages Router UrlObject and surface Next.js's development diagnostics. */
46
+ function formatUrlObjectWithValidation(url) {
47
+ if (process.env.NODE_ENV === "development") {
48
+ for (const key of Object.keys(url)) if (!urlObjectKeys.has(key)) console.warn(`Unknown key passed via urlObject into url.format: ${key}`);
49
+ }
50
+ return formatUrlObject(url);
51
+ }
52
+ //#endregion
53
+ export { formatUrlObject, formatUrlObjectWithValidation };
@@ -0,0 +1,74 @@
1
+ import { RenderRequestApiKind } from "../../server/cache-proof.js";
2
+ import { HeadersContext } from "../headers.js";
3
+ //#region src/shims/internal/headers-state.d.ts
4
+ export type HeadersAccessPhase = "render" | "action" | "route-handler";
5
+ /**
6
+ * Whether the current render has used a dynamic API. Unlike
7
+ * `dynamicUsageDetected`, nothing clears it, and one object is shared by every
8
+ * child scope of the request, so usage inside isolated scopes (such as the
9
+ * layout probe) stays visible to later readers.
10
+ */
11
+ export type RenderDynamicLatch = {
12
+ dynamic: boolean;
13
+ listeners: Set<() => void>;
14
+ };
15
+ export declare function createRenderDynamicLatch(): RenderDynamicLatch;
16
+ export type VinextHeadersShimState = {
17
+ headersContext: HeadersContext | null;
18
+ dynamicUsageDetected: boolean;
19
+ renderDynamicLatch: RenderDynamicLatch;
20
+ renderRequestApiUsage: Set<RenderRequestApiKind>;
21
+ connectionProbe: ConnectionProbeState | null;
22
+ /** Error recorded by throwIfInsideCacheScope for dev diagnostics, persists even if caught by user code. */
23
+ invalidDynamicUsageError: unknown;
24
+ pendingSetCookies: string[];
25
+ draftModeCookieHeader: string | null;
26
+ phase: HeadersAccessPhase;
27
+ };
28
+ export type ConnectionProbeState = {
29
+ active: boolean;
30
+ dynamicUsageTarget: VinextHeadersShimState;
31
+ interrupted: boolean;
32
+ interrupt: () => void;
33
+ pending: Promise<never>;
34
+ };
35
+ export type ConnectionProbeResult<T> = {
36
+ completed: true;
37
+ result: T;
38
+ } | {
39
+ completed: false;
40
+ };
41
+ export declare const headersShimAls: import("node:async_hooks").AsyncLocalStorage<VinextHeadersShimState>;
42
+ export declare function getHeadersShimState(): VinextHeadersShimState;
43
+ /**
44
+ * Dynamic usage flag — set when a component calls connection(), cookies(),
45
+ * headers(), or noStore() during rendering. When true, ISR caching is
46
+ * bypassed and the response gets Cache-Control: no-store.
47
+ */
48
+ /**
49
+ * Mark the current render as requiring dynamic (uncached) rendering.
50
+ * Called by connection(), cookies(), headers(), and noStore().
51
+ */
52
+ export declare function markDynamicUsage(): void;
53
+ /** Whether the current render has used a dynamic API at any point so far. */
54
+ export declare function isRenderDynamicLatched(): boolean;
55
+ /**
56
+ * Call `listener` once when the current render first uses a dynamic API.
57
+ * Returns an unsubscribe function. The listener never runs if the render is
58
+ * already latched; check `isRenderDynamicLatched()` first.
59
+ */
60
+ export declare function onRenderDynamicLatched(listener: () => void): () => void;
61
+ export declare function markRenderRequestApiUsage(kind: RenderRequestApiKind): void;
62
+ export declare function throwIfStaticGenerationAccessError(): void;
63
+ /** Whether work is executing inside a cache boundary that owns its reuse. */
64
+ export declare function isInsideAnyCacheScope(): boolean;
65
+ /**
66
+ * Throw if the current execution is inside a "use cache" or unstable_cache()
67
+ * scope. Called by dynamic request APIs (headers, cookies, connection) to
68
+ * prevent request-specific data from being frozen into cached results.
69
+ *
70
+ * @param apiName - The name of the API being called (e.g. "connection()")
71
+ */
72
+ export declare function throwIfInsideCacheScope(apiName: string): void;
73
+ export declare function getHeadersAccessPhase(): HeadersAccessPhase;
74
+ //#endregion
@@ -0,0 +1,157 @@
1
+ import { getOrCreateAls } from "./als-registry.js";
2
+ import { ensureRenderDynamicLatch, getRequestContext, isInsideUnifiedScope } from "../unified-request-context.js";
3
+ //#region src/shims/internal/headers-state.ts
4
+ function createRenderDynamicLatch() {
5
+ return {
6
+ dynamic: false,
7
+ listeners: /* @__PURE__ */ new Set()
8
+ };
9
+ }
10
+ const _FALLBACK_KEY = Symbol.for("vinext.nextHeadersShim.fallback");
11
+ const _g = globalThis;
12
+ const headersShimAls = getOrCreateAls("vinext.nextHeadersShim.als");
13
+ const _fallbackState = _g[_FALLBACK_KEY] ??= {
14
+ headersContext: null,
15
+ dynamicUsageDetected: false,
16
+ renderDynamicLatch: createRenderDynamicLatch(),
17
+ renderRequestApiUsage: /* @__PURE__ */ new Set(),
18
+ connectionProbe: null,
19
+ invalidDynamicUsageError: null,
20
+ pendingSetCookies: [],
21
+ draftModeCookieHeader: null,
22
+ phase: "render"
23
+ };
24
+ function getHeadersShimState() {
25
+ if (isInsideUnifiedScope()) return getRequestContext();
26
+ return headersShimAls.getStore() ?? _fallbackState;
27
+ }
28
+ /**
29
+ * Dynamic usage flag — set when a component calls connection(), cookies(),
30
+ * headers(), or noStore() during rendering. When true, ISR caching is
31
+ * bypassed and the response gets Cache-Control: no-store.
32
+ */
33
+ /**
34
+ * Mark the current render as requiring dynamic (uncached) rendering.
35
+ * Called by connection(), cookies(), headers(), and noStore().
36
+ */
37
+ function markDynamicUsage() {
38
+ const state = getHeadersShimState();
39
+ if (state.headersContext?.forceStatic) return;
40
+ state.dynamicUsageDetected = true;
41
+ const latches = [ensureRenderDynamicLatch(state)];
42
+ forEachConnectionProbeTarget(state, (target) => {
43
+ target.dynamicUsageDetected = true;
44
+ latches.push(ensureRenderDynamicLatch(target));
45
+ });
46
+ for (const latch of latches) latchRenderDynamic(latch);
47
+ }
48
+ function latchRenderDynamic(latch) {
49
+ if (latch.dynamic) return;
50
+ latch.dynamic = true;
51
+ const listeners = [...latch.listeners];
52
+ latch.listeners.clear();
53
+ for (const listener of listeners) try {
54
+ listener();
55
+ } catch (error) {
56
+ console.error(error);
57
+ }
58
+ }
59
+ /** Whether the current render has used a dynamic API at any point so far. */
60
+ function isRenderDynamicLatched() {
61
+ return ensureRenderDynamicLatch(getHeadersShimState()).dynamic;
62
+ }
63
+ /**
64
+ * Call `listener` once when the current render first uses a dynamic API.
65
+ * Returns an unsubscribe function. The listener never runs if the render is
66
+ * already latched; check `isRenderDynamicLatched()` first.
67
+ */
68
+ function onRenderDynamicLatched(listener) {
69
+ const latch = ensureRenderDynamicLatch(getHeadersShimState());
70
+ if (latch.dynamic) return () => {};
71
+ latch.listeners.add(listener);
72
+ return () => {
73
+ latch.listeners.delete(listener);
74
+ };
75
+ }
76
+ function forEachConnectionProbeTarget(state, visit) {
77
+ let target = state.connectionProbe?.dynamicUsageTarget ?? null;
78
+ const seen = /* @__PURE__ */ new Set([state]);
79
+ while (target && !seen.has(target)) {
80
+ seen.add(target);
81
+ visit(target);
82
+ target = target.connectionProbe?.dynamicUsageTarget ?? null;
83
+ }
84
+ }
85
+ function propagateInvalidDynamicUsageError(state, error) {
86
+ forEachConnectionProbeTarget(state, (target) => {
87
+ if (target.invalidDynamicUsageError == null) target.invalidDynamicUsageError = error;
88
+ });
89
+ }
90
+ function markRenderRequestApiUsage(kind) {
91
+ getHeadersShimState().renderRequestApiUsage.add(kind);
92
+ }
93
+ function throwIfStaticGenerationAccessError() {
94
+ const accessError = getHeadersShimState().headersContext?.accessError;
95
+ if (accessError) throw accessError;
96
+ }
97
+ /** Symbol used by cache-runtime.ts to store the "use cache" ALS on globalThis */
98
+ const _USE_CACHE_ALS_KEY = Symbol.for("vinext.cacheRuntime.contextAls");
99
+ /** Symbol used by cache.ts to store the unstable_cache ALS on globalThis */
100
+ const _UNSTABLE_CACHE_ALS_KEY = Symbol.for("vinext.unstableCache.als");
101
+ function _getGlobalCacheScopeStore(key) {
102
+ const value = Reflect.get(globalThis, key);
103
+ if (!value || typeof value !== "object") return null;
104
+ const getStore = Reflect.get(value, "getStore");
105
+ if (typeof getStore !== "function") return null;
106
+ return getStore.call(value);
107
+ }
108
+ function _getUseCacheGuardContext() {
109
+ const store = _getGlobalCacheScopeStore(_USE_CACHE_ALS_KEY);
110
+ if (!store || typeof store !== "object") return null;
111
+ return store;
112
+ }
113
+ function _isInsidePublicUseCache() {
114
+ const ctx = _getUseCacheGuardContext();
115
+ return ctx !== null && ctx.variant !== "private";
116
+ }
117
+ function _isInsideUnstableCache() {
118
+ return _getGlobalCacheScopeStore(_UNSTABLE_CACHE_ALS_KEY) === true;
119
+ }
120
+ /** Whether work is executing inside a cache boundary that owns its reuse. */
121
+ function isInsideAnyCacheScope() {
122
+ return _getUseCacheGuardContext() !== null || _isInsideUnstableCache();
123
+ }
124
+ /**
125
+ * Throw if the current execution is inside a "use cache" or unstable_cache()
126
+ * scope. Called by dynamic request APIs (headers, cookies, connection) to
127
+ * prevent request-specific data from being frozen into cached results.
128
+ *
129
+ * @param apiName - The name of the API being called (e.g. "connection()")
130
+ */
131
+ function throwIfInsideCacheScope(apiName) {
132
+ if (_isInsidePublicUseCache()) {
133
+ const error = /* @__PURE__ */ new Error(`\`${apiName}\` cannot be called inside "use cache". If you need this data inside a cached function, call \`${apiName}\` outside and pass the required data as an argument.`);
134
+ try {
135
+ const cacheCtx = _getUseCacheGuardContext();
136
+ if (cacheCtx) cacheCtx.invalidDynamicUsageError = error;
137
+ const ctx = getRequestContext();
138
+ if (ctx) ctx.invalidDynamicUsageError = error;
139
+ propagateInvalidDynamicUsageError(getHeadersShimState(), error);
140
+ } catch {}
141
+ throw error;
142
+ }
143
+ if (_isInsideUnstableCache()) {
144
+ const error = /* @__PURE__ */ new Error(`\`${apiName}\` cannot be called inside a function cached with \`unstable_cache()\`. If you need this data inside a cached function, call \`${apiName}\` outside and pass the required data as an argument.`);
145
+ try {
146
+ const ctx = getRequestContext();
147
+ if (ctx) ctx.invalidDynamicUsageError = error;
148
+ propagateInvalidDynamicUsageError(getHeadersShimState(), error);
149
+ } catch {}
150
+ throw error;
151
+ }
152
+ }
153
+ function getHeadersAccessPhase() {
154
+ return getHeadersShimState().phase;
155
+ }
156
+ //#endregion
157
+ export { createRenderDynamicLatch, getHeadersAccessPhase, getHeadersShimState, headersShimAls, isInsideAnyCacheScope, isRenderDynamicLatched, markDynamicUsage, markRenderRequestApiUsage, onRenderDynamicLatched, throwIfInsideCacheScope, throwIfStaticGenerationAccessError };
@@ -1,6 +1,6 @@
1
1
  import { VinextLinkPrefetchRoute, VinextPagesLinkPrefetchRoute } from "../../client/vinext-next-data.js";
2
2
  //#region src/shims/internal/hybrid-client-route-owner-direct.d.ts
3
- type HybridClientOwner = "app" | "document" | "pages";
3
+ export type HybridClientOwner = "app" | "document" | "pages";
4
4
  type HybridClientRouteMatches = {
5
5
  appMatch: VinextLinkPrefetchRoute | null;
6
6
  pagesMatch: VinextPagesLinkPrefetchRoute | null;
@@ -11,9 +11,8 @@ declare global {
11
11
  __VINEXT_PAGES_LINK_PREFETCH_ROUTES__?: VinextPagesLinkPrefetchRoute[];
12
12
  }
13
13
  }
14
- declare function resolveSameOriginAppPathname(href: string, basePath: string): string | null;
15
- declare function matchDirectHybridClientRoutes(href: string, basePath: string): HybridClientRouteMatches;
16
- declare function resolveMatchedHybridClientRouteOwner({ appMatch, pagesMatch }: HybridClientRouteMatches): HybridClientOwner | null;
17
- declare function resolveDirectHybridClientRouteOwner(href: string, basePath: string): HybridClientOwner | null;
18
- //#endregion
19
- export { HybridClientOwner, matchDirectHybridClientRoutes, resolveDirectHybridClientRouteOwner, resolveMatchedHybridClientRouteOwner, resolveSameOriginAppPathname };
14
+ export declare function resolveSameOriginAppPathname(href: string, basePath: string): string | null;
15
+ export declare function matchDirectHybridClientRoutes(href: string, basePath: string): HybridClientRouteMatches;
16
+ export declare function resolveMatchedHybridClientRouteOwner({ appMatch, pagesMatch }: HybridClientRouteMatches): HybridClientOwner | null;
17
+ export declare function resolveDirectHybridClientRouteOwner(href: string, basePath: string): HybridClientOwner | null;
18
+ //#endregion
@@ -1,6 +1,6 @@
1
1
  import { HybridClientOwner } from "./hybrid-client-route-owner-direct.js";
2
2
  //#region src/shims/internal/hybrid-client-route-owner.d.ts
3
- declare function resolveHybridClientRewriteHref(href: string, basePath: string): string | null;
3
+ export declare function resolveHybridClientRewriteHref(href: string, basePath: string): string | null;
4
4
  /**
5
5
  * Decide which router should own a soft-navigated URL. Returns:
6
6
  * - "app" → the App Router runtime handles the navigation (RSC fetch).
@@ -13,6 +13,6 @@ declare function resolveHybridClientRewriteHref(href: string, basePath: string):
13
13
  * matcher trie produces the same result the server will see when the
14
14
  * request lands.
15
15
  */
16
- declare function resolveHybridClientRouteOwner(href: string, basePath: string): HybridClientOwner | null;
16
+ export declare function resolveHybridClientRouteOwner(href: string, basePath: string): HybridClientOwner | null;
17
17
  //#endregion
18
- export { type HybridClientOwner, resolveHybridClientRewriteHref, resolveHybridClientRouteOwner };
18
+ export type { HybridClientOwner };
@@ -32,12 +32,13 @@ function resolveClientRewrite(href, basePath, rewrites, continueAfterMatch = fal
32
32
  if (pathname === null) return null;
33
33
  const url = new URL(currentHref, window.location.href);
34
34
  const headers = new Headers({ "user-agent": globalThis.navigator?.userAgent ?? "" });
35
- const result = matchClientRewrite(pathname, rewrite, {
35
+ const context = {
36
36
  cookies: parseCookies(globalThis.document?.cookie ?? ""),
37
37
  headers,
38
38
  host: url.hostname,
39
39
  query: url.searchParams
40
- }, basePathState);
40
+ };
41
+ const result = matchClientRewrite(pathname, rewrite, context, basePathState);
41
42
  if (result === null) continue;
42
43
  if (result.kind === "server") return { kind: "document" };
43
44
  currentHref = mergeRewriteQuery(currentHref, result.destination);