vinext 1.0.0-beta.9 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (828) hide show
  1. package/README.md +150 -92
  2. package/THIRD_PARTY_LICENSES.md +51 -0
  3. package/dist/_virtual/_rolldown/runtime.js +25 -0
  4. package/dist/build/action-owner-manifest.d.ts +8 -9
  5. package/dist/build/action-owner-manifest.js +23 -5
  6. package/dist/build/assets-ignore.d.ts +3 -4
  7. package/dist/build/clean-output.d.ts +2 -3
  8. package/dist/build/client-build-config.d.ts +40 -12
  9. package/dist/build/client-build-config.js +76 -6
  10. package/dist/build/css-url-assets.d.ts +4 -5
  11. package/dist/build/css-url-assets.js +5 -2
  12. package/dist/build/google-fonts/build-url.d.ts +3 -4
  13. package/dist/build/google-fonts/fallback-metrics.d.ts +3 -4
  14. package/dist/build/google-fonts/find-font-files-in-css.d.ts +2 -3
  15. package/dist/build/google-fonts/font-metadata.d.ts +2 -3
  16. package/dist/build/google-fonts/get-axes.d.ts +2 -3
  17. package/dist/build/google-fonts/sort-variants.d.ts +2 -3
  18. package/dist/build/google-fonts/validate.d.ts +2 -3
  19. package/dist/build/google-fonts/validate.js +8 -4
  20. package/dist/build/inject-pregenerated-paths.d.ts +2 -3
  21. package/dist/build/inject-pregenerated-paths.js +16 -14
  22. package/dist/build/inline-css.d.ts +3 -4
  23. package/dist/build/layout-classification-types.d.ts +4 -5
  24. package/dist/build/layout-classification.d.ts +7 -8
  25. package/dist/build/lifecycle.d.ts +42 -0
  26. package/dist/build/lifecycle.js +253 -0
  27. package/dist/build/module-dependency-cache.d.ts +2 -3
  28. package/dist/build/next-client-runtime-manifests.d.ts +4 -5
  29. package/dist/build/nitro-route-rules.d.ts +6 -7
  30. package/dist/build/nitro-route-rules.js +1 -1
  31. package/dist/build/pages-client-assets-module.d.ts +4 -8
  32. package/dist/build/pages-client-assets-module.js +7 -14
  33. package/dist/build/precompress.d.ts +2 -3
  34. package/dist/build/precompress.js +1 -1
  35. package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
  36. package/dist/build/prerender-cloudflare-loader.js +49 -0
  37. package/dist/build/prerender-paths.d.ts +36 -11
  38. package/dist/build/prerender-paths.js +274 -102
  39. package/dist/build/prerender-phase.d.ts +2 -3
  40. package/dist/build/prerender-server-entry.js +11 -3
  41. package/dist/build/prerender-server-pool.d.ts +9 -6
  42. package/dist/build/prerender-server-pool.js +8 -5
  43. package/dist/build/prerender.d.ts +73 -16
  44. package/dist/build/prerender.js +272 -80
  45. package/dist/build/preview-credentials.d.ts +5 -6
  46. package/dist/build/preview-credentials.js +2 -2
  47. package/dist/build/public-dir-conflict.d.ts +5 -6
  48. package/dist/build/public-dir-conflict.js +2 -1
  49. package/dist/build/report.d.ts +24 -20
  50. package/dist/build/report.js +10 -2
  51. package/dist/build/route-classification-injector.d.ts +2 -3
  52. package/dist/build/route-classification-manifest.d.ts +5 -6
  53. package/dist/build/run-prerender.d.ts +11 -9
  54. package/dist/build/run-prerender.js +26 -16
  55. package/dist/build/server-entry.d.ts +6 -0
  56. package/dist/build/server-entry.js +34 -0
  57. package/dist/build/server-manifest.d.ts +8 -3
  58. package/dist/build/server-manifest.js +14 -2
  59. package/dist/build/ssr-manifest.d.ts +5 -6
  60. package/dist/build/standalone.d.ts +2 -3
  61. package/dist/build/standalone.js +2 -2
  62. package/dist/build/static-export.d.ts +6 -7
  63. package/dist/cache/cache-adapters-virtual.d.ts +60 -20
  64. package/dist/cache/cache-adapters-virtual.js +50 -7
  65. package/dist/check.d.ts +11 -10
  66. package/dist/check.js +467 -176
  67. package/dist/cli-args.d.ts +7 -16
  68. package/dist/cli-args.js +2 -45
  69. package/dist/cli-dev-config.d.ts +10 -7
  70. package/dist/cli-dev-config.js +160 -3
  71. package/dist/cli.js +124 -442
  72. package/dist/client/app-nav-failure-handler.d.ts +6 -7
  73. package/dist/client/browser-globals.d.ts +4 -0
  74. package/dist/client/browser-globals.js +5 -0
  75. package/dist/client/client-rewrite-matcher.d.ts +2 -3
  76. package/dist/client/client-rewrites.d.ts +4 -5
  77. package/dist/client/dev-error-overlay-store.d.ts +13 -14
  78. package/dist/client/dev-error-overlay.d.ts +15 -15
  79. package/dist/client/dev-error-overlay.js +8 -5
  80. package/dist/client/instrumentation-client-inject.d.ts +3 -4
  81. package/dist/client/instrumentation-client-state.d.ts +5 -6
  82. package/dist/client/instrumentation-client.d.ts +3 -4
  83. package/dist/client/navigation-runtime.d.ts +20 -17
  84. package/dist/client/navigation-runtime.js +4 -3
  85. package/dist/client/pages-router-link-navigation.d.ts +4 -5
  86. package/dist/client/react-instance.d.ts +2 -3
  87. package/dist/client/validate-module-path.d.ts +2 -3
  88. package/dist/client/vinext-next-data.d.ts +7 -10
  89. package/dist/client/window-next.d.ts +4 -5
  90. package/dist/config/config-matchers.d.ts +16 -16
  91. package/dist/config/config-matchers.js +2 -4
  92. package/dist/config/dotenv.d.ts +3 -4
  93. package/dist/config/dotenv.js +14 -2
  94. package/dist/config/next-config.d.ts +31 -27
  95. package/dist/config/next-config.js +163 -16
  96. package/dist/config/prerender.d.ts +20 -16
  97. package/dist/config/prerender.js +10 -4
  98. package/dist/config/request-context.d.ts +5 -6
  99. package/dist/config/server-external-packages.d.ts +14 -3
  100. package/dist/config/server-external-packages.js +37 -3
  101. package/dist/config/tsconfig-paths.d.ts +3 -4
  102. package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
  103. package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
  104. package/dist/entries/app-browser-entry.d.ts +4 -5
  105. package/dist/entries/app-browser-entry.js +1 -3
  106. package/dist/entries/app-rsc-entry.d.ts +10 -3
  107. package/dist/entries/app-rsc-entry.js +503 -51
  108. package/dist/entries/app-rsc-manifest.d.ts +4 -3
  109. package/dist/entries/app-rsc-manifest.js +26 -8
  110. package/dist/entries/app-ssr-entry.d.ts +2 -3
  111. package/dist/entries/app-ssr-entry.js +8 -1
  112. package/dist/entries/pages-client-entry.d.ts +3 -3
  113. package/dist/entries/pages-client-entry.js +17 -2
  114. package/dist/entries/pages-server-entry.d.ts +13 -3
  115. package/dist/entries/pages-server-entry.js +234 -33
  116. package/dist/entries/runtime-entry-module.d.ts +4 -5
  117. package/dist/image/image-adapters-virtual.d.ts +4 -5
  118. package/dist/index.d.ts +10 -11
  119. package/dist/index.js +848 -255
  120. package/dist/init-cloudflare.d.ts +26 -17
  121. package/dist/init-cloudflare.js +711 -103
  122. package/dist/init-platform.d.ts +26 -22
  123. package/dist/init-platform.js +85 -29
  124. package/dist/init.d.ts +19 -13
  125. package/dist/init.js +126 -42
  126. package/dist/plugins/action-owner-manifest.d.ts +3 -4
  127. package/dist/plugins/action-owner-manifest.js +10 -3
  128. package/dist/plugins/ast-scope.d.ts +10 -11
  129. package/dist/plugins/ast-scope.js +10 -22
  130. package/dist/plugins/ast-utils.d.ts +16 -29
  131. package/dist/plugins/ast-utils.js +27 -71
  132. package/dist/plugins/async-hooks-stub.d.ts +2 -3
  133. package/dist/plugins/client-reference-dedup.d.ts +4 -5
  134. package/dist/plugins/commonjs-syntax.d.ts +16 -0
  135. package/dist/plugins/commonjs-syntax.js +22 -0
  136. package/dist/plugins/css-data-url.d.ts +2 -3
  137. package/dist/plugins/css-module-imports.d.ts +3 -4
  138. package/dist/plugins/css-module-imports.js +1 -1
  139. package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
  140. package/dist/plugins/dynamic-preload-metadata.js +55 -154
  141. package/dist/plugins/environment.d.ts +2 -3
  142. package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
  143. package/dist/plugins/extensionless-dynamic-import.js +6 -10
  144. package/dist/plugins/fonts.d.ts +10 -11
  145. package/dist/plugins/fonts.js +4 -3
  146. package/dist/plugins/ignore-dynamic-requests.d.ts +14 -4
  147. package/dist/plugins/ignore-dynamic-requests.js +113 -91
  148. package/dist/plugins/import-meta-url.d.ts +6 -7
  149. package/dist/plugins/import-meta-url.js +36 -48
  150. package/dist/plugins/instrumentation-client.d.ts +3 -3
  151. package/dist/plugins/instrumentation-client.js +46 -10
  152. package/dist/plugins/middleware-export-validation.d.ts +3 -4
  153. package/dist/plugins/middleware-export-validation.js +3 -3
  154. package/dist/plugins/middleware-server-only.d.ts +2 -3
  155. package/dist/plugins/og-asset-ownership.d.ts +5 -4
  156. package/dist/plugins/og-asset-ownership.js +24 -13
  157. package/dist/plugins/og-assets.d.ts +22 -5
  158. package/dist/plugins/og-assets.js +82 -21
  159. package/dist/plugins/og-harfbuzz.d.ts +24 -0
  160. package/dist/plugins/og-harfbuzz.js +271 -0
  161. package/dist/plugins/optimize-imports.d.ts +7 -7
  162. package/dist/plugins/optimize-imports.js +34 -45
  163. package/dist/plugins/pages-node-externals.d.ts +2 -3
  164. package/dist/plugins/pages-node-externals.js +6 -11
  165. package/dist/plugins/postcss.d.ts +8 -4
  166. package/dist/plugins/postcss.js +1 -1
  167. package/dist/plugins/remove-console.d.ts +2 -3
  168. package/dist/plugins/remove-console.js +0 -1
  169. package/dist/plugins/require-condition-resolution.d.ts +3 -4
  170. package/dist/plugins/require-condition-resolution.js +17 -18
  171. package/dist/plugins/require-context.d.ts +3 -3
  172. package/dist/plugins/require-context.js +41 -22
  173. package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
  174. package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
  175. package/dist/plugins/rsc-client-shim-excludes.js +1 -0
  176. package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
  177. package/dist/plugins/sass.d.ts +7 -8
  178. package/dist/plugins/sass.js +7 -4
  179. package/dist/plugins/scan-build-css.d.ts +12 -0
  180. package/dist/plugins/scan-build-css.js +39 -0
  181. package/dist/plugins/server-externals-manifest.d.ts +2 -3
  182. package/dist/plugins/strip-server-exports.d.ts +7 -6
  183. package/dist/plugins/strip-server-exports.js +4 -2
  184. package/dist/plugins/styled-jsx.d.ts +2 -3
  185. package/dist/plugins/styled-jsx.js +7 -7
  186. package/dist/plugins/transform-cache.d.ts +2 -3
  187. package/dist/plugins/transform-result.d.ts +21 -4
  188. package/dist/plugins/transform-result.js +23 -2
  189. package/dist/plugins/transitive-externals.d.ts +2 -3
  190. package/dist/plugins/typeof-window.d.ts +16 -7
  191. package/dist/plugins/typeof-window.js +62 -39
  192. package/dist/plugins/use-cache-callable.d.ts +2 -5
  193. package/dist/plugins/use-cache-callable.js +43 -22
  194. package/dist/plugins/wasm-module-import.d.ts +2 -3
  195. package/dist/plugins/worker-image-imports.d.ts +2 -3
  196. package/dist/plugins/worker-image-imports.js +6 -8
  197. package/dist/routing/app-route-graph.d.ts +18 -19
  198. package/dist/routing/app-route-graph.js +5 -6
  199. package/dist/routing/app-route-ids.d.ts +3 -0
  200. package/dist/routing/app-route-ids.js +6 -0
  201. package/dist/routing/app-router.d.ts +19 -6
  202. package/dist/routing/app-router.js +24 -2
  203. package/dist/routing/file-matcher.d.ts +9 -10
  204. package/dist/routing/pages-router.d.ts +6 -6
  205. package/dist/routing/pages-router.js +1 -1
  206. package/dist/routing/route-matching.d.ts +4 -5
  207. package/dist/routing/route-matching.js +4 -2
  208. package/dist/routing/route-pattern.d.ts +13 -14
  209. package/dist/routing/route-trie.d.ts +5 -6
  210. package/dist/routing/route-validation.d.ts +3 -4
  211. package/dist/routing/route-validation.js +12 -11
  212. package/dist/routing/utils.d.ts +13 -14
  213. package/dist/server/accept-encoding.d.ts +9 -10
  214. package/dist/server/api-handler.d.ts +2 -3
  215. package/dist/server/api-handler.js +9 -6
  216. package/dist/server/app-action-forwarding.d.ts +3 -4
  217. package/dist/server/app-action-forwarding.js +1 -1
  218. package/dist/server/app-action-request.d.ts +2 -3
  219. package/dist/server/app-bfcache-id.d.ts +4 -4
  220. package/dist/server/app-bfcache-id.js +7 -1
  221. package/dist/server/app-bfcache-identity.d.ts +8 -9
  222. package/dist/server/app-bfcache-identity.js +1 -2
  223. package/dist/server/app-browser-action-result.d.ts +15 -16
  224. package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
  225. package/dist/server/app-browser-entry.js +91 -36
  226. package/dist/server/app-browser-error.d.ts +5 -6
  227. package/dist/server/app-browser-error.js +9 -3
  228. package/dist/server/app-browser-history-controller.d.ts +4 -5
  229. package/dist/server/app-browser-hydration.d.ts +16 -6
  230. package/dist/server/app-browser-hydration.js +15 -2
  231. package/dist/server/app-browser-interception-context.d.ts +3 -4
  232. package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
  233. package/dist/server/app-browser-navigation-abort.d.ts +3 -4
  234. package/dist/server/app-browser-navigation-controller.d.ts +8 -8
  235. package/dist/server/app-browser-navigation-controller.js +9 -5
  236. package/dist/server/app-browser-navigation-response.d.ts +2 -3
  237. package/dist/server/app-browser-popstate.d.ts +4 -5
  238. package/dist/server/app-browser-prefetch-response.d.ts +5 -6
  239. package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
  240. package/dist/server/app-browser-server-action-client.d.ts +7 -6
  241. package/dist/server/app-browser-server-action-client.js +9 -5
  242. package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
  243. package/dist/server/app-browser-state.d.ts +17 -17
  244. package/dist/server/app-browser-state.js +7 -3
  245. package/dist/server/app-browser-stream.d.ts +5 -6
  246. package/dist/server/app-browser-stream.js +8 -6
  247. package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
  248. package/dist/server/app-browser-visible-commit.d.ts +6 -7
  249. package/dist/server/app-client-reference-preloader.d.ts +2 -3
  250. package/dist/server/app-elements-wire-key.d.ts +25 -0
  251. package/dist/server/app-elements-wire-key.js +69 -0
  252. package/dist/server/app-elements-wire.d.ts +34 -53
  253. package/dist/server/app-elements-wire.js +4 -75
  254. package/dist/server/app-elements.d.ts +5 -5
  255. package/dist/server/app-elements.js +1 -1
  256. package/dist/server/app-fallback-renderer.d.ts +4 -4
  257. package/dist/server/app-fallback-renderer.js +6 -6
  258. package/dist/server/app-fetch-tracing.d.ts +15 -0
  259. package/dist/server/app-fetch-tracing.js +38 -0
  260. package/dist/server/app-history-state.d.ts +25 -27
  261. package/dist/server/app-history-state.js +21 -16
  262. package/dist/server/app-hook-warning-suppression.d.ts +2 -3
  263. package/dist/server/app-hydration-cache-publication.d.ts +3 -4
  264. package/dist/server/app-inline-css-client.d.ts +3 -4
  265. package/dist/server/app-interception-context-header.d.ts +2 -3
  266. package/dist/server/app-layout-param-observation.d.ts +7 -8
  267. package/dist/server/app-metadata-tracing.d.ts +12 -0
  268. package/dist/server/app-metadata-tracing.js +17 -0
  269. package/dist/server/app-middleware.d.ts +7 -7
  270. package/dist/server/app-middleware.js +2 -3
  271. package/dist/server/app-mounted-slots-header.d.ts +2 -3
  272. package/dist/server/app-mounted-slots-header.js +2 -2
  273. package/dist/server/app-optimistic-routing.d.ts +10 -11
  274. package/dist/server/app-optimistic-routing.js +3 -2
  275. package/dist/server/app-page-boundary-render.d.ts +6 -6
  276. package/dist/server/app-page-boundary-render.js +10 -4
  277. package/dist/server/app-page-boundary.d.ts +9 -10
  278. package/dist/server/app-page-boundary.js +1 -1
  279. package/dist/server/app-page-cache-finalizer.d.ts +18 -9
  280. package/dist/server/app-page-cache-finalizer.js +51 -16
  281. package/dist/server/app-page-cache-render.d.ts +8 -5
  282. package/dist/server/app-page-cache-render.js +22 -4
  283. package/dist/server/app-page-cache.d.ts +28 -9
  284. package/dist/server/app-page-cache.js +95 -24
  285. package/dist/server/app-page-dispatch.d.ts +34 -12
  286. package/dist/server/app-page-dispatch.js +181 -64
  287. package/dist/server/app-page-element-builder.d.ts +13 -11
  288. package/dist/server/app-page-element-builder.js +104 -61
  289. package/dist/server/app-page-execution.d.ts +14 -14
  290. package/dist/server/app-page-execution.js +11 -7
  291. package/dist/server/app-page-head.d.ts +19 -16
  292. package/dist/server/app-page-head.js +25 -25
  293. package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
  294. package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
  295. package/dist/server/app-page-method.d.ts +5 -11
  296. package/dist/server/app-page-method.js +2 -9
  297. package/dist/server/app-page-params.d.ts +5 -6
  298. package/dist/server/app-page-ppr-runtime.d.ts +2 -2
  299. package/dist/server/app-page-probe.d.ts +5 -6
  300. package/dist/server/app-page-probe.js +5 -4
  301. package/dist/server/app-page-render-identity.d.ts +4 -5
  302. package/dist/server/app-page-render-observation.d.ts +8 -9
  303. package/dist/server/app-page-render-observation.js +1 -1
  304. package/dist/server/app-page-render.d.ts +41 -6
  305. package/dist/server/app-page-render.js +171 -24
  306. package/dist/server/app-page-request.d.ts +10 -9
  307. package/dist/server/app-page-request.js +16 -12
  308. package/dist/server/app-page-response.d.ts +20 -9
  309. package/dist/server/app-page-response.js +30 -12
  310. package/dist/server/app-page-route-wiring.d.ts +15 -15
  311. package/dist/server/app-page-route-wiring.js +31 -24
  312. package/dist/server/app-page-search-params-observation.d.ts +26 -5
  313. package/dist/server/app-page-search-params-observation.js +43 -7
  314. package/dist/server/app-page-segment-plan.d.ts +2 -3
  315. package/dist/server/app-page-segment-state.d.ts +11 -12
  316. package/dist/server/app-page-stream.d.ts +27 -11
  317. package/dist/server/app-page-stream.js +34 -6
  318. package/dist/server/app-page-tracing.d.ts +33 -0
  319. package/dist/server/app-page-tracing.js +50 -0
  320. package/dist/server/app-pages-bridge.d.ts +6 -6
  321. package/dist/server/app-pages-bridge.js +18 -4
  322. package/dist/server/app-post-middleware-context.d.ts +2 -3
  323. package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
  324. package/dist/server/app-ppr-fallback-shell-render.js +3 -2
  325. package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
  326. package/dist/server/app-prerender-endpoints.d.ts +5 -5
  327. package/dist/server/app-prerender-endpoints.js +3 -1
  328. package/dist/server/app-prerender-static-params.d.ts +15 -7
  329. package/dist/server/app-prerender-static-params.js +24 -9
  330. package/dist/server/app-render-abort-error.d.ts +3 -0
  331. package/dist/server/app-render-abort-error.js +8 -0
  332. package/dist/server/app-render-dependency.d.ts +14 -13
  333. package/dist/server/app-render-dependency.js +5 -1
  334. package/dist/server/app-request-context.d.ts +3 -4
  335. package/dist/server/app-request-stage-context.d.ts +5 -0
  336. package/dist/server/app-request-stage-context.js +11 -0
  337. package/dist/server/app-request-stage-dispatch.d.ts +25 -0
  338. package/dist/server/app-request-stage-dispatch.js +54 -0
  339. package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
  340. package/dist/server/app-request-stage-independent-entry.js +112 -0
  341. package/dist/server/app-response-header-provenance.d.ts +13 -7
  342. package/dist/server/app-response-header-provenance.js +34 -1
  343. package/dist/server/app-response-stage-entry.d.ts +9 -0
  344. package/dist/server/app-response-stage-entry.js +87 -0
  345. package/dist/server/app-route-handler-cache.d.ts +4 -4
  346. package/dist/server/app-route-handler-cache.js +51 -35
  347. package/dist/server/app-route-handler-dispatch.d.ts +3 -3
  348. package/dist/server/app-route-handler-dispatch.js +77 -56
  349. package/dist/server/app-route-handler-execution.d.ts +26 -14
  350. package/dist/server/app-route-handler-execution.js +94 -28
  351. package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
  352. package/dist/server/app-route-handler-middleware-context.js +15 -0
  353. package/dist/server/app-route-handler-policy.d.ts +11 -11
  354. package/dist/server/app-route-handler-policy.js +2 -2
  355. package/dist/server/app-route-handler-response.d.ts +9 -10
  356. package/dist/server/app-route-handler-response.js +14 -3
  357. package/dist/server/app-route-handler-runtime.d.ts +9 -10
  358. package/dist/server/app-route-handler-runtime.js +20 -16
  359. package/dist/server/app-route-module-loader.d.ts +6 -7
  360. package/dist/server/app-route-request-built-ins.d.ts +3 -4
  361. package/dist/server/app-route-tree-prefetch.d.ts +6 -7
  362. package/dist/server/app-route-tree-prefetch.js +2 -1
  363. package/dist/server/app-router-entry.d.ts +4 -1
  364. package/dist/server/app-router-entry.js +33 -17
  365. package/dist/server/app-rsc-cache-busting.d.ts +34 -27
  366. package/dist/server/app-rsc-cache-busting.js +14 -2
  367. package/dist/server/app-rsc-combined-handler.d.ts +9 -0
  368. package/dist/server/app-rsc-combined-handler.js +11 -0
  369. package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
  370. package/dist/server/app-rsc-error-handler.d.ts +12 -6
  371. package/dist/server/app-rsc-error-handler.js +15 -6
  372. package/dist/server/app-rsc-errors.d.ts +11 -9
  373. package/dist/server/app-rsc-errors.js +14 -16
  374. package/dist/server/app-rsc-handler.d.ts +32 -6
  375. package/dist/server/app-rsc-handler.js +425 -64
  376. package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
  377. package/dist/server/app-rsc-render-mode.d.ts +8 -9
  378. package/dist/server/app-rsc-request-normalization.d.ts +3 -3
  379. package/dist/server/app-rsc-request-normalization.js +5 -3
  380. package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
  381. package/dist/server/app-rsc-response-finalizer.js +10 -7
  382. package/dist/server/app-rsc-response-stage.d.ts +6 -0
  383. package/dist/server/app-rsc-response-stage.js +251 -0
  384. package/dist/server/app-rsc-route-matching.d.ts +3 -4
  385. package/dist/server/app-rsc-route-matching.js +3 -2
  386. package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
  387. package/dist/server/app-rsc-vary.d.ts +16 -0
  388. package/dist/server/app-rsc-vary.js +31 -0
  389. package/dist/server/app-segment-config.d.ts +119 -7
  390. package/dist/server/app-segment-config.js +242 -2
  391. package/dist/server/app-server-action-execution.d.ts +18 -13
  392. package/dist/server/app-server-action-execution.js +86 -33
  393. package/dist/server/app-ssr-entry.d.ts +14 -4
  394. package/dist/server/app-ssr-entry.js +62 -15
  395. package/dist/server/app-ssr-error-meta.d.ts +3 -4
  396. package/dist/server/app-ssr-error-meta.js +2 -1
  397. package/dist/server/app-ssr-router-instance.d.ts +2 -3
  398. package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
  399. package/dist/server/app-ssr-search-params-gate.js +54 -0
  400. package/dist/server/app-ssr-stream.d.ts +13 -9
  401. package/dist/server/app-ssr-stream.js +34 -8
  402. package/dist/server/app-static-generation.d.ts +4 -5
  403. package/dist/server/app-visited-response-cache.d.ts +11 -12
  404. package/dist/server/app-visited-response-cache.js +2 -2
  405. package/dist/server/app-worker-stages.d.ts +112 -0
  406. package/dist/server/app-worker-stages.js +105 -0
  407. package/dist/server/artifact-compatibility.d.ts +11 -12
  408. package/dist/server/before-interactive-head.d.ts +2 -3
  409. package/dist/server/bfcache-identity.d.ts +7 -8
  410. package/dist/server/cache-control.d.ts +35 -13
  411. package/dist/server/cache-control.js +64 -6
  412. package/dist/server/cache-headers.d.ts +3 -4
  413. package/dist/server/cache-proof.d.ts +75 -70
  414. package/dist/server/cache-proof.js +9 -1
  415. package/dist/server/cacheability-limits.d.ts +4 -5
  416. package/dist/server/cacheability-limits.js +2 -2
  417. package/dist/server/cacheability-manifest.d.ts +42 -16
  418. package/dist/server/cacheability-manifest.js +60 -10
  419. package/dist/server/cacheability-request.d.ts +37 -8
  420. package/dist/server/cacheability-request.js +192 -90
  421. package/dist/server/client-reuse-manifest.d.ts +17 -18
  422. package/dist/server/client-reuse-manifest.js +2 -2
  423. package/dist/server/client-trace-metadata.d.ts +9 -6
  424. package/dist/server/client-trace-metadata.js +27 -15
  425. package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
  426. package/dist/server/cloudflare-workers-tracing.js +8 -0
  427. package/dist/server/config-headers.d.ts +19 -5
  428. package/dist/server/config-headers.js +25 -11
  429. package/dist/server/cookie-utils.d.ts +2 -3
  430. package/dist/server/csp.d.ts +5 -6
  431. package/dist/server/default-global-error-module.d.ts +2 -3
  432. package/dist/server/default-global-not-found-module.d.ts +2 -3
  433. package/dist/server/default-not-found-module.d.ts +2 -3
  434. package/dist/server/defer-until-stream-consumed.d.ts +2 -3
  435. package/dist/server/defer-until-stream-consumed.js +2 -1
  436. package/dist/server/dev-initial-server-error.d.ts +3 -4
  437. package/dist/server/dev-initial-server-error.js +2 -1
  438. package/dist/server/dev-lockfile.d.ts +7 -8
  439. package/dist/server/dev-lockfile.js +4 -1
  440. package/dist/server/dev-module-runner.d.ts +2 -3
  441. package/dist/server/dev-origin-check.d.ts +5 -6
  442. package/dist/server/dev-route-files.d.ts +2 -3
  443. package/dist/server/dev-server.d.ts +4 -5
  444. package/dist/server/dev-server.js +141 -64
  445. package/dist/server/dev-stack-sourcemap.d.ts +7 -7
  446. package/dist/server/dev-stack-sourcemap.js +1 -1
  447. package/dist/server/document-initial-head.d.ts +3 -4
  448. package/dist/server/edge-api-runtime.d.ts +4 -5
  449. package/dist/server/fetch-handler.d.ts +3 -2
  450. package/dist/server/fetch-handler.js +3 -18
  451. package/dist/server/file-based-metadata.d.ts +2 -3
  452. package/dist/server/framework-tracer.d.ts +46 -0
  453. package/dist/server/framework-tracer.js +125 -0
  454. package/dist/server/fully-buffered-response.d.ts +11 -0
  455. package/dist/server/fully-buffered-response.js +19 -0
  456. package/dist/server/headers.d.ts +56 -61
  457. package/dist/server/headers.js +22 -31
  458. package/dist/server/html.d.ts +6 -27
  459. package/dist/server/html.js +16 -1
  460. package/dist/server/http-conditional.d.ts +5 -6
  461. package/dist/server/http-date.d.ts +2 -3
  462. package/dist/server/http-error-responses.d.ts +9 -10
  463. package/dist/server/http-error-responses.js +1 -0
  464. package/dist/server/http-range.d.ts +4 -5
  465. package/dist/server/hybrid-route-priority.d.ts +4 -5
  466. package/dist/server/image-optimization.d.ts +20 -21
  467. package/dist/server/implicit-tags.d.ts +3 -4
  468. package/dist/server/instrumentation-runtime.d.ts +17 -21
  469. package/dist/server/instrumentation-runtime.js +26 -8
  470. package/dist/server/instrumentation.d.ts +26 -30
  471. package/dist/server/instrumentation.js +18 -23
  472. package/dist/server/isr-cache.d.ts +30 -27
  473. package/dist/server/isr-cache.js +23 -70
  474. package/dist/server/isr-decision.d.ts +4 -4
  475. package/dist/server/metadata-route-build-data.d.ts +4 -5
  476. package/dist/server/metadata-route-response.d.ts +7 -7
  477. package/dist/server/metadata-route-response.js +158 -35
  478. package/dist/server/metadata-routes.d.ts +18 -19
  479. package/dist/server/middleware-matcher-pattern.d.ts +6 -7
  480. package/dist/server/middleware-matcher.d.ts +6 -7
  481. package/dist/server/middleware-path-to-regexp.d.ts +6 -7
  482. package/dist/server/middleware-path-to-regexp.js +11 -9
  483. package/dist/server/middleware-response-headers.d.ts +3 -4
  484. package/dist/server/middleware-runtime.d.ts +7 -8
  485. package/dist/server/middleware-runtime.js +36 -7
  486. package/dist/server/middleware.d.ts +5 -5
  487. package/dist/server/multi-stage.d.ts +141 -0
  488. package/dist/server/multi-stage.js +8 -0
  489. package/dist/server/navigation-planner.d.ts +26 -26
  490. package/dist/server/navigation-trace.d.ts +11 -12
  491. package/dist/server/next-error-digest.d.ts +4 -5
  492. package/dist/server/normalize-path.d.ts +5 -6
  493. package/dist/server/open-redirect.d.ts +2 -3
  494. package/dist/server/opentelemetry-api.d.ts +59 -0
  495. package/dist/server/opentelemetry-api.js +53 -0
  496. package/dist/server/opentelemetry-tracing.d.ts +5 -0
  497. package/dist/server/opentelemetry-tracing.js +83 -0
  498. package/dist/server/operation-token.d.ts +11 -12
  499. package/dist/server/otel-tracer-extension.d.ts +7 -9
  500. package/dist/server/otel-tracer-extension.js +37 -36
  501. package/dist/server/pages-api-route.d.ts +5 -4
  502. package/dist/server/pages-api-route.js +28 -9
  503. package/dist/server/pages-asset-tags.d.ts +7 -6
  504. package/dist/server/pages-asset-tags.js +104 -18
  505. package/dist/server/pages-body-parser-config.d.ts +4 -5
  506. package/dist/server/pages-body-parser-config.js +4 -4
  507. package/dist/server/pages-client-assets.d.ts +13 -5
  508. package/dist/server/pages-data-route.d.ts +11 -12
  509. package/dist/server/pages-data-route.js +1 -1
  510. package/dist/server/pages-default-404.d.ts +3 -4
  511. package/dist/server/pages-dev-hydration.d.ts +9 -4
  512. package/dist/server/pages-dev-hydration.js +19 -7
  513. package/dist/server/pages-dev-module-url.d.ts +3 -4
  514. package/dist/server/pages-dev-stylesheets.d.ts +5 -6
  515. package/dist/server/pages-document-asset-props.d.ts +6 -7
  516. package/dist/server/pages-document-initial-props.d.ts +5 -5
  517. package/dist/server/pages-document-initial-props.js +4 -2
  518. package/dist/server/pages-execution-tracing.d.ts +40 -0
  519. package/dist/server/pages-execution-tracing.js +80 -0
  520. package/dist/server/pages-get-initial-props.d.ts +9 -10
  521. package/dist/server/pages-i18n.d.ts +8 -8
  522. package/dist/server/pages-media-type.d.ts +4 -5
  523. package/dist/server/pages-node-compat.d.ts +11 -10
  524. package/dist/server/pages-node-compat.js +12 -4
  525. package/dist/server/pages-page-data.d.ts +23 -19
  526. package/dist/server/pages-page-data.js +82 -75
  527. package/dist/server/pages-page-handler.d.ts +7 -6
  528. package/dist/server/pages-page-handler.js +103 -47
  529. package/dist/server/pages-page-method.d.ts +2 -3
  530. package/dist/server/pages-page-response.d.ts +14 -10
  531. package/dist/server/pages-page-response.js +52 -32
  532. package/dist/server/pages-preview.d.ts +10 -11
  533. package/dist/server/pages-readiness.d.ts +2 -3
  534. package/dist/server/pages-request-pipeline.d.ts +15 -12
  535. package/dist/server/pages-request-pipeline.js +80 -35
  536. package/dist/server/pages-request-stage-entry.d.ts +23 -0
  537. package/dist/server/pages-request-stage-entry.js +316 -0
  538. package/dist/server/pages-response-stage-entry.d.ts +11 -0
  539. package/dist/server/pages-response-stage-entry.js +106 -0
  540. package/dist/server/pages-response-stage.d.ts +31 -0
  541. package/dist/server/pages-response-stage.js +49 -0
  542. package/dist/server/pages-revalidate.d.ts +3 -4
  543. package/dist/server/pages-revalidate.js +9 -4
  544. package/dist/server/pages-route-data-kind.d.ts +18 -0
  545. package/dist/server/pages-route-data-kind.js +11 -0
  546. package/dist/server/pages-router-entry.d.ts +1 -25
  547. package/dist/server/pages-router-entry.js +35 -148
  548. package/dist/server/pages-serializable-props.d.ts +3 -4
  549. package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
  550. package/dist/server/pregenerated-concrete-paths.js +12 -6
  551. package/dist/server/prerender-cache-life-header.d.ts +3 -4
  552. package/dist/server/prerender-manifest.d.ts +17 -11
  553. package/dist/server/prerender-manifest.js +7 -4
  554. package/dist/server/prerender-route-params.d.ts +16 -9
  555. package/dist/server/prerender-route-params.js +18 -3
  556. package/dist/server/prerender-work-unit-setup.d.ts +2 -3
  557. package/dist/server/prerender-work-unit-setup.js +5 -5
  558. package/dist/server/prod-server.d.ts +12 -9
  559. package/dist/server/prod-server.js +127 -44
  560. package/dist/server/proxy-trust.d.ts +5 -6
  561. package/dist/server/request-log.d.ts +3 -4
  562. package/dist/server/request-pipeline.d.ts +16 -16
  563. package/dist/server/request-pipeline.js +7 -2
  564. package/dist/server/request-stage.d.ts +5 -0
  565. package/dist/server/request-stage.js +7 -0
  566. package/dist/server/request-tracing.d.ts +22 -0
  567. package/dist/server/request-tracing.js +180 -0
  568. package/dist/server/response-stage-cacheability.d.ts +37 -0
  569. package/dist/server/response-stage-cacheability.js +55 -0
  570. package/dist/server/response-stage-policy.d.ts +23 -0
  571. package/dist/server/response-stage-policy.js +89 -0
  572. package/dist/server/response-stage.d.ts +5 -0
  573. package/dist/server/response-stage.js +7 -0
  574. package/dist/server/response-start-tracing.d.ts +14 -0
  575. package/dist/server/response-start-tracing.js +80 -0
  576. package/dist/server/revalidation-host.d.ts +2 -3
  577. package/dist/server/revalidation-host.js +1 -1
  578. package/dist/server/revalidation-request.d.ts +8 -0
  579. package/dist/server/revalidation-request.js +37 -0
  580. package/dist/server/rsc-completion-metadata.d.ts +6 -7
  581. package/dist/server/rsc-stream-hints.d.ts +18 -7
  582. package/dist/server/rsc-stream-hints.js +70 -35
  583. package/dist/server/seed-cache.d.ts +2 -3
  584. package/dist/server/seed-cache.js +8 -7
  585. package/dist/server/server-action-not-found.d.ts +5 -6
  586. package/dist/server/server-globals.d.ts +2 -3
  587. package/dist/server/skip-cache-proof.d.ts +4 -4
  588. package/dist/server/socket-error-backstop.d.ts +5 -6
  589. package/dist/server/socket-error-backstop.js +1 -1
  590. package/dist/server/static-file-cache.d.ts +5 -6
  591. package/dist/server/static-file-cache.js +9 -7
  592. package/dist/server/static-file-signal.d.ts +9 -6
  593. package/dist/server/static-file-signal.js +51 -2
  594. package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
  595. package/dist/server/streaming-metadata.d.ts +2 -3
  596. package/dist/server/tracer.d.ts +5 -0
  597. package/dist/server/tracer.js +13 -0
  598. package/dist/server/worker-prerender-discovery.d.ts +5 -6
  599. package/dist/server/worker-revalidation-context.d.ts +4 -4
  600. package/dist/server/worker-revalidation-context.js +6 -5
  601. package/dist/server/worker-stages.d.ts +43 -0
  602. package/dist/server/worker-stages.js +25 -0
  603. package/dist/server/worker-utils.d.ts +5 -6
  604. package/dist/server/worker-utils.js +2 -1
  605. package/dist/server/workers-tracing.d.ts +34 -0
  606. package/dist/server/workers-tracing.js +67 -0
  607. package/dist/shims/amp.d.ts +3 -4
  608. package/dist/shims/app-router-scroll-state.d.ts +9 -10
  609. package/dist/shims/app-router-scroll.d.ts +4 -5
  610. package/dist/shims/app-router-scroll.js +2 -1
  611. package/dist/shims/app.d.ts +5 -6
  612. package/dist/shims/before-interactive-context.d.ts +5 -6
  613. package/dist/shims/cache-callable-runtime.d.ts +44 -4
  614. package/dist/shims/cache-callable-runtime.js +168 -8
  615. package/dist/shims/cache-for-request.d.ts +2 -3
  616. package/dist/shims/cache-handler.d.ts +33 -20
  617. package/dist/shims/cache-handler.js +61 -2
  618. package/dist/shims/cache-request-state.d.ts +26 -38
  619. package/dist/shims/cache-request-state.js +2 -13
  620. package/dist/shims/cache-runtime.d.ts +23 -21
  621. package/dist/shims/cache-runtime.js +110 -28
  622. package/dist/shims/cache.d.ts +17 -16
  623. package/dist/shims/cache.js +19 -15
  624. package/dist/shims/cacheability-classification.d.ts +50 -29
  625. package/dist/shims/cacheability-classification.js +29 -14
  626. package/dist/shims/cdn-cache-state.d.ts +13 -0
  627. package/dist/shims/cdn-cache-state.js +23 -0
  628. package/dist/shims/cdn-cache.d.ts +59 -21
  629. package/dist/shims/cdn-cache.js +31 -47
  630. package/dist/shims/client-hook-error.d.ts +3 -4
  631. package/dist/shims/client-locale.d.ts +2 -3
  632. package/dist/shims/client-page-root.d.ts +24 -0
  633. package/dist/shims/client-page-root.js +121 -0
  634. package/dist/shims/compat-router.d.ts +2 -3
  635. package/dist/shims/config.d.ts +3 -4
  636. package/dist/shims/constants.d.ts +73 -74
  637. package/dist/shims/constants.js +1 -1
  638. package/dist/shims/default-not-found.d.ts +2 -3
  639. package/dist/shims/document.d.ts +9 -9
  640. package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
  641. package/dist/shims/dynamic-preload-chunks.js +17 -13
  642. package/dist/shims/dynamic.d.ts +3 -3
  643. package/dist/shims/error-boundary-navigation.d.ts +3 -4
  644. package/dist/shims/error-boundary.d.ts +17 -18
  645. package/dist/shims/error-boundary.js +17 -11
  646. package/dist/shims/error.d.ts +5 -19
  647. package/dist/shims/error.js +17 -10
  648. package/dist/shims/error.react-server.d.ts +4 -7
  649. package/dist/shims/error.react-server.js +4 -1
  650. package/dist/shims/fetch-cache.d.ts +22 -22
  651. package/dist/shims/fetch-cache.js +46 -20
  652. package/dist/shims/font-google-base.d.ts +9 -9
  653. package/dist/shims/font-google-base.js +2 -1
  654. package/dist/shims/font-local.d.ts +3 -3
  655. package/dist/shims/font-local.js +1 -1
  656. package/dist/shims/font-utils.d.ts +14 -15
  657. package/dist/shims/form.d.ts +2 -2
  658. package/dist/shims/form.js +10 -7
  659. package/dist/shims/hash-scroll.d.ts +5 -6
  660. package/dist/shims/head-state.d.ts +4 -5
  661. package/dist/shims/head.d.ts +16 -16
  662. package/dist/shims/head.js +5 -4
  663. package/dist/shims/headers.d.ts +44 -73
  664. package/dist/shims/headers.js +87 -144
  665. package/dist/shims/i18n-context.d.ts +5 -6
  666. package/dist/shims/i18n-state.d.ts +4 -5
  667. package/dist/shims/image-config.d.ts +5 -6
  668. package/dist/shims/image-config.js +2 -0
  669. package/dist/shims/image.d.ts +5 -5
  670. package/dist/shims/image.js +12 -8
  671. package/dist/shims/internal/als-registry.d.ts +4 -5
  672. package/dist/shims/internal/api-utils.d.ts +3 -4
  673. package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
  674. package/dist/shims/internal/app-page-props-cache-key.js +53 -1
  675. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
  676. package/dist/shims/internal/app-prefetch-rsc-request.d.ts +5 -17
  677. package/dist/shims/internal/app-prefetch-rsc-request.js +5 -14
  678. package/dist/shims/internal/app-route-detection.d.ts +2 -2
  679. package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -8
  680. package/dist/shims/internal/app-route-prefetch-policy.js +0 -1
  681. package/dist/shims/internal/app-router-context.d.ts +9 -10
  682. package/dist/shims/internal/cache-context-accessor.d.ts +16 -0
  683. package/dist/shims/internal/cache-context-accessor.js +15 -0
  684. package/dist/shims/internal/cookie-serialize.d.ts +4 -5
  685. package/dist/shims/internal/format-url-object.d.ts +7 -0
  686. package/dist/shims/internal/format-url-object.js +53 -0
  687. package/dist/shims/internal/headers-state.d.ts +74 -0
  688. package/dist/shims/internal/headers-state.js +157 -0
  689. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
  690. package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
  691. package/dist/shims/internal/hybrid-client-route-owner.js +3 -2
  692. package/dist/shims/internal/interpolate-as.d.ts +5 -6
  693. package/dist/shims/internal/interpolate-as.js +4 -2
  694. package/dist/shims/internal/link-status-registry.d.ts +5 -6
  695. package/dist/shims/internal/make-hanging-promise.d.ts +3 -4
  696. package/dist/shims/internal/navigation-untracked.d.ts +2 -3
  697. package/dist/shims/internal/normalize-router-href.d.ts +15 -0
  698. package/dist/shims/internal/normalize-router-href.js +41 -0
  699. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
  700. package/dist/shims/internal/pages-data-target.d.ts +8 -6
  701. package/dist/shims/internal/pages-data-target.js +32 -36
  702. package/dist/shims/internal/pages-data-url.d.ts +4 -5
  703. package/dist/shims/internal/pages-data-url.js +2 -1
  704. package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
  705. package/dist/shims/internal/pages-router-components.d.ts +3 -4
  706. package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
  707. package/dist/shims/internal/route-pattern-for-warning.js +3 -3
  708. package/dist/shims/internal/router-context.d.ts +2 -3
  709. package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
  710. package/dist/shims/internal/thenable-well-known-properties.js +33 -0
  711. package/dist/shims/internal/utils.d.ts +7 -8
  712. package/dist/shims/internal/work-unit-async-storage.d.ts +10 -11
  713. package/dist/shims/layout-segment-context.d.ts +3 -4
  714. package/dist/shims/link-prefetch.d.ts +9 -10
  715. package/dist/shims/link.d.ts +4 -4
  716. package/dist/shims/link.js +56 -116
  717. package/dist/shims/metadata.d.ts +15 -16
  718. package/dist/shims/metadata.js +40 -36
  719. package/dist/shims/navigation-context-accessors.d.ts +9 -0
  720. package/dist/shims/navigation-context-accessors.js +19 -0
  721. package/dist/shims/navigation-context-state.d.ts +27 -18
  722. package/dist/shims/navigation-errors.d.ts +18 -19
  723. package/dist/shims/navigation-state.d.ts +6 -7
  724. package/dist/shims/navigation.d.ts +80 -68
  725. package/dist/shims/navigation.js +26 -18
  726. package/dist/shims/navigation.react-server.d.ts +9 -9
  727. package/dist/shims/offline.d.ts +2 -3
  728. package/dist/shims/og.d.ts +2 -2
  729. package/dist/shims/pages-router-runtime.d.ts +4 -5
  730. package/dist/shims/ppr-fallback-shell.d.ts +13 -14
  731. package/dist/shims/readonly-url-search-params.d.ts +2 -3
  732. package/dist/shims/request-context.d.ts +5 -6
  733. package/dist/shims/request-state-types.d.ts +2 -1
  734. package/dist/shims/root-params.d.ts +14 -15
  735. package/dist/shims/root-params.js +1 -1
  736. package/dist/shims/router-state.d.ts +5 -6
  737. package/dist/shims/router-state.js +1 -1
  738. package/dist/shims/router.d.ts +22 -21
  739. package/dist/shims/router.js +339 -164
  740. package/dist/shims/script-nonce-context.d.ts +8 -6
  741. package/dist/shims/script-nonce-context.js +15 -6
  742. package/dist/shims/script.d.ts +4 -4
  743. package/dist/shims/script.js +9 -7
  744. package/dist/shims/search-params-gate.d.ts +35 -0
  745. package/dist/shims/search-params-gate.js +32 -0
  746. package/dist/shims/server.d.ts +19 -51
  747. package/dist/shims/server.js +66 -30
  748. package/dist/shims/slot.d.ts +33 -15
  749. package/dist/shims/slot.js +41 -9
  750. package/dist/shims/streamed-icons.d.ts +3 -4
  751. package/dist/shims/thenable-params.d.ts +5 -7
  752. package/dist/shims/thenable-params.js +3 -24
  753. package/dist/shims/unified-request-context.d.ts +35 -32
  754. package/dist/shims/unified-request-context.js +34 -24
  755. package/dist/shims/unrecognized-action-error.d.ts +3 -4
  756. package/dist/shims/url-safety.d.ts +5 -6
  757. package/dist/shims/url-utils.d.ts +12 -13
  758. package/dist/shims/use-merged-ref.d.ts +2 -3
  759. package/dist/shims/user-agent.d.ts +31 -0
  760. package/dist/shims/user-agent.js +16 -0
  761. package/dist/shims/web-vitals.d.ts +2 -2
  762. package/dist/typegen.d.ts +3 -4
  763. package/dist/utils/asset-prefix.d.ts +7 -8
  764. package/dist/utils/base-path.d.ts +5 -6
  765. package/dist/utils/built-asset-url.d.ts +2 -3
  766. package/dist/utils/built-asset-url.js +1 -1
  767. package/dist/utils/cache-control-metadata.d.ts +4 -5
  768. package/dist/utils/client-build-manifest.d.ts +6 -7
  769. package/dist/utils/client-build-manifest.js +2 -1
  770. package/dist/utils/client-entry-manifest.d.ts +6 -7
  771. package/dist/utils/client-runtime-metadata.d.ts +8 -3
  772. package/dist/utils/client-runtime-metadata.js +18 -1
  773. package/dist/utils/commonjs-loader.d.ts +4 -5
  774. package/dist/utils/compare.d.ts +2 -3
  775. package/dist/utils/deployment-id.d.ts +6 -7
  776. package/dist/utils/dev-error-recovery-event.d.ts +2 -3
  777. package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
  778. package/dist/utils/domain-locale.d.ts +7 -8
  779. package/dist/utils/encode-cache-tag.d.ts +4 -4
  780. package/dist/utils/encode-cache-tag.js +11 -1
  781. package/dist/utils/error-cause.d.ts +2 -3
  782. package/dist/utils/external-url.d.ts +2 -3
  783. package/dist/utils/has-trailing-comma.d.ts +3 -4
  784. package/dist/utils/hash.d.ts +3 -4
  785. package/dist/utils/html-limited-bots.d.ts +3 -4
  786. package/dist/utils/lazy-chunks.d.ts +8 -9
  787. package/dist/utils/lazy-chunks.js +4 -4
  788. package/dist/utils/manifest-paths.d.ts +5 -6
  789. package/dist/utils/mdx-scan.d.ts +11 -4
  790. package/dist/utils/mdx-scan.js +27 -1
  791. package/dist/utils/middleware-request-headers.d.ts +7 -6
  792. package/dist/utils/middleware-request-headers.js +6 -1
  793. package/dist/utils/navigation-signal.d.ts +3 -3
  794. package/dist/utils/navigation-signal.js +16 -1
  795. package/dist/utils/number.d.ts +2 -3
  796. package/dist/utils/package-name.d.ts +3 -4
  797. package/dist/utils/parse-cookie.d.ts +4 -5
  798. package/dist/utils/path.d.ts +8 -9
  799. package/dist/utils/plugin-options.d.ts +2 -3
  800. package/dist/utils/precompressed-variant.d.ts +3 -4
  801. package/dist/utils/prerender-output-paths.d.ts +4 -5
  802. package/dist/utils/project.d.ts +19 -30
  803. package/dist/utils/project.js +20 -29
  804. package/dist/utils/promise.d.ts +2 -3
  805. package/dist/utils/protocol-headers.d.ts +14 -15
  806. package/dist/utils/public-file-path.d.ts +2 -3
  807. package/dist/utils/public-routes.d.ts +2 -3
  808. package/dist/utils/query.d.ts +14 -9
  809. package/dist/utils/query.js +22 -1
  810. package/dist/utils/react-compiler-support.d.ts +6 -7
  811. package/dist/utils/react-version.d.ts +4 -3
  812. package/dist/utils/react-version.js +19 -1
  813. package/dist/utils/record.d.ts +2 -3
  814. package/dist/utils/redirect-digest.d.ts +3 -4
  815. package/dist/utils/regex-safety.d.ts +4 -5
  816. package/dist/utils/regex.d.ts +2 -3
  817. package/dist/utils/safe-json-file.d.ts +2 -3
  818. package/dist/utils/sorted-array.d.ts +2 -3
  819. package/dist/utils/text-stream.d.ts +3 -4
  820. package/dist/utils/vinext-root.d.ts +2 -3
  821. package/dist/utils/virtual-module.d.ts +3 -4
  822. package/dist/utils/vite-cli-invocation.d.ts +21 -0
  823. package/dist/utils/vite-cli-invocation.js +151 -0
  824. package/dist/utils/vite-version.d.ts +5 -6
  825. package/next-package.json +4 -0
  826. package/package.json +51 -6
  827. package/dist/server/metadata-route-cache-policy.d.ts +0 -6
  828. package/dist/server/metadata-route-cache-policy.js +0 -6
@@ -1,6 +1,6 @@
1
1
  import { HasCondition } from "../config/next-config.js";
2
2
  //#region src/server/middleware-matcher-pattern.d.ts
3
- type CompiledMiddlewareMatcherPattern = {
3
+ export type CompiledMiddlewareMatcherPattern = {
4
4
  regexp: RegExp;
5
5
  error?: never;
6
6
  } | {
@@ -8,14 +8,13 @@ type CompiledMiddlewareMatcherPattern = {
8
8
  error: string;
9
9
  kind: "invalid" | "unsafe";
10
10
  };
11
- type MiddlewareMatcherObject = {
11
+ export type MiddlewareMatcherObject = {
12
12
  source: string;
13
13
  locale?: false;
14
14
  has?: HasCondition[];
15
15
  missing?: HasCondition[];
16
16
  };
17
- declare function isValidMiddlewareMatcherObjectConfig(value: unknown): value is MiddlewareMatcherObject;
18
- declare function compileMiddlewareMatcherPattern(source: string): CompiledMiddlewareMatcherPattern;
19
- declare function validateMiddlewareMatcherPatterns(value: unknown): void;
20
- //#endregion
21
- export { CompiledMiddlewareMatcherPattern, MiddlewareMatcherObject, compileMiddlewareMatcherPattern, isValidMiddlewareMatcherObjectConfig, validateMiddlewareMatcherPatterns };
17
+ export declare function isValidMiddlewareMatcherObjectConfig(value: unknown): value is MiddlewareMatcherObject;
18
+ export declare function compileMiddlewareMatcherPattern(source: string): CompiledMiddlewareMatcherPattern;
19
+ export declare function validateMiddlewareMatcherPatterns(value: unknown): void;
20
+ //#endregion
@@ -1,14 +1,14 @@
1
1
  import { NextI18nConfig } from "../config/next-config.js";
2
2
  import { MiddlewareMatcherObject } from "./middleware-matcher-pattern.js";
3
3
  //#region src/server/middleware-matcher.d.ts
4
- type MatcherConfig = string | Array<string | MiddlewareMatcherObject>;
5
- type MiddlewareLocaleMatchContext = {
4
+ export type MatcherConfig = string | Array<string | MiddlewareMatcherObject>;
5
+ export type MiddlewareLocaleMatchContext = {
6
6
  kind: "defaulted";
7
7
  defaultLocale: string;
8
8
  } | {
9
9
  kind: "internal" | "literal";
10
10
  };
11
- declare function matchesMiddleware(pathname: string, matcher: MatcherConfig | undefined, request?: Request, i18nConfig?: NextI18nConfig | null, localeContext?: MiddlewareLocaleMatchContext): boolean;
11
+ export declare function matchesMiddleware(pathname: string, matcher: MatcherConfig | undefined, request?: Request, i18nConfig?: NextI18nConfig | null, localeContext?: MiddlewareLocaleMatchContext): boolean;
12
12
  /**
13
13
  * Whether a pathname can reach middleware, ignoring request-specific
14
14
  * `has`/`missing` conditions. This is deliberately separate from
@@ -16,7 +16,6 @@ declare function matchesMiddleware(pathname: string, matcher: MatcherConfig | un
16
16
  * full request, while cacheability certification needs a stable answer for
17
17
  * every request that can share the pathname's cache entry.
18
18
  */
19
- declare function matchesMiddlewarePathname(pathname: string, matcher: MatcherConfig | undefined, i18nConfig?: NextI18nConfig | null, localeContext?: MiddlewareLocaleMatchContext): boolean;
20
- declare function matchPattern(pathname: string, pattern: string): boolean;
21
- //#endregion
22
- export { MatcherConfig, MiddlewareLocaleMatchContext, matchPattern, matchesMiddleware, matchesMiddlewarePathname };
19
+ export declare function matchesMiddlewarePathname(pathname: string, matcher: MatcherConfig | undefined, i18nConfig?: NextI18nConfig | null, localeContext?: MiddlewareLocaleMatchContext): boolean;
20
+ export declare function matchPattern(pathname: string, pattern: string): boolean;
21
+ //#endregion
@@ -1,14 +1,13 @@
1
1
  //#region src/server/middleware-path-to-regexp.d.ts
2
- type MiddlewarePathToken = string | MiddlewarePathKey;
3
- type MiddlewarePathKey = {
2
+ export type MiddlewarePathToken = string | MiddlewarePathKey;
3
+ export type MiddlewarePathKey = {
4
4
  name: string | number;
5
5
  prefix: string;
6
6
  suffix: string;
7
7
  pattern: string;
8
8
  modifier: string;
9
9
  };
10
- declare function parseMiddlewarePath(value: string): MiddlewarePathToken[];
11
- declare function normalizeMiddlewarePathTokens(tokens: MiddlewarePathToken[]): MiddlewarePathToken[];
12
- declare function middlewarePathTokensToRegExp(tokens: MiddlewarePathToken[]): RegExp;
13
- //#endregion
14
- export { MiddlewarePathKey, MiddlewarePathToken, middlewarePathTokensToRegExp, normalizeMiddlewarePathTokens, parseMiddlewarePath };
10
+ export declare function parseMiddlewarePath(value: string): MiddlewarePathToken[];
11
+ export declare function normalizeMiddlewarePathTokens(tokens: MiddlewarePathToken[]): MiddlewarePathToken[];
12
+ export declare function middlewarePathTokensToRegExp(tokens: MiddlewarePathToken[]): RegExp;
13
+ //#endregion
@@ -211,15 +211,17 @@ function middlewarePathTokensToRegExp(tokens) {
211
211
  }
212
212
  const prefix = escapeRegex(token.prefix);
213
213
  const suffix = escapeRegex(token.suffix);
214
- if (token.pattern) if (prefix || suffix) if (token.modifier === "+" || token.modifier === "*") {
215
- const optional = token.modifier === "*" ? "?" : "";
216
- route += `(?:${prefix}((?:${token.pattern})(?:${suffix}${prefix}(?:${token.pattern}))*)${suffix})${optional}`;
217
- } else route += `(?:${prefix}(${token.pattern})${suffix})${token.modifier}`;
218
- else {
219
- if (token.modifier === "+" || token.modifier === "*") throw new TypeError(`Can not repeat "${token.name}" without a prefix and suffix`);
220
- route += `(${token.pattern})${token.modifier}`;
221
- }
222
- else route += `(?:${prefix}${suffix})${token.modifier}`;
214
+ if (token.pattern) {
215
+ if (prefix || suffix) {
216
+ if (token.modifier === "+" || token.modifier === "*") {
217
+ const optional = token.modifier === "*" ? "?" : "";
218
+ route += `(?:${prefix}((?:${token.pattern})(?:${suffix}${prefix}(?:${token.pattern}))*)${suffix})${optional}`;
219
+ } else route += `(?:${prefix}(${token.pattern})${suffix})${token.modifier}`;
220
+ } else {
221
+ if (token.modifier === "+" || token.modifier === "*") throw new TypeError(`Can not repeat "${token.name}" without a prefix and suffix`);
222
+ route += `(${token.pattern})${token.modifier}`;
223
+ }
224
+ } else route += `(?:${prefix}${suffix})${token.modifier}`;
223
225
  }
224
226
  route += `${delimiterRegex}?$`;
225
227
  return new RegExp(route, "i");
@@ -1,5 +1,5 @@
1
1
  //#region src/server/middleware-response-headers.d.ts
2
- declare function mergeVaryHeader(target: Headers, value: string): void;
2
+ export declare function mergeVaryHeader(target: Headers, value: string): void;
3
3
  /**
4
4
  * Merge middleware response headers into a target Headers object.
5
5
  *
@@ -7,6 +7,5 @@ declare function mergeVaryHeader(target: Headers, value: string): void;
7
7
  * contribute values. All other headers use set() so middleware owns singular
8
8
  * response headers like Cache-Control.
9
9
  */
10
- declare function mergeMiddlewareResponseHeaders(target: Headers, middlewareHeaders: Headers | null): void;
11
- //#endregion
12
- export { mergeMiddlewareResponseHeaders, mergeVaryHeader };
10
+ export declare function mergeMiddlewareResponseHeaders(target: Headers, middlewareHeaders: Headers | null): void;
11
+ //#endregion
@@ -2,8 +2,8 @@ import { NextI18nConfig } from "../config/next-config.js";
2
2
  import { ExecutionContextLike } from "../shims/request-context.js";
3
3
  import { NextFetchEvent, NextRequest } from "../shims/server.js";
4
4
  //#region src/server/middleware-runtime.d.ts
5
- type MiddlewareModule = Record<string, unknown>;
6
- type MiddlewareResult = {
5
+ export type MiddlewareModule = Record<string, unknown>;
6
+ export type MiddlewareResult = {
7
7
  continue: boolean;
8
8
  /** True when this pathname can match middleware for some request context. */
9
9
  pathnameEligible?: boolean;
@@ -67,12 +67,11 @@ type ExecuteMiddlewareOptions = {
67
67
  type RunGeneratedMiddlewareOptions = ExecuteMiddlewareOptions & {
68
68
  ctx?: ExecutionContextLike;
69
69
  };
70
- declare function createMiddlewareMissingExportError(filePath: string | undefined, isProxy: boolean): Error;
71
- declare function resolveMiddlewareModuleHandler(mod: MiddlewareModule, options: {
70
+ export declare function createMiddlewareMissingExportError(filePath: string | undefined, isProxy: boolean): Error;
71
+ export declare function resolveMiddlewareModuleHandler(mod: MiddlewareModule, options: {
72
72
  filePath?: string;
73
73
  isProxy: boolean;
74
74
  }): MiddlewareHandler;
75
- declare function executeMiddleware(options: ExecuteMiddlewareOptions): Promise<MiddlewareResult>;
76
- declare function runGeneratedMiddleware(options: RunGeneratedMiddlewareOptions): Promise<MiddlewareResult>;
77
- //#endregion
78
- export { MiddlewareModule, MiddlewareResult, createMiddlewareMissingExportError, executeMiddleware, resolveMiddlewareModuleHandler, runGeneratedMiddleware };
75
+ export declare function executeMiddleware(options: ExecuteMiddlewareOptions): Promise<MiddlewareResult>;
76
+ export declare function runGeneratedMiddleware(options: RunGeneratedMiddlewareOptions): Promise<MiddlewareResult>;
77
+ //#endregion
@@ -1,12 +1,12 @@
1
1
  import path from "../deps/.pnpm/pathslash@0.1.0/deps/pathslash/dist/index.js";
2
+ import "../utils/protocol-headers.js";
3
+ import { shouldKeepMiddlewareHeader } from "../utils/middleware-request-headers.js";
4
+ import { normalizeHost } from "../config/request-context.js";
2
5
  import { normalizePathnameForRouteMatchStrict } from "../routing/utils.js";
3
6
  import { addBasePathToPathname, hasBasePath, removeTrailingSlash, stripBasePath } from "../utils/base-path.js";
4
7
  import { getRequestExecutionContext, runWithExecutionContext } from "../shims/request-context.js";
5
8
  import "./server-globals.js";
6
- import { normalizeHost } from "../config/request-context.js";
7
- import "../utils/protocol-headers.js";
8
9
  import { MIDDLEWARE_REWRITE_HEADER } from "./headers.js";
9
- import { shouldKeepMiddlewareHeader } from "../utils/middleware-request-headers.js";
10
10
  import { NextFetchEvent, NextRequest } from "../shims/server.js";
11
11
  import { normalizePath } from "./normalize-path.js";
12
12
  import { matchesMiddleware, matchesMiddlewarePathname } from "./middleware-matcher.js";
@@ -14,7 +14,23 @@ import { badRequestResponse, internalServerErrorResponse } from "./http-error-re
14
14
  import { isOpenRedirectShaped } from "./open-redirect.js";
15
15
  import { processMiddlewareHeaders } from "./request-pipeline.js";
16
16
  import { normalizeDefaultLocalePathname } from "./pages-i18n.js";
17
+ import { reportRequestError } from "./instrumentation.js";
18
+ import { isValidNavigationSignalError } from "../utils/navigation-signal.js";
19
+ import { frameworkTracer } from "./tracer.js";
17
20
  //#region src/server/middleware-runtime.ts
21
+ function reportProxyError(options, error) {
22
+ const url = new URL(options.request.url);
23
+ return reportRequestError(error, {
24
+ path: url.pathname + url.search,
25
+ method: options.request.method,
26
+ headers: Object.fromEntries(options.request.headers.entries())
27
+ }, {
28
+ routerKind: "Pages Router",
29
+ routePath: "/proxy",
30
+ routeType: "proxy",
31
+ revalidateReason: void 0
32
+ });
33
+ }
18
34
  function isMiddlewareHandler(value) {
19
35
  return typeof value === "function";
20
36
  }
@@ -202,14 +218,25 @@ async function executeMiddleware(options) {
202
218
  const fetchEvent = new NextFetchEvent({ page: removeTrailingSlash(matchPathname) });
203
219
  let response;
204
220
  try {
205
- response = await middlewareFn(nextRequest, fetchEvent);
221
+ response = await frameworkTracer.runWithDetachedContext(() => frameworkTracer.withPropagatedContext(options.request.headers, () => frameworkTracer.trace({
222
+ attributes: {
223
+ "http.method": options.request.method,
224
+ "http.target": nextRequest.nextUrl.pathname
225
+ },
226
+ name: `middleware ${options.request.method}`,
227
+ type: "Middleware.execute"
228
+ }, () => middlewareFn(nextRequest, fetchEvent))));
206
229
  } catch (e) {
230
+ const isDevelopmentNavigationSignal = process.env.NODE_ENV !== "production" && isValidNavigationSignalError(e);
231
+ if (isDevelopmentNavigationSignal && e instanceof Error) e.message = `Next.js navigation API is not allowed to be used in ${options.isProxy ? "Proxy" : "Middleware"}.`;
207
232
  console.error("[vinext] Middleware error:", e);
233
+ if (!isDevelopmentNavigationSignal) await reportProxyError(options, e);
208
234
  const waitUntilPromises = drainFetchEvent(fetchEvent);
209
235
  releaseMiddlewareRequestBody(nextRequest, waitUntilPromises);
236
+ const message = options.includeErrorDetails ? "Middleware Error: " + (e instanceof Error ? e.message : String(e)) : "Internal Server Error";
210
237
  return {
211
238
  continue: false,
212
- response: internalServerErrorResponse(options.includeErrorDetails ? "Middleware Error: " + (e instanceof Error ? e.message : String(e)) : "Internal Server Error"),
239
+ response: internalServerErrorResponse(message),
213
240
  waitUntilPromises
214
241
  };
215
242
  }
@@ -240,8 +267,10 @@ async function executeMiddleware(options) {
240
267
  if (loc.origin === new URL(options.request.url).origin) {
241
268
  const p = loc.pathname;
242
269
  let normalized = null;
243
- if (p !== "" && p !== "/") if (options.trailingSlash) normalized = p.endsWith("/") ? null : p + "/";
244
- else normalized = p.endsWith("/") ? p.slice(0, -1) : null;
270
+ if (p !== "" && p !== "/") {
271
+ if (options.trailingSlash) normalized = p.endsWith("/") ? null : p + "/";
272
+ else normalized = p.endsWith("/") ? p.slice(0, -1) : null;
273
+ }
245
274
  if (normalized !== null) {
246
275
  loc.pathname = normalized;
247
276
  normalizedLocation = relativizeLocation(loc.toString(), options.request.url);
@@ -1,7 +1,7 @@
1
1
  import { ValidFileMatcher } from "../routing/file-matcher.js";
2
2
  import { NextI18nConfig } from "../config/next-config.js";
3
- import { MiddlewareResult } from "./middleware-runtime.js";
4
3
  import { matchPattern, matchesMiddleware } from "./middleware-matcher.js";
4
+ import { MiddlewareResult } from "./middleware-runtime.js";
5
5
  import { ModuleRunner } from "vite/module-runner";
6
6
  //#region src/server/middleware.d.ts
7
7
  /**
@@ -13,7 +13,7 @@ import { ModuleRunner } from "vite/module-runner";
13
13
  * named export or a default export:
14
14
  * https://github.com/vercel/next.js/blob/canary/packages/next/src/build/templates/middleware.ts
15
15
  */
16
- declare function isProxyFile(filePath: string): boolean;
16
+ export declare function isProxyFile(filePath: string): boolean;
17
17
  /**
18
18
  * Find the proxy or middleware file at the selected app/pages convention level.
19
19
  * Checks for proxy.ts (Next.js 16) first, then falls back to middleware.ts.
@@ -31,7 +31,7 @@ declare function isProxyFile(filePath: string): boolean;
31
31
  * @see https://github.com/vercel/next.js/blob/canary/packages/next/src/build/index.ts
32
32
  * (search for "MIDDLEWARE_FILENAME" + "file convention is deprecated")
33
33
  */
34
- declare function findMiddlewareFile(root: string, fileMatcher: ValidFileMatcher, conventionDir?: string): string | null;
34
+ export declare function findMiddlewareFile(root: string, fileMatcher: ValidFileMatcher, conventionDir?: string): string | null;
35
35
  /**
36
36
  * Load and execute middleware for a given request.
37
37
  *
@@ -44,6 +44,6 @@ declare function findMiddlewareFile(root: string, fileMatcher: ValidFileMatcher,
44
44
  * @param request - The incoming Request object
45
45
  * @returns Middleware result describing what action to take
46
46
  */
47
- declare function runMiddleware(runner: ModuleRunner, middlewarePath: string, request: Request, i18nConfig?: NextI18nConfig | null, basePath?: string, trailingSlash?: boolean, isDataRequest?: boolean, normalizedPathname?: string): Promise<MiddlewareResult>;
47
+ export declare function runMiddleware(runner: ModuleRunner, middlewarePath: string, request: Request, i18nConfig?: NextI18nConfig | null, basePath?: string, trailingSlash?: boolean, isDataRequest?: boolean, normalizedPathname?: string): Promise<MiddlewareResult>;
48
48
  //#endregion
49
- export { findMiddlewareFile, isProxyFile, matchPattern, matchesMiddleware, runMiddleware };
49
+ export { matchPattern, matchesMiddleware };
@@ -0,0 +1,141 @@
1
+ import { CacheabilityRepresentation } from "./cacheability-manifest.js";
2
+ //#region src/server/multi-stage.d.ts
3
+ /** Whether a response-stage cache must reject a field it did not key itself by. */
4
+ export declare function hasUnsupportedResponseStageVary(headers: Headers, keyedRequestHeaders?: Iterable<string>): boolean;
5
+ /**
6
+ * Transport-neutral cache intent passed from the request stage to an
7
+ * adapter-owned response-stage transport.
8
+ */
9
+ export type VinextResponseStageDispatchOptions = {
10
+ /**
11
+ * Whether the adapter may use its shared response transport. Bypassed work
12
+ * still uses the same response stage, but must not pass through a host cache.
13
+ * Without a `cacheIdentity`, a shared transport must partition its baseline
14
+ * lookup by the request method, complete request URL (including scheme,
15
+ * authority, exact path, and query), plus the complete serialized stage
16
+ * props; each can affect handler selection or response bytes.
17
+ * Framework-managed selectors are already represented by that URL and the
18
+ * serialized props. A verbatim-capable transport must partition stored
19
+ * variants by every named `Vary` request header and never store `Vary: *`.
20
+ * Other transports must reject application-defined variance themselves or
21
+ * opt into completed-response admission and honor core's `no-store` policy.
22
+ */
23
+ cache: "shared" | "bypass";
24
+ /**
25
+ * Query-free identity of a shared App page GET/HEAD dispatch, supplied only
26
+ * to adapters that declare `responseStageCacheIdentity: "query-free"` and
27
+ * require completed-response admission. A transport given one partitions
28
+ * its baseline lookup and stored entry by this request's method and complete
29
+ * URL plus these complete serialized props, instead of the dispatched request
30
+ * and props, and replays this identity for background regeneration.
31
+ * Everything else in the contract above still applies.
32
+ *
33
+ * The identity drops the user query from the URL and `resolvedUrl`, keeping
34
+ * framework representation selectors: the `.rsc` suffix, the render mode,
35
+ * and, for RSC requests only, the one validated `_rsc` value. That is safe only because completed-response
36
+ * admission refuses a cacheable App page response unless its render proved
37
+ * it never read `searchParams`. The dispatched request still carries the real
38
+ * query for the render itself. Core omits the identity when a `next.config`
39
+ * public cache policy applies (cached per full URL, as Next.js CDN caching
40
+ * is), and for bypassed, interception, and mounted-slot dispatches.
41
+ */
42
+ cacheIdentity?: {
43
+ props: unknown;
44
+ request: Request;
45
+ };
46
+ };
47
+ export type VinextCacheabilityProbeMode = "probe" | "identity";
48
+ /** A durably replayable invocation of a transformed public `"use cache"` function. */
49
+ export type VinextCacheFunctionInvocation = {
50
+ encryptedArgs: string;
51
+ referenceId: string;
52
+ rootParams: Record<string, string | string[]>;
53
+ softTags: string[];
54
+ };
55
+ /** Trusted route/admission metadata transported independently of user headers. */
56
+ export type VinextResponseStageCacheability = {
57
+ /** Safe positive next.config policy needed for CDN-level Next.js parity. */
58
+ policyHeaders: Array<[string, string]> | null;
59
+ /** Present only after the request stage authenticates an internal probe. */
60
+ probeMode: VinextCacheabilityProbeMode | null;
61
+ /** Resolved route pathname used for manifest authorization after outer rewrites. */
62
+ resolvedRoutePathname: string;
63
+ /** Trusted representation retained when request-stage normalization changes the URL shape. */
64
+ representation?: CacheabilityRepresentation;
65
+ };
66
+ /**
67
+ * Adapter-owned transport from the request stage to the response stage.
68
+ *
69
+ * The props and options are serializable stage metadata. An adapter may carry
70
+ * them over in-process dispatch, platform RPC, a service binding, or HTTP. If
71
+ * it caches shared dispatches, its baseline identity must include the request
72
+ * method, complete request URL (including scheme, authority, exact path, and
73
+ * query), plus the complete serialized props, or the equivalent fields of
74
+ * `options.cacheIdentity` when core supplies one. An adapter that advertises
75
+ * `responseVary: "verbatim"` must also partition stored variants by every
76
+ * request header named in the returned `Vary` fields and reject `Vary: *` from
77
+ * storage. Adapters without that capability must reject application-defined
78
+ * variance themselves, or opt into completed-response admission and honor
79
+ * core's resulting `no-store` policy.
80
+ *
81
+ * The transport is also the trust boundary for this metadata. It must
82
+ * authenticate both directions and integrity-protect the serialized props,
83
+ * dispatch options, and response so public callers cannot forge trusted route
84
+ * or cache-admission state. Platform bindings can provide that boundary
85
+ * directly; HTTP transports need equivalent authenticated, confidential
86
+ * transport for both request-stage and response-stage endpoints.
87
+ */
88
+ export type VinextResponseStageTransport<Props = unknown> = (request: Request, props: Props, options: VinextResponseStageDispatchOptions) => Promise<Response>;
89
+ /** Adapter-selected server output for an adapter-owned staged runtime. */
90
+ export type VinextMultiStageOutput = {
91
+ /** Adapter-owned module that becomes the deployment entry when selected. */
92
+ entry: string;
93
+ /** Complete adapter-owned host entries for independently deployable stages. */
94
+ entries?: {
95
+ request: string;
96
+ response: string;
97
+ };
98
+ type: "multi-stage";
99
+ /** Decide whether the current build host supports this adapter's transport. */
100
+ matchesBuild?: (build: {
101
+ plugins: readonly {
102
+ name?: string;
103
+ }[];
104
+ }) => boolean;
105
+ /** Decorate a host entry without exposing transport-specific exports to core. */
106
+ transformHostEntry?: (module: {
107
+ code: string;
108
+ id: string;
109
+ }) => string | null;
110
+ /**
111
+ * Let the adapter finalize host-owned deployment output after it is written.
112
+ * Core supplies paths only; the adapter owns every platform-specific detail.
113
+ */
114
+ finalizeBuildOutput?: (output: {
115
+ outDir: string;
116
+ root: string;
117
+ isPrimaryServerOutput: boolean;
118
+ }) => Promise<void> | void;
119
+ };
120
+ /** Platform-neutral request-stage handler exposed to deployment adapters. */
121
+ export type VinextRequestStageHandler<Env = unknown, Context = unknown> = (request: Request, env: Env, context: Context, dispatchResponseStage: VinextResponseStageTransport) => Promise<Response>;
122
+ /** Adapter-owned reverse transport from a response stage back through request routing. */
123
+ export type VinextRequestStageTransport = (request: Request) => Promise<Response>;
124
+ /** Adapter-supplied host capability for serving deployment assets. */
125
+ export type VinextAssetFetcher = {
126
+ fetch(request: Request): Promise<Response> | Response;
127
+ };
128
+ /** Optional host capabilities consumed by a platform-neutral request stage. */
129
+ export type VinextRequestStageContext = {
130
+ assets?: VinextAssetFetcher;
131
+ };
132
+ /** Platform-neutral response-stage handler exposed to deployment adapters. */
133
+ export type VinextResponseStageHandler<Env = unknown, Context = unknown> = (request: Request, env: Env, context: Context, props: unknown, dispatchRequestStage: VinextRequestStageTransport, options: VinextResponseStageDispatchOptions) => Promise<Response>;
134
+ export type VinextRequestStageModule<Env = unknown, Context = unknown> = {
135
+ handleRequestStage: VinextRequestStageHandler<Env, Context>;
136
+ };
137
+ export type VinextResponseStageModule<Env = unknown, Context = unknown> = {
138
+ handleResponseStage: VinextResponseStageHandler<Env, Context>;
139
+ invokeCacheFunction?: (invocation: VinextCacheFunctionInvocation, env: Env, context: Context, dispatchRequestStage: VinextRequestStageTransport) => Promise<void>;
140
+ };
141
+ //#endregion
@@ -0,0 +1,8 @@
1
+ //#region src/server/multi-stage.ts
2
+ /** Whether a response-stage cache must reject a field it did not key itself by. */
3
+ function hasUnsupportedResponseStageVary(headers, keyedRequestHeaders = []) {
4
+ const keyedFields = new Set([...keyedRequestHeaders].map((name) => name.trim().toLowerCase()).filter(Boolean));
5
+ return (headers.get("Vary") ?? "").split(",").map((name) => name.trim().toLowerCase()).filter(Boolean).some((name) => name === "*" || !keyedFields.has(name));
6
+ }
7
+ //#endregion
8
+ export { hasUnsupportedResponseStageVary };
@@ -5,7 +5,7 @@ import "./app-elements.js";
5
5
  import { NavigationTrace, NavigationTraceFields } from "./navigation-trace.js";
6
6
  import { OperationLane, OperationToken } from "./operation-token.js";
7
7
  //#region src/server/navigation-planner.d.ts
8
- type RouteSnapshot = {
8
+ export type RouteSnapshot = {
9
9
  interception: InterceptionSnapshot | null;
10
10
  interceptionContext: string | null;
11
11
  routeId: string;
@@ -16,27 +16,27 @@ type RouteSnapshot = {
16
16
  matchedUrl: string;
17
17
  slotBindings: readonly ParallelSlotBindingSnapshot[];
18
18
  };
19
- type InterceptionSnapshot = {
19
+ export type InterceptionSnapshot = {
20
20
  sourceMatchedUrl: string;
21
21
  sourceRouteId: string;
22
22
  slotId: string;
23
23
  targetMatchedUrl: string;
24
24
  targetRouteId: string;
25
25
  };
26
- type MountedParallelSlotSnapshot = {
26
+ export type MountedParallelSlotSnapshot = {
27
27
  slotId: string;
28
28
  ownerLayoutId: string | null;
29
29
  };
30
- type ParallelSlotBindingSnapshot = AppElementsSlotBinding;
31
- type NavigationPlannerState = {
30
+ export type ParallelSlotBindingSnapshot = AppElementsSlotBinding;
31
+ export type NavigationPlannerState = {
32
32
  nextOperationToken: OperationToken;
33
33
  traceFields?: NavigationTraceFields;
34
34
  visibleCommitVersion: number;
35
35
  visibleSnapshot: RouteSnapshot;
36
36
  };
37
- type RefreshScope = "visible";
38
- type TraverseDirection = "back" | "forward" | "unknown";
39
- type NavigationEvent = {
37
+ export type RefreshScope = "visible";
38
+ export type TraverseDirection = "back" | "forward" | "unknown";
39
+ export type NavigationEvent = {
40
40
  kind: "navigate";
41
41
  href: string;
42
42
  mode: "push" | "replace";
@@ -77,8 +77,8 @@ type CommitProposal = {
77
77
  };
78
78
  type NoCommitReason = "prefetchOnly";
79
79
  type HardNavigationReason = "cacheProofRejected" | "cacheReuseTokenRejected" | "interceptionProofRejected" | "rootBoundaryChanged";
80
- type RootBoundaryTransition = "currentRootBoundary" | "rootBoundaryChanged" | "rootBoundaryUnknown";
81
- type NavigationDecision = {
80
+ export type RootBoundaryTransition = "currentRootBoundary" | "rootBoundaryChanged" | "rootBoundaryUnknown";
81
+ export type NavigationDecision = {
82
82
  kind: "requestWork";
83
83
  token: OperationToken;
84
84
  work: RequestedWork;
@@ -100,14 +100,14 @@ type NavigationDecision = {
100
100
  reason: HardNavigationReason;
101
101
  trace: NavigationTrace;
102
102
  };
103
- type FlightResult = {
103
+ export type FlightResult = {
104
104
  cacheEntryReuseProof?: CacheEntryReuseProof;
105
105
  href: string;
106
106
  restoredHistorySnapshot?: boolean;
107
107
  targetSnapshot: RouteSnapshot;
108
108
  };
109
109
  type RscFetchResultSource = "cached" | "live";
110
- type RscFetchResultFacts = {
110
+ export type RscFetchResultFacts = {
111
111
  source: RscFetchResultSource;
112
112
  currentHref: string;
113
113
  origin: string;
@@ -130,7 +130,7 @@ type RscRedirectFollow = {
130
130
  redirectDepth: number;
131
131
  };
132
132
  type RscFetchResultHardNavReason = "invalidRscPayload" | "rscCompatibilityMismatch" | "externalRedirectTarget" | "redirectDepthExhausted" | "streamedRedirectLoop";
133
- type RscFetchResultDecision = {
133
+ export type RscFetchResultDecision = {
134
134
  kind: "proceedToCommit";
135
135
  discardBody: false;
136
136
  trace: NavigationTrace;
@@ -147,7 +147,7 @@ type RscFetchResultDecision = {
147
147
  reason: RscFetchResultHardNavReason;
148
148
  trace: NavigationTrace;
149
149
  };
150
- type EarlyNavigationIntentFacts = {
150
+ export type EarlyNavigationIntentFacts = {
151
151
  basePath: string;
152
152
  currentUrlSpace: "appRelativeSnapshot" | "browser";
153
153
  currentHref: string;
@@ -155,7 +155,7 @@ type EarlyNavigationIntentFacts = {
155
155
  scroll: boolean;
156
156
  targetHref: string;
157
157
  };
158
- type EarlyNavigationIntentDecision = {
158
+ export type EarlyNavigationIntentDecision = {
159
159
  kind: "sameDocumentScroll";
160
160
  hash: string;
161
161
  mode: "push" | "replace";
@@ -167,7 +167,7 @@ type EarlyNavigationIntentDecision = {
167
167
  trace: NavigationTrace;
168
168
  };
169
169
  type NavigationReuseNavigationKind = "navigate" | "refresh" | "traverse";
170
- type VisitedResponseCacheCandidateFacts = {
170
+ export type VisitedResponseCacheCandidateFacts = {
171
171
  candidate: "missing";
172
172
  navigationKind: NavigationReuseNavigationKind;
173
173
  } | {
@@ -195,7 +195,7 @@ type OptimisticRouteShellCandidateAvailability = {
195
195
  status: "unavailable";
196
196
  reason: "routeManifestMissing";
197
197
  };
198
- type NavigationReuseFacts = {
198
+ export type NavigationReuseFacts = {
199
199
  bypassNavigationCache: boolean;
200
200
  navigationKind: NavigationReuseNavigationKind;
201
201
  optimisticRouteShell: OptimisticRouteShellCandidateAvailability;
@@ -204,7 +204,7 @@ type NavigationReuseFacts = {
204
204
  visitedResponse: NavigationReuseCandidateAvailability;
205
205
  };
206
206
  type FreshFetchReason = "cacheBypassed" | "cacheMiss" | "refresh" | "routeManifestMissing";
207
- type NavigationReuseDecision = {
207
+ export type NavigationReuseDecision = {
208
208
  kind: "reuseVisitedResponse";
209
209
  trace: NavigationTrace;
210
210
  } | {
@@ -229,7 +229,7 @@ type NavigationPrefetchProbeDecision = {
229
229
  kind: "skip";
230
230
  reason: "cacheBypassed" | "refresh" | "visitedResponseAvailable";
231
231
  };
232
- type NavigationPlannerInput = {
232
+ export type NavigationPlannerInput = {
233
233
  routeManifest: RouteManifest | null;
234
234
  state: NavigationPlannerState;
235
235
  event: NavigationEvent;
@@ -256,13 +256,13 @@ declare function resolveCurrentRootBoundaryElementPersistence(currentSnapshot: R
256
256
  *
257
257
  * Wire absence and UNMATCHED_SLOT markers are not semantic proof.
258
258
  */
259
- declare function resolveDefaultOrUnmatchedSlotPersistenceForLayouts(options: {
259
+ export declare function resolveDefaultOrUnmatchedSlotPersistenceForLayouts(options: {
260
260
  currentSlotBindings: readonly ParallelSlotBindingSnapshot[];
261
261
  preservedLayoutIds: readonly string[];
262
262
  targetSlotBindings: readonly ParallelSlotBindingSnapshot[];
263
263
  }): readonly string[];
264
264
  declare function planNavigation(input: NavigationPlannerInput): NavigationDecision;
265
- type ServerActionResultFacts = {
265
+ export type ServerActionResultFacts = {
266
266
  actionRedirectHref: string | null;
267
267
  actionRedirectType: "push" | "replace";
268
268
  clientCompatibilityId: string | null;
@@ -272,7 +272,7 @@ type ServerActionResultFacts = {
272
272
  origin: string;
273
273
  responseUrl: string | null;
274
274
  };
275
- type ServerActionResultDecision = {
275
+ export type ServerActionResultDecision = {
276
276
  kind: "proceed";
277
277
  trace: NavigationTrace;
278
278
  } | {
@@ -283,10 +283,10 @@ type ServerActionResultDecision = {
283
283
  reason: "serverActionRedirectCompatibilityMismatch" | "serverActionRscCompatibilityMismatch";
284
284
  trace: NavigationTrace;
285
285
  };
286
- type RscNavigationErrorFacts = {
286
+ export type RscNavigationErrorFacts = {
287
287
  currentHref: string;
288
288
  };
289
- type RscNavigationErrorDecision = {
289
+ export type RscNavigationErrorDecision = {
290
290
  kind: "hardNavigate";
291
291
  url: string;
292
292
  reason: "rscNavigationError";
@@ -294,7 +294,7 @@ type RscNavigationErrorDecision = {
294
294
  };
295
295
  declare function classifyServerActionResult(facts: ServerActionResultFacts): ServerActionResultDecision;
296
296
  declare function classifyRscNavigationError(facts: RscNavigationErrorFacts): RscNavigationErrorDecision;
297
- declare const navigationPlanner: {
297
+ export declare const navigationPlanner: {
298
298
  classifyEarlyNavigationIntent: typeof classifyEarlyNavigationIntent;
299
299
  classifyNavigationPrefetchProbe: typeof classifyNavigationPrefetchProbe;
300
300
  classifyNavigationReuse: typeof classifyNavigationReuse;
@@ -309,4 +309,4 @@ declare const navigationPlanner: {
309
309
  resolveSameLayoutAncestorPersistence: typeof resolveSameLayoutAncestorPersistence;
310
310
  };
311
311
  //#endregion
312
- export { EarlyNavigationIntentDecision, EarlyNavigationIntentFacts, FlightResult, InterceptionSnapshot, MountedParallelSlotSnapshot, NavigationDecision, NavigationEvent, NavigationPlannerInput, NavigationPlannerState, NavigationReuseDecision, NavigationReuseFacts, type OperationLane, type OperationToken, ParallelSlotBindingSnapshot, RefreshScope, RootBoundaryTransition, RouteSnapshot, RscFetchResultDecision, RscFetchResultFacts, RscNavigationErrorDecision, RscNavigationErrorFacts, ServerActionResultDecision, ServerActionResultFacts, TraverseDirection, VisitedResponseCacheCandidateFacts, navigationPlanner, resolveDefaultOrUnmatchedSlotPersistenceForLayouts };
312
+ export type { OperationLane, OperationToken };