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,59 @@
1
+ //#region src/server/opentelemetry-api.d.ts
2
+ /**
3
+ * The OpenTelemetry API stores its registered context, propagation, and trace
4
+ * APIs in a versioned global registry. Reading that registry lets vinext join
5
+ * an application-owned provider without requiring OpenTelemetry to be
6
+ * installed alongside vinext itself.
7
+ */
8
+ type OpenTelemetryContext = {
9
+ deleteValue(key: symbol): OpenTelemetryContext;
10
+ getValue(key: symbol): unknown;
11
+ setValue(key: symbol, value: unknown): OpenTelemetryContext;
12
+ };
13
+ export type OpenTelemetrySpan = {
14
+ end(): void;
15
+ isRecording(): boolean;
16
+ recordException(error: unknown): void;
17
+ setAttribute(key: string, value: OpenTelemetryAttributeValue): void;
18
+ setStatus(status: {
19
+ code: number;
20
+ message?: string;
21
+ }): void;
22
+ spanContext(): unknown;
23
+ updateName(name: string): void;
24
+ };
25
+ export type OpenTelemetryTracer = {
26
+ startActiveSpan<T>(name: string, options: {
27
+ attributes: Record<string, OpenTelemetryAttributeValue>;
28
+ kind?: number;
29
+ }, callback: (span: OpenTelemetrySpan) => T): T;
30
+ startSpan(...args: unknown[]): OpenTelemetrySpan;
31
+ };
32
+ type OpenTelemetryTracerProvider = {
33
+ getDelegate?: () => unknown;
34
+ getDelegateTracer?: (...args: unknown[]) => OpenTelemetryTracer | undefined;
35
+ getTracer(...args: [name: string, version?: string, options?: unknown]): OpenTelemetryTracer;
36
+ };
37
+ type OpenTelemetryAttributeValue = string | number | boolean | readonly string[] | readonly number[] | readonly boolean[];
38
+ export type OpenTelemetryApi = {
39
+ context: {
40
+ active(): OpenTelemetryContext;
41
+ with<T>(context: OpenTelemetryContext, callback: () => T): T;
42
+ };
43
+ propagation: {
44
+ extract(context: OpenTelemetryContext, carrier: Headers, getter: {
45
+ get(carrier: Headers, key: string): string | undefined;
46
+ keys(carrier: Headers): string[];
47
+ }): OpenTelemetryContext;
48
+ };
49
+ trace: {
50
+ getSpan(context: OpenTelemetryContext): OpenTelemetrySpan | undefined;
51
+ getSpanContext(context: OpenTelemetryContext): unknown;
52
+ getTracer(name: string, version?: string): OpenTelemetryTracer;
53
+ getTracerProvider(): OpenTelemetryTracerProvider;
54
+ };
55
+ };
56
+ export declare function getOpenTelemetryRootContext(): OpenTelemetryContext;
57
+ /** Resolve the API registered by the application, if any. */
58
+ export declare function getOpenTelemetryApi(): OpenTelemetryApi | undefined;
59
+ //#endregion
@@ -0,0 +1,53 @@
1
+ //#region src/server/opentelemetry-api.ts
2
+ const OPEN_TELEMETRY_API_SYMBOL = Symbol.for("opentelemetry.js.api.1");
3
+ const OPEN_TELEMETRY_SPAN_SYMBOL = Symbol.for("OpenTelemetry Context Key SPAN");
4
+ const ROOT_CONTEXT = new class RootContext {
5
+ values;
6
+ constructor(values = /* @__PURE__ */ new Map()) {
7
+ this.values = values;
8
+ }
9
+ deleteValue(key) {
10
+ const values = new Map(this.values);
11
+ values.delete(key);
12
+ return new RootContext(values);
13
+ }
14
+ getValue(key) {
15
+ return this.values.get(key);
16
+ }
17
+ setValue(key, value) {
18
+ const values = new Map(this.values);
19
+ values.set(key, value);
20
+ return new RootContext(values);
21
+ }
22
+ }();
23
+ function getOpenTelemetryRootContext() {
24
+ return ROOT_CONTEXT;
25
+ }
26
+ function apiFromRegistry(value) {
27
+ if (!value || typeof value !== "object") return void 0;
28
+ const registry = value;
29
+ const provider = registry.trace;
30
+ if (typeof provider?.getTracer !== "function") return void 0;
31
+ return {
32
+ context: {
33
+ active: () => registry.context?.active() ?? ROOT_CONTEXT,
34
+ with: (context, callback) => registry.context ? registry.context.with(context, callback) : callback()
35
+ },
36
+ propagation: { extract: (context, carrier, getter) => registry.propagation?.extract(context, carrier, getter) ?? context },
37
+ trace: {
38
+ getSpan: (context) => context.getValue(OPEN_TELEMETRY_SPAN_SYMBOL),
39
+ getSpanContext: (context) => {
40
+ return context.getValue(OPEN_TELEMETRY_SPAN_SYMBOL)?.spanContext();
41
+ },
42
+ getTracer: (name, version) => provider.getTracer(name, version),
43
+ getTracerProvider: () => provider
44
+ }
45
+ };
46
+ }
47
+ /** Resolve the API registered by the application, if any. */
48
+ function getOpenTelemetryApi() {
49
+ const registered = globalThis[OPEN_TELEMETRY_API_SYMBOL];
50
+ return apiFromRegistry(registered);
51
+ }
52
+ //#endregion
53
+ export { getOpenTelemetryApi, getOpenTelemetryRootContext };
@@ -0,0 +1,5 @@
1
+ import { FrameworkTracingIntegration } from "./framework-tracer.js";
2
+ //#region src/server/opentelemetry-tracing.d.ts
3
+ /** Standard OpenTelemetry backend using the provider registered by the app. */
4
+ export declare const openTelemetryTracingIntegration: FrameworkTracingIntegration;
5
+ //#endregion
@@ -0,0 +1,83 @@
1
+ import { getOpenTelemetryApi, getOpenTelemetryRootContext } from "./opentelemetry-api.js";
2
+ import { isPromiseLike } from "../utils/promise.js";
3
+ //#region src/server/opentelemetry-tracing.ts
4
+ const headersGetter = {
5
+ get(carrier, key) {
6
+ return carrier.get(key) ?? void 0;
7
+ },
8
+ keys(carrier) {
9
+ return [...carrier.keys()];
10
+ }
11
+ };
12
+ const spanKinds = {
13
+ client: 2,
14
+ internal: 0,
15
+ server: 1
16
+ };
17
+ function isEnabled(api) {
18
+ if (api.trace.getSpan(api.context.active())?.isRecording()) return true;
19
+ const provider = api.trace.getTracerProvider();
20
+ if (!("getDelegate" in provider)) return true;
21
+ return (provider.getDelegate?.())?.constructor?.name !== "NoopTracerProvider";
22
+ }
23
+ function backendSpan(span) {
24
+ return {
25
+ recordException: (error) => span.recordException(error),
26
+ setAttribute: (key, value) => span.setAttribute(key, value),
27
+ setErrorStatus: (message) => span.setStatus({
28
+ code: 2,
29
+ message
30
+ }),
31
+ updateName: (name) => span.updateName(name)
32
+ };
33
+ }
34
+ const noopSpan = { setAttribute() {} };
35
+ /** Standard OpenTelemetry backend using the provider registered by the app. */
36
+ const openTelemetryTracingIntegration = {
37
+ captureActiveContext() {
38
+ const api = getOpenTelemetryApi();
39
+ const context = api?.context.active();
40
+ return (callback) => api && context ? api.context.with(context, callback) : callback();
41
+ },
42
+ getActiveSpan() {
43
+ const api = getOpenTelemetryApi();
44
+ const span = api?.trace.getSpan(api.context.active());
45
+ return span ? backendSpan(span) : void 0;
46
+ },
47
+ id: "opentelemetry",
48
+ enterSpan(descriptor, callback) {
49
+ const api = getOpenTelemetryApi();
50
+ if (!api || !isEnabled(api)) return callback(noopSpan);
51
+ return api.trace.getTracer("next.js", "0.0.1").startActiveSpan(descriptor.name, {
52
+ attributes: descriptor.attributes,
53
+ kind: spanKinds[descriptor.kind]
54
+ }, (span) => {
55
+ try {
56
+ const result = callback(backendSpan(span));
57
+ if (!isPromiseLike(result)) {
58
+ span.end();
59
+ return result;
60
+ }
61
+ return Promise.resolve(result).finally(() => span.end());
62
+ } catch (error) {
63
+ span.end();
64
+ throw error;
65
+ }
66
+ });
67
+ },
68
+ runWithDetachedContext(callback) {
69
+ const api = getOpenTelemetryApi();
70
+ return api ? api.context.with(getOpenTelemetryRootContext(), callback) : callback();
71
+ },
72
+ withPropagatedContext(carrier, callback) {
73
+ const api = getOpenTelemetryApi();
74
+ if (!api) return callback();
75
+ const active = api.context.active();
76
+ if (!isEnabled(api) && !api.trace.getSpanContext(active)) return callback();
77
+ if (api.trace.getSpanContext(active)) return callback();
78
+ const extracted = api.propagation.extract(active, carrier, headersGetter);
79
+ return api.context.with(extracted, callback);
80
+ }
81
+ };
82
+ //#endregion
83
+ export { openTelemetryTracingIntegration };
@@ -1,6 +1,6 @@
1
1
  //#region src/server/operation-token.d.ts
2
- type OperationLane = "hmr" | "navigation" | "prefetch" | "refresh" | "server-action" | "traverse";
3
- type OperationToken = {
2
+ export type OperationLane = "hmr" | "navigation" | "prefetch" | "refresh" | "server-action" | "traverse";
3
+ export type OperationToken = {
4
4
  operationId: number;
5
5
  lane: OperationLane;
6
6
  navigationId: number;
@@ -11,30 +11,29 @@ type OperationToken = {
11
11
  cacheVariantFingerprint?: string;
12
12
  };
13
13
  declare const verifiedOperationTokenBrand: unique symbol;
14
- type VerifiedOperationToken = OperationToken & {
14
+ export type VerifiedOperationToken = OperationToken & {
15
15
  readonly [verifiedOperationTokenBrand]: true;
16
16
  };
17
- type OperationTokenAuthority = {
17
+ export type OperationTokenAuthority = {
18
18
  activeNavigationId: number;
19
19
  visibleCommitVersion: number;
20
20
  graphVersion: string | null;
21
21
  installedCacheVariantFingerprint: string | null;
22
22
  };
23
23
  type OperationTokenDimension = "navigation" | "visibleCommit" | "graphVersion" | "cacheVariant";
24
- type OperationTokenRejectionReason = "staleNavigation" | "staleVisibleCommit" | "graphVersionMismatch" | "graphVersionMissing" | "cacheVariantMismatch" | "cacheVariantMissing";
25
- type OperationTokenVerdict = {
24
+ export type OperationTokenRejectionReason = "staleNavigation" | "staleVisibleCommit" | "graphVersionMismatch" | "graphVersionMissing" | "cacheVariantMismatch" | "cacheVariantMissing";
25
+ export type OperationTokenVerdict = {
26
26
  readonly authorized: true;
27
27
  readonly token: VerifiedOperationToken;
28
28
  } | {
29
29
  readonly authorized: false;
30
30
  readonly reason: OperationTokenRejectionReason;
31
31
  };
32
- type OperationTokenVerificationPolicy = {
32
+ export type OperationTokenVerificationPolicy = {
33
33
  check: readonly OperationTokenDimension[];
34
34
  require: readonly OperationTokenDimension[];
35
35
  };
36
- declare function verifyOperationToken(token: OperationToken, authority: OperationTokenAuthority, policy: OperationTokenVerificationPolicy): OperationTokenVerdict;
37
- declare function verifyOperationTokenForCommit(token: OperationToken, authority: Pick<OperationTokenAuthority, "activeNavigationId" | "visibleCommitVersion">): OperationTokenVerdict;
38
- declare function verifyOperationTokenForCacheReuse(token: OperationToken, authority: Pick<OperationTokenAuthority, "graphVersion" | "installedCacheVariantFingerprint">): OperationTokenVerdict;
39
- //#endregion
40
- export { OperationLane, OperationToken, OperationTokenAuthority, OperationTokenRejectionReason, OperationTokenVerdict, OperationTokenVerificationPolicy, VerifiedOperationToken, verifyOperationToken, verifyOperationTokenForCacheReuse, verifyOperationTokenForCommit };
36
+ export declare function verifyOperationToken(token: OperationToken, authority: OperationTokenAuthority, policy: OperationTokenVerificationPolicy): OperationTokenVerdict;
37
+ export declare function verifyOperationTokenForCommit(token: OperationToken, authority: Pick<OperationTokenAuthority, "activeNavigationId" | "visibleCommitVersion">): OperationTokenVerdict;
38
+ export declare function verifyOperationTokenForCacheReuse(token: OperationToken, authority: Pick<OperationTokenAuthority, "graphVersion" | "installedCacheVariantFingerprint">): OperationTokenVerdict;
39
+ //#endregion
@@ -3,10 +3,9 @@
3
3
  * OpenTelemetry tracer provider extension for Cache Components.
4
4
  *
5
5
  * When `cacheComponents: true` is enabled in next.config, component renders
6
- * go through multiple phases (warmup → resume). During these phases, the
7
- * `workUnitAsyncStorage` carries a prerender or cache store. Without this
6
+ * run inside request, prerender, or cache work units. Without this
8
7
  * extension, calls to `tracer.startSpan()` / `tracer.startActiveSpan()` from
9
- * inside user RSC code would inherit that prerender context, causing:
8
+ * inside user RSC code would inherit that work-unit context, causing:
10
9
  *
11
10
  * 1. Spans to reuse the same trace ID across requests (the frozen prerender
12
11
  * context bleeds into the runtime resume render).
@@ -21,8 +20,7 @@
21
20
  * context restored.
22
21
  *
23
22
  * This extension is intentionally a no-op when:
24
- * - `@opentelemetry/api` is not installed (graceful degradation).
25
- * - No OTel tracer provider has been registered (provider is the noop provider).
23
+ * - No compatible OpenTelemetry API has registered its process-wide global.
26
24
  * - `workUnitAsyncStorage` has no active store (non-render contexts).
27
25
  *
28
26
  * References:
@@ -38,8 +36,8 @@
38
36
  * Safe to call multiple times — subsequent calls are no-ops once the provider
39
37
  * has been wrapped.
40
38
  *
41
- * Must only be called in Node.js environments (not Edge runtime).
39
+ * Safe in Node.js and Workers because it consumes only the application's
40
+ * standard OpenTelemetry global registry.
42
41
  */
43
- declare function extendTracerProviderForCacheComponents(): void;
44
- //#endregion
45
- export { extendTracerProviderForCacheComponents };
42
+ export declare function extendTracerProviderForCacheComponents(): void;
43
+ //#endregion
@@ -1,13 +1,13 @@
1
1
  import { workUnitAsyncStorage } from "../shims/internal/work-unit-async-storage.js";
2
+ import { getOpenTelemetryApi } from "./opentelemetry-api.js";
2
3
  //#region src/server/otel-tracer-extension.ts
3
4
  /**
4
5
  * OpenTelemetry tracer provider extension for Cache Components.
5
6
  *
6
7
  * When `cacheComponents: true` is enabled in next.config, component renders
7
- * go through multiple phases (warmup → resume). During these phases, the
8
- * `workUnitAsyncStorage` carries a prerender or cache store. Without this
8
+ * run inside request, prerender, or cache work units. Without this
9
9
  * extension, calls to `tracer.startSpan()` / `tracer.startActiveSpan()` from
10
- * inside user RSC code would inherit that prerender context, causing:
10
+ * inside user RSC code would inherit that work-unit context, causing:
11
11
  *
12
12
  * 1. Spans to reuse the same trace ID across requests (the frozen prerender
13
13
  * context bleeds into the runtime resume render).
@@ -22,8 +22,7 @@ import { workUnitAsyncStorage } from "../shims/internal/work-unit-async-storage.
22
22
  * context restored.
23
23
  *
24
24
  * This extension is intentionally a no-op when:
25
- * - `@opentelemetry/api` is not installed (graceful degradation).
26
- * - No OTel tracer provider has been registered (provider is the noop provider).
25
+ * - No compatible OpenTelemetry API has registered its process-wide global.
27
26
  * - `workUnitAsyncStorage` has no active store (non-render contexts).
28
27
  *
29
28
  * References:
@@ -31,6 +30,7 @@ import { workUnitAsyncStorage } from "../shims/internal/work-unit-async-storage.
31
30
  * - https://github.com/vercel/next.js/blob/canary/packages/next/src/server/lib/router-utils/instrumentation-node-extensions.ts
32
31
  */
33
32
  const extendedProviders = /* @__PURE__ */ new WeakSet();
33
+ const extendedTracers = /* @__PURE__ */ new WeakSet();
34
34
  const USE_CACHE_FUNCTION_SYMBOL = Symbol.for("vinext.useCacheFunction");
35
35
  function isUseCacheFn(fn) {
36
36
  return typeof fn === "function" && fn[USE_CACHE_FUNCTION_SYMBOL] === true;
@@ -44,46 +44,47 @@ function isUseCacheFn(fn) {
44
44
  * Safe to call multiple times — subsequent calls are no-ops once the provider
45
45
  * has been wrapped.
46
46
  *
47
- * Must only be called in Node.js environments (not Edge runtime).
47
+ * Safe in Node.js and Workers because it consumes only the application's
48
+ * standard OpenTelemetry global registry.
48
49
  */
49
50
  function extendTracerProviderForCacheComponents() {
50
- let api;
51
- try {
52
- const req = globalThis.require;
53
- if (typeof req === "function") api = req("@opentelemetry/api");
54
- } catch {
55
- return;
56
- }
51
+ const api = getOpenTelemetryApi();
57
52
  if (!api) return;
58
53
  const provider = api.trace.getTracerProvider();
59
- if (!provider || typeof provider.getTracer !== "function") return;
60
54
  if (extendedProviders.has(provider)) return;
61
55
  extendedProviders.add(provider);
62
56
  const originalGetTracer = provider.getTracer.bind(provider);
63
- const wrappedTracers = /* @__PURE__ */ new WeakSet();
64
- provider.getTracer = (...args) => {
65
- const tracer = originalGetTracer(...args);
66
- if (!tracer || wrappedTracers.has(tracer)) return tracer;
67
- const originalStartSpan = tracer.startSpan;
68
- if (typeof originalStartSpan === "function") tracer.startSpan = (...startSpanArgs) => workUnitAsyncStorage.exit(() => originalStartSpan.apply(tracer, startSpanArgs));
69
- const originalStartActiveSpan = tracer.startActiveSpan;
70
- if (typeof originalStartActiveSpan === "function") tracer.startActiveSpan = (...startActiveSpanArgs) => {
71
- const workUnitStore = workUnitAsyncStorage.getStore();
72
- if (!workUnitStore) return originalStartActiveSpan.apply(tracer, startActiveSpanArgs);
73
- let fnIdx = 0;
74
- if (startActiveSpanArgs.length === 2 && typeof startActiveSpanArgs[1] === "function") fnIdx = 1;
75
- else if (startActiveSpanArgs.length === 3 && typeof startActiveSpanArgs[2] === "function") fnIdx = 2;
76
- else if (startActiveSpanArgs.length > 3 && typeof startActiveSpanArgs[3] === "function") fnIdx = 3;
77
- if (fnIdx > 0) {
78
- const originalFn = startActiveSpanArgs[fnIdx];
79
- if (isUseCacheFn(originalFn)) console.error("A Cache Function (`use cache`) was passed to startActiveSpan which means it will receive a Span argument with a possibly random ID on every invocation leading to cache misses. Provide a wrapping function around the Cache Function that does not forward the Span argument to avoid this issue.");
80
- startActiveSpanArgs[fnIdx] = (...cbArgs) => workUnitAsyncStorage.run(workUnitStore, originalFn, ...cbArgs);
81
- }
82
- return workUnitAsyncStorage.exit(() => originalStartActiveSpan.apply(tracer, startActiveSpanArgs));
57
+ provider.getTracer = (...args) => instrumentTracer(originalGetTracer(...args));
58
+ if (typeof provider.getDelegateTracer === "function") {
59
+ const originalGetDelegateTracer = provider.getDelegateTracer.bind(provider);
60
+ provider.getDelegateTracer = (...args) => {
61
+ const tracer = originalGetDelegateTracer(...args);
62
+ return tracer ? instrumentTracer(tracer) : void 0;
83
63
  };
84
- wrappedTracers.add(tracer);
85
- return tracer;
64
+ }
65
+ }
66
+ function instrumentTracer(tracer) {
67
+ if (extendedTracers.has(tracer)) return tracer;
68
+ const mutableTracer = tracer;
69
+ const originalStartSpan = mutableTracer.startSpan.bind(mutableTracer);
70
+ mutableTracer.startSpan = (...startSpanArgs) => workUnitAsyncStorage.exit(() => originalStartSpan(...startSpanArgs));
71
+ const originalStartActiveSpan = mutableTracer.startActiveSpan.bind(mutableTracer);
72
+ mutableTracer.startActiveSpan = (...startActiveSpanArgs) => {
73
+ const workUnitStore = workUnitAsyncStorage.getStore();
74
+ if (!workUnitStore) return originalStartActiveSpan(...startActiveSpanArgs);
75
+ let fnIdx = 0;
76
+ if (startActiveSpanArgs.length === 2 && typeof startActiveSpanArgs[1] === "function") fnIdx = 1;
77
+ else if (startActiveSpanArgs.length === 3 && typeof startActiveSpanArgs[2] === "function") fnIdx = 2;
78
+ else if (startActiveSpanArgs.length > 3 && typeof startActiveSpanArgs[3] === "function") fnIdx = 3;
79
+ if (fnIdx > 0) {
80
+ const originalFn = startActiveSpanArgs[fnIdx];
81
+ if (isUseCacheFn(originalFn)) console.error("A Cache Function (`use cache`) was passed to startActiveSpan which means it will receive a Span argument with a possibly random ID on every invocation leading to cache misses. Provide a wrapping function around the Cache Function that does not forward the Span argument to avoid this issue.");
82
+ startActiveSpanArgs[fnIdx] = (...cbArgs) => workUnitAsyncStorage.run(workUnitStore, originalFn, ...cbArgs);
83
+ }
84
+ return workUnitAsyncStorage.exit(() => originalStartActiveSpan(...startActiveSpanArgs));
86
85
  };
86
+ extendedTracers.add(tracer);
87
+ return tracer;
87
88
  }
88
89
  //#endregion
89
90
  export { extendTracerProviderForCacheComponents };
@@ -53,7 +53,7 @@ type PagesApiRouteModule = {
53
53
  runtime?: string;
54
54
  default?: PagesNodeApiRouteHandler | PagesEdgeApiRouteHandler;
55
55
  };
56
- type PagesApiRouteMatch = {
56
+ export type PagesApiRouteMatch = {
57
57
  params: PagesRequestQuery;
58
58
  route: Pick<Route, "pattern"> & {
59
59
  module: PagesApiRouteModule;
@@ -69,6 +69,8 @@ type HandlePagesApiRouteOptions = {
69
69
  */
70
70
  ctx?: ExecutionContextLike;
71
71
  edgeRuntime?: EdgeApiExecutionRuntime;
72
+ /** Headers installed before user code, matching Next.js custom-route ordering. */
73
+ initialResponseHeaders?: Headers;
72
74
  match: PagesApiRouteMatch | null;
73
75
  reportRequestError?: (error: Error, routePattern: string) => void | Promise<void>;
74
76
  request: Request;
@@ -81,6 +83,5 @@ type HandlePagesApiRouteOptions = {
81
83
  };
82
84
  trustedRevalidateOrigin?: string;
83
85
  };
84
- declare function handlePagesApiRoute(options: HandlePagesApiRouteOptions): Promise<Response>;
85
- //#endregion
86
- export { PagesApiRouteMatch, handlePagesApiRoute };
86
+ export declare function handlePagesApiRoute(options: HandlePagesApiRouteOptions): Promise<Response>;
87
+ //#endregion
@@ -1,9 +1,10 @@
1
- import "./server-globals.js";
2
1
  import { getRequestExecutionContext, runWithExecutionContext } from "../shims/request-context.js";
2
+ import "./server-globals.js";
3
3
  import { NextRequest } from "../shims/server.js";
4
4
  import { internalServerErrorResponse } from "./http-error-responses.js";
5
5
  import { cloneRequestWithUrl } from "./request-pipeline.js";
6
6
  import { mergeRouteParamsIntoQuery, parseQueryString, urlQueryToSearchParams } from "../utils/query.js";
7
+ import { tracePagesApiHandler } from "./pages-execution-tracing.js";
7
8
  import { resolveBodyParserConfig } from "./pages-body-parser-config.js";
8
9
  import { PagesBodyParseError } from "./pages-media-type.js";
9
10
  import { createPagesReqRes, markVinextStreamedApiResponse, parsePagesApiBody } from "./pages-node-compat.js";
@@ -36,13 +37,26 @@ async function _handlePagesApiRoute(options) {
36
37
  const { route, params } = options.match;
37
38
  try {
38
39
  if (isEdgeApiRouteModule(route.module)) {
40
+ const handler = route.module.default;
39
41
  const nextRequest = new NextRequest(createEdgeApiRequest(options.request, options.url, params), options.nextConfig ? { nextConfig: {
40
42
  basePath: options.nextConfig.basePath,
41
43
  i18n: options.nextConfig.i18n ?? void 0,
42
44
  trailingSlash: options.nextConfig.trailingSlash
43
45
  } } : void 0);
44
- const response = await route.module.default(nextRequest);
45
- if (response instanceof Response) return finalizeEdgeApiResponse(response, options.edgeRuntime ?? "worker");
46
+ const response = await tracePagesApiHandler(route.pattern, () => handler(nextRequest));
47
+ if (response instanceof Response) {
48
+ const finalized = finalizeEdgeApiResponse(response, options.edgeRuntime ?? "worker");
49
+ if (!options.initialResponseHeaders || !options.initialResponseHeaders.keys().next().value) return finalized;
50
+ const headers = new Headers(options.initialResponseHeaders);
51
+ for (const [name, value] of finalized.headers) if (name.toLowerCase() !== "set-cookie") headers.set(name, value);
52
+ const finalizedCookies = finalized.headers.getSetCookie();
53
+ for (const cookie of finalizedCookies) headers.append("Set-Cookie", cookie);
54
+ return new Response(finalized.body, {
55
+ headers,
56
+ status: finalized.status,
57
+ statusText: finalized.statusText
58
+ });
59
+ }
46
60
  throw new Error("Edge API route did not return a Response");
47
61
  }
48
62
  if (!isNodeApiRouteModule(route.module)) return new Response("API route does not export a default function", { status: 500 });
@@ -53,6 +67,7 @@ async function _handlePagesApiRoute(options) {
53
67
  const { req, res, responsePromise } = createPagesReqRes({
54
68
  allowedRevalidateHeaderKeys: options.nextConfig?.allowedRevalidateHeaderKeys,
55
69
  body,
70
+ initialResponseHeaders: options.initialResponseHeaders,
56
71
  query,
57
72
  request: options.request,
58
73
  trustedRevalidateOrigin: options.trustedRevalidateOrigin,
@@ -79,12 +94,10 @@ async function _handlePagesApiRoute(options) {
79
94
  type: "response",
80
95
  response
81
96
  }));
82
- const handlerCompletion = Promise.resolve().then(() => handler(req, res)).then(() => ({ type: "handler" }), destroyAfterHandlerError);
97
+ const handlerCompletion = Promise.resolve().then(() => tracePagesApiHandler(route.pattern, () => handler(req, res), { recordErrors: options.edgeRuntime !== "node" })).then(() => ({ type: "handler" }), destroyAfterHandlerError);
83
98
  const firstSettled = await Promise.race([responseReady, handlerCompletion]);
84
99
  if (firstSettled.type === "response") {
85
- const handlerLifecycle = handlerCompletion.then(completeHandler, (error) => {
86
- options.reportRequestError?.(error, route.pattern);
87
- });
100
+ const handlerLifecycle = handlerCompletion.then(completeHandler, (error) => options.reportRequestError?.(error, route.pattern));
88
101
  getRequestExecutionContext()?.waitUntil(handlerLifecycle);
89
102
  return finalizeResponse(firstSettled.response);
90
103
  }
@@ -95,7 +108,7 @@ async function _handlePagesApiRoute(options) {
95
108
  status: error.statusCode,
96
109
  statusText: error.message
97
110
  });
98
- options.reportRequestError?.(error instanceof Error ? error : new Error(String(error)), route.pattern);
111
+ await options.reportRequestError?.(error instanceof Error ? error : new Error(String(error)), route.pattern);
99
112
  return internalServerErrorResponse();
100
113
  }
101
114
  }
@@ -13,14 +13,14 @@
13
13
  * Resolve the effective SSR manifest: prefer the caller-supplied object and
14
14
  * fall back to the registered client build metadata.
15
15
  */
16
- declare function resolveSsrManifest(manifest: Record<string, string[]> | null | undefined): Record<string, string[]> | null;
16
+ export declare function resolveSsrManifest(manifest: Record<string, string[]> | null | undefined): Record<string, string[]> | null;
17
17
  /**
18
18
  * Look up the asset-file list for a module ID in the SSR manifest.
19
19
  *
20
20
  * The manifest keys may use relative paths while callers supply absolute
21
21
  * paths, so a suffix-match fallback is used when an exact-key lookup fails.
22
22
  */
23
- declare function getManifestFilesForModule(manifest: Record<string, string[]> | null | undefined, moduleId: string | null | undefined): string[] | null;
23
+ export declare function getManifestFilesForModule(manifest: Record<string, string[]> | null | undefined, moduleId: string | null | undefined): string[] | null;
24
24
  /**
25
25
  * Find the first `.js` file in the manifest for `moduleId` and return the URL it
26
26
  * is actually SERVED from. Used to resolve the client-navigation / hydration URL
@@ -29,7 +29,7 @@ declare function getManifestFilesForModule(manifest: Record<string, string[]> |
29
29
  * asset URLs. SSR-manifest values are base-anchored; re-anchor under any
30
30
  * configured `assetPrefix` (default `""` keeps the legacy `"/" + file`).
31
31
  */
32
- declare function resolveClientModuleUrl(manifest: Record<string, string[]> | null | undefined, moduleId: string | null | undefined, basePath?: string, assetPrefix?: string, _deploymentId?: string): string | undefined;
32
+ export declare function resolveClientModuleUrl(manifest: Record<string, string[]> | null | undefined, moduleId: string | null | undefined, basePath?: string, assetPrefix?: string, _deploymentId?: string): string | undefined;
33
33
  type CollectAssetTagsOptions = {
34
34
  /**
35
35
  * SSR manifest mapping module file paths to their associated asset list.
@@ -59,6 +59,7 @@ type CollectAssetTagsOptions = {
59
59
  assetPrefix?: string;
60
60
  deploymentId?: string;
61
61
  crossOrigin?: string;
62
+ initialStylesheetHrefs?: Set<string>;
62
63
  };
63
64
  /**
64
65
  * Build the HTML `<link>` and `<script>` tag string for the SSR response.
@@ -73,6 +74,5 @@ type CollectAssetTagsOptions = {
73
74
  *
74
75
  * Extracted from `entries/pages-server-entry.ts`.
75
76
  */
76
- declare function collectAssetTags(options: CollectAssetTagsOptions): string;
77
- //#endregion
78
- export { collectAssetTags, getManifestFilesForModule, resolveClientModuleUrl, resolveSsrManifest };
77
+ export declare function collectAssetTags(options: CollectAssetTagsOptions): string;
78
+ //#endregion
@@ -34,6 +34,30 @@ function getManifestFilesForModule(manifest, moduleId) {
34
34
  for (const key in manifest) if (moduleId.endsWith("/" + key) || moduleId === key) return manifest[key];
35
35
  return null;
36
36
  }
37
+ function collectGraphOrderedCss(graph, moduleIds) {
38
+ const ordered = [];
39
+ const emitted = /* @__PURE__ */ new Set();
40
+ const visited = /* @__PURE__ */ new Set();
41
+ function findKey(moduleId) {
42
+ if (!moduleId) return void 0;
43
+ if (graph[moduleId]) return moduleId;
44
+ for (const key in graph) if (moduleId === key || moduleId.endsWith("/" + key)) return key;
45
+ }
46
+ function visit(key) {
47
+ if (!key || visited.has(key)) return;
48
+ visited.add(key);
49
+ const chunk = graph[key];
50
+ if (!chunk) return;
51
+ for (const importedKey of chunk.imports ?? []) visit(importedKey);
52
+ for (const file of chunk.css ?? []) {
53
+ if (emitted.has(file)) continue;
54
+ emitted.add(file);
55
+ ordered.push(file);
56
+ }
57
+ }
58
+ for (const moduleId of moduleIds) visit(findKey(moduleId));
59
+ return ordered;
60
+ }
37
61
  /**
38
62
  * Find the first `.js` file in the manifest for `moduleId` and return the URL it
39
63
  * is actually SERVED from. Used to resolve the client-navigation / hydration URL
@@ -87,6 +111,14 @@ function collectAssetTags(options) {
87
111
  tags.push("<link rel=\"modulepreload\"" + nonceAttr + " href=\"" + href(clientEntry) + "\"" + preloadCrossOriginAttr + " />");
88
112
  tags.push("<script type=\"module\"" + deferAttr + nonceAttr + " src=\"" + href(clientEntry) + "\"" + scriptCrossOriginAttr + "><\/script>");
89
113
  }
114
+ if (runtimeAssets.cssGraph) for (let file of collectGraphOrderedCss(runtimeAssets.cssGraph, options.moduleIds)) {
115
+ if (file.charAt(0) === "/") file = file.slice(1);
116
+ if (seen.has(file)) continue;
117
+ seen.add(file);
118
+ const stylesheetHref = href(file);
119
+ options.initialStylesheetHrefs?.add(stylesheetHref);
120
+ tags.push("<link rel=\"stylesheet\"" + nonceAttr + " href=\"" + stylesheetHref + "\" />");
121
+ }
90
122
  if (m) {
91
123
  const allFiles = [];
92
124
  const moduleIds = options.moduleIds;
@@ -114,8 +146,11 @@ function collectAssetTags(options) {
114
146
  if (tf.charAt(0) === "/") tf = tf.slice(1);
115
147
  if (seen.has(tf)) continue;
116
148
  seen.add(tf);
117
- if (tf.endsWith(".css")) tags.push("<link rel=\"stylesheet\"" + nonceAttr + " href=\"" + href(tf) + "\" />");
118
- else if (tf.endsWith(".js")) {
149
+ if (tf.endsWith(".css")) {
150
+ const stylesheetHref = href(tf);
151
+ options.initialStylesheetHrefs?.add(stylesheetHref);
152
+ tags.push("<link rel=\"stylesheet\"" + nonceAttr + " href=\"" + stylesheetHref + "\" />");
153
+ } else if (tf.endsWith(".js")) {
119
154
  if (lazySet && lazySet.has(tf)) continue;
120
155
  tags.push("<link rel=\"modulepreload\"" + nonceAttr + " href=\"" + href(tf) + "\"" + preloadCrossOriginAttr + " />");
121
156
  tags.push("<script type=\"module\"" + deferAttr + nonceAttr + " src=\"" + href(tf) + "\"" + scriptCrossOriginAttr + "><\/script>");
@@ -23,7 +23,7 @@
23
23
  /**
24
24
  * Default Pages Router API body size limit, matching Next.js.
25
25
  */
26
- declare const DEFAULT_PAGES_API_BODY_SIZE_LIMIT: number;
26
+ export declare const DEFAULT_PAGES_API_BODY_SIZE_LIMIT: number;
27
27
  /**
28
28
  * Resolved bodyParser configuration. When `enabled` is `false`, the body
29
29
  * MUST be passed through to the handler as a raw stream (or left unparsed
@@ -43,17 +43,16 @@ type ResolvedBodyParserConfig = {
43
43
  * Matches the format accepted by Next.js (the `bytes` package); we
44
44
  * implement it inline to avoid pulling a dependency for a tiny parser.
45
45
  */
46
- declare function parseSizeLimit(value: string | number | undefined): number | undefined;
46
+ export declare function parseSizeLimit(value: string | number | undefined): number | undefined;
47
47
  /**
48
48
  * Read the resolved `bodyParser` config from a route module's `config`
49
49
  * export. Defaults to enabled with the 1 MB Next.js default.
50
50
  */
51
- declare function resolveBodyParserConfig(moduleConfig: {
51
+ export declare function resolveBodyParserConfig(moduleConfig: {
52
52
  api?: {
53
53
  bodyParser?: boolean | {
54
54
  sizeLimit?: string | number;
55
55
  };
56
56
  };
57
57
  } | undefined, defaultSizeLimit?: number): ResolvedBodyParserConfig;
58
- //#endregion
59
- export { DEFAULT_PAGES_API_BODY_SIZE_LIMIT, parseSizeLimit, resolveBodyParserConfig };
58
+ //#endregion
@@ -23,13 +23,13 @@
23
23
  /**
24
24
  * Default Pages Router API body size limit, matching Next.js.
25
25
  */
26
- const DEFAULT_PAGES_API_BODY_SIZE_LIMIT = 1 * 1024 * 1024;
26
+ const DEFAULT_PAGES_API_BODY_SIZE_LIMIT = 1048576;
27
27
  const SIZE_UNITS = {
28
28
  b: 1,
29
29
  kb: 1024,
30
- mb: 1024 * 1024,
31
- gb: 1024 * 1024 * 1024,
32
- tb: 1024 * 1024 * 1024 * 1024
30
+ mb: 1048576,
31
+ gb: 1073741824,
32
+ tb: 1099511627776
33
33
  };
34
34
  /**
35
35
  * Parse a Next.js-style `sizeLimit` string (e.g. `"4mb"`, `"100kb"`, `"1gb"`)