vinext 1.0.0-beta.8 → 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 (813) hide show
  1. package/README.md +158 -84
  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 +82 -8
  37. package/dist/build/prerender-paths.js +814 -99
  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 +67 -15
  43. package/dist/build/prerender.js +177 -64
  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 +38 -19
  49. package/dist/build/report.js +73 -4
  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 +7 -8
  62. package/dist/cache/cache-adapters-virtual.d.ts +95 -9
  63. package/dist/cache/cache-adapters-virtual.js +58 -6
  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 -435
  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 -8
  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 +10 -7
  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 +5 -6
  102. package/dist/entries/app-browser-entry.js +3 -2
  103. package/dist/entries/app-rsc-entry.d.ts +12 -3
  104. package/dist/entries/app-rsc-entry.js +530 -55
  105. package/dist/entries/app-rsc-manifest.d.ts +4 -3
  106. package/dist/entries/app-rsc-manifest.js +27 -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 +237 -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 +832 -199
  117. package/dist/init-cloudflare.d.ts +27 -16
  118. package/dist/init-cloudflare.js +754 -113
  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 +20 -5
  191. package/dist/routing/app-router.js +28 -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 +121 -40
  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 +9 -5
  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 +7 -3
  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-browser-visible-commit.js +1 -1
  237. package/dist/server/app-client-reference-preloader.d.ts +2 -3
  238. package/dist/server/app-elements-wire-key.d.ts +25 -0
  239. package/dist/server/app-elements-wire-key.js +69 -0
  240. package/dist/server/app-elements-wire.d.ts +34 -53
  241. package/dist/server/app-elements-wire.js +4 -75
  242. package/dist/server/app-elements.d.ts +5 -5
  243. package/dist/server/app-elements.js +1 -1
  244. package/dist/server/app-fallback-renderer.d.ts +4 -4
  245. package/dist/server/app-fallback-renderer.js +6 -6
  246. package/dist/server/app-fetch-tracing.d.ts +15 -0
  247. package/dist/server/app-fetch-tracing.js +38 -0
  248. package/dist/server/app-history-state.d.ts +26 -27
  249. package/dist/server/app-history-state.js +19 -11
  250. package/dist/server/app-hook-warning-suppression.d.ts +2 -3
  251. package/dist/server/app-hydration-cache-publication.d.ts +3 -4
  252. package/dist/server/app-inline-css-client.d.ts +3 -4
  253. package/dist/server/app-interception-context-header.d.ts +2 -3
  254. package/dist/server/app-layout-param-observation.d.ts +7 -8
  255. package/dist/server/app-metadata-tracing.d.ts +12 -0
  256. package/dist/server/app-metadata-tracing.js +17 -0
  257. package/dist/server/app-middleware.d.ts +15 -7
  258. package/dist/server/app-middleware.js +30 -5
  259. package/dist/server/app-mounted-slots-header.d.ts +2 -3
  260. package/dist/server/app-mounted-slots-header.js +2 -2
  261. package/dist/server/app-optimistic-routing.d.ts +14 -10
  262. package/dist/server/app-optimistic-routing.js +16 -3
  263. package/dist/server/app-page-boundary-render.d.ts +6 -6
  264. package/dist/server/app-page-boundary-render.js +10 -4
  265. package/dist/server/app-page-boundary.d.ts +9 -10
  266. package/dist/server/app-page-boundary.js +2 -1
  267. package/dist/server/app-page-cache-finalizer.d.ts +32 -8
  268. package/dist/server/app-page-cache-finalizer.js +118 -14
  269. package/dist/server/app-page-cache-render.d.ts +8 -5
  270. package/dist/server/app-page-cache-render.js +22 -5
  271. package/dist/server/app-page-cache.d.ts +28 -9
  272. package/dist/server/app-page-cache.js +96 -25
  273. package/dist/server/app-page-dispatch.d.ts +36 -12
  274. package/dist/server/app-page-dispatch.js +188 -63
  275. package/dist/server/app-page-element-builder.d.ts +13 -11
  276. package/dist/server/app-page-element-builder.js +104 -61
  277. package/dist/server/app-page-execution.d.ts +14 -14
  278. package/dist/server/app-page-execution.js +12 -8
  279. package/dist/server/app-page-head.d.ts +19 -16
  280. package/dist/server/app-page-head.js +25 -25
  281. package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
  282. package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
  283. package/dist/server/app-page-method.d.ts +5 -11
  284. package/dist/server/app-page-method.js +2 -9
  285. package/dist/server/app-page-params.d.ts +5 -6
  286. package/dist/server/app-page-ppr-runtime.d.ts +2 -2
  287. package/dist/server/app-page-probe.d.ts +5 -6
  288. package/dist/server/app-page-probe.js +5 -4
  289. package/dist/server/app-page-render-identity.d.ts +4 -5
  290. package/dist/server/app-page-render-observation.d.ts +8 -9
  291. package/dist/server/app-page-render-observation.js +1 -1
  292. package/dist/server/app-page-render.d.ts +42 -6
  293. package/dist/server/app-page-render.js +192 -28
  294. package/dist/server/app-page-request.d.ts +10 -9
  295. package/dist/server/app-page-request.js +16 -12
  296. package/dist/server/app-page-response.d.ts +20 -9
  297. package/dist/server/app-page-response.js +31 -13
  298. package/dist/server/app-page-route-wiring.d.ts +15 -15
  299. package/dist/server/app-page-route-wiring.js +31 -24
  300. package/dist/server/app-page-search-params-observation.d.ts +26 -5
  301. package/dist/server/app-page-search-params-observation.js +42 -6
  302. package/dist/server/app-page-segment-plan.d.ts +2 -3
  303. package/dist/server/app-page-segment-state.d.ts +11 -12
  304. package/dist/server/app-page-stream.d.ts +27 -11
  305. package/dist/server/app-page-stream.js +35 -6
  306. package/dist/server/app-page-tracing.d.ts +33 -0
  307. package/dist/server/app-page-tracing.js +49 -0
  308. package/dist/server/app-pages-bridge.d.ts +6 -6
  309. package/dist/server/app-pages-bridge.js +19 -4
  310. package/dist/server/app-post-middleware-context.d.ts +2 -3
  311. package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
  312. package/dist/server/app-ppr-fallback-shell-render.js +3 -2
  313. package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
  314. package/dist/server/app-prerender-endpoints.d.ts +5 -5
  315. package/dist/server/app-prerender-endpoints.js +26 -12
  316. package/dist/server/app-prerender-static-params.d.ts +15 -7
  317. package/dist/server/app-prerender-static-params.js +33 -11
  318. package/dist/server/app-render-dependency.d.ts +14 -13
  319. package/dist/server/app-render-dependency.js +5 -1
  320. package/dist/server/app-request-context.d.ts +3 -4
  321. package/dist/server/app-request-stage-context.d.ts +5 -0
  322. package/dist/server/app-request-stage-context.js +11 -0
  323. package/dist/server/app-request-stage-dispatch.d.ts +25 -0
  324. package/dist/server/app-request-stage-dispatch.js +54 -0
  325. package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
  326. package/dist/server/app-request-stage-independent-entry.js +115 -0
  327. package/dist/server/app-response-header-provenance.d.ts +13 -7
  328. package/dist/server/app-response-header-provenance.js +34 -1
  329. package/dist/server/app-response-stage-entry.d.ts +9 -0
  330. package/dist/server/app-response-stage-entry.js +87 -0
  331. package/dist/server/app-route-handler-cache.d.ts +2 -3
  332. package/dist/server/app-route-handler-cache.js +46 -34
  333. package/dist/server/app-route-handler-dispatch.d.ts +3 -3
  334. package/dist/server/app-route-handler-dispatch.js +75 -57
  335. package/dist/server/app-route-handler-execution.d.ts +18 -13
  336. package/dist/server/app-route-handler-execution.js +189 -25
  337. package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
  338. package/dist/server/app-route-handler-middleware-context.js +15 -0
  339. package/dist/server/app-route-handler-policy.d.ts +22 -10
  340. package/dist/server/app-route-handler-policy.js +19 -4
  341. package/dist/server/app-route-handler-response.d.ts +9 -10
  342. package/dist/server/app-route-handler-response.js +2 -0
  343. package/dist/server/app-route-handler-runtime.d.ts +9 -10
  344. package/dist/server/app-route-handler-runtime.js +20 -16
  345. package/dist/server/app-route-module-loader.d.ts +6 -7
  346. package/dist/server/app-route-request-built-ins.d.ts +3 -4
  347. package/dist/server/app-route-tree-prefetch.d.ts +6 -7
  348. package/dist/server/app-route-tree-prefetch.js +2 -1
  349. package/dist/server/app-router-entry.d.ts +2 -0
  350. package/dist/server/app-router-entry.js +76 -12
  351. package/dist/server/app-rsc-cache-busting.d.ts +47 -22
  352. package/dist/server/app-rsc-cache-busting.js +80 -18
  353. package/dist/server/app-rsc-combined-handler.d.ts +9 -0
  354. package/dist/server/app-rsc-combined-handler.js +11 -0
  355. package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
  356. package/dist/server/app-rsc-error-handler.d.ts +12 -6
  357. package/dist/server/app-rsc-error-handler.js +15 -6
  358. package/dist/server/app-rsc-errors.d.ts +12 -9
  359. package/dist/server/app-rsc-errors.js +15 -13
  360. package/dist/server/app-rsc-handler.d.ts +33 -6
  361. package/dist/server/app-rsc-handler.js +498 -83
  362. package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
  363. package/dist/server/app-rsc-render-mode.d.ts +8 -9
  364. package/dist/server/app-rsc-request-normalization.d.ts +3 -3
  365. package/dist/server/app-rsc-request-normalization.js +2 -1
  366. package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
  367. package/dist/server/app-rsc-response-finalizer.js +24 -7
  368. package/dist/server/app-rsc-response-stage.d.ts +6 -0
  369. package/dist/server/app-rsc-response-stage.js +251 -0
  370. package/dist/server/app-rsc-route-matching.d.ts +4 -4
  371. package/dist/server/app-rsc-route-matching.js +4 -2
  372. package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
  373. package/dist/server/app-rsc-vary.d.ts +16 -0
  374. package/dist/server/app-rsc-vary.js +31 -0
  375. package/dist/server/app-segment-config.d.ts +120 -6
  376. package/dist/server/app-segment-config.js +264 -12
  377. package/dist/server/app-server-action-execution.d.ts +16 -12
  378. package/dist/server/app-server-action-execution.js +88 -35
  379. package/dist/server/app-ssr-entry.d.ts +14 -4
  380. package/dist/server/app-ssr-entry.js +64 -17
  381. package/dist/server/app-ssr-error-meta.d.ts +3 -4
  382. package/dist/server/app-ssr-error-meta.js +2 -1
  383. package/dist/server/app-ssr-router-instance.d.ts +2 -3
  384. package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
  385. package/dist/server/app-ssr-search-params-gate.js +54 -0
  386. package/dist/server/app-ssr-stream.d.ts +13 -9
  387. package/dist/server/app-ssr-stream.js +33 -7
  388. package/dist/server/app-static-generation.d.ts +4 -5
  389. package/dist/server/app-visited-response-cache.d.ts +11 -12
  390. package/dist/server/app-visited-response-cache.js +2 -2
  391. package/dist/server/app-worker-stages.d.ts +112 -0
  392. package/dist/server/app-worker-stages.js +105 -0
  393. package/dist/server/artifact-compatibility.d.ts +11 -12
  394. package/dist/server/before-interactive-head.d.ts +2 -3
  395. package/dist/server/bfcache-identity.d.ts +7 -8
  396. package/dist/server/cache-control.d.ts +39 -11
  397. package/dist/server/cache-control.js +104 -7
  398. package/dist/server/cache-headers.d.ts +3 -4
  399. package/dist/server/cache-proof.d.ts +75 -70
  400. package/dist/server/cache-proof.js +9 -1
  401. package/dist/server/cacheability-limits.d.ts +8 -0
  402. package/dist/server/cacheability-limits.js +9 -0
  403. package/dist/server/cacheability-manifest.d.ts +68 -0
  404. package/dist/server/cacheability-manifest.js +241 -0
  405. package/dist/server/cacheability-request.d.ts +49 -0
  406. package/dist/server/cacheability-request.js +559 -0
  407. package/dist/server/client-reuse-manifest.d.ts +17 -18
  408. package/dist/server/client-reuse-manifest.js +2 -2
  409. package/dist/server/client-trace-metadata.d.ts +9 -6
  410. package/dist/server/client-trace-metadata.js +27 -15
  411. package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
  412. package/dist/server/cloudflare-workers-tracing.js +8 -0
  413. package/dist/server/config-headers.d.ts +19 -5
  414. package/dist/server/config-headers.js +39 -5
  415. package/dist/server/cookie-utils.d.ts +2 -3
  416. package/dist/server/csp.d.ts +5 -6
  417. package/dist/server/default-global-error-module.d.ts +2 -3
  418. package/dist/server/default-global-not-found-module.d.ts +2 -3
  419. package/dist/server/default-not-found-module.d.ts +2 -3
  420. package/dist/server/defer-until-stream-consumed.d.ts +2 -3
  421. package/dist/server/defer-until-stream-consumed.js +2 -1
  422. package/dist/server/dev-initial-server-error.d.ts +3 -4
  423. package/dist/server/dev-initial-server-error.js +2 -1
  424. package/dist/server/dev-lockfile.d.ts +7 -8
  425. package/dist/server/dev-lockfile.js +4 -1
  426. package/dist/server/dev-module-runner.d.ts +2 -3
  427. package/dist/server/dev-origin-check.d.ts +5 -6
  428. package/dist/server/dev-route-files.d.ts +2 -3
  429. package/dist/server/dev-server.d.ts +4 -5
  430. package/dist/server/dev-server.js +130 -61
  431. package/dist/server/dev-stack-sourcemap.d.ts +7 -7
  432. package/dist/server/dev-stack-sourcemap.js +1 -1
  433. package/dist/server/document-initial-head.d.ts +3 -4
  434. package/dist/server/edge-api-runtime.d.ts +4 -5
  435. package/dist/server/fetch-handler.d.ts +3 -2
  436. package/dist/server/fetch-handler.js +3 -18
  437. package/dist/server/file-based-metadata.d.ts +2 -3
  438. package/dist/server/framework-tracer.d.ts +46 -0
  439. package/dist/server/framework-tracer.js +125 -0
  440. package/dist/server/fully-buffered-response.d.ts +11 -0
  441. package/dist/server/fully-buffered-response.js +19 -0
  442. package/dist/server/headers.d.ts +62 -56
  443. package/dist/server/headers.js +33 -20
  444. package/dist/server/html.d.ts +6 -27
  445. package/dist/server/html.js +16 -1
  446. package/dist/server/http-conditional.d.ts +5 -6
  447. package/dist/server/http-date.d.ts +2 -3
  448. package/dist/server/http-error-responses.d.ts +9 -10
  449. package/dist/server/http-range.d.ts +4 -5
  450. package/dist/server/hybrid-route-priority.d.ts +4 -5
  451. package/dist/server/image-optimization.d.ts +20 -21
  452. package/dist/server/implicit-tags.d.ts +3 -4
  453. package/dist/server/instrumentation-runtime.d.ts +17 -21
  454. package/dist/server/instrumentation-runtime.js +26 -8
  455. package/dist/server/instrumentation.d.ts +26 -30
  456. package/dist/server/instrumentation.js +18 -23
  457. package/dist/server/isr-cache.d.ts +28 -27
  458. package/dist/server/isr-cache.js +18 -70
  459. package/dist/server/isr-decision.d.ts +4 -4
  460. package/dist/server/metadata-route-build-data.d.ts +4 -5
  461. package/dist/server/metadata-route-cache-policy.d.ts +2 -3
  462. package/dist/server/metadata-route-response.d.ts +7 -7
  463. package/dist/server/metadata-route-response.js +68 -2
  464. package/dist/server/metadata-routes.d.ts +18 -19
  465. package/dist/server/middleware-matcher-pattern.d.ts +6 -7
  466. package/dist/server/middleware-matcher.d.ts +13 -6
  467. package/dist/server/middleware-matcher.js +22 -1
  468. package/dist/server/middleware-path-to-regexp.d.ts +6 -7
  469. package/dist/server/middleware-path-to-regexp.js +11 -9
  470. package/dist/server/middleware-response-headers.d.ts +3 -4
  471. package/dist/server/middleware-runtime.d.ts +13 -8
  472. package/dist/server/middleware-runtime.js +54 -10
  473. package/dist/server/middleware.d.ts +5 -5
  474. package/dist/server/multi-stage.d.ts +141 -0
  475. package/dist/server/multi-stage.js +8 -0
  476. package/dist/server/navigation-planner.d.ts +26 -26
  477. package/dist/server/navigation-trace.d.ts +11 -12
  478. package/dist/server/next-error-digest.d.ts +4 -5
  479. package/dist/server/normalize-path.d.ts +5 -6
  480. package/dist/server/normalize-path.js +1 -1
  481. package/dist/server/open-redirect.d.ts +2 -3
  482. package/dist/server/opentelemetry-api.d.ts +59 -0
  483. package/dist/server/opentelemetry-api.js +53 -0
  484. package/dist/server/opentelemetry-tracing.d.ts +5 -0
  485. package/dist/server/opentelemetry-tracing.js +83 -0
  486. package/dist/server/operation-token.d.ts +11 -12
  487. package/dist/server/otel-tracer-extension.d.ts +7 -9
  488. package/dist/server/otel-tracer-extension.js +37 -36
  489. package/dist/server/pages-api-route.d.ts +5 -4
  490. package/dist/server/pages-api-route.js +21 -8
  491. package/dist/server/pages-asset-tags.d.ts +6 -6
  492. package/dist/server/pages-asset-tags.js +37 -2
  493. package/dist/server/pages-body-parser-config.d.ts +4 -5
  494. package/dist/server/pages-body-parser-config.js +4 -4
  495. package/dist/server/pages-client-assets.d.ts +11 -5
  496. package/dist/server/pages-data-route.d.ts +11 -12
  497. package/dist/server/pages-data-route.js +1 -1
  498. package/dist/server/pages-default-404.d.ts +3 -4
  499. package/dist/server/pages-dev-hydration.d.ts +9 -4
  500. package/dist/server/pages-dev-hydration.js +19 -7
  501. package/dist/server/pages-dev-module-url.d.ts +3 -4
  502. package/dist/server/pages-dev-stylesheets.d.ts +5 -6
  503. package/dist/server/pages-document-asset-props.d.ts +6 -7
  504. package/dist/server/pages-document-initial-props.d.ts +5 -5
  505. package/dist/server/pages-document-initial-props.js +4 -2
  506. package/dist/server/pages-execution-tracing.d.ts +40 -0
  507. package/dist/server/pages-execution-tracing.js +80 -0
  508. package/dist/server/pages-get-initial-props.d.ts +9 -10
  509. package/dist/server/pages-i18n.d.ts +8 -8
  510. package/dist/server/pages-i18n.js +3 -2
  511. package/dist/server/pages-media-type.d.ts +4 -5
  512. package/dist/server/pages-node-compat.d.ts +11 -10
  513. package/dist/server/pages-node-compat.js +12 -4
  514. package/dist/server/pages-page-data.d.ts +18 -19
  515. package/dist/server/pages-page-data.js +11 -10
  516. package/dist/server/pages-page-handler.d.ts +7 -6
  517. package/dist/server/pages-page-handler.js +98 -47
  518. package/dist/server/pages-page-method.d.ts +2 -3
  519. package/dist/server/pages-page-response.d.ts +14 -10
  520. package/dist/server/pages-page-response.js +49 -31
  521. package/dist/server/pages-preview.d.ts +10 -11
  522. package/dist/server/pages-readiness.d.ts +2 -3
  523. package/dist/server/pages-request-pipeline.d.ts +16 -12
  524. package/dist/server/pages-request-pipeline.js +69 -28
  525. package/dist/server/pages-request-stage-entry.d.ts +23 -0
  526. package/dist/server/pages-request-stage-entry.js +314 -0
  527. package/dist/server/pages-response-stage-entry.d.ts +11 -0
  528. package/dist/server/pages-response-stage-entry.js +106 -0
  529. package/dist/server/pages-response-stage.d.ts +31 -0
  530. package/dist/server/pages-response-stage.js +49 -0
  531. package/dist/server/pages-revalidate.d.ts +3 -4
  532. package/dist/server/pages-revalidate.js +9 -4
  533. package/dist/server/pages-route-data-kind.d.ts +18 -0
  534. package/dist/server/pages-route-data-kind.js +11 -0
  535. package/dist/server/pages-router-entry.d.ts +1 -25
  536. package/dist/server/pages-router-entry.js +48 -114
  537. package/dist/server/pages-serializable-props.d.ts +3 -4
  538. package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
  539. package/dist/server/pregenerated-concrete-paths.js +12 -6
  540. package/dist/server/prerender-cache-life-header.d.ts +3 -4
  541. package/dist/server/prerender-manifest.d.ts +11 -11
  542. package/dist/server/prerender-manifest.js +6 -3
  543. package/dist/server/prerender-route-params.d.ts +16 -9
  544. package/dist/server/prerender-route-params.js +18 -2
  545. package/dist/server/prerender-work-unit-setup.d.ts +4 -4
  546. package/dist/server/prerender-work-unit-setup.js +37 -14
  547. package/dist/server/prod-server.d.ts +12 -9
  548. package/dist/server/prod-server.js +129 -36
  549. package/dist/server/proxy-trust.d.ts +5 -6
  550. package/dist/server/request-log.d.ts +3 -4
  551. package/dist/server/request-pipeline.d.ts +17 -21
  552. package/dist/server/request-pipeline.js +8 -10
  553. package/dist/server/request-stage.d.ts +5 -0
  554. package/dist/server/request-stage.js +7 -0
  555. package/dist/server/request-tracing.d.ts +22 -0
  556. package/dist/server/request-tracing.js +180 -0
  557. package/dist/server/response-stage-cacheability.d.ts +37 -0
  558. package/dist/server/response-stage-cacheability.js +55 -0
  559. package/dist/server/response-stage-policy.d.ts +23 -0
  560. package/dist/server/response-stage-policy.js +89 -0
  561. package/dist/server/response-stage.d.ts +5 -0
  562. package/dist/server/response-stage.js +7 -0
  563. package/dist/server/response-start-tracing.d.ts +14 -0
  564. package/dist/server/response-start-tracing.js +80 -0
  565. package/dist/server/revalidation-host.d.ts +2 -3
  566. package/dist/server/revalidation-host.js +2 -1
  567. package/dist/server/revalidation-request.d.ts +8 -0
  568. package/dist/server/revalidation-request.js +37 -0
  569. package/dist/server/rsc-completion-metadata.d.ts +6 -7
  570. package/dist/server/rsc-stream-hints.d.ts +18 -7
  571. package/dist/server/rsc-stream-hints.js +70 -35
  572. package/dist/server/seed-cache.d.ts +2 -3
  573. package/dist/server/seed-cache.js +8 -7
  574. package/dist/server/server-action-not-found.d.ts +5 -6
  575. package/dist/server/server-globals.d.ts +2 -3
  576. package/dist/server/server-globals.js +13 -0
  577. package/dist/server/skip-cache-proof.d.ts +4 -4
  578. package/dist/server/socket-error-backstop.d.ts +5 -6
  579. package/dist/server/socket-error-backstop.js +1 -1
  580. package/dist/server/static-file-cache.d.ts +5 -6
  581. package/dist/server/static-file-cache.js +9 -7
  582. package/dist/server/static-file-signal.d.ts +16 -0
  583. package/dist/server/static-file-signal.js +82 -0
  584. package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
  585. package/dist/server/streaming-metadata.d.ts +2 -3
  586. package/dist/server/tracer.d.ts +5 -0
  587. package/dist/server/tracer.js +13 -0
  588. package/dist/server/worker-prerender-discovery.d.ts +18 -0
  589. package/dist/server/worker-prerender-discovery.js +55 -0
  590. package/dist/server/worker-revalidation-context.d.ts +2 -3
  591. package/dist/server/worker-revalidation-context.js +5 -5
  592. package/dist/server/worker-stages.d.ts +43 -0
  593. package/dist/server/worker-stages.js +25 -0
  594. package/dist/server/worker-utils.d.ts +5 -6
  595. package/dist/server/worker-utils.js +4 -4
  596. package/dist/server/workers-tracing.d.ts +17 -0
  597. package/dist/server/workers-tracing.js +27 -0
  598. package/dist/shims/amp.d.ts +3 -4
  599. package/dist/shims/app-router-scroll-state.d.ts +9 -10
  600. package/dist/shims/app-router-scroll.d.ts +4 -5
  601. package/dist/shims/app-router-scroll.js +2 -1
  602. package/dist/shims/app.d.ts +5 -6
  603. package/dist/shims/before-interactive-context.d.ts +5 -6
  604. package/dist/shims/cache-callable-runtime.d.ts +44 -4
  605. package/dist/shims/cache-callable-runtime.js +168 -8
  606. package/dist/shims/cache-for-request.d.ts +2 -3
  607. package/dist/shims/cache-handler.d.ts +33 -20
  608. package/dist/shims/cache-handler.js +61 -2
  609. package/dist/shims/cache-request-state.d.ts +28 -29
  610. package/dist/shims/cache-runtime.d.ts +23 -21
  611. package/dist/shims/cache-runtime.js +239 -121
  612. package/dist/shims/cache.d.ts +15 -15
  613. package/dist/shims/cache.js +25 -13
  614. package/dist/shims/cacheability-classification.d.ts +106 -0
  615. package/dist/shims/cacheability-classification.js +161 -0
  616. package/dist/shims/cdn-cache-state.d.ts +13 -0
  617. package/dist/shims/cdn-cache-state.js +23 -0
  618. package/dist/shims/cdn-cache.d.ts +76 -18
  619. package/dist/shims/cdn-cache.js +40 -39
  620. package/dist/shims/client-hook-error.d.ts +3 -4
  621. package/dist/shims/client-locale.d.ts +2 -3
  622. package/dist/shims/client-page-root.d.ts +24 -0
  623. package/dist/shims/client-page-root.js +121 -0
  624. package/dist/shims/compat-router.d.ts +2 -3
  625. package/dist/shims/config.d.ts +3 -4
  626. package/dist/shims/constants.d.ts +73 -74
  627. package/dist/shims/constants.js +1 -1
  628. package/dist/shims/default-not-found.d.ts +2 -3
  629. package/dist/shims/document.d.ts +9 -9
  630. package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
  631. package/dist/shims/dynamic-preload-chunks.js +17 -13
  632. package/dist/shims/dynamic.d.ts +3 -3
  633. package/dist/shims/error-boundary-navigation.d.ts +3 -4
  634. package/dist/shims/error-boundary.d.ts +17 -18
  635. package/dist/shims/error-boundary.js +17 -11
  636. package/dist/shims/error.d.ts +4 -4
  637. package/dist/shims/error.js +1 -1
  638. package/dist/shims/error.react-server.d.ts +3 -4
  639. package/dist/shims/fetch-cache.d.ts +22 -22
  640. package/dist/shims/fetch-cache.js +50 -20
  641. package/dist/shims/font-google-base.d.ts +9 -9
  642. package/dist/shims/font-google-base.js +2 -1
  643. package/dist/shims/font-local.d.ts +3 -3
  644. package/dist/shims/font-local.js +1 -1
  645. package/dist/shims/font-utils.d.ts +14 -15
  646. package/dist/shims/form.d.ts +2 -2
  647. package/dist/shims/form.js +10 -7
  648. package/dist/shims/hash-scroll.d.ts +5 -6
  649. package/dist/shims/head-state.d.ts +4 -5
  650. package/dist/shims/head.d.ts +16 -16
  651. package/dist/shims/head.js +5 -4
  652. package/dist/shims/headers.d.ts +68 -32
  653. package/dist/shims/headers.js +101 -10
  654. package/dist/shims/i18n-context.d.ts +5 -6
  655. package/dist/shims/i18n-state.d.ts +4 -5
  656. package/dist/shims/image-config.d.ts +5 -6
  657. package/dist/shims/image-config.js +2 -0
  658. package/dist/shims/image.d.ts +5 -5
  659. package/dist/shims/image.js +12 -8
  660. package/dist/shims/internal/als-registry.d.ts +4 -5
  661. package/dist/shims/internal/api-utils.d.ts +3 -4
  662. package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
  663. package/dist/shims/internal/app-page-props-cache-key.js +53 -1
  664. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
  665. package/dist/shims/internal/app-prefetch-rsc-request.d.ts +13 -0
  666. package/dist/shims/internal/app-prefetch-rsc-request.js +12 -0
  667. package/dist/shims/internal/app-route-detection.d.ts +2 -2
  668. package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -6
  669. package/dist/shims/internal/app-route-prefetch-policy.js +1 -0
  670. package/dist/shims/internal/app-router-context.d.ts +9 -10
  671. package/dist/shims/internal/cookie-serialize.d.ts +4 -5
  672. package/dist/shims/internal/format-url-object.d.ts +7 -0
  673. package/dist/shims/internal/format-url-object.js +53 -0
  674. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
  675. package/dist/shims/internal/hybrid-client-route-owner-direct.js +29 -11
  676. package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
  677. package/dist/shims/internal/hybrid-client-route-owner.js +5 -4
  678. package/dist/shims/internal/interpolate-as.d.ts +5 -6
  679. package/dist/shims/internal/interpolate-as.js +4 -2
  680. package/dist/shims/internal/link-status-registry.d.ts +5 -6
  681. package/dist/shims/internal/make-hanging-promise.d.ts +8 -3
  682. package/dist/shims/internal/make-hanging-promise.js +13 -2
  683. package/dist/shims/internal/navigation-untracked.d.ts +2 -3
  684. package/dist/shims/internal/normalize-router-href.d.ts +15 -0
  685. package/dist/shims/internal/normalize-router-href.js +41 -0
  686. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
  687. package/dist/shims/internal/pages-data-target.d.ts +8 -6
  688. package/dist/shims/internal/pages-data-target.js +32 -36
  689. package/dist/shims/internal/pages-data-url.d.ts +4 -5
  690. package/dist/shims/internal/pages-data-url.js +2 -1
  691. package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
  692. package/dist/shims/internal/pages-router-components.d.ts +3 -4
  693. package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
  694. package/dist/shims/internal/route-pattern-for-warning.js +3 -3
  695. package/dist/shims/internal/router-context.d.ts +2 -3
  696. package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
  697. package/dist/shims/internal/thenable-well-known-properties.js +33 -0
  698. package/dist/shims/internal/utils.d.ts +7 -8
  699. package/dist/shims/internal/work-unit-async-storage.d.ts +12 -11
  700. package/dist/shims/layout-segment-context.d.ts +3 -4
  701. package/dist/shims/link-prefetch.d.ts +9 -10
  702. package/dist/shims/link.d.ts +4 -4
  703. package/dist/shims/link.js +67 -116
  704. package/dist/shims/metadata.d.ts +15 -16
  705. package/dist/shims/metadata.js +40 -36
  706. package/dist/shims/navigation-context-accessors.d.ts +9 -0
  707. package/dist/shims/navigation-context-accessors.js +19 -0
  708. package/dist/shims/navigation-context-state.d.ts +27 -18
  709. package/dist/shims/navigation-errors.d.ts +18 -19
  710. package/dist/shims/navigation-state.d.ts +6 -7
  711. package/dist/shims/navigation.d.ts +80 -68
  712. package/dist/shims/navigation.js +45 -17
  713. package/dist/shims/navigation.react-server.d.ts +9 -9
  714. package/dist/shims/navigation.react-server.js +1 -1
  715. package/dist/shims/offline.d.ts +2 -3
  716. package/dist/shims/og.d.ts +2 -2
  717. package/dist/shims/pages-router-runtime.d.ts +4 -5
  718. package/dist/shims/ppr-fallback-shell.d.ts +13 -14
  719. package/dist/shims/readonly-url-search-params.d.ts +2 -3
  720. package/dist/shims/request-context.d.ts +7 -6
  721. package/dist/shims/root-params.d.ts +14 -15
  722. package/dist/shims/router-state.d.ts +5 -6
  723. package/dist/shims/router-state.js +1 -1
  724. package/dist/shims/router.d.ts +22 -21
  725. package/dist/shims/router.js +339 -164
  726. package/dist/shims/script-nonce-context.d.ts +8 -6
  727. package/dist/shims/script-nonce-context.js +15 -6
  728. package/dist/shims/script.d.ts +4 -4
  729. package/dist/shims/script.js +9 -7
  730. package/dist/shims/search-params-gate.d.ts +35 -0
  731. package/dist/shims/search-params-gate.js +32 -0
  732. package/dist/shims/server.d.ts +19 -51
  733. package/dist/shims/server.js +14 -28
  734. package/dist/shims/slot.d.ts +33 -15
  735. package/dist/shims/slot.js +41 -9
  736. package/dist/shims/streamed-icons.d.ts +3 -4
  737. package/dist/shims/thenable-params.d.ts +5 -7
  738. package/dist/shims/thenable-params.js +3 -24
  739. package/dist/shims/unified-request-context.d.ts +34 -31
  740. package/dist/shims/unified-request-context.js +34 -24
  741. package/dist/shims/unrecognized-action-error.d.ts +3 -4
  742. package/dist/shims/url-safety.d.ts +5 -6
  743. package/dist/shims/url-utils.d.ts +18 -12
  744. package/dist/shims/url-utils.js +10 -1
  745. package/dist/shims/use-merged-ref.d.ts +2 -3
  746. package/dist/shims/user-agent.d.ts +31 -0
  747. package/dist/shims/user-agent.js +16 -0
  748. package/dist/shims/web-vitals.d.ts +2 -2
  749. package/dist/typegen.d.ts +3 -4
  750. package/dist/utils/asset-prefix.d.ts +7 -8
  751. package/dist/utils/base-path.d.ts +5 -6
  752. package/dist/utils/built-asset-url.d.ts +2 -3
  753. package/dist/utils/built-asset-url.js +1 -1
  754. package/dist/utils/cache-control-metadata.d.ts +4 -5
  755. package/dist/utils/client-build-manifest.d.ts +6 -7
  756. package/dist/utils/client-build-manifest.js +2 -1
  757. package/dist/utils/client-entry-manifest.d.ts +6 -7
  758. package/dist/utils/client-runtime-metadata.d.ts +8 -3
  759. package/dist/utils/client-runtime-metadata.js +18 -1
  760. package/dist/utils/commonjs-loader.d.ts +4 -5
  761. package/dist/utils/compare.d.ts +2 -3
  762. package/dist/utils/deployment-id.d.ts +6 -7
  763. package/dist/utils/dev-error-recovery-event.d.ts +2 -3
  764. package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
  765. package/dist/utils/domain-locale.d.ts +7 -8
  766. package/dist/utils/encode-cache-tag.d.ts +3 -4
  767. package/dist/utils/error-cause.d.ts +2 -3
  768. package/dist/utils/external-url.d.ts +2 -3
  769. package/dist/utils/has-trailing-comma.d.ts +3 -4
  770. package/dist/utils/hash.d.ts +3 -4
  771. package/dist/utils/html-limited-bots.d.ts +3 -4
  772. package/dist/utils/lazy-chunks.d.ts +8 -9
  773. package/dist/utils/lazy-chunks.js +4 -4
  774. package/dist/utils/manifest-paths.d.ts +5 -6
  775. package/dist/utils/mdx-scan.d.ts +11 -4
  776. package/dist/utils/mdx-scan.js +27 -1
  777. package/dist/utils/middleware-request-headers.d.ts +7 -6
  778. package/dist/utils/middleware-request-headers.js +6 -1
  779. package/dist/utils/navigation-signal.d.ts +3 -3
  780. package/dist/utils/navigation-signal.js +16 -1
  781. package/dist/utils/number.d.ts +2 -3
  782. package/dist/utils/package-name.d.ts +3 -4
  783. package/dist/utils/parse-cookie.d.ts +4 -5
  784. package/dist/utils/path.d.ts +8 -9
  785. package/dist/utils/plugin-options.d.ts +2 -3
  786. package/dist/utils/precompressed-variant.d.ts +3 -4
  787. package/dist/utils/prerender-output-paths.d.ts +9 -10
  788. package/dist/utils/prerender-output-paths.js +16 -9
  789. package/dist/utils/project.d.ts +19 -30
  790. package/dist/utils/project.js +20 -29
  791. package/dist/utils/promise.d.ts +2 -3
  792. package/dist/utils/protocol-headers.d.ts +14 -15
  793. package/dist/utils/public-file-path.d.ts +2 -3
  794. package/dist/utils/public-routes.d.ts +2 -3
  795. package/dist/utils/query.d.ts +14 -9
  796. package/dist/utils/query.js +22 -1
  797. package/dist/utils/react-compiler-support.d.ts +6 -7
  798. package/dist/utils/react-version.d.ts +4 -3
  799. package/dist/utils/react-version.js +19 -1
  800. package/dist/utils/record.d.ts +2 -3
  801. package/dist/utils/redirect-digest.d.ts +3 -4
  802. package/dist/utils/regex-safety.d.ts +4 -5
  803. package/dist/utils/regex.d.ts +2 -3
  804. package/dist/utils/safe-json-file.d.ts +2 -3
  805. package/dist/utils/sorted-array.d.ts +2 -3
  806. package/dist/utils/text-stream.d.ts +3 -4
  807. package/dist/utils/vinext-root.d.ts +2 -3
  808. package/dist/utils/virtual-module.d.ts +3 -4
  809. package/dist/utils/vite-cli-invocation.d.ts +21 -0
  810. package/dist/utils/vite-cli-invocation.js +144 -0
  811. package/dist/utils/vite-version.d.ts +5 -6
  812. package/next-package.json +4 -0
  813. package/package.json +55 -6
@@ -1,15 +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 { workUnitAsyncStorage } from "./internal/work-unit-async-storage.js";
13
14
  //#region src/shims/cache.ts
14
15
  /**
15
16
  * next/cache shim
@@ -28,8 +29,7 @@ import { workUnitAsyncStorage } from "./internal/work-unit-async-storage.js";
28
29
  * vinext({ cache: { data: kvDataAdapter({ binding: 'VINEXT_KV_CACHE' }) } })
29
30
  *
30
31
  * The imperative `setCacheHandler` / `setDataCacheHandler` setters are
31
- * deprecated for consumers and retained only as the internal registration
32
- * target used by the generated cache-adapter module.
32
+ * deprecated for consumers and retained for backwards compatibility.
33
33
  */
34
34
  const _g = globalThis;
35
35
  function scheduleRevalidation(promise) {
@@ -54,6 +54,10 @@ function scheduleRevalidation(promise) {
54
54
  * @param profile - cacheLife profile name (e.g. 'max', 'hours') or inline { expire: number }
55
55
  */
56
56
  function revalidateTag(tag, profile) {
57
+ if (isStagedCacheabilityProbeActive()) {
58
+ markDynamicUsage();
59
+ return;
60
+ }
57
61
  let durations;
58
62
  if (typeof profile === "string") {
59
63
  const resolved = cacheLifeProfiles[profile];
@@ -93,9 +97,14 @@ async function _invalidateEncodedTag(encoded, durations) {
93
97
  * layout/page hierarchy tags, so only no-type invalidation applies there.
94
98
  */
95
99
  function revalidatePath(path, type) {
100
+ if (isStagedCacheabilityProbeActive()) {
101
+ markDynamicUsage();
102
+ return;
103
+ }
96
104
  markActionRevalidation(1);
97
105
  const stem = path.endsWith("/") ? path.slice(0, -1) : path;
98
- 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);
99
108
  _markPendingRevalidatedTag(encodedTag);
100
109
  return scheduleRevalidation(_invalidateEncodedTag(encodedTag));
101
110
  }
@@ -304,6 +313,7 @@ function unstable_cacheTag(...tags) {
304
313
  }
305
314
  return cacheTag(...tags);
306
315
  }
316
+ const UNSTABLE_CACHE_KEY_PREFIX = "unstable_cache:v2";
307
317
  /**
308
318
  * AsyncLocalStorage to track whether we're inside an unstable_cache() callback.
309
319
  * Stored on globalThis via Symbol so headers.ts can detect the scope without
@@ -389,7 +399,7 @@ function unstable_cache(fn, keyParts, options) {
389
399
  const revalidateSeconds = options?.revalidate;
390
400
  const cachedFn = async (...args) => {
391
401
  const argsKey = JSON.stringify(args);
392
- const cacheKey = `unstable_cache:${baseKey}:${argsKey}`;
402
+ const cacheKey = `${UNSTABLE_CACHE_KEY_PREFIX}:${baseKey}:${argsKey}`;
393
403
  addCollectedRequestTags(tags);
394
404
  recordUnstableCacheObservation({
395
405
  kind: "unstable_cache",
@@ -408,12 +418,14 @@ function unstable_cache(fn, keyParts, options) {
408
418
  });
409
419
  if (existing?.value && existing.value.kind === "FETCH") {
410
420
  const cached = tryDeserializeUnstableCacheResult(existing.value.data.body);
411
- if (cached.ok) if (existing.cacheState === "stale") {
412
- if (shouldServeStaleUnstableCacheEntry()) {
413
- scheduleUnstableCacheBackgroundRevalidation(cacheKey, () => refreshUnstableCacheResult(fn, args, cacheKey, tags, revalidateSeconds));
414
- return cached.value;
415
- }
416
- } 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
+ }
417
429
  }
418
430
  }
419
431
  if (isDraftMode) return await _unstableCacheAls.run(true, () => fn(...args));
@@ -422,4 +434,4 @@ function unstable_cache(fn, keyParts, options) {
422
434
  return cachedFn;
423
435
  }
424
436
  //#endregion
425
- 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 };
@@ -0,0 +1,106 @@
1
+ //#region src/shims/cacheability-classification.d.ts
2
+ export declare const CACHEABILITY_REQUEST_STATE: unique symbol;
3
+ export type RouteCacheabilityOutcome = {
4
+ cacheControl?: string;
5
+ cacheable: boolean;
6
+ classificationFailure?: boolean;
7
+ dynamicUsage?: boolean;
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;
13
+ tags?: readonly string[];
14
+ };
15
+ export type RouteCacheabilityState = {
16
+ admission?: {
17
+ manifest?: unknown;
18
+ policy: "deny" | "manifest" | "runtime";
19
+ representation?: string;
20
+ requestKey?: string;
21
+ routePathname?: string;
22
+ };
23
+ /** Optional admission budget override used by focused runtime tests. */
24
+ captureBudget?: {
25
+ maxBytes: number;
26
+ reservedBytes: number;
27
+ };
28
+ captureDeadlineAt: number;
29
+ complete?: (outcome: RouteCacheabilityOutcome) => void;
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;
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>;
40
+ explicitConfigCachePolicy?: boolean;
41
+ explicitResponseCachePolicy?: boolean;
42
+ finalResponseVetoReason?: string;
43
+ forcedDynamicReason?: string;
44
+ /** A route-config decision that applies to every concrete identity for this pattern. */
45
+ patternDynamicReason?: string;
46
+ frameworkResponseCachePolicy?: Headers;
47
+ mode: "admit" | "identity" | "probe";
48
+ outcome?: RouteCacheabilityOutcome;
49
+ preserveResponseCachePolicy?: boolean;
50
+ /** Whether an API request carried credentials that must not enter shared caching. */
51
+ credentialedRequest?: boolean;
52
+ /** Cache-key behavior declared by the active CDN adapter. */
53
+ responseVary?: "verbatim";
54
+ /** Concrete pathname resolved by the trusted request stage before rendering. */
55
+ resolvedRoutePathname?: string;
56
+ probeBailout?: {
57
+ kind: "private-cache";
58
+ outcome: RouteCacheabilityOutcome;
59
+ };
60
+ route?: {
61
+ kind: "app-page" | "app-route" | "pages-api" | "pages-page";
62
+ pattern: string;
63
+ };
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;
69
+ /** Preserve the existing policy when hybrid routing hands the request to Pages Router. */
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;
73
+ /** Prevent shared caching when request processing before route dispatch was request-specific. */
74
+ export declare function markRouteCacheabilityDynamic(reason: string): void;
75
+ /** Mark an effective route configuration that makes the whole pattern dynamic. */
76
+ export declare function markRouteCacheabilityPatternDynamic(reason: string): void;
77
+ /** Read a request-specific routing veto without making the route globally dynamic. */
78
+ export declare function getRouteCacheabilityDynamicReason(): string | null;
79
+ /** Reuse the active request's bounded response-capture envelope when available. */
80
+ export declare function getRouteCacheabilityCaptureOptions(): Pick<RouteCacheabilityState, "captureBudget" | "captureDeadlineAt"> | null;
81
+ /** Keep a completed response private without treating it as static-to-dynamic. */
82
+ export declare function markRouteCacheabilityFinalResponseUncacheable(reason: string): void;
83
+ /** Record that next.config explicitly owns the final response cache policy. */
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;
89
+ /** Record a public cache policy supplied by the Route Handler itself. */
90
+ export declare function markRouteCacheabilityExplicitResponsePolicy(): void;
91
+ /** Record that the response body reached clean EOF and is now a replay stream. */
92
+ export declare function markRouteCacheabilityResponseBodyComplete(): void;
93
+ /** Record framework-owned policy so admission can identify policy added later. */
94
+ export declare function captureRouteCacheabilityResponsePolicy(headers: Headers): void;
95
+ /** True only for an authenticated probe that must render the matched App Page. */
96
+ export declare function isRouteCacheabilityProbe(): boolean;
97
+ /** True when the outer Worker must decide cache admission after clean EOF. */
98
+ export declare function isRouteCacheabilityEvaluation(): boolean;
99
+ /** True for the authenticated routing pass that must not evaluate user components. */
100
+ export declare function isRouteCacheabilityIdentityProbe(): boolean;
101
+ /** True for every side-effect-free staged Worker observation request. */
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
@@ -0,0 +1,161 @@
1
+ import { getRequestExecutionContext } from "./request-context.js";
2
+ //#region src/shims/cacheability-classification.ts
3
+ const CACHEABILITY_REQUEST_STATE = Symbol.for("vinext.cacheabilityRequestState");
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
+ }
17
+ /** Preserve the existing policy when hybrid routing hands the request to Pages Router. */
18
+ function preserveRouteCacheabilityResponsePolicy() {
19
+ const state = readRouteCacheabilityState();
20
+ if (!state || state.mode !== "admit") return;
21
+ if (state.route?.kind === "pages-page") return;
22
+ state.preserveResponseCachePolicy = true;
23
+ }
24
+ function readRouteCacheabilityState() {
25
+ const context = getRequestExecutionContext();
26
+ if (!context) return null;
27
+ return Reflect.get(context, CACHEABILITY_REQUEST_STATE) ?? null;
28
+ }
29
+ function beginRouteCacheability(kind, pattern) {
30
+ const state = readRouteCacheabilityState();
31
+ if (!state) return false;
32
+ state.route = {
33
+ kind,
34
+ pattern
35
+ };
36
+ if (kind === "pages-page") state.preserveResponseCachePolicy = false;
37
+ return true;
38
+ }
39
+ /** Prevent shared caching when request processing before route dispatch was request-specific. */
40
+ function markRouteCacheabilityDynamic(reason) {
41
+ const state = readRouteCacheabilityState();
42
+ if (!state) return;
43
+ state.forcedDynamicReason = reason;
44
+ }
45
+ /** Mark an effective route configuration that makes the whole pattern dynamic. */
46
+ function markRouteCacheabilityPatternDynamic(reason) {
47
+ const state = readRouteCacheabilityState();
48
+ if (!state) return;
49
+ state.patternDynamicReason = reason;
50
+ }
51
+ /** Read a request-specific routing veto without making the route globally dynamic. */
52
+ function getRouteCacheabilityDynamicReason() {
53
+ return readRouteCacheabilityState()?.forcedDynamicReason ?? null;
54
+ }
55
+ /** Reuse the active request's bounded response-capture envelope when available. */
56
+ function getRouteCacheabilityCaptureOptions() {
57
+ const state = readRouteCacheabilityState();
58
+ return state ? {
59
+ captureBudget: state.captureBudget,
60
+ captureDeadlineAt: state.captureDeadlineAt
61
+ } : null;
62
+ }
63
+ /** Keep a completed response private without treating it as static-to-dynamic. */
64
+ function markRouteCacheabilityFinalResponseUncacheable(reason) {
65
+ const state = readRouteCacheabilityState();
66
+ if (!state || state.mode !== "admit") return;
67
+ state.finalResponseVetoReason ??= reason;
68
+ }
69
+ /** Record that next.config explicitly owns the final response cache policy. */
70
+ function markRouteCacheabilityExplicitConfigPolicy() {
71
+ const state = readRouteCacheabilityState();
72
+ if (!state) return;
73
+ state.explicitConfigCachePolicy = true;
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
+ }
87
+ /** Record a public cache policy supplied by the Route Handler itself. */
88
+ function markRouteCacheabilityExplicitResponsePolicy() {
89
+ const state = readRouteCacheabilityState();
90
+ if (!state || state.mode !== "admit") return;
91
+ state.explicitResponseCachePolicy = true;
92
+ }
93
+ /** Record that the response body reached clean EOF and is now a replay stream. */
94
+ function markRouteCacheabilityResponseBodyComplete() {
95
+ const state = readRouteCacheabilityState();
96
+ if (!state) return;
97
+ state.completedResponseBody = true;
98
+ }
99
+ /** Record framework-owned policy so admission can identify policy added later. */
100
+ function captureRouteCacheabilityResponsePolicy(headers) {
101
+ const state = readRouteCacheabilityState();
102
+ if (!state || state.mode !== "admit") return;
103
+ state.frameworkResponseCachePolicy = new Headers(headers);
104
+ }
105
+ /** True only for an authenticated probe that must render the matched App Page. */
106
+ function isRouteCacheabilityProbe() {
107
+ return readRouteCacheabilityState()?.mode === "probe";
108
+ }
109
+ /** True when the outer Worker must decide cache admission after clean EOF. */
110
+ function isRouteCacheabilityEvaluation() {
111
+ const mode = readRouteCacheabilityState()?.mode;
112
+ return mode === "probe" || mode === "admit";
113
+ }
114
+ /** True for the authenticated routing pass that must not evaluate user components. */
115
+ function isRouteCacheabilityIdentityProbe() {
116
+ return readRouteCacheabilityState()?.mode === "identity";
117
+ }
118
+ /** True for every side-effect-free staged Worker observation request. */
119
+ function isStagedCacheabilityProbeActive() {
120
+ const mode = readRouteCacheabilityState()?.mode;
121
+ return mode === "probe" || mode === "identity";
122
+ }
123
+ function deferRouteCacheability() {
124
+ const state = readRouteCacheabilityState();
125
+ if (!state?.route || state.completion) return null;
126
+ state.completion = new Promise((resolve) => {
127
+ state.complete = (outcome) => {
128
+ const resolvedOutcome = state.forcedDynamicReason ? {
129
+ cacheable: false,
130
+ dynamicUsage: true,
131
+ reason: state.forcedDynamicReason
132
+ } : outcome;
133
+ state.outcome = resolvedOutcome;
134
+ resolve(resolvedOutcome);
135
+ };
136
+ });
137
+ return (outcome) => state.complete?.(outcome);
138
+ }
139
+ function recordRouteCacheability(outcome) {
140
+ const state = readRouteCacheabilityState();
141
+ if (!state?.route) return;
142
+ const resolvedOutcome = state.forcedDynamicReason ? {
143
+ cacheable: false,
144
+ dynamicUsage: true,
145
+ reason: state.forcedDynamicReason
146
+ } : outcome;
147
+ state.outcome = resolvedOutcome;
148
+ state.complete?.(resolvedOutcome);
149
+ }
150
+ function recordRouteCacheabilityProbeBailout(kind, outcome) {
151
+ const state = readRouteCacheabilityState();
152
+ if (state?.mode !== "probe" || !state.route) return;
153
+ state.probeBailout = {
154
+ kind,
155
+ outcome
156
+ };
157
+ state.outcome = outcome;
158
+ state.complete?.(outcome);
159
+ }
160
+ //#endregion
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,11 +29,69 @@ 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
+ };
50
+ /** Whether a Cache-Control value contains an exact non-cacheable directive. */
51
+ export declare function isNonCacheableCacheControl(cacheControl: string): boolean;
31
52
  /**
32
53
  * The serving strategy for page-level ISR. Implement this to delegate
33
54
  * page/route/image caching to a CDN edge instead of the origin store.
34
55
  */
35
- type CdnCacheAdapter = {
56
+ export type CdnCacheAdapter = {
57
+ /**
58
+ * The shared cache selects response variants using every request header
59
+ * named by `Vary`, comparing values verbatim.
60
+ */
61
+ readonly responseVary?: "verbatim";
62
+ /** Provider-specific response-policy interpretation, when the adapter has one. */
63
+ readonly responsePolicy?: CdnResponsePolicy;
64
+ /**
65
+ * Fresh App Page responses must reach clean EOF before this adapter may emit
66
+ * shared-cache headers. Used by edge adapters whose cache sits in front of
67
+ * the Worker; origin-managed adapters can stream privately and persist only
68
+ * the completed artifact.
69
+ */
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;
86
+ /**
87
+ * Validate provider-specific request routing before the application handles
88
+ * the request. Returning a response short-circuits the request pipeline;
89
+ * returning `null` continues normally.
90
+ *
91
+ * Core deliberately passes the untouched request and does not interpret any
92
+ * provider headers or bindings itself.
93
+ */
94
+ validateRequest?(request: Request): Response | null | Promise<Response | null>;
36
95
  /**
37
96
  * Read a page-level artifact. Returning a value lets the origin serve it
38
97
  * (HIT/STALE); returning `null` makes the origin render fresh.
@@ -57,13 +116,11 @@ type CdnCacheAdapter = {
57
116
  */
58
117
  buildResponseHeaders(input: CdnCacheableHeaderInput): CdnResponseHeaders;
59
118
  /**
60
- * Whether existing response headers explicitly opt out of storage. Adapters
61
- * that split browser and provider cache policy should implement this so they
62
- * can interpret the provider-specific headers they own.
63
- *
64
- * When omitted, core inspects only the generic `Cache-Control` header.
119
+ * Build adapter-owned headers that identify the deployed application build.
120
+ * Core applies these at the outer page-response boundary, including response
121
+ * paths that do not pass through cache-policy finalization.
65
122
  */
66
- hasExplicitNonCacheableResponsePolicy?(headers: Headers): boolean;
123
+ buildResponseIdentityHeaders?(): CdnResponseHeaders;
67
124
  /**
68
125
  * Whether the **origin** runs in-process background regeneration when a stale
69
126
  * entry is served. Edge adapters set this to `false` because the CDN
@@ -89,11 +146,14 @@ type CdnCacheAdapter = {
89
146
  * response headers alone. Deployments where provider headers carry cache
90
147
  * semantics must configure the adapter that owns those headers.
91
148
  */
92
- declare class DefaultCdnCacheAdapter implements CdnCacheAdapter {
149
+ export declare class DefaultCdnCacheAdapter implements CdnCacheAdapter {
150
+ private readonly buildIdentity?;
93
151
  readonly ownsBackgroundRevalidation = true;
152
+ constructor(buildIdentity?: string | undefined);
94
153
  get(key: string, ctx?: Record<string, unknown>): Promise<CacheHandlerValue | null>;
95
154
  set(key: string, data: IncrementalCacheValue | null, ctx?: Record<string, unknown>): Promise<void>;
96
155
  buildResponseHeaders(input: CdnCacheableHeaderInput): CdnResponseHeaders;
156
+ buildResponseIdentityHeaders(): CdnResponseHeaders;
97
157
  revalidateTag(_tags: string | string[], _durations?: {
98
158
  expire?: number;
99
159
  }): Promise<void>;
@@ -109,23 +169,21 @@ declare class DefaultCdnCacheAdapter implements CdnCacheAdapter {
109
169
  *
110
170
  * ```ts
111
171
  * import { vinext } from "vinext";
112
- * import { cdnAdapter } from "@vinext/cloudflare/cache/cdn-adapter";
172
+ * import { workersCacheCdnAdapter } from "@vinext/cloudflare/cache/workers-cache-cdn-adapter";
113
173
  *
114
174
  * export default defineConfig({
115
- * plugins: [vinext({ cache: { cdn: cdnAdapter() } })],
175
+ * plugins: [vinext({ cache: { cdn: workersCacheCdnAdapter() } })],
116
176
  * });
117
177
  * ```
118
178
  *
119
179
  * The plugin registers the adapter across every runtime/router entry, so you
120
- * don't have to call this from a worker entry. This setter remains as the
121
- * internal registration target and for backwards compatibility, but is not the
122
- * 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.
123
182
  */
124
- declare function setCdnCacheAdapter(adapter: CdnCacheAdapter): void;
125
183
  /**
126
184
  * Get the active CDN cache adapter. An explicitly configured adapter wins;
127
185
  * otherwise the origin-managed {@link DefaultCdnCacheAdapter} is used.
128
186
  */
129
- declare function getCdnCacheAdapter(): CdnCacheAdapter;
187
+ export declare function getCdnCacheAdapter(): CdnCacheAdapter;
130
188
  //#endregion
131
- export { CdnCacheAdapter, CdnCacheableHeaderInput, CdnResponseHeaders, DefaultCdnCacheAdapter, getCdnCacheAdapter, setCdnCacheAdapter };
189
+ export { setCdnCacheAdapter };