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,4 +1,5 @@
1
- import { getCdnCacheAdapter } from "../shims/cdn-cache.js";
1
+ import { getCdnCacheAdapter, isNonCacheableCacheControl } from "../shims/cdn-cache.js";
2
+ import { recordRouteCacheabilityCdnTags } from "../shims/cacheability-classification.js";
2
3
  //#region src/server/cache-control.ts
3
4
  const NEVER_CACHE_CONTROL = "private, no-cache, no-store, max-age=0, must-revalidate";
4
5
  const BROWSER_REVALIDATE_CACHE_CONTROL = "public, max-age=0, must-revalidate";
@@ -6,7 +7,6 @@ const STATIC_CACHE_CONTROL = "s-maxage=31536000, stale-while-revalidate";
6
7
  const STALE_REVALIDATE_CACHE_CONTROL = "s-maxage=0, stale-while-revalidate";
7
8
  const NO_STORE_CACHE_CONTROL = "no-store, must-revalidate";
8
9
  const SHARED_CACHE_DIRECTIVE_RE = /(?:^|,)\s*s-maxage\s*=/i;
9
- const NON_CACHEABLE_DIRECTIVE_RE = /(?:private|no-store|no-cache)/i;
10
10
  function shouldUseNextDeployCacheControl() {
11
11
  return process.env.VINEXT_NEXT_DEPLOY_CACHE_CONTROL === "1";
12
12
  }
@@ -18,11 +18,52 @@ function isSharedCacheControl(cacheControl) {
18
18
  * inspect the provider-specific policy headers they own; the generic fallback
19
19
  * only understands the framework-owned `Cache-Control` header.
20
20
  */
21
- function hasExplicitNonCacheableResponsePolicy(headers) {
22
- const adapter = getCdnCacheAdapter();
23
- if (adapter.hasExplicitNonCacheableResponsePolicy) return adapter.hasExplicitNonCacheableResponsePolicy(headers);
21
+ function hasExplicitNonCacheableResponsePolicy(headers, baseline) {
22
+ const policy = getCdnCacheAdapter().responsePolicy;
23
+ if (policy) return policy.hasExplicitNonCacheablePolicy(headers, baseline);
24
24
  const cacheControl = headers.get("Cache-Control");
25
- return Boolean(cacheControl && NON_CACHEABLE_DIRECTIVE_RE.test(cacheControl));
25
+ return Boolean(cacheControl && cacheControl !== baseline?.get("Cache-Control") && isNonCacheableCacheControl(cacheControl));
26
+ }
27
+ /** Whether a response header controls core or the active CDN adapter. */
28
+ function isCdnResponsePolicyHeader(name) {
29
+ return name.toLowerCase() === "cache-control" || getCdnCacheAdapter().responsePolicy?.isHeader(name) === true;
30
+ }
31
+ /** Whether a response declares any core- or adapter-owned cache policy. */
32
+ function hasCdnResponsePolicy(headers) {
33
+ return [...headers.keys()].some(isCdnResponsePolicyHeader);
34
+ }
35
+ /** Read the effective shared-cache policy without interpreting provider headers in core. */
36
+ function readCdnResponseCacheControl(headers) {
37
+ if (!headers) return null;
38
+ const policy = getCdnCacheAdapter().responsePolicy;
39
+ return policy ? policy.readCacheControl(headers) : headers.get("Cache-Control");
40
+ }
41
+ /** Name the lowercased policy header whose value `readCdnResponseCacheControl` read. */
42
+ function readCdnResponsePolicyHeaderName(headers) {
43
+ const policy = getCdnCacheAdapter().responsePolicy;
44
+ if (!policy) return headers.has("Cache-Control") ? "cache-control" : null;
45
+ return policy.readCacheControlHeaderName?.(headers)?.toLowerCase() ?? null;
46
+ }
47
+ /** Ask the active adapter whether one policy header explicitly disables storage. */
48
+ function isNonCacheableCdnResponsePolicy(name, value) {
49
+ if (name.toLowerCase() === "cache-control") return isNonCacheableCacheControl(value);
50
+ return hasExplicitNonCacheableResponsePolicy(new Headers({ [name]: value }));
51
+ }
52
+ /** Capture only cache-policy provenance from an outer composition stage. */
53
+ function captureCdnResponsePolicyHeaders(headers) {
54
+ const policy = new Headers();
55
+ for (const [name, value] of headers) if (isCdnResponsePolicyHeader(name)) policy.set(name, value);
56
+ return policy;
57
+ }
58
+ /** Capture policy values that were added above an already-transported baseline. */
59
+ function captureCdnResponsePolicyOverrides(headers, baseline) {
60
+ const overrides = captureCdnResponsePolicyHeaders(headers);
61
+ for (const [name, value] of overrides) if (baseline.get(name) === value) overrides.delete(name);
62
+ return overrides;
63
+ }
64
+ /** Delegate provider-specific request routing validation to the CDN adapter. */
65
+ async function validateCdnRequest(request) {
66
+ return await getCdnCacheAdapter().validateRequest?.(request) ?? null;
26
67
  }
27
68
  /**
28
69
  * Route a cacheable response's headers through the active CDN cache adapter and
@@ -35,6 +76,7 @@ function hasExplicitNonCacheableResponsePolicy(headers) {
35
76
  * owns before applying that map.
36
77
  */
37
78
  function applyCdnResponseHeaders(headers, input) {
79
+ recordRouteCacheabilityCdnTags(input.tags);
38
80
  headers.delete("Cache-Control");
39
81
  const useNextDeployPolicy = shouldUseNextDeployCacheControl() && isSharedCacheControl(input.cacheControl);
40
82
  const map = getCdnCacheAdapter().buildResponseHeaders(useNextDeployPolicy ? {
@@ -52,6 +94,61 @@ function applyCdnResponseHeaders(headers, input) {
52
94
  if (useNextDeployPolicy) headers.set("Cache-Control", BROWSER_REVALIDATE_CACHE_CONTROL);
53
95
  }
54
96
  /**
97
+ * Reconcile request-stage policy composed above a reusable response artifact.
98
+ * A newly applied private policy must clear any cacheable provider headers that
99
+ * belonged to the inner artifact before the final response leaves the gateway.
100
+ * `outerPolicyHeaders` contains only policy set by the uncached request stage,
101
+ * so an identical inner value cannot hide explicit outer provenance.
102
+ */
103
+ function reconcileCdnResponseHeadersAfterOuterPolicy(headers, outerPolicyHeaders) {
104
+ if (headers.has("set-cookie")) {
105
+ applyCdnResponseHeaders(headers, { cacheControl: NO_STORE_CACHE_CONTROL });
106
+ return;
107
+ }
108
+ const cacheControl = outerPolicyHeaders.get("cache-control");
109
+ if (cacheControl !== null) {
110
+ applyCdnResponseHeaders(headers, { cacheControl });
111
+ for (const [name, value] of outerPolicyHeaders) {
112
+ if (name === "cache-control") continue;
113
+ if (isCdnResponsePolicyHeader(name)) headers.set(name, value);
114
+ }
115
+ return;
116
+ }
117
+ for (const [name, value] of outerPolicyHeaders) if (isCdnResponsePolicyHeader(name) && isNonCacheableCdnResponsePolicy(name, value)) {
118
+ applyCdnResponseHeaders(headers, { cacheControl: NO_STORE_CACHE_CONTROL });
119
+ return;
120
+ }
121
+ if (hasExplicitNonCacheableResponsePolicy(outerPolicyHeaders)) applyCdnResponseHeaders(headers, { cacheControl: NO_STORE_CACHE_CONTROL });
122
+ }
123
+ /** Apply adapter-owned build identity to an HTML or RSC page response. */
124
+ function applyCdnResponseIdentityHeaders(response, request) {
125
+ const accept = request.headers.get("Accept")?.toLowerCase() ?? "";
126
+ const isPagesDataRequest = /(?:^|\/)_next\/data\/[^/]+\/.+\.json$/.test(new URL(request.url).pathname);
127
+ if (request.headers.get("RSC") !== "1" && !accept.includes("text/html") && !isPagesDataRequest) return response;
128
+ return applyCdnResponseBuildIdentityHeaders(response);
129
+ }
130
+ /** Apply adapter-owned build identity to an already-classified response. */
131
+ function applyCdnResponseBuildIdentityHeaders(response) {
132
+ const map = getCdnCacheAdapter().buildResponseIdentityHeaders?.();
133
+ if (!map || Object.keys(map).length === 0) return response;
134
+ try {
135
+ applyResponseHeaderMap(response.headers, map);
136
+ return response;
137
+ } catch {
138
+ const headers = new Headers(response.headers);
139
+ applyResponseHeaderMap(headers, map);
140
+ return new Response(response.body, {
141
+ headers,
142
+ status: response.status,
143
+ statusText: response.statusText
144
+ });
145
+ }
146
+ }
147
+ function applyResponseHeaderMap(headers, map) {
148
+ for (const [name, value] of Object.entries(map)) if (value === null) headers.delete(name);
149
+ else headers.set(name, value);
150
+ }
151
+ /**
55
152
  * Matches Next.js's `getCacheControlHeader` stale window semantics while
56
153
  * preserving vinext's legacy unbounded SWR header when no expire ceiling is
57
154
  * available yet.
@@ -78,4 +175,4 @@ function buildCachedRevalidateCacheControl(cacheState, revalidateSeconds, expire
78
175
  return buildRevalidateCacheControl(revalidateSeconds, expireSeconds);
79
176
  }
80
177
  //#endregion
81
- export { BROWSER_REVALIDATE_CACHE_CONTROL, NEVER_CACHE_CONTROL, NO_STORE_CACHE_CONTROL, STATIC_CACHE_CONTROL, applyCdnResponseHeaders, buildCachedRevalidateCacheControl, buildRevalidateCacheControl, hasExplicitNonCacheableResponsePolicy, shouldUseNextDeployCacheControl };
178
+ export { BROWSER_REVALIDATE_CACHE_CONTROL, NEVER_CACHE_CONTROL, NO_STORE_CACHE_CONTROL, STATIC_CACHE_CONTROL, applyCdnResponseBuildIdentityHeaders, applyCdnResponseHeaders, applyCdnResponseIdentityHeaders, buildCachedRevalidateCacheControl, buildRevalidateCacheControl, captureCdnResponsePolicyHeaders, captureCdnResponsePolicyOverrides, hasCdnResponsePolicy, hasExplicitNonCacheableResponsePolicy, isCdnResponsePolicyHeader, isNonCacheableCacheControl, isNonCacheableCdnResponsePolicy, readCdnResponseCacheControl, readCdnResponsePolicyHeaderName, reconcileCdnResponseHeadersAfterOuterPolicy, shouldUseNextDeployCacheControl, validateCdnRequest };
@@ -1,6 +1,5 @@
1
1
  //#region src/server/cache-headers.d.ts
2
2
  type VinextCacheState = "HIT" | "MISS" | "STALE" | "STATIC";
3
- declare function setCacheStateHeaders(headers: Headers, cacheState: VinextCacheState): void;
4
- declare function buildCacheStateHeaders(cacheState: VinextCacheState): Record<string, string>;
5
- //#endregion
6
- export { buildCacheStateHeaders, setCacheStateHeaders };
3
+ export declare function setCacheStateHeaders(headers: Headers, cacheState: VinextCacheState): void;
4
+ export declare function buildCacheStateHeaders(cacheState: VinextCacheState): Record<string, string>;
5
+ //#endregion
@@ -1,23 +1,23 @@
1
1
  import { AppRouteSemanticIds } from "../routing/app-route-graph.js";
2
2
  import { ArtifactCompatibilityEnvelope, ArtifactCompatibilityEvaluationOptions } from "./artifact-compatibility.js";
3
3
  //#region src/server/cache-proof.d.ts
4
- declare const CACHE_PROOF_MODEL_SCHEMA_VERSION = 1;
5
- type CacheProofModelSchemaVersion = 1;
6
- type CacheProofRejectionCode = "CP_CACHE_ENTRY_PROOF_MISSING" | "CP_MODEL_DISABLED" | "CP_ARTIFACT_COMPATIBILITY_INCOMPATIBLE" | "CP_ARTIFACT_COMPATIBILITY_UNKNOWN" | "CP_DIMENSION_COUNT_EXCEEDED" | "CP_DIMENSION_NAME_MISSING" | "CP_DIMENSION_NAME_TOO_LONG" | "CP_DIMENSION_VALUE_COUNT_EXCEEDED" | "CP_DIMENSION_VALUE_TOO_LONG" | "CP_DIMENSION_VALUES_MISSING" | "CP_ENCODED_VARIANT_TOO_LONG" | "CP_INVALID_VARIANT_BUDGET" | "CP_ROUTE_VARIANT_BUDGET_ROUTE_MISMATCH" | "CP_ROUTE_VARIANT_CEILING_EXCEEDED" | "CP_UNSAFE_PUBLIC_DIMENSION" | "CP_BOUNDARY_OUTCOME_MISMATCH" | "CP_BOUNDARY_OUTCOME_UNKNOWN" | "CP_PRIVATE_DYNAMIC_DOWNGRADE" | "CP_STATIC_LAYOUT_CANDIDATE_OUTPUT_KIND" | "CP_STATIC_LAYOUT_CURRENT_OUTPUT_KIND" | "CP_STATIC_LAYOUT_ID_MISMATCH" | "CP_STATIC_LAYOUT_OBSERVATION_OUTPUT_KIND" | "CP_STATIC_LAYOUT_OBSERVATION_OUTPUT_MISMATCH" | "CP_STATIC_LAYOUT_PRIVATE_DYNAMIC_DOWNGRADE" | "CP_STATIC_LAYOUT_REQUEST_API_OBSERVED" | "CP_STATIC_LAYOUT_REQUEST_API_UNKNOWN" | "CP_STATIC_LAYOUT_ROOT_BOUNDARY_MISMATCH" | "CP_STATIC_LAYOUT_ROOT_BOUNDARY_UNKNOWN" | "CP_STATIC_LAYOUT_VARIANT_DIMENSION_UNPROVEN";
7
- type CacheProofAcceptanceCode = "CP_STATIC_LAYOUT_REUSE_PROVEN";
8
- type CacheProofTraceCode = CacheProofAcceptanceCode | CacheProofRejectionCode;
9
- type CacheProofTraceFieldValue = string | number | boolean | null | readonly string[];
10
- type CacheProofTraceFields = Readonly<Record<string, CacheProofTraceFieldValue>>;
11
- type CacheProofBreakerFallbackMode = "renderFresh" | "privateUncacheable";
12
- type CacheProofFallbackScope = "affectedOutput" | "route";
13
- type CacheProofBreakerFallback = Readonly<{
4
+ export declare const CACHE_PROOF_MODEL_SCHEMA_VERSION = 1;
5
+ export type CacheProofModelSchemaVersion = 1;
6
+ export type CacheProofRejectionCode = "CP_CACHE_ENTRY_PROOF_MISSING" | "CP_MODEL_DISABLED" | "CP_ARTIFACT_COMPATIBILITY_INCOMPATIBLE" | "CP_ARTIFACT_COMPATIBILITY_UNKNOWN" | "CP_DIMENSION_COUNT_EXCEEDED" | "CP_DIMENSION_NAME_MISSING" | "CP_DIMENSION_NAME_TOO_LONG" | "CP_DIMENSION_VALUE_COUNT_EXCEEDED" | "CP_DIMENSION_VALUE_TOO_LONG" | "CP_DIMENSION_VALUES_MISSING" | "CP_ENCODED_VARIANT_TOO_LONG" | "CP_INVALID_VARIANT_BUDGET" | "CP_ROUTE_VARIANT_BUDGET_ROUTE_MISMATCH" | "CP_ROUTE_VARIANT_CEILING_EXCEEDED" | "CP_UNSAFE_PUBLIC_DIMENSION" | "CP_BOUNDARY_OUTCOME_MISMATCH" | "CP_BOUNDARY_OUTCOME_UNKNOWN" | "CP_PRIVATE_DYNAMIC_DOWNGRADE" | "CP_STATIC_LAYOUT_CANDIDATE_OUTPUT_KIND" | "CP_STATIC_LAYOUT_CURRENT_OUTPUT_KIND" | "CP_STATIC_LAYOUT_ID_MISMATCH" | "CP_STATIC_LAYOUT_OBSERVATION_OUTPUT_KIND" | "CP_STATIC_LAYOUT_OBSERVATION_OUTPUT_MISMATCH" | "CP_STATIC_LAYOUT_PRIVATE_DYNAMIC_DOWNGRADE" | "CP_STATIC_LAYOUT_REQUEST_API_OBSERVED" | "CP_STATIC_LAYOUT_REQUEST_API_UNKNOWN" | "CP_STATIC_LAYOUT_ROOT_BOUNDARY_MISMATCH" | "CP_STATIC_LAYOUT_ROOT_BOUNDARY_UNKNOWN" | "CP_STATIC_LAYOUT_VARIANT_DIMENSION_UNPROVEN";
7
+ export type CacheProofAcceptanceCode = "CP_STATIC_LAYOUT_REUSE_PROVEN";
8
+ export type CacheProofTraceCode = CacheProofAcceptanceCode | CacheProofRejectionCode;
9
+ export type CacheProofTraceFieldValue = string | number | boolean | null | readonly string[];
10
+ export type CacheProofTraceFields = Readonly<Record<string, CacheProofTraceFieldValue>>;
11
+ export type CacheProofBreakerFallbackMode = "renderFresh" | "privateUncacheable";
12
+ export type CacheProofFallbackScope = "affectedOutput" | "route";
13
+ export type CacheProofBreakerFallback = Readonly<{
14
14
  kind: "breakerFallback";
15
15
  code: CacheProofRejectionCode;
16
16
  mode: CacheProofBreakerFallbackMode;
17
17
  scope: CacheProofFallbackScope;
18
18
  fields: CacheProofTraceFields;
19
19
  }>;
20
- type CacheVariantBudget = Readonly<{
20
+ export type CacheVariantBudget = Readonly<{
21
21
  maxDimensionCount: number;
22
22
  maxDimensionNameLength: number;
23
23
  maxDimensionValueLength: number;
@@ -25,7 +25,7 @@ type CacheVariantBudget = Readonly<{
25
25
  maxValuesPerDimension: number;
26
26
  maxVariantsPerRoute: number;
27
27
  }>;
28
- declare const DEFAULT_CACHE_VARIANT_BUDGET: {
28
+ export declare const DEFAULT_CACHE_VARIANT_BUDGET: {
29
29
  maxDimensionCount: number;
30
30
  maxDimensionNameLength: number;
31
31
  maxDimensionValueLength: number;
@@ -33,15 +33,15 @@ declare const DEFAULT_CACHE_VARIANT_BUDGET: {
33
33
  maxValuesPerDimension: number;
34
34
  maxVariantsPerRoute: number;
35
35
  };
36
- type CacheVariantDimensionSource = "auth" | "cookie" | "custom" | "draft-mode" | "header" | "interception" | "mounted-slots" | "params" | "route" | "search" | "session";
37
- type CacheVariantDimensionPrivacy = "internal" | "private" | "public";
38
- type CacheVariantDimensionInput = Readonly<{
36
+ export type CacheVariantDimensionSource = "auth" | "cookie" | "custom" | "draft-mode" | "header" | "interception" | "mounted-slots" | "params" | "route" | "search" | "session";
37
+ export type CacheVariantDimensionPrivacy = "internal" | "private" | "public";
38
+ export type CacheVariantDimensionInput = Readonly<{
39
39
  name: string;
40
40
  privacy: CacheVariantDimensionPrivacy;
41
41
  source: CacheVariantDimensionSource;
42
42
  values: readonly string[];
43
43
  }>;
44
- type CacheVariantDimension = Readonly<{
44
+ export type CacheVariantDimension = Readonly<{
45
45
  encoded: string;
46
46
  name: string;
47
47
  privacy: CacheVariantDimensionPrivacy;
@@ -49,7 +49,7 @@ type CacheVariantDimension = Readonly<{
49
49
  valueCount: number;
50
50
  valueHashes: readonly string[];
51
51
  }>;
52
- type CacheProofOutputScope = Readonly<{
52
+ export type CacheProofOutputScope = Readonly<{
53
53
  kind: "app-html";
54
54
  renderEpoch: string | null;
55
55
  rootBoundaryId: string | null;
@@ -85,10 +85,10 @@ type CacheProofOutputScope = Readonly<{
85
85
  routeId: string;
86
86
  templateId: string;
87
87
  }>;
88
- type StaticLayoutCacheProofOutputScope = Extract<CacheProofOutputScope, {
88
+ export type StaticLayoutCacheProofOutputScope = Extract<CacheProofOutputScope, {
89
89
  kind: "layout";
90
90
  }>;
91
- type CacheVariant = Readonly<{
91
+ export type CacheVariant = Readonly<{
92
92
  budget: CacheVariantBudget;
93
93
  cacheKey: string;
94
94
  dimensions: readonly CacheVariantDimension[];
@@ -96,23 +96,23 @@ type CacheVariant = Readonly<{
96
96
  output: CacheProofOutputScope;
97
97
  schemaVersion: CacheProofModelSchemaVersion;
98
98
  }>;
99
- type BuildCacheVariantInput = Readonly<{
99
+ export type BuildCacheVariantInput = Readonly<{
100
100
  budget: CacheVariantBudget;
101
101
  dimensions: readonly CacheVariantDimensionInput[];
102
102
  output: CacheProofOutputScope;
103
103
  }>;
104
- type BuildCacheVariantResult = Readonly<{
104
+ export type BuildCacheVariantResult = Readonly<{
105
105
  kind: "variant";
106
106
  variant: CacheVariant;
107
107
  }> | Readonly<{
108
108
  kind: "breakerFallback";
109
109
  fallback: CacheProofBreakerFallback;
110
110
  }>;
111
- type CacheVariantRouteBudget = Readonly<{
111
+ export type CacheVariantRouteBudget = Readonly<{
112
112
  routeId: string;
113
113
  variantCacheKeys: readonly string[];
114
114
  }>;
115
- type CacheVariantRouteBudgetAdmission = Readonly<{
115
+ export type CacheVariantRouteBudgetAdmission = Readonly<{
116
116
  didConsumeRouteVariantBudget: boolean;
117
117
  kind: "variant";
118
118
  routeBudget: CacheVariantRouteBudget;
@@ -122,14 +122,14 @@ type CacheVariantRouteBudgetAdmission = Readonly<{
122
122
  kind: "breakerFallback";
123
123
  routeBudget: CacheVariantRouteBudget | null;
124
124
  }>;
125
- type BuildCacheVariantWithRouteBudgetInput = BuildCacheVariantInput & Readonly<{
125
+ export type BuildCacheVariantWithRouteBudgetInput = BuildCacheVariantInput & Readonly<{
126
126
  routeBudget: CacheVariantRouteBudget | null;
127
127
  }>;
128
- type BuildCacheVariantWithRouteBudgetResult = CacheVariantRouteBudgetAdmission;
129
- type AppRouteCacheProofGraphScopeInput = Readonly<{
128
+ export type BuildCacheVariantWithRouteBudgetResult = CacheVariantRouteBudgetAdmission;
129
+ export type AppRouteCacheProofGraphScopeInput = Readonly<{
130
130
  ids: AppRouteSemanticIds;
131
131
  }>;
132
- type AppRouteCacheProofGraphScope = Readonly<{
132
+ export type AppRouteCacheProofGraphScope = Readonly<{
133
133
  layoutIds: readonly string[];
134
134
  pageId: string | null;
135
135
  routeHandlerId: string | null;
@@ -137,7 +137,7 @@ type AppRouteCacheProofGraphScope = Readonly<{
137
137
  slotIds: readonly string[];
138
138
  templateIds: readonly string[];
139
139
  }>;
140
- type BoundaryOutcome = Readonly<{
140
+ export type BoundaryOutcome = Readonly<{
141
141
  kind: "error";
142
142
  digest?: string;
143
143
  }> | Readonly<{
@@ -158,7 +158,7 @@ type BoundaryOutcome = Readonly<{
158
158
  }> | Readonly<{
159
159
  kind: "unknown";
160
160
  }>;
161
- type BoundaryOutcomeCompatibility = Readonly<{
161
+ export type BoundaryOutcomeCompatibility = Readonly<{
162
162
  kind: "compatible";
163
163
  outcome: BoundaryOutcome;
164
164
  reason: "CP_BOUNDARY_OUTCOME_MATCH";
@@ -168,17 +168,17 @@ type BoundaryOutcomeCompatibility = Readonly<{
168
168
  fallback: CacheProofBreakerFallback;
169
169
  kind: "incompatible";
170
170
  }>;
171
- type RenderObservationCompleteness = "complete" | "partial" | "unknown";
172
- type RenderCacheability = "private" | "public" | "uncacheable" | "unknown";
173
- type RenderRequestApiKind = "connection" | "cookies" | "draftMode" | "headers" | "params" | "searchParams";
174
- type RenderRequestApiStatus = "notObserved" | "observed" | "unknown";
175
- declare const ALL_RENDER_REQUEST_API_KINDS: readonly RenderRequestApiKind[];
176
- type RenderRequestApiObservation = Readonly<{
171
+ export type RenderObservationCompleteness = "complete" | "partial" | "unknown";
172
+ export type RenderCacheability = "private" | "public" | "uncacheable" | "unknown";
173
+ export type RenderRequestApiKind = "connection" | "cookies" | "draftMode" | "headers" | "params" | "searchParams";
174
+ export type RenderRequestApiStatus = "notObserved" | "observed" | "unknown";
175
+ export declare const ALL_RENDER_REQUEST_API_KINDS: readonly RenderRequestApiKind[];
176
+ export type RenderRequestApiObservation = Readonly<{
177
177
  kind: RenderRequestApiKind;
178
178
  status: RenderRequestApiStatus;
179
179
  }>;
180
- type CacheProofDowngradeTarget = "freshRender" | "private" | "privateUncacheable" | "public" | "publicVariant";
181
- type CacheProofDowngradeReason = Readonly<{
180
+ export type CacheProofDowngradeTarget = "freshRender" | "private" | "privateUncacheable" | "public" | "publicVariant";
181
+ export type CacheProofDowngradeReason = Readonly<{
182
182
  code: "CP_DOWNGRADE_CACHEABILITY_PRIVATE";
183
183
  target: "private";
184
184
  }> | Readonly<{
@@ -221,20 +221,20 @@ type CacheProofDowngradeReason = Readonly<{
221
221
  requestApi: RenderRequestApiKind;
222
222
  target: "freshRender";
223
223
  }>;
224
- type CacheProofDowngradeClassification = Readonly<{
224
+ export type CacheProofDowngradeClassification = Readonly<{
225
225
  fallback: CacheProofBreakerFallback | null;
226
226
  isPublicCacheCandidate: boolean;
227
227
  reasons: readonly CacheProofDowngradeReason[];
228
228
  target: CacheProofDowngradeTarget;
229
229
  }>;
230
- type ClassifyRenderObservationDowngradeInput = Readonly<{
230
+ export type ClassifyRenderObservationDowngradeInput = Readonly<{
231
231
  cacheability: RenderCacheability;
232
232
  completeness: RenderObservationCompleteness;
233
233
  dynamicFetches: readonly string[];
234
234
  requestApis: readonly RenderRequestApiObservation[];
235
235
  }>;
236
- type ClassifyCacheVariantDimensionDowngradeInput = Pick<CacheVariantDimensionInput, "source">;
237
- type RenderObservation = Readonly<{
236
+ export type ClassifyCacheVariantDimensionDowngradeInput = Pick<CacheVariantDimensionInput, "source">;
237
+ export type RenderObservation = Readonly<{
238
238
  boundaryOutcome: BoundaryOutcome;
239
239
  cacheTags: readonly string[];
240
240
  cacheability: RenderCacheability;
@@ -246,7 +246,7 @@ type RenderObservation = Readonly<{
246
246
  requestApis: readonly RenderRequestApiObservation[];
247
247
  schemaVersion: CacheProofModelSchemaVersion;
248
248
  }>;
249
- type StaticLayoutReuseProof = Readonly<{
249
+ export type StaticLayoutReuseProof = Readonly<{
250
250
  authorizesRuntimeReuse: true;
251
251
  candidateOutput: StaticLayoutCacheProofOutputScope;
252
252
  code: "CP_STATIC_LAYOUT_REUSE_PROVEN";
@@ -257,28 +257,28 @@ type StaticLayoutReuseProof = Readonly<{
257
257
  reuseClass: "static-layout";
258
258
  variant: CacheVariant;
259
259
  }>;
260
- type StaticLayoutArtifactReuseProof = StaticLayoutReuseProof & Readonly<{
260
+ export type StaticLayoutArtifactReuseProof = StaticLayoutReuseProof & Readonly<{
261
261
  candidateArtifactCompatibility: ArtifactCompatibilityEnvelope;
262
262
  }>;
263
- type BuildStaticLayoutReuseProofInput = Readonly<{
263
+ export type BuildStaticLayoutReuseProofInput = Readonly<{
264
264
  candidateObservation: RenderObservation;
265
265
  candidateVariant: CacheVariant;
266
266
  currentOutput: CacheProofOutputScope;
267
267
  }>;
268
- type BuildStaticLayoutReuseProofResult = Readonly<{
268
+ export type BuildStaticLayoutReuseProofResult = Readonly<{
269
269
  kind: "proof";
270
270
  proof: StaticLayoutReuseProof;
271
271
  }> | Readonly<{
272
272
  kind: "rejected";
273
273
  fallback: CacheProofBreakerFallback;
274
274
  }>;
275
- type CacheProofHotPathMetric = Readonly<{
275
+ export type CacheProofHotPathMetric = Readonly<{
276
276
  code: CacheProofTraceCode;
277
277
  fields: CacheProofTraceFields;
278
278
  name: "vinext.cache.static_layout_artifact_reuse";
279
279
  outcome: "fallback" | "reuse";
280
280
  }>;
281
- type StaticLayoutArtifactReuseDecision = Readonly<{
281
+ export type StaticLayoutArtifactReuseDecision = Readonly<{
282
282
  canReuse: true;
283
283
  kind: "reuse";
284
284
  metric: CacheProofHotPathMetric;
@@ -289,7 +289,7 @@ type StaticLayoutArtifactReuseDecision = Readonly<{
289
289
  kind: "fallback";
290
290
  metric: CacheProofHotPathMetric;
291
291
  }>;
292
- type CacheEntryReuseDecision = Readonly<{
292
+ export type CacheEntryReuseDecision = Readonly<{
293
293
  canReuse: true;
294
294
  code: CacheProofAcceptanceCode;
295
295
  kind: "reuse";
@@ -301,18 +301,18 @@ type CacheEntryReuseDecision = Readonly<{
301
301
  mode: CacheProofBreakerFallbackMode;
302
302
  scope: CacheProofFallbackScope;
303
303
  }>;
304
- type CacheEntryReuseProof = Readonly<{
304
+ export type CacheEntryReuseProof = Readonly<{
305
305
  decision: CacheEntryReuseDecision | null;
306
306
  kind: "runtime-cache-entry";
307
307
  }>;
308
- type CreateStaticLayoutArtifactReuseDecisionInput = Readonly<{
308
+ export type CreateStaticLayoutArtifactReuseDecisionInput = Readonly<{
309
309
  candidateArtifactCompatibility: ArtifactCompatibilityEnvelope;
310
310
  candidateObservation: RenderObservation;
311
311
  candidateVariant: BuildCacheVariantWithRouteBudgetResult;
312
312
  currentArtifactCompatibility: ArtifactCompatibilityEnvelope;
313
313
  currentOutput: CacheProofOutputScope;
314
314
  }> & ArtifactCompatibilityEvaluationOptions;
315
- type BuildRenderObservationInput = Readonly<{
315
+ export type BuildRenderObservationInput = Readonly<{
316
316
  boundaryOutcome: BoundaryOutcome;
317
317
  cacheTags: readonly string[];
318
318
  cacheability: RenderCacheability;
@@ -322,11 +322,11 @@ type BuildRenderObservationInput = Readonly<{
322
322
  pathTags: readonly string[];
323
323
  requestApis: readonly RenderRequestApiObservation[];
324
324
  }>;
325
- type BuildRenderRequestApiObservationsInput = Readonly<{
325
+ export type BuildRenderRequestApiObservationsInput = Readonly<{
326
326
  completeness: RenderObservationCompleteness;
327
327
  observed: readonly RenderRequestApiKind[];
328
328
  }>;
329
- type DisabledCacheProofDecision = Readonly<{
329
+ export type DisabledCacheProofDecision = Readonly<{
330
330
  canReuse: false;
331
331
  fallback: CacheProofBreakerFallback;
332
332
  kind: "disabled";
@@ -334,30 +334,35 @@ type DisabledCacheProofDecision = Readonly<{
334
334
  staticLayoutProof?: StaticLayoutReuseProof;
335
335
  variant: CacheVariant;
336
336
  }>;
337
- type CreateDisabledCacheProofDecisionInput = Readonly<{
337
+ export type CreateDisabledCacheProofDecisionInput = Readonly<{
338
338
  observation: RenderObservation;
339
339
  staticLayoutProof?: StaticLayoutReuseProof;
340
340
  variant: CacheVariant;
341
341
  }>;
342
- declare function createAppRouteCacheProofGraphScope(route: AppRouteCacheProofGraphScopeInput): AppRouteCacheProofGraphScope;
343
- declare function buildCacheVariant(input: BuildCacheVariantInput): BuildCacheVariantResult;
344
- declare function enforceCacheVariantRouteBudget(input: {
342
+ export declare function createAppRouteCacheProofGraphScope(route: AppRouteCacheProofGraphScopeInput): AppRouteCacheProofGraphScope;
343
+ export declare function buildCacheVariant(input: BuildCacheVariantInput): BuildCacheVariantResult;
344
+ export declare function enforceCacheVariantRouteBudget(input: {
345
345
  routeBudget: CacheVariantRouteBudget | null;
346
346
  variant: CacheVariant;
347
347
  }): CacheVariantRouteBudgetAdmission;
348
- declare function buildCacheVariantWithRouteBudget(input: BuildCacheVariantWithRouteBudgetInput): BuildCacheVariantWithRouteBudgetResult;
349
- declare function buildBoundaryOutcomeCompatibility(input: {
348
+ export declare function buildCacheVariantWithRouteBudget(input: BuildCacheVariantWithRouteBudgetInput): BuildCacheVariantWithRouteBudgetResult;
349
+ export declare function buildBoundaryOutcomeCompatibility(input: {
350
350
  candidate: BoundaryOutcome;
351
351
  expected: BoundaryOutcome;
352
352
  }): BoundaryOutcomeCompatibility;
353
- declare function classifyCacheVariantDimensionDowngrade(input: ClassifyCacheVariantDimensionDowngradeInput): CacheProofDowngradeReason | null;
354
- declare function classifyRenderObservationDowngrade(input: ClassifyRenderObservationDowngradeInput): CacheProofDowngradeClassification;
355
- declare function buildRenderRequestApiObservations(input: BuildRenderRequestApiObservationsInput): RenderRequestApiObservation[];
356
- declare function buildRenderObservation(input: BuildRenderObservationInput): RenderObservation;
357
- declare function hasCompleteNegativeRequestApiProof(observation: RenderObservation, requiredApis: readonly RenderRequestApiKind[]): boolean;
358
- declare function buildStaticLayoutReuseProof(input: BuildStaticLayoutReuseProofInput): BuildStaticLayoutReuseProofResult;
359
- declare function createStaticLayoutArtifactReuseDecision(input: CreateStaticLayoutArtifactReuseDecisionInput): StaticLayoutArtifactReuseDecision;
360
- declare function createCacheEntryReuseProof(decision: StaticLayoutArtifactReuseDecision | null): CacheEntryReuseProof;
361
- declare function createDisabledCacheProofDecision(input: CreateDisabledCacheProofDecisionInput): DisabledCacheProofDecision;
362
- //#endregion
363
- export { ALL_RENDER_REQUEST_API_KINDS, AppRouteCacheProofGraphScope, AppRouteCacheProofGraphScopeInput, BoundaryOutcome, BoundaryOutcomeCompatibility, BuildCacheVariantInput, BuildCacheVariantResult, BuildCacheVariantWithRouteBudgetInput, BuildCacheVariantWithRouteBudgetResult, BuildRenderObservationInput, BuildRenderRequestApiObservationsInput, BuildStaticLayoutReuseProofInput, BuildStaticLayoutReuseProofResult, CACHE_PROOF_MODEL_SCHEMA_VERSION, CacheEntryReuseDecision, CacheEntryReuseProof, CacheProofAcceptanceCode, CacheProofBreakerFallback, CacheProofBreakerFallbackMode, CacheProofDowngradeClassification, CacheProofDowngradeReason, CacheProofDowngradeTarget, CacheProofFallbackScope, CacheProofHotPathMetric, CacheProofModelSchemaVersion, CacheProofOutputScope, CacheProofRejectionCode, CacheProofTraceCode, CacheProofTraceFieldValue, CacheProofTraceFields, CacheVariant, CacheVariantBudget, CacheVariantDimension, CacheVariantDimensionInput, CacheVariantDimensionPrivacy, CacheVariantDimensionSource, CacheVariantRouteBudget, CacheVariantRouteBudgetAdmission, ClassifyCacheVariantDimensionDowngradeInput, ClassifyRenderObservationDowngradeInput, CreateDisabledCacheProofDecisionInput, CreateStaticLayoutArtifactReuseDecisionInput, DEFAULT_CACHE_VARIANT_BUDGET, DisabledCacheProofDecision, RenderCacheability, RenderObservation, RenderObservationCompleteness, RenderRequestApiKind, RenderRequestApiObservation, RenderRequestApiStatus, StaticLayoutArtifactReuseDecision, StaticLayoutArtifactReuseProof, StaticLayoutCacheProofOutputScope, StaticLayoutReuseProof, buildBoundaryOutcomeCompatibility, buildCacheVariant, buildCacheVariantWithRouteBudget, buildRenderObservation, buildRenderRequestApiObservations, buildStaticLayoutReuseProof, classifyCacheVariantDimensionDowngrade, classifyRenderObservationDowngrade, createAppRouteCacheProofGraphScope, createCacheEntryReuseProof, createDisabledCacheProofDecision, createStaticLayoutArtifactReuseDecision, enforceCacheVariantRouteBudget, hasCompleteNegativeRequestApiProof };
353
+ export declare function classifyCacheVariantDimensionDowngrade(input: ClassifyCacheVariantDimensionDowngradeInput): CacheProofDowngradeReason | null;
354
+ export declare function classifyRenderObservationDowngrade(input: ClassifyRenderObservationDowngradeInput): CacheProofDowngradeClassification;
355
+ export declare function buildRenderRequestApiObservations(input: BuildRenderRequestApiObservationsInput): RenderRequestApiObservation[];
356
+ export declare function buildRenderObservation(input: BuildRenderObservationInput): RenderObservation;
357
+ export declare function hasCompleteNegativeRequestApiProof(observation: RenderObservation, requiredApis: readonly RenderRequestApiKind[]): boolean;
358
+ /**
359
+ * Whether a stored App page's render is proven not to have read the request's
360
+ * query, so one entry may serve every query. Core only writes and reads
361
+ * entries with this proof.
362
+ */
363
+ export declare function hasQueryInvariantRenderProof(observation: RenderObservation | undefined): boolean;
364
+ export declare function buildStaticLayoutReuseProof(input: BuildStaticLayoutReuseProofInput): BuildStaticLayoutReuseProofResult;
365
+ export declare function createStaticLayoutArtifactReuseDecision(input: CreateStaticLayoutArtifactReuseDecisionInput): StaticLayoutArtifactReuseDecision;
366
+ export declare function createCacheEntryReuseProof(decision: StaticLayoutArtifactReuseDecision | null): CacheEntryReuseProof;
367
+ export declare function createDisabledCacheProofDecision(input: CreateDisabledCacheProofDecisionInput): DisabledCacheProofDecision;
368
+ //#endregion
@@ -594,6 +594,14 @@ function hasCompleteNegativeRequestApiProof(observation, requiredApis) {
594
594
  for (const api of requiredApis) if (statuses.get(api) !== "notObserved") return false;
595
595
  return true;
596
596
  }
597
+ /**
598
+ * Whether a stored App page's render is proven not to have read the request's
599
+ * query, so one entry may serve every query. Core only writes and reads
600
+ * entries with this proof.
601
+ */
602
+ function hasQueryInvariantRenderProof(observation) {
603
+ return observation !== void 0 && hasCompleteNegativeRequestApiProof(observation, ["searchParams"]);
604
+ }
597
605
  function isStaticLayoutOutputScope(output) {
598
606
  return output.kind === "layout";
599
607
  }
@@ -791,4 +799,4 @@ function createDisabledCacheProofDecision(input) {
791
799
  };
792
800
  }
793
801
  //#endregion
794
- export { ALL_RENDER_REQUEST_API_KINDS, CACHE_PROOF_MODEL_SCHEMA_VERSION, DEFAULT_CACHE_VARIANT_BUDGET, buildBoundaryOutcomeCompatibility, buildCacheVariant, buildCacheVariantWithRouteBudget, buildRenderObservation, buildRenderRequestApiObservations, buildStaticLayoutReuseProof, classifyCacheVariantDimensionDowngrade, classifyRenderObservationDowngrade, createAppRouteCacheProofGraphScope, createCacheEntryReuseProof, createDisabledCacheProofDecision, createStaticLayoutArtifactReuseDecision, enforceCacheVariantRouteBudget, hasCompleteNegativeRequestApiProof };
802
+ export { ALL_RENDER_REQUEST_API_KINDS, CACHE_PROOF_MODEL_SCHEMA_VERSION, DEFAULT_CACHE_VARIANT_BUDGET, buildBoundaryOutcomeCompatibility, buildCacheVariant, buildCacheVariantWithRouteBudget, buildRenderObservation, buildRenderRequestApiObservations, buildStaticLayoutReuseProof, classifyCacheVariantDimensionDowngrade, classifyRenderObservationDowngrade, createAppRouteCacheProofGraphScope, createCacheEntryReuseProof, createDisabledCacheProofDecision, createStaticLayoutArtifactReuseDecision, enforceCacheVariantRouteBudget, hasCompleteNegativeRequestApiProof, hasQueryInvariantRenderProof };
@@ -0,0 +1,8 @@
1
+ //#region src/server/cacheability-limits.d.ts
2
+ /** Maximum completed response retained before CDN admission. */
3
+ export declare const CACHEABILITY_ADMISSION_RESPONSE_BODY_LIMIT: number;
4
+ /** Maximum completed-response capture retained across concurrent isolate requests. */
5
+ export declare const CACHEABILITY_ADMISSION_ISOLATE_BODY_LIMIT: number;
6
+ /** Leave headroom below the deploy-side request timeout for a fail-closed envelope. */
7
+ export declare const CACHEABILITY_PROBE_TIMEOUT_MS = 20000;
8
+ //#endregion
@@ -0,0 +1,9 @@
1
+ //#region src/server/cacheability-limits.ts
2
+ /** Maximum completed response retained before CDN admission. */
3
+ const CACHEABILITY_ADMISSION_RESPONSE_BODY_LIMIT = 16777216;
4
+ /** Maximum completed-response capture retained across concurrent isolate requests. */
5
+ const CACHEABILITY_ADMISSION_ISOLATE_BODY_LIMIT = 33554432;
6
+ /** Leave headroom below the deploy-side request timeout for a fail-closed envelope. */
7
+ const CACHEABILITY_PROBE_TIMEOUT_MS = 2e4;
8
+ //#endregion
9
+ export { CACHEABILITY_ADMISSION_ISOLATE_BODY_LIMIT, CACHEABILITY_ADMISSION_RESPONSE_BODY_LIMIT, CACHEABILITY_PROBE_TIMEOUT_MS };
@@ -0,0 +1,68 @@
1
+ //#region src/server/cacheability-manifest.d.ts
2
+ export declare const CACHEABILITY_MANIFEST_MODULE = "__vinext_cacheability_manifest.js";
3
+ /** Request-stage projection of the manifest: the App page routes that can admit a query-free entry. */
4
+ export declare const CACHEABILITY_REQUEST_PROJECTION_MODULE = "__vinext_cacheability_request_projection.js";
5
+ export type CacheabilityRouteKind = "app-page" | "app-route" | "pages-page";
6
+ export type CacheabilityRepresentation = "app-route" | "html" | "pages-data" | "rsc-full" | "rsc-loading-shell";
7
+ export type CacheabilityManifestRouteState = "static-candidate" | "runtime-check";
8
+ export type CacheabilityManifestRoute = {
9
+ kind: CacheabilityRouteKind;
10
+ pattern: string;
11
+ /** Default completed-render policy for authorized non-static representations. */
12
+ state: CacheabilityManifestRouteState;
13
+ /** Permit completed-render admission for paths not observed during probing. */
14
+ allowUnknown?: boolean;
15
+ /** Next.js fallback classification for paths not observed during probing. */
16
+ unknownState?: CacheabilityManifestRouteState;
17
+ /** Common prefix omitted from every exact path below. */
18
+ pathPrefix?: string;
19
+ /** Runtime-checked representation authorized for every path in a pattern. */
20
+ runtimeRepresentation?: CacheabilityRepresentation;
21
+ /** Static representation for a literal route that needs no exact path list. */
22
+ staticRepresentation?: CacheabilityRepresentation;
23
+ /** Exact dynamic paths observed in a mixed or pattern-dynamic route. */
24
+ runtimePaths?: string[];
25
+ /** Exact paths runtime-checked only in the listed representation. */
26
+ runtimeRepresentationPaths?: Partial<Record<CacheabilityRepresentation, string[]>>;
27
+ /** Exact paths statically certified per representation. A path may appear in several lists. */
28
+ staticPaths?: Partial<Record<CacheabilityRepresentation, string[]>>;
29
+ };
30
+ export type CacheabilityManifest = {
31
+ buildId: string;
32
+ routes: Record<string, CacheabilityManifestRoute>;
33
+ version: 1;
34
+ };
35
+ export declare function cacheabilityManifestRouteKey(kind: CacheabilityManifestRoute["kind"], pattern: string): string;
36
+ export declare function parseCacheabilityManifest(value: string | null | undefined, expectedBuildId: string | null | undefined): CacheabilityManifest | null;
37
+ export declare function cacheabilityRequestIdentity(request: Request, trustedRepresentation?: CacheabilityRepresentation): {
38
+ representation: CacheabilityRepresentation;
39
+ requestKey: string;
40
+ } | null;
41
+ export declare function normalizeCacheabilityRoutePathname(pathname: string): string;
42
+ export declare function cacheabilityRoutePathname(pathname: string, representation: CacheabilityRepresentation): string;
43
+ export declare function cacheabilityManifestRouteState(route: CacheabilityManifestRoute, routePathname: string, representation?: CacheabilityRepresentation): CacheabilityManifestRouteState | null;
44
+ export declare function findCacheabilityManifestRoute(manifest: CacheabilityManifest, kind: CacheabilityRouteKind, pattern: string): CacheabilityManifestRoute | null;
45
+ export declare function resolveCacheabilityRepresentation(representation: CacheabilityRepresentation, routeKind: "app-page" | "app-route" | "pages-api" | "pages-page"): CacheabilityRepresentation;
46
+ /** Whether completed-response admission can store a page route under this representation. */
47
+ export declare function cacheabilityRepresentationMatchesPageRoute(routeKind: "app-page" | "pages-page", representation: CacheabilityRepresentation): boolean;
48
+ /**
49
+ * The manifest state completed-response admission gives a page request, or
50
+ * null when admission refuses it. `requestRepresentation` is the request
51
+ * identity's, and `routePathname` is built from the resolved pathname with
52
+ * `cacheabilityRoutePathname`, as admission builds it. The Workers Cache
53
+ * request stage decides its query-free dispatch with this same function, so
54
+ * the dispatch and admission always see the same state.
55
+ */
56
+ export declare function cacheabilityManifestPageState(manifest: CacheabilityManifest, route: {
57
+ kind: "app-page" | "pages-page";
58
+ pattern: string;
59
+ }, requestRepresentation: CacheabilityRepresentation, routePathname: string): CacheabilityManifestRouteState | null;
60
+ /**
61
+ * Project the manifest onto the Workers Cache request stage, which strips the
62
+ * query from App page dispatches whose manifest state is `static-candidate`.
63
+ * The projection keeps every App page route record that can resolve to that
64
+ * state, unchanged, so a lookup against it returns `static-candidate` exactly
65
+ * when the full manifest does. Every other route is left out.
66
+ */
67
+ export declare function projectCacheabilityManifestForRequestStage(manifest: CacheabilityManifest): CacheabilityManifest;
68
+ //#endregion