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

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 (1324) hide show
  1. package/LICENSE +8 -0
  2. package/agent-skill.md +346 -0
  3. package/dist/_chunks/actions-d1hCqnU3.js +345 -0
  4. package/dist/_chunks/actions-d1hCqnU3.js.map +1 -0
  5. package/dist/_chunks/als-registry-C6kcfprT.js +41 -0
  6. package/dist/_chunks/als-registry-C6kcfprT.js.map +1 -0
  7. package/dist/_chunks/als-slots-BEEIPKYm.js +26 -0
  8. package/dist/_chunks/als-slots-BEEIPKYm.js.map +1 -0
  9. package/dist/_chunks/base-path-DaQrzbez.js +80 -0
  10. package/dist/_chunks/base-path-DaQrzbez.js.map +1 -0
  11. package/dist/_chunks/build-manifest-DTmSGLRz.js +135 -0
  12. package/dist/_chunks/build-manifest-DTmSGLRz.js.map +1 -0
  13. package/dist/_chunks/build-output-helper-9dqCv1pZ.js +370 -0
  14. package/dist/_chunks/build-output-helper-9dqCv1pZ.js.map +1 -0
  15. package/dist/_chunks/cache-api-ByagcC-J.js +1149 -0
  16. package/dist/_chunks/cache-api-ByagcC-J.js.map +1 -0
  17. package/dist/_chunks/canonicalize-CgHoscYO.js +66 -0
  18. package/dist/_chunks/canonicalize-CgHoscYO.js.map +1 -0
  19. package/dist/_chunks/chains-Bpb0W4ax.js +412 -0
  20. package/dist/_chunks/chains-Bpb0W4ax.js.map +1 -0
  21. package/dist/_chunks/cli-check-D6VolrDV.js +293 -0
  22. package/dist/_chunks/cli-check-D6VolrDV.js.map +1 -0
  23. package/dist/_chunks/cli-schema-sync-D6rO-VcS.js +299 -0
  24. package/dist/_chunks/cli-schema-sync-D6rO-VcS.js.map +1 -0
  25. package/dist/_chunks/cloudflare-BFb__LYG.js +1290 -0
  26. package/dist/_chunks/cloudflare-BFb__LYG.js.map +1 -0
  27. package/dist/_chunks/codec-registry-oOUxugz3.js +21 -0
  28. package/dist/_chunks/codec-registry-oOUxugz3.js.map +1 -0
  29. package/dist/_chunks/convention-lint-fRkwVwEH.js +893 -0
  30. package/dist/_chunks/convention-lint-fRkwVwEH.js.map +1 -0
  31. package/dist/_chunks/dist-DtrJyBbw.js +386 -0
  32. package/dist/_chunks/dist-DtrJyBbw.js.map +1 -0
  33. package/dist/_chunks/error-boundary-BfPHZjm0.js +1050 -0
  34. package/dist/_chunks/error-boundary-BfPHZjm0.js.map +1 -0
  35. package/dist/_chunks/fast-hash-C-tVYrLb.js +41 -0
  36. package/dist/_chunks/fast-hash-C-tVYrLb.js.map +1 -0
  37. package/dist/_chunks/file-cache-Dw6BJPG7.js +458 -0
  38. package/dist/_chunks/file-cache-Dw6BJPG7.js.map +1 -0
  39. package/dist/_chunks/format-BKclgVbk.js +14 -0
  40. package/dist/_chunks/format-BKclgVbk.js.map +1 -0
  41. package/dist/_chunks/fs-identity-D7vb6GdI.js +208 -0
  42. package/dist/_chunks/fs-identity-D7vb6GdI.js.map +1 -0
  43. package/dist/_chunks/graph-cache-CP4GEmf9.js +304 -0
  44. package/dist/_chunks/graph-cache-CP4GEmf9.js.map +1 -0
  45. package/dist/_chunks/href-validation-BIrxavIy.js +213 -0
  46. package/dist/_chunks/href-validation-BIrxavIy.js.map +1 -0
  47. package/dist/_chunks/json-lossy-check-ClNvBM_3.js +63 -0
  48. package/dist/_chunks/json-lossy-check-ClNvBM_3.js.map +1 -0
  49. package/dist/_chunks/live-graph-D_2D32Ad.js +150 -0
  50. package/dist/_chunks/live-graph-D_2D32Ad.js.map +1 -0
  51. package/dist/_chunks/logger-uLBuGKDI.js +1484 -0
  52. package/dist/_chunks/logger-uLBuGKDI.js.map +1 -0
  53. package/dist/_chunks/navigation-context-D0TU0Jog.js +135 -0
  54. package/dist/_chunks/navigation-context-D0TU0Jog.js.map +1 -0
  55. package/dist/_chunks/navigation-root-mHSK9psY.js +126 -0
  56. package/dist/_chunks/navigation-root-mHSK9psY.js.map +1 -0
  57. package/dist/_chunks/param-value-C8TNYchQ.js +66 -0
  58. package/dist/_chunks/param-value-C8TNYchQ.js.map +1 -0
  59. package/dist/_chunks/plugin-context-8idfR3UZ.js +321 -0
  60. package/dist/_chunks/plugin-context-8idfR3UZ.js.map +1 -0
  61. package/dist/_chunks/poison-rules-DoEhbqaY.js +110 -0
  62. package/dist/_chunks/poison-rules-DoEhbqaY.js.map +1 -0
  63. package/dist/_chunks/poison-scan-Bm9Yyqk9.js +101 -0
  64. package/dist/_chunks/poison-scan-Bm9Yyqk9.js.map +1 -0
  65. package/dist/_chunks/purge-store-Byr8XOjU.js +14 -0
  66. package/dist/_chunks/purge-store-Byr8XOjU.js.map +1 -0
  67. package/dist/_chunks/resolve-schema-CBR6Lm4i.js +50 -0
  68. package/dist/_chunks/resolve-schema-CBR6Lm4i.js.map +1 -0
  69. package/dist/_chunks/rolldown-runtime-D7D4PA-g.js +13 -0
  70. package/dist/_chunks/rsc-cache-key-ClUiXQnK.js +243 -0
  71. package/dist/_chunks/rsc-cache-key-ClUiXQnK.js.map +1 -0
  72. package/dist/_chunks/rsc-media-type-DDc7duTD.js +61 -0
  73. package/dist/_chunks/rsc-media-type-DDc7duTD.js.map +1 -0
  74. package/dist/_chunks/rsc-payload-path-B_LBodc2.js +48 -0
  75. package/dist/_chunks/rsc-payload-path-B_LBodc2.js.map +1 -0
  76. package/dist/_chunks/scan-BoP17W3w.js +140 -0
  77. package/dist/_chunks/scan-BoP17W3w.js.map +1 -0
  78. package/dist/_chunks/scanner-AiazgH_f.js +1771 -0
  79. package/dist/_chunks/scanner-AiazgH_f.js.map +1 -0
  80. package/dist/_chunks/schema-bridge-C83xa9lT.js +199 -0
  81. package/dist/_chunks/schema-bridge-C83xa9lT.js.map +1 -0
  82. package/dist/_chunks/segment-classify-C539Pa2O.js +197 -0
  83. package/dist/_chunks/segment-classify-C539Pa2O.js.map +1 -0
  84. package/dist/_chunks/segment-context-D9_89u34.js +34 -0
  85. package/dist/_chunks/segment-context-D9_89u34.js.map +1 -0
  86. package/dist/_chunks/segment-keys-lqtdookO.js +256 -0
  87. package/dist/_chunks/segment-keys-lqtdookO.js.map +1 -0
  88. package/dist/_chunks/singleflight-2lUWfcAk.js +54 -0
  89. package/dist/_chunks/singleflight-2lUWfcAk.js.map +1 -0
  90. package/dist/_chunks/sizeof-lXffQ1Vr.js +35 -0
  91. package/dist/_chunks/sizeof-lXffQ1Vr.js.map +1 -0
  92. package/dist/_chunks/{ssr-data-MjmprTmO.js → ssr-data-D6T6Y3ef.js} +3 -31
  93. package/dist/_chunks/ssr-data-D6T6Y3ef.js.map +1 -0
  94. package/dist/_chunks/state-FippDgxN.js +52 -0
  95. package/dist/_chunks/state-FippDgxN.js.map +1 -0
  96. package/dist/_chunks/status-page-marker-DwQBrLBz.js +496 -0
  97. package/dist/_chunks/status-page-marker-DwQBrLBz.js.map +1 -0
  98. package/dist/_chunks/use-query-states-I3JMng6J.js +226 -0
  99. package/dist/_chunks/use-query-states-I3JMng6J.js.map +1 -0
  100. package/dist/_chunks/walkers-B6XUtmqK.js +144 -0
  101. package/dist/_chunks/walkers-B6XUtmqK.js.map +1 -0
  102. package/dist/adapters/build-output-helper.d.ts +72 -0
  103. package/dist/adapters/build-output-helper.d.ts.map +1 -0
  104. package/dist/adapters/cloudflare-dev.d.ts +109 -0
  105. package/dist/adapters/cloudflare-dev.d.ts.map +1 -0
  106. package/dist/adapters/cloudflare-dev.js +74 -0
  107. package/dist/adapters/cloudflare-dev.js.map +1 -0
  108. package/dist/adapters/cloudflare-kv-cache.d.ts +65 -0
  109. package/dist/adapters/cloudflare-kv-cache.d.ts.map +1 -0
  110. package/dist/adapters/cloudflare-kv-cache.js +123 -0
  111. package/dist/adapters/cloudflare-kv-cache.js.map +1 -0
  112. package/dist/adapters/cloudflare.d.ts +200 -22
  113. package/dist/adapters/cloudflare.d.ts.map +1 -1
  114. package/dist/adapters/cloudflare.js +2 -188
  115. package/dist/adapters/compress-module.d.ts +17 -4
  116. package/dist/adapters/compress-module.d.ts.map +1 -1
  117. package/dist/adapters/fs-identity.d.ts +64 -0
  118. package/dist/adapters/fs-identity.d.ts.map +1 -0
  119. package/dist/adapters/nitro-presets.d.ts +37 -0
  120. package/dist/adapters/nitro-presets.d.ts.map +1 -0
  121. package/dist/adapters/nitro-preview.d.ts +32 -0
  122. package/dist/adapters/nitro-preview.d.ts.map +1 -0
  123. package/dist/adapters/nitro.d.ts +66 -37
  124. package/dist/adapters/nitro.d.ts.map +1 -1
  125. package/dist/adapters/nitro.js +457 -300
  126. package/dist/adapters/nitro.js.map +1 -1
  127. package/dist/adapters/shared.d.ts +62 -0
  128. package/dist/adapters/shared.d.ts.map +1 -0
  129. package/dist/adapters/types.d.ts +28 -6
  130. package/dist/adapters/types.d.ts.map +1 -1
  131. package/dist/analyze/chains.d.ts +124 -0
  132. package/dist/analyze/chains.d.ts.map +1 -0
  133. package/dist/analyze/classify.d.ts +150 -0
  134. package/dist/analyze/classify.d.ts.map +1 -0
  135. package/dist/analyze/crawl-entry.d.ts +17 -0
  136. package/dist/analyze/crawl-entry.d.ts.map +1 -0
  137. package/dist/analyze/crawl-entry.js +313 -0
  138. package/dist/analyze/crawl-entry.js.map +1 -0
  139. package/dist/analyze/crawl.d.ts +134 -0
  140. package/dist/analyze/crawl.d.ts.map +1 -0
  141. package/dist/analyze/graph-cache.d.ts +104 -0
  142. package/dist/analyze/graph-cache.d.ts.map +1 -0
  143. package/dist/analyze/graph-command.d.ts +43 -0
  144. package/dist/analyze/graph-command.d.ts.map +1 -0
  145. package/dist/analyze/graph-command.js +472 -0
  146. package/dist/analyze/graph-command.js.map +1 -0
  147. package/dist/analyze/live-graph.d.ts +81 -0
  148. package/dist/analyze/live-graph.d.ts.map +1 -0
  149. package/dist/analyze/poison-rules.d.ts +72 -0
  150. package/dist/analyze/poison-rules.d.ts.map +1 -0
  151. package/dist/analyze/poison-scan.d.ts +48 -0
  152. package/dist/analyze/poison-scan.d.ts.map +1 -0
  153. package/dist/analyze/scan.d.ts +73 -0
  154. package/dist/analyze/scan.d.ts.map +1 -0
  155. package/dist/cache/cache-api.d.ts +48 -0
  156. package/dist/cache/cache-api.d.ts.map +1 -0
  157. package/dist/cache/fast-hash.d.ts +5 -0
  158. package/dist/cache/fast-hash.d.ts.map +1 -1
  159. package/dist/cache/handler-store.d.ts +33 -0
  160. package/dist/cache/handler-store.d.ts.map +1 -0
  161. package/dist/cache/index.d.ts +32 -9
  162. package/dist/cache/index.d.ts.map +1 -1
  163. package/dist/cache/index.js +3 -326
  164. package/dist/cache/invalidation-epoch.d.ts +43 -0
  165. package/dist/cache/invalidation-epoch.d.ts.map +1 -0
  166. package/dist/cache/json-lossy-check.d.ts +11 -0
  167. package/dist/cache/json-lossy-check.d.ts.map +1 -0
  168. package/dist/cache/redis-handler.d.ts +141 -9
  169. package/dist/cache/redis-handler.d.ts.map +1 -1
  170. package/dist/cache/singleflight.d.ts +21 -2
  171. package/dist/cache/singleflight.d.ts.map +1 -1
  172. package/dist/cache/sizeof.d.ts +22 -0
  173. package/dist/cache/sizeof.d.ts.map +1 -0
  174. package/dist/cache/stable-stringify.d.ts +9 -0
  175. package/dist/cache/stable-stringify.d.ts.map +1 -1
  176. package/dist/cache/store.d.ts +53 -0
  177. package/dist/cache/store.d.ts.map +1 -0
  178. package/dist/cache/stores/cloudflare-kv.d.ts +38 -0
  179. package/dist/cache/stores/cloudflare-kv.d.ts.map +1 -0
  180. package/dist/cache/stores/cloudflare-kv.js +29 -0
  181. package/dist/cache/stores/cloudflare-kv.js.map +1 -0
  182. package/dist/cache/stores/memory.d.ts +42 -0
  183. package/dist/cache/stores/memory.d.ts.map +1 -0
  184. package/dist/cache/stores/memory.js +90 -0
  185. package/dist/cache/stores/memory.js.map +1 -0
  186. package/dist/cache/stores/redis.d.ts +69 -0
  187. package/dist/cache/stores/redis.d.ts.map +1 -0
  188. package/dist/cache/stores/redis.js +35 -0
  189. package/dist/cache/stores/redis.js.map +1 -0
  190. package/dist/cache/stores/vercel.d.ts +36 -0
  191. package/dist/cache/stores/vercel.d.ts.map +1 -0
  192. package/dist/cache/stores/vercel.js +33 -0
  193. package/dist/cache/stores/vercel.js.map +1 -0
  194. package/dist/cache/tag-aware-handler.d.ts +52 -0
  195. package/dist/cache/tag-aware-handler.d.ts.map +1 -0
  196. package/dist/cache/timber-cache.d.ts +21 -11
  197. package/dist/cache/timber-cache.d.ts.map +1 -1
  198. package/dist/cdn/cloudflare-purge.d.ts +23 -0
  199. package/dist/cdn/cloudflare-purge.d.ts.map +1 -0
  200. package/dist/cdn/cloudflare-purge.js +30 -0
  201. package/dist/cdn/cloudflare-purge.js.map +1 -0
  202. package/dist/cdn/fastly-purge.d.ts +25 -0
  203. package/dist/cdn/fastly-purge.d.ts.map +1 -0
  204. package/dist/cdn/fastly-purge.js +33 -0
  205. package/dist/cdn/fastly-purge.js.map +1 -0
  206. package/dist/cdn/headers.d.ts +97 -0
  207. package/dist/cdn/headers.d.ts.map +1 -0
  208. package/dist/cdn/index.d.ts +5 -0
  209. package/dist/cdn/index.d.ts.map +1 -0
  210. package/dist/cdn/index.js +94 -0
  211. package/dist/cdn/index.js.map +1 -0
  212. package/dist/cdn/purge-store.d.ts +23 -0
  213. package/dist/cdn/purge-store.d.ts.map +1 -0
  214. package/dist/cdn/workers-cache-purge.d.ts +20 -0
  215. package/dist/cdn/workers-cache-purge.d.ts.map +1 -0
  216. package/dist/cdn/workers-cache-purge.js +35 -0
  217. package/dist/cdn/workers-cache-purge.js.map +1 -0
  218. package/dist/cli-check.d.ts +163 -0
  219. package/dist/cli-check.d.ts.map +1 -0
  220. package/dist/cli-schema-sync.d.ts +59 -0
  221. package/dist/cli-schema-sync.d.ts.map +1 -0
  222. package/dist/cli.d.ts +75 -8
  223. package/dist/cli.d.ts.map +1 -1
  224. package/dist/cli.js +175 -47
  225. package/dist/cli.js.map +1 -1
  226. package/dist/client/browser-dev.d.ts +37 -1
  227. package/dist/client/browser-dev.d.ts.map +1 -1
  228. package/dist/client/browser-entry/action-dispatch.d.ts +19 -0
  229. package/dist/client/browser-entry/action-dispatch.d.ts.map +1 -0
  230. package/dist/client/browser-entry/action-queue.d.ts +44 -0
  231. package/dist/client/browser-entry/action-queue.d.ts.map +1 -0
  232. package/dist/client/browser-entry/hmr.d.ts +21 -0
  233. package/dist/client/browser-entry/hmr.d.ts.map +1 -0
  234. package/dist/client/browser-entry/hydrate.d.ts +63 -0
  235. package/dist/client/browser-entry/hydrate.d.ts.map +1 -0
  236. package/dist/client/browser-entry/index.d.ts +30 -0
  237. package/dist/client/browser-entry/index.d.ts.map +1 -0
  238. package/dist/client/browser-entry/post-hydration.d.ts +29 -0
  239. package/dist/client/browser-entry/post-hydration.d.ts.map +1 -0
  240. package/dist/client/browser-entry/router-init.d.ts +46 -0
  241. package/dist/client/browser-entry/router-init.d.ts.map +1 -0
  242. package/dist/client/browser-entry/rsc-stream.d.ts +32 -0
  243. package/dist/client/browser-entry/rsc-stream.d.ts.map +1 -0
  244. package/dist/client/browser-entry/scroll.d.ts +28 -0
  245. package/dist/client/browser-entry/scroll.d.ts.map +1 -0
  246. package/dist/client/deny-last-resort.d.ts +29 -0
  247. package/dist/client/deny-last-resort.d.ts.map +1 -0
  248. package/dist/client/error-boundary.d.ts +66 -6
  249. package/dist/client/error-boundary.d.ts.map +1 -1
  250. package/dist/client/error-boundary.js +2 -126
  251. package/dist/client/error-reconstituter.d.ts +61 -0
  252. package/dist/client/error-reconstituter.d.ts.map +1 -0
  253. package/dist/client/form.d.ts +16 -27
  254. package/dist/client/form.d.ts.map +1 -1
  255. package/dist/client/global-context.d.ts +15 -0
  256. package/dist/client/global-context.d.ts.map +1 -0
  257. package/dist/client/history.d.ts +50 -9
  258. package/dist/client/history.d.ts.map +1 -1
  259. package/dist/client/index.d.ts +20 -33
  260. package/dist/client/index.d.ts.map +1 -1
  261. package/dist/client/index.js +323 -1148
  262. package/dist/client/index.js.map +1 -1
  263. package/dist/client/internal.d.ts +20 -0
  264. package/dist/client/internal.d.ts.map +1 -0
  265. package/dist/client/internal.js +818 -0
  266. package/dist/client/internal.js.map +1 -0
  267. package/dist/client/link.d.ts +63 -60
  268. package/dist/client/link.d.ts.map +1 -1
  269. package/dist/client/location-search.d.ts +12 -0
  270. package/dist/client/location-search.d.ts.map +1 -0
  271. package/dist/client/navigation-api.d.ts +121 -0
  272. package/dist/client/navigation-api.d.ts.map +1 -0
  273. package/dist/client/navigation-commit.d.ts +98 -0
  274. package/dist/client/navigation-commit.d.ts.map +1 -0
  275. package/dist/client/navigation-context.d.ts +51 -31
  276. package/dist/client/navigation-context.d.ts.map +1 -1
  277. package/dist/client/navigation-root.d.ts +98 -0
  278. package/dist/client/navigation-root.d.ts.map +1 -0
  279. package/dist/client/navigation-transition.d.ts +187 -0
  280. package/dist/client/navigation-transition.d.ts.map +1 -0
  281. package/dist/client/nuqs-adapter.d.ts +1 -1
  282. package/dist/client/nuqs-adapter.d.ts.map +1 -1
  283. package/dist/client/params-context.d.ts +81 -0
  284. package/dist/client/params-context.d.ts.map +1 -0
  285. package/dist/client/react-root.d.ts +44 -0
  286. package/dist/client/react-root.d.ts.map +1 -0
  287. package/dist/client/router-effects.d.ts +130 -0
  288. package/dist/client/router-effects.d.ts.map +1 -0
  289. package/dist/client/router-lifecycle.d.ts +98 -0
  290. package/dist/client/router-lifecycle.d.ts.map +1 -0
  291. package/dist/client/router-pipeline.d.ts +87 -0
  292. package/dist/client/router-pipeline.d.ts.map +1 -0
  293. package/dist/client/router-ref.d.ts +2 -2
  294. package/dist/client/router-ref.d.ts.map +1 -1
  295. package/dist/client/router-skew.d.ts +21 -0
  296. package/dist/client/router-skew.d.ts.map +1 -0
  297. package/dist/client/router-types.d.ts +272 -0
  298. package/dist/client/router-types.d.ts.map +1 -0
  299. package/dist/client/router.d.ts +1 -97
  300. package/dist/client/router.d.ts.map +1 -1
  301. package/dist/client/rsc-fetch.d.ts +104 -26
  302. package/dist/client/rsc-fetch.d.ts.map +1 -1
  303. package/dist/client/segment-cache.d.ts +161 -25
  304. package/dist/client/segment-cache.d.ts.map +1 -1
  305. package/dist/client/segment-context.d.ts.map +1 -1
  306. package/dist/client/segment-outlet.d.ts +68 -0
  307. package/dist/client/segment-outlet.d.ts.map +1 -0
  308. package/dist/client/segment-update-context.d.ts +15 -0
  309. package/dist/client/segment-update-context.d.ts.map +1 -0
  310. package/dist/client/shallow-url.d.ts +10 -0
  311. package/dist/client/shallow-url.d.ts.map +1 -0
  312. package/dist/client/slot-content-cache-context.d.ts +35 -0
  313. package/dist/client/slot-content-cache-context.d.ts.map +1 -0
  314. package/dist/client/slot-context.d.ts +31 -0
  315. package/dist/client/slot-context.d.ts.map +1 -0
  316. package/dist/client/slot-outlet.d.ts +16 -0
  317. package/dist/client/slot-outlet.d.ts.map +1 -0
  318. package/dist/client/slot-provider.d.ts +25 -0
  319. package/dist/client/slot-provider.d.ts.map +1 -0
  320. package/dist/client/ssr-data.d.ts +29 -7
  321. package/dist/client/ssr-data.d.ts.map +1 -1
  322. package/dist/client/stale-client.d.ts +69 -0
  323. package/dist/client/stale-client.d.ts.map +1 -0
  324. package/dist/client/state.d.ts +19 -8
  325. package/dist/client/state.d.ts.map +1 -1
  326. package/dist/client/status-page-marker.d.ts +25 -0
  327. package/dist/client/status-page-marker.d.ts.map +1 -0
  328. package/dist/client/top-loader.d.ts +7 -6
  329. package/dist/client/top-loader.d.ts.map +1 -1
  330. package/dist/client/unload-guard.d.ts +5 -0
  331. package/dist/client/unload-guard.d.ts.map +1 -1
  332. package/dist/client/use-cookie.d.ts +12 -0
  333. package/dist/client/use-cookie.d.ts.map +1 -1
  334. package/dist/client/use-link-status.d.ts +5 -5
  335. package/dist/client/use-link-status.d.ts.map +1 -1
  336. package/dist/client/use-pathname.d.ts +13 -11
  337. package/dist/client/use-pathname.d.ts.map +1 -1
  338. package/dist/client/use-pending-navigation.d.ts +23 -0
  339. package/dist/client/use-pending-navigation.d.ts.map +1 -0
  340. package/dist/client/use-query-states.d.ts +10 -4
  341. package/dist/client/use-query-states.d.ts.map +1 -1
  342. package/dist/client/use-router.d.ts +2 -2
  343. package/dist/client/use-router.d.ts.map +1 -1
  344. package/dist/client/use-search-params.d.ts +15 -8
  345. package/dist/client/use-search-params.d.ts.map +1 -1
  346. package/dist/client/use-segment-params.d.ts +55 -0
  347. package/dist/client/use-segment-params.d.ts.map +1 -0
  348. package/dist/codec.d.ts +69 -0
  349. package/dist/codec.d.ts.map +1 -0
  350. package/dist/codec.js +76 -0
  351. package/dist/codec.js.map +1 -0
  352. package/dist/config-types.d.ts +322 -0
  353. package/dist/config-types.d.ts.map +1 -0
  354. package/dist/config-validation.d.ts +51 -0
  355. package/dist/config-validation.d.ts.map +1 -0
  356. package/dist/cookies/define-cookie.d.ts +58 -25
  357. package/dist/cookies/define-cookie.d.ts.map +1 -1
  358. package/dist/cookies/index.d.ts +3 -2
  359. package/dist/cookies/index.d.ts.map +1 -1
  360. package/dist/cookies/index.js +256 -36
  361. package/dist/cookies/index.js.map +1 -1
  362. package/dist/cookies/json-cookie.d.ts +64 -0
  363. package/dist/cookies/json-cookie.d.ts.map +1 -0
  364. package/dist/cookies/validation.d.ts +34 -0
  365. package/dist/cookies/validation.d.ts.map +1 -0
  366. package/dist/dev-tools/404-page.d.ts +50 -0
  367. package/dist/dev-tools/404-page.d.ts.map +1 -0
  368. package/dist/dev-tools/browser-logs.d.ts +40 -0
  369. package/dist/dev-tools/browser-logs.d.ts.map +1 -0
  370. package/dist/dev-tools/dev-page-shell.d.ts +78 -0
  371. package/dist/dev-tools/dev-page-shell.d.ts.map +1 -0
  372. package/dist/dev-tools/error-page.d.ts +32 -0
  373. package/dist/dev-tools/error-page.d.ts.map +1 -0
  374. package/dist/dev-tools/holding-server.d.ts +46 -0
  375. package/dist/dev-tools/holding-server.d.ts.map +1 -0
  376. package/dist/dev-tools/hydration-overlay.d.ts +11 -0
  377. package/dist/dev-tools/hydration-overlay.d.ts.map +1 -0
  378. package/dist/dev-tools/index.d.ts +31 -0
  379. package/dist/dev-tools/index.d.ts.map +1 -0
  380. package/dist/dev-tools/instrumentation.d.ts +59 -0
  381. package/dist/dev-tools/instrumentation.d.ts.map +1 -0
  382. package/dist/{server/dev-logger.d.ts → dev-tools/logger.d.ts} +1 -1
  383. package/dist/dev-tools/logger.d.ts.map +1 -0
  384. package/dist/{plugins/dev-logs.d.ts → dev-tools/logs.d.ts} +17 -3
  385. package/dist/dev-tools/logs.d.ts.map +1 -0
  386. package/dist/dev-tools/overlay.d.ts +91 -0
  387. package/dist/dev-tools/overlay.d.ts.map +1 -0
  388. package/dist/dev-tools/stack-classifier.d.ts +34 -0
  389. package/dist/dev-tools/stack-classifier.d.ts.map +1 -0
  390. package/dist/dev-tools/terminal.d.ts +28 -0
  391. package/dist/dev-tools/terminal.d.ts.map +1 -0
  392. package/dist/fonts/ast-walk.d.ts +68 -0
  393. package/dist/fonts/ast-walk.d.ts.map +1 -0
  394. package/dist/fonts/ast.d.ts +112 -8
  395. package/dist/fonts/ast.d.ts.map +1 -1
  396. package/dist/fonts/bundle.d.ts +50 -0
  397. package/dist/fonts/bundle.d.ts.map +1 -0
  398. package/dist/fonts/css.d.ts +1 -1
  399. package/dist/fonts/dev-middleware.d.ts +22 -0
  400. package/dist/fonts/dev-middleware.d.ts.map +1 -0
  401. package/dist/fonts/fallbacks.d.ts +0 -7
  402. package/dist/fonts/fallbacks.d.ts.map +1 -1
  403. package/dist/fonts/google.d.ts +5 -3
  404. package/dist/fonts/google.d.ts.map +1 -1
  405. package/dist/fonts/local.d.ts +5 -5
  406. package/dist/fonts/local.d.ts.map +1 -1
  407. package/dist/fonts/paths.d.ts +43 -0
  408. package/dist/fonts/paths.d.ts.map +1 -0
  409. package/dist/fonts/pipeline.d.ts +177 -0
  410. package/dist/fonts/pipeline.d.ts.map +1 -0
  411. package/dist/fonts/transform.d.ts +82 -0
  412. package/dist/fonts/transform.d.ts.map +1 -0
  413. package/dist/fonts/types.d.ts +47 -1
  414. package/dist/fonts/types.d.ts.map +1 -1
  415. package/dist/fonts/virtual-modules.d.ts +77 -0
  416. package/dist/fonts/virtual-modules.d.ts.map +1 -0
  417. package/dist/index.d.ts +35 -181
  418. package/dist/index.d.ts.map +1 -1
  419. package/dist/index.js +10461 -14176
  420. package/dist/index.js.map +1 -1
  421. package/dist/params/codec-registry.d.ts +26 -0
  422. package/dist/params/codec-registry.d.ts.map +1 -0
  423. package/dist/params/define-schema.d.ts +81 -0
  424. package/dist/params/define-schema.d.ts.map +1 -0
  425. package/dist/params/index.d.ts +5 -0
  426. package/dist/params/index.d.ts.map +1 -0
  427. package/dist/params/index.js +34 -0
  428. package/dist/params/index.js.map +1 -0
  429. package/dist/params/resolve-schema.d.ts +34 -0
  430. package/dist/params/resolve-schema.d.ts.map +1 -0
  431. package/dist/plugin-context.d.ts +276 -0
  432. package/dist/plugin-context.d.ts.map +1 -0
  433. package/dist/plugins/adapter-build.d.ts +21 -1
  434. package/dist/plugins/adapter-build.d.ts.map +1 -1
  435. package/dist/plugins/build-manifest.d.ts +7 -3
  436. package/dist/plugins/build-manifest.d.ts.map +1 -1
  437. package/dist/plugins/build-report.d.ts +47 -10
  438. package/dist/plugins/build-report.d.ts.map +1 -1
  439. package/dist/plugins/cache.d.ts +64 -0
  440. package/dist/plugins/cache.d.ts.map +1 -0
  441. package/dist/plugins/callsite-ast.d.ts +117 -0
  442. package/dist/plugins/callsite-ast.d.ts.map +1 -0
  443. package/dist/plugins/callsite-jsx.d.ts +35 -0
  444. package/dist/plugins/callsite-jsx.d.ts.map +1 -0
  445. package/dist/plugins/chunks.d.ts +11 -4
  446. package/dist/plugins/chunks.d.ts.map +1 -1
  447. package/dist/plugins/client-chunks.d.ts +40 -0
  448. package/dist/plugins/client-chunks.d.ts.map +1 -0
  449. package/dist/plugins/cloudflare-wasm.d.ts +21 -0
  450. package/dist/plugins/cloudflare-wasm.d.ts.map +1 -0
  451. package/dist/plugins/content.d.ts +1 -1
  452. package/dist/plugins/content.d.ts.map +1 -1
  453. package/dist/plugins/dev-discovery.d.ts +123 -0
  454. package/dist/plugins/dev-discovery.d.ts.map +1 -0
  455. package/dist/plugins/dev-server.d.ts +17 -1
  456. package/dist/plugins/dev-server.d.ts.map +1 -1
  457. package/dist/plugins/entries.d.ts +28 -4
  458. package/dist/plugins/entries.d.ts.map +1 -1
  459. package/dist/plugins/fonts.d.ts +16 -73
  460. package/dist/plugins/fonts.d.ts.map +1 -1
  461. package/dist/plugins/graph-endpoint.d.ts +112 -0
  462. package/dist/plugins/graph-endpoint.d.ts.map +1 -0
  463. package/dist/plugins/mdx.d.ts +18 -5
  464. package/dist/plugins/mdx.d.ts.map +1 -1
  465. package/dist/plugins/prebuilt-capture.d.ts +60 -0
  466. package/dist/plugins/prebuilt-capture.d.ts.map +1 -0
  467. package/dist/plugins/prebuilt-options-analysis.d.ts +40 -0
  468. package/dist/plugins/prebuilt-options-analysis.d.ts.map +1 -0
  469. package/dist/plugins/prebuilt.d.ts +82 -0
  470. package/dist/plugins/prebuilt.d.ts.map +1 -0
  471. package/dist/plugins/prerender-sugar.d.ts +39 -0
  472. package/dist/plugins/prerender-sugar.d.ts.map +1 -0
  473. package/dist/plugins/request-dep/analysis.d.ts +106 -0
  474. package/dist/plugins/request-dep/analysis.d.ts.map +1 -0
  475. package/dist/plugins/request-dep/index.d.ts +75 -0
  476. package/dist/plugins/request-dep/index.d.ts.map +1 -0
  477. package/dist/plugins/request-dep/origin.d.ts +61 -0
  478. package/dist/plugins/request-dep/origin.d.ts.map +1 -0
  479. package/dist/plugins/routing.d.ts +1 -1
  480. package/dist/plugins/routing.d.ts.map +1 -1
  481. package/dist/plugins/server-bundle.d.ts.map +1 -1
  482. package/dist/plugins/shims.d.ts +29 -5
  483. package/dist/plugins/shims.d.ts.map +1 -1
  484. package/dist/plugins/static-build.d.ts +218 -21
  485. package/dist/plugins/static-build.d.ts.map +1 -1
  486. package/dist/routing/codegen-shared.d.ts +26 -0
  487. package/dist/routing/codegen-shared.d.ts.map +1 -0
  488. package/dist/routing/codegen-types.d.ts +61 -0
  489. package/dist/routing/codegen-types.d.ts.map +1 -0
  490. package/dist/routing/codegen-write.d.ts +51 -0
  491. package/dist/routing/codegen-write.d.ts.map +1 -0
  492. package/dist/routing/codegen.d.ts +8 -3
  493. package/dist/routing/codegen.d.ts.map +1 -1
  494. package/dist/routing/collision-probe.d.ts +104 -0
  495. package/dist/routing/collision-probe.d.ts.map +1 -0
  496. package/dist/routing/collision-spaces.d.ts +26 -0
  497. package/dist/routing/collision-spaces.d.ts.map +1 -0
  498. package/dist/routing/convention-lint.d.ts +55 -0
  499. package/dist/routing/convention-lint.d.ts.map +1 -0
  500. package/dist/routing/export-detect.d.ts +72 -0
  501. package/dist/routing/export-detect.d.ts.map +1 -0
  502. package/dist/routing/file-cache.d.ts +8 -0
  503. package/dist/routing/file-cache.d.ts.map +1 -0
  504. package/dist/routing/index.d.ts +13 -7
  505. package/dist/routing/index.d.ts.map +1 -1
  506. package/dist/routing/index.js +5 -2
  507. package/dist/routing/interception-overlap.d.ts +35 -0
  508. package/dist/routing/interception-overlap.d.ts.map +1 -0
  509. package/dist/routing/interception.d.ts +234 -10
  510. package/dist/routing/interception.d.ts.map +1 -1
  511. package/dist/routing/link-codegen.d.ts +105 -0
  512. package/dist/routing/link-codegen.d.ts.map +1 -0
  513. package/dist/routing/manifest-codegen.d.ts +26 -0
  514. package/dist/routing/manifest-codegen.d.ts.map +1 -0
  515. package/dist/routing/scanner.d.ts +14 -10
  516. package/dist/routing/scanner.d.ts.map +1 -1
  517. package/dist/routing/schema-validation.d.ts +35 -0
  518. package/dist/routing/schema-validation.d.ts.map +1 -0
  519. package/dist/routing/segment-classify.d.ts +114 -0
  520. package/dist/routing/segment-classify.d.ts.map +1 -0
  521. package/dist/routing/segment-codegen.d.ts +38 -0
  522. package/dist/routing/segment-codegen.d.ts.map +1 -0
  523. package/dist/routing/segment-keys.d.ts +118 -0
  524. package/dist/routing/segment-keys.d.ts.map +1 -0
  525. package/dist/routing/slot-placement.d.ts +48 -0
  526. package/dist/routing/slot-placement.d.ts.map +1 -0
  527. package/dist/routing/types.d.ts +74 -26
  528. package/dist/routing/types.d.ts.map +1 -1
  529. package/dist/routing/walkers.d.ts +57 -0
  530. package/dist/routing/walkers.d.ts.map +1 -0
  531. package/dist/rsc-runtime/rsc.d.ts +1 -1
  532. package/dist/rsc-runtime/rsc.d.ts.map +1 -1
  533. package/dist/rsc-runtime/ssr.d.ts +14 -0
  534. package/dist/rsc-runtime/ssr.d.ts.map +1 -1
  535. package/dist/rsc-runtime/transforms.d.ts +13 -0
  536. package/dist/rsc-runtime/transforms.d.ts.map +1 -0
  537. package/dist/schema-bridge.d.ts +145 -0
  538. package/dist/schema-bridge.d.ts.map +1 -0
  539. package/dist/search-params/define.d.ts +262 -0
  540. package/dist/search-params/define.d.ts.map +1 -0
  541. package/dist/search-params/index.d.ts +3 -7
  542. package/dist/search-params/index.d.ts.map +1 -1
  543. package/dist/search-params/index.js +179 -360
  544. package/dist/search-params/index.js.map +1 -1
  545. package/dist/search-params/parse-total.d.ts +81 -0
  546. package/dist/search-params/parse-total.d.ts.map +1 -0
  547. package/dist/search-params/serialize-equal.d.ts +9 -0
  548. package/dist/search-params/serialize-equal.d.ts.map +1 -0
  549. package/dist/search-params/wrappers.d.ts +76 -0
  550. package/dist/search-params/wrappers.d.ts.map +1 -0
  551. package/dist/server/access-gate.d.ts +98 -10
  552. package/dist/server/access-gate.d.ts.map +1 -1
  553. package/dist/server/action-client.d.ts +42 -7
  554. package/dist/server/action-client.d.ts.map +1 -1
  555. package/dist/server/action-encryption.d.ts +76 -0
  556. package/dist/server/action-encryption.d.ts.map +1 -0
  557. package/dist/server/action-handler.d.ts +39 -5
  558. package/dist/server/action-handler.d.ts.map +1 -1
  559. package/dist/server/actions.d.ts +29 -35
  560. package/dist/server/actions.d.ts.map +1 -1
  561. package/dist/server/als-registry.d.ts +117 -13
  562. package/dist/server/als-registry.d.ts.map +1 -1
  563. package/dist/server/asset-headers.d.ts +8 -18
  564. package/dist/server/asset-headers.d.ts.map +1 -1
  565. package/dist/server/body-limits.d.ts.map +1 -1
  566. package/dist/server/build-manifest.d.ts +25 -30
  567. package/dist/server/build-manifest.d.ts.map +1 -1
  568. package/dist/server/canonicalize.d.ts +10 -0
  569. package/dist/server/canonicalize.d.ts.map +1 -1
  570. package/dist/server/chain-url-parts.d.ts +82 -0
  571. package/dist/server/chain-url-parts.d.ts.map +1 -0
  572. package/dist/server/children-interception.d.ts +49 -0
  573. package/dist/server/children-interception.d.ts.map +1 -0
  574. package/dist/server/coalesce-tick.d.ts +40 -0
  575. package/dist/server/coalesce-tick.d.ts.map +1 -0
  576. package/dist/server/compress.d.ts.map +1 -1
  577. package/dist/server/cookie-context.d.ts +170 -0
  578. package/dist/server/cookie-context.d.ts.map +1 -0
  579. package/dist/server/cookie-parsing.d.ts +65 -0
  580. package/dist/server/cookie-parsing.d.ts.map +1 -0
  581. package/dist/server/csp-nonce.d.ts +45 -0
  582. package/dist/server/csp-nonce.d.ts.map +1 -0
  583. package/dist/server/csrf.d.ts +3 -2
  584. package/dist/server/csrf.d.ts.map +1 -1
  585. package/dist/server/default-logger.d.ts +22 -0
  586. package/dist/server/default-logger.d.ts.map +1 -0
  587. package/dist/server/default-status-page.d.ts +45 -0
  588. package/dist/server/default-status-page.d.ts.map +1 -0
  589. package/dist/server/deny-boundary.d.ts +253 -0
  590. package/dist/server/deny-boundary.d.ts.map +1 -0
  591. package/dist/server/deny-renderer.d.ts +20 -9
  592. package/dist/server/deny-renderer.d.ts.map +1 -1
  593. package/dist/server/dev-source-map.d.ts +22 -0
  594. package/dist/server/dev-source-map.d.ts.map +1 -0
  595. package/dist/server/early-hints-sender.d.ts.map +1 -1
  596. package/dist/server/early-hints.d.ts +14 -12
  597. package/dist/server/early-hints.d.ts.map +1 -1
  598. package/dist/server/error-boundary-wrapper.d.ts +101 -10
  599. package/dist/server/error-boundary-wrapper.d.ts.map +1 -1
  600. package/dist/server/error-response-headers.d.ts +3 -0
  601. package/dist/server/error-response-headers.d.ts.map +1 -0
  602. package/dist/server/fallback-error.d.ts +12 -7
  603. package/dist/server/fallback-error.d.ts.map +1 -1
  604. package/dist/server/flight-injection-state.d.ts +66 -0
  605. package/dist/server/flight-injection-state.d.ts.map +1 -0
  606. package/dist/server/flight-scripts.d.ts +45 -0
  607. package/dist/server/flight-scripts.d.ts.map +1 -0
  608. package/dist/server/form-data.d.ts +41 -0
  609. package/dist/server/form-data.d.ts.map +1 -1
  610. package/dist/server/form-flash.d.ts +1 -1
  611. package/dist/server/head-response.d.ts +35 -0
  612. package/dist/server/head-response.d.ts.map +1 -0
  613. package/dist/server/html-injector-core.d.ts +257 -0
  614. package/dist/server/html-injector-core.d.ts.map +1 -0
  615. package/dist/server/html-injectors.d.ts +84 -42
  616. package/dist/server/html-injectors.d.ts.map +1 -1
  617. package/dist/server/index.d.ts +18 -54
  618. package/dist/server/index.d.ts.map +1 -1
  619. package/dist/server/index.js +195 -2922
  620. package/dist/server/index.js.map +1 -1
  621. package/dist/server/instrumentation.d.ts +1 -1
  622. package/dist/server/internal.d.ts +50 -0
  623. package/dist/server/internal.d.ts.map +1 -0
  624. package/dist/server/internal.js +4034 -0
  625. package/dist/server/internal.js.map +1 -0
  626. package/dist/server/logger.d.ts +39 -7
  627. package/dist/server/logger.d.ts.map +1 -1
  628. package/dist/server/metadata-collector.d.ts +71 -0
  629. package/dist/server/metadata-collector.d.ts.map +1 -0
  630. package/dist/server/metadata-platform.d.ts +2 -2
  631. package/dist/server/metadata-render.d.ts +2 -2
  632. package/dist/server/metadata-render.d.ts.map +1 -1
  633. package/dist/server/metadata-routes.d.ts +60 -11
  634. package/dist/server/metadata-routes.d.ts.map +1 -1
  635. package/dist/server/metadata-social.d.ts +2 -2
  636. package/dist/server/metadata.d.ts +10 -2
  637. package/dist/server/metadata.d.ts.map +1 -1
  638. package/dist/server/middleware-runner.d.ts +20 -5
  639. package/dist/server/middleware-runner.d.ts.map +1 -1
  640. package/dist/server/node-stream-transforms.d.ts +105 -0
  641. package/dist/server/node-stream-transforms.d.ts.map +1 -0
  642. package/dist/server/nuqs-ssr-provider.d.ts +7 -3
  643. package/dist/server/nuqs-ssr-provider.d.ts.map +1 -1
  644. package/dist/server/param-coercion.d.ts +78 -0
  645. package/dist/server/param-coercion.d.ts.map +1 -0
  646. package/dist/server/pipeline-helpers.d.ts +77 -0
  647. package/dist/server/pipeline-helpers.d.ts.map +1 -0
  648. package/dist/server/pipeline-interception.d.ts +59 -9
  649. package/dist/server/pipeline-interception.d.ts.map +1 -1
  650. package/dist/server/pipeline-metadata.d.ts +7 -1
  651. package/dist/server/pipeline-metadata.d.ts.map +1 -1
  652. package/dist/server/pipeline-outcome.d.ts +49 -0
  653. package/dist/server/pipeline-outcome.d.ts.map +1 -0
  654. package/dist/server/pipeline-phases.d.ts +70 -0
  655. package/dist/server/pipeline-phases.d.ts.map +1 -0
  656. package/dist/server/pipeline.d.ts +153 -20
  657. package/dist/server/pipeline.d.ts.map +1 -1
  658. package/dist/server/port-resolution.d.ts +31 -0
  659. package/dist/server/port-resolution.d.ts.map +1 -0
  660. package/dist/server/prebuilt/cache-key.d.ts +63 -0
  661. package/dist/server/prebuilt/cache-key.d.ts.map +1 -0
  662. package/dist/server/prebuilt/capture-state.d.ts +57 -0
  663. package/dist/server/prebuilt/capture-state.d.ts.map +1 -0
  664. package/dist/server/prebuilt/key-discipline.d.ts +52 -0
  665. package/dist/server/prebuilt/key-discipline.d.ts.map +1 -0
  666. package/dist/server/prebuilt/manifest-tag-index.d.ts +27 -0
  667. package/dist/server/prebuilt/manifest-tag-index.d.ts.map +1 -0
  668. package/dist/server/prebuilt/overlay.d.ts +100 -0
  669. package/dist/server/prebuilt/overlay.d.ts.map +1 -0
  670. package/dist/server/prebuilt/payload-source.d.ts +79 -0
  671. package/dist/server/prebuilt/payload-source.d.ts.map +1 -0
  672. package/dist/server/prebuilt/slots.d.ts +99 -0
  673. package/dist/server/prebuilt/slots.d.ts.map +1 -0
  674. package/dist/server/prebuilt/synthetic-store.d.ts +67 -0
  675. package/dist/server/prebuilt/synthetic-store.d.ts.map +1 -0
  676. package/dist/server/prebuilt-builder.d.ts +121 -0
  677. package/dist/server/prebuilt-builder.d.ts.map +1 -0
  678. package/dist/server/prebuilt-runtime.d.ts +111 -0
  679. package/dist/server/prebuilt-runtime.d.ts.map +1 -0
  680. package/dist/server/primitives.d.ts +129 -45
  681. package/dist/server/primitives.d.ts.map +1 -1
  682. package/dist/server/publish-params.d.ts +33 -0
  683. package/dist/server/publish-params.d.ts.map +1 -0
  684. package/dist/server/render-timeout.d.ts +51 -0
  685. package/dist/server/render-timeout.d.ts.map +1 -0
  686. package/dist/server/render-utils.d.ts +26 -0
  687. package/dist/server/render-utils.d.ts.map +1 -0
  688. package/dist/server/request-context.d.ts +111 -107
  689. package/dist/server/request-context.d.ts.map +1 -1
  690. package/dist/server/request-dep.d.ts +15 -0
  691. package/dist/server/request-dep.d.ts.map +1 -0
  692. package/dist/server/response-cache-policy.d.ts +3 -0
  693. package/dist/server/response-cache-policy.d.ts.map +1 -0
  694. package/dist/server/route-element-builder.d.ts +57 -30
  695. package/dist/server/route-element-builder.d.ts.map +1 -1
  696. package/dist/server/route-element-helpers.d.ts +12 -0
  697. package/dist/server/route-element-helpers.d.ts.map +1 -0
  698. package/dist/server/route-handler.d.ts +1 -1
  699. package/dist/server/route-handler.d.ts.map +1 -1
  700. package/dist/server/route-matcher.d.ts +40 -38
  701. package/dist/server/route-matcher.d.ts.map +1 -1
  702. package/dist/server/route-module-loader.d.ts +37 -0
  703. package/dist/server/route-module-loader.d.ts.map +1 -0
  704. package/dist/server/rsc-cache-key-guard.d.ts +78 -0
  705. package/dist/server/rsc-cache-key-guard.d.ts.map +1 -0
  706. package/dist/server/rsc-entry/action-middleware-runner.d.ts +66 -0
  707. package/dist/server/rsc-entry/action-middleware-runner.d.ts.map +1 -0
  708. package/dist/server/rsc-entry/api-handler.d.ts +12 -3
  709. package/dist/server/rsc-entry/api-handler.d.ts.map +1 -1
  710. package/dist/server/rsc-entry/deny-fallback.d.ts +29 -0
  711. package/dist/server/rsc-entry/deny-fallback.d.ts.map +1 -0
  712. package/dist/server/rsc-entry/error-renderer.d.ts +38 -13
  713. package/dist/server/rsc-entry/error-renderer.d.ts.map +1 -1
  714. package/dist/server/rsc-entry/helpers.d.ts +59 -42
  715. package/dist/server/rsc-entry/helpers.d.ts.map +1 -1
  716. package/dist/server/rsc-entry/index.d.ts +40 -6
  717. package/dist/server/rsc-entry/index.d.ts.map +1 -1
  718. package/dist/server/rsc-entry/render-route.d.ts +51 -0
  719. package/dist/server/rsc-entry/render-route.d.ts.map +1 -0
  720. package/dist/server/rsc-entry/revalidate-renderer.d.ts +108 -0
  721. package/dist/server/rsc-entry/revalidate-renderer.d.ts.map +1 -0
  722. package/dist/server/rsc-entry/rsc-payload.d.ts +26 -6
  723. package/dist/server/rsc-entry/rsc-payload.d.ts.map +1 -1
  724. package/dist/server/rsc-entry/rsc-stream.d.ts +33 -3
  725. package/dist/server/rsc-entry/rsc-stream.d.ts.map +1 -1
  726. package/dist/server/rsc-entry/ssr-bridge.d.ts +5 -1
  727. package/dist/server/rsc-entry/ssr-bridge.d.ts.map +1 -1
  728. package/dist/server/rsc-entry/ssr-renderer.d.ts +37 -5
  729. package/dist/server/rsc-entry/ssr-renderer.d.ts.map +1 -1
  730. package/dist/server/rsc-entry/wrap-action-dispatch.d.ts +89 -0
  731. package/dist/server/rsc-entry/wrap-action-dispatch.d.ts.map +1 -0
  732. package/dist/server/rsc-error-envelope.d.ts +11 -0
  733. package/dist/server/rsc-error-envelope.d.ts.map +1 -0
  734. package/dist/server/safe-load.d.ts +46 -0
  735. package/dist/server/safe-load.d.ts.map +1 -0
  736. package/dist/server/sensitive-fields.d.ts +74 -0
  737. package/dist/server/sensitive-fields.d.ts.map +1 -0
  738. package/dist/server/sitemap-generator.d.ts +130 -0
  739. package/dist/server/sitemap-generator.d.ts.map +1 -0
  740. package/dist/server/sitemap-handler.d.ts +22 -0
  741. package/dist/server/sitemap-handler.d.ts.map +1 -0
  742. package/dist/server/skippable-prefix.d.ts +29 -0
  743. package/dist/server/skippable-prefix.d.ts.map +1 -0
  744. package/dist/server/slot-interception.d.ts +80 -0
  745. package/dist/server/slot-interception.d.ts.map +1 -0
  746. package/dist/server/slot-resolver.d.ts +137 -7
  747. package/dist/server/slot-resolver.d.ts.map +1 -1
  748. package/dist/server/slot-subtree-contain.d.ts +54 -0
  749. package/dist/server/slot-subtree-contain.d.ts.map +1 -0
  750. package/dist/server/ssr-bridge-types.d.ts +160 -0
  751. package/dist/server/ssr-bridge-types.d.ts.map +1 -0
  752. package/dist/server/ssr-entry.d.ts +1 -43
  753. package/dist/server/ssr-entry.d.ts.map +1 -1
  754. package/dist/server/ssr-render.d.ts +69 -22
  755. package/dist/server/ssr-render.d.ts.map +1 -1
  756. package/dist/server/ssr-wrappers.d.ts +93 -0
  757. package/dist/server/ssr-wrappers.d.ts.map +1 -0
  758. package/dist/server/state-tree-diff.d.ts +44 -9
  759. package/dist/server/state-tree-diff.d.ts.map +1 -1
  760. package/dist/server/static-generator.d.ts +112 -0
  761. package/dist/server/static-generator.d.ts.map +1 -0
  762. package/dist/server/static-not-found.d.ts +52 -0
  763. package/dist/server/static-not-found.d.ts.map +1 -0
  764. package/dist/server/status-code-resolver.d.ts +26 -15
  765. package/dist/server/status-code-resolver.d.ts.map +1 -1
  766. package/dist/server/stream-utils.d.ts +47 -0
  767. package/dist/server/stream-utils.d.ts.map +1 -0
  768. package/dist/server/tracing.d.ts +46 -11
  769. package/dist/server/tracing.d.ts.map +1 -1
  770. package/dist/server/tree-match.d.ts +49 -0
  771. package/dist/server/tree-match.d.ts.map +1 -0
  772. package/dist/server/types.d.ts +88 -7
  773. package/dist/server/types.d.ts.map +1 -1
  774. package/dist/server/utils/element-type.d.ts +50 -0
  775. package/dist/server/utils/element-type.d.ts.map +1 -0
  776. package/dist/server/utils/escape-html.d.ts +14 -0
  777. package/dist/server/utils/escape-html.d.ts.map +1 -0
  778. package/dist/server/utils/mdx-file.d.ts +17 -0
  779. package/dist/server/utils/mdx-file.d.ts.map +1 -0
  780. package/dist/server/version-skew.d.ts +61 -0
  781. package/dist/server/version-skew.d.ts.map +1 -0
  782. package/dist/server/workers-cache-bridge.d.ts +26 -0
  783. package/dist/server/workers-cache-bridge.d.ts.map +1 -0
  784. package/dist/shared/als-slots.d.ts +42 -0
  785. package/dist/shared/als-slots.d.ts.map +1 -0
  786. package/dist/shared/base-path.d.ts +56 -0
  787. package/dist/shared/base-path.d.ts.map +1 -0
  788. package/dist/shared/href-validation.d.ts +49 -0
  789. package/dist/shared/href-validation.d.ts.map +1 -0
  790. package/dist/shared/merge-search-params.d.ts +22 -0
  791. package/dist/shared/merge-search-params.d.ts.map +1 -0
  792. package/dist/shared/param-value.d.ts +104 -0
  793. package/dist/shared/param-value.d.ts.map +1 -0
  794. package/dist/shared/payload-root.d.ts +109 -0
  795. package/dist/shared/payload-root.d.ts.map +1 -0
  796. package/dist/shared/redirect-type.d.ts +17 -0
  797. package/dist/shared/redirect-type.d.ts.map +1 -0
  798. package/dist/shared/rsc-cache-key.d.ts +163 -0
  799. package/dist/shared/rsc-cache-key.d.ts.map +1 -0
  800. package/dist/shared/rsc-error-envelope.d.ts +16 -0
  801. package/dist/shared/rsc-error-envelope.d.ts.map +1 -0
  802. package/dist/shared/rsc-manifest.d.ts +28 -0
  803. package/dist/shared/rsc-manifest.d.ts.map +1 -0
  804. package/dist/shared/rsc-media-type.d.ts +52 -0
  805. package/dist/shared/rsc-media-type.d.ts.map +1 -0
  806. package/dist/shared/rsc-payload-path.d.ts +42 -0
  807. package/dist/shared/rsc-payload-path.d.ts.map +1 -0
  808. package/dist/shared/segment-info.d.ts +66 -0
  809. package/dist/shared/segment-info.d.ts.map +1 -0
  810. package/dist/shared/slot-params.d.ts +52 -0
  811. package/dist/shared/slot-params.d.ts.map +1 -0
  812. package/dist/shared/static-platform-files.d.ts +71 -0
  813. package/dist/shared/static-platform-files.d.ts.map +1 -0
  814. package/dist/shared/status-reason-phrase.d.ts +26 -0
  815. package/dist/shared/status-reason-phrase.d.ts.map +1 -0
  816. package/dist/shims/font-google.d.ts +1 -1
  817. package/dist/shims/font-google.d.ts.map +1 -1
  818. package/dist/shims/font-google.js +42 -0
  819. package/dist/shims/font-google.js.map +1 -0
  820. package/dist/shims/font-local.d.ts +26 -0
  821. package/dist/shims/font-local.d.ts.map +1 -0
  822. package/dist/shims/font-local.js +20 -0
  823. package/dist/shims/font-local.js.map +1 -0
  824. package/dist/shims/headers.d.ts +53 -1
  825. package/dist/shims/headers.d.ts.map +1 -1
  826. package/dist/shims/image.d.ts +120 -120
  827. package/dist/shims/image.d.ts.map +1 -1
  828. package/dist/shims/navigation-client.d.ts +25 -12
  829. package/dist/shims/navigation-client.d.ts.map +1 -1
  830. package/dist/shims/navigation-rsc.d.ts +21 -0
  831. package/dist/shims/navigation-rsc.d.ts.map +1 -0
  832. package/dist/shims/navigation.d.ts +10 -5
  833. package/dist/shims/navigation.d.ts.map +1 -1
  834. package/dist/utils/state-machine.d.ts +80 -0
  835. package/dist/utils/state-machine.d.ts.map +1 -0
  836. package/docs/api/30-api-server.mdx +236 -0
  837. package/docs/api/31-api-client.mdx +167 -0
  838. package/docs/api/32-api-cache.mdx +311 -0
  839. package/docs/api/33-api-search-params.mdx +176 -0
  840. package/docs/api/34-api-config.mdx +329 -0
  841. package/docs/api/35-api-typescript.mdx +91 -0
  842. package/docs/api/36-cli.mdx +192 -0
  843. package/docs/learn/00-introduction.mdx +109 -0
  844. package/docs/learn/01-quick-start.mdx +94 -0
  845. package/docs/learn/02-pages-and-layouts.mdx +147 -0
  846. package/docs/learn/03-fetching-data.mdx +211 -0
  847. package/docs/learn/04-access-control.mdx +115 -0
  848. package/docs/learn/05-the-flush-point.mdx +175 -0
  849. package/docs/learn/06-typed-params.mdx +275 -0
  850. package/docs/learn/07-typed-routes.mdx +108 -0
  851. package/docs/learn/08-forms-and-actions.mdx +146 -0
  852. package/docs/learn/09-streaming.mdx +140 -0
  853. package/docs/learn/10-caching.mdx +252 -0
  854. package/docs/learn/11-middleware.mdx +158 -0
  855. package/docs/learn/12-error-handling.mdx +188 -0
  856. package/docs/learn/13-deploying.mdx +287 -0
  857. package/llms.txt +55 -0
  858. package/package.json +117 -30
  859. package/src/adapters/build-output-helper.ts +351 -0
  860. package/src/adapters/cloudflare-dev.ts +183 -0
  861. package/src/adapters/cloudflare-kv-cache.ts +207 -0
  862. package/src/adapters/cloudflare.ts +747 -130
  863. package/src/adapters/compress-module.ts +101 -88
  864. package/src/adapters/fs-identity.ts +156 -0
  865. package/src/adapters/nitro-presets.ts +139 -0
  866. package/src/adapters/nitro-preview.ts +340 -0
  867. package/src/adapters/nitro.ts +249 -426
  868. package/src/adapters/raw-imports.d.ts +5 -0
  869. package/src/adapters/shared.ts +274 -0
  870. package/src/adapters/types.ts +28 -7
  871. package/src/adapters/wrangler.d.ts +7 -0
  872. package/src/analyze/chains.ts +411 -0
  873. package/src/analyze/classify.ts +258 -0
  874. package/src/analyze/crawl-entry.ts +68 -0
  875. package/src/analyze/crawl.ts +500 -0
  876. package/src/analyze/graph-cache.ts +332 -0
  877. package/src/analyze/graph-command.ts +762 -0
  878. package/src/analyze/live-graph.ts +232 -0
  879. package/src/analyze/poison-rules.ts +165 -0
  880. package/src/analyze/poison-scan.ts +162 -0
  881. package/src/analyze/scan.ts +149 -0
  882. package/src/cache/cache-api.ts +107 -0
  883. package/src/cache/fast-hash.ts +5 -0
  884. package/src/cache/handler-store.ts +76 -0
  885. package/src/cache/index.ts +115 -22
  886. package/src/cache/invalidation-epoch.ts +93 -0
  887. package/src/cache/json-lossy-check.ts +75 -0
  888. package/src/cache/redis-handler.ts +198 -20
  889. package/src/cache/singleflight.ts +69 -6
  890. package/src/cache/sizeof.ts +33 -0
  891. package/src/cache/stable-stringify.ts +65 -2
  892. package/src/cache/store.ts +71 -0
  893. package/src/cache/stores/cloudflare-kv.ts +52 -0
  894. package/src/cache/stores/memory.ts +125 -0
  895. package/src/cache/stores/redis.ts +97 -0
  896. package/src/cache/stores/vercel.ts +59 -0
  897. package/src/cache/tag-aware-handler.ts +237 -0
  898. package/src/cache/timber-cache.ts +165 -40
  899. package/src/cdn/cloudflare-purge.ts +50 -0
  900. package/src/cdn/fastly-purge.ts +63 -0
  901. package/src/cdn/headers.ts +153 -0
  902. package/src/cdn/index.ts +23 -0
  903. package/src/cdn/purge-store.ts +34 -0
  904. package/src/cdn/workers-cache-purge.ts +34 -0
  905. package/src/cli-check.ts +507 -0
  906. package/src/cli-schema-sync.ts +401 -0
  907. package/src/cli.ts +262 -55
  908. package/src/client/browser-dev.ts +157 -2
  909. package/src/client/browser-entry/action-dispatch.ts +197 -0
  910. package/src/client/browser-entry/action-queue.ts +90 -0
  911. package/src/client/browser-entry/hmr.ts +70 -0
  912. package/src/client/browser-entry/hydrate.ts +148 -0
  913. package/src/client/browser-entry/index.ts +131 -0
  914. package/src/client/browser-entry/post-hydration.ts +123 -0
  915. package/src/client/browser-entry/router-init.ts +418 -0
  916. package/src/client/browser-entry/rsc-stream.ts +166 -0
  917. package/src/client/browser-entry/scroll.ts +50 -0
  918. package/src/client/deny-last-resort.tsx +54 -0
  919. package/src/client/error-boundary.tsx +316 -40
  920. package/src/client/error-reconstituter.tsx +79 -0
  921. package/src/client/form.tsx +36 -32
  922. package/src/client/global-context.ts +31 -0
  923. package/src/client/history.ts +81 -10
  924. package/src/client/index.ts +89 -53
  925. package/src/client/internal.ts +59 -0
  926. package/src/client/link.tsx +439 -151
  927. package/src/client/location-search.ts +15 -0
  928. package/src/client/navigation-api.ts +347 -0
  929. package/src/client/navigation-commit.ts +295 -0
  930. package/src/client/navigation-context.ts +67 -98
  931. package/src/client/navigation-root.tsx +224 -0
  932. package/src/client/navigation-transition.ts +327 -0
  933. package/src/client/nuqs-adapter.tsx +21 -9
  934. package/src/client/params-context.ts +187 -0
  935. package/src/client/react-root.ts +72 -0
  936. package/src/client/router-effects.ts +228 -0
  937. package/src/client/router-lifecycle.ts +354 -0
  938. package/src/client/router-pipeline.ts +490 -0
  939. package/src/client/router-ref.ts +3 -3
  940. package/src/client/router-skew.ts +30 -0
  941. package/src/client/router-types.ts +294 -0
  942. package/src/client/router.ts +435 -421
  943. package/src/client/rsc-fetch.ts +512 -73
  944. package/src/client/segment-cache.ts +327 -40
  945. package/src/client/segment-context.ts +7 -4
  946. package/src/client/segment-outlet.tsx +96 -0
  947. package/src/client/segment-update-context.ts +23 -0
  948. package/src/client/shallow-url.ts +22 -0
  949. package/src/client/slot-content-cache-context.ts +43 -0
  950. package/src/client/slot-context.ts +50 -0
  951. package/src/client/slot-outlet.tsx +22 -0
  952. package/src/client/slot-provider.tsx +32 -0
  953. package/src/client/ssr-data.ts +30 -9
  954. package/src/client/stale-client.ts +191 -0
  955. package/src/client/state.ts +29 -15
  956. package/src/client/status-page-marker.tsx +32 -0
  957. package/src/client/top-loader.tsx +13 -10
  958. package/src/client/unload-guard.ts +35 -3
  959. package/src/client/use-cookie.ts +70 -18
  960. package/src/client/use-link-status.ts +7 -7
  961. package/src/client/use-pathname.ts +22 -31
  962. package/src/client/use-pending-navigation.ts +40 -0
  963. package/src/client/use-query-states.ts +206 -36
  964. package/src/client/use-router.ts +6 -3
  965. package/src/client/use-search-params.ts +38 -49
  966. package/src/client/use-segment-params.ts +69 -0
  967. package/src/client/use-selected-layout-segment.ts +2 -2
  968. package/src/codec.ts +149 -0
  969. package/src/config-types.ts +322 -0
  970. package/src/config-validation.ts +347 -0
  971. package/src/cookies/define-cookie.ts +222 -53
  972. package/src/cookies/index.ts +13 -2
  973. package/src/cookies/json-cookie.ts +105 -0
  974. package/src/cookies/validation.ts +192 -0
  975. package/src/dev-tools/404-page.ts +286 -0
  976. package/src/dev-tools/browser-logs.ts +55 -0
  977. package/src/dev-tools/dev-page-shell.ts +260 -0
  978. package/src/dev-tools/error-page.ts +331 -0
  979. package/src/dev-tools/holding-server.ts +185 -0
  980. package/src/dev-tools/hydration-overlay.ts +158 -0
  981. package/src/dev-tools/index.ts +83 -0
  982. package/src/dev-tools/instrumentation.ts +213 -0
  983. package/src/{server/dev-logger.ts → dev-tools/logger.ts} +33 -51
  984. package/src/{plugins/dev-logs.ts → dev-tools/logs.ts} +122 -26
  985. package/src/dev-tools/overlay.ts +469 -0
  986. package/src/dev-tools/stack-classifier.ts +75 -0
  987. package/src/dev-tools/terminal.ts +182 -0
  988. package/src/fonts/ast-walk.ts +235 -0
  989. package/src/fonts/ast.ts +479 -128
  990. package/src/fonts/bundle.ts +138 -0
  991. package/src/fonts/css.ts +1 -1
  992. package/src/fonts/dev-middleware.ts +85 -0
  993. package/src/fonts/fallbacks.ts +0 -23
  994. package/src/fonts/google.ts +101 -19
  995. package/src/fonts/local.ts +12 -11
  996. package/src/fonts/paths.ts +58 -0
  997. package/src/fonts/pipeline.ts +348 -0
  998. package/src/fonts/transform.ts +311 -0
  999. package/src/fonts/types.ts +52 -1
  1000. package/src/fonts/virtual-modules.ts +179 -0
  1001. package/src/index.ts +486 -377
  1002. package/src/params/codec-registry.ts +34 -0
  1003. package/src/params/define-schema.ts +115 -0
  1004. package/src/params/index.ts +17 -0
  1005. package/src/params/resolve-schema.ts +84 -0
  1006. package/src/plugin-context.ts +503 -0
  1007. package/src/plugins/adapter-build.ts +229 -7
  1008. package/src/plugins/build-manifest.ts +201 -26
  1009. package/src/plugins/build-report.ts +259 -47
  1010. package/src/plugins/cache.ts +243 -0
  1011. package/src/plugins/callsite-ast.ts +472 -0
  1012. package/src/plugins/callsite-jsx.ts +243 -0
  1013. package/src/plugins/chunks.ts +74 -5
  1014. package/src/plugins/client-chunks.ts +185 -0
  1015. package/src/plugins/cloudflare-wasm.ts +141 -0
  1016. package/src/plugins/content.ts +5 -1
  1017. package/src/plugins/dev-discovery.ts +218 -0
  1018. package/src/plugins/dev-server.ts +369 -96
  1019. package/src/plugins/entries.ts +141 -16
  1020. package/src/plugins/fonts.ts +234 -659
  1021. package/src/plugins/graph-endpoint.ts +532 -0
  1022. package/src/plugins/mdx.ts +107 -35
  1023. package/src/plugins/prebuilt-capture.ts +217 -0
  1024. package/src/plugins/prebuilt-options-analysis.ts +175 -0
  1025. package/src/plugins/prebuilt.ts +655 -0
  1026. package/src/plugins/prerender-sugar.ts +320 -0
  1027. package/src/plugins/request-dep/analysis.ts +447 -0
  1028. package/src/plugins/request-dep/index.ts +376 -0
  1029. package/src/plugins/request-dep/origin.ts +310 -0
  1030. package/src/plugins/routing.ts +273 -277
  1031. package/src/plugins/server-bundle.ts +99 -14
  1032. package/src/plugins/shims.ts +259 -97
  1033. package/src/plugins/static-build.ts +708 -66
  1034. package/src/react-canary.d.ts +2 -0
  1035. package/src/routing/codegen-shared.ts +39 -0
  1036. package/src/routing/codegen-types.ts +62 -0
  1037. package/src/routing/codegen-write.ts +141 -0
  1038. package/src/routing/codegen.ts +349 -232
  1039. package/src/routing/collision-probe.ts +438 -0
  1040. package/src/routing/collision-spaces.ts +281 -0
  1041. package/src/routing/convention-lint.ts +623 -0
  1042. package/src/routing/export-detect.ts +448 -0
  1043. package/src/routing/file-cache.ts +23 -0
  1044. package/src/routing/index.ts +16 -7
  1045. package/src/routing/interception-overlap.ts +141 -0
  1046. package/src/routing/interception.ts +1044 -67
  1047. package/src/routing/link-codegen.ts +280 -0
  1048. package/src/routing/manifest-codegen.ts +226 -0
  1049. package/src/routing/scanner.ts +393 -219
  1050. package/src/routing/schema-validation.ts +155 -0
  1051. package/src/routing/segment-classify.ts +280 -0
  1052. package/src/routing/segment-codegen.ts +98 -0
  1053. package/src/routing/segment-keys.ts +186 -0
  1054. package/src/routing/slot-placement.ts +97 -0
  1055. package/src/routing/types.ts +75 -26
  1056. package/src/routing/walkers.ts +98 -0
  1057. package/src/rsc-runtime/rsc.ts +9 -0
  1058. package/src/rsc-runtime/ssr.ts +51 -0
  1059. package/src/rsc-runtime/transforms.ts +13 -0
  1060. package/src/rsc-runtime/vendor-types.d.ts +19 -0
  1061. package/src/schema-bridge.ts +380 -0
  1062. package/src/search-params/define.ts +677 -0
  1063. package/src/search-params/index.ts +14 -20
  1064. package/src/search-params/parse-total.ts +91 -0
  1065. package/src/search-params/serialize-equal.ts +14 -0
  1066. package/src/search-params/wrappers.ts +150 -0
  1067. package/src/server/access-gate.tsx +194 -56
  1068. package/src/server/action-client.ts +122 -31
  1069. package/src/server/action-encryption.ts +144 -0
  1070. package/src/server/action-handler.ts +256 -56
  1071. package/src/server/actions.ts +112 -68
  1072. package/src/server/als-registry.ts +160 -21
  1073. package/src/server/asset-headers.ts +15 -37
  1074. package/src/server/body-limits.ts +10 -2
  1075. package/src/server/build-manifest.ts +33 -57
  1076. package/src/server/canonicalize.ts +6 -3
  1077. package/src/server/chain-url-parts.ts +163 -0
  1078. package/src/server/children-interception.ts +115 -0
  1079. package/src/server/coalesce-tick.ts +75 -0
  1080. package/src/server/compress.ts +43 -8
  1081. package/src/server/cookie-context.ts +484 -0
  1082. package/src/server/cookie-parsing.ts +163 -0
  1083. package/src/server/csp-nonce.ts +70 -0
  1084. package/src/server/csrf.ts +39 -6
  1085. package/src/server/default-logger.ts +99 -0
  1086. package/src/server/default-status-page.ts +88 -0
  1087. package/src/server/deny-boundary.ts +533 -0
  1088. package/src/server/deny-renderer.ts +213 -112
  1089. package/src/server/dev-source-map.ts +31 -0
  1090. package/src/server/early-hints-sender.ts +4 -3
  1091. package/src/server/early-hints.ts +39 -29
  1092. package/src/server/error-boundary-wrapper.ts +181 -44
  1093. package/src/server/error-response-headers.ts +18 -0
  1094. package/src/server/fallback-error.ts +79 -102
  1095. package/src/server/flight-injection-state.ts +113 -0
  1096. package/src/server/flight-scripts.ts +67 -0
  1097. package/src/server/form-data.ts +124 -12
  1098. package/src/server/form-flash.ts +2 -2
  1099. package/src/server/head-response.ts +54 -0
  1100. package/src/server/html-injector-core.ts +512 -0
  1101. package/src/server/html-injectors.ts +272 -255
  1102. package/src/server/index.ts +40 -192
  1103. package/src/server/instrumentation.ts +1 -1
  1104. package/src/server/internal.ts +173 -0
  1105. package/src/server/logger.ts +73 -37
  1106. package/src/server/metadata-collector.ts +174 -0
  1107. package/src/server/metadata-platform.ts +2 -2
  1108. package/src/server/metadata-render.ts +30 -8
  1109. package/src/server/metadata-routes.ts +205 -24
  1110. package/src/server/metadata-social.ts +2 -2
  1111. package/src/server/metadata.ts +23 -2
  1112. package/src/server/middleware-runner.ts +32 -5
  1113. package/src/server/node-stream-transforms.ts +323 -0
  1114. package/src/server/nuqs-ssr-provider.tsx +8 -7
  1115. package/src/server/param-coercion.ts +198 -0
  1116. package/src/server/pipeline-helpers.ts +159 -0
  1117. package/src/server/pipeline-interception.ts +109 -33
  1118. package/src/server/pipeline-metadata.ts +15 -1
  1119. package/src/server/pipeline-outcome.ts +218 -0
  1120. package/src/server/pipeline-phases.ts +606 -0
  1121. package/src/server/pipeline.ts +324 -384
  1122. package/src/server/port-resolution.ts +53 -0
  1123. package/src/server/prebuilt/cache-key.ts +299 -0
  1124. package/src/server/prebuilt/capture-state.ts +89 -0
  1125. package/src/server/prebuilt/key-discipline.ts +122 -0
  1126. package/src/server/prebuilt/manifest-tag-index.ts +46 -0
  1127. package/src/server/prebuilt/overlay.ts +256 -0
  1128. package/src/server/prebuilt/payload-source.ts +202 -0
  1129. package/src/server/prebuilt/slots.ts +190 -0
  1130. package/src/server/prebuilt/synthetic-store.ts +122 -0
  1131. package/src/server/prebuilt-builder.ts +804 -0
  1132. package/src/server/prebuilt-runtime.ts +817 -0
  1133. package/src/server/primitives.ts +245 -97
  1134. package/src/server/publish-params.ts +42 -0
  1135. package/src/server/render-timeout.ts +108 -0
  1136. package/src/server/render-utils.ts +35 -0
  1137. package/src/server/request-context.ts +244 -334
  1138. package/src/server/request-dep.ts +37 -0
  1139. package/src/server/response-cache-policy.ts +45 -0
  1140. package/src/server/route-element-builder.ts +508 -355
  1141. package/src/server/route-element-helpers.ts +37 -0
  1142. package/src/server/route-handler.ts +40 -13
  1143. package/src/server/route-matcher.ts +165 -272
  1144. package/src/server/route-module-loader.ts +161 -0
  1145. package/src/server/rsc-cache-key-guard.ts +122 -0
  1146. package/src/server/rsc-entry/action-middleware-runner.ts +174 -0
  1147. package/src/server/rsc-entry/api-handler.ts +78 -34
  1148. package/src/server/rsc-entry/deny-fallback.ts +93 -0
  1149. package/src/server/rsc-entry/error-renderer.ts +373 -95
  1150. package/src/server/rsc-entry/helpers.ts +226 -95
  1151. package/src/server/rsc-entry/index.ts +370 -331
  1152. package/src/server/rsc-entry/render-route.ts +304 -0
  1153. package/src/server/rsc-entry/revalidate-renderer.ts +350 -0
  1154. package/src/server/rsc-entry/rsc-payload.ts +209 -55
  1155. package/src/server/rsc-entry/rsc-stream.ts +151 -26
  1156. package/src/server/rsc-entry/ssr-bridge.ts +18 -5
  1157. package/src/server/rsc-entry/ssr-renderer.ts +311 -60
  1158. package/src/server/rsc-entry/wrap-action-dispatch.ts +186 -0
  1159. package/src/server/rsc-error-envelope.ts +18 -0
  1160. package/src/server/rsc-prop-warnings.ts +1 -1
  1161. package/src/server/safe-load.ts +60 -0
  1162. package/src/server/sensitive-fields.ts +230 -0
  1163. package/src/server/server-only-guard-noop.js +3 -0
  1164. package/src/server/server-timing.ts +1 -1
  1165. package/src/server/sitemap-generator.ts +337 -0
  1166. package/src/server/sitemap-handler.ts +157 -0
  1167. package/src/server/skippable-prefix.ts +172 -0
  1168. package/src/server/slot-interception.ts +168 -0
  1169. package/src/server/slot-resolver.ts +707 -300
  1170. package/src/server/slot-subtree-contain.ts +255 -0
  1171. package/src/server/ssr-bridge-types.ts +165 -0
  1172. package/src/server/ssr-entry.ts +230 -85
  1173. package/src/server/ssr-render.ts +357 -85
  1174. package/src/server/ssr-wrappers.tsx +162 -0
  1175. package/src/server/state-tree-diff.ts +85 -30
  1176. package/src/server/static-generator.ts +715 -0
  1177. package/src/server/static-not-found.ts +134 -0
  1178. package/src/server/status-code-resolver.ts +107 -148
  1179. package/src/server/stream-utils.ts +292 -0
  1180. package/src/server/tracing.ts +128 -16
  1181. package/src/server/tree-match.ts +262 -0
  1182. package/src/server/types.ts +95 -10
  1183. package/src/server/utils/element-type.ts +88 -0
  1184. package/src/server/utils/escape-html.ts +20 -0
  1185. package/src/server/utils/mdx-file.ts +22 -0
  1186. package/src/server/version-skew.ts +104 -0
  1187. package/src/server/waituntil-bridge.ts +1 -1
  1188. package/src/server/workers-cache-bridge.ts +33 -0
  1189. package/src/shared/als-slots.ts +74 -0
  1190. package/src/shared/base-path.ts +80 -0
  1191. package/src/shared/href-validation.ts +159 -0
  1192. package/src/shared/merge-search-params.ts +55 -0
  1193. package/src/shared/param-value.ts +281 -0
  1194. package/src/shared/payload-root.ts +152 -0
  1195. package/src/shared/redirect-type.ts +17 -0
  1196. package/src/shared/rsc-cache-key.ts +269 -0
  1197. package/src/shared/rsc-error-envelope.ts +16 -0
  1198. package/src/shared/rsc-manifest.ts +29 -0
  1199. package/src/shared/rsc-media-type.ts +59 -0
  1200. package/src/shared/rsc-payload-path.ts +45 -0
  1201. package/src/shared/segment-info.ts +67 -0
  1202. package/src/shared/slot-params.ts +109 -0
  1203. package/src/shared/static-platform-files.ts +75 -0
  1204. package/src/shared/status-reason-phrase.ts +61 -0
  1205. package/src/shims/font-google.ts +1 -1
  1206. package/src/shims/font-local.ts +34 -0
  1207. package/src/shims/headers.ts +122 -1
  1208. package/src/shims/navigation-client.ts +36 -32
  1209. package/src/shims/navigation-rsc.ts +47 -0
  1210. package/src/shims/navigation.ts +10 -7
  1211. package/src/utils/state-machine.ts +111 -0
  1212. package/dist/_chunks/als-registry-B7DbZ2hS.js +0 -41
  1213. package/dist/_chunks/als-registry-B7DbZ2hS.js.map +0 -1
  1214. package/dist/_chunks/debug-B3Gypr3D.js +0 -108
  1215. package/dist/_chunks/debug-B3Gypr3D.js.map +0 -1
  1216. package/dist/_chunks/format-RyoGQL74.js +0 -164
  1217. package/dist/_chunks/format-RyoGQL74.js.map +0 -1
  1218. package/dist/_chunks/interception-BOoWmLUA.js +0 -676
  1219. package/dist/_chunks/interception-BOoWmLUA.js.map +0 -1
  1220. package/dist/_chunks/metadata-routes-Cjmvi3rQ.js +0 -153
  1221. package/dist/_chunks/metadata-routes-Cjmvi3rQ.js.map +0 -1
  1222. package/dist/_chunks/request-context-BQUC8PHn.js +0 -330
  1223. package/dist/_chunks/request-context-BQUC8PHn.js.map +0 -1
  1224. package/dist/_chunks/ssr-data-MjmprTmO.js.map +0 -1
  1225. package/dist/_chunks/tracing-CemImE6h.js +0 -187
  1226. package/dist/_chunks/tracing-CemImE6h.js.map +0 -1
  1227. package/dist/_chunks/use-cookie-DX-l1_5E.js +0 -91
  1228. package/dist/_chunks/use-cookie-DX-l1_5E.js.map +0 -1
  1229. package/dist/_chunks/use-query-states-D5KaffOK.js +0 -109
  1230. package/dist/_chunks/use-query-states-D5KaffOK.js.map +0 -1
  1231. package/dist/adapters/cloudflare.js.map +0 -1
  1232. package/dist/cache/index.js.map +0 -1
  1233. package/dist/cache/register-cached-function.d.ts +0 -17
  1234. package/dist/cache/register-cached-function.d.ts.map +0 -1
  1235. package/dist/client/browser-entry.d.ts +0 -21
  1236. package/dist/client/browser-entry.d.ts.map +0 -1
  1237. package/dist/client/error-boundary.js.map +0 -1
  1238. package/dist/client/head.d.ts +0 -16
  1239. package/dist/client/head.d.ts.map +0 -1
  1240. package/dist/client/link-status-provider.d.ts +0 -11
  1241. package/dist/client/link-status-provider.d.ts.map +0 -1
  1242. package/dist/client/segment-merger.d.ts +0 -119
  1243. package/dist/client/segment-merger.d.ts.map +0 -1
  1244. package/dist/client/stale-reload.d.ts +0 -44
  1245. package/dist/client/stale-reload.d.ts.map +0 -1
  1246. package/dist/client/transition-root.d.ts +0 -74
  1247. package/dist/client/transition-root.d.ts.map +0 -1
  1248. package/dist/client/use-navigation-pending.d.ts +0 -26
  1249. package/dist/client/use-navigation-pending.d.ts.map +0 -1
  1250. package/dist/client/use-params.d.ts +0 -92
  1251. package/dist/client/use-params.d.ts.map +0 -1
  1252. package/dist/content/index.d.ts +0 -11
  1253. package/dist/content/index.d.ts.map +0 -1
  1254. package/dist/content/index.js +0 -2
  1255. package/dist/plugins/cache-transform.d.ts +0 -36
  1256. package/dist/plugins/cache-transform.d.ts.map +0 -1
  1257. package/dist/plugins/dev-error-overlay.d.ts +0 -60
  1258. package/dist/plugins/dev-error-overlay.d.ts.map +0 -1
  1259. package/dist/plugins/dev-logs.d.ts.map +0 -1
  1260. package/dist/plugins/dynamic-transform.d.ts +0 -72
  1261. package/dist/plugins/dynamic-transform.d.ts.map +0 -1
  1262. package/dist/plugins/server-action-exports.d.ts +0 -26
  1263. package/dist/plugins/server-action-exports.d.ts.map +0 -1
  1264. package/dist/routing/status-file-lint.d.ts +0 -33
  1265. package/dist/routing/status-file-lint.d.ts.map +0 -1
  1266. package/dist/search-params/analyze.d.ts +0 -54
  1267. package/dist/search-params/analyze.d.ts.map +0 -1
  1268. package/dist/search-params/builtin-codecs.d.ts +0 -105
  1269. package/dist/search-params/builtin-codecs.d.ts.map +0 -1
  1270. package/dist/search-params/codecs.d.ts +0 -53
  1271. package/dist/search-params/codecs.d.ts.map +0 -1
  1272. package/dist/search-params/create.d.ts +0 -106
  1273. package/dist/search-params/create.d.ts.map +0 -1
  1274. package/dist/search-params/registry.d.ts +0 -20
  1275. package/dist/search-params/registry.d.ts.map +0 -1
  1276. package/dist/server/client-module-map.d.ts +0 -47
  1277. package/dist/server/client-module-map.d.ts.map +0 -1
  1278. package/dist/server/dev-fetch-instrumentation.d.ts +0 -22
  1279. package/dist/server/dev-fetch-instrumentation.d.ts.map +0 -1
  1280. package/dist/server/dev-logger.d.ts.map +0 -1
  1281. package/dist/server/dev-span-processor.d.ts +0 -29
  1282. package/dist/server/dev-span-processor.d.ts.map +0 -1
  1283. package/dist/server/dev-warnings.d.ts +0 -129
  1284. package/dist/server/dev-warnings.d.ts.map +0 -1
  1285. package/dist/server/flush.d.ts +0 -74
  1286. package/dist/server/flush.d.ts.map +0 -1
  1287. package/dist/server/manifest-status-resolver.d.ts +0 -58
  1288. package/dist/server/manifest-status-resolver.d.ts.map +0 -1
  1289. package/dist/server/prerender.d.ts +0 -77
  1290. package/dist/server/prerender.d.ts.map +0 -1
  1291. package/dist/server/tree-builder.d.ts +0 -126
  1292. package/dist/server/tree-builder.d.ts.map +0 -1
  1293. package/dist/utils/directive-parser.d.ts +0 -70
  1294. package/dist/utils/directive-parser.d.ts.map +0 -1
  1295. package/src/cache/register-cached-function.ts +0 -103
  1296. package/src/client/browser-entry.ts +0 -678
  1297. package/src/client/head.ts +0 -61
  1298. package/src/client/link-status-provider.tsx +0 -30
  1299. package/src/client/segment-merger.ts +0 -339
  1300. package/src/client/stale-reload.ts +0 -87
  1301. package/src/client/transition-root.tsx +0 -166
  1302. package/src/client/use-navigation-pending.ts +0 -38
  1303. package/src/client/use-params.ts +0 -141
  1304. package/src/content/index.ts +0 -13
  1305. package/src/plugins/cache-transform.ts +0 -199
  1306. package/src/plugins/dev-error-overlay.ts +0 -230
  1307. package/src/plugins/dynamic-transform.ts +0 -161
  1308. package/src/plugins/server-action-exports.ts +0 -220
  1309. package/src/routing/status-file-lint.ts +0 -112
  1310. package/src/search-params/analyze.ts +0 -192
  1311. package/src/search-params/builtin-codecs.ts +0 -228
  1312. package/src/search-params/codecs.ts +0 -153
  1313. package/src/search-params/create.ts +0 -321
  1314. package/src/search-params/registry.ts +0 -31
  1315. package/src/server/client-module-map.ts +0 -58
  1316. package/src/server/dev-fetch-instrumentation.ts +0 -96
  1317. package/src/server/dev-span-processor.ts +0 -78
  1318. package/src/server/dev-warnings.ts +0 -283
  1319. package/src/server/flush.ts +0 -182
  1320. package/src/server/manifest-status-resolver.ts +0 -215
  1321. package/src/server/prerender.ts +0 -139
  1322. package/src/server/tree-builder.ts +0 -382
  1323. package/src/shims/server-only-noop.js +0 -6
  1324. package/src/utils/directive-parser.ts +0 -529
@@ -1,31 +0,0 @@
1
- /**
2
- * Runtime registry for route-scoped search params definitions.
3
- *
4
- * When a route's modules load, the framework registers its search-params
5
- * definition here. useQueryStates('/route') resolves codecs from this map.
6
- *
7
- * Design doc: design/23-search-params.md §"Runtime: Registration at Route Load"
8
- */
9
-
10
- import type { SearchParamsDefinition } from './create.js';
11
-
12
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
- const registry = new Map<string, SearchParamsDefinition<any>>();
14
-
15
- /**
16
- * Register a route's search params definition.
17
- * Called by the generated route manifest loader when a route's modules load.
18
- */
19
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
- export function registerSearchParams(route: string, definition: SearchParamsDefinition<any>): void {
21
- registry.set(route, definition);
22
- }
23
-
24
- /**
25
- * Look up a route's search params definition.
26
- * Returns undefined if the route hasn't been loaded yet.
27
- */
28
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
- export function getSearchParams(route: string): SearchParamsDefinition<any> | undefined {
30
- return registry.get(route);
31
- }
@@ -1,58 +0,0 @@
1
- /**
2
- * Client module map — maps client reference IDs to their SSR module loaders.
3
- *
4
- * When the RSC stream contains a client component reference (from a
5
- * "use client" module), the SSR environment needs to resolve it to the
6
- * actual component module so it can render the component to HTML.
7
- *
8
- * The @vitejs/plugin-rsc SSR runtime handles this internally via its
9
- * setRequireModule hook — it imports client reference modules from the
10
- * SSR environment's module graph. This module provides the configuration
11
- * bridge between timber's entry system and the RSC plugin's runtime.
12
- *
13
- * Design docs: 18-build-system.md §"Entry Files", 02-rendering-pipeline.md
14
- */
15
-
16
- /**
17
- * Client reference metadata used during SSR to resolve client components.
18
- *
19
- * The RSC plugin tracks these internally via `clientReferenceMetaMap`.
20
- * At SSR time, when `createFromReadableStream` encounters a client
21
- * reference in the RSC payload, it uses the module map to import the
22
- * actual component for server-side HTML rendering.
23
- */
24
- export interface ClientModuleEntry {
25
- /** The module ID (Vite-resolved file path) */
26
- id: string;
27
- /** The export name (e.g., 'default', 'Counter') */
28
- name: string;
29
- /** Async module loader */
30
- load: () => Promise<Record<string, unknown>>;
31
- }
32
-
33
- /**
34
- * Create a client module map for SSR resolution.
35
- *
36
- * In dev mode, the RSC plugin's SSR runtime (`@vitejs/plugin-rsc/ssr`)
37
- * handles client reference resolution automatically via its initialize()
38
- * function which sets up `setRequireModule` with dynamic imports through
39
- * Vite's dev server. No explicit module map is needed.
40
- *
41
- * In production builds, the RSC plugin generates a `virtual:vite-rsc/client-references`
42
- * module that maps client reference IDs to their chunk imports. The SSR
43
- * runtime reads this at startup.
44
- *
45
- * This function returns an empty map as a placeholder — the actual
46
- * resolution is handled by the RSC plugin's runtime internals.
47
- */
48
- export function createClientModuleMap(): Record<string, ClientModuleEntry> {
49
- // The @vitejs/plugin-rsc SSR runtime handles client reference
50
- // resolution internally. In dev mode, it uses Vite's module runner
51
- // to dynamically import client modules. In production, it reads
52
- // from the virtual:vite-rsc/client-references manifest.
53
- //
54
- // This empty map serves as the timber-side type contract. Framework
55
- // code that needs to interact with client references at a higher
56
- // level (e.g., collecting CSS deps, prefetch hints) can extend this.
57
- return {};
58
- }
@@ -1,96 +0,0 @@
1
- /**
2
- * Dev-mode fetch instrumentation — patches globalThis.fetch to create OTEL
3
- * spans for every fetch call, giving visibility into async data fetching
4
- * in the dev request log tree.
5
- *
6
- * Only activated in dev mode — zero overhead in production.
7
- *
8
- * The spans are automatically children of the active OTEL context (e.g. a
9
- * timber.page or timber.layout span), so they appear nested under the
10
- * component that initiated the fetch in the dev log tree.
11
- *
12
- * Design ref: 17-logging.md §"Dev Logging", LOCAL-289
13
- */
14
-
15
- import * as api from '@opentelemetry/api';
16
-
17
- export type DevFetchCleanup = () => void;
18
-
19
- /**
20
- * Patch globalThis.fetch to wrap every call in an OTEL span.
21
- *
22
- * Returns a cleanup function that restores the original fetch.
23
- * Only call this in dev mode.
24
- */
25
- export function instrumentDevFetch(): DevFetchCleanup {
26
- const originalFetch = globalThis.fetch;
27
- const tracer = api.trace.getTracer('timber.js');
28
-
29
- globalThis.fetch = async (input: RequestInfo | URL, init?: RequestInit): Promise<Response> => {
30
- const { method, url } = extractFetchInfo(input, init);
31
-
32
- return tracer.startActiveSpan(
33
- 'timber.fetch',
34
- {
35
- attributes: {
36
- 'http.request.method': method,
37
- 'http.url': url,
38
- },
39
- },
40
- async (span) => {
41
- try {
42
- const response = await originalFetch(input, init);
43
-
44
- span.setAttribute('http.response.status_code', response.status);
45
-
46
- // Surface cache status from standard headers
47
- const cacheStatus =
48
- response.headers.get('X-Cache') ?? response.headers.get('CF-Cache-Status');
49
- if (cacheStatus) {
50
- span.setAttribute('timber.cache_status', cacheStatus);
51
- }
52
-
53
- span.setStatus({ code: api.SpanStatusCode.OK });
54
- span.end();
55
- return response;
56
- } catch (error) {
57
- span.setStatus({ code: api.SpanStatusCode.ERROR });
58
- if (error instanceof Error) {
59
- span.setAttribute('timber.fetch_error', error.message);
60
- span.recordException(error);
61
- }
62
- span.end();
63
- throw error;
64
- }
65
- }
66
- );
67
- };
68
-
69
- return () => {
70
- globalThis.fetch = originalFetch;
71
- };
72
- }
73
-
74
- /**
75
- * Extract method and URL from the various fetch() call signatures.
76
- */
77
- function extractFetchInfo(
78
- input: RequestInfo | URL,
79
- init?: RequestInit
80
- ): { method: string; url: string } {
81
- let method = init?.method ?? 'GET';
82
- let url: string;
83
-
84
- if (input instanceof Request) {
85
- url = input.url;
86
- if (!init?.method) {
87
- method = input.method;
88
- }
89
- } else if (input instanceof URL) {
90
- url = input.toString();
91
- } else {
92
- url = input;
93
- }
94
-
95
- return { method: method.toUpperCase(), url };
96
- }
@@ -1,78 +0,0 @@
1
- /**
2
- * DevSpanProcessor — Custom OTEL SpanProcessor that drives dev log output.
3
- *
4
- * Collects completed spans per-request (correlated by trace ID). When the
5
- * root span (http.server.request) ends, all child spans are already collected
6
- * (child spans end before parent in OTEL). The processor formats the span
7
- * tree and writes it to stderr.
8
- *
9
- * This replaces the old DevLogEmitter/DevLogEvents system. OTEL spans are
10
- * now the single source of truth for dev logging — no more parallel event
11
- * systems that can drift.
12
- *
13
- * Design doc: 17-logging.md §"Dev Logging", 21-dev-server.md §"Dev Logging"
14
- */
15
-
16
- import type { SpanProcessor, ReadableSpan } from '@opentelemetry/sdk-trace-base';
17
- import type { Span, Context } from '@opentelemetry/api';
18
- import {
19
- formatSpanTree,
20
- formatSpanSummary,
21
- formatJson,
22
- type DevLogMode,
23
- type DevLoggerConfig,
24
- } from './dev-logger.js';
25
-
26
- export class DevSpanProcessor implements SpanProcessor {
27
- private spansByTrace = new Map<string, ReadableSpan[]>();
28
- private mode: DevLogMode;
29
- private config: DevLoggerConfig;
30
-
31
- constructor(config: DevLoggerConfig) {
32
- this.config = config;
33
- this.mode = config.mode ?? 'tree';
34
- }
35
-
36
- onStart(_span: Span, _context: Context): void {
37
- // No action needed on span start — we collect on end.
38
- }
39
-
40
- onEnd(span: ReadableSpan): void {
41
- const traceId = span.spanContext().traceId;
42
-
43
- let spans = this.spansByTrace.get(traceId);
44
- if (!spans) {
45
- spans = [];
46
- this.spansByTrace.set(traceId, spans);
47
- }
48
- spans.push(span);
49
-
50
- // Root span signals request completion — all child spans are already
51
- // collected because OTEL ends child spans before parent spans.
52
- if (span.name === 'http.server.request') {
53
- const output = this.format(spans);
54
- if (output) {
55
- process.stderr.write(output);
56
- }
57
- this.spansByTrace.delete(traceId);
58
- }
59
- }
60
-
61
- private format(spans: ReadableSpan[]): string {
62
- if (this.mode === 'quiet') return '';
63
- if (this.mode === 'json') return formatJson(spans);
64
- if (this.mode === 'summary') return formatSpanSummary(spans, this.config);
65
- // Both 'tree' and 'verbose' use the tree formatter.
66
- // verbose will show additional detail (every component render) once
67
- // component-level spans are wired.
68
- return formatSpanTree(spans, this.config);
69
- }
70
-
71
- async shutdown(): Promise<void> {
72
- this.spansByTrace.clear();
73
- }
74
-
75
- async forceFlush(): Promise<void> {
76
- // Nothing to flush — output happens synchronously in onEnd.
77
- }
78
- }
@@ -1,283 +0,0 @@
1
- /**
2
- * Dev-mode warnings for common timber.js misuse patterns.
3
- *
4
- * These fire in development only and are stripped from production builds.
5
- * Each warning targets a specific misuse identified during design review.
6
- *
7
- * Warnings are deduplicated by warningId:filePath:line so the same warning
8
- * is only emitted once per dev session (per unique source location).
9
- *
10
- * Warnings are written to stderr and, when a Vite dev server is available,
11
- * forwarded to the browser console via Vite's WebSocket.
12
- *
13
- * See design/21-dev-server.md §"Dev-Mode Warnings"
14
- * See design/11-platform.md §"Dev Mode"
15
- */
16
-
17
- import type { ViteDevServer } from 'vite';
18
- import { isDebug } from './debug.js';
19
-
20
- // ─── Warning IDs ───────────────────────────────────────────────────────────
21
-
22
- export const WarningId = {
23
- SUSPENSE_WRAPS_CHILDREN: 'SUSPENSE_WRAPS_CHILDREN',
24
- DENY_IN_SUSPENSE: 'DENY_IN_SUSPENSE',
25
- REDIRECT_IN_SUSPENSE: 'REDIRECT_IN_SUSPENSE',
26
- REDIRECT_IN_ACCESS: 'REDIRECT_IN_ACCESS',
27
- STATIC_REQUEST_API: 'STATIC_REQUEST_API',
28
- CACHE_REQUEST_PROPS: 'CACHE_REQUEST_PROPS',
29
- SLOW_SLOT_NO_SUSPENSE: 'SLOW_SLOT_NO_SUSPENSE',
30
- } as const;
31
-
32
- export type WarningId = (typeof WarningId)[keyof typeof WarningId];
33
-
34
- // ─── Configuration ──────────────────────────────────────────────────────────
35
-
36
- /** Configuration for dev warning behavior. */
37
- export interface DevWarningConfig {
38
- /** Threshold in ms for "slow slot" warnings. Default: 200. */
39
- slowSlotThresholdMs?: number;
40
- }
41
-
42
- // ─── Deduplication & Server ─────────────────────────────────────────────────
43
-
44
- const _emitted = new Set<string>();
45
-
46
- /** Vite dev server for forwarding warnings to browser console. */
47
- let _viteServer: ViteDevServer | null = null;
48
-
49
- /**
50
- * Register the Vite dev server for browser console forwarding.
51
- * Called by timber-dev-server during configureServer.
52
- */
53
- export function setViteServer(server: ViteDevServer | null): void {
54
- _viteServer = server;
55
- }
56
-
57
- function isDev(): boolean {
58
- return isDebug();
59
- }
60
-
61
- /**
62
- * Emit a warning only once per dedup key.
63
- *
64
- * Writes to stderr and forwards to browser console via Vite WebSocket.
65
- * Returns true if emitted (not deduplicated).
66
- */
67
- function emitOnce(
68
- warningId: WarningId,
69
- location: string,
70
- level: 'warn' | 'error',
71
- message: string
72
- ): boolean {
73
- if (!isDev()) return false;
74
-
75
- const dedupKey = `${warningId}:${location}`;
76
- if (_emitted.has(dedupKey)) return false;
77
- _emitted.add(dedupKey);
78
-
79
- // Write to stderr
80
- const prefix = level === 'error' ? '\x1b[31m[timber]\x1b[0m' : '\x1b[33m[timber]\x1b[0m';
81
- process.stderr.write(`${prefix} ${message}\n`);
82
-
83
- // Forward to browser console via Vite WebSocket
84
- if (_viteServer?.hot) {
85
- _viteServer.hot.send('timber:dev-warning', {
86
- warningId,
87
- level,
88
- message: `[timber] ${message}`,
89
- });
90
- }
91
-
92
- return true;
93
- }
94
-
95
- // ─── Warning Functions ──────────────────────────────────────────────────────
96
-
97
- /**
98
- * Warn when a layout wraps {children} in <Suspense>.
99
- *
100
- * This defers the page content — the primary resource — behind a fallback.
101
- * The page's data fetches won't affect the HTTP status code because they
102
- * resolve after onShellReady. If the page calls deny(404), the status code
103
- * is already committed as 200.
104
- *
105
- * @param layoutFile - Relative path to the layout file (e.g., "app/(dashboard)/layout.tsx")
106
- */
107
- export function warnSuspenseWrappingChildren(layoutFile: string): void {
108
- emitOnce(
109
- WarningId.SUSPENSE_WRAPS_CHILDREN,
110
- layoutFile,
111
- 'warn',
112
- `Layout at ${layoutFile} wraps {children} in <Suspense>. ` +
113
- 'This prevents child pages from setting HTTP status codes. ' +
114
- 'Use useNavigationPending() for loading states instead.'
115
- );
116
- }
117
-
118
- /**
119
- * Warn when deny() is called inside a Suspense boundary.
120
- *
121
- * After the shell has flushed and the status code is committed, deny()
122
- * cannot change the HTTP response. The signal will be caught by the nearest
123
- * error boundary instead of producing a correct status code.
124
- *
125
- * @param file - Relative path to the file
126
- * @param line - Line number where deny() was called
127
- */
128
- export function warnDenyInSuspense(file: string, line?: number): void {
129
- const location = line ? `${file}:${line}` : file;
130
- emitOnce(
131
- WarningId.DENY_IN_SUSPENSE,
132
- location,
133
- 'error',
134
- `deny() called inside <Suspense> at ${location}. ` +
135
- 'The HTTP status is already committed — this will trigger an error boundary with a 200 status. ' +
136
- 'Move deny() outside <Suspense> for correct HTTP semantics.'
137
- );
138
- }
139
-
140
- /**
141
- * Warn when redirect() is called inside a Suspense boundary.
142
- *
143
- * This will perform a client-side navigation instead of an HTTP redirect.
144
- *
145
- * @param file - Relative path to the file
146
- * @param line - Line number where redirect() was called
147
- */
148
- export function warnRedirectInSuspense(file: string, line?: number): void {
149
- const location = line ? `${file}:${line}` : file;
150
- emitOnce(
151
- WarningId.REDIRECT_IN_SUSPENSE,
152
- location,
153
- 'error',
154
- `redirect() called inside <Suspense> at ${location}. ` +
155
- 'This will perform a client-side navigation instead of an HTTP redirect.'
156
- );
157
- }
158
-
159
- /**
160
- * Warn when redirect() is called in a slot's access.ts.
161
- *
162
- * Slots use deny() for graceful degradation. Redirecting from a slot would
163
- * redirect the entire page, breaking the contract that slot failure is
164
- * isolated to the slot.
165
- *
166
- * @param accessFile - Relative path to the access.ts file
167
- * @param line - Line number where redirect() was called
168
- */
169
- export function warnRedirectInAccess(accessFile: string, line?: number): void {
170
- const location = line ? `${accessFile}:${line}` : accessFile;
171
- emitOnce(
172
- WarningId.REDIRECT_IN_ACCESS,
173
- location,
174
- 'error',
175
- `redirect() called in access.ts at ${location}. ` +
176
- 'Only deny() is valid in slot access checks. ' +
177
- 'Use deny() to block access or move redirect() to middleware.ts.'
178
- );
179
- }
180
-
181
- /**
182
- * Warn when cookies() or headers() is called during a static build.
183
- *
184
- * In output: 'static' mode, there is no per-request context — these APIs
185
- * read build-time values only. This is almost always a mistake.
186
- *
187
- * @param api - The dynamic API name ("cookies" or "headers")
188
- * @param file - Relative path to the file calling the API
189
- */
190
- export function warnStaticRequestApi(api: 'cookies' | 'headers', file: string): void {
191
- emitOnce(
192
- WarningId.STATIC_REQUEST_API,
193
- `${api}:${file}`,
194
- 'error',
195
- `${api}() called during static generation of ${file}. ` +
196
- 'Dynamic request APIs are not available during prerendering.'
197
- );
198
- }
199
-
200
- /**
201
- * Warn when a "use cache" component receives request-specific props.
202
- *
203
- * Cached components should not depend on per-request data — a userId or
204
- * sessionId in the props means the cache will either be ineffective
205
- * (key per user) or dangerous (serve one user's data to another).
206
- *
207
- * @param componentName - Name of the cached component
208
- * @param propName - Name of the suspicious prop
209
- * @param file - Relative path to the component file
210
- * @param line - Line number
211
- */
212
- export function warnCacheRequestProps(
213
- componentName: string,
214
- propName: string,
215
- file: string,
216
- line?: number
217
- ): void {
218
- const location = line ? `${file}:${line}` : file;
219
- emitOnce(
220
- WarningId.CACHE_REQUEST_PROPS,
221
- `${componentName}:${propName}:${location}`,
222
- 'warn',
223
- `Cached component ${componentName} receives prop "${propName}" which appears request-specific. ` +
224
- 'Cached components should not depend on per-request data.'
225
- );
226
- }
227
-
228
- /**
229
- * Warn when a parallel slot resolves slowly without a <Suspense> wrapper.
230
- *
231
- * A slow slot without Suspense blocks onShellReady — and therefore the
232
- * status code commit — for the entire page. Wrapping it in <Suspense>
233
- * lets the shell flush without waiting for the slot.
234
- *
235
- * @param slotName - The slot name (e.g., "@admin")
236
- * @param durationMs - How long the slot took to resolve
237
- */
238
- export function warnSlowSlotWithoutSuspense(slotName: string, durationMs: number): void {
239
- emitOnce(
240
- WarningId.SLOW_SLOT_NO_SUSPENSE,
241
- slotName,
242
- 'warn',
243
- `Slot ${slotName} resolved in ${durationMs}ms and is not wrapped in <Suspense>. ` +
244
- 'Consider wrapping to avoid blocking the flush.'
245
- );
246
- }
247
-
248
- // ─── Legacy aliases ─────────────────────────────────────────────────────────
249
-
250
- /** @deprecated Use warnStaticRequestApi instead */
251
- export const warnDynamicApiInStaticBuild = warnStaticRequestApi;
252
-
253
- /** @deprecated Use warnRedirectInAccess instead */
254
- export function warnRedirectInSlotAccess(slotName: string): void {
255
- warnRedirectInAccess(`${slotName}/access.ts`);
256
- }
257
-
258
- /** @deprecated Use warnDenyInSuspense / warnRedirectInSuspense instead */
259
- export function warnDenyAfterFlush(signal: 'deny' | 'redirect'): void {
260
- if (signal === 'deny') {
261
- warnDenyInSuspense('unknown');
262
- } else {
263
- warnRedirectInSuspense('unknown');
264
- }
265
- }
266
-
267
- // ─── Testing ────────────────────────────────────────────────────────────────
268
-
269
- /**
270
- * Reset emitted warnings. For testing only.
271
- * @internal
272
- */
273
- export function _resetWarnings(): void {
274
- _emitted.clear();
275
- }
276
-
277
- /**
278
- * Get the set of emitted dedup keys. For testing only.
279
- * @internal
280
- */
281
- export function _getEmitted(): ReadonlySet<string> {
282
- return _emitted;
283
- }