vinext 1.0.0-beta.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (800) hide show
  1. package/README.md +150 -92
  2. package/THIRD_PARTY_LICENSES.md +25 -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 +1 -13
  33. package/dist/build/precompress.d.ts +2 -3
  34. package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
  35. package/dist/build/prerender-cloudflare-loader.js +49 -0
  36. package/dist/build/prerender-paths.d.ts +36 -11
  37. package/dist/build/prerender-paths.js +273 -97
  38. package/dist/build/prerender-phase.d.ts +2 -3
  39. package/dist/build/prerender-server-entry.js +11 -3
  40. package/dist/build/prerender-server-pool.d.ts +9 -6
  41. package/dist/build/prerender-server-pool.js +8 -5
  42. package/dist/build/prerender.d.ts +65 -15
  43. package/dist/build/prerender.js +139 -43
  44. package/dist/build/preview-credentials.d.ts +5 -6
  45. package/dist/build/preview-credentials.js +2 -2
  46. package/dist/build/public-dir-conflict.d.ts +5 -6
  47. package/dist/build/public-dir-conflict.js +2 -1
  48. package/dist/build/report.d.ts +24 -20
  49. package/dist/build/report.js +10 -2
  50. package/dist/build/route-classification-injector.d.ts +2 -3
  51. package/dist/build/route-classification-manifest.d.ts +5 -6
  52. package/dist/build/run-prerender.d.ts +11 -9
  53. package/dist/build/run-prerender.js +25 -16
  54. package/dist/build/server-entry.d.ts +4 -0
  55. package/dist/build/server-entry.js +28 -0
  56. package/dist/build/server-manifest.d.ts +8 -3
  57. package/dist/build/server-manifest.js +14 -2
  58. package/dist/build/ssr-manifest.d.ts +5 -6
  59. package/dist/build/standalone.d.ts +2 -3
  60. package/dist/build/standalone.js +2 -2
  61. package/dist/build/static-export.d.ts +6 -7
  62. package/dist/cache/cache-adapters-virtual.d.ts +60 -20
  63. package/dist/cache/cache-adapters-virtual.js +50 -7
  64. package/dist/check.d.ts +11 -10
  65. package/dist/check.js +467 -176
  66. package/dist/cli-args.d.ts +7 -16
  67. package/dist/cli-args.js +2 -45
  68. package/dist/cli-dev-config.d.ts +10 -7
  69. package/dist/cli-dev-config.js +160 -3
  70. package/dist/cli.js +124 -442
  71. package/dist/client/app-nav-failure-handler.d.ts +6 -7
  72. package/dist/client/client-rewrite-matcher.d.ts +2 -3
  73. package/dist/client/client-rewrites.d.ts +4 -5
  74. package/dist/client/dev-error-overlay-store.d.ts +13 -14
  75. package/dist/client/dev-error-overlay.d.ts +15 -15
  76. package/dist/client/dev-error-overlay.js +8 -5
  77. package/dist/client/instrumentation-client-inject.d.ts +3 -4
  78. package/dist/client/instrumentation-client-state.d.ts +5 -6
  79. package/dist/client/instrumentation-client.d.ts +3 -4
  80. package/dist/client/navigation-runtime.d.ts +21 -17
  81. package/dist/client/navigation-runtime.js +2 -1
  82. package/dist/client/pages-router-link-navigation.d.ts +4 -5
  83. package/dist/client/react-instance.d.ts +2 -3
  84. package/dist/client/validate-module-path.d.ts +2 -3
  85. package/dist/client/vinext-next-data.d.ts +7 -10
  86. package/dist/client/window-next.d.ts +4 -5
  87. package/dist/config/config-matchers.d.ts +16 -16
  88. package/dist/config/config-matchers.js +2 -4
  89. package/dist/config/dotenv.d.ts +3 -4
  90. package/dist/config/dotenv.js +2 -1
  91. package/dist/config/next-config.d.ts +31 -27
  92. package/dist/config/next-config.js +163 -16
  93. package/dist/config/prerender.d.ts +20 -16
  94. package/dist/config/prerender.js +10 -4
  95. package/dist/config/request-context.d.ts +5 -6
  96. package/dist/config/server-external-packages.d.ts +14 -3
  97. package/dist/config/server-external-packages.js +37 -3
  98. package/dist/config/tsconfig-paths.d.ts +3 -4
  99. package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
  100. package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
  101. package/dist/entries/app-browser-entry.d.ts +4 -5
  102. package/dist/entries/app-browser-entry.js +1 -3
  103. package/dist/entries/app-rsc-entry.d.ts +10 -3
  104. package/dist/entries/app-rsc-entry.js +502 -51
  105. package/dist/entries/app-rsc-manifest.d.ts +4 -3
  106. package/dist/entries/app-rsc-manifest.js +26 -8
  107. package/dist/entries/app-ssr-entry.d.ts +2 -3
  108. package/dist/entries/app-ssr-entry.js +8 -1
  109. package/dist/entries/pages-client-entry.d.ts +3 -3
  110. package/dist/entries/pages-client-entry.js +17 -2
  111. package/dist/entries/pages-server-entry.d.ts +13 -3
  112. package/dist/entries/pages-server-entry.js +234 -33
  113. package/dist/entries/runtime-entry-module.d.ts +4 -5
  114. package/dist/image/image-adapters-virtual.d.ts +4 -5
  115. package/dist/index.d.ts +10 -11
  116. package/dist/index.js +711 -189
  117. package/dist/init-cloudflare.d.ts +26 -17
  118. package/dist/init-cloudflare.js +710 -102
  119. package/dist/init-platform.d.ts +26 -22
  120. package/dist/init-platform.js +85 -29
  121. package/dist/init.d.ts +19 -13
  122. package/dist/init.js +123 -41
  123. package/dist/plugins/action-owner-manifest.d.ts +3 -4
  124. package/dist/plugins/action-owner-manifest.js +10 -3
  125. package/dist/plugins/ast-scope.d.ts +10 -11
  126. package/dist/plugins/ast-scope.js +10 -22
  127. package/dist/plugins/ast-utils.d.ts +16 -29
  128. package/dist/plugins/ast-utils.js +27 -71
  129. package/dist/plugins/async-hooks-stub.d.ts +2 -3
  130. package/dist/plugins/client-reference-dedup.d.ts +4 -5
  131. package/dist/plugins/css-data-url.d.ts +2 -3
  132. package/dist/plugins/css-module-imports.d.ts +3 -4
  133. package/dist/plugins/css-module-imports.js +1 -1
  134. package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
  135. package/dist/plugins/dynamic-preload-metadata.js +55 -154
  136. package/dist/plugins/environment.d.ts +2 -3
  137. package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
  138. package/dist/plugins/extensionless-dynamic-import.js +6 -10
  139. package/dist/plugins/fonts.d.ts +10 -11
  140. package/dist/plugins/fonts.js +4 -3
  141. package/dist/plugins/ignore-dynamic-requests.d.ts +3 -4
  142. package/dist/plugins/ignore-dynamic-requests.js +60 -89
  143. package/dist/plugins/import-meta-url.d.ts +6 -7
  144. package/dist/plugins/import-meta-url.js +31 -43
  145. package/dist/plugins/instrumentation-client.d.ts +3 -3
  146. package/dist/plugins/instrumentation-client.js +46 -10
  147. package/dist/plugins/middleware-export-validation.d.ts +3 -4
  148. package/dist/plugins/middleware-export-validation.js +3 -3
  149. package/dist/plugins/middleware-server-only.d.ts +2 -3
  150. package/dist/plugins/og-asset-ownership.d.ts +3 -4
  151. package/dist/plugins/og-assets.d.ts +4 -5
  152. package/dist/plugins/og-assets.js +32 -13
  153. package/dist/plugins/og-harfbuzz.d.ts +24 -0
  154. package/dist/plugins/og-harfbuzz.js +260 -0
  155. package/dist/plugins/optimize-imports.d.ts +7 -7
  156. package/dist/plugins/optimize-imports.js +32 -44
  157. package/dist/plugins/pages-node-externals.d.ts +2 -3
  158. package/dist/plugins/pages-node-externals.js +6 -11
  159. package/dist/plugins/postcss.d.ts +8 -4
  160. package/dist/plugins/postcss.js +1 -1
  161. package/dist/plugins/remove-console.d.ts +2 -3
  162. package/dist/plugins/remove-console.js +0 -1
  163. package/dist/plugins/require-condition-resolution.d.ts +3 -4
  164. package/dist/plugins/require-condition-resolution.js +17 -18
  165. package/dist/plugins/require-context.d.ts +2 -3
  166. package/dist/plugins/require-context.js +13 -21
  167. package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
  168. package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
  169. package/dist/plugins/rsc-client-shim-excludes.js +1 -0
  170. package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
  171. package/dist/plugins/sass.d.ts +7 -8
  172. package/dist/plugins/sass.js +7 -4
  173. package/dist/plugins/server-externals-manifest.d.ts +2 -3
  174. package/dist/plugins/strip-server-exports.d.ts +5 -6
  175. package/dist/plugins/strip-server-exports.js +1 -1
  176. package/dist/plugins/styled-jsx.d.ts +2 -3
  177. package/dist/plugins/styled-jsx.js +7 -7
  178. package/dist/plugins/transform-cache.d.ts +2 -3
  179. package/dist/plugins/transform-result.d.ts +3 -4
  180. package/dist/plugins/transitive-externals.d.ts +2 -3
  181. package/dist/plugins/typeof-window.d.ts +6 -7
  182. package/dist/plugins/typeof-window.js +30 -31
  183. package/dist/plugins/use-cache-callable.d.ts +2 -5
  184. package/dist/plugins/use-cache-callable.js +43 -22
  185. package/dist/plugins/wasm-module-import.d.ts +2 -3
  186. package/dist/plugins/worker-image-imports.d.ts +2 -3
  187. package/dist/plugins/worker-image-imports.js +6 -8
  188. package/dist/routing/app-route-graph.d.ts +19 -19
  189. package/dist/routing/app-route-graph.js +3 -2
  190. package/dist/routing/app-router.d.ts +19 -6
  191. package/dist/routing/app-router.js +24 -2
  192. package/dist/routing/file-matcher.d.ts +9 -10
  193. package/dist/routing/pages-router.d.ts +6 -6
  194. package/dist/routing/pages-router.js +1 -1
  195. package/dist/routing/route-matching.d.ts +4 -5
  196. package/dist/routing/route-matching.js +4 -2
  197. package/dist/routing/route-pattern.d.ts +13 -14
  198. package/dist/routing/route-trie.d.ts +5 -6
  199. package/dist/routing/route-validation.d.ts +3 -4
  200. package/dist/routing/route-validation.js +12 -11
  201. package/dist/routing/utils.d.ts +13 -14
  202. package/dist/server/accept-encoding.d.ts +9 -10
  203. package/dist/server/api-handler.d.ts +2 -3
  204. package/dist/server/api-handler.js +9 -6
  205. package/dist/server/app-action-forwarding.d.ts +3 -4
  206. package/dist/server/app-action-forwarding.js +1 -1
  207. package/dist/server/app-action-request.d.ts +2 -3
  208. package/dist/server/app-bfcache-id.d.ts +3 -4
  209. package/dist/server/app-bfcache-identity.d.ts +8 -9
  210. package/dist/server/app-browser-action-result.d.ts +15 -16
  211. package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
  212. package/dist/server/app-browser-entry.js +87 -34
  213. package/dist/server/app-browser-error.d.ts +5 -6
  214. package/dist/server/app-browser-error.js +9 -3
  215. package/dist/server/app-browser-history-controller.d.ts +4 -5
  216. package/dist/server/app-browser-hydration.d.ts +16 -6
  217. package/dist/server/app-browser-hydration.js +14 -1
  218. package/dist/server/app-browser-interception-context.d.ts +3 -4
  219. package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
  220. package/dist/server/app-browser-navigation-abort.d.ts +3 -4
  221. package/dist/server/app-browser-navigation-controller.d.ts +8 -8
  222. package/dist/server/app-browser-navigation-controller.js +8 -4
  223. package/dist/server/app-browser-navigation-response.d.ts +2 -3
  224. package/dist/server/app-browser-popstate.d.ts +4 -5
  225. package/dist/server/app-browser-prefetch-response.d.ts +5 -6
  226. package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
  227. package/dist/server/app-browser-server-action-client.d.ts +7 -6
  228. package/dist/server/app-browser-server-action-client.js +9 -5
  229. package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
  230. package/dist/server/app-browser-state.d.ts +17 -17
  231. package/dist/server/app-browser-state.js +6 -2
  232. package/dist/server/app-browser-stream.d.ts +4 -5
  233. package/dist/server/app-browser-stream.js +8 -6
  234. package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
  235. package/dist/server/app-browser-visible-commit.d.ts +6 -7
  236. package/dist/server/app-client-reference-preloader.d.ts +2 -3
  237. package/dist/server/app-elements-wire-key.d.ts +25 -0
  238. package/dist/server/app-elements-wire-key.js +69 -0
  239. package/dist/server/app-elements-wire.d.ts +34 -53
  240. package/dist/server/app-elements-wire.js +4 -75
  241. package/dist/server/app-elements.d.ts +5 -5
  242. package/dist/server/app-elements.js +1 -1
  243. package/dist/server/app-fallback-renderer.d.ts +4 -4
  244. package/dist/server/app-fallback-renderer.js +6 -6
  245. package/dist/server/app-fetch-tracing.d.ts +15 -0
  246. package/dist/server/app-fetch-tracing.js +38 -0
  247. package/dist/server/app-history-state.d.ts +26 -27
  248. package/dist/server/app-history-state.js +19 -11
  249. package/dist/server/app-hook-warning-suppression.d.ts +2 -3
  250. package/dist/server/app-hydration-cache-publication.d.ts +3 -4
  251. package/dist/server/app-inline-css-client.d.ts +3 -4
  252. package/dist/server/app-interception-context-header.d.ts +2 -3
  253. package/dist/server/app-layout-param-observation.d.ts +7 -8
  254. package/dist/server/app-metadata-tracing.d.ts +12 -0
  255. package/dist/server/app-metadata-tracing.js +17 -0
  256. package/dist/server/app-middleware.d.ts +7 -7
  257. package/dist/server/app-middleware.js +2 -3
  258. package/dist/server/app-mounted-slots-header.d.ts +2 -3
  259. package/dist/server/app-mounted-slots-header.js +2 -2
  260. package/dist/server/app-optimistic-routing.d.ts +10 -11
  261. package/dist/server/app-optimistic-routing.js +3 -2
  262. package/dist/server/app-page-boundary-render.d.ts +6 -6
  263. package/dist/server/app-page-boundary-render.js +10 -4
  264. package/dist/server/app-page-boundary.d.ts +9 -10
  265. package/dist/server/app-page-boundary.js +1 -1
  266. package/dist/server/app-page-cache-finalizer.d.ts +18 -9
  267. package/dist/server/app-page-cache-finalizer.js +51 -16
  268. package/dist/server/app-page-cache-render.d.ts +8 -5
  269. package/dist/server/app-page-cache-render.js +22 -5
  270. package/dist/server/app-page-cache.d.ts +28 -9
  271. package/dist/server/app-page-cache.js +95 -24
  272. package/dist/server/app-page-dispatch.d.ts +34 -12
  273. package/dist/server/app-page-dispatch.js +181 -64
  274. package/dist/server/app-page-element-builder.d.ts +13 -11
  275. package/dist/server/app-page-element-builder.js +104 -61
  276. package/dist/server/app-page-execution.d.ts +14 -14
  277. package/dist/server/app-page-execution.js +11 -7
  278. package/dist/server/app-page-head.d.ts +19 -16
  279. package/dist/server/app-page-head.js +25 -25
  280. package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
  281. package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
  282. package/dist/server/app-page-method.d.ts +5 -11
  283. package/dist/server/app-page-method.js +2 -9
  284. package/dist/server/app-page-params.d.ts +5 -6
  285. package/dist/server/app-page-ppr-runtime.d.ts +2 -2
  286. package/dist/server/app-page-probe.d.ts +5 -6
  287. package/dist/server/app-page-probe.js +5 -4
  288. package/dist/server/app-page-render-identity.d.ts +4 -5
  289. package/dist/server/app-page-render-observation.d.ts +8 -9
  290. package/dist/server/app-page-render-observation.js +1 -1
  291. package/dist/server/app-page-render.d.ts +41 -6
  292. package/dist/server/app-page-render.js +171 -25
  293. package/dist/server/app-page-request.d.ts +10 -9
  294. package/dist/server/app-page-request.js +16 -12
  295. package/dist/server/app-page-response.d.ts +20 -9
  296. package/dist/server/app-page-response.js +30 -12
  297. package/dist/server/app-page-route-wiring.d.ts +15 -15
  298. package/dist/server/app-page-route-wiring.js +31 -24
  299. package/dist/server/app-page-search-params-observation.d.ts +26 -5
  300. package/dist/server/app-page-search-params-observation.js +42 -6
  301. package/dist/server/app-page-segment-plan.d.ts +2 -3
  302. package/dist/server/app-page-segment-state.d.ts +11 -12
  303. package/dist/server/app-page-stream.d.ts +27 -11
  304. package/dist/server/app-page-stream.js +34 -6
  305. package/dist/server/app-page-tracing.d.ts +33 -0
  306. package/dist/server/app-page-tracing.js +49 -0
  307. package/dist/server/app-pages-bridge.d.ts +6 -6
  308. package/dist/server/app-pages-bridge.js +17 -4
  309. package/dist/server/app-post-middleware-context.d.ts +2 -3
  310. package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
  311. package/dist/server/app-ppr-fallback-shell-render.js +3 -2
  312. package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
  313. package/dist/server/app-prerender-endpoints.d.ts +5 -5
  314. package/dist/server/app-prerender-endpoints.js +3 -1
  315. package/dist/server/app-prerender-static-params.d.ts +15 -7
  316. package/dist/server/app-prerender-static-params.js +24 -9
  317. package/dist/server/app-render-dependency.d.ts +14 -13
  318. package/dist/server/app-render-dependency.js +5 -1
  319. package/dist/server/app-request-context.d.ts +3 -4
  320. package/dist/server/app-request-stage-context.d.ts +5 -0
  321. package/dist/server/app-request-stage-context.js +11 -0
  322. package/dist/server/app-request-stage-dispatch.d.ts +25 -0
  323. package/dist/server/app-request-stage-dispatch.js +54 -0
  324. package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
  325. package/dist/server/app-request-stage-independent-entry.js +115 -0
  326. package/dist/server/app-response-header-provenance.d.ts +13 -7
  327. package/dist/server/app-response-header-provenance.js +34 -1
  328. package/dist/server/app-response-stage-entry.d.ts +9 -0
  329. package/dist/server/app-response-stage-entry.js +87 -0
  330. package/dist/server/app-route-handler-cache.d.ts +2 -3
  331. package/dist/server/app-route-handler-cache.js +46 -34
  332. package/dist/server/app-route-handler-dispatch.d.ts +3 -3
  333. package/dist/server/app-route-handler-dispatch.js +68 -54
  334. package/dist/server/app-route-handler-execution.d.ts +17 -13
  335. package/dist/server/app-route-handler-execution.js +69 -18
  336. package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
  337. package/dist/server/app-route-handler-middleware-context.js +15 -0
  338. package/dist/server/app-route-handler-policy.d.ts +11 -11
  339. package/dist/server/app-route-handler-response.d.ts +9 -10
  340. package/dist/server/app-route-handler-response.js +2 -0
  341. package/dist/server/app-route-handler-runtime.d.ts +9 -10
  342. package/dist/server/app-route-handler-runtime.js +20 -16
  343. package/dist/server/app-route-module-loader.d.ts +6 -7
  344. package/dist/server/app-route-request-built-ins.d.ts +3 -4
  345. package/dist/server/app-route-tree-prefetch.d.ts +6 -7
  346. package/dist/server/app-route-tree-prefetch.js +2 -1
  347. package/dist/server/app-router-entry.d.ts +2 -0
  348. package/dist/server/app-router-entry.js +28 -8
  349. package/dist/server/app-rsc-cache-busting.d.ts +34 -27
  350. package/dist/server/app-rsc-cache-busting.js +14 -2
  351. package/dist/server/app-rsc-combined-handler.d.ts +9 -0
  352. package/dist/server/app-rsc-combined-handler.js +11 -0
  353. package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
  354. package/dist/server/app-rsc-error-handler.d.ts +12 -6
  355. package/dist/server/app-rsc-error-handler.js +15 -6
  356. package/dist/server/app-rsc-errors.d.ts +12 -9
  357. package/dist/server/app-rsc-errors.js +15 -13
  358. package/dist/server/app-rsc-handler.d.ts +31 -6
  359. package/dist/server/app-rsc-handler.js +411 -61
  360. package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
  361. package/dist/server/app-rsc-render-mode.d.ts +8 -9
  362. package/dist/server/app-rsc-request-normalization.d.ts +3 -3
  363. package/dist/server/app-rsc-request-normalization.js +2 -1
  364. package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
  365. package/dist/server/app-rsc-response-finalizer.js +6 -6
  366. package/dist/server/app-rsc-response-stage.d.ts +6 -0
  367. package/dist/server/app-rsc-response-stage.js +251 -0
  368. package/dist/server/app-rsc-route-matching.d.ts +3 -4
  369. package/dist/server/app-rsc-route-matching.js +3 -2
  370. package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
  371. package/dist/server/app-rsc-vary.d.ts +16 -0
  372. package/dist/server/app-rsc-vary.js +31 -0
  373. package/dist/server/app-segment-config.d.ts +119 -7
  374. package/dist/server/app-segment-config.js +242 -2
  375. package/dist/server/app-server-action-execution.d.ts +16 -12
  376. package/dist/server/app-server-action-execution.js +86 -33
  377. package/dist/server/app-ssr-entry.d.ts +14 -4
  378. package/dist/server/app-ssr-entry.js +61 -14
  379. package/dist/server/app-ssr-error-meta.d.ts +3 -4
  380. package/dist/server/app-ssr-error-meta.js +2 -1
  381. package/dist/server/app-ssr-router-instance.d.ts +2 -3
  382. package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
  383. package/dist/server/app-ssr-search-params-gate.js +54 -0
  384. package/dist/server/app-ssr-stream.d.ts +13 -9
  385. package/dist/server/app-ssr-stream.js +33 -7
  386. package/dist/server/app-static-generation.d.ts +4 -5
  387. package/dist/server/app-visited-response-cache.d.ts +11 -12
  388. package/dist/server/app-visited-response-cache.js +2 -2
  389. package/dist/server/app-worker-stages.d.ts +112 -0
  390. package/dist/server/app-worker-stages.js +105 -0
  391. package/dist/server/artifact-compatibility.d.ts +11 -12
  392. package/dist/server/before-interactive-head.d.ts +2 -3
  393. package/dist/server/bfcache-identity.d.ts +7 -8
  394. package/dist/server/cache-control.d.ts +35 -13
  395. package/dist/server/cache-control.js +71 -5
  396. package/dist/server/cache-headers.d.ts +3 -4
  397. package/dist/server/cache-proof.d.ts +75 -70
  398. package/dist/server/cache-proof.js +9 -1
  399. package/dist/server/cacheability-limits.d.ts +4 -5
  400. package/dist/server/cacheability-limits.js +2 -2
  401. package/dist/server/cacheability-manifest.d.ts +42 -16
  402. package/dist/server/cacheability-manifest.js +60 -10
  403. package/dist/server/cacheability-request.d.ts +37 -8
  404. package/dist/server/cacheability-request.js +159 -57
  405. package/dist/server/client-reuse-manifest.d.ts +17 -18
  406. package/dist/server/client-reuse-manifest.js +2 -2
  407. package/dist/server/client-trace-metadata.d.ts +9 -6
  408. package/dist/server/client-trace-metadata.js +27 -15
  409. package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
  410. package/dist/server/cloudflare-workers-tracing.js +8 -0
  411. package/dist/server/config-headers.d.ts +19 -5
  412. package/dist/server/config-headers.js +25 -11
  413. package/dist/server/cookie-utils.d.ts +2 -3
  414. package/dist/server/csp.d.ts +5 -6
  415. package/dist/server/default-global-error-module.d.ts +2 -3
  416. package/dist/server/default-global-not-found-module.d.ts +2 -3
  417. package/dist/server/default-not-found-module.d.ts +2 -3
  418. package/dist/server/defer-until-stream-consumed.d.ts +2 -3
  419. package/dist/server/defer-until-stream-consumed.js +2 -1
  420. package/dist/server/dev-initial-server-error.d.ts +3 -4
  421. package/dist/server/dev-initial-server-error.js +2 -1
  422. package/dist/server/dev-lockfile.d.ts +7 -8
  423. package/dist/server/dev-lockfile.js +4 -1
  424. package/dist/server/dev-module-runner.d.ts +2 -3
  425. package/dist/server/dev-origin-check.d.ts +5 -6
  426. package/dist/server/dev-route-files.d.ts +2 -3
  427. package/dist/server/dev-server.d.ts +4 -5
  428. package/dist/server/dev-server.js +130 -61
  429. package/dist/server/dev-stack-sourcemap.d.ts +7 -7
  430. package/dist/server/dev-stack-sourcemap.js +1 -1
  431. package/dist/server/document-initial-head.d.ts +3 -4
  432. package/dist/server/edge-api-runtime.d.ts +4 -5
  433. package/dist/server/fetch-handler.d.ts +3 -2
  434. package/dist/server/fetch-handler.js +3 -18
  435. package/dist/server/file-based-metadata.d.ts +2 -3
  436. package/dist/server/framework-tracer.d.ts +46 -0
  437. package/dist/server/framework-tracer.js +125 -0
  438. package/dist/server/fully-buffered-response.d.ts +11 -0
  439. package/dist/server/fully-buffered-response.js +19 -0
  440. package/dist/server/headers.d.ts +54 -61
  441. package/dist/server/headers.js +18 -31
  442. package/dist/server/html.d.ts +6 -27
  443. package/dist/server/html.js +16 -1
  444. package/dist/server/http-conditional.d.ts +5 -6
  445. package/dist/server/http-date.d.ts +2 -3
  446. package/dist/server/http-error-responses.d.ts +9 -10
  447. package/dist/server/http-range.d.ts +4 -5
  448. package/dist/server/hybrid-route-priority.d.ts +4 -5
  449. package/dist/server/image-optimization.d.ts +20 -21
  450. package/dist/server/implicit-tags.d.ts +3 -4
  451. package/dist/server/instrumentation-runtime.d.ts +17 -21
  452. package/dist/server/instrumentation-runtime.js +26 -8
  453. package/dist/server/instrumentation.d.ts +26 -30
  454. package/dist/server/instrumentation.js +18 -23
  455. package/dist/server/isr-cache.d.ts +28 -27
  456. package/dist/server/isr-cache.js +18 -70
  457. package/dist/server/isr-decision.d.ts +4 -4
  458. package/dist/server/metadata-route-build-data.d.ts +4 -5
  459. package/dist/server/metadata-route-cache-policy.d.ts +2 -3
  460. package/dist/server/metadata-route-response.d.ts +7 -7
  461. package/dist/server/metadata-route-response.js +68 -2
  462. package/dist/server/metadata-routes.d.ts +18 -19
  463. package/dist/server/middleware-matcher-pattern.d.ts +6 -7
  464. package/dist/server/middleware-matcher.d.ts +6 -7
  465. package/dist/server/middleware-path-to-regexp.d.ts +6 -7
  466. package/dist/server/middleware-path-to-regexp.js +11 -9
  467. package/dist/server/middleware-response-headers.d.ts +3 -4
  468. package/dist/server/middleware-runtime.d.ts +7 -8
  469. package/dist/server/middleware-runtime.js +36 -7
  470. package/dist/server/middleware.d.ts +5 -5
  471. package/dist/server/multi-stage.d.ts +141 -0
  472. package/dist/server/multi-stage.js +8 -0
  473. package/dist/server/navigation-planner.d.ts +26 -26
  474. package/dist/server/navigation-trace.d.ts +11 -12
  475. package/dist/server/next-error-digest.d.ts +4 -5
  476. package/dist/server/normalize-path.d.ts +5 -6
  477. package/dist/server/open-redirect.d.ts +2 -3
  478. package/dist/server/opentelemetry-api.d.ts +59 -0
  479. package/dist/server/opentelemetry-api.js +53 -0
  480. package/dist/server/opentelemetry-tracing.d.ts +5 -0
  481. package/dist/server/opentelemetry-tracing.js +83 -0
  482. package/dist/server/operation-token.d.ts +11 -12
  483. package/dist/server/otel-tracer-extension.d.ts +7 -9
  484. package/dist/server/otel-tracer-extension.js +37 -36
  485. package/dist/server/pages-api-route.d.ts +5 -4
  486. package/dist/server/pages-api-route.js +20 -7
  487. package/dist/server/pages-asset-tags.d.ts +6 -6
  488. package/dist/server/pages-asset-tags.js +37 -2
  489. package/dist/server/pages-body-parser-config.d.ts +4 -5
  490. package/dist/server/pages-body-parser-config.js +4 -4
  491. package/dist/server/pages-client-assets.d.ts +11 -5
  492. package/dist/server/pages-data-route.d.ts +11 -12
  493. package/dist/server/pages-data-route.js +1 -1
  494. package/dist/server/pages-default-404.d.ts +3 -4
  495. package/dist/server/pages-dev-hydration.d.ts +9 -4
  496. package/dist/server/pages-dev-hydration.js +19 -7
  497. package/dist/server/pages-dev-module-url.d.ts +3 -4
  498. package/dist/server/pages-dev-stylesheets.d.ts +5 -6
  499. package/dist/server/pages-document-asset-props.d.ts +6 -7
  500. package/dist/server/pages-document-initial-props.d.ts +5 -5
  501. package/dist/server/pages-document-initial-props.js +4 -2
  502. package/dist/server/pages-execution-tracing.d.ts +40 -0
  503. package/dist/server/pages-execution-tracing.js +80 -0
  504. package/dist/server/pages-get-initial-props.d.ts +9 -10
  505. package/dist/server/pages-i18n.d.ts +8 -8
  506. package/dist/server/pages-media-type.d.ts +4 -5
  507. package/dist/server/pages-node-compat.d.ts +11 -10
  508. package/dist/server/pages-node-compat.js +12 -4
  509. package/dist/server/pages-page-data.d.ts +18 -19
  510. package/dist/server/pages-page-data.js +11 -10
  511. package/dist/server/pages-page-handler.d.ts +7 -6
  512. package/dist/server/pages-page-handler.js +77 -39
  513. package/dist/server/pages-page-method.d.ts +2 -3
  514. package/dist/server/pages-page-response.d.ts +14 -10
  515. package/dist/server/pages-page-response.js +49 -31
  516. package/dist/server/pages-preview.d.ts +10 -11
  517. package/dist/server/pages-readiness.d.ts +2 -3
  518. package/dist/server/pages-request-pipeline.d.ts +14 -12
  519. package/dist/server/pages-request-pipeline.js +60 -30
  520. package/dist/server/pages-request-stage-entry.d.ts +23 -0
  521. package/dist/server/pages-request-stage-entry.js +314 -0
  522. package/dist/server/pages-response-stage-entry.d.ts +11 -0
  523. package/dist/server/pages-response-stage-entry.js +106 -0
  524. package/dist/server/pages-response-stage.d.ts +31 -0
  525. package/dist/server/pages-response-stage.js +49 -0
  526. package/dist/server/pages-revalidate.d.ts +3 -4
  527. package/dist/server/pages-revalidate.js +9 -4
  528. package/dist/server/pages-route-data-kind.d.ts +18 -0
  529. package/dist/server/pages-route-data-kind.js +11 -0
  530. package/dist/server/pages-router-entry.d.ts +1 -25
  531. package/dist/server/pages-router-entry.js +35 -148
  532. package/dist/server/pages-serializable-props.d.ts +3 -4
  533. package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
  534. package/dist/server/pregenerated-concrete-paths.js +12 -6
  535. package/dist/server/prerender-cache-life-header.d.ts +3 -4
  536. package/dist/server/prerender-manifest.d.ts +11 -11
  537. package/dist/server/prerender-manifest.js +6 -3
  538. package/dist/server/prerender-route-params.d.ts +16 -9
  539. package/dist/server/prerender-route-params.js +18 -3
  540. package/dist/server/prerender-work-unit-setup.d.ts +2 -3
  541. package/dist/server/prerender-work-unit-setup.js +5 -5
  542. package/dist/server/prod-server.d.ts +12 -9
  543. package/dist/server/prod-server.js +124 -31
  544. package/dist/server/proxy-trust.d.ts +5 -6
  545. package/dist/server/request-log.d.ts +3 -4
  546. package/dist/server/request-pipeline.d.ts +16 -16
  547. package/dist/server/request-pipeline.js +7 -2
  548. package/dist/server/request-stage.d.ts +5 -0
  549. package/dist/server/request-stage.js +7 -0
  550. package/dist/server/request-tracing.d.ts +22 -0
  551. package/dist/server/request-tracing.js +180 -0
  552. package/dist/server/response-stage-cacheability.d.ts +37 -0
  553. package/dist/server/response-stage-cacheability.js +55 -0
  554. package/dist/server/response-stage-policy.d.ts +23 -0
  555. package/dist/server/response-stage-policy.js +89 -0
  556. package/dist/server/response-stage.d.ts +5 -0
  557. package/dist/server/response-stage.js +7 -0
  558. package/dist/server/response-start-tracing.d.ts +14 -0
  559. package/dist/server/response-start-tracing.js +80 -0
  560. package/dist/server/revalidation-host.d.ts +2 -3
  561. package/dist/server/revalidation-host.js +1 -1
  562. package/dist/server/revalidation-request.d.ts +8 -0
  563. package/dist/server/revalidation-request.js +37 -0
  564. package/dist/server/rsc-completion-metadata.d.ts +6 -7
  565. package/dist/server/rsc-stream-hints.d.ts +18 -7
  566. package/dist/server/rsc-stream-hints.js +70 -35
  567. package/dist/server/seed-cache.d.ts +2 -3
  568. package/dist/server/seed-cache.js +8 -7
  569. package/dist/server/server-action-not-found.d.ts +5 -6
  570. package/dist/server/server-globals.d.ts +2 -3
  571. package/dist/server/skip-cache-proof.d.ts +4 -4
  572. package/dist/server/socket-error-backstop.d.ts +5 -6
  573. package/dist/server/socket-error-backstop.js +1 -1
  574. package/dist/server/static-file-cache.d.ts +5 -6
  575. package/dist/server/static-file-cache.js +9 -7
  576. package/dist/server/static-file-signal.d.ts +9 -6
  577. package/dist/server/static-file-signal.js +51 -2
  578. package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
  579. package/dist/server/streaming-metadata.d.ts +2 -3
  580. package/dist/server/tracer.d.ts +5 -0
  581. package/dist/server/tracer.js +13 -0
  582. package/dist/server/worker-prerender-discovery.d.ts +5 -6
  583. package/dist/server/worker-revalidation-context.d.ts +2 -3
  584. package/dist/server/worker-revalidation-context.js +5 -5
  585. package/dist/server/worker-stages.d.ts +43 -0
  586. package/dist/server/worker-stages.js +25 -0
  587. package/dist/server/worker-utils.d.ts +5 -6
  588. package/dist/server/worker-utils.js +2 -1
  589. package/dist/server/workers-tracing.d.ts +17 -0
  590. package/dist/server/workers-tracing.js +27 -0
  591. package/dist/shims/amp.d.ts +3 -4
  592. package/dist/shims/app-router-scroll-state.d.ts +9 -10
  593. package/dist/shims/app-router-scroll.d.ts +4 -5
  594. package/dist/shims/app-router-scroll.js +2 -1
  595. package/dist/shims/app.d.ts +5 -6
  596. package/dist/shims/before-interactive-context.d.ts +5 -6
  597. package/dist/shims/cache-callable-runtime.d.ts +44 -4
  598. package/dist/shims/cache-callable-runtime.js +168 -8
  599. package/dist/shims/cache-for-request.d.ts +2 -3
  600. package/dist/shims/cache-handler.d.ts +33 -20
  601. package/dist/shims/cache-handler.js +61 -2
  602. package/dist/shims/cache-request-state.d.ts +28 -29
  603. package/dist/shims/cache-runtime.d.ts +23 -21
  604. package/dist/shims/cache-runtime.js +107 -27
  605. package/dist/shims/cache.d.ts +15 -15
  606. package/dist/shims/cache.js +15 -13
  607. package/dist/shims/cacheability-classification.d.ts +49 -28
  608. package/dist/shims/cacheability-classification.js +27 -12
  609. package/dist/shims/cdn-cache-state.d.ts +13 -0
  610. package/dist/shims/cdn-cache-state.js +23 -0
  611. package/dist/shims/cdn-cache.d.ts +50 -21
  612. package/dist/shims/cdn-cache.js +15 -38
  613. package/dist/shims/client-hook-error.d.ts +3 -4
  614. package/dist/shims/client-locale.d.ts +2 -3
  615. package/dist/shims/client-page-root.d.ts +24 -0
  616. package/dist/shims/client-page-root.js +121 -0
  617. package/dist/shims/compat-router.d.ts +2 -3
  618. package/dist/shims/config.d.ts +3 -4
  619. package/dist/shims/constants.d.ts +73 -74
  620. package/dist/shims/constants.js +1 -1
  621. package/dist/shims/default-not-found.d.ts +2 -3
  622. package/dist/shims/document.d.ts +9 -9
  623. package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
  624. package/dist/shims/dynamic-preload-chunks.js +17 -13
  625. package/dist/shims/dynamic.d.ts +3 -3
  626. package/dist/shims/error-boundary-navigation.d.ts +3 -4
  627. package/dist/shims/error-boundary.d.ts +17 -18
  628. package/dist/shims/error-boundary.js +17 -11
  629. package/dist/shims/error.d.ts +4 -4
  630. package/dist/shims/error.react-server.d.ts +3 -4
  631. package/dist/shims/fetch-cache.d.ts +22 -22
  632. package/dist/shims/fetch-cache.js +42 -17
  633. package/dist/shims/font-google-base.d.ts +9 -9
  634. package/dist/shims/font-google-base.js +2 -1
  635. package/dist/shims/font-local.d.ts +3 -3
  636. package/dist/shims/font-local.js +1 -1
  637. package/dist/shims/font-utils.d.ts +14 -15
  638. package/dist/shims/form.d.ts +2 -2
  639. package/dist/shims/form.js +10 -7
  640. package/dist/shims/hash-scroll.d.ts +5 -6
  641. package/dist/shims/head-state.d.ts +4 -5
  642. package/dist/shims/head.d.ts +16 -16
  643. package/dist/shims/head.js +5 -4
  644. package/dist/shims/headers.d.ts +67 -33
  645. package/dist/shims/headers.js +93 -6
  646. package/dist/shims/i18n-context.d.ts +5 -6
  647. package/dist/shims/i18n-state.d.ts +4 -5
  648. package/dist/shims/image-config.d.ts +5 -6
  649. package/dist/shims/image-config.js +2 -0
  650. package/dist/shims/image.d.ts +5 -5
  651. package/dist/shims/image.js +12 -8
  652. package/dist/shims/internal/als-registry.d.ts +4 -5
  653. package/dist/shims/internal/api-utils.d.ts +3 -4
  654. package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
  655. package/dist/shims/internal/app-page-props-cache-key.js +53 -1
  656. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
  657. package/dist/shims/internal/app-prefetch-rsc-request.d.ts +5 -17
  658. package/dist/shims/internal/app-prefetch-rsc-request.js +5 -14
  659. package/dist/shims/internal/app-route-detection.d.ts +2 -2
  660. package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -8
  661. package/dist/shims/internal/app-route-prefetch-policy.js +0 -1
  662. package/dist/shims/internal/app-router-context.d.ts +9 -10
  663. package/dist/shims/internal/cookie-serialize.d.ts +4 -5
  664. package/dist/shims/internal/format-url-object.d.ts +7 -0
  665. package/dist/shims/internal/format-url-object.js +53 -0
  666. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
  667. package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
  668. package/dist/shims/internal/hybrid-client-route-owner.js +3 -2
  669. package/dist/shims/internal/interpolate-as.d.ts +5 -6
  670. package/dist/shims/internal/interpolate-as.js +4 -2
  671. package/dist/shims/internal/link-status-registry.d.ts +5 -6
  672. package/dist/shims/internal/make-hanging-promise.d.ts +3 -4
  673. package/dist/shims/internal/navigation-untracked.d.ts +2 -3
  674. package/dist/shims/internal/normalize-router-href.d.ts +15 -0
  675. package/dist/shims/internal/normalize-router-href.js +41 -0
  676. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
  677. package/dist/shims/internal/pages-data-target.d.ts +8 -6
  678. package/dist/shims/internal/pages-data-target.js +32 -36
  679. package/dist/shims/internal/pages-data-url.d.ts +4 -5
  680. package/dist/shims/internal/pages-data-url.js +2 -1
  681. package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
  682. package/dist/shims/internal/pages-router-components.d.ts +3 -4
  683. package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
  684. package/dist/shims/internal/route-pattern-for-warning.js +3 -3
  685. package/dist/shims/internal/router-context.d.ts +2 -3
  686. package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
  687. package/dist/shims/internal/thenable-well-known-properties.js +33 -0
  688. package/dist/shims/internal/utils.d.ts +7 -8
  689. package/dist/shims/internal/work-unit-async-storage.d.ts +10 -11
  690. package/dist/shims/layout-segment-context.d.ts +3 -4
  691. package/dist/shims/link-prefetch.d.ts +9 -10
  692. package/dist/shims/link.d.ts +4 -4
  693. package/dist/shims/link.js +56 -116
  694. package/dist/shims/metadata.d.ts +15 -16
  695. package/dist/shims/metadata.js +40 -36
  696. package/dist/shims/navigation-context-accessors.d.ts +9 -0
  697. package/dist/shims/navigation-context-accessors.js +19 -0
  698. package/dist/shims/navigation-context-state.d.ts +27 -18
  699. package/dist/shims/navigation-errors.d.ts +18 -19
  700. package/dist/shims/navigation-state.d.ts +6 -7
  701. package/dist/shims/navigation.d.ts +80 -68
  702. package/dist/shims/navigation.js +24 -16
  703. package/dist/shims/navigation.react-server.d.ts +9 -9
  704. package/dist/shims/offline.d.ts +2 -3
  705. package/dist/shims/og.d.ts +2 -2
  706. package/dist/shims/pages-router-runtime.d.ts +4 -5
  707. package/dist/shims/ppr-fallback-shell.d.ts +13 -14
  708. package/dist/shims/readonly-url-search-params.d.ts +2 -3
  709. package/dist/shims/request-context.d.ts +5 -6
  710. package/dist/shims/root-params.d.ts +14 -15
  711. package/dist/shims/router-state.d.ts +5 -6
  712. package/dist/shims/router-state.js +1 -1
  713. package/dist/shims/router.d.ts +22 -21
  714. package/dist/shims/router.js +339 -164
  715. package/dist/shims/script-nonce-context.d.ts +8 -6
  716. package/dist/shims/script-nonce-context.js +15 -6
  717. package/dist/shims/script.d.ts +4 -4
  718. package/dist/shims/script.js +9 -7
  719. package/dist/shims/search-params-gate.d.ts +35 -0
  720. package/dist/shims/search-params-gate.js +32 -0
  721. package/dist/shims/server.d.ts +19 -51
  722. package/dist/shims/server.js +14 -28
  723. package/dist/shims/slot.d.ts +33 -15
  724. package/dist/shims/slot.js +41 -9
  725. package/dist/shims/streamed-icons.d.ts +3 -4
  726. package/dist/shims/thenable-params.d.ts +5 -7
  727. package/dist/shims/thenable-params.js +3 -24
  728. package/dist/shims/unified-request-context.d.ts +34 -31
  729. package/dist/shims/unified-request-context.js +34 -24
  730. package/dist/shims/unrecognized-action-error.d.ts +3 -4
  731. package/dist/shims/url-safety.d.ts +5 -6
  732. package/dist/shims/url-utils.d.ts +12 -13
  733. package/dist/shims/use-merged-ref.d.ts +2 -3
  734. package/dist/shims/user-agent.d.ts +31 -0
  735. package/dist/shims/user-agent.js +16 -0
  736. package/dist/shims/web-vitals.d.ts +2 -2
  737. package/dist/typegen.d.ts +3 -4
  738. package/dist/utils/asset-prefix.d.ts +7 -8
  739. package/dist/utils/base-path.d.ts +5 -6
  740. package/dist/utils/built-asset-url.d.ts +2 -3
  741. package/dist/utils/built-asset-url.js +1 -1
  742. package/dist/utils/cache-control-metadata.d.ts +4 -5
  743. package/dist/utils/client-build-manifest.d.ts +6 -7
  744. package/dist/utils/client-build-manifest.js +2 -1
  745. package/dist/utils/client-entry-manifest.d.ts +6 -7
  746. package/dist/utils/client-runtime-metadata.d.ts +8 -3
  747. package/dist/utils/client-runtime-metadata.js +18 -1
  748. package/dist/utils/commonjs-loader.d.ts +4 -5
  749. package/dist/utils/compare.d.ts +2 -3
  750. package/dist/utils/deployment-id.d.ts +6 -7
  751. package/dist/utils/dev-error-recovery-event.d.ts +2 -3
  752. package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
  753. package/dist/utils/domain-locale.d.ts +7 -8
  754. package/dist/utils/encode-cache-tag.d.ts +3 -4
  755. package/dist/utils/error-cause.d.ts +2 -3
  756. package/dist/utils/external-url.d.ts +2 -3
  757. package/dist/utils/has-trailing-comma.d.ts +3 -4
  758. package/dist/utils/hash.d.ts +3 -4
  759. package/dist/utils/html-limited-bots.d.ts +3 -4
  760. package/dist/utils/lazy-chunks.d.ts +8 -9
  761. package/dist/utils/lazy-chunks.js +4 -4
  762. package/dist/utils/manifest-paths.d.ts +5 -6
  763. package/dist/utils/mdx-scan.d.ts +11 -4
  764. package/dist/utils/mdx-scan.js +27 -1
  765. package/dist/utils/middleware-request-headers.d.ts +7 -6
  766. package/dist/utils/middleware-request-headers.js +6 -1
  767. package/dist/utils/navigation-signal.d.ts +3 -3
  768. package/dist/utils/navigation-signal.js +16 -1
  769. package/dist/utils/number.d.ts +2 -3
  770. package/dist/utils/package-name.d.ts +3 -4
  771. package/dist/utils/parse-cookie.d.ts +4 -5
  772. package/dist/utils/path.d.ts +8 -9
  773. package/dist/utils/plugin-options.d.ts +2 -3
  774. package/dist/utils/precompressed-variant.d.ts +3 -4
  775. package/dist/utils/prerender-output-paths.d.ts +4 -5
  776. package/dist/utils/project.d.ts +19 -30
  777. package/dist/utils/project.js +20 -29
  778. package/dist/utils/promise.d.ts +2 -3
  779. package/dist/utils/protocol-headers.d.ts +14 -15
  780. package/dist/utils/public-file-path.d.ts +2 -3
  781. package/dist/utils/public-routes.d.ts +2 -3
  782. package/dist/utils/query.d.ts +14 -9
  783. package/dist/utils/query.js +22 -1
  784. package/dist/utils/react-compiler-support.d.ts +6 -7
  785. package/dist/utils/react-version.d.ts +4 -3
  786. package/dist/utils/react-version.js +19 -1
  787. package/dist/utils/record.d.ts +2 -3
  788. package/dist/utils/redirect-digest.d.ts +3 -4
  789. package/dist/utils/regex-safety.d.ts +4 -5
  790. package/dist/utils/regex.d.ts +2 -3
  791. package/dist/utils/safe-json-file.d.ts +2 -3
  792. package/dist/utils/sorted-array.d.ts +2 -3
  793. package/dist/utils/text-stream.d.ts +3 -4
  794. package/dist/utils/vinext-root.d.ts +2 -3
  795. package/dist/utils/virtual-module.d.ts +3 -4
  796. package/dist/utils/vite-cli-invocation.d.ts +21 -0
  797. package/dist/utils/vite-cli-invocation.js +144 -0
  798. package/dist/utils/vite-version.d.ts +5 -6
  799. package/next-package.json +4 -0
  800. package/package.json +47 -6
@@ -1,16 +1,16 @@
1
1
  import { getOrCreateAls } from "./internal/als-registry.js";
2
2
  import { getRequestContext, isInsideUnifiedScope } from "./unified-request-context.js";
3
3
  import { getRequestExecutionContext, runWithExecutionContext } from "./request-context.js";
4
- import { MemoryCacheHandler, NoOpCacheHandler, configureMemoryCacheHandler, getCacheHandler, getDataCacheHandler, setCacheHandler, setDataCacheHandler } from "./cache-handler.js";
4
+ import { workUnitAsyncStorage } from "./internal/work-unit-async-storage.js";
5
5
  import { getCdnCacheAdapter } from "./cdn-cache.js";
6
+ import { isStagedCacheabilityProbeActive } from "./cacheability-classification.js";
6
7
  import { fnv1a64 } from "../utils/hash.js";
8
+ import { MemoryCacheHandler, NoOpCacheHandler, configureMemoryCacheHandler, getCacheHandler, getDataCacheHandler, registerDataCacheHandler, registerLazyDataCacheHandler, setCacheHandler, setDataCacheHandler } from "./cache-handler.js";
7
9
  import { encodeCacheTag, encodeCacheTags } from "../utils/encode-cache-tag.js";
8
10
  import { makeHangingPromise } from "./internal/make-hanging-promise.js";
9
11
  import { getHeadersAccessPhase, isDraftModeEnabled, markDynamicUsage } from "./headers.js";
10
12
  import { ACTION_DID_REVALIDATE_DYNAMIC_ONLY, ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC, _captureRequestScopedCacheLifeAccessors, _consumeRequestScopedCacheLife, _drainPendingRevalidations, _hasPendingRevalidatedTag, _initRequestScopedCacheState, _markPendingRevalidatedTag, _peekRequestScopedCacheLife, _peekUnstableCacheObservations, _queuePendingRevalidation, _recordUseCacheRootParamRead, _registerCacheContextAccessor, _runWithCacheState, _setRequestScopedCacheLife, cacheLifeProfiles, getAndClearActionRevalidationKind, getRegisteredCacheContext, markActionRevalidation, recordUnstableCacheObservation, shouldServeStaleUnstableCacheEntry } from "./cache-request-state.js";
11
13
  import { addCollectedRequestTags, getCurrentFetchSoftTags } from "./fetch-cache.js";
12
- import { isStagedCacheabilityProbeActive } from "./cacheability-classification.js";
13
- import { workUnitAsyncStorage } from "./internal/work-unit-async-storage.js";
14
14
  //#region src/shims/cache.ts
15
15
  /**
16
16
  * next/cache shim
@@ -29,8 +29,7 @@ import { workUnitAsyncStorage } from "./internal/work-unit-async-storage.js";
29
29
  * vinext({ cache: { data: kvDataAdapter({ binding: 'VINEXT_KV_CACHE' }) } })
30
30
  *
31
31
  * The imperative `setCacheHandler` / `setDataCacheHandler` setters are
32
- * deprecated for consumers and retained only as the internal registration
33
- * target used by the generated cache-adapter module.
32
+ * deprecated for consumers and retained for backwards compatibility.
34
33
  */
35
34
  const _g = globalThis;
36
35
  function scheduleRevalidation(promise) {
@@ -104,7 +103,8 @@ function revalidatePath(path, type) {
104
103
  }
105
104
  markActionRevalidation(1);
106
105
  const stem = path.endsWith("/") ? path.slice(0, -1) : path;
107
- const encodedTag = encodeCacheTag(type ? `_N_T_${stem}/${type}` : `_N_T_${stem || "/"}`);
106
+ const tag = type ? `_N_T_${stem}/${type}` : `_N_T_${stem || "/"}`;
107
+ const encodedTag = encodeCacheTag(tag);
108
108
  _markPendingRevalidatedTag(encodedTag);
109
109
  return scheduleRevalidation(_invalidateEncodedTag(encodedTag));
110
110
  }
@@ -418,12 +418,14 @@ function unstable_cache(fn, keyParts, options) {
418
418
  });
419
419
  if (existing?.value && existing.value.kind === "FETCH") {
420
420
  const cached = tryDeserializeUnstableCacheResult(existing.value.data.body);
421
- if (cached.ok) if (existing.cacheState === "stale") {
422
- if (shouldServeStaleUnstableCacheEntry()) {
423
- scheduleUnstableCacheBackgroundRevalidation(cacheKey, () => refreshUnstableCacheResult(fn, args, cacheKey, tags, revalidateSeconds));
424
- return cached.value;
425
- }
426
- } else return cached.value;
421
+ if (cached.ok) {
422
+ if (existing.cacheState === "stale") {
423
+ if (shouldServeStaleUnstableCacheEntry()) {
424
+ scheduleUnstableCacheBackgroundRevalidation(cacheKey, () => refreshUnstableCacheResult(fn, args, cacheKey, tags, revalidateSeconds));
425
+ return cached.value;
426
+ }
427
+ } else return cached.value;
428
+ }
427
429
  }
428
430
  }
429
431
  if (isDraftMode) return await _unstableCacheAls.run(true, () => fn(...args));
@@ -432,4 +434,4 @@ function unstable_cache(fn, keyParts, options) {
432
434
  return cachedFn;
433
435
  }
434
436
  //#endregion
435
- export { ACTION_DID_REVALIDATE_DYNAMIC_ONLY, ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC, MemoryCacheHandler, NoOpCacheHandler, _captureRequestScopedCacheLifeAccessors, _consumeRequestScopedCacheLife, _drainPendingRevalidations, _hasPendingRevalidatedTag, _initRequestScopedCacheState, _markPendingRevalidatedTag, _peekRequestScopedCacheLife, _peekUnstableCacheObservations, _queuePendingRevalidation, _recordUseCacheRootParamRead, _registerCacheContextAccessor, _runWithCacheState, _setRequestScopedCacheLife, cacheLife, cacheLifeProfiles, cacheTag, configureMemoryCacheHandler, getAndClearActionRevalidationKind, getCacheHandler, getDataCacheHandler, getRegisteredCacheContext, getRequestExecutionContext, io, isInsideUnstableCacheScope, markActionRevalidation, unstable_noStore as noStore, unstable_noStore, recordUnstableCacheObservation, refresh, revalidatePath, revalidateTag, runWithExecutionContext, setCacheHandler, setDataCacheHandler, shouldServeStaleUnstableCacheEntry, unstable_cache, unstable_cacheLife, unstable_cacheTag, unstable_io, updateTag };
437
+ export { ACTION_DID_REVALIDATE_DYNAMIC_ONLY, ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC, MemoryCacheHandler, NoOpCacheHandler, _captureRequestScopedCacheLifeAccessors, _consumeRequestScopedCacheLife, _drainPendingRevalidations, _hasPendingRevalidatedTag, _initRequestScopedCacheState, _markPendingRevalidatedTag, _peekRequestScopedCacheLife, _peekUnstableCacheObservations, _queuePendingRevalidation, _recordUseCacheRootParamRead, _registerCacheContextAccessor, _runWithCacheState, _setRequestScopedCacheLife, cacheLife, cacheLifeProfiles, cacheTag, configureMemoryCacheHandler, getAndClearActionRevalidationKind, getCacheHandler, getDataCacheHandler, getRegisteredCacheContext, getRequestExecutionContext, io, isInsideUnstableCacheScope, markActionRevalidation, unstable_noStore as noStore, unstable_noStore, recordUnstableCacheObservation, refresh, registerDataCacheHandler, registerLazyDataCacheHandler, revalidatePath, revalidateTag, runWithExecutionContext, setCacheHandler, setDataCacheHandler, shouldServeStaleUnstableCacheEntry, unstable_cache, unstable_cacheLife, unstable_cacheTag, unstable_io, updateTag };
@@ -1,16 +1,18 @@
1
1
  //#region src/shims/cacheability-classification.d.ts
2
- declare const CACHEABILITY_REQUEST_STATE: unique symbol;
3
- declare const CACHEABILITY_POLICY_HEADERS: readonly ["cache-control", "cdn-cache-control", "cloudflare-cdn-cache-control"];
4
- type CacheabilityPolicyHeader = (typeof CACHEABILITY_POLICY_HEADERS)[number];
5
- type RouteCacheabilityOutcome = {
2
+ export declare const CACHEABILITY_REQUEST_STATE: unique symbol;
3
+ export type RouteCacheabilityOutcome = {
6
4
  cacheControl?: string;
7
5
  cacheable: boolean;
8
6
  classificationFailure?: boolean;
9
7
  dynamicUsage?: boolean;
10
8
  reason?: string;
9
+ /** App pages: the render proved it left searchParams unread, so its response holds for every query. */
10
+ searchParamsUnread?: true;
11
+ /** A transient classification failure that may succeed on another bounded attempt. */
12
+ retryable?: true;
11
13
  tags?: readonly string[];
12
14
  };
13
- type RouteCacheabilityState = {
15
+ export type RouteCacheabilityState = {
14
16
  admission?: {
15
17
  manifest?: unknown;
16
18
  policy: "deny" | "manifest" | "runtime";
@@ -26,60 +28,79 @@ type RouteCacheabilityState = {
26
28
  captureDeadlineAt: number;
27
29
  complete?: (outcome: RouteCacheabilityOutcome) => void;
28
30
  completion?: Promise<RouteCacheabilityOutcome>;
31
+ /** Canonical framework tags most recently handed to the active CDN adapter. */
32
+ cdnCacheTags?: readonly string[];
33
+ /** Private marker surrounding this render's injected client trace metadata. */
34
+ clientTraceMetadataMarker?: string;
29
35
  completedResponseBody?: boolean;
36
+ /** Whether admission must translate a completed response through the active adapter. */
37
+ applyCompletedResponsePolicy?: boolean;
38
+ /** Core- or adapter-owned cache policy headers set by next.config, by lowercased name. */
39
+ configCdnCachePolicy?: Map<string, string>;
30
40
  explicitConfigCachePolicy?: boolean;
31
41
  explicitResponseCachePolicy?: boolean;
32
42
  finalResponseVetoReason?: string;
33
43
  forcedDynamicReason?: string;
34
44
  /** A route-config decision that applies to every concrete identity for this pattern. */
35
45
  patternDynamicReason?: string;
36
- frameworkResponseCachePolicy?: Partial<Record<CacheabilityPolicyHeader, string>>;
46
+ frameworkResponseCachePolicy?: Headers;
37
47
  mode: "admit" | "identity" | "probe";
38
48
  outcome?: RouteCacheabilityOutcome;
39
49
  preserveResponseCachePolicy?: boolean;
50
+ /** Whether an API request carried credentials that must not enter shared caching. */
51
+ credentialedRequest?: boolean;
40
52
  /** Cache-key behavior declared by the active CDN adapter. */
41
53
  responseVary?: "verbatim";
54
+ /** Concrete pathname resolved by the trusted request stage before rendering. */
55
+ resolvedRoutePathname?: string;
42
56
  probeBailout?: {
43
57
  kind: "private-cache";
44
58
  outcome: RouteCacheabilityOutcome;
45
59
  };
46
60
  route?: {
47
- kind: "app-page" | "app-route" | "pages-page";
61
+ kind: "app-page" | "app-route" | "pages-api" | "pages-page";
48
62
  pattern: string;
49
63
  };
50
64
  };
65
+ /** Retain canonical tags across completed-response admission and adapter header shaping. */
66
+ export declare function recordRouteCacheabilityCdnTags(tags: readonly string[] | undefined): void;
67
+ /** Retain the exact trace metadata marker for completed shared-response admission. */
68
+ export declare function recordRouteCacheabilityClientTraceMetadataMarker(marker: string): void;
51
69
  /** Preserve the existing policy when hybrid routing hands the request to Pages Router. */
52
- declare function preserveRouteCacheabilityResponsePolicy(): void;
53
- declare function readRouteCacheabilityState(): RouteCacheabilityState | null;
54
- declare function beginRouteCacheability(kind: "app-page" | "app-route" | "pages-page", pattern: string): boolean;
70
+ export declare function preserveRouteCacheabilityResponsePolicy(): void;
71
+ export declare function readRouteCacheabilityState(): RouteCacheabilityState | null;
72
+ export declare function beginRouteCacheability(kind: "app-page" | "app-route" | "pages-api" | "pages-page", pattern: string): boolean;
55
73
  /** Prevent shared caching when request processing before route dispatch was request-specific. */
56
- declare function markRouteCacheabilityDynamic(reason: string): void;
74
+ export declare function markRouteCacheabilityDynamic(reason: string): void;
57
75
  /** Mark an effective route configuration that makes the whole pattern dynamic. */
58
- declare function markRouteCacheabilityPatternDynamic(reason: string): void;
76
+ export declare function markRouteCacheabilityPatternDynamic(reason: string): void;
59
77
  /** Read a request-specific routing veto without making the route globally dynamic. */
60
- declare function getRouteCacheabilityDynamicReason(): string | null;
78
+ export declare function getRouteCacheabilityDynamicReason(): string | null;
61
79
  /** Reuse the active request's bounded response-capture envelope when available. */
62
- declare function getRouteCacheabilityCaptureOptions(): Pick<RouteCacheabilityState, "captureBudget" | "captureDeadlineAt"> | null;
80
+ export declare function getRouteCacheabilityCaptureOptions(): Pick<RouteCacheabilityState, "captureBudget" | "captureDeadlineAt"> | null;
63
81
  /** Keep a completed response private without treating it as static-to-dynamic. */
64
- declare function markRouteCacheabilityFinalResponseUncacheable(reason: string): void;
82
+ export declare function markRouteCacheabilityFinalResponseUncacheable(reason: string): void;
65
83
  /** Record that next.config explicitly owns the final response cache policy. */
66
- declare function markRouteCacheabilityExplicitConfigPolicy(): void;
84
+ export declare function markRouteCacheabilityExplicitConfigPolicy(): void;
85
+ /** Record a cache policy header, not just Vary, that a next.config rule set. */
86
+ export declare function markRouteCacheabilityConfigCdnCachePolicy(name: string, value: string): void;
87
+ /** Record a next.config cache policy header with the value a response carries. */
88
+ export declare function recordConfigCdnCachePolicyHeader(state: RouteCacheabilityState, name: string, value: string): void;
67
89
  /** Record a public cache policy supplied by the Route Handler itself. */
68
- declare function markRouteCacheabilityExplicitResponsePolicy(): void;
90
+ export declare function markRouteCacheabilityExplicitResponsePolicy(): void;
69
91
  /** Record that the response body reached clean EOF and is now a replay stream. */
70
- declare function markRouteCacheabilityResponseBodyComplete(): void;
92
+ export declare function markRouteCacheabilityResponseBodyComplete(): void;
71
93
  /** Record framework-owned policy so admission can identify policy added later. */
72
- declare function captureRouteCacheabilityResponsePolicy(headers: Headers): void;
94
+ export declare function captureRouteCacheabilityResponsePolicy(headers: Headers): void;
73
95
  /** True only for an authenticated probe that must render the matched App Page. */
74
- declare function isRouteCacheabilityProbe(): boolean;
96
+ export declare function isRouteCacheabilityProbe(): boolean;
75
97
  /** True when the outer Worker must decide cache admission after clean EOF. */
76
- declare function isRouteCacheabilityEvaluation(): boolean;
98
+ export declare function isRouteCacheabilityEvaluation(): boolean;
77
99
  /** True for the authenticated routing pass that must not evaluate user components. */
78
- declare function isRouteCacheabilityIdentityProbe(): boolean;
100
+ export declare function isRouteCacheabilityIdentityProbe(): boolean;
79
101
  /** True for every side-effect-free staged Worker observation request. */
80
- declare function isStagedCacheabilityProbeActive(): boolean;
81
- declare function deferRouteCacheability(): ((outcome: RouteCacheabilityOutcome) => void) | null;
82
- declare function recordRouteCacheability(outcome: RouteCacheabilityOutcome): void;
83
- declare function recordRouteCacheabilityProbeBailout(kind: "private-cache", outcome: RouteCacheabilityOutcome): void;
84
- //#endregion
85
- export { CACHEABILITY_POLICY_HEADERS, CACHEABILITY_REQUEST_STATE, RouteCacheabilityOutcome, RouteCacheabilityState, beginRouteCacheability, captureRouteCacheabilityResponsePolicy, deferRouteCacheability, getRouteCacheabilityCaptureOptions, getRouteCacheabilityDynamicReason, isRouteCacheabilityEvaluation, isRouteCacheabilityIdentityProbe, isRouteCacheabilityProbe, isStagedCacheabilityProbeActive, markRouteCacheabilityDynamic, markRouteCacheabilityExplicitConfigPolicy, markRouteCacheabilityExplicitResponsePolicy, markRouteCacheabilityFinalResponseUncacheable, markRouteCacheabilityPatternDynamic, markRouteCacheabilityResponseBodyComplete, preserveRouteCacheabilityResponsePolicy, readRouteCacheabilityState, recordRouteCacheability, recordRouteCacheabilityProbeBailout };
102
+ export declare function isStagedCacheabilityProbeActive(): boolean;
103
+ export declare function deferRouteCacheability(): ((outcome: RouteCacheabilityOutcome) => void) | null;
104
+ export declare function recordRouteCacheability(outcome: RouteCacheabilityOutcome): void;
105
+ export declare function recordRouteCacheabilityProbeBailout(kind: "private-cache", outcome: RouteCacheabilityOutcome): void;
106
+ //#endregion
@@ -1,11 +1,19 @@
1
1
  import { getRequestExecutionContext } from "./request-context.js";
2
2
  //#region src/shims/cacheability-classification.ts
3
3
  const CACHEABILITY_REQUEST_STATE = Symbol.for("vinext.cacheabilityRequestState");
4
- const CACHEABILITY_POLICY_HEADERS = [
5
- "cache-control",
6
- "cdn-cache-control",
7
- "cloudflare-cdn-cache-control"
8
- ];
4
+ /** Retain canonical tags across completed-response admission and adapter header shaping. */
5
+ function recordRouteCacheabilityCdnTags(tags) {
6
+ if (tags === void 0) return;
7
+ const state = readRouteCacheabilityState();
8
+ if (state?.mode !== "admit") return;
9
+ state.cdnCacheTags = [...tags];
10
+ }
11
+ /** Retain the exact trace metadata marker for completed shared-response admission. */
12
+ function recordRouteCacheabilityClientTraceMetadataMarker(marker) {
13
+ const state = readRouteCacheabilityState();
14
+ if (state?.mode !== "admit") return;
15
+ state.clientTraceMetadataMarker = marker;
16
+ }
9
17
  /** Preserve the existing policy when hybrid routing hands the request to Pages Router. */
10
18
  function preserveRouteCacheabilityResponsePolicy() {
11
19
  const state = readRouteCacheabilityState();
@@ -64,6 +72,18 @@ function markRouteCacheabilityExplicitConfigPolicy() {
64
72
  if (!state) return;
65
73
  state.explicitConfigCachePolicy = true;
66
74
  }
75
+ /** Record a cache policy header, not just Vary, that a next.config rule set. */
76
+ function markRouteCacheabilityConfigCdnCachePolicy(name, value) {
77
+ const state = readRouteCacheabilityState();
78
+ if (!state) return;
79
+ recordConfigCdnCachePolicyHeader(state, name, value);
80
+ }
81
+ /** Record a next.config cache policy header with the value a response carries. */
82
+ function recordConfigCdnCachePolicyHeader(state, name, value) {
83
+ state.explicitConfigCachePolicy = true;
84
+ const applied = new Headers([[name, value]]).get(name) ?? value;
85
+ (state.configCdnCachePolicy ??= /* @__PURE__ */ new Map()).set(name.toLowerCase(), applied);
86
+ }
67
87
  /** Record a public cache policy supplied by the Route Handler itself. */
68
88
  function markRouteCacheabilityExplicitResponsePolicy() {
69
89
  const state = readRouteCacheabilityState();
@@ -80,12 +100,7 @@ function markRouteCacheabilityResponseBodyComplete() {
80
100
  function captureRouteCacheabilityResponsePolicy(headers) {
81
101
  const state = readRouteCacheabilityState();
82
102
  if (!state || state.mode !== "admit") return;
83
- const policy = {};
84
- for (const name of CACHEABILITY_POLICY_HEADERS) {
85
- const value = headers.get(name);
86
- if (value !== null) policy[name] = value;
87
- }
88
- state.frameworkResponseCachePolicy = policy;
103
+ state.frameworkResponseCachePolicy = new Headers(headers);
89
104
  }
90
105
  /** True only for an authenticated probe that must render the matched App Page. */
91
106
  function isRouteCacheabilityProbe() {
@@ -143,4 +158,4 @@ function recordRouteCacheabilityProbeBailout(kind, outcome) {
143
158
  state.complete?.(outcome);
144
159
  }
145
160
  //#endregion
146
- export { CACHEABILITY_POLICY_HEADERS, CACHEABILITY_REQUEST_STATE, beginRouteCacheability, captureRouteCacheabilityResponsePolicy, deferRouteCacheability, getRouteCacheabilityCaptureOptions, getRouteCacheabilityDynamicReason, isRouteCacheabilityEvaluation, isRouteCacheabilityIdentityProbe, isRouteCacheabilityProbe, isStagedCacheabilityProbeActive, markRouteCacheabilityDynamic, markRouteCacheabilityExplicitConfigPolicy, markRouteCacheabilityExplicitResponsePolicy, markRouteCacheabilityFinalResponseUncacheable, markRouteCacheabilityPatternDynamic, markRouteCacheabilityResponseBodyComplete, preserveRouteCacheabilityResponsePolicy, readRouteCacheabilityState, recordRouteCacheability, recordRouteCacheabilityProbeBailout };
161
+ export { CACHEABILITY_REQUEST_STATE, beginRouteCacheability, captureRouteCacheabilityResponsePolicy, deferRouteCacheability, getRouteCacheabilityCaptureOptions, getRouteCacheabilityDynamicReason, isRouteCacheabilityEvaluation, isRouteCacheabilityIdentityProbe, isRouteCacheabilityProbe, isStagedCacheabilityProbeActive, markRouteCacheabilityConfigCdnCachePolicy, markRouteCacheabilityDynamic, markRouteCacheabilityExplicitConfigPolicy, markRouteCacheabilityExplicitResponsePolicy, markRouteCacheabilityFinalResponseUncacheable, markRouteCacheabilityPatternDynamic, markRouteCacheabilityResponseBodyComplete, preserveRouteCacheabilityResponsePolicy, readRouteCacheabilityState, recordConfigCdnCachePolicyHeader, recordRouteCacheability, recordRouteCacheabilityCdnTags, recordRouteCacheabilityClientTraceMetadataMarker, recordRouteCacheabilityProbeBailout };
@@ -0,0 +1,13 @@
1
+ import { CdnCacheAdapter } from "./cdn-cache.js";
2
+ //#region src/shims/cdn-cache-state.d.ts
3
+ /** Register an adapter without loading the origin cache implementation. */
4
+ export declare function setCdnCacheAdapter(adapter: CdnCacheAdapter): void;
5
+ /**
6
+ * Lazily keep the first declaratively configured adapter shared across
7
+ * duplicated stage modules. Failed factories remain retryable so a later
8
+ * entrypoint with the required runtime bindings can register successfully.
9
+ */
10
+ export declare function registerCdnCacheAdapter(factory: () => CdnCacheAdapter): void;
11
+ /** Read only an explicitly registered adapter; defaults belong to cdn-cache. */
12
+ export declare function getExplicitCdnCacheAdapter(): CdnCacheAdapter | null;
13
+ //#endregion
@@ -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,8 +1,9 @@
1
1
  import { CacheHandlerValue, IncrementalCacheValue } from "./cache-handler.js";
2
+ import { setCdnCacheAdapter } from "./cdn-cache-state.js";
2
3
  //#region src/shims/cdn-cache.d.ts
3
4
  /** A map of response header name -> value the adapter wants applied or removed. */
4
- type CdnResponseHeaders = Record<string, string | null>;
5
- type CdnCacheableHeaderInput = {
5
+ export type CdnResponseHeaders = Record<string, string | null>;
6
+ export type CdnCacheableHeaderInput = {
6
7
  /**
7
8
  * The cacheable `Cache-Control` value the framework computed for shared
8
9
  * caches (e.g. `s-maxage=60, stale-while-revalidate`). May be an empty string
@@ -28,18 +29,38 @@ type CdnCacheableHeaderInput = {
28
29
  */
29
30
  tags?: readonly string[];
30
31
  };
32
+ export type CdnResponsePolicy = {
33
+ /** Whether a provider-specific response header controls shared caching. */
34
+ isHeader(name: string): boolean;
35
+ /**
36
+ * Read the effective shared-cache policy from a response. The returned value
37
+ * uses Cache-Control syntax so core can apply the framework's cacheability
38
+ * rules without knowing which provider header carried it.
39
+ */
40
+ readCacheControl(headers: Headers): string | null;
41
+ /**
42
+ * Name the response header `readCacheControl` interpreted, or `null` when
43
+ * none did. Core uses it to tell which stage owns the effective policy;
44
+ * without it, core cannot attribute that policy to next.config.
45
+ */
46
+ readCacheControlHeaderName?(headers: Headers): string | null;
47
+ /** Whether provider policy explicitly opts out of storage. */
48
+ hasExplicitNonCacheablePolicy(headers: Headers, baseline?: Headers): boolean;
49
+ };
31
50
  /** Whether a Cache-Control value contains an exact non-cacheable directive. */
32
- declare function isNonCacheableCacheControl(cacheControl: string): boolean;
51
+ export declare function isNonCacheableCacheControl(cacheControl: string): boolean;
33
52
  /**
34
53
  * The serving strategy for page-level ISR. Implement this to delegate
35
54
  * page/route/image caching to a CDN edge instead of the origin store.
36
55
  */
37
- type CdnCacheAdapter = {
56
+ export type CdnCacheAdapter = {
38
57
  /**
39
58
  * The shared cache selects response variants using every request header
40
59
  * named by `Vary`, comparing values verbatim.
41
60
  */
42
61
  readonly responseVary?: "verbatim";
62
+ /** Provider-specific response-policy interpretation, when the adapter has one. */
63
+ readonly responsePolicy?: CdnResponsePolicy;
43
64
  /**
44
65
  * Fresh App Page responses must reach clean EOF before this adapter may emit
45
66
  * shared-cache headers. Used by edge adapters whose cache sits in front of
@@ -47,6 +68,21 @@ type CdnCacheAdapter = {
47
68
  * the completed artifact.
48
69
  */
49
70
  readonly requiresCompletedResponseAdmission?: boolean;
71
+ /**
72
+ * This adapter's response-stage transport keys shared App page dispatches by
73
+ * `VinextResponseStageDispatchOptions.cacheIdentity` when core supplies one.
74
+ * Core supplies it only when completed-response admission is also required,
75
+ * because that admission is what makes a query-free identity safe.
76
+ */
77
+ readonly responseStageCacheIdentity?: "query-free";
78
+ /**
79
+ * Optionally return a foreground page response while completed-response
80
+ * admission continues on an independent body branch. Returning `null` keeps
81
+ * the normal blocking admission path. API responses are never passed here.
82
+ */
83
+ deferCompletedPageResponseAdmission?(response: Response, complete: (response: Response) => Promise<Response>): Response | null;
84
+ /** Capture the full-route RSC side stream while admitting a completed HTML response. */
85
+ captureAppPageRscData?(rscData: Promise<ArrayBuffer>): void;
50
86
  /**
51
87
  * Validate provider-specific request routing before the application handles
52
88
  * the request. Returning a response short-circuits the request pipeline;
@@ -85,14 +121,6 @@ type CdnCacheAdapter = {
85
121
  * paths that do not pass through cache-policy finalization.
86
122
  */
87
123
  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
124
  /**
97
125
  * Whether the **origin** runs in-process background regeneration when a stale
98
126
  * entry is served. Edge adapters set this to `false` because the CDN
@@ -118,11 +146,14 @@ type CdnCacheAdapter = {
118
146
  * response headers alone. Deployments where provider headers carry cache
119
147
  * semantics must configure the adapter that owns those headers.
120
148
  */
121
- declare class DefaultCdnCacheAdapter implements CdnCacheAdapter {
149
+ export declare class DefaultCdnCacheAdapter implements CdnCacheAdapter {
150
+ private readonly buildIdentity?;
122
151
  readonly ownsBackgroundRevalidation = true;
152
+ constructor(buildIdentity?: string | undefined);
123
153
  get(key: string, ctx?: Record<string, unknown>): Promise<CacheHandlerValue | null>;
124
154
  set(key: string, data: IncrementalCacheValue | null, ctx?: Record<string, unknown>): Promise<void>;
125
155
  buildResponseHeaders(input: CdnCacheableHeaderInput): CdnResponseHeaders;
156
+ buildResponseIdentityHeaders(): CdnResponseHeaders;
126
157
  revalidateTag(_tags: string | string[], _durations?: {
127
158
  expire?: number;
128
159
  }): Promise<void>;
@@ -138,23 +169,21 @@ declare class DefaultCdnCacheAdapter implements CdnCacheAdapter {
138
169
  *
139
170
  * ```ts
140
171
  * import { vinext } from "vinext";
141
- * import { cdnAdapter } from "@vinext/cloudflare/cache/cdn-adapter";
172
+ * import { workersCacheCdnAdapter } from "@vinext/cloudflare/cache/workers-cache-cdn-adapter";
142
173
  *
143
174
  * export default defineConfig({
144
- * plugins: [vinext({ cache: { cdn: cdnAdapter() } })],
175
+ * plugins: [vinext({ cache: { cdn: workersCacheCdnAdapter() } })],
145
176
  * });
146
177
  * ```
147
178
  *
148
179
  * 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.
180
+ * don't have to call this from a worker entry. This setter remains for
181
+ * backwards compatibility, but is not the recommended consumer API.
152
182
  */
153
- declare function setCdnCacheAdapter(adapter: CdnCacheAdapter): void;
154
183
  /**
155
184
  * Get the active CDN cache adapter. An explicitly configured adapter wins;
156
185
  * otherwise the origin-managed {@link DefaultCdnCacheAdapter} is used.
157
186
  */
158
- declare function getCdnCacheAdapter(): CdnCacheAdapter;
187
+ export declare function getCdnCacheAdapter(): CdnCacheAdapter;
159
188
  //#endregion
160
- export { CdnCacheAdapter, CdnCacheableHeaderInput, CdnResponseHeaders, DefaultCdnCacheAdapter, getCdnCacheAdapter, isNonCacheableCacheControl, setCdnCacheAdapter };
189
+ export { setCdnCacheAdapter };
@@ -1,31 +1,5 @@
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
3
  /** Whether a Cache-Control value contains an exact non-cacheable directive. */
30
4
  function isNonCacheableCacheControl(cacheControl) {
31
5
  let start = 0;
@@ -59,21 +33,28 @@ const PENDING_DYNAMIC_CACHE_CONTROL = "no-store, must-revalidate";
59
33
  * semantics must configure the adapter that owns those headers.
60
34
  */
61
35
  var DefaultCdnCacheAdapter = class {
36
+ buildIdentity;
62
37
  ownsBackgroundRevalidation = true;
38
+ constructor(buildIdentity) {
39
+ this.buildIdentity = buildIdentity;
40
+ }
63
41
  async get(key, ctx) {
42
+ const { getDataCacheHandler } = await import("./cache-handler.js");
64
43
  return getDataCacheHandler().get(key, ctx);
65
44
  }
66
45
  async set(key, data, ctx) {
46
+ const { getDataCacheHandler } = await import("./cache-handler.js");
67
47
  await getDataCacheHandler().set(key, data, ctx);
68
48
  }
69
49
  buildResponseHeaders(input) {
70
50
  if (input.pendingDynamicCheck) return { "Cache-Control": PENDING_DYNAMIC_CACHE_CONTROL };
71
51
  return { "Cache-Control": input.cacheControl };
72
52
  }
53
+ buildResponseIdentityHeaders() {
54
+ return this.buildIdentity ? { "X-Vinext-Build-Id": this.buildIdentity } : {};
55
+ }
73
56
  async revalidateTag(_tags, _durations) {}
74
57
  };
75
- const _CDN_KEY = Symbol.for("vinext.cdnCacheAdapter");
76
- const _gCdn = globalThis;
77
58
  let _defaultAdapter = null;
78
59
  /**
79
60
  * Set a custom CDN cache adapter to delegate page-level ISR to a CDN edge. An
@@ -86,27 +67,23 @@ let _defaultAdapter = null;
86
67
  *
87
68
  * ```ts
88
69
  * import { vinext } from "vinext";
89
- * import { cdnAdapter } from "@vinext/cloudflare/cache/cdn-adapter";
70
+ * import { workersCacheCdnAdapter } from "@vinext/cloudflare/cache/workers-cache-cdn-adapter";
90
71
  *
91
72
  * export default defineConfig({
92
- * plugins: [vinext({ cache: { cdn: cdnAdapter() } })],
73
+ * plugins: [vinext({ cache: { cdn: workersCacheCdnAdapter() } })],
93
74
  * });
94
75
  * ```
95
76
  *
96
77
  * 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.
78
+ * don't have to call this from a worker entry. This setter remains for
79
+ * backwards compatibility, but is not the recommended consumer API.
100
80
  */
101
- function setCdnCacheAdapter(adapter) {
102
- _gCdn[_CDN_KEY] = adapter;
103
- }
104
81
  /**
105
82
  * Get the active CDN cache adapter. An explicitly configured adapter wins;
106
83
  * otherwise the origin-managed {@link DefaultCdnCacheAdapter} is used.
107
84
  */
108
85
  function getCdnCacheAdapter() {
109
- const active = _gCdn[_CDN_KEY];
86
+ const active = getExplicitCdnCacheAdapter();
110
87
  if (active) return active;
111
88
  return _defaultAdapter ??= new DefaultCdnCacheAdapter();
112
89
  }
@@ -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