@timber-js/app 0.2.0-alpha.20 → 0.2.0-alpha.201

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 (1332) hide show
  1. package/LICENSE +8 -0
  2. package/agent-skill.md +346 -0
  3. package/bin/timber.mjs +15 -1
  4. package/dist/_chunks/actions-HUdJADAD.js +345 -0
  5. package/dist/_chunks/actions-HUdJADAD.js.map +1 -0
  6. package/dist/_chunks/als-registry-C6kcfprT.js +41 -0
  7. package/dist/_chunks/als-registry-C6kcfprT.js.map +1 -0
  8. package/dist/_chunks/als-slots-BEEIPKYm.js +26 -0
  9. package/dist/_chunks/als-slots-BEEIPKYm.js.map +1 -0
  10. package/dist/_chunks/base-path-DaQrzbez.js +80 -0
  11. package/dist/_chunks/base-path-DaQrzbez.js.map +1 -0
  12. package/dist/_chunks/build-manifest-DWppEdLB.js +86 -0
  13. package/dist/_chunks/build-manifest-DWppEdLB.js.map +1 -0
  14. package/dist/_chunks/build-output-helper-9dqCv1pZ.js +370 -0
  15. package/dist/_chunks/build-output-helper-9dqCv1pZ.js.map +1 -0
  16. package/dist/_chunks/cache-api-CAPbZTga.js +1149 -0
  17. package/dist/_chunks/cache-api-CAPbZTga.js.map +1 -0
  18. package/dist/_chunks/canonicalize-CgHoscYO.js +66 -0
  19. package/dist/_chunks/canonicalize-CgHoscYO.js.map +1 -0
  20. package/dist/_chunks/chains-CBNA0Ozj.js +412 -0
  21. package/dist/_chunks/chains-CBNA0Ozj.js.map +1 -0
  22. package/dist/_chunks/cli-check-BzMGuIH6.js +293 -0
  23. package/dist/_chunks/cli-check-BzMGuIH6.js.map +1 -0
  24. package/dist/_chunks/cli-schema-sync-DnXqcIIj.js +299 -0
  25. package/dist/_chunks/cli-schema-sync-DnXqcIIj.js.map +1 -0
  26. package/dist/_chunks/cloudflare-DxX1SU0g.js +1290 -0
  27. package/dist/_chunks/cloudflare-DxX1SU0g.js.map +1 -0
  28. package/dist/_chunks/codec-registry-oOUxugz3.js +21 -0
  29. package/dist/_chunks/codec-registry-oOUxugz3.js.map +1 -0
  30. package/dist/_chunks/convention-lint-DHOFvX5s.js +803 -0
  31. package/dist/_chunks/convention-lint-DHOFvX5s.js.map +1 -0
  32. package/dist/_chunks/csp-nonce-hOGniaG4.js +227 -0
  33. package/dist/_chunks/csp-nonce-hOGniaG4.js.map +1 -0
  34. package/dist/_chunks/dev-server-DioP7tkQ.js +2288 -0
  35. package/dist/_chunks/dev-server-DioP7tkQ.js.map +1 -0
  36. package/dist/_chunks/dist-DtrJyBbw.js +386 -0
  37. package/dist/_chunks/dist-DtrJyBbw.js.map +1 -0
  38. package/dist/_chunks/error-boundary-BQKxl6EX.js +1044 -0
  39. package/dist/_chunks/error-boundary-BQKxl6EX.js.map +1 -0
  40. package/dist/_chunks/fast-hash-C-tVYrLb.js +41 -0
  41. package/dist/_chunks/fast-hash-C-tVYrLb.js.map +1 -0
  42. package/dist/_chunks/file-cache-Dw6BJPG7.js +458 -0
  43. package/dist/_chunks/file-cache-Dw6BJPG7.js.map +1 -0
  44. package/dist/_chunks/format-BKclgVbk.js +14 -0
  45. package/dist/_chunks/format-BKclgVbk.js.map +1 -0
  46. package/dist/_chunks/fs-identity-D7vb6GdI.js +208 -0
  47. package/dist/_chunks/fs-identity-D7vb6GdI.js.map +1 -0
  48. package/dist/_chunks/graph-cache-Cv3njEH8.js +304 -0
  49. package/dist/_chunks/graph-cache-Cv3njEH8.js.map +1 -0
  50. package/dist/_chunks/href-validation-BIrxavIy.js +213 -0
  51. package/dist/_chunks/href-validation-BIrxavIy.js.map +1 -0
  52. package/dist/_chunks/json-lossy-check-ClNvBM_3.js +63 -0
  53. package/dist/_chunks/json-lossy-check-ClNvBM_3.js.map +1 -0
  54. package/dist/_chunks/live-graph-VjHFF5EV.js +150 -0
  55. package/dist/_chunks/live-graph-VjHFF5EV.js.map +1 -0
  56. package/dist/_chunks/logger-DqJ2VoAY.js +1476 -0
  57. package/dist/_chunks/logger-DqJ2VoAY.js.map +1 -0
  58. package/dist/_chunks/{metadata-routes-Cjmvi3rQ.js → metadata-routes-DSDjM_hJ.js} +71 -27
  59. package/dist/_chunks/metadata-routes-DSDjM_hJ.js.map +1 -0
  60. package/dist/_chunks/navigation-context-D0TU0Jog.js +135 -0
  61. package/dist/_chunks/navigation-context-D0TU0Jog.js.map +1 -0
  62. package/dist/_chunks/navigation-root-mHSK9psY.js +126 -0
  63. package/dist/_chunks/navigation-root-mHSK9psY.js.map +1 -0
  64. package/dist/_chunks/param-value-C8TNYchQ.js +66 -0
  65. package/dist/_chunks/param-value-C8TNYchQ.js.map +1 -0
  66. package/dist/_chunks/plugin-context-8idfR3UZ.js +321 -0
  67. package/dist/_chunks/plugin-context-8idfR3UZ.js.map +1 -0
  68. package/dist/_chunks/poison-rules-DoEhbqaY.js +110 -0
  69. package/dist/_chunks/poison-rules-DoEhbqaY.js.map +1 -0
  70. package/dist/_chunks/poison-scan-lEbz4pQE.js +101 -0
  71. package/dist/_chunks/poison-scan-lEbz4pQE.js.map +1 -0
  72. package/dist/_chunks/purge-store-Byr8XOjU.js +14 -0
  73. package/dist/_chunks/purge-store-Byr8XOjU.js.map +1 -0
  74. package/dist/_chunks/resolve-schema-CBR6Lm4i.js +50 -0
  75. package/dist/_chunks/resolve-schema-CBR6Lm4i.js.map +1 -0
  76. package/dist/_chunks/rolldown-runtime-D7D4PA-g.js +13 -0
  77. package/dist/_chunks/rsc-cache-key-ClUiXQnK.js +243 -0
  78. package/dist/_chunks/rsc-cache-key-ClUiXQnK.js.map +1 -0
  79. package/dist/_chunks/rsc-media-type-DDc7duTD.js +61 -0
  80. package/dist/_chunks/rsc-media-type-DDc7duTD.js.map +1 -0
  81. package/dist/_chunks/rsc-payload-path-B_LBodc2.js +48 -0
  82. package/dist/_chunks/rsc-payload-path-B_LBodc2.js.map +1 -0
  83. package/dist/_chunks/scan-BoP17W3w.js +140 -0
  84. package/dist/_chunks/scan-BoP17W3w.js.map +1 -0
  85. package/dist/_chunks/scanner-B_tnqFcF.js +1671 -0
  86. package/dist/_chunks/scanner-B_tnqFcF.js.map +1 -0
  87. package/dist/_chunks/schema-bridge-C83xa9lT.js +199 -0
  88. package/dist/_chunks/schema-bridge-C83xa9lT.js.map +1 -0
  89. package/dist/_chunks/segment-classify-C539Pa2O.js +197 -0
  90. package/dist/_chunks/segment-classify-C539Pa2O.js.map +1 -0
  91. package/dist/_chunks/segment-context-D9_89u34.js +34 -0
  92. package/dist/_chunks/segment-context-D9_89u34.js.map +1 -0
  93. package/dist/_chunks/segment-keys-D5hu1hz4.js +62 -0
  94. package/dist/_chunks/segment-keys-D5hu1hz4.js.map +1 -0
  95. package/dist/_chunks/singleflight-2lUWfcAk.js +54 -0
  96. package/dist/_chunks/singleflight-2lUWfcAk.js.map +1 -0
  97. package/dist/_chunks/sizeof-lXffQ1Vr.js +35 -0
  98. package/dist/_chunks/sizeof-lXffQ1Vr.js.map +1 -0
  99. package/dist/_chunks/{ssr-data-MjmprTmO.js → ssr-data-D6T6Y3ef.js} +3 -31
  100. package/dist/_chunks/ssr-data-D6T6Y3ef.js.map +1 -0
  101. package/dist/_chunks/state-FippDgxN.js +52 -0
  102. package/dist/_chunks/state-FippDgxN.js.map +1 -0
  103. package/dist/_chunks/status-page-marker-DwQBrLBz.js +496 -0
  104. package/dist/_chunks/status-page-marker-DwQBrLBz.js.map +1 -0
  105. package/dist/_chunks/tree-match-CdbvYTBz.js +122 -0
  106. package/dist/_chunks/tree-match-CdbvYTBz.js.map +1 -0
  107. package/dist/_chunks/use-query-states-I3JMng6J.js +226 -0
  108. package/dist/_chunks/use-query-states-I3JMng6J.js.map +1 -0
  109. package/dist/_chunks/walkers-Cm3PC5JT.js +144 -0
  110. package/dist/_chunks/walkers-Cm3PC5JT.js.map +1 -0
  111. package/dist/adapters/build-output-helper.d.ts +72 -0
  112. package/dist/adapters/build-output-helper.d.ts.map +1 -0
  113. package/dist/adapters/cloudflare-dev.d.ts +109 -0
  114. package/dist/adapters/cloudflare-dev.d.ts.map +1 -0
  115. package/dist/adapters/cloudflare-dev.js +74 -0
  116. package/dist/adapters/cloudflare-dev.js.map +1 -0
  117. package/dist/adapters/cloudflare-kv-cache.d.ts +65 -0
  118. package/dist/adapters/cloudflare-kv-cache.d.ts.map +1 -0
  119. package/dist/adapters/cloudflare-kv-cache.js +123 -0
  120. package/dist/adapters/cloudflare-kv-cache.js.map +1 -0
  121. package/dist/adapters/cloudflare.d.ts +200 -22
  122. package/dist/adapters/cloudflare.d.ts.map +1 -1
  123. package/dist/adapters/cloudflare.js +2 -188
  124. package/dist/adapters/compress-module.d.ts +17 -4
  125. package/dist/adapters/compress-module.d.ts.map +1 -1
  126. package/dist/adapters/fs-identity.d.ts +64 -0
  127. package/dist/adapters/fs-identity.d.ts.map +1 -0
  128. package/dist/adapters/nitro-presets.d.ts +37 -0
  129. package/dist/adapters/nitro-presets.d.ts.map +1 -0
  130. package/dist/adapters/nitro-preview.d.ts +32 -0
  131. package/dist/adapters/nitro-preview.d.ts.map +1 -0
  132. package/dist/adapters/nitro.d.ts +66 -37
  133. package/dist/adapters/nitro.d.ts.map +1 -1
  134. package/dist/adapters/nitro.js +457 -300
  135. package/dist/adapters/nitro.js.map +1 -1
  136. package/dist/adapters/shared.d.ts +62 -0
  137. package/dist/adapters/shared.d.ts.map +1 -0
  138. package/dist/adapters/types.d.ts +28 -6
  139. package/dist/adapters/types.d.ts.map +1 -1
  140. package/dist/analyze/chains.d.ts +124 -0
  141. package/dist/analyze/chains.d.ts.map +1 -0
  142. package/dist/analyze/classify.d.ts +150 -0
  143. package/dist/analyze/classify.d.ts.map +1 -0
  144. package/dist/analyze/crawl-entry.d.ts +17 -0
  145. package/dist/analyze/crawl-entry.d.ts.map +1 -0
  146. package/dist/analyze/crawl-entry.js +313 -0
  147. package/dist/analyze/crawl-entry.js.map +1 -0
  148. package/dist/analyze/crawl.d.ts +134 -0
  149. package/dist/analyze/crawl.d.ts.map +1 -0
  150. package/dist/analyze/graph-cache.d.ts +104 -0
  151. package/dist/analyze/graph-cache.d.ts.map +1 -0
  152. package/dist/analyze/graph-command.d.ts +43 -0
  153. package/dist/analyze/graph-command.d.ts.map +1 -0
  154. package/dist/analyze/graph-command.js +472 -0
  155. package/dist/analyze/graph-command.js.map +1 -0
  156. package/dist/analyze/live-graph.d.ts +81 -0
  157. package/dist/analyze/live-graph.d.ts.map +1 -0
  158. package/dist/analyze/poison-rules.d.ts +72 -0
  159. package/dist/analyze/poison-rules.d.ts.map +1 -0
  160. package/dist/analyze/poison-scan.d.ts +48 -0
  161. package/dist/analyze/poison-scan.d.ts.map +1 -0
  162. package/dist/analyze/scan.d.ts +73 -0
  163. package/dist/analyze/scan.d.ts.map +1 -0
  164. package/dist/cache/cache-api.d.ts +48 -0
  165. package/dist/cache/cache-api.d.ts.map +1 -0
  166. package/dist/cache/fast-hash.d.ts +5 -0
  167. package/dist/cache/fast-hash.d.ts.map +1 -1
  168. package/dist/cache/handler-store.d.ts +33 -0
  169. package/dist/cache/handler-store.d.ts.map +1 -0
  170. package/dist/cache/index.d.ts +32 -9
  171. package/dist/cache/index.d.ts.map +1 -1
  172. package/dist/cache/index.js +3 -326
  173. package/dist/cache/invalidation-epoch.d.ts +43 -0
  174. package/dist/cache/invalidation-epoch.d.ts.map +1 -0
  175. package/dist/cache/json-lossy-check.d.ts +11 -0
  176. package/dist/cache/json-lossy-check.d.ts.map +1 -0
  177. package/dist/cache/redis-handler.d.ts +141 -9
  178. package/dist/cache/redis-handler.d.ts.map +1 -1
  179. package/dist/cache/singleflight.d.ts +21 -2
  180. package/dist/cache/singleflight.d.ts.map +1 -1
  181. package/dist/cache/sizeof.d.ts +22 -0
  182. package/dist/cache/sizeof.d.ts.map +1 -0
  183. package/dist/cache/stable-stringify.d.ts +9 -0
  184. package/dist/cache/stable-stringify.d.ts.map +1 -1
  185. package/dist/cache/store.d.ts +53 -0
  186. package/dist/cache/store.d.ts.map +1 -0
  187. package/dist/cache/stores/cloudflare-kv.d.ts +38 -0
  188. package/dist/cache/stores/cloudflare-kv.d.ts.map +1 -0
  189. package/dist/cache/stores/cloudflare-kv.js +29 -0
  190. package/dist/cache/stores/cloudflare-kv.js.map +1 -0
  191. package/dist/cache/stores/memory.d.ts +42 -0
  192. package/dist/cache/stores/memory.d.ts.map +1 -0
  193. package/dist/cache/stores/memory.js +90 -0
  194. package/dist/cache/stores/memory.js.map +1 -0
  195. package/dist/cache/stores/redis.d.ts +69 -0
  196. package/dist/cache/stores/redis.d.ts.map +1 -0
  197. package/dist/cache/stores/redis.js +35 -0
  198. package/dist/cache/stores/redis.js.map +1 -0
  199. package/dist/cache/stores/vercel.d.ts +36 -0
  200. package/dist/cache/stores/vercel.d.ts.map +1 -0
  201. package/dist/cache/stores/vercel.js +33 -0
  202. package/dist/cache/stores/vercel.js.map +1 -0
  203. package/dist/cache/tag-aware-handler.d.ts +52 -0
  204. package/dist/cache/tag-aware-handler.d.ts.map +1 -0
  205. package/dist/cache/timber-cache.d.ts +21 -11
  206. package/dist/cache/timber-cache.d.ts.map +1 -1
  207. package/dist/cdn/cloudflare-purge.d.ts +23 -0
  208. package/dist/cdn/cloudflare-purge.d.ts.map +1 -0
  209. package/dist/cdn/cloudflare-purge.js +30 -0
  210. package/dist/cdn/cloudflare-purge.js.map +1 -0
  211. package/dist/cdn/fastly-purge.d.ts +25 -0
  212. package/dist/cdn/fastly-purge.d.ts.map +1 -0
  213. package/dist/cdn/fastly-purge.js +33 -0
  214. package/dist/cdn/fastly-purge.js.map +1 -0
  215. package/dist/cdn/headers.d.ts +97 -0
  216. package/dist/cdn/headers.d.ts.map +1 -0
  217. package/dist/cdn/index.d.ts +5 -0
  218. package/dist/cdn/index.d.ts.map +1 -0
  219. package/dist/cdn/index.js +94 -0
  220. package/dist/cdn/index.js.map +1 -0
  221. package/dist/cdn/purge-store.d.ts +23 -0
  222. package/dist/cdn/purge-store.d.ts.map +1 -0
  223. package/dist/cdn/workers-cache-purge.d.ts +20 -0
  224. package/dist/cdn/workers-cache-purge.d.ts.map +1 -0
  225. package/dist/cdn/workers-cache-purge.js +35 -0
  226. package/dist/cdn/workers-cache-purge.js.map +1 -0
  227. package/dist/cli-check.d.ts +163 -0
  228. package/dist/cli-check.d.ts.map +1 -0
  229. package/dist/cli-schema-sync.d.ts +59 -0
  230. package/dist/cli-schema-sync.d.ts.map +1 -0
  231. package/dist/cli.d.ts +81 -9
  232. package/dist/cli.d.ts.map +1 -1
  233. package/dist/cli.js +216 -51
  234. package/dist/cli.js.map +1 -1
  235. package/dist/client/browser-dev.d.ts +37 -1
  236. package/dist/client/browser-dev.d.ts.map +1 -1
  237. package/dist/client/browser-entry/action-dispatch.d.ts +19 -0
  238. package/dist/client/browser-entry/action-dispatch.d.ts.map +1 -0
  239. package/dist/client/browser-entry/action-queue.d.ts +63 -0
  240. package/dist/client/browser-entry/action-queue.d.ts.map +1 -0
  241. package/dist/client/browser-entry/hmr.d.ts +21 -0
  242. package/dist/client/browser-entry/hmr.d.ts.map +1 -0
  243. package/dist/client/browser-entry/hydrate.d.ts +63 -0
  244. package/dist/client/browser-entry/hydrate.d.ts.map +1 -0
  245. package/dist/client/browser-entry/index.d.ts +30 -0
  246. package/dist/client/browser-entry/index.d.ts.map +1 -0
  247. package/dist/client/browser-entry/post-hydration.d.ts +29 -0
  248. package/dist/client/browser-entry/post-hydration.d.ts.map +1 -0
  249. package/dist/client/browser-entry/router-init.d.ts +46 -0
  250. package/dist/client/browser-entry/router-init.d.ts.map +1 -0
  251. package/dist/client/browser-entry/rsc-stream.d.ts +32 -0
  252. package/dist/client/browser-entry/rsc-stream.d.ts.map +1 -0
  253. package/dist/client/browser-entry/scroll.d.ts +28 -0
  254. package/dist/client/browser-entry/scroll.d.ts.map +1 -0
  255. package/dist/client/deny-last-resort.d.ts +29 -0
  256. package/dist/client/deny-last-resort.d.ts.map +1 -0
  257. package/dist/client/error-boundary.d.ts +55 -7
  258. package/dist/client/error-boundary.d.ts.map +1 -1
  259. package/dist/client/error-boundary.js +2 -126
  260. package/dist/client/error-reconstituter.d.ts +61 -0
  261. package/dist/client/error-reconstituter.d.ts.map +1 -0
  262. package/dist/client/form.d.ts +16 -27
  263. package/dist/client/form.d.ts.map +1 -1
  264. package/dist/client/global-context.d.ts +15 -0
  265. package/dist/client/global-context.d.ts.map +1 -0
  266. package/dist/client/history.d.ts +50 -9
  267. package/dist/client/history.d.ts.map +1 -1
  268. package/dist/client/index.d.ts +20 -33
  269. package/dist/client/index.d.ts.map +1 -1
  270. package/dist/client/index.js +323 -1148
  271. package/dist/client/index.js.map +1 -1
  272. package/dist/client/internal.d.ts +20 -0
  273. package/dist/client/internal.d.ts.map +1 -0
  274. package/dist/client/internal.js +818 -0
  275. package/dist/client/internal.js.map +1 -0
  276. package/dist/client/link.d.ts +63 -60
  277. package/dist/client/link.d.ts.map +1 -1
  278. package/dist/client/location-search.d.ts +12 -0
  279. package/dist/client/location-search.d.ts.map +1 -0
  280. package/dist/client/navigation-api.d.ts +121 -0
  281. package/dist/client/navigation-api.d.ts.map +1 -0
  282. package/dist/client/navigation-commit.d.ts +98 -0
  283. package/dist/client/navigation-commit.d.ts.map +1 -0
  284. package/dist/client/navigation-context.d.ts +51 -31
  285. package/dist/client/navigation-context.d.ts.map +1 -1
  286. package/dist/client/navigation-root.d.ts +98 -0
  287. package/dist/client/navigation-root.d.ts.map +1 -0
  288. package/dist/client/navigation-transition.d.ts +187 -0
  289. package/dist/client/navigation-transition.d.ts.map +1 -0
  290. package/dist/client/nuqs-adapter.d.ts +1 -1
  291. package/dist/client/nuqs-adapter.d.ts.map +1 -1
  292. package/dist/client/params-context.d.ts +81 -0
  293. package/dist/client/params-context.d.ts.map +1 -0
  294. package/dist/client/react-root.d.ts +44 -0
  295. package/dist/client/react-root.d.ts.map +1 -0
  296. package/dist/client/router-effects.d.ts +130 -0
  297. package/dist/client/router-effects.d.ts.map +1 -0
  298. package/dist/client/router-lifecycle.d.ts +98 -0
  299. package/dist/client/router-lifecycle.d.ts.map +1 -0
  300. package/dist/client/router-pipeline.d.ts +87 -0
  301. package/dist/client/router-pipeline.d.ts.map +1 -0
  302. package/dist/client/router-ref.d.ts +2 -2
  303. package/dist/client/router-ref.d.ts.map +1 -1
  304. package/dist/client/router-skew.d.ts +21 -0
  305. package/dist/client/router-skew.d.ts.map +1 -0
  306. package/dist/client/router-types.d.ts +272 -0
  307. package/dist/client/router-types.d.ts.map +1 -0
  308. package/dist/client/router.d.ts +1 -97
  309. package/dist/client/router.d.ts.map +1 -1
  310. package/dist/client/rsc-fetch.d.ts +104 -26
  311. package/dist/client/rsc-fetch.d.ts.map +1 -1
  312. package/dist/client/segment-cache.d.ts +161 -25
  313. package/dist/client/segment-cache.d.ts.map +1 -1
  314. package/dist/client/segment-context.d.ts.map +1 -1
  315. package/dist/client/segment-outlet.d.ts +68 -0
  316. package/dist/client/segment-outlet.d.ts.map +1 -0
  317. package/dist/client/segment-update-context.d.ts +15 -0
  318. package/dist/client/segment-update-context.d.ts.map +1 -0
  319. package/dist/client/shallow-url.d.ts +10 -0
  320. package/dist/client/shallow-url.d.ts.map +1 -0
  321. package/dist/client/slot-content-cache-context.d.ts +35 -0
  322. package/dist/client/slot-content-cache-context.d.ts.map +1 -0
  323. package/dist/client/slot-context.d.ts +31 -0
  324. package/dist/client/slot-context.d.ts.map +1 -0
  325. package/dist/client/slot-outlet.d.ts +16 -0
  326. package/dist/client/slot-outlet.d.ts.map +1 -0
  327. package/dist/client/slot-provider.d.ts +25 -0
  328. package/dist/client/slot-provider.d.ts.map +1 -0
  329. package/dist/client/ssr-data.d.ts +29 -7
  330. package/dist/client/ssr-data.d.ts.map +1 -1
  331. package/dist/client/stale-client.d.ts +69 -0
  332. package/dist/client/stale-client.d.ts.map +1 -0
  333. package/dist/client/state.d.ts +19 -8
  334. package/dist/client/state.d.ts.map +1 -1
  335. package/dist/client/status-page-marker.d.ts +25 -0
  336. package/dist/client/status-page-marker.d.ts.map +1 -0
  337. package/dist/client/top-loader.d.ts +7 -6
  338. package/dist/client/top-loader.d.ts.map +1 -1
  339. package/dist/client/unload-guard.d.ts +5 -0
  340. package/dist/client/unload-guard.d.ts.map +1 -1
  341. package/dist/client/use-cookie.d.ts +12 -0
  342. package/dist/client/use-cookie.d.ts.map +1 -1
  343. package/dist/client/use-link-status.d.ts +5 -5
  344. package/dist/client/use-link-status.d.ts.map +1 -1
  345. package/dist/client/use-pathname.d.ts +13 -11
  346. package/dist/client/use-pathname.d.ts.map +1 -1
  347. package/dist/client/use-pending-navigation.d.ts +23 -0
  348. package/dist/client/use-pending-navigation.d.ts.map +1 -0
  349. package/dist/client/use-query-states.d.ts +10 -4
  350. package/dist/client/use-query-states.d.ts.map +1 -1
  351. package/dist/client/use-router.d.ts +2 -2
  352. package/dist/client/use-router.d.ts.map +1 -1
  353. package/dist/client/use-search-params.d.ts +15 -8
  354. package/dist/client/use-search-params.d.ts.map +1 -1
  355. package/dist/client/use-segment-params.d.ts +55 -0
  356. package/dist/client/use-segment-params.d.ts.map +1 -0
  357. package/dist/codec.d.ts +69 -0
  358. package/dist/codec.d.ts.map +1 -0
  359. package/dist/codec.js +76 -0
  360. package/dist/codec.js.map +1 -0
  361. package/dist/config-types.d.ts +322 -0
  362. package/dist/config-types.d.ts.map +1 -0
  363. package/dist/config-validation.d.ts +51 -0
  364. package/dist/config-validation.d.ts.map +1 -0
  365. package/dist/cookies/define-cookie.d.ts +58 -25
  366. package/dist/cookies/define-cookie.d.ts.map +1 -1
  367. package/dist/cookies/index.d.ts +3 -2
  368. package/dist/cookies/index.d.ts.map +1 -1
  369. package/dist/cookies/index.js +256 -36
  370. package/dist/cookies/index.js.map +1 -1
  371. package/dist/cookies/json-cookie.d.ts +64 -0
  372. package/dist/cookies/json-cookie.d.ts.map +1 -0
  373. package/dist/cookies/validation.d.ts +34 -0
  374. package/dist/cookies/validation.d.ts.map +1 -0
  375. package/dist/dev-tools/404-page.d.ts +50 -0
  376. package/dist/dev-tools/404-page.d.ts.map +1 -0
  377. package/dist/dev-tools/browser-logs.d.ts +40 -0
  378. package/dist/dev-tools/browser-logs.d.ts.map +1 -0
  379. package/dist/dev-tools/debug-channel.d.ts +55 -0
  380. package/dist/dev-tools/debug-channel.d.ts.map +1 -0
  381. package/dist/dev-tools/dev-page-shell.d.ts +78 -0
  382. package/dist/dev-tools/dev-page-shell.d.ts.map +1 -0
  383. package/dist/dev-tools/error-page.d.ts +32 -0
  384. package/dist/dev-tools/error-page.d.ts.map +1 -0
  385. package/dist/dev-tools/holding-server.d.ts +46 -0
  386. package/dist/dev-tools/holding-server.d.ts.map +1 -0
  387. package/dist/dev-tools/hydration-overlay.d.ts +11 -0
  388. package/dist/dev-tools/hydration-overlay.d.ts.map +1 -0
  389. package/dist/dev-tools/index.d.ts +31 -0
  390. package/dist/dev-tools/index.d.ts.map +1 -0
  391. package/dist/dev-tools/instrumentation.d.ts +59 -0
  392. package/dist/dev-tools/instrumentation.d.ts.map +1 -0
  393. package/dist/{server/dev-logger.d.ts → dev-tools/logger.d.ts} +1 -1
  394. package/dist/dev-tools/logger.d.ts.map +1 -0
  395. package/dist/{plugins/dev-logs.d.ts → dev-tools/logs.d.ts} +17 -3
  396. package/dist/dev-tools/logs.d.ts.map +1 -0
  397. package/dist/dev-tools/overlay.d.ts +91 -0
  398. package/dist/dev-tools/overlay.d.ts.map +1 -0
  399. package/dist/dev-tools/stack-classifier.d.ts +34 -0
  400. package/dist/dev-tools/stack-classifier.d.ts.map +1 -0
  401. package/dist/dev-tools/terminal.d.ts +28 -0
  402. package/dist/dev-tools/terminal.d.ts.map +1 -0
  403. package/dist/fonts/ast-walk.d.ts +68 -0
  404. package/dist/fonts/ast-walk.d.ts.map +1 -0
  405. package/dist/fonts/ast.d.ts +112 -8
  406. package/dist/fonts/ast.d.ts.map +1 -1
  407. package/dist/fonts/bundle.d.ts +50 -0
  408. package/dist/fonts/bundle.d.ts.map +1 -0
  409. package/dist/fonts/css.d.ts +1 -1
  410. package/dist/fonts/dev-middleware.d.ts +22 -0
  411. package/dist/fonts/dev-middleware.d.ts.map +1 -0
  412. package/dist/fonts/fallbacks.d.ts +0 -7
  413. package/dist/fonts/fallbacks.d.ts.map +1 -1
  414. package/dist/fonts/google.d.ts +5 -3
  415. package/dist/fonts/google.d.ts.map +1 -1
  416. package/dist/fonts/local.d.ts +5 -5
  417. package/dist/fonts/local.d.ts.map +1 -1
  418. package/dist/fonts/paths.d.ts +43 -0
  419. package/dist/fonts/paths.d.ts.map +1 -0
  420. package/dist/fonts/pipeline.d.ts +177 -0
  421. package/dist/fonts/pipeline.d.ts.map +1 -0
  422. package/dist/fonts/transform.d.ts +82 -0
  423. package/dist/fonts/transform.d.ts.map +1 -0
  424. package/dist/fonts/types.d.ts +47 -1
  425. package/dist/fonts/types.d.ts.map +1 -1
  426. package/dist/fonts/virtual-modules.d.ts +77 -0
  427. package/dist/fonts/virtual-modules.d.ts.map +1 -0
  428. package/dist/index.d.ts +35 -181
  429. package/dist/index.d.ts.map +1 -1
  430. package/dist/index.js +8462 -14279
  431. package/dist/index.js.map +1 -1
  432. package/dist/params/codec-registry.d.ts +26 -0
  433. package/dist/params/codec-registry.d.ts.map +1 -0
  434. package/dist/params/define-schema.d.ts +81 -0
  435. package/dist/params/define-schema.d.ts.map +1 -0
  436. package/dist/params/index.d.ts +5 -0
  437. package/dist/params/index.d.ts.map +1 -0
  438. package/dist/params/index.js +34 -0
  439. package/dist/params/index.js.map +1 -0
  440. package/dist/params/resolve-schema.d.ts +34 -0
  441. package/dist/params/resolve-schema.d.ts.map +1 -0
  442. package/dist/plugin-context.d.ts +276 -0
  443. package/dist/plugin-context.d.ts.map +1 -0
  444. package/dist/plugins/adapter-build.d.ts +21 -1
  445. package/dist/plugins/adapter-build.d.ts.map +1 -1
  446. package/dist/plugins/build-manifest.d.ts +7 -3
  447. package/dist/plugins/build-manifest.d.ts.map +1 -1
  448. package/dist/plugins/build-report.d.ts +47 -10
  449. package/dist/plugins/build-report.d.ts.map +1 -1
  450. package/dist/plugins/cache.d.ts +64 -0
  451. package/dist/plugins/cache.d.ts.map +1 -0
  452. package/dist/plugins/callsite-ast.d.ts +117 -0
  453. package/dist/plugins/callsite-ast.d.ts.map +1 -0
  454. package/dist/plugins/callsite-jsx.d.ts +35 -0
  455. package/dist/plugins/callsite-jsx.d.ts.map +1 -0
  456. package/dist/plugins/chunks.d.ts +11 -4
  457. package/dist/plugins/chunks.d.ts.map +1 -1
  458. package/dist/plugins/client-chunks.d.ts +40 -0
  459. package/dist/plugins/client-chunks.d.ts.map +1 -0
  460. package/dist/plugins/cloudflare-wasm.d.ts +21 -0
  461. package/dist/plugins/cloudflare-wasm.d.ts.map +1 -0
  462. package/dist/plugins/content.d.ts +1 -1
  463. package/dist/plugins/content.d.ts.map +1 -1
  464. package/dist/plugins/dev-discovery.d.ts +123 -0
  465. package/dist/plugins/dev-discovery.d.ts.map +1 -0
  466. package/dist/plugins/dev-server.d.ts +24 -1
  467. package/dist/plugins/dev-server.d.ts.map +1 -1
  468. package/dist/plugins/entries.d.ts +28 -4
  469. package/dist/plugins/entries.d.ts.map +1 -1
  470. package/dist/plugins/fonts.d.ts +16 -73
  471. package/dist/plugins/fonts.d.ts.map +1 -1
  472. package/dist/plugins/graph-endpoint.d.ts +112 -0
  473. package/dist/plugins/graph-endpoint.d.ts.map +1 -0
  474. package/dist/plugins/mdx.d.ts +18 -5
  475. package/dist/plugins/mdx.d.ts.map +1 -1
  476. package/dist/plugins/prebuilt-capture.d.ts +60 -0
  477. package/dist/plugins/prebuilt-capture.d.ts.map +1 -0
  478. package/dist/plugins/prebuilt-options-analysis.d.ts +40 -0
  479. package/dist/plugins/prebuilt-options-analysis.d.ts.map +1 -0
  480. package/dist/plugins/prebuilt.d.ts +82 -0
  481. package/dist/plugins/prebuilt.d.ts.map +1 -0
  482. package/dist/plugins/prerender-sugar.d.ts +39 -0
  483. package/dist/plugins/prerender-sugar.d.ts.map +1 -0
  484. package/dist/plugins/request-dep/analysis.d.ts +106 -0
  485. package/dist/plugins/request-dep/analysis.d.ts.map +1 -0
  486. package/dist/plugins/request-dep/index.d.ts +75 -0
  487. package/dist/plugins/request-dep/index.d.ts.map +1 -0
  488. package/dist/plugins/request-dep/origin.d.ts +61 -0
  489. package/dist/plugins/request-dep/origin.d.ts.map +1 -0
  490. package/dist/plugins/routing.d.ts +1 -1
  491. package/dist/plugins/routing.d.ts.map +1 -1
  492. package/dist/plugins/server-bundle.d.ts.map +1 -1
  493. package/dist/plugins/shims.d.ts +29 -5
  494. package/dist/plugins/shims.d.ts.map +1 -1
  495. package/dist/plugins/static-build.d.ts +218 -21
  496. package/dist/plugins/static-build.d.ts.map +1 -1
  497. package/dist/routing/codegen-shared.d.ts +26 -0
  498. package/dist/routing/codegen-shared.d.ts.map +1 -0
  499. package/dist/routing/codegen-types.d.ts +61 -0
  500. package/dist/routing/codegen-types.d.ts.map +1 -0
  501. package/dist/routing/codegen-write.d.ts +51 -0
  502. package/dist/routing/codegen-write.d.ts.map +1 -0
  503. package/dist/routing/codegen.d.ts +8 -3
  504. package/dist/routing/codegen.d.ts.map +1 -1
  505. package/dist/routing/collision-probe.d.ts +104 -0
  506. package/dist/routing/collision-probe.d.ts.map +1 -0
  507. package/dist/routing/collision-spaces.d.ts +26 -0
  508. package/dist/routing/collision-spaces.d.ts.map +1 -0
  509. package/dist/routing/convention-lint.d.ts +55 -0
  510. package/dist/routing/convention-lint.d.ts.map +1 -0
  511. package/dist/routing/export-detect.d.ts +72 -0
  512. package/dist/routing/export-detect.d.ts.map +1 -0
  513. package/dist/routing/file-cache.d.ts +8 -0
  514. package/dist/routing/file-cache.d.ts.map +1 -0
  515. package/dist/routing/index.d.ts +13 -7
  516. package/dist/routing/index.d.ts.map +1 -1
  517. package/dist/routing/index.js +5 -2
  518. package/dist/routing/interception-overlap.d.ts +35 -0
  519. package/dist/routing/interception-overlap.d.ts.map +1 -0
  520. package/dist/routing/interception.d.ts +234 -10
  521. package/dist/routing/interception.d.ts.map +1 -1
  522. package/dist/routing/link-codegen.d.ts +105 -0
  523. package/dist/routing/link-codegen.d.ts.map +1 -0
  524. package/dist/routing/manifest-codegen.d.ts +26 -0
  525. package/dist/routing/manifest-codegen.d.ts.map +1 -0
  526. package/dist/routing/scanner.d.ts +14 -10
  527. package/dist/routing/scanner.d.ts.map +1 -1
  528. package/dist/routing/schema-validation.d.ts +35 -0
  529. package/dist/routing/schema-validation.d.ts.map +1 -0
  530. package/dist/routing/segment-classify.d.ts +114 -0
  531. package/dist/routing/segment-classify.d.ts.map +1 -0
  532. package/dist/routing/segment-codegen.d.ts +38 -0
  533. package/dist/routing/segment-codegen.d.ts.map +1 -0
  534. package/dist/routing/segment-keys.d.ts +118 -0
  535. package/dist/routing/segment-keys.d.ts.map +1 -0
  536. package/dist/routing/slot-placement.d.ts +48 -0
  537. package/dist/routing/slot-placement.d.ts.map +1 -0
  538. package/dist/routing/types.d.ts +74 -26
  539. package/dist/routing/types.d.ts.map +1 -1
  540. package/dist/routing/walkers.d.ts +57 -0
  541. package/dist/routing/walkers.d.ts.map +1 -0
  542. package/dist/rsc-runtime/rsc.d.ts +1 -1
  543. package/dist/rsc-runtime/rsc.d.ts.map +1 -1
  544. package/dist/rsc-runtime/ssr.d.ts +14 -0
  545. package/dist/rsc-runtime/ssr.d.ts.map +1 -1
  546. package/dist/rsc-runtime/transforms.d.ts +13 -0
  547. package/dist/rsc-runtime/transforms.d.ts.map +1 -0
  548. package/dist/schema-bridge.d.ts +145 -0
  549. package/dist/schema-bridge.d.ts.map +1 -0
  550. package/dist/search-params/define.d.ts +262 -0
  551. package/dist/search-params/define.d.ts.map +1 -0
  552. package/dist/search-params/index.d.ts +3 -7
  553. package/dist/search-params/index.d.ts.map +1 -1
  554. package/dist/search-params/index.js +179 -360
  555. package/dist/search-params/index.js.map +1 -1
  556. package/dist/search-params/parse-total.d.ts +81 -0
  557. package/dist/search-params/parse-total.d.ts.map +1 -0
  558. package/dist/search-params/serialize-equal.d.ts +9 -0
  559. package/dist/search-params/serialize-equal.d.ts.map +1 -0
  560. package/dist/search-params/wrappers.d.ts +76 -0
  561. package/dist/search-params/wrappers.d.ts.map +1 -0
  562. package/dist/server/access-gate.d.ts +98 -10
  563. package/dist/server/access-gate.d.ts.map +1 -1
  564. package/dist/server/action-client.d.ts +42 -7
  565. package/dist/server/action-client.d.ts.map +1 -1
  566. package/dist/server/action-encryption.d.ts +76 -0
  567. package/dist/server/action-encryption.d.ts.map +1 -0
  568. package/dist/server/action-handler.d.ts +39 -5
  569. package/dist/server/action-handler.d.ts.map +1 -1
  570. package/dist/server/actions.d.ts +29 -35
  571. package/dist/server/actions.d.ts.map +1 -1
  572. package/dist/server/als-registry.d.ts +117 -13
  573. package/dist/server/als-registry.d.ts.map +1 -1
  574. package/dist/server/asset-headers.d.ts +8 -18
  575. package/dist/server/asset-headers.d.ts.map +1 -1
  576. package/dist/server/body-limits.d.ts.map +1 -1
  577. package/dist/server/build-manifest.d.ts +25 -30
  578. package/dist/server/build-manifest.d.ts.map +1 -1
  579. package/dist/server/canonicalize.d.ts +10 -0
  580. package/dist/server/canonicalize.d.ts.map +1 -1
  581. package/dist/server/chain-url-parts.d.ts +82 -0
  582. package/dist/server/chain-url-parts.d.ts.map +1 -0
  583. package/dist/server/children-interception.d.ts +49 -0
  584. package/dist/server/children-interception.d.ts.map +1 -0
  585. package/dist/server/coalesce-tick.d.ts +40 -0
  586. package/dist/server/coalesce-tick.d.ts.map +1 -0
  587. package/dist/server/compress.d.ts.map +1 -1
  588. package/dist/server/cookie-context.d.ts +170 -0
  589. package/dist/server/cookie-context.d.ts.map +1 -0
  590. package/dist/server/cookie-parsing.d.ts +65 -0
  591. package/dist/server/cookie-parsing.d.ts.map +1 -0
  592. package/dist/server/csp-nonce.d.ts +45 -0
  593. package/dist/server/csp-nonce.d.ts.map +1 -0
  594. package/dist/server/csrf.d.ts +3 -2
  595. package/dist/server/csrf.d.ts.map +1 -1
  596. package/dist/server/default-logger.d.ts +22 -0
  597. package/dist/server/default-logger.d.ts.map +1 -0
  598. package/dist/server/default-status-page.d.ts +45 -0
  599. package/dist/server/default-status-page.d.ts.map +1 -0
  600. package/dist/server/deny-boundary.d.ts +251 -0
  601. package/dist/server/deny-boundary.d.ts.map +1 -0
  602. package/dist/server/deny-renderer.d.ts +20 -10
  603. package/dist/server/deny-renderer.d.ts.map +1 -1
  604. package/dist/server/dev-source-map.d.ts +22 -0
  605. package/dist/server/dev-source-map.d.ts.map +1 -0
  606. package/dist/server/early-hints-sender.d.ts.map +1 -1
  607. package/dist/server/early-hints.d.ts +14 -12
  608. package/dist/server/early-hints.d.ts.map +1 -1
  609. package/dist/server/error-boundary-wrapper.d.ts +94 -10
  610. package/dist/server/error-boundary-wrapper.d.ts.map +1 -1
  611. package/dist/server/error-response-headers.d.ts +3 -0
  612. package/dist/server/error-response-headers.d.ts.map +1 -0
  613. package/dist/server/fallback-error.d.ts +12 -7
  614. package/dist/server/fallback-error.d.ts.map +1 -1
  615. package/dist/server/flight-injection-state.d.ts +66 -0
  616. package/dist/server/flight-injection-state.d.ts.map +1 -0
  617. package/dist/server/flight-scripts.d.ts +45 -0
  618. package/dist/server/flight-scripts.d.ts.map +1 -0
  619. package/dist/server/form-data.d.ts +41 -0
  620. package/dist/server/form-data.d.ts.map +1 -1
  621. package/dist/server/form-flash.d.ts +1 -1
  622. package/dist/server/head-response.d.ts +35 -0
  623. package/dist/server/head-response.d.ts.map +1 -0
  624. package/dist/server/html-injector-core.d.ts +257 -0
  625. package/dist/server/html-injector-core.d.ts.map +1 -0
  626. package/dist/server/html-injectors.d.ts +84 -42
  627. package/dist/server/html-injectors.d.ts.map +1 -1
  628. package/dist/server/index.d.ts +18 -54
  629. package/dist/server/index.d.ts.map +1 -1
  630. package/dist/server/index.js +195 -2922
  631. package/dist/server/index.js.map +1 -1
  632. package/dist/server/instrumentation.d.ts +1 -1
  633. package/dist/server/internal.d.ts +50 -0
  634. package/dist/server/internal.d.ts.map +1 -0
  635. package/dist/server/internal.js +3859 -0
  636. package/dist/server/internal.js.map +1 -0
  637. package/dist/server/logger.d.ts +39 -7
  638. package/dist/server/logger.d.ts.map +1 -1
  639. package/dist/server/metadata-collector.d.ts +71 -0
  640. package/dist/server/metadata-collector.d.ts.map +1 -0
  641. package/dist/server/metadata-platform.d.ts +2 -2
  642. package/dist/server/metadata-render.d.ts +2 -2
  643. package/dist/server/metadata-render.d.ts.map +1 -1
  644. package/dist/server/metadata-routes.d.ts +60 -11
  645. package/dist/server/metadata-routes.d.ts.map +1 -1
  646. package/dist/server/metadata-social.d.ts +2 -2
  647. package/dist/server/metadata.d.ts +10 -2
  648. package/dist/server/metadata.d.ts.map +1 -1
  649. package/dist/server/middleware-runner.d.ts +20 -5
  650. package/dist/server/middleware-runner.d.ts.map +1 -1
  651. package/dist/server/node-stream-transforms.d.ts +105 -0
  652. package/dist/server/node-stream-transforms.d.ts.map +1 -0
  653. package/dist/server/nuqs-ssr-provider.d.ts +7 -3
  654. package/dist/server/nuqs-ssr-provider.d.ts.map +1 -1
  655. package/dist/server/param-coercion.d.ts +78 -0
  656. package/dist/server/param-coercion.d.ts.map +1 -0
  657. package/dist/server/pipeline-helpers.d.ts +77 -0
  658. package/dist/server/pipeline-helpers.d.ts.map +1 -0
  659. package/dist/server/pipeline-interception.d.ts +59 -9
  660. package/dist/server/pipeline-interception.d.ts.map +1 -1
  661. package/dist/server/pipeline-metadata.d.ts +7 -1
  662. package/dist/server/pipeline-metadata.d.ts.map +1 -1
  663. package/dist/server/pipeline-outcome.d.ts +49 -0
  664. package/dist/server/pipeline-outcome.d.ts.map +1 -0
  665. package/dist/server/pipeline-phases.d.ts +70 -0
  666. package/dist/server/pipeline-phases.d.ts.map +1 -0
  667. package/dist/server/pipeline.d.ts +161 -20
  668. package/dist/server/pipeline.d.ts.map +1 -1
  669. package/dist/server/port-resolution.d.ts +31 -0
  670. package/dist/server/port-resolution.d.ts.map +1 -0
  671. package/dist/server/prebuilt/cache-key.d.ts +63 -0
  672. package/dist/server/prebuilt/cache-key.d.ts.map +1 -0
  673. package/dist/server/prebuilt/capture-state.d.ts +57 -0
  674. package/dist/server/prebuilt/capture-state.d.ts.map +1 -0
  675. package/dist/server/prebuilt/key-discipline.d.ts +52 -0
  676. package/dist/server/prebuilt/key-discipline.d.ts.map +1 -0
  677. package/dist/server/prebuilt/manifest-tag-index.d.ts +27 -0
  678. package/dist/server/prebuilt/manifest-tag-index.d.ts.map +1 -0
  679. package/dist/server/prebuilt/overlay.d.ts +100 -0
  680. package/dist/server/prebuilt/overlay.d.ts.map +1 -0
  681. package/dist/server/prebuilt/payload-source.d.ts +79 -0
  682. package/dist/server/prebuilt/payload-source.d.ts.map +1 -0
  683. package/dist/server/prebuilt/slots.d.ts +99 -0
  684. package/dist/server/prebuilt/slots.d.ts.map +1 -0
  685. package/dist/server/prebuilt/synthetic-store.d.ts +67 -0
  686. package/dist/server/prebuilt/synthetic-store.d.ts.map +1 -0
  687. package/dist/server/prebuilt-builder.d.ts +121 -0
  688. package/dist/server/prebuilt-builder.d.ts.map +1 -0
  689. package/dist/server/prebuilt-runtime.d.ts +111 -0
  690. package/dist/server/prebuilt-runtime.d.ts.map +1 -0
  691. package/dist/server/primitives.d.ts +131 -45
  692. package/dist/server/primitives.d.ts.map +1 -1
  693. package/dist/server/publish-params.d.ts +33 -0
  694. package/dist/server/publish-params.d.ts.map +1 -0
  695. package/dist/server/render-timeout.d.ts +51 -0
  696. package/dist/server/render-timeout.d.ts.map +1 -0
  697. package/dist/server/render-utils.d.ts +26 -0
  698. package/dist/server/render-utils.d.ts.map +1 -0
  699. package/dist/server/request-context.d.ts +111 -107
  700. package/dist/server/request-context.d.ts.map +1 -1
  701. package/dist/server/request-dep.d.ts +15 -0
  702. package/dist/server/request-dep.d.ts.map +1 -0
  703. package/dist/server/response-cache-policy.d.ts +3 -0
  704. package/dist/server/response-cache-policy.d.ts.map +1 -0
  705. package/dist/server/route-element-builder.d.ts +57 -30
  706. package/dist/server/route-element-builder.d.ts.map +1 -1
  707. package/dist/server/route-element-helpers.d.ts +12 -0
  708. package/dist/server/route-element-helpers.d.ts.map +1 -0
  709. package/dist/server/route-handler.d.ts +1 -1
  710. package/dist/server/route-handler.d.ts.map +1 -1
  711. package/dist/server/route-matcher.d.ts +40 -38
  712. package/dist/server/route-matcher.d.ts.map +1 -1
  713. package/dist/server/route-module-loader.d.ts +37 -0
  714. package/dist/server/route-module-loader.d.ts.map +1 -0
  715. package/dist/server/rsc-cache-key-guard.d.ts +78 -0
  716. package/dist/server/rsc-cache-key-guard.d.ts.map +1 -0
  717. package/dist/server/rsc-entry/action-middleware-runner.d.ts +66 -0
  718. package/dist/server/rsc-entry/action-middleware-runner.d.ts.map +1 -0
  719. package/dist/server/rsc-entry/api-handler.d.ts +12 -3
  720. package/dist/server/rsc-entry/api-handler.d.ts.map +1 -1
  721. package/dist/server/rsc-entry/deny-fallback.d.ts +29 -0
  722. package/dist/server/rsc-entry/deny-fallback.d.ts.map +1 -0
  723. package/dist/server/rsc-entry/error-renderer.d.ts +34 -13
  724. package/dist/server/rsc-entry/error-renderer.d.ts.map +1 -1
  725. package/dist/server/rsc-entry/helpers.d.ts +47 -51
  726. package/dist/server/rsc-entry/helpers.d.ts.map +1 -1
  727. package/dist/server/rsc-entry/index.d.ts +40 -6
  728. package/dist/server/rsc-entry/index.d.ts.map +1 -1
  729. package/dist/server/rsc-entry/render-route.d.ts +52 -0
  730. package/dist/server/rsc-entry/render-route.d.ts.map +1 -0
  731. package/dist/server/rsc-entry/revalidate-renderer.d.ts +108 -0
  732. package/dist/server/rsc-entry/revalidate-renderer.d.ts.map +1 -0
  733. package/dist/server/rsc-entry/rsc-payload.d.ts +26 -6
  734. package/dist/server/rsc-entry/rsc-payload.d.ts.map +1 -1
  735. package/dist/server/rsc-entry/rsc-stream.d.ts +36 -3
  736. package/dist/server/rsc-entry/rsc-stream.d.ts.map +1 -1
  737. package/dist/server/rsc-entry/ssr-bridge.d.ts +5 -1
  738. package/dist/server/rsc-entry/ssr-bridge.d.ts.map +1 -1
  739. package/dist/server/rsc-entry/ssr-renderer.d.ts +38 -5
  740. package/dist/server/rsc-entry/ssr-renderer.d.ts.map +1 -1
  741. package/dist/server/rsc-entry/wrap-action-dispatch.d.ts +89 -0
  742. package/dist/server/rsc-entry/wrap-action-dispatch.d.ts.map +1 -0
  743. package/dist/server/rsc-error-envelope.d.ts +11 -0
  744. package/dist/server/rsc-error-envelope.d.ts.map +1 -0
  745. package/dist/server/safe-load.d.ts +46 -0
  746. package/dist/server/safe-load.d.ts.map +1 -0
  747. package/dist/server/sensitive-fields.d.ts +74 -0
  748. package/dist/server/sensitive-fields.d.ts.map +1 -0
  749. package/dist/server/sitemap-generator.d.ts +130 -0
  750. package/dist/server/sitemap-generator.d.ts.map +1 -0
  751. package/dist/server/sitemap-handler.d.ts +22 -0
  752. package/dist/server/sitemap-handler.d.ts.map +1 -0
  753. package/dist/server/skippable-prefix.d.ts +29 -0
  754. package/dist/server/skippable-prefix.d.ts.map +1 -0
  755. package/dist/server/slot-interception.d.ts +80 -0
  756. package/dist/server/slot-interception.d.ts.map +1 -0
  757. package/dist/server/slot-resolver.d.ts +137 -7
  758. package/dist/server/slot-resolver.d.ts.map +1 -1
  759. package/dist/server/slot-subtree-contain.d.ts +54 -0
  760. package/dist/server/slot-subtree-contain.d.ts.map +1 -0
  761. package/dist/server/ssr-bridge-types.d.ts +160 -0
  762. package/dist/server/ssr-bridge-types.d.ts.map +1 -0
  763. package/dist/server/ssr-entry.d.ts +1 -43
  764. package/dist/server/ssr-entry.d.ts.map +1 -1
  765. package/dist/server/ssr-render.d.ts +69 -22
  766. package/dist/server/ssr-render.d.ts.map +1 -1
  767. package/dist/server/ssr-wrappers.d.ts +93 -0
  768. package/dist/server/ssr-wrappers.d.ts.map +1 -0
  769. package/dist/server/state-tree-diff.d.ts +44 -9
  770. package/dist/server/state-tree-diff.d.ts.map +1 -1
  771. package/dist/server/static-generator.d.ts +112 -0
  772. package/dist/server/static-generator.d.ts.map +1 -0
  773. package/dist/server/static-not-found.d.ts +52 -0
  774. package/dist/server/static-not-found.d.ts.map +1 -0
  775. package/dist/server/status-code-resolver.d.ts +26 -15
  776. package/dist/server/status-code-resolver.d.ts.map +1 -1
  777. package/dist/server/stream-utils.d.ts +47 -0
  778. package/dist/server/stream-utils.d.ts.map +1 -0
  779. package/dist/server/tracing.d.ts +46 -11
  780. package/dist/server/tracing.d.ts.map +1 -1
  781. package/dist/server/tree-match.d.ts +49 -0
  782. package/dist/server/tree-match.d.ts.map +1 -0
  783. package/dist/server/types.d.ts +88 -7
  784. package/dist/server/types.d.ts.map +1 -1
  785. package/dist/server/utils/element-type.d.ts +50 -0
  786. package/dist/server/utils/element-type.d.ts.map +1 -0
  787. package/dist/server/utils/escape-html.d.ts +14 -0
  788. package/dist/server/utils/escape-html.d.ts.map +1 -0
  789. package/dist/server/version-skew.d.ts +61 -0
  790. package/dist/server/version-skew.d.ts.map +1 -0
  791. package/dist/server/workers-cache-bridge.d.ts +26 -0
  792. package/dist/server/workers-cache-bridge.d.ts.map +1 -0
  793. package/dist/shared/als-slots.d.ts +42 -0
  794. package/dist/shared/als-slots.d.ts.map +1 -0
  795. package/dist/shared/base-path.d.ts +56 -0
  796. package/dist/shared/base-path.d.ts.map +1 -0
  797. package/dist/shared/href-validation.d.ts +49 -0
  798. package/dist/shared/href-validation.d.ts.map +1 -0
  799. package/dist/shared/merge-search-params.d.ts +22 -0
  800. package/dist/shared/merge-search-params.d.ts.map +1 -0
  801. package/dist/shared/param-value.d.ts +104 -0
  802. package/dist/shared/param-value.d.ts.map +1 -0
  803. package/dist/shared/payload-root.d.ts +109 -0
  804. package/dist/shared/payload-root.d.ts.map +1 -0
  805. package/dist/shared/redirect-type.d.ts +17 -0
  806. package/dist/shared/redirect-type.d.ts.map +1 -0
  807. package/dist/shared/rsc-cache-key.d.ts +163 -0
  808. package/dist/shared/rsc-cache-key.d.ts.map +1 -0
  809. package/dist/shared/rsc-error-envelope.d.ts +16 -0
  810. package/dist/shared/rsc-error-envelope.d.ts.map +1 -0
  811. package/dist/shared/rsc-manifest.d.ts +28 -0
  812. package/dist/shared/rsc-manifest.d.ts.map +1 -0
  813. package/dist/shared/rsc-media-type.d.ts +52 -0
  814. package/dist/shared/rsc-media-type.d.ts.map +1 -0
  815. package/dist/shared/rsc-payload-path.d.ts +42 -0
  816. package/dist/shared/rsc-payload-path.d.ts.map +1 -0
  817. package/dist/shared/segment-info.d.ts +66 -0
  818. package/dist/shared/segment-info.d.ts.map +1 -0
  819. package/dist/shared/slot-params.d.ts +52 -0
  820. package/dist/shared/slot-params.d.ts.map +1 -0
  821. package/dist/shared/static-platform-files.d.ts +71 -0
  822. package/dist/shared/static-platform-files.d.ts.map +1 -0
  823. package/dist/shared/status-reason-phrase.d.ts +26 -0
  824. package/dist/shared/status-reason-phrase.d.ts.map +1 -0
  825. package/dist/shims/font-google.d.ts +1 -1
  826. package/dist/shims/font-google.d.ts.map +1 -1
  827. package/dist/shims/font-google.js +42 -0
  828. package/dist/shims/font-google.js.map +1 -0
  829. package/dist/shims/font-local.d.ts +26 -0
  830. package/dist/shims/font-local.d.ts.map +1 -0
  831. package/dist/shims/font-local.js +20 -0
  832. package/dist/shims/font-local.js.map +1 -0
  833. package/dist/shims/headers.d.ts +53 -1
  834. package/dist/shims/headers.d.ts.map +1 -1
  835. package/dist/shims/image.d.ts +120 -120
  836. package/dist/shims/image.d.ts.map +1 -1
  837. package/dist/shims/navigation-client.d.ts +25 -12
  838. package/dist/shims/navigation-client.d.ts.map +1 -1
  839. package/dist/shims/navigation-rsc.d.ts +21 -0
  840. package/dist/shims/navigation-rsc.d.ts.map +1 -0
  841. package/dist/shims/navigation.d.ts +10 -5
  842. package/dist/shims/navigation.d.ts.map +1 -1
  843. package/dist/utils/state-machine.d.ts +80 -0
  844. package/dist/utils/state-machine.d.ts.map +1 -0
  845. package/docs/api/30-api-server.mdx +236 -0
  846. package/docs/api/31-api-client.mdx +167 -0
  847. package/docs/api/32-api-cache.mdx +311 -0
  848. package/docs/api/33-api-search-params.mdx +176 -0
  849. package/docs/api/34-api-config.mdx +329 -0
  850. package/docs/api/35-api-typescript.mdx +91 -0
  851. package/docs/api/36-cli.mdx +192 -0
  852. package/docs/learn/00-introduction.mdx +109 -0
  853. package/docs/learn/01-quick-start.mdx +94 -0
  854. package/docs/learn/02-pages-and-layouts.mdx +147 -0
  855. package/docs/learn/03-fetching-data.mdx +211 -0
  856. package/docs/learn/04-access-control.mdx +115 -0
  857. package/docs/learn/05-the-flush-point.mdx +175 -0
  858. package/docs/learn/06-typed-params.mdx +275 -0
  859. package/docs/learn/07-typed-routes.mdx +108 -0
  860. package/docs/learn/08-forms-and-actions.mdx +146 -0
  861. package/docs/learn/09-streaming.mdx +140 -0
  862. package/docs/learn/10-caching.mdx +252 -0
  863. package/docs/learn/11-middleware.mdx +158 -0
  864. package/docs/learn/12-error-handling.mdx +187 -0
  865. package/docs/learn/13-deploying.mdx +287 -0
  866. package/llms.txt +55 -0
  867. package/package.json +116 -30
  868. package/src/adapters/build-output-helper.ts +351 -0
  869. package/src/adapters/cloudflare-dev.ts +183 -0
  870. package/src/adapters/cloudflare-kv-cache.ts +207 -0
  871. package/src/adapters/cloudflare.ts +747 -130
  872. package/src/adapters/compress-module.ts +101 -88
  873. package/src/adapters/fs-identity.ts +156 -0
  874. package/src/adapters/nitro-presets.ts +139 -0
  875. package/src/adapters/nitro-preview.ts +340 -0
  876. package/src/adapters/nitro.ts +249 -426
  877. package/src/adapters/raw-imports.d.ts +5 -0
  878. package/src/adapters/shared.ts +274 -0
  879. package/src/adapters/types.ts +28 -7
  880. package/src/adapters/wrangler.d.ts +7 -0
  881. package/src/analyze/chains.ts +411 -0
  882. package/src/analyze/classify.ts +258 -0
  883. package/src/analyze/crawl-entry.ts +68 -0
  884. package/src/analyze/crawl.ts +500 -0
  885. package/src/analyze/graph-cache.ts +332 -0
  886. package/src/analyze/graph-command.ts +762 -0
  887. package/src/analyze/live-graph.ts +232 -0
  888. package/src/analyze/poison-rules.ts +165 -0
  889. package/src/analyze/poison-scan.ts +162 -0
  890. package/src/analyze/scan.ts +149 -0
  891. package/src/cache/cache-api.ts +107 -0
  892. package/src/cache/fast-hash.ts +5 -0
  893. package/src/cache/handler-store.ts +76 -0
  894. package/src/cache/index.ts +115 -22
  895. package/src/cache/invalidation-epoch.ts +93 -0
  896. package/src/cache/json-lossy-check.ts +75 -0
  897. package/src/cache/redis-handler.ts +198 -20
  898. package/src/cache/singleflight.ts +69 -6
  899. package/src/cache/sizeof.ts +33 -0
  900. package/src/cache/stable-stringify.ts +65 -2
  901. package/src/cache/store.ts +71 -0
  902. package/src/cache/stores/cloudflare-kv.ts +52 -0
  903. package/src/cache/stores/memory.ts +125 -0
  904. package/src/cache/stores/redis.ts +97 -0
  905. package/src/cache/stores/vercel.ts +59 -0
  906. package/src/cache/tag-aware-handler.ts +237 -0
  907. package/src/cache/timber-cache.ts +165 -40
  908. package/src/cdn/cloudflare-purge.ts +50 -0
  909. package/src/cdn/fastly-purge.ts +63 -0
  910. package/src/cdn/headers.ts +153 -0
  911. package/src/cdn/index.ts +23 -0
  912. package/src/cdn/purge-store.ts +34 -0
  913. package/src/cdn/workers-cache-purge.ts +34 -0
  914. package/src/cli-check.ts +507 -0
  915. package/src/cli-schema-sync.ts +401 -0
  916. package/src/cli.ts +323 -62
  917. package/src/client/browser-dev.ts +157 -2
  918. package/src/client/browser-entry/action-dispatch.ts +209 -0
  919. package/src/client/browser-entry/action-queue.ts +152 -0
  920. package/src/client/browser-entry/hmr.ts +70 -0
  921. package/src/client/browser-entry/hydrate.ts +148 -0
  922. package/src/client/browser-entry/index.ts +131 -0
  923. package/src/client/browser-entry/post-hydration.ts +123 -0
  924. package/src/client/browser-entry/router-init.ts +418 -0
  925. package/src/client/browser-entry/rsc-stream.ts +222 -0
  926. package/src/client/browser-entry/scroll.ts +50 -0
  927. package/src/client/deny-last-resort.tsx +54 -0
  928. package/src/client/error-boundary.tsx +289 -39
  929. package/src/client/error-reconstituter.tsx +79 -0
  930. package/src/client/form.tsx +36 -32
  931. package/src/client/global-context.ts +31 -0
  932. package/src/client/history.ts +81 -10
  933. package/src/client/index.ts +89 -53
  934. package/src/client/internal.ts +59 -0
  935. package/src/client/link.tsx +439 -151
  936. package/src/client/location-search.ts +15 -0
  937. package/src/client/navigation-api.ts +347 -0
  938. package/src/client/navigation-commit.ts +295 -0
  939. package/src/client/navigation-context.ts +67 -98
  940. package/src/client/navigation-root.tsx +224 -0
  941. package/src/client/navigation-transition.ts +327 -0
  942. package/src/client/nuqs-adapter.tsx +21 -9
  943. package/src/client/params-context.ts +187 -0
  944. package/src/client/react-root.ts +72 -0
  945. package/src/client/router-effects.ts +228 -0
  946. package/src/client/router-lifecycle.ts +354 -0
  947. package/src/client/router-pipeline.ts +490 -0
  948. package/src/client/router-ref.ts +3 -3
  949. package/src/client/router-skew.ts +30 -0
  950. package/src/client/router-types.ts +294 -0
  951. package/src/client/router.ts +435 -421
  952. package/src/client/rsc-fetch.ts +512 -73
  953. package/src/client/segment-cache.ts +327 -40
  954. package/src/client/segment-context.ts +7 -4
  955. package/src/client/segment-outlet.tsx +96 -0
  956. package/src/client/segment-update-context.ts +23 -0
  957. package/src/client/shallow-url.ts +22 -0
  958. package/src/client/slot-content-cache-context.ts +43 -0
  959. package/src/client/slot-context.ts +50 -0
  960. package/src/client/slot-outlet.tsx +22 -0
  961. package/src/client/slot-provider.tsx +32 -0
  962. package/src/client/ssr-data.ts +30 -9
  963. package/src/client/stale-client.ts +191 -0
  964. package/src/client/state.ts +29 -15
  965. package/src/client/status-page-marker.tsx +32 -0
  966. package/src/client/top-loader.tsx +13 -10
  967. package/src/client/unload-guard.ts +35 -3
  968. package/src/client/use-cookie.ts +70 -18
  969. package/src/client/use-link-status.ts +7 -7
  970. package/src/client/use-pathname.ts +22 -31
  971. package/src/client/use-pending-navigation.ts +40 -0
  972. package/src/client/use-query-states.ts +206 -36
  973. package/src/client/use-router.ts +6 -3
  974. package/src/client/use-search-params.ts +38 -49
  975. package/src/client/use-segment-params.ts +69 -0
  976. package/src/client/use-selected-layout-segment.ts +2 -2
  977. package/src/codec.ts +149 -0
  978. package/src/config-types.ts +322 -0
  979. package/src/config-validation.ts +347 -0
  980. package/src/cookies/define-cookie.ts +222 -53
  981. package/src/cookies/index.ts +13 -2
  982. package/src/cookies/json-cookie.ts +105 -0
  983. package/src/cookies/validation.ts +192 -0
  984. package/src/dev-tools/404-page.ts +286 -0
  985. package/src/dev-tools/browser-logs.ts +55 -0
  986. package/src/dev-tools/debug-channel.ts +151 -0
  987. package/src/dev-tools/dev-page-shell.ts +260 -0
  988. package/src/dev-tools/error-page.ts +331 -0
  989. package/src/dev-tools/holding-server.ts +185 -0
  990. package/src/dev-tools/hydration-overlay.ts +158 -0
  991. package/src/dev-tools/index.ts +83 -0
  992. package/src/dev-tools/instrumentation.ts +213 -0
  993. package/src/{server/dev-logger.ts → dev-tools/logger.ts} +33 -51
  994. package/src/{plugins/dev-logs.ts → dev-tools/logs.ts} +122 -26
  995. package/src/dev-tools/overlay.ts +469 -0
  996. package/src/dev-tools/stack-classifier.ts +75 -0
  997. package/src/dev-tools/terminal.ts +182 -0
  998. package/src/fonts/ast-walk.ts +235 -0
  999. package/src/fonts/ast.ts +479 -128
  1000. package/src/fonts/bundle.ts +138 -0
  1001. package/src/fonts/css.ts +1 -1
  1002. package/src/fonts/dev-middleware.ts +85 -0
  1003. package/src/fonts/fallbacks.ts +0 -23
  1004. package/src/fonts/google.ts +101 -19
  1005. package/src/fonts/local.ts +12 -11
  1006. package/src/fonts/paths.ts +58 -0
  1007. package/src/fonts/pipeline.ts +348 -0
  1008. package/src/fonts/transform.ts +311 -0
  1009. package/src/fonts/types.ts +52 -1
  1010. package/src/fonts/virtual-modules.ts +179 -0
  1011. package/src/index.ts +482 -377
  1012. package/src/params/codec-registry.ts +34 -0
  1013. package/src/params/define-schema.ts +115 -0
  1014. package/src/params/index.ts +17 -0
  1015. package/src/params/resolve-schema.ts +84 -0
  1016. package/src/plugin-context.ts +503 -0
  1017. package/src/plugins/adapter-build.ts +229 -7
  1018. package/src/plugins/build-manifest.ts +201 -26
  1019. package/src/plugins/build-report.ts +259 -47
  1020. package/src/plugins/cache.ts +243 -0
  1021. package/src/plugins/callsite-ast.ts +472 -0
  1022. package/src/plugins/callsite-jsx.ts +243 -0
  1023. package/src/plugins/chunks.ts +74 -5
  1024. package/src/plugins/client-chunks.ts +185 -0
  1025. package/src/plugins/cloudflare-wasm.ts +141 -0
  1026. package/src/plugins/content.ts +5 -1
  1027. package/src/plugins/dev-discovery.ts +218 -0
  1028. package/src/plugins/dev-server.ts +418 -94
  1029. package/src/plugins/entries.ts +141 -16
  1030. package/src/plugins/fonts.ts +234 -659
  1031. package/src/plugins/graph-endpoint.ts +532 -0
  1032. package/src/plugins/mdx.ts +108 -35
  1033. package/src/plugins/prebuilt-capture.ts +217 -0
  1034. package/src/plugins/prebuilt-options-analysis.ts +175 -0
  1035. package/src/plugins/prebuilt.ts +655 -0
  1036. package/src/plugins/prerender-sugar.ts +320 -0
  1037. package/src/plugins/request-dep/analysis.ts +447 -0
  1038. package/src/plugins/request-dep/index.ts +376 -0
  1039. package/src/plugins/request-dep/origin.ts +310 -0
  1040. package/src/plugins/routing.ts +273 -277
  1041. package/src/plugins/server-bundle.ts +99 -14
  1042. package/src/plugins/shims.ts +259 -97
  1043. package/src/plugins/static-build.ts +708 -66
  1044. package/src/react-canary.d.ts +2 -0
  1045. package/src/routing/codegen-shared.ts +39 -0
  1046. package/src/routing/codegen-types.ts +62 -0
  1047. package/src/routing/codegen-write.ts +141 -0
  1048. package/src/routing/codegen.ts +349 -232
  1049. package/src/routing/collision-probe.ts +438 -0
  1050. package/src/routing/collision-spaces.ts +281 -0
  1051. package/src/routing/convention-lint.ts +516 -0
  1052. package/src/routing/export-detect.ts +448 -0
  1053. package/src/routing/file-cache.ts +23 -0
  1054. package/src/routing/index.ts +16 -7
  1055. package/src/routing/interception-overlap.ts +141 -0
  1056. package/src/routing/interception.ts +1044 -67
  1057. package/src/routing/link-codegen.ts +280 -0
  1058. package/src/routing/manifest-codegen.ts +226 -0
  1059. package/src/routing/scanner.ts +408 -223
  1060. package/src/routing/schema-validation.ts +155 -0
  1061. package/src/routing/segment-classify.ts +280 -0
  1062. package/src/routing/segment-codegen.ts +98 -0
  1063. package/src/routing/segment-keys.ts +186 -0
  1064. package/src/routing/slot-placement.ts +97 -0
  1065. package/src/routing/types.ts +75 -26
  1066. package/src/routing/walkers.ts +98 -0
  1067. package/src/rsc-runtime/rsc.ts +9 -0
  1068. package/src/rsc-runtime/ssr.ts +51 -0
  1069. package/src/rsc-runtime/transforms.ts +13 -0
  1070. package/src/rsc-runtime/vendor-types.d.ts +19 -0
  1071. package/src/schema-bridge.ts +380 -0
  1072. package/src/search-params/define.ts +677 -0
  1073. package/src/search-params/index.ts +14 -20
  1074. package/src/search-params/parse-total.ts +91 -0
  1075. package/src/search-params/serialize-equal.ts +14 -0
  1076. package/src/search-params/wrappers.ts +150 -0
  1077. package/src/server/access-gate.tsx +194 -56
  1078. package/src/server/action-client.ts +122 -31
  1079. package/src/server/action-encryption.ts +144 -0
  1080. package/src/server/action-handler.ts +256 -56
  1081. package/src/server/actions.ts +112 -68
  1082. package/src/server/als-registry.ts +160 -21
  1083. package/src/server/asset-headers.ts +15 -37
  1084. package/src/server/body-limits.ts +10 -2
  1085. package/src/server/build-manifest.ts +33 -57
  1086. package/src/server/canonicalize.ts +6 -3
  1087. package/src/server/chain-url-parts.ts +163 -0
  1088. package/src/server/children-interception.ts +115 -0
  1089. package/src/server/coalesce-tick.ts +75 -0
  1090. package/src/server/compress.ts +43 -8
  1091. package/src/server/cookie-context.ts +484 -0
  1092. package/src/server/cookie-parsing.ts +163 -0
  1093. package/src/server/csp-nonce.ts +70 -0
  1094. package/src/server/csrf.ts +39 -6
  1095. package/src/server/default-logger.ts +99 -0
  1096. package/src/server/default-status-page.ts +88 -0
  1097. package/src/server/deny-boundary.ts +515 -0
  1098. package/src/server/deny-renderer.ts +211 -113
  1099. package/src/server/dev-source-map.ts +31 -0
  1100. package/src/server/early-hints-sender.ts +4 -3
  1101. package/src/server/early-hints.ts +39 -29
  1102. package/src/server/error-boundary-wrapper.ts +157 -44
  1103. package/src/server/error-response-headers.ts +18 -0
  1104. package/src/server/fallback-error.ts +79 -102
  1105. package/src/server/flight-injection-state.ts +113 -0
  1106. package/src/server/flight-scripts.ts +67 -0
  1107. package/src/server/form-data.ts +124 -12
  1108. package/src/server/form-flash.ts +2 -2
  1109. package/src/server/head-response.ts +54 -0
  1110. package/src/server/html-injector-core.ts +512 -0
  1111. package/src/server/html-injectors.ts +272 -255
  1112. package/src/server/index.ts +40 -192
  1113. package/src/server/instrumentation.ts +1 -1
  1114. package/src/server/internal.ts +173 -0
  1115. package/src/server/logger.ts +73 -37
  1116. package/src/server/metadata-collector.ts +174 -0
  1117. package/src/server/metadata-platform.ts +2 -2
  1118. package/src/server/metadata-render.ts +30 -8
  1119. package/src/server/metadata-routes.ts +205 -24
  1120. package/src/server/metadata-social.ts +2 -2
  1121. package/src/server/metadata.ts +23 -2
  1122. package/src/server/middleware-runner.ts +32 -5
  1123. package/src/server/node-stream-transforms.ts +323 -0
  1124. package/src/server/nuqs-ssr-provider.tsx +8 -7
  1125. package/src/server/param-coercion.ts +198 -0
  1126. package/src/server/pipeline-helpers.ts +159 -0
  1127. package/src/server/pipeline-interception.ts +109 -33
  1128. package/src/server/pipeline-metadata.ts +15 -1
  1129. package/src/server/pipeline-outcome.ts +218 -0
  1130. package/src/server/pipeline-phases.ts +606 -0
  1131. package/src/server/pipeline.ts +333 -384
  1132. package/src/server/port-resolution.ts +53 -0
  1133. package/src/server/prebuilt/cache-key.ts +299 -0
  1134. package/src/server/prebuilt/capture-state.ts +89 -0
  1135. package/src/server/prebuilt/key-discipline.ts +122 -0
  1136. package/src/server/prebuilt/manifest-tag-index.ts +46 -0
  1137. package/src/server/prebuilt/overlay.ts +256 -0
  1138. package/src/server/prebuilt/payload-source.ts +202 -0
  1139. package/src/server/prebuilt/slots.ts +190 -0
  1140. package/src/server/prebuilt/synthetic-store.ts +122 -0
  1141. package/src/server/prebuilt-builder.ts +804 -0
  1142. package/src/server/prebuilt-runtime.ts +817 -0
  1143. package/src/server/primitives.ts +240 -98
  1144. package/src/server/publish-params.ts +42 -0
  1145. package/src/server/render-timeout.ts +108 -0
  1146. package/src/server/render-utils.ts +35 -0
  1147. package/src/server/request-context.ts +244 -334
  1148. package/src/server/request-dep.ts +37 -0
  1149. package/src/server/response-cache-policy.ts +45 -0
  1150. package/src/server/route-element-builder.ts +508 -355
  1151. package/src/server/route-element-helpers.ts +37 -0
  1152. package/src/server/route-handler.ts +40 -13
  1153. package/src/server/route-matcher.ts +165 -272
  1154. package/src/server/route-module-loader.ts +161 -0
  1155. package/src/server/rsc-cache-key-guard.ts +122 -0
  1156. package/src/server/rsc-entry/action-middleware-runner.ts +174 -0
  1157. package/src/server/rsc-entry/api-handler.ts +78 -34
  1158. package/src/server/rsc-entry/deny-fallback.ts +93 -0
  1159. package/src/server/rsc-entry/error-renderer.ts +341 -91
  1160. package/src/server/rsc-entry/helpers.ts +180 -106
  1161. package/src/server/rsc-entry/index.ts +371 -331
  1162. package/src/server/rsc-entry/render-route.ts +315 -0
  1163. package/src/server/rsc-entry/revalidate-renderer.ts +350 -0
  1164. package/src/server/rsc-entry/rsc-payload.ts +209 -55
  1165. package/src/server/rsc-entry/rsc-stream.ts +154 -26
  1166. package/src/server/rsc-entry/ssr-bridge.ts +18 -5
  1167. package/src/server/rsc-entry/ssr-renderer.ts +317 -60
  1168. package/src/server/rsc-entry/wrap-action-dispatch.ts +186 -0
  1169. package/src/server/rsc-error-envelope.ts +18 -0
  1170. package/src/server/rsc-prop-warnings.ts +1 -1
  1171. package/src/server/safe-load.ts +60 -0
  1172. package/src/server/sensitive-fields.ts +230 -0
  1173. package/src/server/server-only-guard-noop.js +3 -0
  1174. package/src/server/server-timing.ts +1 -1
  1175. package/src/server/sitemap-generator.ts +337 -0
  1176. package/src/server/sitemap-handler.ts +157 -0
  1177. package/src/server/skippable-prefix.ts +172 -0
  1178. package/src/server/slot-interception.ts +168 -0
  1179. package/src/server/slot-resolver.ts +707 -300
  1180. package/src/server/slot-subtree-contain.ts +255 -0
  1181. package/src/server/ssr-bridge-types.ts +165 -0
  1182. package/src/server/ssr-entry.ts +230 -85
  1183. package/src/server/ssr-render.ts +357 -85
  1184. package/src/server/ssr-wrappers.tsx +162 -0
  1185. package/src/server/state-tree-diff.ts +85 -30
  1186. package/src/server/static-generator.ts +715 -0
  1187. package/src/server/static-not-found.ts +134 -0
  1188. package/src/server/status-code-resolver.ts +107 -148
  1189. package/src/server/stream-utils.ts +292 -0
  1190. package/src/server/tracing.ts +128 -16
  1191. package/src/server/tree-match.ts +262 -0
  1192. package/src/server/types.ts +95 -10
  1193. package/src/server/utils/element-type.ts +88 -0
  1194. package/src/server/utils/escape-html.ts +20 -0
  1195. package/src/server/version-skew.ts +104 -0
  1196. package/src/server/waituntil-bridge.ts +1 -1
  1197. package/src/server/workers-cache-bridge.ts +33 -0
  1198. package/src/shared/als-slots.ts +74 -0
  1199. package/src/shared/base-path.ts +80 -0
  1200. package/src/shared/href-validation.ts +159 -0
  1201. package/src/shared/merge-search-params.ts +55 -0
  1202. package/src/shared/param-value.ts +281 -0
  1203. package/src/shared/payload-root.ts +152 -0
  1204. package/src/shared/redirect-type.ts +17 -0
  1205. package/src/shared/rsc-cache-key.ts +269 -0
  1206. package/src/shared/rsc-error-envelope.ts +16 -0
  1207. package/src/shared/rsc-manifest.ts +29 -0
  1208. package/src/shared/rsc-media-type.ts +59 -0
  1209. package/src/shared/rsc-payload-path.ts +45 -0
  1210. package/src/shared/segment-info.ts +67 -0
  1211. package/src/shared/slot-params.ts +109 -0
  1212. package/src/shared/static-platform-files.ts +75 -0
  1213. package/src/shared/status-reason-phrase.ts +61 -0
  1214. package/src/shims/font-google.ts +1 -1
  1215. package/src/shims/font-local.ts +34 -0
  1216. package/src/shims/headers.ts +122 -1
  1217. package/src/shims/navigation-client.ts +36 -32
  1218. package/src/shims/navigation-rsc.ts +47 -0
  1219. package/src/shims/navigation.ts +10 -7
  1220. package/src/utils/state-machine.ts +111 -0
  1221. package/dist/_chunks/als-registry-B7DbZ2hS.js +0 -41
  1222. package/dist/_chunks/als-registry-B7DbZ2hS.js.map +0 -1
  1223. package/dist/_chunks/debug-B3Gypr3D.js +0 -108
  1224. package/dist/_chunks/debug-B3Gypr3D.js.map +0 -1
  1225. package/dist/_chunks/format-RyoGQL74.js +0 -164
  1226. package/dist/_chunks/format-RyoGQL74.js.map +0 -1
  1227. package/dist/_chunks/interception-BOoWmLUA.js +0 -676
  1228. package/dist/_chunks/interception-BOoWmLUA.js.map +0 -1
  1229. package/dist/_chunks/metadata-routes-Cjmvi3rQ.js.map +0 -1
  1230. package/dist/_chunks/request-context-BQUC8PHn.js +0 -330
  1231. package/dist/_chunks/request-context-BQUC8PHn.js.map +0 -1
  1232. package/dist/_chunks/ssr-data-MjmprTmO.js.map +0 -1
  1233. package/dist/_chunks/tracing-CemImE6h.js +0 -187
  1234. package/dist/_chunks/tracing-CemImE6h.js.map +0 -1
  1235. package/dist/_chunks/use-cookie-DX-l1_5E.js +0 -91
  1236. package/dist/_chunks/use-cookie-DX-l1_5E.js.map +0 -1
  1237. package/dist/_chunks/use-query-states-D5KaffOK.js +0 -109
  1238. package/dist/_chunks/use-query-states-D5KaffOK.js.map +0 -1
  1239. package/dist/adapters/cloudflare.js.map +0 -1
  1240. package/dist/cache/index.js.map +0 -1
  1241. package/dist/cache/register-cached-function.d.ts +0 -17
  1242. package/dist/cache/register-cached-function.d.ts.map +0 -1
  1243. package/dist/client/browser-entry.d.ts +0 -21
  1244. package/dist/client/browser-entry.d.ts.map +0 -1
  1245. package/dist/client/error-boundary.js.map +0 -1
  1246. package/dist/client/head.d.ts +0 -16
  1247. package/dist/client/head.d.ts.map +0 -1
  1248. package/dist/client/link-status-provider.d.ts +0 -11
  1249. package/dist/client/link-status-provider.d.ts.map +0 -1
  1250. package/dist/client/segment-merger.d.ts +0 -119
  1251. package/dist/client/segment-merger.d.ts.map +0 -1
  1252. package/dist/client/stale-reload.d.ts +0 -44
  1253. package/dist/client/stale-reload.d.ts.map +0 -1
  1254. package/dist/client/transition-root.d.ts +0 -74
  1255. package/dist/client/transition-root.d.ts.map +0 -1
  1256. package/dist/client/use-navigation-pending.d.ts +0 -26
  1257. package/dist/client/use-navigation-pending.d.ts.map +0 -1
  1258. package/dist/client/use-params.d.ts +0 -92
  1259. package/dist/client/use-params.d.ts.map +0 -1
  1260. package/dist/content/index.d.ts +0 -11
  1261. package/dist/content/index.d.ts.map +0 -1
  1262. package/dist/content/index.js +0 -2
  1263. package/dist/plugins/cache-transform.d.ts +0 -36
  1264. package/dist/plugins/cache-transform.d.ts.map +0 -1
  1265. package/dist/plugins/dev-error-overlay.d.ts +0 -60
  1266. package/dist/plugins/dev-error-overlay.d.ts.map +0 -1
  1267. package/dist/plugins/dev-logs.d.ts.map +0 -1
  1268. package/dist/plugins/dynamic-transform.d.ts +0 -72
  1269. package/dist/plugins/dynamic-transform.d.ts.map +0 -1
  1270. package/dist/plugins/server-action-exports.d.ts +0 -26
  1271. package/dist/plugins/server-action-exports.d.ts.map +0 -1
  1272. package/dist/routing/status-file-lint.d.ts +0 -33
  1273. package/dist/routing/status-file-lint.d.ts.map +0 -1
  1274. package/dist/search-params/analyze.d.ts +0 -54
  1275. package/dist/search-params/analyze.d.ts.map +0 -1
  1276. package/dist/search-params/builtin-codecs.d.ts +0 -105
  1277. package/dist/search-params/builtin-codecs.d.ts.map +0 -1
  1278. package/dist/search-params/codecs.d.ts +0 -53
  1279. package/dist/search-params/codecs.d.ts.map +0 -1
  1280. package/dist/search-params/create.d.ts +0 -106
  1281. package/dist/search-params/create.d.ts.map +0 -1
  1282. package/dist/search-params/registry.d.ts +0 -20
  1283. package/dist/search-params/registry.d.ts.map +0 -1
  1284. package/dist/server/client-module-map.d.ts +0 -47
  1285. package/dist/server/client-module-map.d.ts.map +0 -1
  1286. package/dist/server/dev-fetch-instrumentation.d.ts +0 -22
  1287. package/dist/server/dev-fetch-instrumentation.d.ts.map +0 -1
  1288. package/dist/server/dev-logger.d.ts.map +0 -1
  1289. package/dist/server/dev-span-processor.d.ts +0 -29
  1290. package/dist/server/dev-span-processor.d.ts.map +0 -1
  1291. package/dist/server/dev-warnings.d.ts +0 -129
  1292. package/dist/server/dev-warnings.d.ts.map +0 -1
  1293. package/dist/server/flush.d.ts +0 -74
  1294. package/dist/server/flush.d.ts.map +0 -1
  1295. package/dist/server/manifest-status-resolver.d.ts +0 -58
  1296. package/dist/server/manifest-status-resolver.d.ts.map +0 -1
  1297. package/dist/server/prerender.d.ts +0 -77
  1298. package/dist/server/prerender.d.ts.map +0 -1
  1299. package/dist/server/tree-builder.d.ts +0 -126
  1300. package/dist/server/tree-builder.d.ts.map +0 -1
  1301. package/dist/utils/directive-parser.d.ts +0 -70
  1302. package/dist/utils/directive-parser.d.ts.map +0 -1
  1303. package/src/cache/register-cached-function.ts +0 -103
  1304. package/src/client/browser-entry.ts +0 -678
  1305. package/src/client/head.ts +0 -61
  1306. package/src/client/link-status-provider.tsx +0 -30
  1307. package/src/client/segment-merger.ts +0 -339
  1308. package/src/client/stale-reload.ts +0 -87
  1309. package/src/client/transition-root.tsx +0 -166
  1310. package/src/client/use-navigation-pending.ts +0 -38
  1311. package/src/client/use-params.ts +0 -141
  1312. package/src/content/index.ts +0 -13
  1313. package/src/plugins/cache-transform.ts +0 -199
  1314. package/src/plugins/dev-error-overlay.ts +0 -230
  1315. package/src/plugins/dynamic-transform.ts +0 -161
  1316. package/src/plugins/server-action-exports.ts +0 -220
  1317. package/src/routing/status-file-lint.ts +0 -112
  1318. package/src/search-params/analyze.ts +0 -192
  1319. package/src/search-params/builtin-codecs.ts +0 -228
  1320. package/src/search-params/codecs.ts +0 -153
  1321. package/src/search-params/create.ts +0 -321
  1322. package/src/search-params/registry.ts +0 -31
  1323. package/src/server/client-module-map.ts +0 -58
  1324. package/src/server/dev-fetch-instrumentation.ts +0 -96
  1325. package/src/server/dev-span-processor.ts +0 -78
  1326. package/src/server/dev-warnings.ts +0 -283
  1327. package/src/server/flush.ts +0 -182
  1328. package/src/server/manifest-status-resolver.ts +0 -215
  1329. package/src/server/prerender.ts +0 -139
  1330. package/src/server/tree-builder.ts +0 -382
  1331. package/src/shims/server-only-noop.js +0 -6
  1332. package/src/utils/directive-parser.ts +0 -529
@@ -0,0 +1,255 @@
1
+ /**
2
+ * Slot subtree containment — keeps a nested `deny()` inside its slot.
3
+ *
4
+ * `SafeSlotPage` (slot-resolver.ts) catches a `DenySignal` thrown by the slot
5
+ * page's own body and returns the slot's fallback instead, which is what makes
6
+ * slot denial graceful degradation at HTTP 200. That catch covers only the
7
+ * function it calls. Every server component in the tree the page *returns*
8
+ * runs later, as its own Flight task, and a deny there reaches Flight's global
9
+ * `onError` — where it is indistinguishable from a main-route deny. Production
10
+ * Flight hands `onError` nothing but the error object (no task, no key path,
11
+ * no component stack; it even clears its request storage around the call), so
12
+ * nothing at that point can recover where the throw came from, and the status
13
+ * commit in `rsc-payload.ts` would take it for a page-level deny and answer 4xx.
14
+ *
15
+ * The only place the origin is known is *before* the component runs. So this
16
+ * module rewrites the tree a slot component returns: each server-component
17
+ * element is replaced by an element of `ContainedSlotComponent`, which invokes
18
+ * the original, catches `DenySignal`, and substitutes the slot fallback in that
19
+ * component's place. The wrapper rewrites its own output the same way, so
20
+ * containment follows the tree however deep it renders — one walk per
21
+ * component result, once each. No Flight error row, no signal, no client
22
+ * boundary involvement: the deny never leaves the slot, on the payload path
23
+ * and the document path alike.
24
+ *
25
+ * What is NOT contained, deliberately: anything other than `DenySignal`.
26
+ * `RedirectSignal` must still reach the pipeline (TIM-554), and a plain error
27
+ * still takes the slot's catch-all boundary. A thrown thenable — `use()` on a
28
+ * pending promise — passes through untouched so Flight can suspend the task.
29
+ *
30
+ * Flight's `renderElement` does not only invoke plain functions: it unwraps
31
+ * `memo` (renders `.type`), `forwardRef` (calls `.render`), and `lazy`
32
+ * (runs `_init`, then renders what it resolved to). A server component behind
33
+ * any of those is invoked all the same, so its deny would escape too. The walk
34
+ * therefore resolves an element type the way Flight would — down to the
35
+ * function Flight would call — and wraps that.
36
+ *
37
+ * See design/02-rendering-pipeline.md §"Slot Access Failure = Graceful
38
+ * Degradation", TIM-1450.
39
+ */
40
+
41
+ import { createElement, type ElementType, type ReactElement, type ReactNode } from 'react';
42
+
43
+ import { isDenySignal, DenySignal } from './primitives.ts';
44
+ import { isClientReference } from './utils/element-type.ts';
45
+
46
+ // React 19 elements; the legacy tag is accepted so a stray pre-19 element in
47
+ // a dependency's output is walked rather than skipped.
48
+ const ELEMENT_TAGS = new Set<symbol>([
49
+ Symbol.for('react.transitional.element'),
50
+ Symbol.for('react.element'),
51
+ ]);
52
+
53
+ type ServerComponent = (props: Record<string, unknown>) => unknown;
54
+
55
+ interface Thenable<T> {
56
+ then(onFulfilled: (value: T) => unknown, onRejected?: (reason: unknown) => unknown): unknown;
57
+ }
58
+
59
+ /** What one walk carries: the fallback to substitute, and the one subtree it must not enter. */
60
+ interface Containment {
61
+ fallback: ReactNode;
62
+ /**
63
+ * An element the caller already owns and has contained on its own — a slot
64
+ * layout's `children`, which the resolver built. Left untouched by identity
65
+ * so the level below is not wrapped (and re-walked) a second time.
66
+ */
67
+ opaque: unknown;
68
+ }
69
+
70
+ function isThenable(value: unknown): value is Thenable<unknown> {
71
+ return (
72
+ typeof value === 'object' &&
73
+ value !== null &&
74
+ typeof (value as { then?: unknown }).then === 'function'
75
+ );
76
+ }
77
+
78
+ function isElement(value: unknown): value is ReactElement {
79
+ return (
80
+ typeof value === 'object' &&
81
+ value !== null &&
82
+ ELEMENT_TAGS.has((value as { $$typeof?: symbol }).$$typeof as symbol)
83
+ );
84
+ }
85
+
86
+ /** A server component Flight would invoke: a function that is neither a client reference nor a class. */
87
+ function isServerComponent(type: unknown): type is ServerComponent {
88
+ return (
89
+ typeof type === 'function' &&
90
+ !isClientReference(type) &&
91
+ !(type as { prototype?: { isReactComponent?: unknown } }).prototype?.isReactComponent
92
+ );
93
+ }
94
+
95
+ // The wrapper types Flight's renderElement unwraps before invoking a function.
96
+ const MEMO_TAG = Symbol.for('react.memo');
97
+ const FORWARD_REF_TAG = Symbol.for('react.forward_ref');
98
+ const LAZY_TAG = Symbol.for('react.lazy');
99
+
100
+ /** The shape React gives a `lazy()` result; `_init` is what Flight calls to resolve it. */
101
+ interface LazyType {
102
+ _payload: unknown;
103
+ _init: (payload: unknown) => ElementType;
104
+ }
105
+
106
+ /**
107
+ * The server component Flight would invoke for an element type, or undefined
108
+ * when it would not invoke one (host tag, client reference, class, provider,
109
+ * Suspense, and so on). Mirrors the unwrapping in Flight's `renderElement`:
110
+ * a `memo` renders its `.type`, a `forwardRef` calls its `.render`, a `lazy`
111
+ * resolves through `_init` and renders the result.
112
+ */
113
+ function serverComponentOf(type: unknown): ServerComponent | undefined {
114
+ if (isServerComponent(type)) return type;
115
+ if (typeof type !== 'object' || type === null) return undefined;
116
+ const tag = (type as { $$typeof?: symbol }).$$typeof;
117
+ if (tag === MEMO_TAG) return serverComponentOf((type as { type: unknown }).type);
118
+ if (tag === FORWARD_REF_TAG) return serverComponentOf((type as { render: unknown }).render);
119
+ if (tag === LAZY_TAG) {
120
+ const lazy = type as LazyType;
121
+ // Resolve as Flight does. Until the module has loaded, `_init` throws the
122
+ // pending thenable; the wrapper lets any non-deny throw through, so Flight
123
+ // suspends the task and retries it, and the next call returns the type.
124
+ // That type becomes an element the wrapper walks like any other result,
125
+ // so a server component (memo'd or not) behind the lazy is contained too.
126
+ return (props) => createElement(lazy._init(lazy._payload), props);
127
+ }
128
+ return undefined;
129
+ }
130
+
131
+ function isPlainObject(value: unknown): value is Record<string, unknown> {
132
+ if (typeof value !== 'object' || value === null) return false;
133
+ const proto = Object.getPrototypeOf(value);
134
+ return proto === Object.prototype || proto === null;
135
+ }
136
+
137
+ /** On a deny, the fallback takes the denying component's place; anything else propagates. */
138
+ function denyToFallback(fallback: ReactNode): (error: unknown) => ReactNode {
139
+ return (error) => {
140
+ if (isDenySignal(error)) return fallback;
141
+ throw error;
142
+ };
143
+ }
144
+
145
+ /**
146
+ * Invokes a server component from a slot's subtree and contains its output.
147
+ *
148
+ * Declared at module scope and given the component as a prop — the same
149
+ * pattern as `ScopedSlotLayout` — so its identity is stable across renders.
150
+ * Server component: `component` and `fallback` are consumed here and never
151
+ * reach the Flight stream.
152
+ */
153
+ function ContainedSlotComponent(props: {
154
+ component: ServerComponent;
155
+ componentProps: Record<string, unknown>;
156
+ fallback: ReactNode;
157
+ }): ReactNode | Promise<ReactNode> {
158
+ const { component: Component, componentProps, fallback } = props;
159
+ const containment: Containment = { fallback, opaque: undefined };
160
+ let result: unknown;
161
+ try {
162
+ result = Component(componentProps);
163
+ } catch (error) {
164
+ return denyToFallback(fallback)(error);
165
+ }
166
+ // The walk is typed over `unknown` because it descends into props of any
167
+ // shape; what comes back for a component result is the result, rewritten.
168
+ if (isThenable(result)) {
169
+ return Promise.resolve(result).then(
170
+ (value) => walk(value, containment, new WeakSet()) as ReactNode,
171
+ denyToFallback(fallback)
172
+ );
173
+ }
174
+ return walk(result, containment, new WeakSet()) as ReactNode;
175
+ }
176
+
177
+ /**
178
+ * Rewrite `node`, returning the input itself when nothing beneath it needed
179
+ * wrapping — so an unchanged subtree keeps its identity and Flight's own
180
+ * object deduplication still applies to it.
181
+ */
182
+ function walk(node: unknown, c: Containment, seen: WeakSet<object>): unknown {
183
+ if (typeof node !== 'object' || node === null) return node;
184
+ if (node === c.opaque || seen.has(node)) return node;
185
+ seen.add(node);
186
+
187
+ if (isThenable(node)) {
188
+ // A promise rendered as a child resolves to more tree; a rejection with a
189
+ // deny is the slot denying, same as a component would.
190
+ return node.then((value) => walk(value, c, seen), denyToFallback(c.fallback));
191
+ }
192
+
193
+ if (Array.isArray(node)) {
194
+ let changed = false;
195
+ const next = node.map((child) => {
196
+ const walked = walk(child, c, seen);
197
+ if (walked !== child) changed = true;
198
+ return walked;
199
+ });
200
+ return changed ? next : node;
201
+ }
202
+
203
+ if (isElement(node)) {
204
+ const { type, key, props } = node;
205
+ const component = type === ContainedSlotComponent ? undefined : serverComponentOf(type);
206
+ if (component) {
207
+ const wrapped = {
208
+ component,
209
+ componentProps: props as Record<string, unknown>,
210
+ fallback: c.fallback,
211
+ };
212
+ return createElement(ContainedSlotComponent, key === null ? wrapped : { ...wrapped, key });
213
+ }
214
+ // Host elements, fragments, Suspense, client references, providers, and
215
+ // wrappers this walk already made: keep the type, contain whatever server
216
+ // components ride in the props (children, `fallback`, render-prop-shaped
217
+ // slots).
218
+ const nextProps = walk(props, c, seen);
219
+ if (nextProps === props) return node;
220
+ return createElement(type, key === null ? nextProps : { ...(nextProps as object), key });
221
+ }
222
+
223
+ if (isPlainObject(node)) {
224
+ let changed = false;
225
+ const next: Record<string, unknown> = {};
226
+ for (const [name, value] of Object.entries(node)) {
227
+ const walked = walk(value, c, seen);
228
+ if (walked !== value) changed = true;
229
+ next[name] = walked;
230
+ }
231
+ return changed ? next : node;
232
+ }
233
+
234
+ return node;
235
+ }
236
+
237
+ /**
238
+ * Contain every server component in the tree a slot component returned.
239
+ *
240
+ * `fallback` is the slot's deny fallback (`default.tsx`, or nothing) and
241
+ * replaces exactly the component that denied — siblings that already rendered
242
+ * stay, the same way a deny scoped by a Suspense boundary behaves on the main
243
+ * route.
244
+ *
245
+ * `opaque` is an element the caller built and has already contained, which
246
+ * the walk must leave alone: a slot layout passes the `children` element it
247
+ * received, so the page beneath it is not wrapped a second time.
248
+ */
249
+ export function containSlotSubtree(
250
+ tree: ReactNode,
251
+ fallback: ReactNode,
252
+ opaque?: ReactNode
253
+ ): ReactNode {
254
+ return walk(tree, { fallback, opaque }, new WeakSet()) as ReactNode;
255
+ }
@@ -0,0 +1,165 @@
1
+ /**
2
+ * RSC ↔ SSR Bridge Contract
3
+ *
4
+ * This file defines the payload that crosses the RSC → SSR environment
5
+ * boundary. The RSC environment calls `handleSsr(rscStream, navContext)`
6
+ * in the SSR environment via `import.meta.viteRsc.import(...)` (see
7
+ * `rsc-entry/ssr-bridge.ts`). RSC and SSR are separate Vite module graphs
8
+ * with separate module instances, so every per-request field that SSR
9
+ * needs must be declared here and passed explicitly.
10
+ *
11
+ * Rules for changes to this file:
12
+ *
13
+ * 1. **Structurally serializable shape.** Fields must be values that can
14
+ * cross the environment boundary as plain data or as platform-neutral
15
+ * primitives (`Headers`, `ReadableStream`, `AbortSignal`, `Map`). Do
16
+ * not add closures, class instances tied to RSC-only modules, or
17
+ * anything whose identity must be preserved across the bridge.
18
+ *
19
+ * 2. **No runtime imports of RSC-only modules.** This file is read by
20
+ * both environments at type-check time. Keep it type-only. Importing
21
+ * an RSC-only runtime module here couples SSR to RSC internals.
22
+ *
23
+ * 3. **Shape changes are public-surface changes.** Adding, removing, or
24
+ * renaming a field is a change to the contract between two
25
+ * independently-built bundles. Update every caller in the same PR —
26
+ * do not rely on back-compat shims.
27
+ *
28
+ * See `design/02-rendering-pipeline.md` §"RSC → SSR → Client Hydration"
29
+ * and `CLAUDE.md` §"RSC and SSR Are Separate Vite Environments".
30
+ */
31
+
32
+ import type { CoercedParams } from '../shared/param-value.ts';
33
+ import type { SlotParamsRecord } from '../shared/slot-params.ts';
34
+
35
+ /**
36
+ * Navigation context passed from the RSC environment to SSR.
37
+ *
38
+ * Per-request state must be explicitly passed across the RSC→SSR
39
+ * environment boundary since they are separate Vite module graphs.
40
+ */
41
+ export interface NavContext {
42
+ /** The requested pathname */
43
+ pathname: string;
44
+ /**
45
+ * The app-visible raw query string (`''` or `?…`), with the framework's
46
+ * `_rsc` cache key stripped — from `appVisibleSearch()`. The single
47
+ * representation of the request's search state on this contract: it feeds
48
+ * `NavigationProvider`, the nuqs SSR adapter, and the ALS-backed SSR data,
49
+ * so `useSearchParams()`, nuqs hooks, and `<Link preserveSearchParams>`
50
+ * read the identical value they will read from the address bar after
51
+ * hydration. The raw string preserves repeated keys (`?tag=a&tag=b`),
52
+ * which a collapsed `Record<string, string>` cannot represent — do not
53
+ * reintroduce one beside this field (TIM-1428).
54
+ */
55
+ search: string;
56
+ /** Extracted route segment params. Post-coercion, values may be non-string (TIM-1347). */
57
+ segmentParams: CoercedParams;
58
+ /**
59
+ * Per-slot segment params, keyed by slot tree path. Absent when the request
60
+ * rendered no slot with params of its own. Feeds `useSegmentParams(path)`
61
+ * during SSR and, via `__timber_slot_params`, after hydration (TIM-1285).
62
+ */
63
+ slotParams?: SlotParamsRecord;
64
+ /** The committed HTTP status code */
65
+ statusCode: number;
66
+ /** Response headers from middleware/proxy */
67
+ responseHeaders: Headers;
68
+ /** Pre-rendered metadata HTML to inject before </head> */
69
+ headHtml: string;
70
+ /** Inline JS for React's bootstrapScriptContent — kicks off module loading */
71
+ bootstrapScriptContent: string;
72
+ /**
73
+ * Request CSP nonce, generated when middleware read `ctx.nonce` for its
74
+ * `Content-Security-Policy` header (`getCspNonce()`). SSR passes it to
75
+ * Fizz (`nonce` option → bootstrap + runtime scripts), to the Flight
76
+ * decoder (preinit scripts), and to every timber-generated inline
77
+ * `<script>`. Undefined when no middleware asked for one, in which case
78
+ * the markup is byte-identical to a nonce-less render.
79
+ * See design/13-security.md §"Content Security Policy" (TIM-1414).
80
+ */
81
+ nonce?: string;
82
+ /** Tee'd RSC stream for client-side hydration (inlined into HTML) */
83
+ rscStream?: ReadableStream<Uint8Array>;
84
+ /** Max Suspense hold window (ms). SSR delays the first flush by this
85
+ * duration, racing allReady so that fast-resolving boundaries render inline
86
+ * without ever showing a fallback. Derived from route `deferSuspenseFor` exports.
87
+ * See design/05-streaming.md §"deferSuspenseFor". */
88
+ deferSuspenseFor?: number;
89
+ /** Request abort signal. When the client disconnects (page refresh,
90
+ * navigation away), this signal fires. Passed to renderToReadableStream
91
+ * so React stops rendering and doesn't fire error boundaries for aborts. */
92
+ signal?: AbortSignal;
93
+ /** Request cookies as name→value pairs. Used by useCookie() during SSR
94
+ * to return correct cookie values before hydration. */
95
+ cookies?: Map<string, string>;
96
+ /**
97
+ * Lazy thunk that produces the `<script>self.__timber_segments=…</script>`
98
+ * tag. Invoked by the SSR entry AFTER `renderSsrNodeStream` /
99
+ * `renderSsrStream` returns (shell ready ⇒ AccessGates settled), so the
100
+ * `getFirstDeniedSegmentIndex()` ALS value is authoritative. The result
101
+ * is appended to headHtml before the head injector runs.
102
+ *
103
+ * Undefined when client JS is disabled (no client to consume it).
104
+ * See TIM-1365, TIM-1359.
105
+ */
106
+ getHeadSegmentScript?: () => string;
107
+
108
+ /**
109
+ * Mutable flag: set by TimberErrorBoundary during SSR when it catches
110
+ * a DenySignal (via digest). This tells the RSC entry that the denial
111
+ * was contained by a slot error boundary and should NOT be promoted
112
+ * to a page-level deny. See LOCAL-298.
113
+ */
114
+ _denyHandledByBoundary?: boolean;
115
+
116
+ /**
117
+ * Mutable: SSR timing data populated by handleSsr().
118
+ * Read by the RSC entry to record sub-phase Server-Timing entries
119
+ * when `serverTiming: 'detailed'` is configured.
120
+ *
121
+ * This bridges the RSC→SSR environment boundary: the SSR entry populates
122
+ * these fields, the RSC entry reads them after callSsr() returns.
123
+ */
124
+ _ssrTimings?: {
125
+ /** Time to decode RSC stream (createFromReadableStream/createFromNodeStream) */
126
+ decodeMs: number;
127
+ /** Time for Fizz to render the shell (onShellReady) */
128
+ shellMs: number;
129
+ /** Time for pipe() to flush shell bytes to the output stream */
130
+ pipeMs: number;
131
+ /** Time to set up Node.js Transform pipeline / Web Stream transforms */
132
+ pipelineMs: number;
133
+ /** Total SSR time (decode → response ready) */
134
+ totalMs: number;
135
+ /** Whether the Node.js native stream path was used */
136
+ nodeStreams: boolean;
137
+ };
138
+
139
+ /**
140
+ * Signal that fires when an unhandled RSC error is detected.
141
+ * The Flight injector checks this before writing each script tag —
142
+ * when aborted, it stops injecting Flight data to prevent corrupted
143
+ * chunks from crashing the client's Flight decoder.
144
+ */
145
+ _errorSignal?: AbortSignal;
146
+
147
+ /**
148
+ * Mutable flag: set by the SSR entry when Fizz's `stream.allReady`
149
+ * settled before the `deferSuspenseFor` hold ended.
150
+ *
151
+ * When true, the RSC entry can skip its signal-promotion
152
+ * microtask-retry wait: Fizz allReady implies Flight closed its
153
+ * stream, which implies `onError` already fired for every rejected
154
+ * Flight task. Any DenySignal/RedirectSignal/RenderError in-tree has
155
+ * already been captured in `RenderSignals`.
156
+ *
157
+ * When false or undefined (hold timed out, no hold window, shell-only
158
+ * return, Node error path), no such guarantee — the RSC entry falls
159
+ * back to the bounded microtask retry loop.
160
+ *
161
+ * See design/05-streaming.md §"deferSuspenseFor and the Hold Window"
162
+ * and design/spike-signal-promotion-protocol.md (Option 1).
163
+ */
164
+ _fizzAllReadyResolved?: boolean;
165
+ }