@timber-js/app 0.2.0-alpha.21 → 0.2.0-alpha.210

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 (1386) hide show
  1. package/LICENSE +8 -0
  2. package/agent-skill.md +346 -0
  3. package/bin/timber.mjs +15 -1
  4. package/dist/_chunks/actions-Rjk4htmA.js +1199 -0
  5. package/dist/_chunks/actions-Rjk4htmA.js.map +1 -0
  6. package/dist/_chunks/als-registry-DaxkVjt5.js +45 -0
  7. package/dist/_chunks/als-registry-DaxkVjt5.js.map +1 -0
  8. package/dist/_chunks/als-slots-BEEIPKYm.js +26 -0
  9. package/dist/_chunks/als-slots-BEEIPKYm.js.map +1 -0
  10. package/dist/_chunks/base-path-DaQrzbez.js +80 -0
  11. package/dist/_chunks/base-path-DaQrzbez.js.map +1 -0
  12. package/dist/_chunks/build-manifest-DWppEdLB.js +86 -0
  13. package/dist/_chunks/build-manifest-DWppEdLB.js.map +1 -0
  14. package/dist/_chunks/build-output-helper-RV_BRcF1.js +367 -0
  15. package/dist/_chunks/build-output-helper-RV_BRcF1.js.map +1 -0
  16. package/dist/_chunks/cache-api-DGdYfNJn.js +1182 -0
  17. package/dist/_chunks/cache-api-DGdYfNJn.js.map +1 -0
  18. package/dist/_chunks/canonicalize-CgHoscYO.js +66 -0
  19. package/dist/_chunks/canonicalize-CgHoscYO.js.map +1 -0
  20. package/dist/_chunks/chains-BoO51joc.js +413 -0
  21. package/dist/_chunks/chains-BoO51joc.js.map +1 -0
  22. package/dist/_chunks/cli-check-ajNY3B2e.js +252 -0
  23. package/dist/_chunks/cli-check-ajNY3B2e.js.map +1 -0
  24. package/dist/_chunks/cli-context-By7k2xVo.js +70 -0
  25. package/dist/_chunks/cli-context-By7k2xVo.js.map +1 -0
  26. package/dist/_chunks/cli-schema-sync-D2eI8jEg.js +299 -0
  27. package/dist/_chunks/cli-schema-sync-D2eI8jEg.js.map +1 -0
  28. package/dist/_chunks/cloudflare-Byxl8FWP.js +1333 -0
  29. package/dist/_chunks/cloudflare-Byxl8FWP.js.map +1 -0
  30. package/dist/_chunks/codec-registry-oOUxugz3.js +21 -0
  31. package/dist/_chunks/codec-registry-oOUxugz3.js.map +1 -0
  32. package/dist/_chunks/codegen-Bps1sLKJ.js +432 -0
  33. package/dist/_chunks/codegen-Bps1sLKJ.js.map +1 -0
  34. package/dist/_chunks/convention-lint-DLmhGsRS.js +590 -0
  35. package/dist/_chunks/convention-lint-DLmhGsRS.js.map +1 -0
  36. package/dist/_chunks/dev-server-v97rQH4b.js +2039 -0
  37. package/dist/_chunks/dev-server-v97rQH4b.js.map +1 -0
  38. package/dist/_chunks/dist-DtrJyBbw.js +386 -0
  39. package/dist/_chunks/dist-DtrJyBbw.js.map +1 -0
  40. package/dist/_chunks/error-boundary-DsNScGRM.js +1024 -0
  41. package/dist/_chunks/error-boundary-DsNScGRM.js.map +1 -0
  42. package/dist/_chunks/fast-hash-C-tVYrLb.js +41 -0
  43. package/dist/_chunks/fast-hash-C-tVYrLb.js.map +1 -0
  44. package/dist/_chunks/format-BKclgVbk.js +14 -0
  45. package/dist/_chunks/format-BKclgVbk.js.map +1 -0
  46. package/dist/_chunks/fs-identity-BRKuL215.js +207 -0
  47. package/dist/_chunks/fs-identity-BRKuL215.js.map +1 -0
  48. package/dist/_chunks/graph-cache-CYiUS2aS.js +303 -0
  49. package/dist/_chunks/graph-cache-CYiUS2aS.js.map +1 -0
  50. package/dist/_chunks/href-validation-BIrxavIy.js +213 -0
  51. package/dist/_chunks/href-validation-BIrxavIy.js.map +1 -0
  52. package/dist/_chunks/json-lossy-check-CVuRs2hG.js +66 -0
  53. package/dist/_chunks/json-lossy-check-CVuRs2hG.js.map +1 -0
  54. package/dist/_chunks/live-graph-9cSnn_h9.js +150 -0
  55. package/dist/_chunks/live-graph-9cSnn_h9.js.map +1 -0
  56. package/dist/_chunks/logger-BP0LN6vP.js +662 -0
  57. package/dist/_chunks/logger-BP0LN6vP.js.map +1 -0
  58. package/dist/_chunks/{metadata-routes-Cjmvi3rQ.js → metadata-routes-DSDjM_hJ.js} +71 -27
  59. package/dist/_chunks/metadata-routes-DSDjM_hJ.js.map +1 -0
  60. package/dist/_chunks/navigation-root-BQfo1-kG.js +126 -0
  61. package/dist/_chunks/navigation-root-BQfo1-kG.js.map +1 -0
  62. package/dist/_chunks/param-value-C8TNYchQ.js +66 -0
  63. package/dist/_chunks/param-value-C8TNYchQ.js.map +1 -0
  64. package/dist/_chunks/plugin-context-BPBPc3lL.js +345 -0
  65. package/dist/_chunks/plugin-context-BPBPc3lL.js.map +1 -0
  66. package/dist/_chunks/poison-rules-DoEhbqaY.js +110 -0
  67. package/dist/_chunks/poison-rules-DoEhbqaY.js.map +1 -0
  68. package/dist/_chunks/poison-scan-vGV7Re0B.js +101 -0
  69. package/dist/_chunks/poison-scan-vGV7Re0B.js.map +1 -0
  70. package/dist/_chunks/purge-store-Byr8XOjU.js +14 -0
  71. package/dist/_chunks/purge-store-Byr8XOjU.js.map +1 -0
  72. package/dist/_chunks/render-timeout-DOf_BBcO.js +46 -0
  73. package/dist/_chunks/render-timeout-DOf_BBcO.js.map +1 -0
  74. package/dist/_chunks/resolve-schema-CBR6Lm4i.js +50 -0
  75. package/dist/_chunks/resolve-schema-CBR6Lm4i.js.map +1 -0
  76. package/dist/_chunks/rolldown-runtime-D7D4PA-g.js +13 -0
  77. package/dist/_chunks/rsc-cache-key-ClUiXQnK.js +243 -0
  78. package/dist/_chunks/rsc-cache-key-ClUiXQnK.js.map +1 -0
  79. package/dist/_chunks/rsc-media-type-DDc7duTD.js +61 -0
  80. package/dist/_chunks/rsc-media-type-DDc7duTD.js.map +1 -0
  81. package/dist/_chunks/rsc-payload-path-dffcs4jp.js +54 -0
  82. package/dist/_chunks/rsc-payload-path-dffcs4jp.js.map +1 -0
  83. package/dist/_chunks/scan-BoP17W3w.js +140 -0
  84. package/dist/_chunks/scan-BoP17W3w.js.map +1 -0
  85. package/dist/_chunks/scanner-DmqdxzbW.js +2056 -0
  86. package/dist/_chunks/scanner-DmqdxzbW.js.map +1 -0
  87. package/dist/_chunks/schema-bridge-C83xa9lT.js +199 -0
  88. package/dist/_chunks/schema-bridge-C83xa9lT.js.map +1 -0
  89. package/dist/_chunks/segment-classify-C539Pa2O.js +197 -0
  90. package/dist/_chunks/segment-classify-C539Pa2O.js.map +1 -0
  91. package/dist/_chunks/segment-context-xtPUGfdq.js +137 -0
  92. package/dist/_chunks/segment-context-xtPUGfdq.js.map +1 -0
  93. package/dist/_chunks/segment-keys-D5hu1hz4.js +62 -0
  94. package/dist/_chunks/segment-keys-D5hu1hz4.js.map +1 -0
  95. package/dist/_chunks/singleflight-BeVMMKi0.js +55 -0
  96. package/dist/_chunks/singleflight-BeVMMKi0.js.map +1 -0
  97. package/dist/_chunks/sizeof-BM1409x2.js +36 -0
  98. package/dist/_chunks/sizeof-BM1409x2.js.map +1 -0
  99. package/dist/_chunks/ssr-data-nA3I70_n.js +49 -0
  100. package/dist/_chunks/ssr-data-nA3I70_n.js.map +1 -0
  101. package/dist/_chunks/state-BhNGPsdi.js +50 -0
  102. package/dist/_chunks/state-BhNGPsdi.js.map +1 -0
  103. package/dist/_chunks/status-page-marker-BRX9Ib-d.js +564 -0
  104. package/dist/_chunks/status-page-marker-BRX9Ib-d.js.map +1 -0
  105. package/dist/_chunks/tree-match-6yihorhk.js +169 -0
  106. package/dist/_chunks/tree-match-6yihorhk.js.map +1 -0
  107. package/dist/_chunks/use-query-states-I3JMng6J.js +226 -0
  108. package/dist/_chunks/use-query-states-I3JMng6J.js.map +1 -0
  109. package/dist/_chunks/walkers-Czu2jXFq.js +144 -0
  110. package/dist/_chunks/walkers-Czu2jXFq.js.map +1 -0
  111. package/dist/_chunks/write-file-atomic-D1qWqHb4.js +32 -0
  112. package/dist/_chunks/write-file-atomic-D1qWqHb4.js.map +1 -0
  113. package/dist/adapters/build-output-helper.d.ts +72 -0
  114. package/dist/adapters/build-output-helper.d.ts.map +1 -0
  115. package/dist/adapters/canonicalize-module.d.ts +8 -0
  116. package/dist/adapters/canonicalize-module.d.ts.map +1 -0
  117. package/dist/adapters/cloudflare-dev.d.ts +109 -0
  118. package/dist/adapters/cloudflare-dev.d.ts.map +1 -0
  119. package/dist/adapters/cloudflare-dev.js +74 -0
  120. package/dist/adapters/cloudflare-dev.js.map +1 -0
  121. package/dist/adapters/cloudflare-kv-cache.d.ts +65 -0
  122. package/dist/adapters/cloudflare-kv-cache.d.ts.map +1 -0
  123. package/dist/adapters/cloudflare-kv-cache.js +123 -0
  124. package/dist/adapters/cloudflare-kv-cache.js.map +1 -0
  125. package/dist/adapters/cloudflare.d.ts +224 -24
  126. package/dist/adapters/cloudflare.d.ts.map +1 -1
  127. package/dist/adapters/cloudflare.js +2 -188
  128. package/dist/adapters/compress-module.d.ts +25 -4
  129. package/dist/adapters/compress-module.d.ts.map +1 -1
  130. package/dist/adapters/fs-identity.d.ts +63 -0
  131. package/dist/adapters/fs-identity.d.ts.map +1 -0
  132. package/dist/adapters/nitro-presets.d.ts +31 -0
  133. package/dist/adapters/nitro-presets.d.ts.map +1 -0
  134. package/dist/adapters/nitro-preview.d.ts +64 -0
  135. package/dist/adapters/nitro-preview.d.ts.map +1 -0
  136. package/dist/adapters/nitro.d.ts +54 -37
  137. package/dist/adapters/nitro.d.ts.map +1 -1
  138. package/dist/adapters/nitro.js +631 -359
  139. package/dist/adapters/nitro.js.map +1 -1
  140. package/dist/adapters/shared.d.ts +67 -0
  141. package/dist/adapters/shared.d.ts.map +1 -0
  142. package/dist/adapters/types.d.ts +122 -16
  143. package/dist/adapters/types.d.ts.map +1 -1
  144. package/dist/adapters/types.js +0 -0
  145. package/dist/analyze/chains.d.ts +124 -0
  146. package/dist/analyze/chains.d.ts.map +1 -0
  147. package/dist/analyze/classify.d.ts +151 -0
  148. package/dist/analyze/classify.d.ts.map +1 -0
  149. package/dist/analyze/crawl-entry.d.ts +17 -0
  150. package/dist/analyze/crawl-entry.d.ts.map +1 -0
  151. package/dist/analyze/crawl-entry.js +313 -0
  152. package/dist/analyze/crawl-entry.js.map +1 -0
  153. package/dist/analyze/crawl.d.ts +134 -0
  154. package/dist/analyze/crawl.d.ts.map +1 -0
  155. package/dist/analyze/graph-cache.d.ts +104 -0
  156. package/dist/analyze/graph-cache.d.ts.map +1 -0
  157. package/dist/analyze/graph-command.d.ts +43 -0
  158. package/dist/analyze/graph-command.d.ts.map +1 -0
  159. package/dist/analyze/graph-command.js +472 -0
  160. package/dist/analyze/graph-command.js.map +1 -0
  161. package/dist/analyze/live-graph.d.ts +81 -0
  162. package/dist/analyze/live-graph.d.ts.map +1 -0
  163. package/dist/analyze/poison-rules.d.ts +72 -0
  164. package/dist/analyze/poison-rules.d.ts.map +1 -0
  165. package/dist/analyze/poison-scan.d.ts +48 -0
  166. package/dist/analyze/poison-scan.d.ts.map +1 -0
  167. package/dist/analyze/scan.d.ts +73 -0
  168. package/dist/analyze/scan.d.ts.map +1 -0
  169. package/dist/cache/cache-api.d.ts +48 -0
  170. package/dist/cache/cache-api.d.ts.map +1 -0
  171. package/dist/cache/fast-hash.d.ts +5 -0
  172. package/dist/cache/fast-hash.d.ts.map +1 -1
  173. package/dist/cache/handler-store.d.ts +33 -0
  174. package/dist/cache/handler-store.d.ts.map +1 -0
  175. package/dist/cache/index.d.ts +32 -9
  176. package/dist/cache/index.d.ts.map +1 -1
  177. package/dist/cache/index.js +3 -326
  178. package/dist/cache/invalidation-epoch.d.ts +43 -0
  179. package/dist/cache/invalidation-epoch.d.ts.map +1 -0
  180. package/dist/cache/json-lossy-check.d.ts +11 -0
  181. package/dist/cache/json-lossy-check.d.ts.map +1 -0
  182. package/dist/cache/redis-handler.d.ts +141 -9
  183. package/dist/cache/redis-handler.d.ts.map +1 -1
  184. package/dist/cache/singleflight.d.ts +21 -2
  185. package/dist/cache/singleflight.d.ts.map +1 -1
  186. package/dist/cache/sizeof.d.ts +22 -0
  187. package/dist/cache/sizeof.d.ts.map +1 -0
  188. package/dist/cache/stable-stringify.d.ts +9 -0
  189. package/dist/cache/stable-stringify.d.ts.map +1 -1
  190. package/dist/cache/store.d.ts +53 -0
  191. package/dist/cache/store.d.ts.map +1 -0
  192. package/dist/cache/stores/cloudflare-kv.d.ts +38 -0
  193. package/dist/cache/stores/cloudflare-kv.d.ts.map +1 -0
  194. package/dist/cache/stores/cloudflare-kv.js +29 -0
  195. package/dist/cache/stores/cloudflare-kv.js.map +1 -0
  196. package/dist/cache/stores/memory.d.ts +42 -0
  197. package/dist/cache/stores/memory.d.ts.map +1 -0
  198. package/dist/cache/stores/memory.js +90 -0
  199. package/dist/cache/stores/memory.js.map +1 -0
  200. package/dist/cache/stores/redis.d.ts +69 -0
  201. package/dist/cache/stores/redis.d.ts.map +1 -0
  202. package/dist/cache/stores/redis.js +35 -0
  203. package/dist/cache/stores/redis.js.map +1 -0
  204. package/dist/cache/stores/vercel.d.ts +36 -0
  205. package/dist/cache/stores/vercel.d.ts.map +1 -0
  206. package/dist/cache/stores/vercel.js +33 -0
  207. package/dist/cache/stores/vercel.js.map +1 -0
  208. package/dist/cache/tag-aware-handler.d.ts +52 -0
  209. package/dist/cache/tag-aware-handler.d.ts.map +1 -0
  210. package/dist/cache/timber-cache.d.ts +21 -11
  211. package/dist/cache/timber-cache.d.ts.map +1 -1
  212. package/dist/cdn/cloudflare-purge.d.ts +23 -0
  213. package/dist/cdn/cloudflare-purge.d.ts.map +1 -0
  214. package/dist/cdn/cloudflare-purge.js +30 -0
  215. package/dist/cdn/cloudflare-purge.js.map +1 -0
  216. package/dist/cdn/fastly-purge.d.ts +25 -0
  217. package/dist/cdn/fastly-purge.d.ts.map +1 -0
  218. package/dist/cdn/fastly-purge.js +33 -0
  219. package/dist/cdn/fastly-purge.js.map +1 -0
  220. package/dist/cdn/headers.d.ts +97 -0
  221. package/dist/cdn/headers.d.ts.map +1 -0
  222. package/dist/cdn/index.d.ts +5 -0
  223. package/dist/cdn/index.d.ts.map +1 -0
  224. package/dist/cdn/index.js +94 -0
  225. package/dist/cdn/index.js.map +1 -0
  226. package/dist/cdn/purge-store.d.ts +23 -0
  227. package/dist/cdn/purge-store.d.ts.map +1 -0
  228. package/dist/cdn/workers-cache-purge.d.ts +20 -0
  229. package/dist/cdn/workers-cache-purge.d.ts.map +1 -0
  230. package/dist/cdn/workers-cache-purge.js +35 -0
  231. package/dist/cdn/workers-cache-purge.js.map +1 -0
  232. package/dist/cli-check.d.ts +133 -0
  233. package/dist/cli-check.d.ts.map +1 -0
  234. package/dist/cli-context.d.ts +54 -0
  235. package/dist/cli-context.d.ts.map +1 -0
  236. package/dist/cli-schema-sync.d.ts +59 -0
  237. package/dist/cli-schema-sync.d.ts.map +1 -0
  238. package/dist/cli.d.ts +85 -13
  239. package/dist/cli.d.ts.map +1 -1
  240. package/dist/cli.js +224 -63
  241. package/dist/cli.js.map +1 -1
  242. package/dist/client/browser-dev.d.ts +42 -2
  243. package/dist/client/browser-dev.d.ts.map +1 -1
  244. package/dist/client/browser-entry/action-dispatch.d.ts +19 -0
  245. package/dist/client/browser-entry/action-dispatch.d.ts.map +1 -0
  246. package/dist/client/browser-entry/action-queue.d.ts +63 -0
  247. package/dist/client/browser-entry/action-queue.d.ts.map +1 -0
  248. package/dist/client/browser-entry/hmr.d.ts +21 -0
  249. package/dist/client/browser-entry/hmr.d.ts.map +1 -0
  250. package/dist/client/browser-entry/hydrate.d.ts +53 -0
  251. package/dist/client/browser-entry/hydrate.d.ts.map +1 -0
  252. package/dist/client/browser-entry/index.d.ts +30 -0
  253. package/dist/client/browser-entry/index.d.ts.map +1 -0
  254. package/dist/client/browser-entry/post-hydration.d.ts +26 -0
  255. package/dist/client/browser-entry/post-hydration.d.ts.map +1 -0
  256. package/dist/client/browser-entry/router-init.d.ts +41 -0
  257. package/dist/client/browser-entry/router-init.d.ts.map +1 -0
  258. package/dist/client/browser-entry/rsc-stream.d.ts +32 -0
  259. package/dist/client/browser-entry/rsc-stream.d.ts.map +1 -0
  260. package/dist/client/browser-entry/scroll.d.ts +28 -0
  261. package/dist/client/browser-entry/scroll.d.ts.map +1 -0
  262. package/dist/client/deny-last-resort.d.ts +29 -0
  263. package/dist/client/deny-last-resort.d.ts.map +1 -0
  264. package/dist/client/error-boundary.d.ts +58 -9
  265. package/dist/client/error-boundary.d.ts.map +1 -1
  266. package/dist/client/error-boundary.js +2 -126
  267. package/dist/client/error-reconstituter.d.ts +55 -0
  268. package/dist/client/error-reconstituter.d.ts.map +1 -0
  269. package/dist/client/form.d.ts +16 -27
  270. package/dist/client/form.d.ts.map +1 -1
  271. package/dist/client/global-context.d.ts +15 -0
  272. package/dist/client/global-context.d.ts.map +1 -0
  273. package/dist/client/history.d.ts +50 -9
  274. package/dist/client/history.d.ts.map +1 -1
  275. package/dist/client/index.d.ts +20 -33
  276. package/dist/client/index.d.ts.map +1 -1
  277. package/dist/client/index.js +330 -1150
  278. package/dist/client/index.js.map +1 -1
  279. package/dist/client/internal.d.ts +20 -0
  280. package/dist/client/internal.d.ts.map +1 -0
  281. package/dist/client/internal.js +792 -0
  282. package/dist/client/internal.js.map +1 -0
  283. package/dist/client/link.d.ts +85 -60
  284. package/dist/client/link.d.ts.map +1 -1
  285. package/dist/client/location-search.d.ts +12 -0
  286. package/dist/client/location-search.d.ts.map +1 -0
  287. package/dist/client/navigation-api.d.ts +133 -0
  288. package/dist/client/navigation-api.d.ts.map +1 -0
  289. package/dist/client/navigation-commit.d.ts +111 -0
  290. package/dist/client/navigation-commit.d.ts.map +1 -0
  291. package/dist/client/navigation-context.d.ts +54 -36
  292. package/dist/client/navigation-context.d.ts.map +1 -1
  293. package/dist/client/navigation-root.d.ts +106 -0
  294. package/dist/client/navigation-root.d.ts.map +1 -0
  295. package/dist/client/navigation-transition.d.ts +192 -0
  296. package/dist/client/navigation-transition.d.ts.map +1 -0
  297. package/dist/client/nuqs-adapter.d.ts +1 -1
  298. package/dist/client/nuqs-adapter.d.ts.map +1 -1
  299. package/dist/client/params-context.d.ts +81 -0
  300. package/dist/client/params-context.d.ts.map +1 -0
  301. package/dist/client/react-root.d.ts +45 -0
  302. package/dist/client/react-root.d.ts.map +1 -0
  303. package/dist/client/router-effects.d.ts +137 -0
  304. package/dist/client/router-effects.d.ts.map +1 -0
  305. package/dist/client/router-lifecycle.d.ts +98 -0
  306. package/dist/client/router-lifecycle.d.ts.map +1 -0
  307. package/dist/client/router-pipeline.d.ts +84 -0
  308. package/dist/client/router-pipeline.d.ts.map +1 -0
  309. package/dist/client/router-ref.d.ts +2 -2
  310. package/dist/client/router-ref.d.ts.map +1 -1
  311. package/dist/client/router-skew.d.ts +21 -0
  312. package/dist/client/router-skew.d.ts.map +1 -0
  313. package/dist/client/router-types.d.ts +334 -0
  314. package/dist/client/router-types.d.ts.map +1 -0
  315. package/dist/client/router-url.d.ts +24 -0
  316. package/dist/client/router-url.d.ts.map +1 -0
  317. package/dist/client/router.d.ts +1 -97
  318. package/dist/client/router.d.ts.map +1 -1
  319. package/dist/client/rsc-fetch.d.ts +110 -28
  320. package/dist/client/rsc-fetch.d.ts.map +1 -1
  321. package/dist/client/segment-cache.d.ts +186 -25
  322. package/dist/client/segment-cache.d.ts.map +1 -1
  323. package/dist/client/segment-context.d.ts.map +1 -1
  324. package/dist/client/segment-outlet.d.ts +68 -0
  325. package/dist/client/segment-outlet.d.ts.map +1 -0
  326. package/dist/client/segment-update-context.d.ts +15 -0
  327. package/dist/client/segment-update-context.d.ts.map +1 -0
  328. package/dist/client/shallow-url.d.ts +10 -0
  329. package/dist/client/shallow-url.d.ts.map +1 -0
  330. package/dist/client/slot-content-cache-context.d.ts +35 -0
  331. package/dist/client/slot-content-cache-context.d.ts.map +1 -0
  332. package/dist/client/slot-context.d.ts +31 -0
  333. package/dist/client/slot-context.d.ts.map +1 -0
  334. package/dist/client/slot-outlet.d.ts +16 -0
  335. package/dist/client/slot-outlet.d.ts.map +1 -0
  336. package/dist/client/slot-provider.d.ts +25 -0
  337. package/dist/client/slot-provider.d.ts.map +1 -0
  338. package/dist/client/ssr-data.d.ts +26 -50
  339. package/dist/client/ssr-data.d.ts.map +1 -1
  340. package/dist/client/stale-client.d.ts +69 -0
  341. package/dist/client/stale-client.d.ts.map +1 -0
  342. package/dist/client/state.d.ts +21 -13
  343. package/dist/client/state.d.ts.map +1 -1
  344. package/dist/client/status-page-marker.d.ts +25 -0
  345. package/dist/client/status-page-marker.d.ts.map +1 -0
  346. package/dist/client/top-loader.d.ts +7 -6
  347. package/dist/client/top-loader.d.ts.map +1 -1
  348. package/dist/client/unload-guard.d.ts +5 -0
  349. package/dist/client/unload-guard.d.ts.map +1 -1
  350. package/dist/client/use-cookie.d.ts +12 -0
  351. package/dist/client/use-cookie.d.ts.map +1 -1
  352. package/dist/client/use-link-status.d.ts +5 -5
  353. package/dist/client/use-link-status.d.ts.map +1 -1
  354. package/dist/client/use-pathname.d.ts +13 -11
  355. package/dist/client/use-pathname.d.ts.map +1 -1
  356. package/dist/client/use-pending-navigation.d.ts +23 -0
  357. package/dist/client/use-pending-navigation.d.ts.map +1 -0
  358. package/dist/client/use-query-states.d.ts +10 -4
  359. package/dist/client/use-query-states.d.ts.map +1 -1
  360. package/dist/client/use-router.d.ts +15 -8
  361. package/dist/client/use-router.d.ts.map +1 -1
  362. package/dist/client/use-search-params.d.ts +15 -8
  363. package/dist/client/use-search-params.d.ts.map +1 -1
  364. package/dist/client/use-segment-params.d.ts +55 -0
  365. package/dist/client/use-segment-params.d.ts.map +1 -0
  366. package/dist/codec.d.ts +69 -0
  367. package/dist/codec.d.ts.map +1 -0
  368. package/dist/codec.js +76 -0
  369. package/dist/codec.js.map +1 -0
  370. package/dist/config-types.d.ts +323 -0
  371. package/dist/config-types.d.ts.map +1 -0
  372. package/dist/config-validation.d.ts +68 -0
  373. package/dist/config-validation.d.ts.map +1 -0
  374. package/dist/cookies/define-cookie.d.ts +58 -25
  375. package/dist/cookies/define-cookie.d.ts.map +1 -1
  376. package/dist/cookies/index.d.ts +3 -2
  377. package/dist/cookies/index.d.ts.map +1 -1
  378. package/dist/cookies/index.js +256 -36
  379. package/dist/cookies/index.js.map +1 -1
  380. package/dist/cookies/json-cookie.d.ts +64 -0
  381. package/dist/cookies/json-cookie.d.ts.map +1 -0
  382. package/dist/cookies/validation.d.ts +34 -0
  383. package/dist/cookies/validation.d.ts.map +1 -0
  384. package/dist/dev-tools/404-page.d.ts +50 -0
  385. package/dist/dev-tools/404-page.d.ts.map +1 -0
  386. package/dist/dev-tools/browser-logs.d.ts +40 -0
  387. package/dist/dev-tools/browser-logs.d.ts.map +1 -0
  388. package/dist/dev-tools/dev-page-shell.d.ts +95 -0
  389. package/dist/dev-tools/dev-page-shell.d.ts.map +1 -0
  390. package/dist/dev-tools/error-page.d.ts +32 -0
  391. package/dist/dev-tools/error-page.d.ts.map +1 -0
  392. package/dist/dev-tools/holding-server.d.ts +46 -0
  393. package/dist/dev-tools/holding-server.d.ts.map +1 -0
  394. package/dist/dev-tools/hydration-overlay.d.ts +11 -0
  395. package/dist/dev-tools/hydration-overlay.d.ts.map +1 -0
  396. package/dist/dev-tools/index.d.ts +31 -0
  397. package/dist/dev-tools/index.d.ts.map +1 -0
  398. package/dist/dev-tools/instrumentation.d.ts +74 -0
  399. package/dist/dev-tools/instrumentation.d.ts.map +1 -0
  400. package/dist/{server/dev-logger.d.ts → dev-tools/logger.d.ts} +1 -1
  401. package/dist/dev-tools/logger.d.ts.map +1 -0
  402. package/dist/{plugins/dev-logs.d.ts → dev-tools/logs.d.ts} +17 -3
  403. package/dist/dev-tools/logs.d.ts.map +1 -0
  404. package/dist/{plugins/dev-error-overlay.d.ts → dev-tools/overlay.d.ts} +15 -25
  405. package/dist/dev-tools/overlay.d.ts.map +1 -0
  406. package/dist/dev-tools/stack-classifier.d.ts +34 -0
  407. package/dist/dev-tools/stack-classifier.d.ts.map +1 -0
  408. package/dist/dev-tools/terminal.d.ts +28 -0
  409. package/dist/dev-tools/terminal.d.ts.map +1 -0
  410. package/dist/fonts/ast-walk.d.ts +68 -0
  411. package/dist/fonts/ast-walk.d.ts.map +1 -0
  412. package/dist/fonts/ast.d.ts +112 -8
  413. package/dist/fonts/ast.d.ts.map +1 -1
  414. package/dist/fonts/bundle.d.ts +50 -0
  415. package/dist/fonts/bundle.d.ts.map +1 -0
  416. package/dist/fonts/css.d.ts +1 -1
  417. package/dist/fonts/dev-middleware.d.ts +22 -0
  418. package/dist/fonts/dev-middleware.d.ts.map +1 -0
  419. package/dist/fonts/fallbacks.d.ts +0 -7
  420. package/dist/fonts/fallbacks.d.ts.map +1 -1
  421. package/dist/fonts/google.d.ts +5 -3
  422. package/dist/fonts/google.d.ts.map +1 -1
  423. package/dist/fonts/local.d.ts +5 -5
  424. package/dist/fonts/local.d.ts.map +1 -1
  425. package/dist/fonts/paths.d.ts +43 -0
  426. package/dist/fonts/paths.d.ts.map +1 -0
  427. package/dist/fonts/pipeline.d.ts +177 -0
  428. package/dist/fonts/pipeline.d.ts.map +1 -0
  429. package/dist/fonts/transform.d.ts +82 -0
  430. package/dist/fonts/transform.d.ts.map +1 -0
  431. package/dist/fonts/types.d.ts +47 -1
  432. package/dist/fonts/types.d.ts.map +1 -1
  433. package/dist/fonts/virtual-modules.d.ts +77 -0
  434. package/dist/fonts/virtual-modules.d.ts.map +1 -0
  435. package/dist/index.d.ts +35 -181
  436. package/dist/index.d.ts.map +1 -1
  437. package/dist/index.js +8844 -14244
  438. package/dist/index.js.map +1 -1
  439. package/dist/params/codec-registry.d.ts +26 -0
  440. package/dist/params/codec-registry.d.ts.map +1 -0
  441. package/dist/params/define-schema.d.ts +81 -0
  442. package/dist/params/define-schema.d.ts.map +1 -0
  443. package/dist/params/index.d.ts +5 -0
  444. package/dist/params/index.d.ts.map +1 -0
  445. package/dist/params/index.js +34 -0
  446. package/dist/params/index.js.map +1 -0
  447. package/dist/params/resolve-schema.d.ts +34 -0
  448. package/dist/params/resolve-schema.d.ts.map +1 -0
  449. package/dist/plugin-context.d.ts +262 -0
  450. package/dist/plugin-context.d.ts.map +1 -0
  451. package/dist/plugins/build-manifest.d.ts +7 -3
  452. package/dist/plugins/build-manifest.d.ts.map +1 -1
  453. package/dist/plugins/build-report.d.ts +61 -11
  454. package/dist/plugins/build-report.d.ts.map +1 -1
  455. package/dist/plugins/cache.d.ts +64 -0
  456. package/dist/plugins/cache.d.ts.map +1 -0
  457. package/dist/plugins/callsite-ast.d.ts +117 -0
  458. package/dist/plugins/callsite-ast.d.ts.map +1 -0
  459. package/dist/plugins/callsite-jsx.d.ts +35 -0
  460. package/dist/plugins/callsite-jsx.d.ts.map +1 -0
  461. package/dist/plugins/chunks.d.ts +11 -4
  462. package/dist/plugins/chunks.d.ts.map +1 -1
  463. package/dist/plugins/client-chunks.d.ts +40 -0
  464. package/dist/plugins/client-chunks.d.ts.map +1 -0
  465. package/dist/plugins/cloudflare-wasm.d.ts +21 -0
  466. package/dist/plugins/cloudflare-wasm.d.ts.map +1 -0
  467. package/dist/plugins/content.d.ts +1 -1
  468. package/dist/plugins/content.d.ts.map +1 -1
  469. package/dist/plugins/dev-discovery.d.ts +123 -0
  470. package/dist/plugins/dev-discovery.d.ts.map +1 -0
  471. package/dist/plugins/dev-server.d.ts +24 -1
  472. package/dist/plugins/dev-server.d.ts.map +1 -1
  473. package/dist/plugins/entries.d.ts +28 -4
  474. package/dist/plugins/entries.d.ts.map +1 -1
  475. package/dist/plugins/fonts.d.ts +35 -74
  476. package/dist/plugins/fonts.d.ts.map +1 -1
  477. package/dist/plugins/graph-endpoint.d.ts +112 -0
  478. package/dist/plugins/graph-endpoint.d.ts.map +1 -0
  479. package/dist/plugins/mdx.d.ts +18 -5
  480. package/dist/plugins/mdx.d.ts.map +1 -1
  481. package/dist/plugins/post-build.d.ts +110 -0
  482. package/dist/plugins/post-build.d.ts.map +1 -0
  483. package/dist/plugins/prebuilt-capture.d.ts +67 -0
  484. package/dist/plugins/prebuilt-capture.d.ts.map +1 -0
  485. package/dist/plugins/prebuilt-options-analysis.d.ts +40 -0
  486. package/dist/plugins/prebuilt-options-analysis.d.ts.map +1 -0
  487. package/dist/plugins/prebuilt.d.ts +98 -0
  488. package/dist/plugins/prebuilt.d.ts.map +1 -0
  489. package/dist/plugins/prerender-sugar.d.ts +39 -0
  490. package/dist/plugins/prerender-sugar.d.ts.map +1 -0
  491. package/dist/plugins/react-resolve.d.ts +49 -0
  492. package/dist/plugins/react-resolve.d.ts.map +1 -0
  493. package/dist/plugins/request-dep/analysis.d.ts +106 -0
  494. package/dist/plugins/request-dep/analysis.d.ts.map +1 -0
  495. package/dist/plugins/request-dep/index.d.ts +75 -0
  496. package/dist/plugins/request-dep/index.d.ts.map +1 -0
  497. package/dist/plugins/request-dep/origin.d.ts +61 -0
  498. package/dist/plugins/request-dep/origin.d.ts.map +1 -0
  499. package/dist/plugins/routing.d.ts +1 -1
  500. package/dist/plugins/routing.d.ts.map +1 -1
  501. package/dist/plugins/rsc-assets-manifest.d.ts +33 -0
  502. package/dist/plugins/rsc-assets-manifest.d.ts.map +1 -0
  503. package/dist/plugins/server-bundle.d.ts.map +1 -1
  504. package/dist/plugins/shims.d.ts +29 -5
  505. package/dist/plugins/shims.d.ts.map +1 -1
  506. package/dist/plugins/static-build.d.ts +246 -26
  507. package/dist/plugins/static-build.d.ts.map +1 -1
  508. package/dist/routing/codegen-shared.d.ts +26 -0
  509. package/dist/routing/codegen-shared.d.ts.map +1 -0
  510. package/dist/routing/codegen-types.d.ts +61 -0
  511. package/dist/routing/codegen-types.d.ts.map +1 -0
  512. package/dist/routing/codegen-write.d.ts +42 -0
  513. package/dist/routing/codegen-write.d.ts.map +1 -0
  514. package/dist/routing/codegen.d.ts +8 -3
  515. package/dist/routing/codegen.d.ts.map +1 -1
  516. package/dist/routing/collision-probe.d.ts +104 -0
  517. package/dist/routing/collision-probe.d.ts.map +1 -0
  518. package/dist/routing/collision-spaces.d.ts +26 -0
  519. package/dist/routing/collision-spaces.d.ts.map +1 -0
  520. package/dist/routing/convention-lint.d.ts +55 -0
  521. package/dist/routing/convention-lint.d.ts.map +1 -0
  522. package/dist/routing/export-detect.d.ts +91 -0
  523. package/dist/routing/export-detect.d.ts.map +1 -0
  524. package/dist/routing/file-cache.d.ts +8 -0
  525. package/dist/routing/file-cache.d.ts.map +1 -0
  526. package/dist/routing/index.d.ts +13 -7
  527. package/dist/routing/index.d.ts.map +1 -1
  528. package/dist/routing/index.js +5 -2
  529. package/dist/routing/interception-overlap.d.ts +35 -0
  530. package/dist/routing/interception-overlap.d.ts.map +1 -0
  531. package/dist/routing/interception.d.ts +234 -10
  532. package/dist/routing/interception.d.ts.map +1 -1
  533. package/dist/routing/link-codegen.d.ts +105 -0
  534. package/dist/routing/link-codegen.d.ts.map +1 -0
  535. package/dist/routing/manifest-codegen.d.ts +26 -0
  536. package/dist/routing/manifest-codegen.d.ts.map +1 -0
  537. package/dist/routing/scanner.d.ts +14 -10
  538. package/dist/routing/scanner.d.ts.map +1 -1
  539. package/dist/routing/schema-validation.d.ts +35 -0
  540. package/dist/routing/schema-validation.d.ts.map +1 -0
  541. package/dist/routing/segment-classify.d.ts +114 -0
  542. package/dist/routing/segment-classify.d.ts.map +1 -0
  543. package/dist/routing/segment-codegen.d.ts +38 -0
  544. package/dist/routing/segment-codegen.d.ts.map +1 -0
  545. package/dist/routing/segment-keys.d.ts +118 -0
  546. package/dist/routing/segment-keys.d.ts.map +1 -0
  547. package/dist/routing/slot-placement.d.ts +48 -0
  548. package/dist/routing/slot-placement.d.ts.map +1 -0
  549. package/dist/routing/types.d.ts +81 -26
  550. package/dist/routing/types.d.ts.map +1 -1
  551. package/dist/routing/walkers.d.ts +57 -0
  552. package/dist/routing/walkers.d.ts.map +1 -0
  553. package/dist/rsc-runtime/rsc.d.ts +1 -1
  554. package/dist/rsc-runtime/rsc.d.ts.map +1 -1
  555. package/dist/rsc-runtime/ssr.d.ts +14 -0
  556. package/dist/rsc-runtime/ssr.d.ts.map +1 -1
  557. package/dist/rsc-runtime/transforms.d.ts +13 -0
  558. package/dist/rsc-runtime/transforms.d.ts.map +1 -0
  559. package/dist/schema-bridge.d.ts +145 -0
  560. package/dist/schema-bridge.d.ts.map +1 -0
  561. package/dist/search-params/define.d.ts +262 -0
  562. package/dist/search-params/define.d.ts.map +1 -0
  563. package/dist/search-params/index.d.ts +3 -7
  564. package/dist/search-params/index.d.ts.map +1 -1
  565. package/dist/search-params/index.js +179 -360
  566. package/dist/search-params/index.js.map +1 -1
  567. package/dist/search-params/parse-total.d.ts +81 -0
  568. package/dist/search-params/parse-total.d.ts.map +1 -0
  569. package/dist/search-params/serialize-equal.d.ts +9 -0
  570. package/dist/search-params/serialize-equal.d.ts.map +1 -0
  571. package/dist/search-params/wrappers.d.ts +76 -0
  572. package/dist/search-params/wrappers.d.ts.map +1 -0
  573. package/dist/server/access-gate.d.ts +98 -10
  574. package/dist/server/access-gate.d.ts.map +1 -1
  575. package/dist/server/action-client.d.ts +44 -9
  576. package/dist/server/action-client.d.ts.map +1 -1
  577. package/dist/server/action-encryption.d.ts +76 -0
  578. package/dist/server/action-encryption.d.ts.map +1 -0
  579. package/dist/server/action-handler.d.ts +40 -5
  580. package/dist/server/action-handler.d.ts.map +1 -1
  581. package/dist/server/actions.d.ts +78 -40
  582. package/dist/server/actions.d.ts.map +1 -1
  583. package/dist/server/als-registry.d.ts +166 -16
  584. package/dist/server/als-registry.d.ts.map +1 -1
  585. package/dist/server/body-limits.d.ts.map +1 -1
  586. package/dist/server/build-manifest.d.ts +25 -30
  587. package/dist/server/build-manifest.d.ts.map +1 -1
  588. package/dist/server/canonicalize.d.ts +10 -0
  589. package/dist/server/canonicalize.d.ts.map +1 -1
  590. package/dist/server/chain-url-parts.d.ts +82 -0
  591. package/dist/server/chain-url-parts.d.ts.map +1 -0
  592. package/dist/server/children-interception.d.ts +49 -0
  593. package/dist/server/children-interception.d.ts.map +1 -0
  594. package/dist/server/coalesce-tick.d.ts +40 -0
  595. package/dist/server/coalesce-tick.d.ts.map +1 -0
  596. package/dist/server/compress.d.ts.map +1 -1
  597. package/dist/server/cookie-context.d.ts +149 -0
  598. package/dist/server/cookie-context.d.ts.map +1 -0
  599. package/dist/server/cookie-parsing.d.ts +65 -0
  600. package/dist/server/cookie-parsing.d.ts.map +1 -0
  601. package/dist/server/csp-nonce.d.ts +36 -0
  602. package/dist/server/csp-nonce.d.ts.map +1 -0
  603. package/dist/server/csrf.d.ts +58 -15
  604. package/dist/server/csrf.d.ts.map +1 -1
  605. package/dist/server/debug.d.ts +0 -1
  606. package/dist/server/debug.d.ts.map +1 -1
  607. package/dist/server/default-logger.d.ts +23 -0
  608. package/dist/server/default-logger.d.ts.map +1 -0
  609. package/dist/server/default-status-page.d.ts +45 -0
  610. package/dist/server/default-status-page.d.ts.map +1 -0
  611. package/dist/server/deny-boundary.d.ts +257 -0
  612. package/dist/server/deny-boundary.d.ts.map +1 -0
  613. package/dist/server/deny-renderer.d.ts +21 -15
  614. package/dist/server/deny-renderer.d.ts.map +1 -1
  615. package/dist/server/early-hints-sender.d.ts.map +1 -1
  616. package/dist/server/early-hints.d.ts +14 -12
  617. package/dist/server/early-hints.d.ts.map +1 -1
  618. package/dist/server/error-boundary-wrapper.d.ts +102 -10
  619. package/dist/server/error-boundary-wrapper.d.ts.map +1 -1
  620. package/dist/server/error-response-headers.d.ts +3 -0
  621. package/dist/server/error-response-headers.d.ts.map +1 -0
  622. package/dist/server/fallback-error.d.ts +19 -7
  623. package/dist/server/fallback-error.d.ts.map +1 -1
  624. package/dist/server/flight-injection-state.d.ts +66 -0
  625. package/dist/server/flight-injection-state.d.ts.map +1 -0
  626. package/dist/server/flight-scripts.d.ts +45 -0
  627. package/dist/server/flight-scripts.d.ts.map +1 -0
  628. package/dist/server/form-data.d.ts +41 -0
  629. package/dist/server/form-data.d.ts.map +1 -1
  630. package/dist/server/form-flash.d.ts +2 -2
  631. package/dist/server/head-response.d.ts +35 -0
  632. package/dist/server/head-response.d.ts.map +1 -0
  633. package/dist/server/html-injector-core.d.ts +257 -0
  634. package/dist/server/html-injector-core.d.ts.map +1 -0
  635. package/dist/server/html-injectors.d.ts +84 -42
  636. package/dist/server/html-injectors.d.ts.map +1 -1
  637. package/dist/server/index.d.ts +17 -54
  638. package/dist/server/index.d.ts.map +1 -1
  639. package/dist/server/index.js +195 -2922
  640. package/dist/server/index.js.map +1 -1
  641. package/dist/server/instrumentation.d.ts +11 -4
  642. package/dist/server/instrumentation.d.ts.map +1 -1
  643. package/dist/server/internal.d.ts +47 -0
  644. package/dist/server/internal.d.ts.map +1 -0
  645. package/dist/server/internal.js +4645 -0
  646. package/dist/server/internal.js.map +1 -0
  647. package/dist/server/json-status-response.d.ts +34 -0
  648. package/dist/server/json-status-response.d.ts.map +1 -0
  649. package/dist/server/logger.d.ts +78 -7
  650. package/dist/server/logger.d.ts.map +1 -1
  651. package/dist/server/metadata-collector.d.ts +73 -0
  652. package/dist/server/metadata-collector.d.ts.map +1 -0
  653. package/dist/server/metadata-platform.d.ts +2 -2
  654. package/dist/server/metadata-render.d.ts +2 -2
  655. package/dist/server/metadata-render.d.ts.map +1 -1
  656. package/dist/server/metadata-routes.d.ts +71 -11
  657. package/dist/server/metadata-routes.d.ts.map +1 -1
  658. package/dist/server/metadata-social.d.ts +2 -2
  659. package/dist/server/metadata.d.ts +10 -2
  660. package/dist/server/metadata.d.ts.map +1 -1
  661. package/dist/server/middleware-runner.d.ts +20 -5
  662. package/dist/server/middleware-runner.d.ts.map +1 -1
  663. package/dist/server/node-stream-transforms.d.ts +105 -0
  664. package/dist/server/node-stream-transforms.d.ts.map +1 -0
  665. package/dist/server/nuqs-ssr-provider.d.ts +7 -3
  666. package/dist/server/nuqs-ssr-provider.d.ts.map +1 -1
  667. package/dist/server/param-coercion.d.ts +83 -0
  668. package/dist/server/param-coercion.d.ts.map +1 -0
  669. package/dist/server/pipeline-helpers.d.ts +193 -0
  670. package/dist/server/pipeline-helpers.d.ts.map +1 -0
  671. package/dist/server/pipeline-interception.d.ts +70 -9
  672. package/dist/server/pipeline-interception.d.ts.map +1 -1
  673. package/dist/server/pipeline-metadata.d.ts +7 -1
  674. package/dist/server/pipeline-metadata.d.ts.map +1 -1
  675. package/dist/server/pipeline-outcome.d.ts +59 -0
  676. package/dist/server/pipeline-outcome.d.ts.map +1 -0
  677. package/dist/server/pipeline-phases.d.ts +70 -0
  678. package/dist/server/pipeline-phases.d.ts.map +1 -0
  679. package/dist/server/pipeline.d.ts +147 -23
  680. package/dist/server/pipeline.d.ts.map +1 -1
  681. package/dist/server/port-resolution.d.ts +31 -0
  682. package/dist/server/port-resolution.d.ts.map +1 -0
  683. package/dist/server/prebuilt/cache-key.d.ts +63 -0
  684. package/dist/server/prebuilt/cache-key.d.ts.map +1 -0
  685. package/dist/server/prebuilt/capture-render.d.ts +25 -0
  686. package/dist/server/prebuilt/capture-render.d.ts.map +1 -0
  687. package/dist/server/prebuilt/capture-routes.d.ts +37 -0
  688. package/dist/server/prebuilt/capture-routes.d.ts.map +1 -0
  689. package/dist/server/prebuilt/capture-state.d.ts +101 -0
  690. package/dist/server/prebuilt/capture-state.d.ts.map +1 -0
  691. package/dist/server/prebuilt/key-discipline.d.ts +52 -0
  692. package/dist/server/prebuilt/key-discipline.d.ts.map +1 -0
  693. package/dist/server/prebuilt/lifetime.d.ts +38 -0
  694. package/dist/server/prebuilt/lifetime.d.ts.map +1 -0
  695. package/dist/server/prebuilt/manifest-tag-index.d.ts +27 -0
  696. package/dist/server/prebuilt/manifest-tag-index.d.ts.map +1 -0
  697. package/dist/server/prebuilt/overlay.d.ts +100 -0
  698. package/dist/server/prebuilt/overlay.d.ts.map +1 -0
  699. package/dist/server/prebuilt/payload-source.d.ts +79 -0
  700. package/dist/server/prebuilt/payload-source.d.ts.map +1 -0
  701. package/dist/server/prebuilt/slots.d.ts +106 -0
  702. package/dist/server/prebuilt/slots.d.ts.map +1 -0
  703. package/dist/server/prebuilt/synthetic-store.d.ts +67 -0
  704. package/dist/server/prebuilt/synthetic-store.d.ts.map +1 -0
  705. package/dist/server/prebuilt-builder.d.ts +121 -0
  706. package/dist/server/prebuilt-builder.d.ts.map +1 -0
  707. package/dist/server/prebuilt-runtime.d.ts +111 -0
  708. package/dist/server/prebuilt-runtime.d.ts.map +1 -0
  709. package/dist/server/primitives.d.ts +101 -90
  710. package/dist/server/primitives.d.ts.map +1 -1
  711. package/dist/server/publish-params.d.ts +33 -0
  712. package/dist/server/publish-params.d.ts.map +1 -0
  713. package/dist/server/react-cache-bridge.d.ts +59 -0
  714. package/dist/server/react-cache-bridge.d.ts.map +1 -0
  715. package/dist/server/react-cache-scope.d.ts +49 -0
  716. package/dist/server/react-cache-scope.d.ts.map +1 -0
  717. package/dist/server/render-timeout.d.ts +66 -0
  718. package/dist/server/render-timeout.d.ts.map +1 -0
  719. package/dist/server/render-utils.d.ts +35 -0
  720. package/dist/server/render-utils.d.ts.map +1 -0
  721. package/dist/server/request-context.d.ts +128 -103
  722. package/dist/server/request-context.d.ts.map +1 -1
  723. package/dist/server/request-dep.d.ts +15 -0
  724. package/dist/server/request-dep.d.ts.map +1 -0
  725. package/dist/server/response-cache-policy.d.ts +3 -0
  726. package/dist/server/response-cache-policy.d.ts.map +1 -0
  727. package/dist/server/route-element-builder.d.ts +57 -30
  728. package/dist/server/route-element-builder.d.ts.map +1 -1
  729. package/dist/server/route-element-helpers.d.ts +12 -0
  730. package/dist/server/route-element-helpers.d.ts.map +1 -0
  731. package/dist/server/route-handler.d.ts +1 -1
  732. package/dist/server/route-handler.d.ts.map +1 -1
  733. package/dist/server/route-matcher.d.ts +55 -38
  734. package/dist/server/route-matcher.d.ts.map +1 -1
  735. package/dist/server/route-module-loader.d.ts +37 -0
  736. package/dist/server/route-module-loader.d.ts.map +1 -0
  737. package/dist/server/rsc-cache-key-guard.d.ts +78 -0
  738. package/dist/server/rsc-cache-key-guard.d.ts.map +1 -0
  739. package/dist/server/rsc-entry/action-dispatcher.d.ts +67 -0
  740. package/dist/server/rsc-entry/action-dispatcher.d.ts.map +1 -0
  741. package/dist/server/rsc-entry/action-middleware-runner.d.ts +66 -0
  742. package/dist/server/rsc-entry/action-middleware-runner.d.ts.map +1 -0
  743. package/dist/server/rsc-entry/api-handler.d.ts +19 -3
  744. package/dist/server/rsc-entry/api-handler.d.ts.map +1 -1
  745. package/dist/server/rsc-entry/deny-fallback.d.ts +55 -0
  746. package/dist/server/rsc-entry/deny-fallback.d.ts.map +1 -0
  747. package/dist/server/rsc-entry/error-renderer.d.ts +35 -21
  748. package/dist/server/rsc-entry/error-renderer.d.ts.map +1 -1
  749. package/dist/server/rsc-entry/helpers.d.ts +14 -59
  750. package/dist/server/rsc-entry/helpers.d.ts.map +1 -1
  751. package/dist/server/rsc-entry/index.d.ts +30 -6
  752. package/dist/server/rsc-entry/index.d.ts.map +1 -1
  753. package/dist/server/rsc-entry/render-route.d.ts +50 -0
  754. package/dist/server/rsc-entry/render-route.d.ts.map +1 -0
  755. package/dist/server/rsc-entry/render-signals.d.ts +65 -0
  756. package/dist/server/rsc-entry/render-signals.d.ts.map +1 -0
  757. package/dist/server/rsc-entry/revalidate-renderer.d.ts +98 -0
  758. package/dist/server/rsc-entry/revalidate-renderer.d.ts.map +1 -0
  759. package/dist/server/rsc-entry/rsc-payload.d.ts +30 -6
  760. package/dist/server/rsc-entry/rsc-payload.d.ts.map +1 -1
  761. package/dist/server/rsc-entry/rsc-stream.d.ts +12 -30
  762. package/dist/server/rsc-entry/rsc-stream.d.ts.map +1 -1
  763. package/dist/server/rsc-entry/ssr-bridge.d.ts +6 -2
  764. package/dist/server/rsc-entry/ssr-bridge.d.ts.map +1 -1
  765. package/dist/server/rsc-entry/ssr-renderer.d.ts +44 -7
  766. package/dist/server/rsc-entry/ssr-renderer.d.ts.map +1 -1
  767. package/dist/server/rsc-error-envelope.d.ts +11 -0
  768. package/dist/server/rsc-error-envelope.d.ts.map +1 -0
  769. package/dist/server/safe-load.d.ts +39 -0
  770. package/dist/server/safe-load.d.ts.map +1 -0
  771. package/dist/server/sensitive-fields.d.ts +74 -0
  772. package/dist/server/sensitive-fields.d.ts.map +1 -0
  773. package/dist/server/signal-identity.d.ts +43 -0
  774. package/dist/server/signal-identity.d.ts.map +1 -0
  775. package/dist/server/sitemap-generator.d.ts +130 -0
  776. package/dist/server/sitemap-generator.d.ts.map +1 -0
  777. package/dist/server/sitemap-handler.d.ts +22 -0
  778. package/dist/server/sitemap-handler.d.ts.map +1 -0
  779. package/dist/server/skippable-prefix.d.ts +29 -0
  780. package/dist/server/skippable-prefix.d.ts.map +1 -0
  781. package/dist/server/slot-interception.d.ts +80 -0
  782. package/dist/server/slot-interception.d.ts.map +1 -0
  783. package/dist/server/slot-resolver.d.ts +138 -7
  784. package/dist/server/slot-resolver.d.ts.map +1 -1
  785. package/dist/server/slot-subtree-contain.d.ts +54 -0
  786. package/dist/server/slot-subtree-contain.d.ts.map +1 -0
  787. package/dist/server/ssr-bridge-types.d.ts +198 -0
  788. package/dist/server/ssr-bridge-types.d.ts.map +1 -0
  789. package/dist/server/ssr-entry.d.ts +8 -47
  790. package/dist/server/ssr-entry.d.ts.map +1 -1
  791. package/dist/server/ssr-render.d.ts +60 -27
  792. package/dist/server/ssr-render.d.ts.map +1 -1
  793. package/dist/server/ssr-wrappers.d.ts +93 -0
  794. package/dist/server/ssr-wrappers.d.ts.map +1 -0
  795. package/dist/server/state-tree-diff.d.ts +44 -9
  796. package/dist/server/state-tree-diff.d.ts.map +1 -1
  797. package/dist/server/static-generator.d.ts +112 -0
  798. package/dist/server/static-generator.d.ts.map +1 -0
  799. package/dist/server/static-not-found.d.ts +52 -0
  800. package/dist/server/static-not-found.d.ts.map +1 -0
  801. package/dist/server/status-code-resolver.d.ts +26 -15
  802. package/dist/server/status-code-resolver.d.ts.map +1 -1
  803. package/dist/server/stream-utils.d.ts +59 -0
  804. package/dist/server/stream-utils.d.ts.map +1 -0
  805. package/dist/server/tracing.d.ts +57 -26
  806. package/dist/server/tracing.d.ts.map +1 -1
  807. package/dist/server/tree-match.d.ts +59 -0
  808. package/dist/server/tree-match.d.ts.map +1 -0
  809. package/dist/server/types.d.ts +89 -8
  810. package/dist/server/types.d.ts.map +1 -1
  811. package/dist/server/utils/element-type.d.ts +50 -0
  812. package/dist/server/utils/element-type.d.ts.map +1 -0
  813. package/dist/server/utils/escape-html.d.ts +14 -0
  814. package/dist/server/utils/escape-html.d.ts.map +1 -0
  815. package/dist/server/version-skew.d.ts +61 -0
  816. package/dist/server/version-skew.d.ts.map +1 -0
  817. package/dist/server/workers-cache-bridge.d.ts +26 -0
  818. package/dist/server/workers-cache-bridge.d.ts.map +1 -0
  819. package/dist/shared/als-slots.d.ts +42 -0
  820. package/dist/shared/als-slots.d.ts.map +1 -0
  821. package/dist/shared/base-path.d.ts +56 -0
  822. package/dist/shared/base-path.d.ts.map +1 -0
  823. package/dist/shared/csrf-reject.d.ts +16 -0
  824. package/dist/shared/csrf-reject.d.ts.map +1 -0
  825. package/dist/shared/error-digest.d.ts +28 -0
  826. package/dist/shared/error-digest.d.ts.map +1 -0
  827. package/dist/shared/href-validation.d.ts +49 -0
  828. package/dist/shared/href-validation.d.ts.map +1 -0
  829. package/dist/shared/merge-search-params.d.ts +22 -0
  830. package/dist/shared/merge-search-params.d.ts.map +1 -0
  831. package/dist/shared/param-value.d.ts +104 -0
  832. package/dist/shared/param-value.d.ts.map +1 -0
  833. package/dist/shared/payload-root.d.ts +110 -0
  834. package/dist/shared/payload-root.d.ts.map +1 -0
  835. package/dist/shared/redirect-type.d.ts +17 -0
  836. package/dist/shared/redirect-type.d.ts.map +1 -0
  837. package/dist/shared/rsc-cache-key.d.ts +163 -0
  838. package/dist/shared/rsc-cache-key.d.ts.map +1 -0
  839. package/dist/shared/rsc-error-envelope.d.ts +16 -0
  840. package/dist/shared/rsc-error-envelope.d.ts.map +1 -0
  841. package/dist/shared/rsc-manifest.d.ts +28 -0
  842. package/dist/shared/rsc-manifest.d.ts.map +1 -0
  843. package/dist/shared/rsc-media-type.d.ts +52 -0
  844. package/dist/shared/rsc-media-type.d.ts.map +1 -0
  845. package/dist/shared/rsc-payload-path.d.ts +48 -0
  846. package/dist/shared/rsc-payload-path.d.ts.map +1 -0
  847. package/dist/shared/segment-info.d.ts +66 -0
  848. package/dist/shared/segment-info.d.ts.map +1 -0
  849. package/dist/shared/slot-params.d.ts +52 -0
  850. package/dist/shared/slot-params.d.ts.map +1 -0
  851. package/dist/shared/static-platform-files.d.ts +71 -0
  852. package/dist/shared/static-platform-files.d.ts.map +1 -0
  853. package/dist/shared/status-reason-phrase.d.ts +26 -0
  854. package/dist/shared/status-reason-phrase.d.ts.map +1 -0
  855. package/dist/shims/font-google.d.ts +1 -1
  856. package/dist/shims/font-google.d.ts.map +1 -1
  857. package/dist/shims/font-google.js +42 -0
  858. package/dist/shims/font-google.js.map +1 -0
  859. package/dist/shims/font-local.d.ts +26 -0
  860. package/dist/shims/font-local.d.ts.map +1 -0
  861. package/dist/shims/font-local.js +20 -0
  862. package/dist/shims/font-local.js.map +1 -0
  863. package/dist/shims/headers.d.ts +53 -1
  864. package/dist/shims/headers.d.ts.map +1 -1
  865. package/dist/shims/image.d.ts +120 -120
  866. package/dist/shims/image.d.ts.map +1 -1
  867. package/dist/shims/navigation-client.d.ts +25 -12
  868. package/dist/shims/navigation-client.d.ts.map +1 -1
  869. package/dist/shims/navigation-rsc.d.ts +21 -0
  870. package/dist/shims/navigation-rsc.d.ts.map +1 -0
  871. package/dist/shims/navigation.d.ts +10 -5
  872. package/dist/shims/navigation.d.ts.map +1 -1
  873. package/dist/utils/state-machine.d.ts +80 -0
  874. package/dist/utils/state-machine.d.ts.map +1 -0
  875. package/dist/utils/write-file-atomic.d.ts +17 -0
  876. package/dist/utils/write-file-atomic.d.ts.map +1 -0
  877. package/docs/api/30-api-server.mdx +239 -0
  878. package/docs/api/31-api-client.mdx +170 -0
  879. package/docs/api/32-api-cache.mdx +339 -0
  880. package/docs/api/33-api-search-params.mdx +176 -0
  881. package/docs/api/34-api-config.mdx +359 -0
  882. package/docs/api/35-api-typescript.mdx +91 -0
  883. package/docs/api/36-cli.mdx +202 -0
  884. package/docs/learn/00-introduction.mdx +109 -0
  885. package/docs/learn/01-quick-start.mdx +94 -0
  886. package/docs/learn/02-pages-and-layouts.mdx +147 -0
  887. package/docs/learn/03-fetching-data.mdx +227 -0
  888. package/docs/learn/04-access-control.mdx +115 -0
  889. package/docs/learn/05-the-flush-point.mdx +175 -0
  890. package/docs/learn/06-typed-params.mdx +275 -0
  891. package/docs/learn/07-typed-routes.mdx +108 -0
  892. package/docs/learn/08-forms-and-actions.mdx +146 -0
  893. package/docs/learn/09-streaming.mdx +140 -0
  894. package/docs/learn/10-caching.mdx +270 -0
  895. package/docs/learn/11-middleware.mdx +164 -0
  896. package/docs/learn/12-error-handling.mdx +192 -0
  897. package/docs/learn/13-deploying.mdx +287 -0
  898. package/llms.txt +55 -0
  899. package/package.json +120 -29
  900. package/src/adapters/build-output-helper.ts +353 -0
  901. package/src/adapters/canonicalize-module.ts +29 -0
  902. package/src/adapters/cloudflare-dev.ts +183 -0
  903. package/src/adapters/cloudflare-kv-cache.ts +207 -0
  904. package/src/adapters/cloudflare.ts +809 -150
  905. package/src/adapters/compress-module.ts +110 -86
  906. package/src/adapters/fs-identity.ts +155 -0
  907. package/src/adapters/nitro-presets.ts +124 -0
  908. package/src/adapters/nitro-preview.ts +476 -0
  909. package/src/adapters/nitro.ts +317 -457
  910. package/src/adapters/raw-imports.d.ts +5 -0
  911. package/src/adapters/shared.ts +283 -0
  912. package/src/adapters/types.ts +127 -17
  913. package/src/adapters/wrangler.d.ts +7 -0
  914. package/src/analyze/chains.ts +411 -0
  915. package/src/analyze/classify.ts +259 -0
  916. package/src/analyze/crawl-entry.ts +68 -0
  917. package/src/analyze/crawl.ts +500 -0
  918. package/src/analyze/graph-cache.ts +331 -0
  919. package/src/analyze/graph-command.ts +762 -0
  920. package/src/analyze/live-graph.ts +232 -0
  921. package/src/analyze/poison-rules.ts +165 -0
  922. package/src/analyze/poison-scan.ts +162 -0
  923. package/src/analyze/scan.ts +149 -0
  924. package/src/cache/cache-api.ts +107 -0
  925. package/src/cache/fast-hash.ts +5 -0
  926. package/src/cache/handler-store.ts +76 -0
  927. package/src/cache/index.ts +115 -22
  928. package/src/cache/invalidation-epoch.ts +93 -0
  929. package/src/cache/json-lossy-check.ts +69 -0
  930. package/src/cache/redis-handler.ts +198 -20
  931. package/src/cache/singleflight.ts +72 -6
  932. package/src/cache/sizeof.ts +35 -0
  933. package/src/cache/stable-stringify.ts +65 -2
  934. package/src/cache/store.ts +71 -0
  935. package/src/cache/stores/cloudflare-kv.ts +52 -0
  936. package/src/cache/stores/memory.ts +125 -0
  937. package/src/cache/stores/redis.ts +97 -0
  938. package/src/cache/stores/vercel.ts +59 -0
  939. package/src/cache/tag-aware-handler.ts +254 -0
  940. package/src/cache/timber-cache.ts +165 -40
  941. package/src/cdn/cloudflare-purge.ts +50 -0
  942. package/src/cdn/fastly-purge.ts +63 -0
  943. package/src/cdn/headers.ts +153 -0
  944. package/src/cdn/index.ts +23 -0
  945. package/src/cdn/purge-store.ts +34 -0
  946. package/src/cdn/workers-cache-purge.ts +34 -0
  947. package/src/cli-check.ts +417 -0
  948. package/src/cli-context.ts +119 -0
  949. package/src/cli-schema-sync.ts +401 -0
  950. package/src/cli.ts +330 -78
  951. package/src/client/browser-dev.ts +192 -5
  952. package/src/client/browser-entry/action-dispatch.ts +237 -0
  953. package/src/client/browser-entry/action-queue.ts +152 -0
  954. package/src/client/browser-entry/hmr.ts +70 -0
  955. package/src/client/browser-entry/hydrate.ts +143 -0
  956. package/src/client/browser-entry/index.ts +120 -0
  957. package/src/client/browser-entry/post-hydration.ts +99 -0
  958. package/src/client/browser-entry/router-init.ts +406 -0
  959. package/src/client/browser-entry/rsc-stream.ts +145 -0
  960. package/src/client/browser-entry/scroll.ts +50 -0
  961. package/src/client/deny-last-resort.tsx +54 -0
  962. package/src/client/error-boundary.tsx +279 -61
  963. package/src/client/error-reconstituter.tsx +84 -0
  964. package/src/client/form.tsx +36 -32
  965. package/src/client/global-context.ts +31 -0
  966. package/src/client/history.ts +74 -11
  967. package/src/client/index.ts +89 -53
  968. package/src/client/internal.ts +54 -0
  969. package/src/client/link.tsx +468 -151
  970. package/src/client/location-search.ts +15 -0
  971. package/src/client/navigation-api.ts +380 -0
  972. package/src/client/navigation-commit.ts +318 -0
  973. package/src/client/navigation-context.ts +67 -134
  974. package/src/client/navigation-root.tsx +236 -0
  975. package/src/client/navigation-transition.ts +337 -0
  976. package/src/client/nuqs-adapter.tsx +21 -9
  977. package/src/client/params-context.ts +187 -0
  978. package/src/client/react-root.ts +82 -0
  979. package/src/client/router-effects.ts +235 -0
  980. package/src/client/router-lifecycle.ts +354 -0
  981. package/src/client/router-pipeline.ts +458 -0
  982. package/src/client/router-ref.ts +3 -3
  983. package/src/client/router-skew.ts +30 -0
  984. package/src/client/router-types.ts +370 -0
  985. package/src/client/router-url.ts +32 -0
  986. package/src/client/router.ts +491 -424
  987. package/src/client/rsc-fetch.ts +510 -109
  988. package/src/client/segment-cache.ts +362 -41
  989. package/src/client/segment-context.ts +7 -4
  990. package/src/client/segment-outlet.tsx +96 -0
  991. package/src/client/segment-update-context.ts +23 -0
  992. package/src/client/shallow-url.ts +22 -0
  993. package/src/client/slot-content-cache-context.ts +43 -0
  994. package/src/client/slot-context.ts +50 -0
  995. package/src/client/slot-outlet.tsx +22 -0
  996. package/src/client/slot-provider.tsx +32 -0
  997. package/src/client/ssr-data.ts +27 -67
  998. package/src/client/stale-client.ts +191 -0
  999. package/src/client/state.ts +31 -24
  1000. package/src/client/status-page-marker.tsx +32 -0
  1001. package/src/client/top-loader.tsx +13 -10
  1002. package/src/client/unload-guard.ts +35 -3
  1003. package/src/client/use-cookie.ts +70 -18
  1004. package/src/client/use-link-status.ts +7 -7
  1005. package/src/client/use-pathname.ts +22 -31
  1006. package/src/client/use-pending-navigation.ts +40 -0
  1007. package/src/client/use-query-states.ts +206 -36
  1008. package/src/client/use-router.ts +31 -9
  1009. package/src/client/use-search-params.ts +38 -49
  1010. package/src/client/use-segment-params.ts +69 -0
  1011. package/src/client/use-selected-layout-segment.ts +2 -2
  1012. package/src/codec.ts +149 -0
  1013. package/src/config-types.ts +323 -0
  1014. package/src/config-validation.ts +464 -0
  1015. package/src/cookies/define-cookie.ts +222 -53
  1016. package/src/cookies/index.ts +13 -2
  1017. package/src/cookies/json-cookie.ts +105 -0
  1018. package/src/cookies/validation.ts +192 -0
  1019. package/src/dev-tools/404-page.ts +286 -0
  1020. package/src/dev-tools/browser-logs.ts +55 -0
  1021. package/src/dev-tools/dev-page-shell.ts +278 -0
  1022. package/src/dev-tools/error-page.ts +331 -0
  1023. package/src/dev-tools/holding-server.ts +185 -0
  1024. package/src/dev-tools/hydration-overlay.ts +158 -0
  1025. package/src/dev-tools/index.ts +79 -0
  1026. package/src/dev-tools/instrumentation.ts +261 -0
  1027. package/src/{server/dev-logger.ts → dev-tools/logger.ts} +33 -51
  1028. package/src/{plugins/dev-logs.ts → dev-tools/logs.ts} +122 -26
  1029. package/src/{plugins/dev-error-overlay.ts → dev-tools/overlay.ts} +25 -80
  1030. package/src/dev-tools/stack-classifier.ts +75 -0
  1031. package/src/dev-tools/terminal.ts +182 -0
  1032. package/src/fonts/ast-walk.ts +235 -0
  1033. package/src/fonts/ast.ts +479 -128
  1034. package/src/fonts/bundle.ts +138 -0
  1035. package/src/fonts/css.ts +1 -1
  1036. package/src/fonts/dev-middleware.ts +85 -0
  1037. package/src/fonts/fallbacks.ts +0 -23
  1038. package/src/fonts/google.ts +101 -19
  1039. package/src/fonts/local.ts +12 -11
  1040. package/src/fonts/paths.ts +58 -0
  1041. package/src/fonts/pipeline.ts +348 -0
  1042. package/src/fonts/transform.ts +311 -0
  1043. package/src/fonts/types.ts +52 -1
  1044. package/src/fonts/virtual-modules.ts +179 -0
  1045. package/src/index.ts +494 -380
  1046. package/src/params/codec-registry.ts +34 -0
  1047. package/src/params/define-schema.ts +115 -0
  1048. package/src/params/index.ts +17 -0
  1049. package/src/params/resolve-schema.ts +84 -0
  1050. package/src/plugin-context.ts +502 -0
  1051. package/src/plugins/build-manifest.ts +204 -36
  1052. package/src/plugins/build-report.ts +299 -87
  1053. package/src/plugins/cache.ts +243 -0
  1054. package/src/plugins/callsite-ast.ts +472 -0
  1055. package/src/plugins/callsite-jsx.ts +243 -0
  1056. package/src/plugins/chunks.ts +74 -5
  1057. package/src/plugins/client-chunks.ts +185 -0
  1058. package/src/plugins/cloudflare-wasm.ts +141 -0
  1059. package/src/plugins/content.ts +5 -1
  1060. package/src/plugins/dev-discovery.ts +218 -0
  1061. package/src/plugins/dev-server.ts +360 -97
  1062. package/src/plugins/entries.ts +142 -16
  1063. package/src/plugins/fonts.ts +260 -657
  1064. package/src/plugins/graph-endpoint.ts +532 -0
  1065. package/src/plugins/mdx.ts +108 -35
  1066. package/src/plugins/post-build.ts +327 -0
  1067. package/src/plugins/prebuilt-capture.ts +213 -0
  1068. package/src/plugins/prebuilt-options-analysis.ts +175 -0
  1069. package/src/plugins/prebuilt.ts +670 -0
  1070. package/src/plugins/prerender-sugar.ts +316 -0
  1071. package/src/plugins/react-resolve.ts +149 -0
  1072. package/src/plugins/request-dep/analysis.ts +447 -0
  1073. package/src/plugins/request-dep/index.ts +376 -0
  1074. package/src/plugins/request-dep/origin.ts +310 -0
  1075. package/src/plugins/routing.ts +273 -277
  1076. package/src/plugins/rsc-assets-manifest.ts +251 -0
  1077. package/src/plugins/server-bundle.ts +99 -14
  1078. package/src/plugins/shims.ts +260 -97
  1079. package/src/plugins/static-build.ts +681 -71
  1080. package/src/react-canary.d.ts +2 -0
  1081. package/src/routing/codegen-shared.ts +39 -0
  1082. package/src/routing/codegen-types.ts +62 -0
  1083. package/src/routing/codegen-write.ts +163 -0
  1084. package/src/routing/codegen.ts +349 -232
  1085. package/src/routing/collision-probe.ts +438 -0
  1086. package/src/routing/collision-spaces.ts +281 -0
  1087. package/src/routing/convention-lint.ts +651 -0
  1088. package/src/routing/export-detect.ts +536 -0
  1089. package/src/routing/file-cache.ts +23 -0
  1090. package/src/routing/index.ts +16 -7
  1091. package/src/routing/interception-overlap.ts +141 -0
  1092. package/src/routing/interception.ts +1044 -67
  1093. package/src/routing/link-codegen.ts +280 -0
  1094. package/src/routing/manifest-codegen.ts +232 -0
  1095. package/src/routing/scanner.ts +417 -223
  1096. package/src/routing/schema-validation.ts +155 -0
  1097. package/src/routing/segment-classify.ts +280 -0
  1098. package/src/routing/segment-codegen.ts +99 -0
  1099. package/src/routing/segment-keys.ts +186 -0
  1100. package/src/routing/slot-placement.ts +97 -0
  1101. package/src/routing/types.ts +82 -26
  1102. package/src/routing/walkers.ts +98 -0
  1103. package/src/rsc-runtime/rsc.ts +9 -0
  1104. package/src/rsc-runtime/ssr.ts +51 -0
  1105. package/src/rsc-runtime/transforms.ts +13 -0
  1106. package/src/rsc-runtime/vendor-types.d.ts +27 -0
  1107. package/src/schema-bridge.ts +382 -0
  1108. package/src/search-params/define.ts +677 -0
  1109. package/src/search-params/index.ts +14 -20
  1110. package/src/search-params/parse-total.ts +91 -0
  1111. package/src/search-params/serialize-equal.ts +14 -0
  1112. package/src/search-params/wrappers.ts +150 -0
  1113. package/src/server/access-gate.tsx +195 -56
  1114. package/src/server/action-client.ts +126 -33
  1115. package/src/server/action-encryption.ts +144 -0
  1116. package/src/server/action-handler.ts +457 -111
  1117. package/src/server/actions.ts +172 -85
  1118. package/src/server/als-registry.ts +224 -25
  1119. package/src/server/body-limits.ts +10 -2
  1120. package/src/server/build-manifest.ts +33 -57
  1121. package/src/server/canonicalize.ts +6 -3
  1122. package/src/server/chain-url-parts.ts +163 -0
  1123. package/src/server/children-interception.ts +116 -0
  1124. package/src/server/coalesce-tick.ts +75 -0
  1125. package/src/server/compress.ts +43 -8
  1126. package/src/server/cookie-context.ts +454 -0
  1127. package/src/server/cookie-parsing.ts +163 -0
  1128. package/src/server/csp-nonce.ts +58 -0
  1129. package/src/server/csrf.ts +228 -35
  1130. package/src/server/debug.ts +0 -1
  1131. package/src/server/default-logger.ts +100 -0
  1132. package/src/server/default-status-page.ts +88 -0
  1133. package/src/server/deny-boundary.ts +527 -0
  1134. package/src/server/deny-renderer.ts +201 -179
  1135. package/src/server/early-hints-sender.ts +4 -3
  1136. package/src/server/early-hints.ts +39 -29
  1137. package/src/server/error-boundary-wrapper.ts +160 -44
  1138. package/src/server/error-response-headers.ts +18 -0
  1139. package/src/server/fallback-error.ts +88 -104
  1140. package/src/server/flight-injection-state.ts +113 -0
  1141. package/src/server/flight-scripts.ts +67 -0
  1142. package/src/server/form-data.ts +124 -12
  1143. package/src/server/form-flash.ts +3 -3
  1144. package/src/server/head-response.ts +54 -0
  1145. package/src/server/html-injector-core.ts +512 -0
  1146. package/src/server/html-injectors.ts +270 -255
  1147. package/src/server/index.ts +36 -192
  1148. package/src/server/instrumentation.ts +11 -4
  1149. package/src/server/internal.ts +168 -0
  1150. package/src/server/json-status-response.ts +105 -0
  1151. package/src/server/logger.ts +126 -38
  1152. package/src/server/metadata-collector.ts +177 -0
  1153. package/src/server/metadata-platform.ts +2 -2
  1154. package/src/server/metadata-render.ts +30 -8
  1155. package/src/server/metadata-routes.ts +220 -24
  1156. package/src/server/metadata-social.ts +2 -2
  1157. package/src/server/metadata.ts +23 -2
  1158. package/src/server/middleware-runner.ts +32 -5
  1159. package/src/server/node-stream-transforms.ts +323 -0
  1160. package/src/server/nuqs-ssr-provider.tsx +8 -7
  1161. package/src/server/param-coercion.ts +201 -0
  1162. package/src/server/pipeline-helpers.ts +485 -0
  1163. package/src/server/pipeline-interception.ts +241 -32
  1164. package/src/server/pipeline-metadata.ts +15 -1
  1165. package/src/server/pipeline-outcome.ts +290 -0
  1166. package/src/server/pipeline-phases.ts +496 -0
  1167. package/src/server/pipeline.ts +385 -427
  1168. package/src/server/port-resolution.ts +53 -0
  1169. package/src/server/prebuilt/cache-key.ts +299 -0
  1170. package/src/server/prebuilt/capture-render.ts +118 -0
  1171. package/src/server/prebuilt/capture-routes.ts +104 -0
  1172. package/src/server/prebuilt/capture-state.ts +196 -0
  1173. package/src/server/prebuilt/key-discipline.ts +122 -0
  1174. package/src/server/prebuilt/lifetime.ts +151 -0
  1175. package/src/server/prebuilt/manifest-tag-index.ts +46 -0
  1176. package/src/server/prebuilt/overlay.ts +256 -0
  1177. package/src/server/prebuilt/payload-source.ts +202 -0
  1178. package/src/server/prebuilt/slots.ts +202 -0
  1179. package/src/server/prebuilt/synthetic-store.ts +125 -0
  1180. package/src/server/prebuilt-builder.ts +514 -0
  1181. package/src/server/prebuilt-runtime.ts +813 -0
  1182. package/src/server/primitives.ts +153 -171
  1183. package/src/server/publish-params.ts +42 -0
  1184. package/src/server/react-cache-bridge.ts +124 -0
  1185. package/src/server/react-cache-scope.ts +104 -0
  1186. package/src/server/render-timeout.ts +128 -0
  1187. package/src/server/render-utils.ts +45 -0
  1188. package/src/server/request-context.ts +269 -332
  1189. package/src/server/request-dep.ts +37 -0
  1190. package/src/server/response-cache-policy.ts +45 -0
  1191. package/src/server/route-element-builder.ts +514 -355
  1192. package/src/server/route-element-helpers.ts +37 -0
  1193. package/src/server/route-handler.ts +67 -27
  1194. package/src/server/route-matcher.ts +238 -267
  1195. package/src/server/route-module-loader.ts +161 -0
  1196. package/src/server/rsc-cache-key-guard.ts +122 -0
  1197. package/src/server/rsc-entry/action-dispatcher.ts +142 -0
  1198. package/src/server/rsc-entry/action-middleware-runner.ts +130 -0
  1199. package/src/server/rsc-entry/api-handler.ts +49 -81
  1200. package/src/server/rsc-entry/deny-fallback.ts +151 -0
  1201. package/src/server/rsc-entry/error-renderer.ts +301 -113
  1202. package/src/server/rsc-entry/helpers.ts +90 -115
  1203. package/src/server/rsc-entry/index.ts +370 -350
  1204. package/src/server/rsc-entry/render-route.ts +229 -0
  1205. package/src/server/rsc-entry/render-signals.ts +108 -0
  1206. package/src/server/rsc-entry/revalidate-renderer.ts +349 -0
  1207. package/src/server/rsc-entry/rsc-payload.ts +192 -72
  1208. package/src/server/rsc-entry/rsc-stream.ts +128 -131
  1209. package/src/server/rsc-entry/ssr-bridge.ts +19 -6
  1210. package/src/server/rsc-entry/ssr-renderer.ts +300 -137
  1211. package/src/server/rsc-error-envelope.ts +18 -0
  1212. package/src/server/rsc-prop-warnings.ts +1 -1
  1213. package/src/server/safe-load.ts +53 -0
  1214. package/src/server/sensitive-fields.ts +230 -0
  1215. package/src/server/server-only-guard-noop.js +3 -0
  1216. package/src/server/server-timing.ts +1 -1
  1217. package/src/server/signal-identity.ts +112 -0
  1218. package/src/server/sitemap-generator.ts +337 -0
  1219. package/src/server/sitemap-handler.ts +157 -0
  1220. package/src/server/skippable-prefix.ts +172 -0
  1221. package/src/server/slot-interception.ts +168 -0
  1222. package/src/server/slot-resolver.ts +707 -300
  1223. package/src/server/slot-subtree-contain.ts +273 -0
  1224. package/src/server/ssr-bridge-types.ts +201 -0
  1225. package/src/server/ssr-entry.ts +225 -104
  1226. package/src/server/ssr-render.ts +354 -91
  1227. package/src/server/ssr-wrappers.tsx +162 -0
  1228. package/src/server/state-tree-diff.ts +85 -30
  1229. package/src/server/static-generator.ts +680 -0
  1230. package/src/server/static-not-found.ts +134 -0
  1231. package/src/server/status-code-resolver.ts +107 -148
  1232. package/src/server/stream-utils.ts +343 -0
  1233. package/src/server/tracing.ts +163 -68
  1234. package/src/server/tree-match.ts +494 -0
  1235. package/src/server/types.ts +96 -11
  1236. package/src/server/utils/element-type.ts +88 -0
  1237. package/src/server/utils/escape-html.ts +20 -0
  1238. package/src/server/version-skew.ts +104 -0
  1239. package/src/server/waituntil-bridge.ts +1 -1
  1240. package/src/server/workers-cache-bridge.ts +33 -0
  1241. package/src/shared/als-slots.ts +74 -0
  1242. package/src/shared/base-path.ts +80 -0
  1243. package/src/shared/csrf-reject.ts +15 -0
  1244. package/src/shared/error-digest.ts +46 -0
  1245. package/src/shared/href-validation.ts +159 -0
  1246. package/src/shared/merge-search-params.ts +55 -0
  1247. package/src/shared/param-value.ts +281 -0
  1248. package/src/shared/payload-root.ts +153 -0
  1249. package/src/shared/redirect-type.ts +17 -0
  1250. package/src/shared/rsc-cache-key.ts +269 -0
  1251. package/src/shared/rsc-error-envelope.ts +16 -0
  1252. package/src/shared/rsc-manifest.ts +29 -0
  1253. package/src/shared/rsc-media-type.ts +59 -0
  1254. package/src/shared/rsc-payload-path.ts +52 -0
  1255. package/src/shared/segment-info.ts +67 -0
  1256. package/src/shared/slot-params.ts +109 -0
  1257. package/src/shared/static-platform-files.ts +75 -0
  1258. package/src/shared/status-reason-phrase.ts +61 -0
  1259. package/src/shims/font-google.ts +1 -1
  1260. package/src/shims/font-local.ts +34 -0
  1261. package/src/shims/headers.ts +122 -1
  1262. package/src/shims/navigation-client.ts +36 -32
  1263. package/src/shims/navigation-rsc.ts +47 -0
  1264. package/src/shims/navigation.ts +10 -7
  1265. package/src/utils/state-machine.ts +111 -0
  1266. package/src/utils/write-file-atomic.ts +32 -0
  1267. package/dist/_chunks/als-registry-B7DbZ2hS.js +0 -41
  1268. package/dist/_chunks/als-registry-B7DbZ2hS.js.map +0 -1
  1269. package/dist/_chunks/debug-B3Gypr3D.js +0 -108
  1270. package/dist/_chunks/debug-B3Gypr3D.js.map +0 -1
  1271. package/dist/_chunks/format-RyoGQL74.js +0 -164
  1272. package/dist/_chunks/format-RyoGQL74.js.map +0 -1
  1273. package/dist/_chunks/interception-BOoWmLUA.js +0 -676
  1274. package/dist/_chunks/interception-BOoWmLUA.js.map +0 -1
  1275. package/dist/_chunks/metadata-routes-Cjmvi3rQ.js.map +0 -1
  1276. package/dist/_chunks/request-context-BQUC8PHn.js +0 -330
  1277. package/dist/_chunks/request-context-BQUC8PHn.js.map +0 -1
  1278. package/dist/_chunks/ssr-data-MjmprTmO.js +0 -88
  1279. package/dist/_chunks/ssr-data-MjmprTmO.js.map +0 -1
  1280. package/dist/_chunks/tracing-CemImE6h.js +0 -187
  1281. package/dist/_chunks/tracing-CemImE6h.js.map +0 -1
  1282. package/dist/_chunks/use-cookie-DX-l1_5E.js +0 -91
  1283. package/dist/_chunks/use-cookie-DX-l1_5E.js.map +0 -1
  1284. package/dist/_chunks/use-query-states-D5KaffOK.js +0 -109
  1285. package/dist/_chunks/use-query-states-D5KaffOK.js.map +0 -1
  1286. package/dist/adapters/cloudflare.js.map +0 -1
  1287. package/dist/cache/index.js.map +0 -1
  1288. package/dist/cache/register-cached-function.d.ts +0 -17
  1289. package/dist/cache/register-cached-function.d.ts.map +0 -1
  1290. package/dist/client/browser-entry.d.ts +0 -21
  1291. package/dist/client/browser-entry.d.ts.map +0 -1
  1292. package/dist/client/error-boundary.js.map +0 -1
  1293. package/dist/client/head.d.ts +0 -16
  1294. package/dist/client/head.d.ts.map +0 -1
  1295. package/dist/client/link-status-provider.d.ts +0 -11
  1296. package/dist/client/link-status-provider.d.ts.map +0 -1
  1297. package/dist/client/segment-merger.d.ts +0 -119
  1298. package/dist/client/segment-merger.d.ts.map +0 -1
  1299. package/dist/client/stale-reload.d.ts +0 -44
  1300. package/dist/client/stale-reload.d.ts.map +0 -1
  1301. package/dist/client/transition-root.d.ts +0 -74
  1302. package/dist/client/transition-root.d.ts.map +0 -1
  1303. package/dist/client/types.d.ts +0 -14
  1304. package/dist/client/types.d.ts.map +0 -1
  1305. package/dist/client/use-navigation-pending.d.ts +0 -26
  1306. package/dist/client/use-navigation-pending.d.ts.map +0 -1
  1307. package/dist/client/use-params.d.ts +0 -92
  1308. package/dist/client/use-params.d.ts.map +0 -1
  1309. package/dist/content/index.d.ts +0 -11
  1310. package/dist/content/index.d.ts.map +0 -1
  1311. package/dist/content/index.js +0 -2
  1312. package/dist/plugins/adapter-build.d.ts +0 -18
  1313. package/dist/plugins/adapter-build.d.ts.map +0 -1
  1314. package/dist/plugins/cache-transform.d.ts +0 -36
  1315. package/dist/plugins/cache-transform.d.ts.map +0 -1
  1316. package/dist/plugins/dev-error-overlay.d.ts.map +0 -1
  1317. package/dist/plugins/dev-logs.d.ts.map +0 -1
  1318. package/dist/plugins/dynamic-transform.d.ts +0 -72
  1319. package/dist/plugins/dynamic-transform.d.ts.map +0 -1
  1320. package/dist/plugins/server-action-exports.d.ts +0 -26
  1321. package/dist/plugins/server-action-exports.d.ts.map +0 -1
  1322. package/dist/routing/status-file-lint.d.ts +0 -33
  1323. package/dist/routing/status-file-lint.d.ts.map +0 -1
  1324. package/dist/search-params/analyze.d.ts +0 -54
  1325. package/dist/search-params/analyze.d.ts.map +0 -1
  1326. package/dist/search-params/builtin-codecs.d.ts +0 -105
  1327. package/dist/search-params/builtin-codecs.d.ts.map +0 -1
  1328. package/dist/search-params/codecs.d.ts +0 -53
  1329. package/dist/search-params/codecs.d.ts.map +0 -1
  1330. package/dist/search-params/create.d.ts +0 -106
  1331. package/dist/search-params/create.d.ts.map +0 -1
  1332. package/dist/search-params/registry.d.ts +0 -20
  1333. package/dist/search-params/registry.d.ts.map +0 -1
  1334. package/dist/server/asset-headers.d.ts +0 -42
  1335. package/dist/server/asset-headers.d.ts.map +0 -1
  1336. package/dist/server/client-module-map.d.ts +0 -47
  1337. package/dist/server/client-module-map.d.ts.map +0 -1
  1338. package/dist/server/dev-fetch-instrumentation.d.ts +0 -22
  1339. package/dist/server/dev-fetch-instrumentation.d.ts.map +0 -1
  1340. package/dist/server/dev-logger.d.ts.map +0 -1
  1341. package/dist/server/dev-span-processor.d.ts +0 -29
  1342. package/dist/server/dev-span-processor.d.ts.map +0 -1
  1343. package/dist/server/dev-warnings.d.ts +0 -129
  1344. package/dist/server/dev-warnings.d.ts.map +0 -1
  1345. package/dist/server/flush.d.ts +0 -74
  1346. package/dist/server/flush.d.ts.map +0 -1
  1347. package/dist/server/manifest-status-resolver.d.ts +0 -58
  1348. package/dist/server/manifest-status-resolver.d.ts.map +0 -1
  1349. package/dist/server/prerender.d.ts +0 -77
  1350. package/dist/server/prerender.d.ts.map +0 -1
  1351. package/dist/server/tree-builder.d.ts +0 -126
  1352. package/dist/server/tree-builder.d.ts.map +0 -1
  1353. package/dist/utils/directive-parser.d.ts +0 -70
  1354. package/dist/utils/directive-parser.d.ts.map +0 -1
  1355. package/src/cache/register-cached-function.ts +0 -103
  1356. package/src/client/browser-entry.ts +0 -678
  1357. package/src/client/head.ts +0 -61
  1358. package/src/client/link-status-provider.tsx +0 -30
  1359. package/src/client/segment-merger.ts +0 -339
  1360. package/src/client/stale-reload.ts +0 -87
  1361. package/src/client/transition-root.tsx +0 -166
  1362. package/src/client/types.ts +0 -21
  1363. package/src/client/use-navigation-pending.ts +0 -38
  1364. package/src/client/use-params.ts +0 -141
  1365. package/src/content/index.ts +0 -13
  1366. package/src/plugins/adapter-build.ts +0 -118
  1367. package/src/plugins/cache-transform.ts +0 -199
  1368. package/src/plugins/dynamic-transform.ts +0 -161
  1369. package/src/plugins/server-action-exports.ts +0 -220
  1370. package/src/routing/status-file-lint.ts +0 -112
  1371. package/src/search-params/analyze.ts +0 -192
  1372. package/src/search-params/builtin-codecs.ts +0 -228
  1373. package/src/search-params/codecs.ts +0 -153
  1374. package/src/search-params/create.ts +0 -321
  1375. package/src/search-params/registry.ts +0 -31
  1376. package/src/server/asset-headers.ts +0 -81
  1377. package/src/server/client-module-map.ts +0 -58
  1378. package/src/server/dev-fetch-instrumentation.ts +0 -96
  1379. package/src/server/dev-span-processor.ts +0 -78
  1380. package/src/server/dev-warnings.ts +0 -283
  1381. package/src/server/flush.ts +0 -182
  1382. package/src/server/manifest-status-resolver.ts +0 -215
  1383. package/src/server/prerender.ts +0 -139
  1384. package/src/server/tree-builder.ts +0 -382
  1385. package/src/shims/server-only-noop.js +0 -6
  1386. package/src/utils/directive-parser.ts +0 -529
@@ -1,12 +1,19 @@
1
1
  /**
2
2
  * Shim: next/navigation (client environment only)
3
3
  *
4
- * Re-exports only the client-side hooks from timber's client API.
5
- * Server-only functions (redirect, notFound, etc.) are excluded to prevent
6
- * server/primitives.ts from being pulled into the browser bundle.
4
+ * Re-exports the client-side hooks from timber's client API, and implements
5
+ * client-render `redirect()` without pulling server/primitives.ts into the
6
+ * browser bundle.
7
+ *
8
+ * Next.js supports calling redirect() during client component render.
9
+ * timber matches that by throwing a plain Error carrying the same JSON
10
+ * digest the server pipeline attaches to RedirectSignal. TimberErrorBoundary
11
+ * recognizes the digest and converts it to an SPA navigation (replace
12
+ * semantics), and browser-dev's isFrameworkSignalError() keeps it out of
13
+ * the dev overlay.
7
14
  *
8
15
  * The full shim (navigation.ts) is still used in the RSC and SSR environments
9
- * where both client hooks and server functions are needed.
16
+ * where the real server primitives produce proper HTTP responses.
10
17
  *
11
18
  * Imports use @timber-js/app/client (not #/ subpath imports) so they resolve
12
19
  * to the same module instances as user code in Vite dev — preventing module
@@ -15,12 +22,18 @@
15
22
  *
16
23
  * See design/14-ecosystem.md §"next/navigation" for the full shim audit.
17
24
  */
18
- export { useParams, usePathname, useSearchParams, useRouter, useSelectedLayoutSegment, useSelectedLayoutSegments, } from '@timber-js/app/client';
19
- export declare const RedirectType: {
20
- readonly push: "push";
21
- readonly replace: "replace";
22
- };
23
- export declare function redirect(): never;
24
- export declare function permanentRedirect(): never;
25
- export declare function notFound(): never;
25
+ import type { RedirectTypeValue } from '../shared/redirect-type.ts';
26
+ export { useSegmentParams, useSegmentParams as useParams } from '../client/use-segment-params.ts';
27
+ export { useSearchParams } from '../client/use-search-params.ts';
28
+ export { usePathname, useRouter, useSelectedLayoutSegment, useSelectedLayoutSegments, } from '@timber-js/app/client';
29
+ export { RedirectType } from '../shared/redirect-type.ts';
30
+ /**
31
+ * Client-render redirect. Throws a redirect-digest error that the nearest
32
+ * TimberErrorBoundary converts into an SPA navigation (replace semantics).
33
+ *
34
+ * The optional RedirectType argument is accepted for Next.js API
35
+ * compatibility but ignored — timber always uses replace semantics,
36
+ * matching the server-side redirect().
37
+ */
38
+ export declare function redirect(path: string, _type?: RedirectTypeValue): never;
26
39
  //# sourceMappingURL=navigation-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-client.d.ts","sourceRoot":"","sources":["../../src/shims/navigation-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EACL,SAAS,EACT,WAAW,EACX,eAAe,EACf,SAAS,EACT,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAI/B,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAKX,wBAAgB,QAAQ,IAAI,KAAK,CAKhC;AAED,wBAAgB,iBAAiB,IAAI,KAAK,CAKzC;AAED,wBAAgB,QAAQ,IAAI,KAAK,CAIhC"}
1
+ {"version":3,"file":"navigation-client.d.ts","sourceRoot":"","sources":["../../src/shims/navigation-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAIpE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,IAAI,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAClG,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EACL,WAAW,EACX,SAAS,EACT,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAS1D;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAGvE"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Shim: next/navigation → RSC environment only
3
+ *
4
+ * RSC's stripped-down React provides neither `useContext` nor `createContext`,
5
+ * so the real hook modules cannot be evaluated there. This shim exports
6
+ * throwing stubs for every client hook, with the same error messages the
7
+ * guards previously produced inline, and re-exports the server functions
8
+ * from @timber-js/app/server unchanged.
9
+ *
10
+ * The shims plugin resolves `next/navigation` to this file in the RSC
11
+ * environment, `navigation.ts` in SSR, and `navigation-client.ts` in the
12
+ * browser. This split eliminates the `typeof React.useContext !== 'function'`
13
+ * guards that React Compiler flagged as conditional hook calls (TIM-1420).
14
+ */
15
+ export declare function usePathname(): string;
16
+ export declare function useSearchParams(): URLSearchParams;
17
+ export declare function useSegmentParams(): Record<string, unknown>;
18
+ export { useSegmentParams as useParams };
19
+ export { useRouter, useSelectedLayoutSegment, useSelectedLayoutSegments, } from '@timber-js/app/client';
20
+ export { redirect, redirectExternal, RedirectType } from '@timber-js/app/server';
21
+ //# sourceMappingURL=navigation-rsc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-rsc.d.ts","sourceRoot":"","sources":["../../src/shims/navigation-rsc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AASH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED,wBAAgB,eAAe,IAAI,eAAe,CAEjD;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAM1D;AAED,OAAO,EAAE,gBAAgB,IAAI,SAAS,EAAE,CAAC;AAEzC,OAAO,EACL,SAAS,EACT,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,10 +1,15 @@
1
1
  /**
2
2
  * Shim: next/navigation → timber navigation primitives
3
3
  *
4
- * Client hooks import from @timber-js/app/client (the public barrel) so they
5
- * resolve to the same module instances as user code in Vite dev. Server
6
- * functions import from @timber-js/app/server for ALS singleton consistency.
4
+ * Client hooks import from their direct modules since useSegmentParams,
5
+ * useSearchParams, and useQueryStates are no longer part of
6
+ * @timber-js/app/client public exports (they live on define* factories).
7
+ * The shim re-exports them for next/navigation library compat (nuqs etc).
8
+ *
9
+ * Server functions import from @timber-js/app/server for ALS singleton consistency.
7
10
  */
8
- export { useParams, usePathname, useSearchParams, useRouter, useSelectedLayoutSegment, useSelectedLayoutSegments, } from '@timber-js/app/client';
9
- export { redirect, permanentRedirect, notFound, RedirectType } from '@timber-js/app/server';
11
+ export { useSegmentParams, useSegmentParams as useParams } from '../client/use-segment-params.ts';
12
+ export { useSearchParams } from '../client/use-search-params.ts';
13
+ export { usePathname, useRouter, useSelectedLayoutSegment, useSelectedLayoutSegments, } from '@timber-js/app/client';
14
+ export { redirect, redirectExternal, RedirectType } from '@timber-js/app/server';
10
15
  //# sourceMappingURL=navigation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/shims/navigation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,SAAS,EACT,WAAW,EACX,eAAe,EACf,SAAS,EACT,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/shims/navigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,IAAI,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAClG,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EACL,WAAW,EACX,SAAS,EACT,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Tiny typed state machine utility.
3
+ *
4
+ * Enforces discriminated-union states, typed transitions with runtime
5
+ * guards, subscribe for external store integration, and assertPhase
6
+ * for function entry guards.
7
+ *
8
+ * Designed for 3–5 state consumers (stream transforms, client navigation,
9
+ * build phase sequencing). No async, no hierarchy, no history.
10
+ *
11
+ * Performance: send() is one object lookup + one function call.
12
+ * Equivalent cost to a boolean check after V8 inlining.
13
+ */
14
+ /** A state machine instance with typed state and events. */
15
+ export interface Machine<TState extends {
16
+ phase: string;
17
+ }, TEvent extends {
18
+ type: string;
19
+ }> {
20
+ /** Current state (discriminated union — narrowed by phase). */
21
+ readonly state: TState;
22
+ /** Transition with runtime guard. Throws on invalid source+event pair. */
23
+ send(event: TEvent): void;
24
+ /** Subscribe to state changes. Returns unsubscribe function. */
25
+ subscribe(listener: (state: TState) => void): () => void;
26
+ /** Throw if not in the expected phase. Entry guard for functions. */
27
+ assertPhase<P extends TState['phase']>(phase: P): void;
28
+ }
29
+ /**
30
+ * Transition map: `transitions[phase][eventType]` returns the next state.
31
+ *
32
+ * Each handler receives the current state (narrowed by phase context)
33
+ * and the event, returning the new state.
34
+ */
35
+ export type TransitionMap<TState extends {
36
+ phase: string;
37
+ }, TEvent extends {
38
+ type: string;
39
+ }> = {
40
+ [P in TState['phase']]?: {
41
+ [E in TEvent['type']]?: (state: Extract<TState, {
42
+ phase: P;
43
+ }>, event: Extract<TEvent, {
44
+ type: E;
45
+ }>) => TState;
46
+ };
47
+ };
48
+ export interface MachineConfig<TState extends {
49
+ phase: string;
50
+ }, TEvent extends {
51
+ type: string;
52
+ }> {
53
+ initial: TState;
54
+ transitions: TransitionMap<TState, TEvent>;
55
+ /** Fires after every valid transition. Use for side effects. */
56
+ onTransition?: (prev: TState, next: TState, event: TEvent) => void;
57
+ }
58
+ /**
59
+ * Create a state machine from a config.
60
+ *
61
+ * @example
62
+ * ```ts
63
+ * type State = { phase: 'idle' } | { phase: 'running'; pid: number };
64
+ * type Event = { type: 'START'; pid: number } | { type: 'STOP' };
65
+ *
66
+ * const m = createMachine<State, Event>({
67
+ * initial: { phase: 'idle' },
68
+ * transitions: {
69
+ * idle: { START: (_s, e) => ({ phase: 'running', pid: e.pid }) },
70
+ * running: { STOP: () => ({ phase: 'idle' }) },
71
+ * },
72
+ * });
73
+ * ```
74
+ */
75
+ export declare function createMachine<TState extends {
76
+ phase: string;
77
+ }, TEvent extends {
78
+ type: string;
79
+ }>(config: MachineConfig<TState, TEvent>): Machine<TState, TEvent>;
80
+ //# sourceMappingURL=state-machine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state-machine.d.ts","sourceRoot":"","sources":["../../src/utils/state-machine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,4DAA4D;AAC5D,MAAM,WAAW,OAAO,CAAC,MAAM,SAAS;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;IACxF,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,0EAA0E;IAC1E,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,gEAAgE;IAChE,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAEzD,qEAAqE;IACrE,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;CACxD;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,IAAI;KAC5F,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;SACtB,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACtB,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE;YAAE,KAAK,EAAE,CAAC,CAAA;SAAE,CAAC,EACpC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE;YAAE,IAAI,EAAE,CAAC,CAAA;SAAE,CAAC,KAChC,MAAM;KACZ;CACF,CAAC;AAEF,MAAM,WAAW,aAAa,CAAC,MAAM,SAAS;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;IAC9F,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,gEAAgE;IAChE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,MAAM,SAAS;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAC7F,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAwCzB"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Replace a file's contents in one step: write a uniquely named temp sibling,
3
+ * then `rename()` it over the target.
4
+ *
5
+ * `writeFile()` opens its target with `O_TRUNC`, so for the length of the write
6
+ * a concurrent reader sees an empty or half-written file under the real name.
7
+ * `rename()` within one directory swaps the name atomically, so a reader sees
8
+ * either the old file or the new one — never a torn one — and a crashed
9
+ * writer leaves no partial artifact under the final name.
10
+ *
11
+ * The temp name is unique per call, not a fixed `${path}.tmp`: two writers of
12
+ * the same path (a dev server and a `vite build` rewriting the same route
13
+ * types, parallel CLI invocations sharing a cache) would otherwise write into
14
+ * one temp file and rename each other's half-written bytes into place.
15
+ */
16
+ export declare function writeFileAtomic(path: string, data: Uint8Array | string): Promise<void>;
17
+ //# sourceMappingURL=write-file-atomic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"write-file-atomic.d.ts","sourceRoot":"","sources":["../../src/utils/write-file-atomic.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY5F"}
@@ -0,0 +1,239 @@
1
+ ---
2
+ title: 'API: @timber-js/app/server'
3
+ description: 'Server-side exports — deny, redirect, getHeaders, getCookieJar, createActionClient, and context types.'
4
+ slug: 'api-server'
5
+ ---
6
+
7
+ # @timber-js/app/server
8
+
9
+ Server-side utilities and types. Import from `@timber-js/app/server`.
10
+
11
+ ## Navigation & Status
12
+
13
+ ### `deny(status?, options?)`
14
+
15
+ Universal denial/error primitive. Produces an HTTP error status and renders the matching status file. Accepts any 4xx or 5xx status code. Default status is 403.
16
+
17
+ ```ts
18
+ import { deny } from '@timber-js/app/server';
19
+
20
+ deny(); // 403 (default)
21
+ deny(404); // 404 Not Found
22
+ deny(503, { message: 'Maintenance' }); // server-only log message
23
+ deny(404, { dangerouslyPassData: { resourceId: params.id } }); // data forwarded as `data` prop
24
+ ```
25
+
26
+ ### `redirect(url, type?)`
27
+
28
+ Redirect to a URL. Sends HTTP 307 (temporary) by default.
29
+
30
+ ```ts
31
+ import { redirect } from '@timber-js/app/server';
32
+
33
+ redirect('/login'); // 302 Temporary Redirect
34
+ redirect('/new-page', { permanent: true }); // 308 Permanent Redirect
35
+ redirect('/new-page', { status: 301 }); // 301 (explicit status)
36
+ redirect('/new-page', 301); // 301 (shorthand)
37
+ ```
38
+
39
+ The `permanent` option defaults to status **308** (preserves HTTP method). If you need 301 specifically, pass `status: 301`. When both `permanent` and `status` are provided, `status` wins.
40
+
41
+ ### `redirectExternal(url, allowList, status?)`
42
+
43
+ Redirect to an external URL. The target origin must be in the provided allow-list. Only `http:` and `https:` schemes are permitted — this prevents open redirect vulnerabilities and blocks `javascript:` scheme injection.
44
+
45
+ ```ts
46
+ import { redirectExternal } from '@timber-js/app/server';
47
+
48
+ // Redirect to an allowed external domain
49
+ redirectExternal('https://auth.example.com/login', ['https://auth.example.com']);
50
+
51
+ // With a custom status code
52
+ redirectExternal('https://docs.example.com', ['https://docs.example.com'], 301);
53
+ ```
54
+
55
+ | Parameter | Type | Default | Description |
56
+ | ----------- | ---------- | ------- | ------------------------------------------------ |
57
+ | `url` | `string` | — | Absolute URL to redirect to |
58
+ | `allowList` | `string[]` | — | Allowed origins (e.g. `['https://example.com']`) |
59
+ | `status` | `number` | `302` | HTTP redirect status code (3xx) |
60
+
61
+ Throws if the origin is not in the allow-list, the scheme isn't `http:` or `https:`, or the URL is invalid.
62
+
63
+ ## Request Context
64
+
65
+ ### `getHeaders()`
66
+
67
+ Returns the incoming request headers. ALS-backed — works in server components, middleware, access checks.
68
+
69
+ ```ts
70
+ import { getHeaders } from '@timber-js/app/server';
71
+
72
+ const h = getHeaders();
73
+ const auth = h.get('authorization');
74
+ ```
75
+
76
+ Returns `ReadonlyHeaders` — a read-only `Headers` interface (sync).
77
+
78
+ ### `getCookieJar()`
79
+
80
+ Returns the request cookies with mutation methods.
81
+
82
+ ```ts
83
+ import { getCookieJar } from '@timber-js/app/server';
84
+
85
+ const c = getCookieJar();
86
+ c.get('session'); // Read
87
+ c.set('theme', 'dark'); // Set (before flush only)
88
+ c.delete('session'); // Delete
89
+ c.clear(); // Clear all
90
+ ```
91
+
92
+ Mutations are only allowed before the response flushes. Attempting to set a cookie after flush throws in dev mode.
93
+
94
+ For typed cookies with validation and a client React hook, see [`defineCookie()`](/docs/typed-params) from `@timber-js/app/cookies`.
95
+
96
+ Cookies queued before a middleware error are included once on the HTTP 500 response. They also survive when `proxy.ts` awaits `next()` and then throws. This applies to both document requests and client navigations; a later error does not roll back queued cookie writes.
97
+
98
+ ## Actions
99
+
100
+ ### `createActionClient(options)`
101
+
102
+ Create a reusable action client with middleware for auth and validation.
103
+
104
+ ```ts
105
+ import { createActionClient, ActionError } from '@timber-js/app/server';
106
+ import { getUser } from '@/lib/auth';
107
+
108
+ const action = createActionClient({
109
+ middleware: async () => {
110
+ const user = await getUser();
111
+ if (!user) throw new ActionError('UNAUTHORIZED');
112
+ return { user };
113
+ },
114
+ });
115
+
116
+ // Usage:
117
+ const myAction = action.schema(z.object({ title: z.string() })).action(async ({ input, ctx }) => {
118
+ // ctx.user is typed from middleware return
119
+ });
120
+ ```
121
+
122
+ ### `ActionError`
123
+
124
+ Throw from action middleware or bodies to produce a typed error result.
125
+
126
+ ```ts
127
+ throw new ActionError('UNAUTHORIZED');
128
+ throw new ActionError('VALIDATION_FAILED', { field: 'email' });
129
+ ```
130
+
131
+ ### `revalidatePath(path)`
132
+
133
+ Re-render a path and return the RSC payload as part of the action response. Naming a page other than the one the action ran on makes the browser drop its cached pages, so the next navigation fetches fresh data. Server actions only: called anywhere else, it throws, because there is no action response to attach the render to. From a `route.ts` handler or a job, use `revalidateTag()` or `cache.invalidate()`.
134
+
135
+ ### `revalidateTag(tag)`
136
+
137
+ Invalidate all cache entries with the given tag, and the pre-rendered components that carry it. Returns `Promise<void>`. Callable from any server code:
138
+
139
+ - **In a server action**, the invalidation runs after the action body returns, before any `revalidatePath()` render, so that render sees fresh data. The promise resolves immediately.
140
+ - **Anywhere else** (a `route.ts` webhook, a job), it invalidates immediately. `await` it before you respond.
141
+
142
+ ## Segment Params
143
+
144
+ ### `getSegmentParams(segmentPath?)`
145
+
146
+ Returns route path params for the current request. Pass a `SEGMENT_PATH` string from `$segment` for exact types, or omit for `Partial<AllSegmentParams>`. ALS-backed — works in server components, middleware, access checks, and server actions.
147
+
148
+ ```ts
149
+ import { SEGMENT_PATH } from './$segment';
150
+ import { getSegmentParams } from '@timber-js/app/server';
151
+
152
+ const { id } = getSegmentParams(SEGMENT_PATH); // Exact types from schema
153
+ const params = getSegmentParams(); // Partial<AllSegmentParams>
154
+ ```
155
+
156
+ For typed coercion, define codecs in `app/schema.ts` with `defineSchema()`. See [Typed Params](/docs/typed-params).
157
+
158
+ ## Types
159
+
160
+ ### `RouteContext`
161
+
162
+ ```ts
163
+ interface RouteContext {
164
+ req: Request;
165
+ headers: Headers; // Response headers (writable)
166
+ }
167
+ ```
168
+
169
+ Segment params and query params are **not** on `RouteContext`. Read them the same way pages do — `getSegmentParams(SEGMENT_PATH)` (importing `SEGMENT_PATH` from the route's `./$segment` module) and `searchParams.get()` on an imported definition. For the raw query string, use `new URL(ctx.req.url).searchParams`.
170
+
171
+ ### `MiddlewareContext`
172
+
173
+ ```ts
174
+ interface MiddlewareContext {
175
+ req: Request;
176
+ segmentParams: Record<string, string | string[]>;
177
+ headers: Headers; // Response headers (writable)
178
+ requestHeaders: Headers; // Request headers (injectable)
179
+ readonly nonce: string; // Per-request CSP nonce, generated on first read
180
+ }
181
+ ```
182
+
183
+ ### `AccessContext`
184
+
185
+ Empty interface — `access.ts` takes no arguments. Use ALS-backed imports like `getSegmentParams(SEGMENT_PATH)`.
186
+
187
+ ### `Metadata`
188
+
189
+ The full metadata type — see [Metadata & SEO](/docs/metadata-and-fonts) for usage.
190
+
191
+ ### `MetadataRoute`
192
+
193
+ Type for metadata route files (sitemap, robots, etc.).
194
+
195
+ ## Tracing
196
+
197
+ ### `getTraceId()`
198
+
199
+ Returns the current request's 32-char hex trace ID. Works in middleware, access checks, server components, and server actions.
200
+
201
+ ```ts
202
+ import { getTraceId } from '@timber-js/app/server';
203
+
204
+ const id = getTraceId();
205
+ ```
206
+
207
+ ### `getSpanId()`
208
+
209
+ Returns the current OTEL span ID, or `undefined` if OTEL is not active.
210
+
211
+ ### `withSpan(name, attributes, fn)`
212
+
213
+ Run a function within an OTEL span. No-op passthrough if OTEL is not available.
214
+
215
+ ```ts
216
+ import { withSpan } from '@timber-js/app/server';
217
+
218
+ declare const db: { query(...args: unknown[]): Promise<unknown> };
219
+
220
+ const result = await withSpan('db.query', { table: 'users' }, () => db.query());
221
+ ```
222
+
223
+ ### `addSpanEvent(name, attributes?)`
224
+
225
+ Add an event to the current active span.
226
+
227
+ See [Instrumentation & Tracing](/docs/instrumentation) for full documentation.
228
+
229
+ ## Lifecycle
230
+
231
+ ### `waitUntil(promise)`
232
+
233
+ Register a promise to be kept alive after the response is sent. Platform-dependent — works on Cloudflare Workers and other platforms that support it.
234
+
235
+ ```ts
236
+ import { waitUntil } from '@timber-js/app/server';
237
+
238
+ waitUntil(analytics.track(event));
239
+ ```
@@ -0,0 +1,170 @@
1
+ ---
2
+ title: 'API: @timber-js/app/client'
3
+ description: 'Client-side exports — Link, useRouter, usePathname, navigation hooks, and form utilities.'
4
+ slug: 'api-client'
5
+ ---
6
+
7
+ # @timber-js/app/client
8
+
9
+ Client-side components and hooks. Import from `@timber-js/app/client`.
10
+
11
+ ## Components
12
+
13
+ ### `<Link>`
14
+
15
+ Client-side navigation link. Type-checks `href` against the generated route map.
16
+
17
+ ```tsx
18
+ import { Link } from '@timber-js/app/client';
19
+
20
+ <Link href="/about">About</Link>
21
+ <Link href="/products/123" replace>Product</Link>
22
+ <Link href="/gallery" onNavigate={(e) => { /* intercept */ }}>Gallery</Link>
23
+ ```
24
+
25
+ #### Props
26
+
27
+ | Prop | Type | Description |
28
+ | ----------------- | ------------------- | ------------------------------------------------------------------------------------------------------------ |
29
+ | `href` | `string` | Target URL (type-checked against route map) |
30
+ | `replace` | `boolean` | Use `replaceState` instead of `pushState` |
31
+ | `prefetch` | `boolean` | Prefetch the RSC payload on hover |
32
+ | `onNavigate` | `OnNavigateHandler` | Intercept navigation before routing |
33
+ | `transitionTypes` | `string[]` | View transition types for this navigation (see [View transitions](/docs/client-navigation#view-transitions)) |
34
+
35
+ `prefetch` also works for previously visited URLs. A click can reuse the prefetched payload for 30 seconds; after expiry, navigation fetches a fresh payload. Same-page fragment links only scroll within the page and do not prefetch.
36
+
37
+ ### `<TimberErrorBoundary>`
38
+
39
+ Error boundary component with reset support.
40
+
41
+ ## Hooks
42
+
43
+ ### `useRouter()`
44
+
45
+ Programmatic navigation.
46
+
47
+ ```tsx
48
+ const router = useRouter();
49
+ router.push('/dashboard');
50
+ router.replace('/settings');
51
+ router.refresh();
52
+ router.back();
53
+ router.forward();
54
+ ```
55
+
56
+ #### `RouterInstance`
57
+
58
+ | Method | Description |
59
+ | ------------------------- | ---------------------------------- |
60
+ | `push(href, options?)` | Navigate, add history entry |
61
+ | `replace(href, options?)` | Navigate, replace history entry |
62
+ | `refresh()` | Re-fetch current route RSC payload |
63
+ | `back()` | Go back |
64
+ | `forward()` | Go forward |
65
+
66
+ `options` is `{ scroll?: boolean; transitionTypes?: string[] }`. Set `scroll: false` to keep the scroll position. `transitionTypes` are view transition types for this navigation.
67
+
68
+ A `deny()` reached by a client navigation renders your status page in place, without a page load — the denial travels in the navigation payload, and the boundary for the matching status file renders it. The payload response itself is always HTTP 200; the status code contract is a property of full page loads, where the browser, crawlers, and CDNs are the ones reading it.
69
+
70
+ If the server cannot answer a navigation or a `refresh()` at all, the router hands the URL back to the server as a full page load so it can render the error page as HTML with the right status code. That applies to back/forward too. None of these methods report the failure to your code — there is nothing to catch, and nothing to render a fallback for.
71
+
72
+ ### `usePathname()`
73
+
74
+ Returns the current pathname as a string.
75
+
76
+ ```tsx
77
+ const pathname = usePathname(); // "/dashboard/settings"
78
+ ```
79
+
80
+ ### `useSelectedLayoutSegment()`
81
+
82
+ Returns the active child segment within a layout.
83
+
84
+ ```tsx
85
+ const segment = useSelectedLayoutSegment(); // "settings"
86
+ ```
87
+
88
+ ### `useSelectedLayoutSegments()`
89
+
90
+ Returns all active segments below the current layout.
91
+
92
+ ```tsx
93
+ const segments = useSelectedLayoutSegments(); // ["settings", "profile"]
94
+ ```
95
+
96
+ ### `usePendingNavigation()`
97
+
98
+ Returns whether a navigation is in flight. Use instead of wrapping `children` in `<Suspense>`.
99
+
100
+ ```tsx
101
+ const pending = usePendingNavigation();
102
+ ```
103
+
104
+ ### `useLinkStatus()`
105
+
106
+ Per-link pending state. Must be used inside a `<Link>` component's children.
107
+
108
+ ```tsx
109
+ const { isPending } = useLinkStatus();
110
+ ```
111
+
112
+ ### `useSegmentParams(segmentPath?)`
113
+
114
+ Returns the current route segment params. Pass `SEGMENT_PATH` from `$segment` for exact types.
115
+
116
+ ```tsx
117
+ import { SEGMENT_PATH } from './$segment';
118
+ import { useSegmentParams } from '@timber-js/app/client';
119
+
120
+ const { id } = useSegmentParams(SEGMENT_PATH); // Exact types from schema
121
+ const params = useSegmentParams(); // Partial<AllSegmentParams>
122
+ ```
123
+
124
+ ## Form Hooks
125
+
126
+ ### `useActionState(action, initialState)`
127
+
128
+ Typed wrapper around React 19's `useActionState`. Returns `[result, formAction, isPending, errors]` — the 4th element auto-derives field and form-level errors from the result.
129
+
130
+ ```tsx
131
+ const [result, action, isPending, errors] = useActionState(createTodo, flash);
132
+
133
+ errors.hasErrors; // boolean
134
+ errors.fieldErrors; // Record<string, string[]>
135
+ errors.formErrors; // string[]
136
+ errors.serverError; // { code, data? } | null
137
+ errors.getFieldError('title'); // string | null
138
+ ```
139
+
140
+ ### `useFormAction(action)`
141
+
142
+ Bind a server action to a form with pending state.
143
+
144
+ ## Utilities
145
+
146
+ ### `interpolateParams(pattern, params)`
147
+
148
+ Fill a route pattern with param values.
149
+
150
+ ```ts
151
+ interpolateParams('/products/[id]', { id: '123' }); // "/products/123"
152
+ ```
153
+
154
+ ### `defineSearchParams().useQueryStates()`
155
+
156
+ Sync typed search params to the URL. Called on a `defineSearchParams()` definition. See [Search Params](/docs/typed-params).
157
+
158
+ ## Cookie Hooks
159
+
160
+ ### `defineCookie().useCookie()`
161
+
162
+ Reactive cookie access in client components. Define a typed cookie with `defineCookie()` from `@timber-js/app/cookies`, then call `.useCookie()` in client components. Returns `[value, setter, deleter]`.
163
+
164
+ ```tsx
165
+ import { themeCookie } from '../lib/cookies';
166
+
167
+ const [theme, setTheme, deleteTheme] = themeCookie.useCookie();
168
+ ```
169
+
170
+ See [Cookies](/docs/typed-params) for full documentation.