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
@@ -0,0 +1,125 @@
1
+ import { isPromiseLike } from "../utils/promise.js";
2
+ //#region src/server/framework-tracer.ts
3
+ function resolveDescriptor(descriptor) {
4
+ const name = descriptor.name ?? descriptor.type;
5
+ const attributes = {
6
+ "next.span_category": "nextjs",
7
+ "next.span_name": name,
8
+ "next.span_type": descriptor.type
9
+ };
10
+ for (const [key, value] of Object.entries(descriptor.attributes ?? {})) if (value !== void 0) attributes[key] = value;
11
+ return {
12
+ attributes,
13
+ kind: descriptor.kind ?? "internal",
14
+ name,
15
+ type: descriptor.type
16
+ };
17
+ }
18
+ function errorType(error) {
19
+ if (error instanceof Error) return error.name;
20
+ if (error && typeof error === "object") {
21
+ const name = error.constructor?.name;
22
+ if (typeof name === "string" && name) return name;
23
+ }
24
+ return typeof error;
25
+ }
26
+ function createCompositeSpan(spans) {
27
+ return {
28
+ recordException(error) {
29
+ for (const span of spans) span.recordException?.(error);
30
+ },
31
+ setAttribute(key, value) {
32
+ if (value === void 0) return;
33
+ for (const span of spans) span.setAttribute(key, value);
34
+ },
35
+ setAttributes(attributes) {
36
+ for (const [key, value] of Object.entries(attributes)) {
37
+ if (value === void 0) continue;
38
+ for (const span of spans) span.setAttribute(key, value);
39
+ }
40
+ },
41
+ setErrorStatus(message) {
42
+ for (const span of spans) span.setErrorStatus?.(message);
43
+ },
44
+ updateName(name) {
45
+ for (const span of spans) {
46
+ span.updateName?.(name);
47
+ span.setAttribute("next.span_name", name);
48
+ }
49
+ }
50
+ };
51
+ }
52
+ function recordFrameworkSpanError(span, error) {
53
+ span.recordException(error);
54
+ span.setAttribute("error.type", errorType(error));
55
+ span.setErrorStatus(error instanceof Error ? error.message : void 0);
56
+ }
57
+ function createFrameworkTracer(integrations) {
58
+ return {
59
+ captureActiveContext() {
60
+ const snapshots = integrations.flatMap((integration) => {
61
+ const snapshot = integration.captureActiveContext?.();
62
+ return snapshot ? [snapshot] : [];
63
+ });
64
+ return (callback) => {
65
+ const enter = (index) => {
66
+ const snapshot = snapshots[index];
67
+ return snapshot ? snapshot(() => enter(index + 1)) : callback();
68
+ };
69
+ return enter(0);
70
+ };
71
+ },
72
+ getActiveScopeSpan() {
73
+ const spans = integrations.flatMap((integration) => {
74
+ const span = integration.getActiveSpan?.();
75
+ return span ? [span] : [];
76
+ });
77
+ return spans.length ? createCompositeSpan(spans) : void 0;
78
+ },
79
+ runWithDetachedContext(callback) {
80
+ const enter = (index) => {
81
+ const integration = integrations[index];
82
+ if (!integration) return callback();
83
+ if (!integration.runWithDetachedContext) return enter(index + 1);
84
+ return integration.runWithDetachedContext(() => enter(index + 1));
85
+ };
86
+ return enter(0);
87
+ },
88
+ trace(descriptor, callback) {
89
+ const resolved = resolveDescriptor(descriptor);
90
+ const backendSpans = [];
91
+ const recordErrors = descriptor.recordErrors !== false;
92
+ const enter = (index) => {
93
+ const integration = integrations[index];
94
+ if (integration) return integration.enterSpan(resolved, (span) => {
95
+ backendSpans.push(span);
96
+ return enter(index + 1);
97
+ });
98
+ const span = createCompositeSpan(backendSpans);
99
+ try {
100
+ const result = callback(span);
101
+ if (!isPromiseLike(result)) return result;
102
+ return Promise.resolve(result).catch((error) => {
103
+ if (recordErrors) recordFrameworkSpanError(span, error);
104
+ throw error;
105
+ });
106
+ } catch (error) {
107
+ if (recordErrors) recordFrameworkSpanError(span, error);
108
+ throw error;
109
+ }
110
+ };
111
+ return enter(0);
112
+ },
113
+ withPropagatedContext(carrier, callback) {
114
+ const enter = (index) => {
115
+ const integration = integrations[index];
116
+ if (!integration) return callback();
117
+ if (!integration.withPropagatedContext) return enter(index + 1);
118
+ return integration.withPropagatedContext(carrier, () => enter(index + 1));
119
+ };
120
+ return enter(0);
121
+ }
122
+ };
123
+ }
124
+ //#endregion
125
+ export { createFrameworkTracer, recordFrameworkSpanError };
@@ -0,0 +1,11 @@
1
+ //#region src/server/fully-buffered-response.d.ts
2
+ /**
3
+ * Mark a response whose body vinext constructed from a fully in-memory string
4
+ * or byte array, as opposed to a body handed back by user code, which could
5
+ * still be producing. With no producer left, no `after()` call can originate
6
+ * from this body.
7
+ */
8
+ export declare function markFullyBufferedBody(response: Response): Response;
9
+ export declare function isFullyBufferedBody(response: Response): boolean;
10
+ export declare function preserveFullyBufferedBodyMetadata(source: Response, target: Response): Response;
11
+ //#endregion
@@ -0,0 +1,19 @@
1
+ //#region src/server/fully-buffered-response.ts
2
+ /**
3
+ * Mark a response whose body vinext constructed from a fully in-memory string
4
+ * or byte array, as opposed to a body handed back by user code, which could
5
+ * still be producing. With no producer left, no `after()` call can originate
6
+ * from this body.
7
+ */
8
+ function markFullyBufferedBody(response) {
9
+ response.__vinextFullyBufferedBody = true;
10
+ return response;
11
+ }
12
+ function isFullyBufferedBody(response) {
13
+ return response.__vinextFullyBufferedBody === true;
14
+ }
15
+ function preserveFullyBufferedBodyMetadata(source, target) {
16
+ return isFullyBufferedBody(source) ? markFullyBufferedBody(target) : target;
17
+ }
18
+ //#endregion
19
+ export { isFullyBufferedBody, markFullyBufferedBody, preserveFullyBufferedBodyMetadata };
@@ -1,4 +1,5 @@
1
1
  import { MIDDLEWARE_HEADER_PREFIX, MIDDLEWARE_SET_COOKIE_HEADER, MIDDLEWARE_SKIP_HEADER, VINEXT_MW_CTX_HEADER, VINEXT_PRERENDER_ROUTE_PARAMS_HEADER, VINEXT_PRERENDER_SECRET_HEADER, VINEXT_PRERENDER_SPECULATIVE_HEADER, VINEXT_REVALIDATE_HOST_HEADER } from "../utils/protocol-headers.js";
2
+ import { NEXT_ROUTER_PREFETCH_HEADER, NEXT_ROUTER_SEGMENT_PREFETCH_HEADER, NEXT_ROUTER_STATE_TREE_HEADER, NEXT_URL_HEADER, RSC_HEADER, VINEXT_INTERCEPTION_CONTEXT_HEADER, VINEXT_INTERCEPTION_ID_HEADER, VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_RSC_RENDER_MODE_HEADER, VINEXT_RSC_STATE_FINGERPRINT_HEADER, VINEXT_RSC_VARY_HEADER, isVinextRscVaryField } from "./app-rsc-vary.js";
2
3
  //#region src/server/headers.d.ts
3
4
  /**
4
5
  * Internal HTTP header name constants used throughout vinext.
@@ -11,51 +12,62 @@ import { MIDDLEWARE_HEADER_PREFIX, MIDDLEWARE_SET_COOKIE_HEADER, MIDDLEWARE_SKIP
11
12
  * omitted — only vinext-internal and Next.js-protocol headers belong here.
12
13
  */
13
14
  /** ISR / page cache state indicator: "HIT" | "MISS" | "STALE" | "STATIC". */
14
- declare const VINEXT_CACHE_HEADER = "X-Vinext-Cache";
15
+ export declare const VINEXT_CACHE_HEADER = "X-Vinext-Cache";
15
16
  /** Next.js public ISR / page cache state indicator. */
16
- declare const NEXTJS_CACHE_HEADER = "x-nextjs-cache";
17
+ export declare const NEXTJS_CACHE_HEADER = "x-nextjs-cache";
17
18
  /** Next.js cache-tag metadata carried by prerendered App Router responses. */
18
- declare const NEXT_CACHE_TAGS_HEADER = "x-next-cache-tags";
19
- /** Static file signal — value is URL-encoded pathname. */
20
- declare const VINEXT_STATIC_FILE_HEADER = "x-vinext-static-file";
19
+ export declare const NEXT_CACHE_TAGS_HEADER = "x-next-cache-tags";
21
20
  /** Timing metrics: `handlerStart,compileMs,renderMs`. */
22
- declare const VINEXT_TIMING_HEADER = "x-vinext-timing";
21
+ export declare const VINEXT_TIMING_HEADER = "x-vinext-timing";
22
+ /** Matched route returned from an independently hosted response stage. */
23
+ export declare const VINEXT_TRACE_ROUTE_HEADER = "X-Vinext-Trace-Route";
24
+ /** Exception metadata returned from an independently hosted response stage. */
25
+ export declare const VINEXT_TRACE_ERROR_HEADER = "X-Vinext-Trace-Error";
26
+ /** Fully buffered response metadata returned from an independently hosted response stage. */
27
+ export declare const VINEXT_TRACE_BUFFERED_BODY_HEADER = "X-Vinext-Trace-Buffered-Body";
28
+ /** Expected Worker version asserted by vinext staged warmup requests. */
29
+ export declare const VINEXT_EXPECTED_WORKER_VERSION_HEADER = "X-Vinext-Expected-Worker-Version";
30
+ /** Authenticated staged-Worker request asking for a completed App Page classification. */
31
+ export declare const VINEXT_CACHEABILITY_PROBE_HEADER = "X-Vinext-Cacheability-Probe";
32
+ /** Trusted route expected by an authenticated staged cacheability probe. */
33
+ export declare const VINEXT_CACHEABILITY_PROBE_ROUTE_HEADER = "X-Vinext-Cacheability-Probe-Route";
34
+ /**
35
+ * Per-attempt cache buster used while a newly staged Worker version propagates.
36
+ * Authenticated probe requests remove it before middleware or route code runs.
37
+ */
38
+ export declare const VINEXT_CACHEABILITY_PROBE_QUERY_PARAM = "__vinext_cacheability_probe";
23
39
  /** Internal endpoint used to evaluate App Router generateStaticParams exports. */
24
- declare const VINEXT_PRERENDER_STATIC_PARAMS_PATH = "/__vinext/prerender/static-params";
40
+ export declare const VINEXT_PRERENDER_STATIC_PARAMS_PATH = "/__vinext/prerender/static-params";
25
41
  /** Internal endpoint used to evaluate Pages Router getStaticPaths exports. */
26
- declare const VINEXT_PRERENDER_PAGES_STATIC_PATHS_PATH = "/__vinext/prerender/pages-static-paths";
42
+ export declare const VINEXT_PRERENDER_PAGES_STATIC_PATHS_PATH = "/__vinext/prerender/pages-static-paths";
27
43
  /** Internal endpoint used to enumerate cached dynamic metadata route paths. */
28
- declare const VINEXT_PRERENDER_METADATA_ROUTES_PATH = "/__vinext/prerender/metadata-routes";
44
+ export declare const VINEXT_PRERENDER_METADATA_ROUTES_PATH = "/__vinext/prerender/metadata-routes";
45
+ /** Internal endpoint used to verify staged Worker version routing without rendering a route. */
46
+ export declare const VINEXT_PRERENDER_READINESS_PATH = "/__vinext/prerender/readiness";
47
+ /** Response marker proving the staged Worker readiness short-circuit handled the request. */
48
+ export declare const VINEXT_PRERENDER_READINESS_HEADER = "X-Vinext-Prerender-Readiness";
29
49
  /** TPR (Tailored Per-Request) revalidation interval in seconds. */
30
- declare const VINEXT_REVALIDATE_HEADER = "x-vinext-revalidate";
50
+ export declare const VINEXT_REVALIDATE_HEADER = "x-vinext-revalidate";
51
+ /** Actual Pages cache tag regenerated by an authenticated on-demand request. */
52
+ export declare const VINEXT_REVALIDATED_CACHE_TAG_HEADER = "x-vinext-revalidated-cache-tag";
31
53
  /** Marker on cached ISR entries indicating RSC payload (value "1"). */
32
- declare const VINEXT_RSC_MARKER_HEADER = "x-vinext-rsc";
54
+ export declare const VINEXT_RSC_MARKER_HEADER = "x-vinext-rsc";
33
55
  /** URL-encoded JSON route params carried on RSC responses. */
34
- declare const VINEXT_PARAMS_HEADER = "X-Vinext-Params";
35
- /** Deduplicated, sorted list of mounted layout slots for cache keying. */
36
- declare const VINEXT_MOUNTED_SLOTS_HEADER = "X-Vinext-Mounted-Slots";
56
+ export declare const VINEXT_PARAMS_HEADER = "X-Vinext-Params";
37
57
  /** Per-page dynamic stale time in seconds for App Router RSC responses. */
38
- declare const VINEXT_DYNAMIC_STALE_TIME_HEADER = "X-Vinext-Dynamic-Stale-Time";
58
+ export declare const VINEXT_DYNAMIC_STALE_TIME_HEADER = "X-Vinext-Dynamic-Stale-Time";
39
59
  /** Marks an RSC body carrying completion metadata after the Flight payload. */
40
- declare const VINEXT_RSC_COMPLETION_METADATA_HEADER = "X-Vinext-Rsc-Completion-Metadata";
60
+ export declare const VINEXT_RSC_COMPLETION_METADATA_HEADER = "X-Vinext-Rsc-Completion-Metadata";
41
61
  /** URL-encoded rendered path and search after middleware/config rewrites. */
42
- declare const VINEXT_RENDERED_PATH_AND_SEARCH_HEADER = "X-Vinext-Rendered-Path-And-Search";
62
+ export declare const VINEXT_RENDERED_PATH_AND_SEARCH_HEADER = "X-Vinext-Rendered-Path-And-Search";
43
63
  /** Prerender-only JSON side channel carrying request cacheLife metadata. */
44
- declare const VINEXT_PRERENDER_CACHE_LIFE_HEADER = "x-vinext-prerender-cache-life";
64
+ export declare const VINEXT_PRERENDER_CACHE_LIFE_HEADER = "x-vinext-prerender-cache-life";
45
65
  /** Marks a local prerender-server 500 that originated from a thrown render error. */
46
- declare const VINEXT_PRERENDER_RENDER_ERROR_HEADER = "x-vinext-prerender-render-error";
66
+ export declare const VINEXT_PRERENDER_RENDER_ERROR_HEADER = "x-vinext-prerender-render-error";
47
67
  /** Internal marker persisted only inside metadata-route APP_ROUTE cache values. */
48
- declare const VINEXT_METADATA_ROUTE_CACHE_HEADER = "x-vinext-metadata-route-cache";
49
- /** Route interception context for parallel/intercepting routes. */
50
- declare const VINEXT_INTERCEPTION_CONTEXT_HEADER = "X-Vinext-Interception-Context";
51
- /** Exact interception declaration requested by supplemental refreshes. */
52
- declare const VINEXT_INTERCEPTION_ID_HEADER = "X-Vinext-Interception-Id";
53
- /** RSC render mode (e.g. "navigation", "prefetch"). */
54
- declare const VINEXT_RSC_RENDER_MODE_HEADER = "X-Vinext-Rsc-Render-Mode";
55
- /** Stable visible-router-state variant for RSC cache busting. */
56
- declare const VINEXT_RSC_STATE_FINGERPRINT_HEADER = "X-Vinext-Rsc-State-Fingerprint";
68
+ export declare const VINEXT_METADATA_ROUTE_CACHE_HEADER = "x-vinext-metadata-route-cache";
57
69
  /** Disabled-by-default client hint describing already-held App Router payload entries. */
58
- declare const VINEXT_CLIENT_REUSE_MANIFEST_HEADER = "X-Vinext-Client-Reuse-Manifest";
70
+ export declare const VINEXT_CLIENT_REUSE_MANIFEST_HEADER = "X-Vinext-Client-Reuse-Manifest";
59
71
  /**
60
72
  * Side-channel signal that an RSC response (HTTP 200) encodes a `redirect()`
61
73
  * thrown during render. The header value is the redirect target (path-only
@@ -68,58 +80,52 @@ declare const VINEXT_CLIENT_REUSE_MANIFEST_HEADER = "X-Vinext-Client-Reuse-Manif
68
80
  * of a 307 for that, but the new 200 + flight format leaves it without a
69
81
  * cheap way to detect the redirect ahead of stream decode.
70
82
  */
71
- declare const VINEXT_RSC_REDIRECT_HEADER = "X-Vinext-Rsc-Redirect";
83
+ export declare const VINEXT_RSC_REDIRECT_HEADER = "X-Vinext-Rsc-Redirect";
72
84
  /** History update mode encoded by a streamed RSC redirect. */
73
- declare const VINEXT_RSC_REDIRECT_TYPE_HEADER = "X-Vinext-Rsc-Redirect-Type";
74
- /** Standard RSC header — value "1" indicates an RSC payload request. */
75
- declare const RSC_HEADER = "RSC";
85
+ export declare const VINEXT_RSC_REDIRECT_TYPE_HEADER = "X-Vinext-Rsc-Redirect-Type";
76
86
  /** Server Action invocation header (vinext/vite-rsc protocol). */
77
- declare const RSC_ACTION_HEADER = "x-rsc-action";
87
+ export declare const RSC_ACTION_HEADER = "x-rsc-action";
78
88
  /** Next.js Server Action invocation header (fallback for x-rsc-action). */
79
- declare const NEXT_ACTION_HEADER = "next-action";
89
+ export declare const NEXT_ACTION_HEADER = "next-action";
80
90
  /** Next.js action-not-found indicator (value "1"). */
81
- declare const NEXTJS_ACTION_NOT_FOUND_HEADER = "x-nextjs-action-not-found";
91
+ export declare const NEXTJS_ACTION_NOT_FOUND_HEADER = "x-nextjs-action-not-found";
82
92
  /**
83
93
  * Seconds the client router may reuse this response, resolved from the
84
94
  * render's `cacheLife`. Mirrors Next.js's `NEXT_ROUTER_STALE_TIME_HEADER`;
85
95
  * kept out of `Cache-Control`, which owns the shared-cache dimensions.
86
96
  */
87
- declare const NEXT_ROUTER_STALE_TIME_HEADER = "x-nextjs-stale-time";
97
+ export declare const NEXT_ROUTER_STALE_TIME_HEADER = "x-nextjs-stale-time";
88
98
  /**
89
99
  * Marks a streamed cacheable RSC response whose `cacheLife` claim had not
90
100
  * resolved at header time (value "1"). The client bounds such a response at
91
101
  * min(30s floor, dynamic bound) instead of its fallback TTL.
92
102
  */
93
- declare const VINEXT_STALE_TIME_PENDING_HEADER = "X-Vinext-Stale-Time-Pending";
103
+ export declare const VINEXT_STALE_TIME_PENDING_HEADER = "X-Vinext-Stale-Time-Pending";
94
104
  /**
95
105
  * Deployment ID header used by the Pages Router for deployment-skew
96
106
  * protection. Set on every `/_next/data/` response so the client can detect
97
107
  * when a new deployment has been rolled out and trigger a hard navigation.
98
108
  * Mirrors `NEXT_NAV_DEPLOYMENT_ID_HEADER` from Next.js `lib/constants.ts`.
99
109
  */
100
- declare const NEXTJS_DEPLOYMENT_ID_HEADER = "x-nextjs-deployment-id";
110
+ export declare const NEXTJS_DEPLOYMENT_ID_HEADER = "x-nextjs-deployment-id";
101
111
  /** Forwarded action marker — set when a request has already been forwarded between workers. */
102
- declare const ACTION_FORWARDED_HEADER = "x-action-forwarded";
112
+ export declare const ACTION_FORWARDED_HEADER = "x-action-forwarded";
103
113
  /** Indicates revalidation occurred — value is JSON kind (1 = path/tag, 2 = dynamic-only). */
104
- declare const ACTION_REVALIDATED_HEADER = "x-action-revalidated";
114
+ export declare const ACTION_REVALIDATED_HEADER = "x-action-revalidated";
105
115
  /** Redirect URL from a Server Action. */
106
- declare const ACTION_REDIRECT_HEADER = "x-action-redirect";
116
+ export declare const ACTION_REDIRECT_HEADER = "x-action-redirect";
107
117
  /** Redirect type from a Server Action ("push" | "replace"). */
108
- declare const ACTION_REDIRECT_TYPE_HEADER = "x-action-redirect-type";
118
+ export declare const ACTION_REDIRECT_TYPE_HEADER = "x-action-redirect-type";
109
119
  /** HTTP status for a Server Action redirect (e.g. "308"). */
110
- declare const ACTION_REDIRECT_STATUS_HEADER = "x-action-redirect-status";
120
+ export declare const ACTION_REDIRECT_STATUS_HEADER = "x-action-redirect-status";
111
121
  /** Signal from `NextResponse.next()` — value "1" means "continue to next handler". */
112
- declare const MIDDLEWARE_NEXT_HEADER = "x-middleware-next";
122
+ export declare const MIDDLEWARE_NEXT_HEADER = "x-middleware-next";
113
123
  /** Rewrite destination URL set by `NextResponse.rewrite()`. */
114
- declare const MIDDLEWARE_REWRITE_HEADER = "x-middleware-rewrite";
115
- declare const NEXT_ROUTER_STATE_TREE_HEADER = "Next-Router-State-Tree";
116
- declare const NEXT_ROUTER_PREFETCH_HEADER = "Next-Router-Prefetch";
117
- declare const NEXT_ROUTER_SEGMENT_PREFETCH_HEADER = "Next-Router-Segment-Prefetch";
118
- declare const NEXT_URL_HEADER = "Next-Url";
119
- declare const NEXT_REQUEST_ID_HEADER = "x-nextjs-request-id";
120
- declare const NEXT_HTML_REQUEST_ID_HEADER = "x-nextjs-html-request-id";
124
+ export declare const MIDDLEWARE_REWRITE_HEADER = "x-middleware-rewrite";
125
+ export declare const NEXT_REQUEST_ID_HEADER = "x-nextjs-request-id";
126
+ export declare const NEXT_HTML_REQUEST_ID_HEADER = "x-nextjs-html-request-id";
121
127
  /** Lowercase flight header variants used in middleware forwarding. */
122
- declare const FLIGHT_HEADERS: readonly string[];
128
+ export declare const FLIGHT_HEADERS: readonly string[];
123
129
  /**
124
130
  * Headers that must be stripped from external requests before any handler
125
131
  * processes them. An attacker could forge these to influence routing or
@@ -128,8 +134,8 @@ declare const FLIGHT_HEADERS: readonly string[];
128
134
  * Ported from Next.js `INTERNAL_HEADERS`:
129
135
  * https://github.com/vercel/next.js/blob/canary/packages/next/src/server/lib/server-ipc/utils.ts
130
136
  */
131
- declare const INTERNAL_HEADERS: string[];
137
+ export declare const INTERNAL_HEADERS: string[];
132
138
  /** Vinext-only internal headers stripped alongside Next.js protocol internals. */
133
- declare const VINEXT_INTERNAL_HEADERS: string[];
139
+ export declare const VINEXT_INTERNAL_HEADERS: string[];
134
140
  //#endregion
135
- export { ACTION_FORWARDED_HEADER, ACTION_REDIRECT_HEADER, ACTION_REDIRECT_STATUS_HEADER, ACTION_REDIRECT_TYPE_HEADER, ACTION_REVALIDATED_HEADER, FLIGHT_HEADERS, INTERNAL_HEADERS, MIDDLEWARE_HEADER_PREFIX, MIDDLEWARE_NEXT_HEADER, MIDDLEWARE_REWRITE_HEADER, MIDDLEWARE_SET_COOKIE_HEADER, MIDDLEWARE_SKIP_HEADER, NEXTJS_ACTION_NOT_FOUND_HEADER, NEXTJS_CACHE_HEADER, NEXTJS_DEPLOYMENT_ID_HEADER, NEXT_ACTION_HEADER, NEXT_CACHE_TAGS_HEADER, NEXT_HTML_REQUEST_ID_HEADER, NEXT_REQUEST_ID_HEADER, NEXT_ROUTER_PREFETCH_HEADER, NEXT_ROUTER_SEGMENT_PREFETCH_HEADER, NEXT_ROUTER_STALE_TIME_HEADER, NEXT_ROUTER_STATE_TREE_HEADER, NEXT_URL_HEADER, RSC_ACTION_HEADER, RSC_HEADER, VINEXT_CACHE_HEADER, VINEXT_CLIENT_REUSE_MANIFEST_HEADER, VINEXT_DYNAMIC_STALE_TIME_HEADER, VINEXT_INTERCEPTION_CONTEXT_HEADER, VINEXT_INTERCEPTION_ID_HEADER, VINEXT_INTERNAL_HEADERS, VINEXT_METADATA_ROUTE_CACHE_HEADER, VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_MW_CTX_HEADER, VINEXT_PARAMS_HEADER, VINEXT_PRERENDER_CACHE_LIFE_HEADER, VINEXT_PRERENDER_METADATA_ROUTES_PATH, VINEXT_PRERENDER_PAGES_STATIC_PATHS_PATH, VINEXT_PRERENDER_RENDER_ERROR_HEADER, VINEXT_PRERENDER_ROUTE_PARAMS_HEADER, VINEXT_PRERENDER_SECRET_HEADER, VINEXT_PRERENDER_SPECULATIVE_HEADER, VINEXT_PRERENDER_STATIC_PARAMS_PATH, VINEXT_RENDERED_PATH_AND_SEARCH_HEADER, VINEXT_REVALIDATE_HEADER, VINEXT_REVALIDATE_HOST_HEADER, VINEXT_RSC_COMPLETION_METADATA_HEADER, VINEXT_RSC_MARKER_HEADER, VINEXT_RSC_REDIRECT_HEADER, VINEXT_RSC_REDIRECT_TYPE_HEADER, VINEXT_RSC_RENDER_MODE_HEADER, VINEXT_RSC_STATE_FINGERPRINT_HEADER, VINEXT_STALE_TIME_PENDING_HEADER, VINEXT_STATIC_FILE_HEADER, VINEXT_TIMING_HEADER };
141
+ export { MIDDLEWARE_HEADER_PREFIX, MIDDLEWARE_SET_COOKIE_HEADER, MIDDLEWARE_SKIP_HEADER, NEXT_ROUTER_PREFETCH_HEADER, NEXT_ROUTER_SEGMENT_PREFETCH_HEADER, NEXT_ROUTER_STATE_TREE_HEADER, NEXT_URL_HEADER, RSC_HEADER, VINEXT_INTERCEPTION_CONTEXT_HEADER, VINEXT_INTERCEPTION_ID_HEADER, VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_MW_CTX_HEADER, VINEXT_PRERENDER_ROUTE_PARAMS_HEADER, VINEXT_PRERENDER_SECRET_HEADER, VINEXT_PRERENDER_SPECULATIVE_HEADER, VINEXT_REVALIDATE_HOST_HEADER, VINEXT_RSC_RENDER_MODE_HEADER, VINEXT_RSC_STATE_FINGERPRINT_HEADER, VINEXT_RSC_VARY_HEADER, isVinextRscVaryField };
@@ -1,4 +1,5 @@
1
1
  import { MIDDLEWARE_HEADER_PREFIX, MIDDLEWARE_OVERRIDE_HEADERS, MIDDLEWARE_SET_COOKIE_HEADER, MIDDLEWARE_SKIP_HEADER, VINEXT_MW_CTX_HEADER, VINEXT_PRERENDER_ROUTE_PARAMS_HEADER, VINEXT_PRERENDER_SECRET_HEADER, VINEXT_PRERENDER_SPECULATIVE_HEADER, VINEXT_REVALIDATE_HOST_HEADER } from "../utils/protocol-headers.js";
2
+ import { NEXT_ROUTER_PREFETCH_HEADER, NEXT_ROUTER_SEGMENT_PREFETCH_HEADER, NEXT_ROUTER_STATE_TREE_HEADER, NEXT_URL_HEADER, RSC_HEADER, VINEXT_INTERCEPTION_CONTEXT_HEADER, VINEXT_INTERCEPTION_ID_HEADER, VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_RSC_RENDER_MODE_HEADER, VINEXT_RSC_STATE_FINGERPRINT_HEADER, VINEXT_RSC_VARY_HEADER, isVinextRscVaryField } from "./app-rsc-vary.js";
2
3
  //#region src/server/headers.ts
3
4
  /**
4
5
  * Internal HTTP header name constants used throughout vinext.
@@ -16,24 +17,43 @@ const VINEXT_CACHE_HEADER = "X-Vinext-Cache";
16
17
  const NEXTJS_CACHE_HEADER = "x-nextjs-cache";
17
18
  /** Next.js cache-tag metadata carried by prerendered App Router responses. */
18
19
  const NEXT_CACHE_TAGS_HEADER = "x-next-cache-tags";
19
- /** Static file signal — value is URL-encoded pathname. */
20
- const VINEXT_STATIC_FILE_HEADER = "x-vinext-static-file";
21
20
  /** Timing metrics: `handlerStart,compileMs,renderMs`. */
22
21
  const VINEXT_TIMING_HEADER = "x-vinext-timing";
22
+ /** Matched route returned from an independently hosted response stage. */
23
+ const VINEXT_TRACE_ROUTE_HEADER = "X-Vinext-Trace-Route";
24
+ /** Exception metadata returned from an independently hosted response stage. */
25
+ const VINEXT_TRACE_ERROR_HEADER = "X-Vinext-Trace-Error";
26
+ /** Fully buffered response metadata returned from an independently hosted response stage. */
27
+ const VINEXT_TRACE_BUFFERED_BODY_HEADER = "X-Vinext-Trace-Buffered-Body";
28
+ /** Expected Worker version asserted by vinext staged warmup requests. */
29
+ const VINEXT_EXPECTED_WORKER_VERSION_HEADER = "X-Vinext-Expected-Worker-Version";
30
+ /** Authenticated staged-Worker request asking for a completed App Page classification. */
31
+ const VINEXT_CACHEABILITY_PROBE_HEADER = "X-Vinext-Cacheability-Probe";
32
+ /** Trusted route expected by an authenticated staged cacheability probe. */
33
+ const VINEXT_CACHEABILITY_PROBE_ROUTE_HEADER = "X-Vinext-Cacheability-Probe-Route";
34
+ /**
35
+ * Per-attempt cache buster used while a newly staged Worker version propagates.
36
+ * Authenticated probe requests remove it before middleware or route code runs.
37
+ */
38
+ const VINEXT_CACHEABILITY_PROBE_QUERY_PARAM = "__vinext_cacheability_probe";
23
39
  /** Internal endpoint used to evaluate App Router generateStaticParams exports. */
24
40
  const VINEXT_PRERENDER_STATIC_PARAMS_PATH = "/__vinext/prerender/static-params";
25
41
  /** Internal endpoint used to evaluate Pages Router getStaticPaths exports. */
26
42
  const VINEXT_PRERENDER_PAGES_STATIC_PATHS_PATH = "/__vinext/prerender/pages-static-paths";
27
43
  /** Internal endpoint used to enumerate cached dynamic metadata route paths. */
28
44
  const VINEXT_PRERENDER_METADATA_ROUTES_PATH = "/__vinext/prerender/metadata-routes";
45
+ /** Internal endpoint used to verify staged Worker version routing without rendering a route. */
46
+ const VINEXT_PRERENDER_READINESS_PATH = "/__vinext/prerender/readiness";
47
+ /** Response marker proving the staged Worker readiness short-circuit handled the request. */
48
+ const VINEXT_PRERENDER_READINESS_HEADER = "X-Vinext-Prerender-Readiness";
29
49
  /** TPR (Tailored Per-Request) revalidation interval in seconds. */
30
50
  const VINEXT_REVALIDATE_HEADER = "x-vinext-revalidate";
51
+ /** Actual Pages cache tag regenerated by an authenticated on-demand request. */
52
+ const VINEXT_REVALIDATED_CACHE_TAG_HEADER = "x-vinext-revalidated-cache-tag";
31
53
  /** Marker on cached ISR entries indicating RSC payload (value "1"). */
32
54
  const VINEXT_RSC_MARKER_HEADER = "x-vinext-rsc";
33
55
  /** URL-encoded JSON route params carried on RSC responses. */
34
56
  const VINEXT_PARAMS_HEADER = "X-Vinext-Params";
35
- /** Deduplicated, sorted list of mounted layout slots for cache keying. */
36
- const VINEXT_MOUNTED_SLOTS_HEADER = "X-Vinext-Mounted-Slots";
37
57
  /** Per-page dynamic stale time in seconds for App Router RSC responses. */
38
58
  const VINEXT_DYNAMIC_STALE_TIME_HEADER = "X-Vinext-Dynamic-Stale-Time";
39
59
  /** Marks an RSC body carrying completion metadata after the Flight payload. */
@@ -46,14 +66,6 @@ const VINEXT_PRERENDER_CACHE_LIFE_HEADER = "x-vinext-prerender-cache-life";
46
66
  const VINEXT_PRERENDER_RENDER_ERROR_HEADER = "x-vinext-prerender-render-error";
47
67
  /** Internal marker persisted only inside metadata-route APP_ROUTE cache values. */
48
68
  const VINEXT_METADATA_ROUTE_CACHE_HEADER = "x-vinext-metadata-route-cache";
49
- /** Route interception context for parallel/intercepting routes. */
50
- const VINEXT_INTERCEPTION_CONTEXT_HEADER = "X-Vinext-Interception-Context";
51
- /** Exact interception declaration requested by supplemental refreshes. */
52
- const VINEXT_INTERCEPTION_ID_HEADER = "X-Vinext-Interception-Id";
53
- /** RSC render mode (e.g. "navigation", "prefetch"). */
54
- const VINEXT_RSC_RENDER_MODE_HEADER = "X-Vinext-Rsc-Render-Mode";
55
- /** Stable visible-router-state variant for RSC cache busting. */
56
- const VINEXT_RSC_STATE_FINGERPRINT_HEADER = "X-Vinext-Rsc-State-Fingerprint";
57
69
  /** Disabled-by-default client hint describing already-held App Router payload entries. */
58
70
  const VINEXT_CLIENT_REUSE_MANIFEST_HEADER = "X-Vinext-Client-Reuse-Manifest";
59
71
  /**
@@ -71,8 +83,6 @@ const VINEXT_CLIENT_REUSE_MANIFEST_HEADER = "X-Vinext-Client-Reuse-Manifest";
71
83
  const VINEXT_RSC_REDIRECT_HEADER = "X-Vinext-Rsc-Redirect";
72
84
  /** History update mode encoded by a streamed RSC redirect. */
73
85
  const VINEXT_RSC_REDIRECT_TYPE_HEADER = "X-Vinext-Rsc-Redirect-Type";
74
- /** Standard RSC header — value "1" indicates an RSC payload request. */
75
- const RSC_HEADER = "RSC";
76
86
  /** Server Action invocation header (vinext/vite-rsc protocol). */
77
87
  const RSC_ACTION_HEADER = "x-rsc-action";
78
88
  /** Next.js Server Action invocation header (fallback for x-rsc-action). */
@@ -114,10 +124,6 @@ const MIDDLEWARE_NEXT_HEADER = "x-middleware-next";
114
124
  const MIDDLEWARE_REWRITE_HEADER = "x-middleware-rewrite";
115
125
  /** Redirect URL set by middleware. */
116
126
  const MIDDLEWARE_REDIRECT_HEADER = "x-middleware-redirect";
117
- const NEXT_ROUTER_STATE_TREE_HEADER = "Next-Router-State-Tree";
118
- const NEXT_ROUTER_PREFETCH_HEADER = "Next-Router-Prefetch";
119
- const NEXT_ROUTER_SEGMENT_PREFETCH_HEADER = "Next-Router-Segment-Prefetch";
120
- const NEXT_URL_HEADER = "Next-Url";
121
127
  const NEXT_REQUEST_ID_HEADER = "x-nextjs-request-id";
122
128
  const NEXT_HTML_REQUEST_ID_HEADER = "x-nextjs-html-request-id";
123
129
  /** Lowercase flight header variants used in middleware forwarding. */
@@ -152,10 +158,17 @@ const INTERNAL_HEADERS = [
152
158
  ];
153
159
  /** Vinext-only internal headers stripped alongside Next.js protocol internals. */
154
160
  const VINEXT_INTERNAL_HEADERS = [
161
+ VINEXT_CACHEABILITY_PROBE_HEADER.toLowerCase(),
162
+ VINEXT_CACHEABILITY_PROBE_ROUTE_HEADER.toLowerCase(),
163
+ VINEXT_EXPECTED_WORKER_VERSION_HEADER.toLowerCase(),
155
164
  VINEXT_PRERENDER_ROUTE_PARAMS_HEADER,
156
165
  VINEXT_PRERENDER_SPECULATIVE_HEADER,
157
166
  VINEXT_PRERENDER_CACHE_LIFE_HEADER,
158
- VINEXT_REVALIDATE_HOST_HEADER
167
+ VINEXT_REVALIDATE_HOST_HEADER,
168
+ VINEXT_REVALIDATED_CACHE_TAG_HEADER,
169
+ VINEXT_TRACE_ERROR_HEADER.toLowerCase(),
170
+ VINEXT_TRACE_BUFFERED_BODY_HEADER.toLowerCase(),
171
+ VINEXT_TRACE_ROUTE_HEADER.toLowerCase()
159
172
  ];
160
173
  //#endregion
161
- export { ACTION_FORWARDED_HEADER, ACTION_REDIRECT_HEADER, ACTION_REDIRECT_STATUS_HEADER, ACTION_REDIRECT_TYPE_HEADER, ACTION_REVALIDATED_HEADER, FLIGHT_HEADERS, INTERNAL_HEADERS, MIDDLEWARE_HEADER_PREFIX, MIDDLEWARE_NEXT_HEADER, MIDDLEWARE_REWRITE_HEADER, MIDDLEWARE_SET_COOKIE_HEADER, MIDDLEWARE_SKIP_HEADER, NEXTJS_ACTION_NOT_FOUND_HEADER, NEXTJS_CACHE_HEADER, NEXTJS_DEPLOYMENT_ID_HEADER, NEXT_ACTION_HEADER, NEXT_CACHE_TAGS_HEADER, NEXT_HTML_REQUEST_ID_HEADER, NEXT_REQUEST_ID_HEADER, NEXT_ROUTER_PREFETCH_HEADER, NEXT_ROUTER_SEGMENT_PREFETCH_HEADER, NEXT_ROUTER_STALE_TIME_HEADER, NEXT_ROUTER_STATE_TREE_HEADER, NEXT_URL_HEADER, RSC_ACTION_HEADER, RSC_HEADER, VINEXT_CACHE_HEADER, VINEXT_CLIENT_REUSE_MANIFEST_HEADER, VINEXT_DYNAMIC_STALE_TIME_HEADER, VINEXT_INTERCEPTION_CONTEXT_HEADER, VINEXT_INTERCEPTION_ID_HEADER, VINEXT_INTERNAL_HEADERS, VINEXT_METADATA_ROUTE_CACHE_HEADER, VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_MW_CTX_HEADER, VINEXT_PARAMS_HEADER, VINEXT_PRERENDER_CACHE_LIFE_HEADER, VINEXT_PRERENDER_METADATA_ROUTES_PATH, VINEXT_PRERENDER_PAGES_STATIC_PATHS_PATH, VINEXT_PRERENDER_RENDER_ERROR_HEADER, VINEXT_PRERENDER_ROUTE_PARAMS_HEADER, VINEXT_PRERENDER_SECRET_HEADER, VINEXT_PRERENDER_SPECULATIVE_HEADER, VINEXT_PRERENDER_STATIC_PARAMS_PATH, VINEXT_RENDERED_PATH_AND_SEARCH_HEADER, VINEXT_REVALIDATE_HEADER, VINEXT_REVALIDATE_HOST_HEADER, VINEXT_RSC_COMPLETION_METADATA_HEADER, VINEXT_RSC_MARKER_HEADER, VINEXT_RSC_REDIRECT_HEADER, VINEXT_RSC_REDIRECT_TYPE_HEADER, VINEXT_RSC_RENDER_MODE_HEADER, VINEXT_RSC_STATE_FINGERPRINT_HEADER, VINEXT_STALE_TIME_PENDING_HEADER, VINEXT_STATIC_FILE_HEADER, VINEXT_TIMING_HEADER };
174
+ export { ACTION_FORWARDED_HEADER, ACTION_REDIRECT_HEADER, ACTION_REDIRECT_STATUS_HEADER, ACTION_REDIRECT_TYPE_HEADER, ACTION_REVALIDATED_HEADER, FLIGHT_HEADERS, INTERNAL_HEADERS, MIDDLEWARE_HEADER_PREFIX, MIDDLEWARE_NEXT_HEADER, MIDDLEWARE_REWRITE_HEADER, MIDDLEWARE_SET_COOKIE_HEADER, MIDDLEWARE_SKIP_HEADER, NEXTJS_ACTION_NOT_FOUND_HEADER, NEXTJS_CACHE_HEADER, NEXTJS_DEPLOYMENT_ID_HEADER, NEXT_ACTION_HEADER, NEXT_CACHE_TAGS_HEADER, NEXT_HTML_REQUEST_ID_HEADER, NEXT_REQUEST_ID_HEADER, NEXT_ROUTER_PREFETCH_HEADER, NEXT_ROUTER_SEGMENT_PREFETCH_HEADER, NEXT_ROUTER_STALE_TIME_HEADER, NEXT_ROUTER_STATE_TREE_HEADER, NEXT_URL_HEADER, RSC_ACTION_HEADER, RSC_HEADER, VINEXT_CACHEABILITY_PROBE_HEADER, VINEXT_CACHEABILITY_PROBE_QUERY_PARAM, VINEXT_CACHEABILITY_PROBE_ROUTE_HEADER, VINEXT_CACHE_HEADER, VINEXT_CLIENT_REUSE_MANIFEST_HEADER, VINEXT_DYNAMIC_STALE_TIME_HEADER, VINEXT_EXPECTED_WORKER_VERSION_HEADER, VINEXT_INTERCEPTION_CONTEXT_HEADER, VINEXT_INTERCEPTION_ID_HEADER, VINEXT_INTERNAL_HEADERS, VINEXT_METADATA_ROUTE_CACHE_HEADER, VINEXT_MOUNTED_SLOTS_HEADER, VINEXT_MW_CTX_HEADER, VINEXT_PARAMS_HEADER, VINEXT_PRERENDER_CACHE_LIFE_HEADER, VINEXT_PRERENDER_METADATA_ROUTES_PATH, VINEXT_PRERENDER_PAGES_STATIC_PATHS_PATH, VINEXT_PRERENDER_READINESS_HEADER, VINEXT_PRERENDER_READINESS_PATH, VINEXT_PRERENDER_RENDER_ERROR_HEADER, VINEXT_PRERENDER_ROUTE_PARAMS_HEADER, VINEXT_PRERENDER_SECRET_HEADER, VINEXT_PRERENDER_SPECULATIVE_HEADER, VINEXT_PRERENDER_STATIC_PARAMS_PATH, VINEXT_RENDERED_PATH_AND_SEARCH_HEADER, VINEXT_REVALIDATED_CACHE_TAG_HEADER, VINEXT_REVALIDATE_HEADER, VINEXT_REVALIDATE_HOST_HEADER, VINEXT_RSC_COMPLETION_METADATA_HEADER, VINEXT_RSC_MARKER_HEADER, VINEXT_RSC_REDIRECT_HEADER, VINEXT_RSC_REDIRECT_TYPE_HEADER, VINEXT_RSC_RENDER_MODE_HEADER, VINEXT_RSC_STATE_FINGERPRINT_HEADER, VINEXT_RSC_VARY_HEADER, VINEXT_STALE_TIME_PENDING_HEADER, VINEXT_TIMING_HEADER, VINEXT_TRACE_BUFFERED_BODY_HEADER, VINEXT_TRACE_ERROR_HEADER, VINEXT_TRACE_ROUTE_HEADER, isVinextRscVaryField };
@@ -1,28 +1,7 @@
1
1
  //#region src/server/html.d.ts
2
- /**
3
- * HTML-safe JSON serialization for embedding data in <script> tags.
4
- *
5
- * JSON.stringify does NOT escape characters that are meaningful to the
6
- * HTML parser. If a JSON string value contains "</script>", the browser
7
- * closes the script tag early — anything after it executes as HTML.
8
- * This is a well-known stored XSS vector in SSR frameworks.
9
- *
10
- * Next.js mitigates this with htmlEscapeJsonString(). We do the same.
11
- *
12
- * Characters escaped:
13
- * < → \u003c (prevents </script> and <!-- breakout)
14
- * > → \u003e (prevents --> and other HTML close sequences)
15
- * & → \u0026 (prevents &lt; entity interpretation in XHTML)
16
- * \u2028 → \\u2028 (line separator — invalid in JS string literals pre-ES2019)
17
- * \u2029 → \\u2029 (paragraph separator — same)
18
- *
19
- * The result is valid JSON that is also safe to embed in any HTML context
20
- * without additional escaping.
21
- */
22
- declare function safeJsonStringify(data: unknown): string;
23
- declare function escapeHtmlAttr(value: string): string;
24
- declare function htmlTokenListContains(value: string | null, token: string): boolean;
25
- declare function createNonceAttribute(nonce?: string): string;
26
- declare function createInlineScriptTag(content: string, nonce?: string): string;
27
- //#endregion
28
- export { createInlineScriptTag, createNonceAttribute, escapeHtmlAttr, htmlTokenListContains, safeJsonStringify };
2
+ export declare function safeJsonStringify(data: unknown): string;
3
+ export declare function escapeHtmlAttr(value: string): string;
4
+ export declare function htmlTokenListContains(value: string | null, token: string): boolean;
5
+ export declare function createNonceAttribute(nonce?: string): string;
6
+ export declare function createInlineScriptTag(content: string, nonce?: string): string;
7
+ //#endregion
@@ -19,8 +19,23 @@
19
19
  * The result is valid JSON that is also safe to embed in any HTML context
20
20
  * without additional escaping.
21
21
  */
22
+ const HTML_UNSAFE_JSON_CHAR_RE = /[<>&\u2028\u2029]/;
23
+ const HTML_UNSAFE_JSON_CHARS_RE = /[<>&\u2028\u2029]/g;
24
+ const HTML_UNSAFE_JSON_ESCAPES = {
25
+ "<": "\\u003c",
26
+ ">": "\\u003e",
27
+ "&": "\\u0026",
28
+ "\u2028": "\\u2028",
29
+ "\u2029": "\\u2029"
30
+ };
31
+ function escapeHtmlUnsafeJsonChar(char) {
32
+ return HTML_UNSAFE_JSON_ESCAPES[char];
33
+ }
22
34
  function safeJsonStringify(data) {
23
- return JSON.stringify(data).replace(/</g, "\\u003c").replace(/>/g, "\\u003e").replace(/&/g, "\\u0026").replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029");
35
+ const json = JSON.stringify(data);
36
+ if (json === void 0) throw new TypeError("Cannot serialize value as JSON");
37
+ if (!HTML_UNSAFE_JSON_CHAR_RE.test(json)) return json;
38
+ return json.replace(HTML_UNSAFE_JSON_CHARS_RE, escapeHtmlUnsafeJsonChar);
24
39
  }
25
40
  function escapeHtmlAttr(value) {
26
41
  return value.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
@@ -5,9 +5,9 @@
5
5
  * RFC 9110 requires weak comparison for If-None-Match: a weak and strong
6
6
  * validator with the same opaque tag compare equal.
7
7
  */
8
- declare function matchesIfNoneMatch(ifNoneMatch: string | undefined, etag: string): boolean;
8
+ export declare function matchesIfNoneMatch(ifNoneMatch: string | undefined, etag: string): boolean;
9
9
  /** Test an If-Match field using Next.js's weak/strong-equivalent comparison. */
10
- declare function matchesIfMatch(ifMatch: string | undefined, etag: string | undefined): boolean;
10
+ export declare function matchesIfMatch(ifMatch: string | undefined, etag: string | undefined): boolean;
11
11
  type StaticConditionalHeaders = {
12
12
  cacheControl?: string | string[];
13
13
  ifMatch?: string | string[];
@@ -15,8 +15,7 @@ type StaticConditionalHeaders = {
15
15
  ifNoneMatch?: string | string[];
16
16
  ifModifiedSince?: string | string[];
17
17
  };
18
- type StaticPreconditionResult = "proceed" | "not-modified" | "precondition-failed";
18
+ export type StaticPreconditionResult = "proceed" | "not-modified" | "precondition-failed";
19
19
  /** Evaluate static representation preconditions in RFC 9110 section 13.2.2 order. */
20
- declare function evaluateStaticPreconditions(headers: StaticConditionalHeaders, method: string | undefined, etag: string | undefined, mtimeMs: number): StaticPreconditionResult;
21
- //#endregion
22
- export { StaticPreconditionResult, evaluateStaticPreconditions, matchesIfMatch, matchesIfNoneMatch };
20
+ export declare function evaluateStaticPreconditions(headers: StaticConditionalHeaders, method: string | undefined, etag: string | undefined, mtimeMs: number): StaticPreconditionResult;
21
+ //#endregion
@@ -1,5 +1,4 @@
1
1
  //#region src/server/http-date.d.ts
2
2
  /** Parse only the three HTTP-date wire formats accepted by RFC 9110. */
3
- declare function parseHttpDate(value: string): number;
4
- //#endregion
5
- export { parseHttpDate };
3
+ export declare function parseHttpDate(value: string): number;
4
+ //#endregion
@@ -19,20 +19,20 @@
19
19
  type ErrorResponseInit = {
20
20
  headers?: HeadersInit;
21
21
  };
22
- declare function sanitizeMethodNotAllowedHeaders(headers: Headers, allowedMethods: string): void;
22
+ export declare function sanitizeMethodNotAllowedHeaders(headers: Headers, allowedMethods: string): void;
23
23
  /**
24
24
  * Build a 400 Bad Request plain-text response.
25
25
  *
26
26
  * Used for malformed percent-encoding, invalid HTTP methods (where Next.js
27
27
  * returns 400), and other request-shape validation failures.
28
28
  */
29
- declare function badRequestResponse(init?: ErrorResponseInit): Response;
29
+ export declare function badRequestResponse(init?: ErrorResponseInit): Response;
30
30
  /**
31
31
  * Build a 403 Forbidden plain-text response.
32
32
  *
33
33
  * Used by CSRF origin validation and dev-server origin checks.
34
34
  */
35
- declare function forbiddenResponse(): Response;
35
+ export declare function forbiddenResponse(): Response;
36
36
  /**
37
37
  * Build a 404 Not Found plain-text response.
38
38
  *
@@ -50,7 +50,7 @@ declare function forbiddenResponse(): Response;
50
50
  * the 404, matching the pattern used by `app-rsc-handler` after a route match
51
51
  * fails but middleware has already contributed headers.
52
52
  */
53
- declare function notFoundResponse(init?: ErrorResponseInit): Response;
53
+ export declare function notFoundResponse(init?: ErrorResponseInit): Response;
54
54
  /**
55
55
  * Build a 404 plain-text response for invalid `_next/static/*` paths.
56
56
  *
@@ -65,7 +65,7 @@ declare function notFoundResponse(init?: ErrorResponseInit): Response;
65
65
  *
66
66
  * @see packages/next/src/server/lib/router-server.ts in `.nextjs-ref`
67
67
  */
68
- declare function notFoundStaticAssetResponse(headers?: HeadersInit): Response;
68
+ export declare function notFoundStaticAssetResponse(headers?: HeadersInit): Response;
69
69
  /**
70
70
  * Build a 405 Method Not Allowed plain-text response with the `Allow` header set.
71
71
  *
@@ -73,13 +73,13 @@ declare function notFoundStaticAssetResponse(headers?: HeadersInit): Response;
73
73
  * Existing headers (e.g. middleware response headers) can be merged via `init.headers`;
74
74
  * the `Allow` header takes precedence and overwrites any colliding entry.
75
75
  */
76
- declare function methodNotAllowedResponse(allowedMethods: string, init?: ErrorResponseInit): Response;
76
+ export declare function methodNotAllowedResponse(allowedMethods: string, init?: ErrorResponseInit): Response;
77
77
  /**
78
78
  * Build a 413 Payload Too Large plain-text response.
79
79
  *
80
80
  * Used by server action body-size enforcement.
81
81
  */
82
- declare function payloadTooLargeResponse(): Response;
82
+ export declare function payloadTooLargeResponse(): Response;
83
83
  /**
84
84
  * Build a 500 Internal Server Error plain-text response.
85
85
  *
@@ -87,6 +87,5 @@ declare function payloadTooLargeResponse(): Response;
87
87
  * production paths fall back to the canonical body. Pass `undefined` (or omit)
88
88
  * to use the canonical "Internal Server Error" body.
89
89
  */
90
- declare function internalServerErrorResponse(message?: string, init?: ErrorResponseInit): Response;
91
- //#endregion
92
- export { badRequestResponse, forbiddenResponse, internalServerErrorResponse, methodNotAllowedResponse, notFoundResponse, notFoundStaticAssetResponse, payloadTooLargeResponse, sanitizeMethodNotAllowedHeaders };
90
+ export declare function internalServerErrorResponse(message?: string, init?: ErrorResponseInit): Response;
91
+ //#endregion