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,43 @@
1
+ import { VinextResponseStageCacheability, VinextResponseStageTransport } from "./multi-stage.js";
2
+ import { PagesRenderOptions } from "./pages-request-pipeline.js";
3
+ //#region src/server/worker-stages.d.ts
4
+ export declare const PAGES_RESPONSE_STAGE_PROTOCOL_VERSION = 4;
5
+ export declare const PAGES_RESPONSE_STAGE_POLICY_OWNER_HEADER = "x-vinext-pages-response-stage-policy-owner";
6
+ export type PagesResponseStagePolicyOwner = "request-time" | "static";
7
+ type PagesResponseStageEnvelope = {
8
+ buildId: string | null;
9
+ cacheability: VinextResponseStageCacheability;
10
+ protocolVersion: typeof PAGES_RESPONSE_STAGE_PROTOCOL_VERSION;
11
+ /** Host is explicit because multi-tenant/domain-i18n renders vary by it. */
12
+ requestHost: string;
13
+ /** Complete response-header snapshot installed before Pages user code runs. */
14
+ stagedHeaders: Array<[string, string]> | null;
15
+ };
16
+ /** Serializable Pages page render delegated to a cacheable Worker stage. */
17
+ type PagesPageResponseStageProps = PagesResponseStageEnvelope & {
18
+ kind: "pages-page";
19
+ renderOptions: PagesRenderOptions | null;
20
+ resolvedUrl: string;
21
+ };
22
+ /** Serializable Pages API dispatch delegated to a cacheable Worker stage. */
23
+ type PagesApiResponseStageProps = PagesResponseStageEnvelope & {
24
+ apiUrl: string;
25
+ kind: "pages-api";
26
+ };
27
+ /** Authenticated staged-worker path discovery delegated outside the shared cache. */
28
+ type PagesPrerenderDiscoveryStageProps = PagesResponseStageEnvelope & {
29
+ kind: "pages-prerender-discovery";
30
+ };
31
+ /** Serializable description of work delegated to a cacheable Worker stage. */
32
+ export type WorkerResponseStageProps = PagesApiResponseStageProps | PagesPageResponseStageProps | PagesPrerenderDiscoveryStageProps;
33
+ /**
34
+ * Host-owned transport for invoking a response stage.
35
+ *
36
+ * Core request pipelines decide what may be shared and provide the complete
37
+ * serialized render identity here. Response-only middleware/config state is
38
+ * carried in the props so Pages user code observes the same pre-handler
39
+ * response as Next.js.
40
+ */
41
+ export type DispatchWorkerResponseStage = VinextResponseStageTransport<WorkerResponseStageProps>;
42
+ export declare function isPagesResponseStageProps(value: unknown): value is WorkerResponseStageProps;
43
+ //#endregion
@@ -0,0 +1,25 @@
1
+ //#region src/server/worker-stages.ts
2
+ const PAGES_RESPONSE_STAGE_PROTOCOL_VERSION = 4;
3
+ const PAGES_RESPONSE_STAGE_POLICY_OWNER_HEADER = "x-vinext-pages-response-stage-policy-owner";
4
+ function isSerializedHeaders(value) {
5
+ return Array.isArray(value) && value.every((entry) => Array.isArray(entry) && entry.length === 2 && typeof entry[0] === "string" && typeof entry[1] === "string");
6
+ }
7
+ function isResponseStageCacheability(value) {
8
+ if (!value || typeof value !== "object") return false;
9
+ const cacheability = value;
10
+ return (cacheability.probeMode === null || cacheability.probeMode === "probe" || cacheability.probeMode === "identity") && (cacheability.policyHeaders === null || Array.isArray(cacheability.policyHeaders) && cacheability.policyHeaders.every((entry) => Array.isArray(entry) && entry.length === 2 && typeof entry[0] === "string" && typeof entry[1] === "string")) && (cacheability.representation === void 0 || cacheability.representation === "app-route" || cacheability.representation === "html" || cacheability.representation === "pages-data" || cacheability.representation === "rsc-full" || cacheability.representation === "rsc-loading-shell") && typeof cacheability.resolvedRoutePathname === "string" && cacheability.resolvedRoutePathname.startsWith("/");
11
+ }
12
+ function isPagesResponseStageProps(value) {
13
+ if (!value || typeof value !== "object") return false;
14
+ const props = value;
15
+ if (props.protocolVersion !== 4 || props.buildId !== null && typeof props.buildId !== "string" || !isResponseStageCacheability(props.cacheability) || typeof props.requestHost !== "string" || props.requestHost.length === 0 || props.stagedHeaders !== null && !isSerializedHeaders(props.stagedHeaders)) return false;
16
+ if (props.kind === "pages-api") return typeof props.apiUrl === "string";
17
+ if (props.kind === "pages-prerender-discovery") return true;
18
+ if (props.kind !== "pages-page" || typeof props.resolvedUrl !== "string") return false;
19
+ if (props.renderOptions === null) return true;
20
+ if (!props.renderOptions || typeof props.renderOptions !== "object") return false;
21
+ const options = props.renderOptions;
22
+ return (options.isDataReq === void 0 || typeof options.isDataReq === "boolean") && (options.renderErrorPageOnMiss === void 0 || typeof options.renderErrorPageOnMiss === "boolean") && (options.originalUrl === void 0 || typeof options.originalUrl === "string");
23
+ }
24
+ //#endregion
25
+ export { PAGES_RESPONSE_STAGE_POLICY_OWNER_HEADER, PAGES_RESPONSE_STAGE_PROTOCOL_VERSION, isPagesResponseStageProps };
@@ -1,10 +1,9 @@
1
1
  //#region src/server/worker-utils.d.ts
2
- declare function finalizeMissingStaticAssetResponse(response: Response, missingBuildAsset: boolean): Response;
3
- declare function mergeHeaders(response: Response, extraHeaders: Record<string, string | string[]>, statusOverride?: number): Response;
4
- declare function resolveStaticAssetSignal(signalResponse: Response, options: {
2
+ export declare function finalizeMissingStaticAssetResponse(response: Response, missingBuildAsset: boolean): Response;
3
+ export declare function mergeHeaders(response: Response, extraHeaders: Record<string, string | string[]>, statusOverride?: number): Response;
4
+ export declare function resolveStaticAssetSignal(signalResponse: Response, options: {
5
5
  fetchAsset(path: string): Promise<Response>;
6
6
  }): Promise<Response | null>;
7
7
  /** Retarget a Worker asset request without dropping its conditional/range fields. */
8
- declare function createStaticAssetRequest(assetPath: string, sourceRequest: Request): Request;
9
- //#endregion
10
- export { createStaticAssetRequest, finalizeMissingStaticAssetResponse, mergeHeaders, resolveStaticAssetSignal };
8
+ export declare function createStaticAssetRequest(assetPath: string, sourceRequest: Request): Request;
9
+ //#endregion
@@ -1,5 +1,5 @@
1
- import { VINEXT_STATIC_FILE_HEADER } from "./headers.js";
2
1
  import { notFoundStaticAssetResponse } from "./http-error-responses.js";
2
+ import { readStaticFileSignal } from "./static-file-signal.js";
3
3
  //#region src/server/worker-utils.ts
4
4
  /**
5
5
  * Shared utilities for Cloudflare Worker entries.
@@ -83,7 +83,7 @@ function mergeHeaders(response, extraHeaders, statusOverride) {
83
83
  });
84
84
  }
85
85
  async function resolveStaticAssetSignal(signalResponse, options) {
86
- const signal = signalResponse.headers.get(VINEXT_STATIC_FILE_HEADER);
86
+ const signal = readStaticFileSignal(signalResponse);
87
87
  if (!signal) return null;
88
88
  let assetPath = "/";
89
89
  try {
@@ -92,10 +92,10 @@ async function resolveStaticAssetSignal(signalResponse, options) {
92
92
  assetPath = signal;
93
93
  }
94
94
  const extraHeaders = buildHeaderRecord(signalResponse, [
95
- VINEXT_STATIC_FILE_HEADER,
96
95
  "content-encoding",
97
96
  "content-length",
98
- "content-type"
97
+ "content-type",
98
+ "transfer-encoding"
99
99
  ]);
100
100
  cancelResponseBody(signalResponse);
101
101
  const assetResponse = await options.fetchAsset(assetPath);
@@ -0,0 +1,17 @@
1
+ import { FrameworkTracingIntegration } from "./framework-tracer.js";
2
+ //#region src/server/workers-tracing.d.ts
3
+ export type WorkersTracingException = string | {
4
+ name: string;
5
+ message: string;
6
+ stack?: string;
7
+ };
8
+ export type WorkersTracingSpan = {
9
+ readonly isTraced: boolean;
10
+ recordException?(exception: WorkersTracingException): void;
11
+ setAttribute(key: string, value: boolean | number | string): void;
12
+ };
13
+ export type WorkersTracing = {
14
+ enterSpan<T>(name: string, callback: (span: WorkersTracingSpan) => T): T;
15
+ };
16
+ export declare function createWorkersTracingIntegration(tracing: WorkersTracing): FrameworkTracingIntegration;
17
+ //#endregion
@@ -0,0 +1,27 @@
1
+ //#region src/server/workers-tracing.ts
2
+ function normalizeException(error) {
3
+ if (typeof error === "string") return error;
4
+ if (error instanceof Error) return {
5
+ message: error.message,
6
+ name: error.name,
7
+ ...error.stack ? { stack: error.stack } : {}
8
+ };
9
+ return String(error);
10
+ }
11
+ function createWorkersTracingIntegration(tracing) {
12
+ const backendSpan = (span) => ({
13
+ recordException: (error) => span.recordException?.(normalizeException(error)),
14
+ setAttribute: (key, value) => span.setAttribute(key, value)
15
+ });
16
+ return {
17
+ id: "cloudflare-workers",
18
+ enterSpan(descriptor, callback) {
19
+ return tracing.enterSpan(descriptor.name, (span) => {
20
+ for (const [key, value] of Object.entries(descriptor.attributes)) span.setAttribute(key, value);
21
+ return callback(backendSpan(span));
22
+ });
23
+ }
24
+ };
25
+ }
26
+ //#endregion
27
+ export { createWorkersTracingIntegration };
@@ -9,11 +9,10 @@
9
9
  * Check if the current page is being served as AMP.
10
10
  * Always returns false — AMP is not supported.
11
11
  */
12
- declare function useAmp(): boolean;
12
+ export declare function useAmp(): boolean;
13
13
  /**
14
14
  * Check if AMP is enabled for the current page.
15
15
  * Always returns false.
16
16
  */
17
- declare function isInAmpMode(): boolean;
18
- //#endregion
19
- export { isInAmpMode, useAmp };
17
+ export declare function isInAmpMode(): boolean;
18
+ //#endregion
@@ -1,17 +1,16 @@
1
1
  //#region src/shims/app-router-scroll-state.d.ts
2
- type AppRouterScrollIntent = Readonly<{
2
+ export type AppRouterScrollIntent = Readonly<{
3
3
  commitId: number | null;
4
4
  hash: string | null;
5
5
  headElements: ReadonlySet<Element> | null;
6
6
  id: number;
7
7
  targetHoistedInHead: boolean;
8
8
  }>;
9
- declare function beginAppRouterScrollIntent(hash: string | null): AppRouterScrollIntent;
10
- declare function clearAppRouterScrollIntent(): void;
11
- declare function getPendingAppRouterScrollIntent(): AppRouterScrollIntent | null;
12
- declare function isLatestAppRouterScrollIntent(expected: AppRouterScrollIntent | null | undefined): boolean;
13
- declare function claimAppRouterScrollIntentForCommit(expected: AppRouterScrollIntent | null | undefined, commitId: number): void;
14
- declare function markAppRouterScrollIntentHeadHoisted(expected: AppRouterScrollIntent | null | undefined, commitId: number): void;
15
- declare function consumeAppRouterScrollIntent(expected: AppRouterScrollIntent | null | undefined, commitId?: number): AppRouterScrollIntent | null;
16
- //#endregion
17
- export { AppRouterScrollIntent, beginAppRouterScrollIntent, claimAppRouterScrollIntentForCommit, clearAppRouterScrollIntent, consumeAppRouterScrollIntent, getPendingAppRouterScrollIntent, isLatestAppRouterScrollIntent, markAppRouterScrollIntentHeadHoisted };
9
+ export declare function beginAppRouterScrollIntent(hash: string | null): AppRouterScrollIntent;
10
+ export declare function clearAppRouterScrollIntent(): void;
11
+ export declare function getPendingAppRouterScrollIntent(): AppRouterScrollIntent | null;
12
+ export declare function isLatestAppRouterScrollIntent(expected: AppRouterScrollIntent | null | undefined): boolean;
13
+ export declare function claimAppRouterScrollIntentForCommit(expected: AppRouterScrollIntent | null | undefined, commitId: number): void;
14
+ export declare function markAppRouterScrollIntentHeadHoisted(expected: AppRouterScrollIntent | null | undefined, commitId: number): void;
15
+ export declare function consumeAppRouterScrollIntent(expected: AppRouterScrollIntent | null | undefined, commitId?: number): AppRouterScrollIntent | null;
16
+ //#endregion
@@ -1,6 +1,6 @@
1
1
  import * as React$1 from "react";
2
2
  //#region src/shims/app-router-scroll.d.ts
3
- declare class AppRouterScrollTargetInner extends React$1.Component<{
3
+ export declare class AppRouterScrollTargetInner extends React$1.Component<{
4
4
  children: React$1.ReactNode;
5
5
  commitId: number | null;
6
6
  }> {
@@ -12,12 +12,11 @@ declare class AppRouterScrollTargetInner extends React$1.Component<{
12
12
  componentWillUnmount(): void;
13
13
  render(): React$1.ReactNode;
14
14
  }
15
- declare function AppRouterScrollCommitProvider({ children, commitId }: {
15
+ export declare function AppRouterScrollCommitProvider({ children, commitId }: {
16
16
  children?: React$1.ReactNode;
17
17
  commitId: number | null;
18
18
  }): React$1.JSX.Element;
19
- declare function AppRouterScrollTarget({ children }: {
19
+ export declare function AppRouterScrollTarget({ children }: {
20
20
  children: React$1.ReactNode;
21
21
  }): React$1.JSX.Element;
22
- //#endregion
23
- export { AppRouterScrollCommitProvider, AppRouterScrollTarget, AppRouterScrollTargetInner };
22
+ //#endregion
@@ -133,8 +133,9 @@ function AppRouterScrollCommitProvider({ children, commitId }) {
133
133
  });
134
134
  }
135
135
  function AppRouterScrollTarget({ children }) {
136
+ const commitId = React$1.useContext(AppRouterScrollCommitContext);
136
137
  return /* @__PURE__ */ jsx(AppRouterScrollTargetInner, {
137
- commitId: React$1.useContext(AppRouterScrollCommitContext),
138
+ commitId,
138
139
  children
139
140
  });
140
141
  }
@@ -1,6 +1,6 @@
1
1
  import React, { ComponentType } from "react";
2
2
  //#region src/shims/app.d.ts
3
- type AppProps<P = any> = {
3
+ export type AppProps<P = any> = {
4
4
  Component: ComponentType<P> & {
5
5
  getInitialProps?: (ctx: any) => any;
6
6
  };
@@ -13,7 +13,7 @@ type AppProps<P = any> = {
13
13
  * The context passed to `App.getInitialProps`. Mirrors Next.js's
14
14
  * `AppContextType` from `packages/next/src/shared/lib/utils.ts`.
15
15
  */
16
- type AppContext = {
16
+ export type AppContext = {
17
17
  Component: ComponentType<any> & {
18
18
  getInitialProps?: (ctx: any) => any;
19
19
  };
@@ -25,14 +25,13 @@ type AppContext = {
25
25
  * The initial props shape returned by `App.getInitialProps`. Mirrors
26
26
  * Next.js's `AppInitialProps` from `packages/next/src/shared/lib/utils.ts`.
27
27
  */
28
- type AppInitialProps<PageProps = any> = {
28
+ export type AppInitialProps<PageProps = any> = {
29
29
  pageProps: PageProps;
30
30
  };
31
31
  declare function appGetInitialProps({ Component, ctx }: AppContext): Promise<AppInitialProps>;
32
- declare class App<P = any, CP = any, S = any> extends React.Component<P & AppProps<CP>, S> {
32
+ export default class App<P = any, CP = any, S = any> extends React.Component<P & AppProps<CP>, S> {
33
33
  static origGetInitialProps: typeof appGetInitialProps;
34
34
  static getInitialProps: typeof appGetInitialProps;
35
35
  render(): React.ReactElement;
36
36
  }
37
- //#endregion
38
- export { AppContext, AppInitialProps, AppProps, App as default };
37
+ //#endregion
@@ -15,7 +15,7 @@ import React from "react";
15
15
  * (`(self.__next_s=...).push(...)`). An entry has `src` set for external
16
16
  * scripts and `innerHTML` set for inline scripts (never both).
17
17
  */
18
- type BeforeInteractiveInlineScript = {
18
+ export type BeforeInteractiveInlineScript = {
19
19
  /** Optional id attribute. */
20
20
  id?: string;
21
21
  /** External script URL. Set for src beforeInteractive scripts. */
@@ -35,8 +35,7 @@ type BeforeInteractiveInlineScript = {
35
35
  */
36
36
  attributes?: Record<string, string | boolean>;
37
37
  };
38
- type RegisterBeforeInteractiveInlineScript = (script: BeforeInteractiveInlineScript) => void;
39
- declare const BeforeInteractiveContext: React.Context<RegisterBeforeInteractiveInlineScript | null>;
40
- declare function useBeforeInteractiveRegister(): RegisterBeforeInteractiveInlineScript | null;
41
- //#endregion
42
- export { BeforeInteractiveContext, BeforeInteractiveInlineScript, RegisterBeforeInteractiveInlineScript, useBeforeInteractiveRegister };
38
+ export type RegisterBeforeInteractiveInlineScript = (script: BeforeInteractiveInlineScript) => void;
39
+ export declare const BeforeInteractiveContext: React.Context<RegisterBeforeInteractiveInlineScript | null>;
40
+ export declare function useBeforeInteractiveRegister(): RegisterBeforeInteractiveInlineScript | null;
41
+ //#endregion
@@ -1,3 +1,4 @@
1
+ import { VinextCacheFunctionInvocation } from "../server/multi-stage.js";
1
2
  import { RegisterCachedFunctionOptions } from "./cache-runtime.js";
2
3
  //#region src/shims/cache-callable-runtime.d.ts
3
4
  declare const CACHE_CAPTURE_TYPE = "use-cache-captures";
@@ -5,7 +6,46 @@ type CacheCaptureEnvelope = {
5
6
  type: typeof CACHE_CAPTURE_TYPE;
6
7
  encrypted: string | PromiseLike<string>;
7
8
  };
8
- declare function encryptCacheCaptures(captures: unknown[]): CacheCaptureEnvelope;
9
- declare function registerCachedFunction<TArgs extends unknown[], TResult>(fn: (...args: TArgs) => Promise<TResult>, id: string, variant: string, options: RegisterCachedFunctionOptions): (...args: TArgs) => Promise<TResult>;
10
- //#endregion
11
- export { encryptCacheCaptures, registerCachedFunction };
9
+ /**
10
+ * Flight serializes a promise as its resolved value and drops its own fields.
11
+ * Next.js params are promises that also expose their resolved fields, and the
12
+ * cache key is built from those fields, so the payload carries each such
13
+ * promise's fields next to the arguments and decoding assigns them back.
14
+ */
15
+ type EncodedCacheArguments = {
16
+ args: unknown[];
17
+ thenableObjects: EncodedThenableObject[];
18
+ };
19
+ /**
20
+ * Flight writes each object once, so `promise` decodes to the same promise as
21
+ * every other reference to it, including ones inside resolved values, and the
22
+ * fields share references with the arguments. The fields build the cache key;
23
+ * the resolved value can differ: the params proxy hides params named like
24
+ * promise or React fields (`value`, `status`) from its own keys but still
25
+ * resolves to them.
26
+ */
27
+ type EncodedThenableObject = {
28
+ fields: Record<string, unknown>;
29
+ promise: PromiseLike<unknown>;
30
+ };
31
+ export declare function encryptCacheCaptures(captures: unknown[]): CacheCaptureEnvelope;
32
+ /**
33
+ * What to do when a read would run a getter: `reject` throws
34
+ * `UnreplayableCacheArgumentsError`, `skip` leaves the getter unread.
35
+ */
36
+ type GetterHandling = "reject" | "skip";
37
+ /**
38
+ * Collect the own fields of every promise-augmented object in the arguments,
39
+ * including ones inside resolved promise values. The arguments are passed to
40
+ * Flight as they are, so Flight keeps their shared references and cycles.
41
+ * With `getters: "reject"`, throws `UnreplayableCacheArgumentsError` when the
42
+ * arguments hold a getter; with `"skip"`, promise fields behind a getter are
43
+ * not recorded.
44
+ */
45
+ export declare function encodeCacheArguments(args: unknown[], getters?: GetterHandling): Promise<EncodedCacheArguments>;
46
+ /** Restore the promise fields that `encodeCacheArguments` captured before Flight encoding. */
47
+ export declare function decodeCacheArguments(value: unknown): unknown[];
48
+ export declare function registerCachedFunction<TArgs extends unknown[], TResult>(fn: (...args: TArgs) => Promise<TResult>, id: string, variant: string, options: RegisterCachedFunctionOptions): (...args: TArgs) => Promise<TResult>;
49
+ /** Load and invoke one transformed cache function through its server-reference identity. */
50
+ export declare function invokeCacheFunction(invocation: VinextCacheFunctionInvocation, loadServerAction: (id: string) => Promise<unknown>): Promise<void>;
51
+ //#endregion
@@ -1,30 +1,190 @@
1
- import { registerCachedFunction as registerCachedFunction$1 } from "./cache-runtime.js";
1
+ import { isThenableObject, isUseCacheFunction, registerCachedFunction as registerCachedFunction$1 } from "./cache-runtime.js";
2
2
  import { decryptActionBoundArgs, encryptActionBoundArgs } from "@vitejs/plugin-rsc/utils/encryption-runtime";
3
3
  //#region src/shims/cache-callable-runtime.ts
4
4
  const CACHE_CAPTURE_TYPE = "use-cache-captures";
5
5
  function encryptCacheCaptures(captures) {
6
6
  return {
7
7
  type: CACHE_CAPTURE_TYPE,
8
- encrypted: encryptActionBoundArgs(captures)
8
+ encrypted: encryptCaptures(captures)
9
9
  };
10
10
  }
11
11
  async function decryptCacheCaptures(value) {
12
12
  if (!isCacheCaptureEnvelope(value)) return;
13
- const captures = await decryptActionBoundArgs(Promise.resolve(value.encrypted));
14
- if (!Array.isArray(captures)) throw new Error("Invalid cache capture payload");
15
- return captures;
13
+ return decryptCacheArguments(value.encrypted);
14
+ }
15
+ async function encryptCaptures(captures) {
16
+ return encryptActionBoundArgs(await encodeCacheArguments(captures, "skip"));
17
+ }
18
+ async function encryptCacheArguments(args) {
19
+ return encryptActionBoundArgs(await encodeCacheArguments(args));
20
+ }
21
+ async function decryptCacheArguments(encrypted) {
22
+ return decodeCacheArguments(await decryptActionBoundArgs(Promise.resolve(encrypted)));
23
+ }
24
+ function isThenable(value) {
25
+ return "then" in value && typeof value.then === "function";
26
+ }
27
+ function isPlainRecord(value) {
28
+ const prototype = Object.getPrototypeOf(value);
29
+ return (prototype === Object.prototype || prototype === null) && !("$$typeof" in value);
30
+ }
31
+ /**
32
+ * The arguments hold a getter. Flight reads it again while serializing, and a
33
+ * getter can return a different value, such as a new promise, on every read,
34
+ * so the recorded promise fields may not match what Flight serializes.
35
+ */
36
+ var UnreplayableCacheArgumentsError = class extends Error {
37
+ constructor() {
38
+ super("Cache function arguments with getters cannot be replayed");
39
+ }
40
+ };
41
+ /**
42
+ * The own entries of `value` that Flight serializes: every index below an
43
+ * array's `length`, including holes and non-enumerable indices, as
44
+ * `JSON.stringify` reads them, and the enumerable own keys of anything else.
45
+ * A getter, own or inherited through an array hole, is never run.
46
+ */
47
+ function ownEntries(value, getters) {
48
+ const keys = Array.isArray(value) ? Array.from({ length: value.length }, (_, index) => String(index)) : Object.keys(value);
49
+ const entries = [];
50
+ for (const key of keys) {
51
+ if (readsGetter(value, key)) {
52
+ if (getters === "reject") throw new UnreplayableCacheArgumentsError();
53
+ continue;
54
+ }
55
+ entries.push([key, Reflect.get(value, key)]);
56
+ }
57
+ return entries;
58
+ }
59
+ /**
60
+ * Whether reading `key` from `value` runs a getter. An array hole reads
61
+ * through the prototype chain, which can hold an indexed data property or
62
+ * accessor. A setter-only accessor reads as `undefined` without running code.
63
+ */
64
+ function readsGetter(value, key) {
65
+ for (let target = value; target !== null; target = Reflect.getPrototypeOf(target)) {
66
+ const descriptor = Reflect.getOwnPropertyDescriptor(target, key);
67
+ if (descriptor) return typeof descriptor.get === "function";
68
+ }
69
+ return false;
70
+ }
71
+ /** Members of the values Flight serializes recursively, which can hold params. */
72
+ function flightMembers(value, getters) {
73
+ if (value instanceof Map) return [...value].flat();
74
+ if (value instanceof Set) return [...value];
75
+ if (isThenableObject(value) || Array.isArray(value) || isPlainRecord(value)) return ownEntries(value, getters).map(([, member]) => member);
76
+ return [];
77
+ }
78
+ /**
79
+ * Collect the own fields of every promise-augmented object in the arguments,
80
+ * including ones inside resolved promise values. The arguments are passed to
81
+ * Flight as they are, so Flight keeps their shared references and cycles.
82
+ * With `getters: "reject"`, throws `UnreplayableCacheArgumentsError` when the
83
+ * arguments hold a getter; with `"skip"`, promise fields behind a getter are
84
+ * not recorded.
85
+ */
86
+ async function encodeCacheArguments(args, getters = "reject") {
87
+ const settled = /* @__PURE__ */ new Map();
88
+ for (;;) {
89
+ const thenableObjects = [];
90
+ const unsettled = [];
91
+ const visited = /* @__PURE__ */ new Set();
92
+ const pending = [args];
93
+ while (pending.length > 0) {
94
+ const value = pending.pop();
95
+ if (typeof value !== "object" || value === null || visited.has(value)) continue;
96
+ visited.add(value);
97
+ const children = flightMembers(value, getters);
98
+ if (isThenableObject(value)) {
99
+ const fields = Object.fromEntries(ownEntries(value, getters));
100
+ thenableObjects.push({
101
+ fields,
102
+ promise: value
103
+ });
104
+ }
105
+ if (isThenable(value)) {
106
+ const result = settled.get(value);
107
+ if (!result) unsettled.push(value);
108
+ else if (result.status === "fulfilled") children.push(result.value);
109
+ }
110
+ for (const child of children) pending.push(child);
111
+ }
112
+ if (unsettled.length === 0) return {
113
+ args,
114
+ thenableObjects
115
+ };
116
+ const results = await Promise.allSettled(unsettled);
117
+ unsettled.forEach((thenable, index) => settled.set(thenable, results[index]));
118
+ }
119
+ }
120
+ /** Restore the promise fields that `encodeCacheArguments` captured before Flight encoding. */
121
+ function decodeCacheArguments(value) {
122
+ if (typeof value !== "object" || value === null || !("args" in value) || !Array.isArray(value.args) || !("thenableObjects" in value) || !Array.isArray(value.thenableObjects)) throw new Error("Invalid cache function arguments");
123
+ adoptFlightThenables(value);
124
+ for (const thenableObject of value.thenableObjects) {
125
+ if (!isEncodedThenableObject(thenableObject)) throw new Error("Invalid cache function arguments");
126
+ Object.assign(thenableObject.promise, thenableObject.fields);
127
+ }
128
+ return value.args;
129
+ }
130
+ function isEncodedThenableObject(value) {
131
+ if (typeof value !== "object" || value === null || !isPlainRecord(value)) return false;
132
+ const { fields, promise } = value;
133
+ return typeof fields === "object" && fields !== null && isPlainRecord(fields) && promise instanceof Promise;
134
+ }
135
+ /**
136
+ * Flight decodes promises as React chunks whose own fields are React's
137
+ * internal state. Adopt them into native promises, which have no own fields,
138
+ * so key serialization sees a promise exactly as the original call did.
139
+ * Flight shares one chunk between references to the same promise, so each
140
+ * chunk is adopted once, including references inside resolved values.
141
+ */
142
+ function adoptFlightThenables(value, adopted = /* @__PURE__ */ new WeakMap()) {
143
+ if (typeof value !== "object" || value === null) return value;
144
+ if (adopted.has(value)) return adopted.get(value);
145
+ if (isThenable(value)) {
146
+ const promise = Promise.resolve(value).then((resolved) => adoptFlightThenables(resolved, adopted));
147
+ promise.catch(() => {});
148
+ adopted.set(value, promise);
149
+ return promise;
150
+ }
151
+ if (value instanceof Map) {
152
+ adopted.set(value, value);
153
+ const entries = [...value];
154
+ value.clear();
155
+ for (const [key, item] of entries) value.set(adoptFlightThenables(key, adopted), adoptFlightThenables(item, adopted));
156
+ return value;
157
+ }
158
+ if (value instanceof Set) {
159
+ adopted.set(value, value);
160
+ const items = [...value];
161
+ value.clear();
162
+ for (const item of items) value.add(adoptFlightThenables(item, adopted));
163
+ return value;
164
+ }
165
+ if (!Array.isArray(value) && !isPlainRecord(value)) return value;
166
+ adopted.set(value, value);
167
+ for (const key of Object.keys(value)) Reflect.set(value, key, adoptFlightThenables(Reflect.get(value, key), adopted));
168
+ return value;
16
169
  }
17
170
  function isCacheCaptureEnvelope(value) {
18
171
  if (typeof value !== "object" || value === null) return false;
19
172
  if (!("type" in value) || value.type !== CACHE_CAPTURE_TYPE || !("encrypted" in value)) return false;
20
173
  const encrypted = value.encrypted;
21
- return typeof encrypted === "string" || typeof encrypted === "object" && encrypted !== null && "then" in encrypted && typeof encrypted.then === "function";
174
+ return typeof encrypted === "string" || typeof encrypted === "object" && encrypted !== null && isThenable(encrypted);
22
175
  }
23
176
  function registerCachedFunction(fn, id, variant, options) {
24
177
  return registerCachedFunction$1(fn, id, variant, {
25
178
  ...options,
26
- decryptCaptures: decryptCacheCaptures
179
+ decryptCaptures: decryptCacheCaptures,
180
+ encodeInvocationArgs: encryptCacheArguments
27
181
  });
28
182
  }
183
+ /** Load and invoke one transformed cache function through its server-reference identity. */
184
+ async function invokeCacheFunction(invocation, loadServerAction) {
185
+ const fn = await loadServerAction(invocation.referenceId);
186
+ if (!isUseCacheFunction(fn)) throw new Error(`Server reference ${invocation.referenceId} is not a cache function`);
187
+ await fn(...await decryptCacheArguments(invocation.encryptedArgs));
188
+ }
29
189
  //#endregion
30
- export { encryptCacheCaptures, registerCachedFunction };
190
+ export { decodeCacheArguments, encodeCacheArguments, encryptCacheCaptures, invokeCacheFunction, registerCachedFunction };
@@ -52,6 +52,5 @@
52
52
  * factories. Async factories that reject have their cache cleared, allowing retry.
53
53
  * @returns A function with the same return type that caches the result per request.
54
54
  */
55
- declare function cacheForRequest<T>(factory: () => T): () => T;
56
- //#endregion
57
- export { cacheForRequest };
55
+ export declare function cacheForRequest<T>(factory: () => T): () => T;
56
+ //#endregion