vinext 1.0.0-beta.9 → 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 (800) hide show
  1. package/README.md +150 -92
  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 +36 -11
  37. package/dist/build/prerender-paths.js +273 -97
  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 +65 -15
  43. package/dist/build/prerender.js +139 -43
  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 +24 -20
  49. package/dist/build/report.js +10 -2
  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 +6 -7
  62. package/dist/cache/cache-adapters-virtual.d.ts +60 -20
  63. package/dist/cache/cache-adapters-virtual.js +50 -7
  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 -442
  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 -10
  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 +2 -4
  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 +4 -5
  102. package/dist/entries/app-browser-entry.js +1 -3
  103. package/dist/entries/app-rsc-entry.d.ts +10 -3
  104. package/dist/entries/app-rsc-entry.js +502 -51
  105. package/dist/entries/app-rsc-manifest.d.ts +4 -3
  106. package/dist/entries/app-rsc-manifest.js +26 -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 +234 -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 +711 -189
  117. package/dist/init-cloudflare.d.ts +26 -17
  118. package/dist/init-cloudflare.js +710 -102
  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 +19 -6
  191. package/dist/routing/app-router.js +24 -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 +87 -34
  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 +8 -4
  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 +6 -2
  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-client-reference-preloader.d.ts +2 -3
  237. package/dist/server/app-elements-wire-key.d.ts +25 -0
  238. package/dist/server/app-elements-wire-key.js +69 -0
  239. package/dist/server/app-elements-wire.d.ts +34 -53
  240. package/dist/server/app-elements-wire.js +4 -75
  241. package/dist/server/app-elements.d.ts +5 -5
  242. package/dist/server/app-elements.js +1 -1
  243. package/dist/server/app-fallback-renderer.d.ts +4 -4
  244. package/dist/server/app-fallback-renderer.js +6 -6
  245. package/dist/server/app-fetch-tracing.d.ts +15 -0
  246. package/dist/server/app-fetch-tracing.js +38 -0
  247. package/dist/server/app-history-state.d.ts +26 -27
  248. package/dist/server/app-history-state.js +19 -11
  249. package/dist/server/app-hook-warning-suppression.d.ts +2 -3
  250. package/dist/server/app-hydration-cache-publication.d.ts +3 -4
  251. package/dist/server/app-inline-css-client.d.ts +3 -4
  252. package/dist/server/app-interception-context-header.d.ts +2 -3
  253. package/dist/server/app-layout-param-observation.d.ts +7 -8
  254. package/dist/server/app-metadata-tracing.d.ts +12 -0
  255. package/dist/server/app-metadata-tracing.js +17 -0
  256. package/dist/server/app-middleware.d.ts +7 -7
  257. package/dist/server/app-middleware.js +2 -3
  258. package/dist/server/app-mounted-slots-header.d.ts +2 -3
  259. package/dist/server/app-mounted-slots-header.js +2 -2
  260. package/dist/server/app-optimistic-routing.d.ts +10 -11
  261. package/dist/server/app-optimistic-routing.js +3 -2
  262. package/dist/server/app-page-boundary-render.d.ts +6 -6
  263. package/dist/server/app-page-boundary-render.js +10 -4
  264. package/dist/server/app-page-boundary.d.ts +9 -10
  265. package/dist/server/app-page-boundary.js +1 -1
  266. package/dist/server/app-page-cache-finalizer.d.ts +18 -9
  267. package/dist/server/app-page-cache-finalizer.js +51 -16
  268. package/dist/server/app-page-cache-render.d.ts +8 -5
  269. package/dist/server/app-page-cache-render.js +22 -5
  270. package/dist/server/app-page-cache.d.ts +28 -9
  271. package/dist/server/app-page-cache.js +95 -24
  272. package/dist/server/app-page-dispatch.d.ts +34 -12
  273. package/dist/server/app-page-dispatch.js +181 -64
  274. package/dist/server/app-page-element-builder.d.ts +13 -11
  275. package/dist/server/app-page-element-builder.js +104 -61
  276. package/dist/server/app-page-execution.d.ts +14 -14
  277. package/dist/server/app-page-execution.js +11 -7
  278. package/dist/server/app-page-head.d.ts +19 -16
  279. package/dist/server/app-page-head.js +25 -25
  280. package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
  281. package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
  282. package/dist/server/app-page-method.d.ts +5 -11
  283. package/dist/server/app-page-method.js +2 -9
  284. package/dist/server/app-page-params.d.ts +5 -6
  285. package/dist/server/app-page-ppr-runtime.d.ts +2 -2
  286. package/dist/server/app-page-probe.d.ts +5 -6
  287. package/dist/server/app-page-probe.js +5 -4
  288. package/dist/server/app-page-render-identity.d.ts +4 -5
  289. package/dist/server/app-page-render-observation.d.ts +8 -9
  290. package/dist/server/app-page-render-observation.js +1 -1
  291. package/dist/server/app-page-render.d.ts +41 -6
  292. package/dist/server/app-page-render.js +171 -25
  293. package/dist/server/app-page-request.d.ts +10 -9
  294. package/dist/server/app-page-request.js +16 -12
  295. package/dist/server/app-page-response.d.ts +20 -9
  296. package/dist/server/app-page-response.js +30 -12
  297. package/dist/server/app-page-route-wiring.d.ts +15 -15
  298. package/dist/server/app-page-route-wiring.js +31 -24
  299. package/dist/server/app-page-search-params-observation.d.ts +26 -5
  300. package/dist/server/app-page-search-params-observation.js +42 -6
  301. package/dist/server/app-page-segment-plan.d.ts +2 -3
  302. package/dist/server/app-page-segment-state.d.ts +11 -12
  303. package/dist/server/app-page-stream.d.ts +27 -11
  304. package/dist/server/app-page-stream.js +34 -6
  305. package/dist/server/app-page-tracing.d.ts +33 -0
  306. package/dist/server/app-page-tracing.js +49 -0
  307. package/dist/server/app-pages-bridge.d.ts +6 -6
  308. package/dist/server/app-pages-bridge.js +17 -4
  309. package/dist/server/app-post-middleware-context.d.ts +2 -3
  310. package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
  311. package/dist/server/app-ppr-fallback-shell-render.js +3 -2
  312. package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
  313. package/dist/server/app-prerender-endpoints.d.ts +5 -5
  314. package/dist/server/app-prerender-endpoints.js +3 -1
  315. package/dist/server/app-prerender-static-params.d.ts +15 -7
  316. package/dist/server/app-prerender-static-params.js +24 -9
  317. package/dist/server/app-render-dependency.d.ts +14 -13
  318. package/dist/server/app-render-dependency.js +5 -1
  319. package/dist/server/app-request-context.d.ts +3 -4
  320. package/dist/server/app-request-stage-context.d.ts +5 -0
  321. package/dist/server/app-request-stage-context.js +11 -0
  322. package/dist/server/app-request-stage-dispatch.d.ts +25 -0
  323. package/dist/server/app-request-stage-dispatch.js +54 -0
  324. package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
  325. package/dist/server/app-request-stage-independent-entry.js +115 -0
  326. package/dist/server/app-response-header-provenance.d.ts +13 -7
  327. package/dist/server/app-response-header-provenance.js +34 -1
  328. package/dist/server/app-response-stage-entry.d.ts +9 -0
  329. package/dist/server/app-response-stage-entry.js +87 -0
  330. package/dist/server/app-route-handler-cache.d.ts +2 -3
  331. package/dist/server/app-route-handler-cache.js +46 -34
  332. package/dist/server/app-route-handler-dispatch.d.ts +3 -3
  333. package/dist/server/app-route-handler-dispatch.js +68 -54
  334. package/dist/server/app-route-handler-execution.d.ts +17 -13
  335. package/dist/server/app-route-handler-execution.js +69 -18
  336. package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
  337. package/dist/server/app-route-handler-middleware-context.js +15 -0
  338. package/dist/server/app-route-handler-policy.d.ts +11 -11
  339. package/dist/server/app-route-handler-response.d.ts +9 -10
  340. package/dist/server/app-route-handler-response.js +2 -0
  341. package/dist/server/app-route-handler-runtime.d.ts +9 -10
  342. package/dist/server/app-route-handler-runtime.js +20 -16
  343. package/dist/server/app-route-module-loader.d.ts +6 -7
  344. package/dist/server/app-route-request-built-ins.d.ts +3 -4
  345. package/dist/server/app-route-tree-prefetch.d.ts +6 -7
  346. package/dist/server/app-route-tree-prefetch.js +2 -1
  347. package/dist/server/app-router-entry.d.ts +2 -0
  348. package/dist/server/app-router-entry.js +28 -8
  349. package/dist/server/app-rsc-cache-busting.d.ts +34 -27
  350. package/dist/server/app-rsc-cache-busting.js +14 -2
  351. package/dist/server/app-rsc-combined-handler.d.ts +9 -0
  352. package/dist/server/app-rsc-combined-handler.js +11 -0
  353. package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
  354. package/dist/server/app-rsc-error-handler.d.ts +12 -6
  355. package/dist/server/app-rsc-error-handler.js +15 -6
  356. package/dist/server/app-rsc-errors.d.ts +12 -9
  357. package/dist/server/app-rsc-errors.js +15 -13
  358. package/dist/server/app-rsc-handler.d.ts +31 -6
  359. package/dist/server/app-rsc-handler.js +411 -61
  360. package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
  361. package/dist/server/app-rsc-render-mode.d.ts +8 -9
  362. package/dist/server/app-rsc-request-normalization.d.ts +3 -3
  363. package/dist/server/app-rsc-request-normalization.js +2 -1
  364. package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
  365. package/dist/server/app-rsc-response-finalizer.js +6 -6
  366. package/dist/server/app-rsc-response-stage.d.ts +6 -0
  367. package/dist/server/app-rsc-response-stage.js +251 -0
  368. package/dist/server/app-rsc-route-matching.d.ts +3 -4
  369. package/dist/server/app-rsc-route-matching.js +3 -2
  370. package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
  371. package/dist/server/app-rsc-vary.d.ts +16 -0
  372. package/dist/server/app-rsc-vary.js +31 -0
  373. package/dist/server/app-segment-config.d.ts +119 -7
  374. package/dist/server/app-segment-config.js +242 -2
  375. package/dist/server/app-server-action-execution.d.ts +16 -12
  376. package/dist/server/app-server-action-execution.js +86 -33
  377. package/dist/server/app-ssr-entry.d.ts +14 -4
  378. package/dist/server/app-ssr-entry.js +61 -14
  379. package/dist/server/app-ssr-error-meta.d.ts +3 -4
  380. package/dist/server/app-ssr-error-meta.js +2 -1
  381. package/dist/server/app-ssr-router-instance.d.ts +2 -3
  382. package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
  383. package/dist/server/app-ssr-search-params-gate.js +54 -0
  384. package/dist/server/app-ssr-stream.d.ts +13 -9
  385. package/dist/server/app-ssr-stream.js +33 -7
  386. package/dist/server/app-static-generation.d.ts +4 -5
  387. package/dist/server/app-visited-response-cache.d.ts +11 -12
  388. package/dist/server/app-visited-response-cache.js +2 -2
  389. package/dist/server/app-worker-stages.d.ts +112 -0
  390. package/dist/server/app-worker-stages.js +105 -0
  391. package/dist/server/artifact-compatibility.d.ts +11 -12
  392. package/dist/server/before-interactive-head.d.ts +2 -3
  393. package/dist/server/bfcache-identity.d.ts +7 -8
  394. package/dist/server/cache-control.d.ts +35 -13
  395. package/dist/server/cache-control.js +71 -5
  396. package/dist/server/cache-headers.d.ts +3 -4
  397. package/dist/server/cache-proof.d.ts +75 -70
  398. package/dist/server/cache-proof.js +9 -1
  399. package/dist/server/cacheability-limits.d.ts +4 -5
  400. package/dist/server/cacheability-limits.js +2 -2
  401. package/dist/server/cacheability-manifest.d.ts +42 -16
  402. package/dist/server/cacheability-manifest.js +60 -10
  403. package/dist/server/cacheability-request.d.ts +37 -8
  404. package/dist/server/cacheability-request.js +159 -57
  405. package/dist/server/client-reuse-manifest.d.ts +17 -18
  406. package/dist/server/client-reuse-manifest.js +2 -2
  407. package/dist/server/client-trace-metadata.d.ts +9 -6
  408. package/dist/server/client-trace-metadata.js +27 -15
  409. package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
  410. package/dist/server/cloudflare-workers-tracing.js +8 -0
  411. package/dist/server/config-headers.d.ts +19 -5
  412. package/dist/server/config-headers.js +25 -11
  413. package/dist/server/cookie-utils.d.ts +2 -3
  414. package/dist/server/csp.d.ts +5 -6
  415. package/dist/server/default-global-error-module.d.ts +2 -3
  416. package/dist/server/default-global-not-found-module.d.ts +2 -3
  417. package/dist/server/default-not-found-module.d.ts +2 -3
  418. package/dist/server/defer-until-stream-consumed.d.ts +2 -3
  419. package/dist/server/defer-until-stream-consumed.js +2 -1
  420. package/dist/server/dev-initial-server-error.d.ts +3 -4
  421. package/dist/server/dev-initial-server-error.js +2 -1
  422. package/dist/server/dev-lockfile.d.ts +7 -8
  423. package/dist/server/dev-lockfile.js +4 -1
  424. package/dist/server/dev-module-runner.d.ts +2 -3
  425. package/dist/server/dev-origin-check.d.ts +5 -6
  426. package/dist/server/dev-route-files.d.ts +2 -3
  427. package/dist/server/dev-server.d.ts +4 -5
  428. package/dist/server/dev-server.js +130 -61
  429. package/dist/server/dev-stack-sourcemap.d.ts +7 -7
  430. package/dist/server/dev-stack-sourcemap.js +1 -1
  431. package/dist/server/document-initial-head.d.ts +3 -4
  432. package/dist/server/edge-api-runtime.d.ts +4 -5
  433. package/dist/server/fetch-handler.d.ts +3 -2
  434. package/dist/server/fetch-handler.js +3 -18
  435. package/dist/server/file-based-metadata.d.ts +2 -3
  436. package/dist/server/framework-tracer.d.ts +46 -0
  437. package/dist/server/framework-tracer.js +125 -0
  438. package/dist/server/fully-buffered-response.d.ts +11 -0
  439. package/dist/server/fully-buffered-response.js +19 -0
  440. package/dist/server/headers.d.ts +54 -61
  441. package/dist/server/headers.js +18 -31
  442. package/dist/server/html.d.ts +6 -27
  443. package/dist/server/html.js +16 -1
  444. package/dist/server/http-conditional.d.ts +5 -6
  445. package/dist/server/http-date.d.ts +2 -3
  446. package/dist/server/http-error-responses.d.ts +9 -10
  447. package/dist/server/http-range.d.ts +4 -5
  448. package/dist/server/hybrid-route-priority.d.ts +4 -5
  449. package/dist/server/image-optimization.d.ts +20 -21
  450. package/dist/server/implicit-tags.d.ts +3 -4
  451. package/dist/server/instrumentation-runtime.d.ts +17 -21
  452. package/dist/server/instrumentation-runtime.js +26 -8
  453. package/dist/server/instrumentation.d.ts +26 -30
  454. package/dist/server/instrumentation.js +18 -23
  455. package/dist/server/isr-cache.d.ts +28 -27
  456. package/dist/server/isr-cache.js +18 -70
  457. package/dist/server/isr-decision.d.ts +4 -4
  458. package/dist/server/metadata-route-build-data.d.ts +4 -5
  459. package/dist/server/metadata-route-cache-policy.d.ts +2 -3
  460. package/dist/server/metadata-route-response.d.ts +7 -7
  461. package/dist/server/metadata-route-response.js +68 -2
  462. package/dist/server/metadata-routes.d.ts +18 -19
  463. package/dist/server/middleware-matcher-pattern.d.ts +6 -7
  464. package/dist/server/middleware-matcher.d.ts +6 -7
  465. package/dist/server/middleware-path-to-regexp.d.ts +6 -7
  466. package/dist/server/middleware-path-to-regexp.js +11 -9
  467. package/dist/server/middleware-response-headers.d.ts +3 -4
  468. package/dist/server/middleware-runtime.d.ts +7 -8
  469. package/dist/server/middleware-runtime.js +36 -7
  470. package/dist/server/middleware.d.ts +5 -5
  471. package/dist/server/multi-stage.d.ts +141 -0
  472. package/dist/server/multi-stage.js +8 -0
  473. package/dist/server/navigation-planner.d.ts +26 -26
  474. package/dist/server/navigation-trace.d.ts +11 -12
  475. package/dist/server/next-error-digest.d.ts +4 -5
  476. package/dist/server/normalize-path.d.ts +5 -6
  477. package/dist/server/open-redirect.d.ts +2 -3
  478. package/dist/server/opentelemetry-api.d.ts +59 -0
  479. package/dist/server/opentelemetry-api.js +53 -0
  480. package/dist/server/opentelemetry-tracing.d.ts +5 -0
  481. package/dist/server/opentelemetry-tracing.js +83 -0
  482. package/dist/server/operation-token.d.ts +11 -12
  483. package/dist/server/otel-tracer-extension.d.ts +7 -9
  484. package/dist/server/otel-tracer-extension.js +37 -36
  485. package/dist/server/pages-api-route.d.ts +5 -4
  486. package/dist/server/pages-api-route.js +20 -7
  487. package/dist/server/pages-asset-tags.d.ts +6 -6
  488. package/dist/server/pages-asset-tags.js +37 -2
  489. package/dist/server/pages-body-parser-config.d.ts +4 -5
  490. package/dist/server/pages-body-parser-config.js +4 -4
  491. package/dist/server/pages-client-assets.d.ts +11 -5
  492. package/dist/server/pages-data-route.d.ts +11 -12
  493. package/dist/server/pages-data-route.js +1 -1
  494. package/dist/server/pages-default-404.d.ts +3 -4
  495. package/dist/server/pages-dev-hydration.d.ts +9 -4
  496. package/dist/server/pages-dev-hydration.js +19 -7
  497. package/dist/server/pages-dev-module-url.d.ts +3 -4
  498. package/dist/server/pages-dev-stylesheets.d.ts +5 -6
  499. package/dist/server/pages-document-asset-props.d.ts +6 -7
  500. package/dist/server/pages-document-initial-props.d.ts +5 -5
  501. package/dist/server/pages-document-initial-props.js +4 -2
  502. package/dist/server/pages-execution-tracing.d.ts +40 -0
  503. package/dist/server/pages-execution-tracing.js +80 -0
  504. package/dist/server/pages-get-initial-props.d.ts +9 -10
  505. package/dist/server/pages-i18n.d.ts +8 -8
  506. package/dist/server/pages-media-type.d.ts +4 -5
  507. package/dist/server/pages-node-compat.d.ts +11 -10
  508. package/dist/server/pages-node-compat.js +12 -4
  509. package/dist/server/pages-page-data.d.ts +18 -19
  510. package/dist/server/pages-page-data.js +11 -10
  511. package/dist/server/pages-page-handler.d.ts +7 -6
  512. package/dist/server/pages-page-handler.js +77 -39
  513. package/dist/server/pages-page-method.d.ts +2 -3
  514. package/dist/server/pages-page-response.d.ts +14 -10
  515. package/dist/server/pages-page-response.js +49 -31
  516. package/dist/server/pages-preview.d.ts +10 -11
  517. package/dist/server/pages-readiness.d.ts +2 -3
  518. package/dist/server/pages-request-pipeline.d.ts +14 -12
  519. package/dist/server/pages-request-pipeline.js +60 -30
  520. package/dist/server/pages-request-stage-entry.d.ts +23 -0
  521. package/dist/server/pages-request-stage-entry.js +314 -0
  522. package/dist/server/pages-response-stage-entry.d.ts +11 -0
  523. package/dist/server/pages-response-stage-entry.js +106 -0
  524. package/dist/server/pages-response-stage.d.ts +31 -0
  525. package/dist/server/pages-response-stage.js +49 -0
  526. package/dist/server/pages-revalidate.d.ts +3 -4
  527. package/dist/server/pages-revalidate.js +9 -4
  528. package/dist/server/pages-route-data-kind.d.ts +18 -0
  529. package/dist/server/pages-route-data-kind.js +11 -0
  530. package/dist/server/pages-router-entry.d.ts +1 -25
  531. package/dist/server/pages-router-entry.js +35 -148
  532. package/dist/server/pages-serializable-props.d.ts +3 -4
  533. package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
  534. package/dist/server/pregenerated-concrete-paths.js +12 -6
  535. package/dist/server/prerender-cache-life-header.d.ts +3 -4
  536. package/dist/server/prerender-manifest.d.ts +11 -11
  537. package/dist/server/prerender-manifest.js +6 -3
  538. package/dist/server/prerender-route-params.d.ts +16 -9
  539. package/dist/server/prerender-route-params.js +18 -3
  540. package/dist/server/prerender-work-unit-setup.d.ts +2 -3
  541. package/dist/server/prerender-work-unit-setup.js +5 -5
  542. package/dist/server/prod-server.d.ts +12 -9
  543. package/dist/server/prod-server.js +124 -31
  544. package/dist/server/proxy-trust.d.ts +5 -6
  545. package/dist/server/request-log.d.ts +3 -4
  546. package/dist/server/request-pipeline.d.ts +16 -16
  547. package/dist/server/request-pipeline.js +7 -2
  548. package/dist/server/request-stage.d.ts +5 -0
  549. package/dist/server/request-stage.js +7 -0
  550. package/dist/server/request-tracing.d.ts +22 -0
  551. package/dist/server/request-tracing.js +180 -0
  552. package/dist/server/response-stage-cacheability.d.ts +37 -0
  553. package/dist/server/response-stage-cacheability.js +55 -0
  554. package/dist/server/response-stage-policy.d.ts +23 -0
  555. package/dist/server/response-stage-policy.js +89 -0
  556. package/dist/server/response-stage.d.ts +5 -0
  557. package/dist/server/response-stage.js +7 -0
  558. package/dist/server/response-start-tracing.d.ts +14 -0
  559. package/dist/server/response-start-tracing.js +80 -0
  560. package/dist/server/revalidation-host.d.ts +2 -3
  561. package/dist/server/revalidation-host.js +1 -1
  562. package/dist/server/revalidation-request.d.ts +8 -0
  563. package/dist/server/revalidation-request.js +37 -0
  564. package/dist/server/rsc-completion-metadata.d.ts +6 -7
  565. package/dist/server/rsc-stream-hints.d.ts +18 -7
  566. package/dist/server/rsc-stream-hints.js +70 -35
  567. package/dist/server/seed-cache.d.ts +2 -3
  568. package/dist/server/seed-cache.js +8 -7
  569. package/dist/server/server-action-not-found.d.ts +5 -6
  570. package/dist/server/server-globals.d.ts +2 -3
  571. package/dist/server/skip-cache-proof.d.ts +4 -4
  572. package/dist/server/socket-error-backstop.d.ts +5 -6
  573. package/dist/server/socket-error-backstop.js +1 -1
  574. package/dist/server/static-file-cache.d.ts +5 -6
  575. package/dist/server/static-file-cache.js +9 -7
  576. package/dist/server/static-file-signal.d.ts +9 -6
  577. package/dist/server/static-file-signal.js +51 -2
  578. package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
  579. package/dist/server/streaming-metadata.d.ts +2 -3
  580. package/dist/server/tracer.d.ts +5 -0
  581. package/dist/server/tracer.js +13 -0
  582. package/dist/server/worker-prerender-discovery.d.ts +5 -6
  583. package/dist/server/worker-revalidation-context.d.ts +2 -3
  584. package/dist/server/worker-revalidation-context.js +5 -5
  585. package/dist/server/worker-stages.d.ts +43 -0
  586. package/dist/server/worker-stages.js +25 -0
  587. package/dist/server/worker-utils.d.ts +5 -6
  588. package/dist/server/worker-utils.js +2 -1
  589. package/dist/server/workers-tracing.d.ts +17 -0
  590. package/dist/server/workers-tracing.js +27 -0
  591. package/dist/shims/amp.d.ts +3 -4
  592. package/dist/shims/app-router-scroll-state.d.ts +9 -10
  593. package/dist/shims/app-router-scroll.d.ts +4 -5
  594. package/dist/shims/app-router-scroll.js +2 -1
  595. package/dist/shims/app.d.ts +5 -6
  596. package/dist/shims/before-interactive-context.d.ts +5 -6
  597. package/dist/shims/cache-callable-runtime.d.ts +44 -4
  598. package/dist/shims/cache-callable-runtime.js +168 -8
  599. package/dist/shims/cache-for-request.d.ts +2 -3
  600. package/dist/shims/cache-handler.d.ts +33 -20
  601. package/dist/shims/cache-handler.js +61 -2
  602. package/dist/shims/cache-request-state.d.ts +28 -29
  603. package/dist/shims/cache-runtime.d.ts +23 -21
  604. package/dist/shims/cache-runtime.js +107 -27
  605. package/dist/shims/cache.d.ts +15 -15
  606. package/dist/shims/cache.js +15 -13
  607. package/dist/shims/cacheability-classification.d.ts +49 -28
  608. package/dist/shims/cacheability-classification.js +27 -12
  609. package/dist/shims/cdn-cache-state.d.ts +13 -0
  610. package/dist/shims/cdn-cache-state.js +23 -0
  611. package/dist/shims/cdn-cache.d.ts +50 -21
  612. package/dist/shims/cdn-cache.js +15 -38
  613. package/dist/shims/client-hook-error.d.ts +3 -4
  614. package/dist/shims/client-locale.d.ts +2 -3
  615. package/dist/shims/client-page-root.d.ts +24 -0
  616. package/dist/shims/client-page-root.js +121 -0
  617. package/dist/shims/compat-router.d.ts +2 -3
  618. package/dist/shims/config.d.ts +3 -4
  619. package/dist/shims/constants.d.ts +73 -74
  620. package/dist/shims/constants.js +1 -1
  621. package/dist/shims/default-not-found.d.ts +2 -3
  622. package/dist/shims/document.d.ts +9 -9
  623. package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
  624. package/dist/shims/dynamic-preload-chunks.js +17 -13
  625. package/dist/shims/dynamic.d.ts +3 -3
  626. package/dist/shims/error-boundary-navigation.d.ts +3 -4
  627. package/dist/shims/error-boundary.d.ts +17 -18
  628. package/dist/shims/error-boundary.js +17 -11
  629. package/dist/shims/error.d.ts +4 -4
  630. package/dist/shims/error.react-server.d.ts +3 -4
  631. package/dist/shims/fetch-cache.d.ts +22 -22
  632. package/dist/shims/fetch-cache.js +42 -17
  633. package/dist/shims/font-google-base.d.ts +9 -9
  634. package/dist/shims/font-google-base.js +2 -1
  635. package/dist/shims/font-local.d.ts +3 -3
  636. package/dist/shims/font-local.js +1 -1
  637. package/dist/shims/font-utils.d.ts +14 -15
  638. package/dist/shims/form.d.ts +2 -2
  639. package/dist/shims/form.js +10 -7
  640. package/dist/shims/hash-scroll.d.ts +5 -6
  641. package/dist/shims/head-state.d.ts +4 -5
  642. package/dist/shims/head.d.ts +16 -16
  643. package/dist/shims/head.js +5 -4
  644. package/dist/shims/headers.d.ts +67 -33
  645. package/dist/shims/headers.js +93 -6
  646. package/dist/shims/i18n-context.d.ts +5 -6
  647. package/dist/shims/i18n-state.d.ts +4 -5
  648. package/dist/shims/image-config.d.ts +5 -6
  649. package/dist/shims/image-config.js +2 -0
  650. package/dist/shims/image.d.ts +5 -5
  651. package/dist/shims/image.js +12 -8
  652. package/dist/shims/internal/als-registry.d.ts +4 -5
  653. package/dist/shims/internal/api-utils.d.ts +3 -4
  654. package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
  655. package/dist/shims/internal/app-page-props-cache-key.js +53 -1
  656. package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
  657. package/dist/shims/internal/app-prefetch-rsc-request.d.ts +5 -17
  658. package/dist/shims/internal/app-prefetch-rsc-request.js +5 -14
  659. package/dist/shims/internal/app-route-detection.d.ts +2 -2
  660. package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -8
  661. package/dist/shims/internal/app-route-prefetch-policy.js +0 -1
  662. package/dist/shims/internal/app-router-context.d.ts +9 -10
  663. package/dist/shims/internal/cookie-serialize.d.ts +4 -5
  664. package/dist/shims/internal/format-url-object.d.ts +7 -0
  665. package/dist/shims/internal/format-url-object.js +53 -0
  666. package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
  667. package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
  668. package/dist/shims/internal/hybrid-client-route-owner.js +3 -2
  669. package/dist/shims/internal/interpolate-as.d.ts +5 -6
  670. package/dist/shims/internal/interpolate-as.js +4 -2
  671. package/dist/shims/internal/link-status-registry.d.ts +5 -6
  672. package/dist/shims/internal/make-hanging-promise.d.ts +3 -4
  673. package/dist/shims/internal/navigation-untracked.d.ts +2 -3
  674. package/dist/shims/internal/normalize-router-href.d.ts +15 -0
  675. package/dist/shims/internal/normalize-router-href.js +41 -0
  676. package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
  677. package/dist/shims/internal/pages-data-target.d.ts +8 -6
  678. package/dist/shims/internal/pages-data-target.js +32 -36
  679. package/dist/shims/internal/pages-data-url.d.ts +4 -5
  680. package/dist/shims/internal/pages-data-url.js +2 -1
  681. package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
  682. package/dist/shims/internal/pages-router-components.d.ts +3 -4
  683. package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
  684. package/dist/shims/internal/route-pattern-for-warning.js +3 -3
  685. package/dist/shims/internal/router-context.d.ts +2 -3
  686. package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
  687. package/dist/shims/internal/thenable-well-known-properties.js +33 -0
  688. package/dist/shims/internal/utils.d.ts +7 -8
  689. package/dist/shims/internal/work-unit-async-storage.d.ts +10 -11
  690. package/dist/shims/layout-segment-context.d.ts +3 -4
  691. package/dist/shims/link-prefetch.d.ts +9 -10
  692. package/dist/shims/link.d.ts +4 -4
  693. package/dist/shims/link.js +56 -116
  694. package/dist/shims/metadata.d.ts +15 -16
  695. package/dist/shims/metadata.js +40 -36
  696. package/dist/shims/navigation-context-accessors.d.ts +9 -0
  697. package/dist/shims/navigation-context-accessors.js +19 -0
  698. package/dist/shims/navigation-context-state.d.ts +27 -18
  699. package/dist/shims/navigation-errors.d.ts +18 -19
  700. package/dist/shims/navigation-state.d.ts +6 -7
  701. package/dist/shims/navigation.d.ts +80 -68
  702. package/dist/shims/navigation.js +24 -16
  703. package/dist/shims/navigation.react-server.d.ts +9 -9
  704. package/dist/shims/offline.d.ts +2 -3
  705. package/dist/shims/og.d.ts +2 -2
  706. package/dist/shims/pages-router-runtime.d.ts +4 -5
  707. package/dist/shims/ppr-fallback-shell.d.ts +13 -14
  708. package/dist/shims/readonly-url-search-params.d.ts +2 -3
  709. package/dist/shims/request-context.d.ts +5 -6
  710. package/dist/shims/root-params.d.ts +14 -15
  711. package/dist/shims/router-state.d.ts +5 -6
  712. package/dist/shims/router-state.js +1 -1
  713. package/dist/shims/router.d.ts +22 -21
  714. package/dist/shims/router.js +339 -164
  715. package/dist/shims/script-nonce-context.d.ts +8 -6
  716. package/dist/shims/script-nonce-context.js +15 -6
  717. package/dist/shims/script.d.ts +4 -4
  718. package/dist/shims/script.js +9 -7
  719. package/dist/shims/search-params-gate.d.ts +35 -0
  720. package/dist/shims/search-params-gate.js +32 -0
  721. package/dist/shims/server.d.ts +19 -51
  722. package/dist/shims/server.js +14 -28
  723. package/dist/shims/slot.d.ts +33 -15
  724. package/dist/shims/slot.js +41 -9
  725. package/dist/shims/streamed-icons.d.ts +3 -4
  726. package/dist/shims/thenable-params.d.ts +5 -7
  727. package/dist/shims/thenable-params.js +3 -24
  728. package/dist/shims/unified-request-context.d.ts +34 -31
  729. package/dist/shims/unified-request-context.js +34 -24
  730. package/dist/shims/unrecognized-action-error.d.ts +3 -4
  731. package/dist/shims/url-safety.d.ts +5 -6
  732. package/dist/shims/url-utils.d.ts +12 -13
  733. package/dist/shims/use-merged-ref.d.ts +2 -3
  734. package/dist/shims/user-agent.d.ts +31 -0
  735. package/dist/shims/user-agent.js +16 -0
  736. package/dist/shims/web-vitals.d.ts +2 -2
  737. package/dist/typegen.d.ts +3 -4
  738. package/dist/utils/asset-prefix.d.ts +7 -8
  739. package/dist/utils/base-path.d.ts +5 -6
  740. package/dist/utils/built-asset-url.d.ts +2 -3
  741. package/dist/utils/built-asset-url.js +1 -1
  742. package/dist/utils/cache-control-metadata.d.ts +4 -5
  743. package/dist/utils/client-build-manifest.d.ts +6 -7
  744. package/dist/utils/client-build-manifest.js +2 -1
  745. package/dist/utils/client-entry-manifest.d.ts +6 -7
  746. package/dist/utils/client-runtime-metadata.d.ts +8 -3
  747. package/dist/utils/client-runtime-metadata.js +18 -1
  748. package/dist/utils/commonjs-loader.d.ts +4 -5
  749. package/dist/utils/compare.d.ts +2 -3
  750. package/dist/utils/deployment-id.d.ts +6 -7
  751. package/dist/utils/dev-error-recovery-event.d.ts +2 -3
  752. package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
  753. package/dist/utils/domain-locale.d.ts +7 -8
  754. package/dist/utils/encode-cache-tag.d.ts +3 -4
  755. package/dist/utils/error-cause.d.ts +2 -3
  756. package/dist/utils/external-url.d.ts +2 -3
  757. package/dist/utils/has-trailing-comma.d.ts +3 -4
  758. package/dist/utils/hash.d.ts +3 -4
  759. package/dist/utils/html-limited-bots.d.ts +3 -4
  760. package/dist/utils/lazy-chunks.d.ts +8 -9
  761. package/dist/utils/lazy-chunks.js +4 -4
  762. package/dist/utils/manifest-paths.d.ts +5 -6
  763. package/dist/utils/mdx-scan.d.ts +11 -4
  764. package/dist/utils/mdx-scan.js +27 -1
  765. package/dist/utils/middleware-request-headers.d.ts +7 -6
  766. package/dist/utils/middleware-request-headers.js +6 -1
  767. package/dist/utils/navigation-signal.d.ts +3 -3
  768. package/dist/utils/navigation-signal.js +16 -1
  769. package/dist/utils/number.d.ts +2 -3
  770. package/dist/utils/package-name.d.ts +3 -4
  771. package/dist/utils/parse-cookie.d.ts +4 -5
  772. package/dist/utils/path.d.ts +8 -9
  773. package/dist/utils/plugin-options.d.ts +2 -3
  774. package/dist/utils/precompressed-variant.d.ts +3 -4
  775. package/dist/utils/prerender-output-paths.d.ts +4 -5
  776. package/dist/utils/project.d.ts +19 -30
  777. package/dist/utils/project.js +20 -29
  778. package/dist/utils/promise.d.ts +2 -3
  779. package/dist/utils/protocol-headers.d.ts +14 -15
  780. package/dist/utils/public-file-path.d.ts +2 -3
  781. package/dist/utils/public-routes.d.ts +2 -3
  782. package/dist/utils/query.d.ts +14 -9
  783. package/dist/utils/query.js +22 -1
  784. package/dist/utils/react-compiler-support.d.ts +6 -7
  785. package/dist/utils/react-version.d.ts +4 -3
  786. package/dist/utils/react-version.js +19 -1
  787. package/dist/utils/record.d.ts +2 -3
  788. package/dist/utils/redirect-digest.d.ts +3 -4
  789. package/dist/utils/regex-safety.d.ts +4 -5
  790. package/dist/utils/regex.d.ts +2 -3
  791. package/dist/utils/safe-json-file.d.ts +2 -3
  792. package/dist/utils/sorted-array.d.ts +2 -3
  793. package/dist/utils/text-stream.d.ts +3 -4
  794. package/dist/utils/vinext-root.d.ts +2 -3
  795. package/dist/utils/virtual-module.d.ts +3 -4
  796. package/dist/utils/vite-cli-invocation.d.ts +21 -0
  797. package/dist/utils/vite-cli-invocation.js +144 -0
  798. package/dist/utils/vite-version.d.ts +5 -6
  799. package/next-package.json +4 -0
  800. package/package.json +47 -6
@@ -7,7 +7,7 @@ var NoOpCacheHandler = class {
7
7
  async set(_key, _data, _ctx) {}
8
8
  async revalidateTag(_tags, _durations) {}
9
9
  };
10
- const DEFAULT_MEMORY_CACHE_MAX_SIZE = 50 * 1024 * 1024;
10
+ const DEFAULT_MEMORY_CACHE_MAX_SIZE = 52428800;
11
11
  const MAX_REVALIDATED_TAG_ENTRIES = 1e4;
12
12
  function estimateStringMapSize(map) {
13
13
  if (!map) return 0;
@@ -163,7 +163,45 @@ var MemoryCacheHandler = class {
163
163
  resetRequestCache() {}
164
164
  };
165
165
  const HANDLER_KEY = Symbol.for("vinext.cacheHandler");
166
+ const CONFIGURED_HANDLER_KEY = Symbol.for("vinext.configuredCacheHandler");
167
+ const EXPLICIT_HANDLER_KEY = Symbol.for("vinext.explicitCacheHandler");
168
+ const LAZY_HANDLER_KEY = Symbol.for("vinext.lazyCacheHandler");
166
169
  const globalHandlers = globalThis;
170
+ var LazyDataCacheHandler = class {
171
+ load;
172
+ resolved;
173
+ loadedHandler;
174
+ constructor(load) {
175
+ this.load = load;
176
+ }
177
+ resolve() {
178
+ return this.resolved ??= this.load().then(() => {
179
+ const registered = globalHandlers[HANDLER_KEY];
180
+ if (registered && registered !== this) {
181
+ this.loadedHandler = registered;
182
+ return registered;
183
+ }
184
+ const fallback = new MemoryCacheHandler();
185
+ globalHandlers[HANDLER_KEY] = fallback;
186
+ globalHandlers[CONFIGURED_HANDLER_KEY] = fallback;
187
+ delete globalHandlers[LAZY_HANDLER_KEY];
188
+ this.loadedHandler = fallback;
189
+ return fallback;
190
+ });
191
+ }
192
+ async get(key, ctx) {
193
+ return (await this.resolve()).get(key, ctx);
194
+ }
195
+ async set(key, data, ctx) {
196
+ await (await this.resolve()).set(key, data, ctx);
197
+ }
198
+ async revalidateTag(tags, durations) {
199
+ await (await this.resolve()).revalidateTag(tags, durations);
200
+ }
201
+ resetRequestCache() {
202
+ this.loadedHandler?.resetRequestCache?.();
203
+ }
204
+ };
167
205
  function getActiveHandler() {
168
206
  return globalHandlers[HANDLER_KEY] ?? (globalHandlers[HANDLER_KEY] = new MemoryCacheHandler());
169
207
  }
@@ -174,6 +212,27 @@ function configureMemoryCacheHandler(options) {
174
212
  }
175
213
  function setDataCacheHandler(handler) {
176
214
  globalHandlers[HANDLER_KEY] = handler;
215
+ globalHandlers[EXPLICIT_HANDLER_KEY] = handler;
216
+ delete globalHandlers[LAZY_HANDLER_KEY];
217
+ }
218
+ /**
219
+ * Lazily keep the first declaratively configured handler shared across
220
+ * duplicated stage modules. Imperative setters remain able to replace it.
221
+ */
222
+ function registerDataCacheHandler(factory) {
223
+ if (globalHandlers[EXPLICIT_HANDLER_KEY] !== void 0 || globalHandlers[CONFIGURED_HANDLER_KEY] !== void 0) return;
224
+ const handler = factory();
225
+ if (globalHandlers[EXPLICIT_HANDLER_KEY] !== void 0 || globalHandlers[CONFIGURED_HANDLER_KEY] !== void 0) return;
226
+ globalHandlers[HANDLER_KEY] = handler;
227
+ globalHandlers[CONFIGURED_HANDLER_KEY] = handler;
228
+ delete globalHandlers[LAZY_HANDLER_KEY];
229
+ }
230
+ /** Register a lightweight proxy that imports the configured handler on first use. */
231
+ function registerLazyDataCacheHandler(load) {
232
+ if (globalHandlers[EXPLICIT_HANDLER_KEY] !== void 0 || globalHandlers[CONFIGURED_HANDLER_KEY] !== void 0 || globalHandlers[LAZY_HANDLER_KEY] !== void 0) return;
233
+ const handler = new LazyDataCacheHandler(load);
234
+ globalHandlers[HANDLER_KEY] = handler;
235
+ globalHandlers[LAZY_HANDLER_KEY] = handler;
177
236
  }
178
237
  function getDataCacheHandler() {
179
238
  return getActiveHandler();
@@ -185,4 +244,4 @@ function getCacheHandler() {
185
244
  return getDataCacheHandler();
186
245
  }
187
246
  //#endregion
188
- export { MemoryCacheHandler, NoOpCacheHandler, configureMemoryCacheHandler, getCacheHandler, getDataCacheHandler, setCacheHandler, setDataCacheHandler };
247
+ export { MemoryCacheHandler, NoOpCacheHandler, configureMemoryCacheHandler, getCacheHandler, getDataCacheHandler, registerDataCacheHandler, registerLazyDataCacheHandler, setCacheHandler, setDataCacheHandler };
@@ -1,10 +1,10 @@
1
1
  //#region src/shims/cache-request-state.d.ts
2
- type CacheLifeConfig = {
2
+ export type CacheLifeConfig = {
3
3
  stale?: number;
4
4
  revalidate?: number;
5
5
  expire?: number;
6
6
  };
7
- declare const cacheLifeProfiles: Record<string, CacheLifeConfig>;
7
+ export declare const cacheLifeProfiles: Record<string, CacheLifeConfig>;
8
8
  type CacheContextLike = {
9
9
  tags: string[];
10
10
  lifeConfigs: CacheLifeConfig[];
@@ -14,20 +14,20 @@ type CacheContextLike = {
14
14
  hasExplicitExpire: boolean;
15
15
  dynamicNestedCacheError: Error | undefined;
16
16
  };
17
- declare function _registerCacheContextAccessor(fn: () => CacheContextLike | null): void;
18
- declare function getRegisteredCacheContext(): CacheContextLike | null;
17
+ export declare function _registerCacheContextAccessor(fn: () => CacheContextLike | null): void;
18
+ export declare function getRegisteredCacheContext(): CacheContextLike | null;
19
19
  /** Record a root-param dependency on the active public `"use cache"` scope. */
20
- declare function _recordUseCacheRootParamRead(name: string): void;
21
- type UnstableCacheRevalidationMode = "foreground" | "background";
22
- type ActionRevalidationKind = 0 | 1 | 2;
23
- type UnstableCacheObservation = Readonly<{
20
+ export declare function _recordUseCacheRootParamRead(name: string): void;
21
+ export type UnstableCacheRevalidationMode = "foreground" | "background";
22
+ export type ActionRevalidationKind = 0 | 1 | 2;
23
+ export type UnstableCacheObservation = Readonly<{
24
24
  kind: "unstable_cache";
25
25
  keyHash: string;
26
26
  revalidate: number | false | null;
27
27
  tagCount: number;
28
28
  tagHash: string | null;
29
29
  }>;
30
- type CacheState = {
30
+ export type CacheState = {
31
31
  actionRevalidationKind: ActionRevalidationKind;
32
32
  pendingRevalidatedTags: Set<string>;
33
33
  pendingRevalidations: Set<Promise<void>>;
@@ -35,17 +35,17 @@ type CacheState = {
35
35
  unstableCacheObservations: Map<string, UnstableCacheObservation>;
36
36
  unstableCacheRevalidation: UnstableCacheRevalidationMode;
37
37
  };
38
- declare const ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC = 1;
39
- declare const ACTION_DID_REVALIDATE_DYNAMIC_ONLY = 2;
40
- declare function _runWithCacheState<T>(fn: () => Promise<T>): Promise<T>;
41
- declare function _runWithCacheState<T>(fn: () => T | Promise<T>): T | Promise<T>;
42
- declare function _initRequestScopedCacheState(): void;
43
- declare function markActionRevalidation(kind: ActionRevalidationKind): void;
44
- declare function getAndClearActionRevalidationKind(): ActionRevalidationKind;
38
+ export declare const ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC = 1;
39
+ export declare const ACTION_DID_REVALIDATE_DYNAMIC_ONLY = 2;
40
+ export declare function _runWithCacheState<T>(fn: () => Promise<T>): Promise<T>;
41
+ export declare function _runWithCacheState<T>(fn: () => T | Promise<T>): T | Promise<T>;
42
+ export declare function _initRequestScopedCacheState(): void;
43
+ export declare function markActionRevalidation(kind: ActionRevalidationKind): void;
44
+ export declare function getAndClearActionRevalidationKind(): ActionRevalidationKind;
45
45
  /** @internal */
46
- declare function _markPendingRevalidatedTag(tag: string): void;
46
+ export declare function _markPendingRevalidatedTag(tag: string): void;
47
47
  /** @internal */
48
- declare function _hasPendingRevalidatedTag(tags: readonly string[]): boolean;
48
+ export declare function _hasPendingRevalidatedTag(tags: readonly string[]): boolean;
49
49
  /**
50
50
  * Record a cache invalidation that must finish before the current action or
51
51
  * route-handler request is finalized. The public revalidation APIs remain
@@ -57,7 +57,7 @@ declare function _hasPendingRevalidatedTag(tags: readonly string[]): boolean;
57
57
  *
58
58
  * @internal
59
59
  */
60
- declare function _queuePendingRevalidation(promise: Promise<void>): boolean;
60
+ export declare function _queuePendingRevalidation(promise: Promise<void>): boolean;
61
61
  /**
62
62
  * Await and clear every cache invalidation queued in the current request.
63
63
  * Clearing before awaiting also lets a later drain observe work enqueued by
@@ -65,10 +65,10 @@ declare function _queuePendingRevalidation(promise: Promise<void>): boolean;
65
65
  *
66
66
  * @internal
67
67
  */
68
- declare function _drainPendingRevalidations(): Promise<void>;
69
- declare function _setRequestScopedCacheLife(config: CacheLifeConfig): void;
70
- declare function _peekRequestScopedCacheLife(): CacheLifeConfig | null;
71
- declare function _consumeRequestScopedCacheLife(): CacheLifeConfig | null;
68
+ export declare function _drainPendingRevalidations(): Promise<void>;
69
+ export declare function _setRequestScopedCacheLife(config: CacheLifeConfig): void;
70
+ export declare function _peekRequestScopedCacheLife(): CacheLifeConfig | null;
71
+ export declare function _consumeRequestScopedCacheLife(): CacheLifeConfig | null;
72
72
  /**
73
73
  * Capture access to the current request's cache-life slot for work that may
74
74
  * finish after the AsyncLocalStorage request scope has returned. RSC response
@@ -76,12 +76,11 @@ declare function _consumeRequestScopedCacheLife(): CacheLifeConfig | null;
76
76
  * store from a stream-finalization callback can otherwise read a detached
77
77
  * context and lose cacheLife claims made while rendering the body.
78
78
  */
79
- declare function _captureRequestScopedCacheLifeAccessors(): {
79
+ export declare function _captureRequestScopedCacheLifeAccessors(): {
80
80
  consume: () => CacheLifeConfig | null;
81
81
  peek: () => CacheLifeConfig | null;
82
82
  };
83
- declare function recordUnstableCacheObservation(observation: UnstableCacheObservation): void;
84
- declare function _peekUnstableCacheObservations(): UnstableCacheObservation[];
85
- declare function shouldServeStaleUnstableCacheEntry(): boolean;
86
- //#endregion
87
- export { ACTION_DID_REVALIDATE_DYNAMIC_ONLY, ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC, ActionRevalidationKind, CacheLifeConfig, CacheState, UnstableCacheObservation, UnstableCacheRevalidationMode, _captureRequestScopedCacheLifeAccessors, _consumeRequestScopedCacheLife, _drainPendingRevalidations, _hasPendingRevalidatedTag, _initRequestScopedCacheState, _markPendingRevalidatedTag, _peekRequestScopedCacheLife, _peekUnstableCacheObservations, _queuePendingRevalidation, _recordUseCacheRootParamRead, _registerCacheContextAccessor, _runWithCacheState, _setRequestScopedCacheLife, cacheLifeProfiles, getAndClearActionRevalidationKind, getRegisteredCacheContext, markActionRevalidation, recordUnstableCacheObservation, shouldServeStaleUnstableCacheEntry };
83
+ export declare function recordUnstableCacheObservation(observation: UnstableCacheObservation): void;
84
+ export declare function _peekUnstableCacheObservations(): UnstableCacheObservation[];
85
+ export declare function shouldServeStaleUnstableCacheEntry(): boolean;
86
+ //#endregion
@@ -7,10 +7,10 @@ import { markAppPagePropsForUseCache } from "./internal/app-page-props-cache-key
7
7
  * life up to the outer cache. Constructed eagerly while the caller is still on
8
8
  * the synchronous stack.
9
9
  */
10
- declare class NestedDynamicUseCacheError extends Error {
10
+ export declare class NestedDynamicUseCacheError extends Error {
11
11
  constructor();
12
12
  }
13
- type CacheContext = {
13
+ export type CacheContext = {
14
14
  /** Tags collected via cacheTag() during execution */
15
15
  tags: string[];
16
16
  /** Cache life configs collected via cacheLife() — minimum-wins rule applies */
@@ -36,11 +36,11 @@ type CacheContext = {
36
36
  */
37
37
  invalidDynamicUsageError?: unknown;
38
38
  };
39
- declare const cacheContextStorage: import("node:async_hooks").AsyncLocalStorage<CacheContext>;
39
+ export declare const cacheContextStorage: import("node:async_hooks").AsyncLocalStorage<CacheContext>;
40
40
  /**
41
41
  * Get the current cache context. Returns null if not inside a "use cache" function.
42
42
  */
43
- declare function getCacheContext(): CacheContext | null;
43
+ export declare function getCacheContext(): CacheContext | null;
44
44
  /**
45
45
  * Build the shared-cache key for a "use cache" function from its build-scoped
46
46
  * identity and serialized arguments.
@@ -51,7 +51,7 @@ declare function getCacheContext(): CacheContext | null;
51
51
  *
52
52
  * Exported for testing.
53
53
  */
54
- declare function buildUseCacheKey(id: string, keySeed: string | undefined, argsKey?: string): string;
54
+ export declare function buildUseCacheKey(id: string, keySeed: string | undefined, argsKey?: string): string;
55
55
  /**
56
56
  * Convert an encodeReply result (string | FormData) to a cache key string.
57
57
  * For FormData (binary args), produces a deterministic SHA-256 hash over
@@ -60,8 +60,8 @@ declare function buildUseCacheKey(id: string, keySeed: string | undefined, argsK
60
60
  *
61
61
  * Exported for testing.
62
62
  */
63
- declare function replyToCacheKey(reply: string | FormData): Promise<string>;
64
- type PrivateCacheState = {
63
+ export declare function replyToCacheKey(reply: string | FormData): Promise<string>;
64
+ export type PrivateCacheState = {
65
65
  _privateCache: Map<string, unknown> | null;
66
66
  };
67
67
  /**
@@ -69,31 +69,25 @@ type PrivateCacheState = {
69
69
  * Ensures per-request isolation for "use cache: private" entries
70
70
  * on concurrent runtimes.
71
71
  */
72
- declare function runWithPrivateCache<T>(fn: () => Promise<T>): Promise<T>;
73
- declare function runWithPrivateCache<T>(fn: () => T | Promise<T>): T | Promise<T>;
72
+ export declare function runWithPrivateCache<T>(fn: () => Promise<T>): Promise<T>;
73
+ export declare function runWithPrivateCache<T>(fn: () => T | Promise<T>): T | Promise<T>;
74
74
  /**
75
75
  * Clear the private per-request cache. Should be called at the start of each request.
76
76
  * Only needed when not using runWithPrivateCache() (legacy path).
77
77
  */
78
- declare function clearPrivateCache(): void;
79
- type RegisterCachedFunctionOptions = {
78
+ export declare function clearPrivateCache(): void;
79
+ export type RegisterCachedFunctionOptions = {
80
80
  /**
81
81
  * Whether the original function declaration accepts a second argument.
82
82
  * Function.length cannot represent default or rest parameters, so the
83
83
  * transform records this separately for metadata parent resolution.
84
84
  */
85
85
  acceptsSecondArgument?: boolean;
86
- /**
87
- * Internal transform metadata for file-level `"use cache"` default exports
88
- * in App Router `page.*` files. Page components receive framework-owned
89
- * `{ params, searchParams }` props. React may copy that props object before
90
- * invocation, so this invariant must live at the cached function boundary
91
- * rather than on the intermediate createElement config object.
92
- */
93
- appPageDefaultExport?: boolean;
94
86
  /** Number of declared arguments supplied by the directive transform. */
95
87
  argumentCount?: number;
96
88
  decryptCaptures?: (value: unknown) => Promise<unknown[] | undefined>;
89
+ encodeInvocationArgs?: (args: unknown[]) => Promise<string>;
90
+ serverReferenceId?: string;
97
91
  };
98
92
  /**
99
93
  * Register a function as a cached function. This is called by the Vite
@@ -104,6 +98,14 @@ type RegisterCachedFunctionOptions = {
104
98
  * @param variant - Cache variant: "" (default/shared), "remote", "private"
105
99
  * @returns A wrapper function that checks cache before calling the original
106
100
  */
107
- declare function registerCachedFunction<TArgs extends unknown[], TResult>(fn: (...args: TArgs) => Promise<TResult>, id: string, variant?: string, options?: RegisterCachedFunctionOptions): (...args: TArgs) => Promise<TResult>;
101
+ export declare function registerCachedFunction<TArgs extends unknown[], TResult>(fn: (...args: TArgs) => Promise<TResult>, id: string, variant?: string, options?: RegisterCachedFunctionOptions): (...args: TArgs) => Promise<TResult>;
102
+ /** Whether a loaded server reference is a transformed `"use cache"` function. */
103
+ export declare function isUseCacheFunction(value: unknown): value is (...args: unknown[]) => Promise<unknown>;
104
+ /**
105
+ * A thenable (not an array) with own enumerable properties — the
106
+ * `Object.assign(Promise.resolve(obj), obj)` pattern Next.js params use. The
107
+ * cache key is built from its fields instead of the promise.
108
+ */
109
+ export declare function isThenableObject(value: object): value is PromiseLike<unknown>;
108
110
  //#endregion
109
- export { CacheContext, NestedDynamicUseCacheError, PrivateCacheState, RegisterCachedFunctionOptions, buildUseCacheKey, cacheContextStorage, clearPrivateCache, getCacheContext, markAppPagePropsForUseCache, registerCachedFunction, replyToCacheKey, runWithPrivateCache };
111
+ export { markAppPagePropsForUseCache };
@@ -1,16 +1,17 @@
1
1
  import { getOrCreateAls } from "./internal/als-registry.js";
2
2
  import { getRequestContext, isInsideUnifiedScope, runWithUnifiedStateMutation } from "./unified-request-context.js";
3
3
  import { VINEXT_RSC_MARKER_HEADER } from "../server/headers.js";
4
+ import { workUnitAsyncStorage } from "./internal/work-unit-async-storage.js";
5
+ import { isRouteCacheabilityProbe, recordRouteCacheabilityProbeBailout } from "./cacheability-classification.js";
4
6
  import { getDataCacheHandler } from "./cache-handler.js";
5
7
  import { suppressHangingPromiseAbortRejections } from "./internal/make-hanging-promise.js";
6
8
  import { createPprFallbackShellSuspensePromise, trackPprFallbackShellCacheTask } from "./ppr-fallback-shell.js";
7
- import { isDraftModeEnabled, markDynamicUsage } from "./headers.js";
9
+ import { isDraftModeEnabled, markDynamicUsage, throwIfInsideCacheScope } from "./headers.js";
8
10
  import { _hasPendingRevalidatedTag, _registerCacheContextAccessor, _setRequestScopedCacheLife, cacheLifeProfiles } from "./cache-request-state.js";
9
11
  import { addCollectedRequestTags, getCurrentFetchSoftTags } from "./fetch-cache.js";
10
- import { isMarkedAppPagePropsObject, markAppPagePropsForUseCache } from "./internal/app-page-props-cache-key.js";
11
- import { isRouteCacheabilityProbe, recordRouteCacheabilityProbeBailout } from "./cacheability-classification.js";
12
+ import { makeThenableParams } from "./thenable-params.js";
13
+ import { APP_PAGE_USE_CACHE_MARKER, hasUseCachePageMarker, isMarkedAppPagePropsObject, isUseCacheFunctionReference, markAppPagePropsForUseCache } from "./internal/app-page-props-cache-key.js";
12
14
  import { getCurrentRootParams } from "./root-params.js";
13
- import { workUnitAsyncStorage } from "./internal/work-unit-async-storage.js";
14
15
  //#region src/shims/cache-runtime.ts
15
16
  /**
16
17
  * "use cache" runtime
@@ -309,7 +310,8 @@ function propagateRootParamNamesToParent(names) {
309
310
  */
310
311
  function registerCachedFunction(fn, id, variant, options = {}) {
311
312
  const cacheVariant = variant ?? "";
312
- const omitAppPageSearchParamsFromFirstArg = options.appPageDefaultExport === true;
313
+ const omitAppPageSearchParams = cacheVariant !== "private";
314
+ const cacheFunctionId = options.serverReferenceId ? JSON.stringify([id, options.serverReferenceId]) : id;
313
315
  const isDev = typeof process !== "undefined" && process.env.NODE_ENV === "development";
314
316
  const cachedFn = (...args) => {
315
317
  if (cacheVariant === "private") {
@@ -346,18 +348,29 @@ function registerCachedFunction(fn, id, variant, options = {}) {
346
348
  const keySeed = getUseCacheKeySeed();
347
349
  const captures = options.decryptCaptures ? await options.decryptCaptures(args[0]) : void 0;
348
350
  const hasCaptureEnvelope = captures !== void 0;
349
- const admittedArgs = options.argumentCount === void 0 ? args : hasCaptureEnvelope ? [args[0], ...args.slice(1, 1 + options.argumentCount)] : args.slice(0, options.argumentCount);
351
+ const pagePropsArgIndex = args.findIndex(hasUseCachePageMarker);
352
+ const isPageInvocation = pagePropsArgIndex !== -1;
353
+ const invocationArgs = isPageInvocation ? replaceArgument(args, pagePropsArgIndex, withoutUseCachePageMarker(args[pagePropsArgIndex])) : args;
354
+ const admittedArgs = options.argumentCount === void 0 ? invocationArgs : hasCaptureEnvelope ? [invocationArgs[0], ...invocationArgs.slice(1, 1 + options.argumentCount)] : invocationArgs.slice(0, options.argumentCount);
350
355
  const executionArgs = hasCaptureEnvelope ? [captures, ...admittedArgs.slice(1)] : admittedArgs;
351
- const callArgs = executionArgs;
356
+ const pagePropsIndex = omitAppPageSearchParams && isPageInvocation ? pagePropsArgIndex : void 0;
357
+ const callArgs = pagePropsIndex === void 0 ? executionArgs : withErroringPageSearchParams(executionArgs, pagePropsIndex);
352
358
  let cacheKey;
353
359
  try {
354
- const processedArgs = executionArgs.length > 0 ? unwrapThenableObjectArray(executionArgs, { omitAppPageSearchParamsFromFirstArg }) : [];
360
+ const processedArgs = executionArgs.length > 0 ? unwrapThenableObjectArray(executionArgs, {
361
+ pagePropsIndex,
362
+ omitMarkedAppPageSearchParams: omitAppPageSearchParams
363
+ }) : [];
355
364
  if (rsc && executionArgs.length > 0) {
356
365
  const tempRefs = rsc.createClientTemporaryReferenceSet();
357
- cacheKey = buildUseCacheKey(id, keySeed, await replyToCacheKey(await rsc.encodeReply(processedArgs, { temporaryReferences: tempRefs })));
358
- } else cacheKey = buildUseCacheKey(id, keySeed, processedArgs.length > 0 ? stableStringify(processedArgs) : void 0);
366
+ const encoded = await rsc.encodeReply(processedArgs, { temporaryReferences: tempRefs });
367
+ cacheKey = buildUseCacheKey(cacheFunctionId, keySeed, await replyToCacheKey(encoded));
368
+ } else {
369
+ const argsKey = processedArgs.length > 0 ? stableStringify(processedArgs) : void 0;
370
+ cacheKey = buildUseCacheKey(cacheFunctionId, keySeed, argsKey);
371
+ }
359
372
  } catch {
360
- return fn(...callArgs);
373
+ return (await executeWithContext(fn, callArgs, cacheVariant)).result;
361
374
  }
362
375
  if (cacheVariant === "private") {
363
376
  const privateCache = _getPrivateState()._privateCache;
@@ -415,6 +428,15 @@ function registerCachedFunction(fn, id, variant, options = {}) {
415
428
  propagateCacheTagsToRequest(ctx.tags);
416
429
  const revalidateSeconds = effectiveLife.revalidate ?? cacheLifeProfiles.default.revalidate ?? 900;
417
430
  if (collectedResult?.cacheEntry) try {
431
+ let cacheFunctionInvocation;
432
+ if (options.serverReferenceId && options.encodeInvocationArgs) try {
433
+ cacheFunctionInvocation = {
434
+ encryptedArgs: await options.encodeInvocationArgs(pagePropsIndex === void 0 ? admittedArgs : toReplayablePageArgs(admittedArgs, pagePropsIndex)),
435
+ referenceId: options.serverReferenceId,
436
+ rootParams: Object.fromEntries(Object.entries(rootParams ?? {}).filter((entry) => entry[1] !== void 0)),
437
+ softTags
438
+ };
439
+ } catch {}
418
440
  const serialized = collectedResult.cacheEntry;
419
441
  const cacheValue = {
420
442
  kind: "FETCH",
@@ -429,6 +451,7 @@ function registerCachedFunction(fn, id, variant, options = {}) {
429
451
  const cacheContext = {
430
452
  fetchCache: true,
431
453
  tags: ctx.tags,
454
+ ...cacheFunctionInvocation ? { cacheFunctionInvocation } : {},
432
455
  cacheControl: {
433
456
  revalidate: revalidateSeconds,
434
457
  expire: effectiveLife.expire,
@@ -470,6 +493,10 @@ function registerCachedFunction(fn, id, variant, options = {}) {
470
493
  const USE_CACHE_FUNCTION_SYMBOL = Symbol.for("vinext.useCacheFunction");
471
494
  /** @internal Symbol carrying transform-derived cached function argument metadata. */
472
495
  const USE_CACHE_ACCEPTS_SECOND_ARGUMENT_SYMBOL = Symbol.for("vinext.useCacheAcceptsSecondArgument");
496
+ /** Whether a loaded server reference is a transformed `"use cache"` function. */
497
+ function isUseCacheFunction(value) {
498
+ return isUseCacheFunctionReference(value);
499
+ }
473
500
  function throwPrivateUseCacheInsidePublicUseCacheError() {
474
501
  const error = /* @__PURE__ */ new Error("\"use cache: private\" must not be used within \"use cache\". It can only be nested inside of another \"use cache: private\".");
475
502
  const ctx = getRequestContext();
@@ -551,11 +578,12 @@ async function runCachedFunctionWithContext(fn, args, variant, collectResult) {
551
578
  invalidDynamicUsageError: void 0
552
579
  };
553
580
  let collectedResult;
554
- const result = await cacheContextStorage.run(ctx, async () => {
581
+ const workUnitType = variant === "private" ? "private-cache" : "cache";
582
+ const result = await workUnitAsyncStorage.run({ type: workUnitType }, () => cacheContextStorage.run(ctx, async () => {
555
583
  const value = await fn(...args);
556
584
  if (collectResult) collectedResult = await collectResult(value, ctx);
557
585
  return value;
558
- });
586
+ }));
559
587
  if (ctx.invalidDynamicUsageError) throw ctx.invalidDynamicUsageError;
560
588
  const effectiveLife = resolveCacheLife(ctx.lifeConfigs);
561
589
  if (parentCtx) {
@@ -575,27 +603,79 @@ async function runCachedFunctionWithContext(fn, args, variant, collectResult) {
575
603
  collectedResult
576
604
  };
577
605
  }
578
- function unwrapThenableObjects(value, options = {}) {
606
+ function unwrapThenableObjects(value, options) {
579
607
  if (value === null || value === void 0 || typeof value !== "object") return value;
580
- if (Array.isArray(value)) return value.map((item) => unwrapThenableObjects(item));
581
- if (typeof value.then === "function") {
582
- const keys = Object.keys(value);
583
- if (keys.length > 0) {
584
- const plain = {};
585
- for (const key of keys) plain[key] = unwrapThenableObjects(value[key]);
586
- return plain;
587
- }
588
- return value;
608
+ const childOptions = { omitMarkedAppPageSearchParams: options.omitMarkedAppPageSearchParams };
609
+ if (Array.isArray(value)) return value.map((item) => unwrapThenableObjects(item, childOptions));
610
+ if (isThenableObject(value)) {
611
+ const plain = {};
612
+ for (const key of Object.keys(value)) plain[key] = unwrapThenableObjects(value[key], childOptions);
613
+ return plain;
589
614
  }
615
+ if (typeof value.then === "function") return value;
590
616
  const result = {};
591
617
  for (const key of Object.keys(value)) {
592
- if (key === "searchParams" && (options.omitAppPageSearchParamsAtRoot || isMarkedAppPagePropsObject(value))) continue;
593
- result[key] = unwrapThenableObjects(value[key]);
618
+ if (key === "searchParams" && (options.omitAppPageSearchParamsAtRoot || options.omitMarkedAppPageSearchParams && isMarkedAppPagePropsObject(value))) continue;
619
+ result[key] = unwrapThenableObjects(value[key], childOptions);
594
620
  }
595
621
  return result;
596
622
  }
623
+ /**
624
+ * A thenable (not an array) with own enumerable properties — the
625
+ * `Object.assign(Promise.resolve(obj), obj)` pattern Next.js params use. The
626
+ * cache key is built from its fields instead of the promise.
627
+ */
628
+ function isThenableObject(value) {
629
+ return !Array.isArray(value) && "then" in value && typeof value.then === "function" && Object.keys(value).length > 0;
630
+ }
631
+ function isPagePropsObject(value) {
632
+ return value !== null && typeof value === "object" && !Array.isArray(value);
633
+ }
634
+ function replaceArgument(args, index, value) {
635
+ const result = [...args];
636
+ result[index] = value;
637
+ return result;
638
+ }
639
+ /** Remove the `$$isPage` invocation marker before props reach the key or user code. */
640
+ function withoutUseCachePageMarker(props) {
641
+ const { [APP_PAGE_USE_CACHE_MARKER]: _marker, ...pageProps } = props;
642
+ return isMarkedAppPagePropsObject(props) ? markAppPagePropsForUseCache(pageProps) : pageProps;
643
+ }
644
+ /**
645
+ * Response Store replay args for a public page cache: drop `searchParams` from
646
+ * the page props at `index` (after a capture envelope, if any), as Next.js does
647
+ * for the serialized arguments (use-cache-wrapper.ts, `isPageSegmentFunction`),
648
+ * and keep the `$$isPage` marker so a replay regains page semantics, including
649
+ * the erroring searchParams fallback.
650
+ */
651
+ function toReplayablePageArgs(args, index) {
652
+ const props = args[index];
653
+ if (!isPagePropsObject(props)) return [...args];
654
+ const { searchParams: _searchParams, ...pageProps } = props;
655
+ return replaceArgument(args, index, {
656
+ ...pageProps,
657
+ [APP_PAGE_USE_CACHE_MARKER]: true
658
+ });
659
+ }
660
+ /**
661
+ * Give page props at `index` without `searchParams` (a Response Store replay of
662
+ * args encoded by `toReplayablePageArgs`) a value that throws on
663
+ * access inside the cache scope, like Next.js's
664
+ * `makeErroringSearchParamsForUseCache`, instead of `undefined`.
665
+ */
666
+ function withErroringPageSearchParams(args, index) {
667
+ const props = args[index];
668
+ if (!isPagePropsObject(props) || "searchParams" in props) return args;
669
+ return replaceArgument(args, index, {
670
+ ...props,
671
+ searchParams: makeThenableParams({}, { observeParamAccess: () => throwIfInsideCacheScope("searchParams") })
672
+ });
673
+ }
597
674
  function unwrapThenableObjectArray(values, options) {
598
- return values.map((value, index) => unwrapThenableObjects(value, { omitAppPageSearchParamsAtRoot: index === 0 && options.omitAppPageSearchParamsFromFirstArg }));
675
+ return values.map((value, index) => unwrapThenableObjects(value, {
676
+ omitAppPageSearchParamsAtRoot: index === options.pagePropsIndex,
677
+ omitMarkedAppPageSearchParams: options.omitMarkedAppPageSearchParams
678
+ }));
599
679
  }
600
680
  function stableStringify(value, seen) {
601
681
  if (value === void 0) return "undefined";
@@ -622,4 +702,4 @@ function stableStringify(value, seen) {
622
702
  return JSON.stringify(value);
623
703
  }
624
704
  //#endregion
625
- export { NestedDynamicUseCacheError, buildUseCacheKey, cacheContextStorage, clearPrivateCache, getCacheContext, markAppPagePropsForUseCache, registerCachedFunction, replyToCacheKey, runWithPrivateCache };
705
+ export { NestedDynamicUseCacheError, buildUseCacheKey, cacheContextStorage, clearPrivateCache, getCacheContext, isThenableObject, isUseCacheFunction, markAppPagePropsForUseCache, registerCachedFunction, replyToCacheKey, runWithPrivateCache };
@@ -1,6 +1,6 @@
1
1
  import { ExecutionContextLike, getRequestExecutionContext, runWithExecutionContext } from "./request-context.js";
2
2
  import { ACTION_DID_REVALIDATE_DYNAMIC_ONLY, ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC, ActionRevalidationKind, CacheLifeConfig, CacheState, UnstableCacheObservation, UnstableCacheRevalidationMode, _captureRequestScopedCacheLifeAccessors, _consumeRequestScopedCacheLife, _drainPendingRevalidations, _hasPendingRevalidatedTag, _initRequestScopedCacheState, _markPendingRevalidatedTag, _peekRequestScopedCacheLife, _peekUnstableCacheObservations, _queuePendingRevalidation, _recordUseCacheRootParamRead, _registerCacheContextAccessor, _runWithCacheState, _setRequestScopedCacheLife, cacheLifeProfiles, getAndClearActionRevalidationKind, getRegisteredCacheContext, markActionRevalidation, recordUnstableCacheObservation, shouldServeStaleUnstableCacheEntry } from "./cache-request-state.js";
3
- import { CacheControlMetadata, CacheHandler, CacheHandlerContext, CacheHandlerValue, CachedAppPageValue, CachedFetchValue, CachedImageValue, CachedPagesValue, CachedRedirectValue, CachedRouteValue, IncrementalCacheValue, MemoryCacheHandler, NoOpCacheHandler, configureMemoryCacheHandler, getCacheHandler, getDataCacheHandler, setCacheHandler, setDataCacheHandler } from "./cache-handler.js";
3
+ import { CacheControlMetadata, CacheHandler, CacheHandlerContext, CacheHandlerValue, CachedAppPageValue, CachedFetchValue, CachedImageValue, CachedPagesValue, CachedRedirectValue, CachedRouteValue, IncrementalCacheValue, MemoryCacheHandler, NoOpCacheHandler, configureMemoryCacheHandler, getCacheHandler, getDataCacheHandler, registerDataCacheHandler, registerLazyDataCacheHandler, setCacheHandler, setDataCacheHandler } from "./cache-handler.js";
4
4
  //#region src/shims/cache.d.ts
5
5
  /**
6
6
  * Revalidate cached data associated with a specific cache tag.
@@ -15,7 +15,7 @@ import { CacheControlMetadata, CacheHandler, CacheHandlerContext, CacheHandlerVa
15
15
  * @param tag - Cache tag to revalidate
16
16
  * @param profile - cacheLife profile name (e.g. 'max', 'hours') or inline { expire: number }
17
17
  */
18
- declare function revalidateTag(tag: string, profile?: string | {
18
+ export declare function revalidateTag(tag: string, profile?: string | {
19
19
  expire?: number;
20
20
  }): undefined;
21
21
  /**
@@ -33,7 +33,7 @@ declare function revalidateTag(tag: string, profile?: string | {
33
33
  * The `type` parameter is App Router only — Pages Router does not generate
34
34
  * layout/page hierarchy tags, so only no-type invalidation applies there.
35
35
  */
36
- declare function revalidatePath(path: string, type?: "page" | "layout"): undefined;
36
+ export declare function revalidatePath(path: string, type?: "page" | "layout"): undefined;
37
37
  /**
38
38
  * No-op shim for API compatibility.
39
39
  *
@@ -42,7 +42,7 @@ declare function revalidatePath(path: string, type?: "page" | "layout"): undefin
42
42
  * vinext reports the dynamic-only invalidation through the Server Action
43
43
  * response header that the client router already understands.
44
44
  */
45
- declare function refresh(): void;
45
+ export declare function refresh(): void;
46
46
  /**
47
47
  * Expire a cache tag immediately (Next.js 16).
48
48
  *
@@ -56,7 +56,7 @@ declare function refresh(): void;
56
56
  *
57
57
  * @see https://nextjs.org/docs/app/api-reference/functions/updateTag
58
58
  */
59
- declare function updateTag(tag: string): undefined;
59
+ export declare function updateTag(tag: string): undefined;
60
60
  /**
61
61
  * Opt out of static rendering and indicate a particular component should not be cached.
62
62
  *
@@ -65,7 +65,7 @@ declare function updateTag(tag: string): undefined;
65
65
  * have the same static/dynamic rendering split — all server rendering is on-demand.
66
66
  * It's provided for API compatibility so apps importing it don't break.
67
67
  */
68
- declare function unstable_noStore(): void;
68
+ export declare function unstable_noStore(): void;
69
69
  /**
70
70
  * Marks an IO boundary in server components by returning a resolved promise
71
71
  * during requests and a hanging promise during prerendering.
@@ -89,13 +89,13 @@ declare function unstable_noStore(): void;
89
89
  * When no work unit store is present (e.g. client-side, standalone script),
90
90
  * resolves immediately — matching the browser/client implementation.
91
91
  */
92
- declare function io(): Promise<void>;
92
+ export declare function io(): Promise<void>;
93
93
  /**
94
94
  * @deprecated Use `io` instead. Kept as a transitional alias since vinext
95
95
  * shipped the unstable name longer than upstream Next.js (see #805). Will be
96
96
  * removed in a future minor.
97
97
  */
98
- declare function unstable_io(): Promise<void>;
98
+ export declare function unstable_io(): Promise<void>;
99
99
  /**
100
100
  * Set the cache lifetime for a "use cache" function.
101
101
  *
@@ -108,7 +108,7 @@ declare function unstable_io(): Promise<void>;
108
108
  *
109
109
  * When called outside a "use cache" context, this is a validated no-op.
110
110
  */
111
- declare function cacheLife(profile: string | CacheLifeConfig): void;
111
+ export declare function cacheLife(profile: string | CacheLifeConfig): void;
112
112
  /**
113
113
  * Tag a "use cache" function's cached result for on-demand revalidation.
114
114
  *
@@ -120,15 +120,15 @@ declare function cacheLife(profile: string | CacheLifeConfig): void;
120
120
  *
121
121
  * When called outside a "use cache" context, this is a no-op.
122
122
  */
123
- declare function cacheTag(...tags: string[]): void;
124
- declare function unstable_cacheLife(profile: string | CacheLifeConfig): void;
125
- declare function unstable_cacheTag(...tags: string[]): void;
123
+ export declare function cacheTag(...tags: string[]): void;
124
+ export declare function unstable_cacheLife(profile: string | CacheLifeConfig): void;
125
+ export declare function unstable_cacheTag(...tags: string[]): void;
126
126
  /**
127
127
  * Check if the current execution context is inside an unstable_cache() callback.
128
128
  * Used by headers(), cookies(), and connection() to throw errors when
129
129
  * dynamic request APIs are called inside a cache scope.
130
130
  */
131
- declare function isInsideUnstableCacheScope(): boolean;
131
+ export declare function isInsideUnstableCacheScope(): boolean;
132
132
  type UnstableCacheOptions = {
133
133
  revalidate?: number | false;
134
134
  tags?: string[];
@@ -139,6 +139,6 @@ type UnstableCacheOptions = {
139
139
  * Returns a new function that caches results. The cache key is derived
140
140
  * from keyParts + serialized arguments.
141
141
  */
142
- declare function unstable_cache<T extends (...args: any[]) => Promise<any>>(fn: T, keyParts?: string[], options?: UnstableCacheOptions): T;
142
+ export declare function unstable_cache<T extends (...args: any[]) => Promise<any>>(fn: T, keyParts?: string[], options?: UnstableCacheOptions): T;
143
143
  //#endregion
144
- export { ACTION_DID_REVALIDATE_DYNAMIC_ONLY, ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC, ActionRevalidationKind, CacheControlMetadata, CacheHandler, CacheHandlerContext, CacheHandlerValue, CacheLifeConfig, CacheState, CachedAppPageValue, CachedFetchValue, CachedImageValue, CachedPagesValue, CachedRedirectValue, CachedRouteValue, type ExecutionContextLike, IncrementalCacheValue, MemoryCacheHandler, NoOpCacheHandler, UnstableCacheObservation, UnstableCacheRevalidationMode, _captureRequestScopedCacheLifeAccessors, _consumeRequestScopedCacheLife, _drainPendingRevalidations, _hasPendingRevalidatedTag, _initRequestScopedCacheState, _markPendingRevalidatedTag, _peekRequestScopedCacheLife, _peekUnstableCacheObservations, _queuePendingRevalidation, _recordUseCacheRootParamRead, _registerCacheContextAccessor, _runWithCacheState, _setRequestScopedCacheLife, cacheLife, cacheLifeProfiles, cacheTag, configureMemoryCacheHandler, getAndClearActionRevalidationKind, getCacheHandler, getDataCacheHandler, getRegisteredCacheContext, getRequestExecutionContext, io, isInsideUnstableCacheScope, markActionRevalidation, unstable_noStore as noStore, unstable_noStore, recordUnstableCacheObservation, refresh, revalidatePath, revalidateTag, runWithExecutionContext, setCacheHandler, setDataCacheHandler, shouldServeStaleUnstableCacheEntry, unstable_cache, unstable_cacheLife, unstable_cacheTag, unstable_io, updateTag };
144
+ export { ACTION_DID_REVALIDATE_DYNAMIC_ONLY, ACTION_DID_REVALIDATE_STATIC_AND_DYNAMIC, ActionRevalidationKind, CacheControlMetadata, CacheHandler, CacheHandlerContext, CacheHandlerValue, CacheLifeConfig, CacheState, CachedAppPageValue, CachedFetchValue, CachedImageValue, CachedPagesValue, CachedRedirectValue, CachedRouteValue, type ExecutionContextLike, IncrementalCacheValue, MemoryCacheHandler, NoOpCacheHandler, UnstableCacheObservation, UnstableCacheRevalidationMode, _captureRequestScopedCacheLifeAccessors, _consumeRequestScopedCacheLife, _drainPendingRevalidations, _hasPendingRevalidatedTag, _initRequestScopedCacheState, _markPendingRevalidatedTag, _peekRequestScopedCacheLife, _peekUnstableCacheObservations, _queuePendingRevalidation, _recordUseCacheRootParamRead, _registerCacheContextAccessor, _runWithCacheState, _setRequestScopedCacheLife, cacheLifeProfiles, configureMemoryCacheHandler, getAndClearActionRevalidationKind, getCacheHandler, getDataCacheHandler, getRegisteredCacheContext, getRequestExecutionContext, markActionRevalidation, unstable_noStore as noStore, recordUnstableCacheObservation, registerDataCacheHandler, registerLazyDataCacheHandler, runWithExecutionContext, setCacheHandler, setDataCacheHandler, shouldServeStaleUnstableCacheEntry };