@timber-js/app 0.2.0-alpha.191 → 0.2.0-alpha.194

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 (672) hide show
  1. package/agent-skill.md +2 -0
  2. package/dist/_chunks/{actions-BjbbNRFN.js → actions-CWYtq6ii.js} +3 -3
  3. package/dist/_chunks/actions-CWYtq6ii.js.map +1 -0
  4. package/dist/_chunks/als-registry-C6kcfprT.js.map +1 -1
  5. package/dist/_chunks/als-slots-BEEIPKYm.js.map +1 -1
  6. package/dist/_chunks/{build-output-helper-C3DrfzZR.js → build-output-helper-9dqCv1pZ.js} +3 -2
  7. package/dist/_chunks/build-output-helper-9dqCv1pZ.js.map +1 -0
  8. package/dist/_chunks/{cache-api-DllJ-Lyw.js → cache-api-CQeYzA5g.js} +6 -8
  9. package/dist/_chunks/cache-api-CQeYzA5g.js.map +1 -0
  10. package/dist/_chunks/chains-h7EO-u3n.js +412 -0
  11. package/dist/_chunks/chains-h7EO-u3n.js.map +1 -0
  12. package/dist/_chunks/{cli-check-DJZDc22E.js → cli-check-BVthpfLS.js} +43 -6
  13. package/dist/_chunks/cli-check-BVthpfLS.js.map +1 -0
  14. package/dist/_chunks/{cli-schema-sync-D4_AZVUb.js → cli-schema-sync-ZwM9u_ob.js} +6 -5
  15. package/dist/_chunks/{cli-schema-sync-D4_AZVUb.js.map → cli-schema-sync-ZwM9u_ob.js.map} +1 -1
  16. package/dist/_chunks/{cloudflare-CGP6BZKO.js → cloudflare-BKJC3SC_.js} +28 -22
  17. package/dist/_chunks/{cloudflare-CGP6BZKO.js.map → cloudflare-BKJC3SC_.js.map} +1 -1
  18. package/dist/_chunks/codec-registry-oOUxugz3.js.map +1 -1
  19. package/dist/_chunks/{convention-lint-CpteIpTm.js → convention-lint-DO10_pVl.js} +93 -7
  20. package/dist/_chunks/convention-lint-DO10_pVl.js.map +1 -0
  21. package/dist/_chunks/dist-DtrJyBbw.js +386 -0
  22. package/dist/_chunks/dist-DtrJyBbw.js.map +1 -0
  23. package/dist/_chunks/error-boundary-D-ODYX41.js.map +1 -1
  24. package/dist/_chunks/{file-cache-DmX7OqZP.js → file-cache-Dw6BJPG7.js} +5 -1
  25. package/dist/_chunks/{file-cache-DmX7OqZP.js.map → file-cache-Dw6BJPG7.js.map} +1 -1
  26. package/dist/_chunks/{format-CfwjgPz9.js → format-BKclgVbk.js} +3 -3
  27. package/dist/_chunks/{format-CfwjgPz9.js.map → format-BKclgVbk.js.map} +1 -1
  28. package/dist/_chunks/graph-cache-CP4GEmf9.js +304 -0
  29. package/dist/_chunks/graph-cache-CP4GEmf9.js.map +1 -0
  30. package/dist/_chunks/href-validation-CMc5JRls.js.map +1 -1
  31. package/dist/_chunks/live-graph-Bx4HodF1.js +150 -0
  32. package/dist/_chunks/live-graph-Bx4HodF1.js.map +1 -0
  33. package/dist/_chunks/{logger-CH7IcMmg.js → logger-pumCm3Il.js} +25 -7
  34. package/dist/_chunks/{logger-CH7IcMmg.js.map → logger-pumCm3Il.js.map} +1 -1
  35. package/dist/_chunks/{mdx-file-C005ay-P.js → mdx-file-CXyHGUpS.js} +3 -3
  36. package/dist/_chunks/mdx-file-CXyHGUpS.js.map +1 -0
  37. package/dist/_chunks/{plugin-context-rCinWLiE.js → plugin-context-8idfR3UZ.js} +2 -2
  38. package/dist/_chunks/plugin-context-8idfR3UZ.js.map +1 -0
  39. package/dist/_chunks/poison-rules-DoEhbqaY.js +110 -0
  40. package/dist/_chunks/poison-rules-DoEhbqaY.js.map +1 -0
  41. package/dist/_chunks/poison-scan-BAxfTT5L.js +101 -0
  42. package/dist/_chunks/poison-scan-BAxfTT5L.js.map +1 -0
  43. package/dist/_chunks/resolve-schema-CBR6Lm4i.js.map +1 -1
  44. package/dist/_chunks/rolldown-runtime-D7D4PA-g.js +13 -0
  45. package/dist/_chunks/router-ref-DuYuV_0Q.js.map +1 -1
  46. package/dist/_chunks/{rsc-media-type-DRqE_lD_.js → rsc-media-type-DDc7duTD.js} +17 -2
  47. package/dist/_chunks/{rsc-media-type-DRqE_lD_.js.map → rsc-media-type-DDc7duTD.js.map} +1 -1
  48. package/dist/_chunks/scan-BoP17W3w.js +140 -0
  49. package/dist/_chunks/scan-BoP17W3w.js.map +1 -0
  50. package/dist/_chunks/{scanner-CAietmj4.js → scanner-BRIOmHE2.js} +43 -4
  51. package/dist/_chunks/scanner-BRIOmHE2.js.map +1 -0
  52. package/dist/_chunks/schema-bridge-C83xa9lT.js.map +1 -1
  53. package/dist/_chunks/segment-classify-C539Pa2O.js.map +1 -1
  54. package/dist/_chunks/{segment-keys-BawYuNFO.js → segment-keys-BhqoHiLc.js} +14 -2
  55. package/dist/_chunks/{segment-keys-BawYuNFO.js.map → segment-keys-BhqoHiLc.js.map} +1 -1
  56. package/dist/_chunks/slot-params-BCTmZkQB.js.map +1 -1
  57. package/dist/_chunks/ssr-data-14MXm7Pj.js.map +1 -1
  58. package/dist/_chunks/use-query-states-I3JMng6J.js.map +1 -1
  59. package/dist/_chunks/use-segment-params-C4r4BD9T.js.map +1 -1
  60. package/dist/_chunks/{walkers-BsVLmD1S.js → walkers-uCu3WW6_.js} +9 -6
  61. package/dist/_chunks/{walkers-BsVLmD1S.js.map → walkers-uCu3WW6_.js.map} +1 -1
  62. package/dist/adapters/build-output-helper.d.ts +1 -1
  63. package/dist/adapters/build-output-helper.d.ts.map +1 -1
  64. package/dist/adapters/cloudflare-dev.d.ts.map +1 -1
  65. package/dist/adapters/cloudflare-dev.js +2 -1
  66. package/dist/adapters/cloudflare-dev.js.map +1 -1
  67. package/dist/adapters/cloudflare-kv-cache.d.ts +1 -1
  68. package/dist/adapters/cloudflare-kv-cache.d.ts.map +1 -1
  69. package/dist/adapters/cloudflare-kv-cache.js +7 -8
  70. package/dist/adapters/cloudflare-kv-cache.js.map +1 -1
  71. package/dist/adapters/cloudflare.d.ts +1 -1
  72. package/dist/adapters/cloudflare.d.ts.map +1 -1
  73. package/dist/adapters/cloudflare.js +1 -1
  74. package/dist/adapters/nitro-presets.d.ts +37 -0
  75. package/dist/adapters/nitro-presets.d.ts.map +1 -0
  76. package/dist/adapters/nitro-preview.d.ts +32 -0
  77. package/dist/adapters/nitro-preview.d.ts.map +1 -0
  78. package/dist/adapters/nitro.d.ts +28 -51
  79. package/dist/adapters/nitro.d.ts.map +1 -1
  80. package/dist/adapters/nitro.js +224 -171
  81. package/dist/adapters/nitro.js.map +1 -1
  82. package/dist/analyze/chains.d.ts +124 -0
  83. package/dist/analyze/chains.d.ts.map +1 -0
  84. package/dist/analyze/classify.d.ts +150 -0
  85. package/dist/analyze/classify.d.ts.map +1 -0
  86. package/dist/analyze/crawl-entry.d.ts +17 -0
  87. package/dist/analyze/crawl-entry.d.ts.map +1 -0
  88. package/dist/analyze/crawl-entry.js +313 -0
  89. package/dist/analyze/crawl-entry.js.map +1 -0
  90. package/dist/analyze/crawl.d.ts +134 -0
  91. package/dist/analyze/crawl.d.ts.map +1 -0
  92. package/dist/analyze/graph-cache.d.ts +104 -0
  93. package/dist/analyze/graph-cache.d.ts.map +1 -0
  94. package/dist/analyze/graph-command.d.ts +43 -0
  95. package/dist/analyze/graph-command.d.ts.map +1 -0
  96. package/dist/analyze/graph-command.js +472 -0
  97. package/dist/analyze/graph-command.js.map +1 -0
  98. package/dist/analyze/live-graph.d.ts +81 -0
  99. package/dist/analyze/live-graph.d.ts.map +1 -0
  100. package/dist/analyze/poison-rules.d.ts +72 -0
  101. package/dist/analyze/poison-rules.d.ts.map +1 -0
  102. package/dist/analyze/poison-scan.d.ts +48 -0
  103. package/dist/analyze/poison-scan.d.ts.map +1 -0
  104. package/dist/analyze/scan.d.ts +73 -0
  105. package/dist/analyze/scan.d.ts.map +1 -0
  106. package/dist/cache/cache-api.d.ts +2 -2
  107. package/dist/cache/cache-api.d.ts.map +1 -1
  108. package/dist/cache/index.d.ts +8 -8
  109. package/dist/cache/index.d.ts.map +1 -1
  110. package/dist/cache/index.js +1 -1
  111. package/dist/cache/redis-handler.d.ts +1 -1
  112. package/dist/cache/redis-handler.d.ts.map +1 -1
  113. package/dist/cache/stores/cloudflare-kv.d.ts +1 -1
  114. package/dist/cache/stores/cloudflare-kv.d.ts.map +1 -1
  115. package/dist/cache/stores/cloudflare-kv.js.map +1 -1
  116. package/dist/cache/stores/memory.d.ts +1 -1
  117. package/dist/cache/stores/memory.d.ts.map +1 -1
  118. package/dist/cache/stores/memory.js.map +1 -1
  119. package/dist/cache/stores/redis.d.ts +1 -1
  120. package/dist/cache/stores/redis.d.ts.map +1 -1
  121. package/dist/cache/stores/redis.js.map +1 -1
  122. package/dist/cache/stores/vercel.d.ts +1 -1
  123. package/dist/cache/stores/vercel.d.ts.map +1 -1
  124. package/dist/cache/stores/vercel.js.map +1 -1
  125. package/dist/cache/tag-aware-handler.d.ts +2 -2
  126. package/dist/cache/tag-aware-handler.d.ts.map +1 -1
  127. package/dist/cache/timber-cache.d.ts +1 -1
  128. package/dist/cache/timber-cache.d.ts.map +1 -1
  129. package/dist/cdn/cloudflare-purge.d.ts +1 -1
  130. package/dist/cdn/cloudflare-purge.d.ts.map +1 -1
  131. package/dist/cdn/cloudflare-purge.js.map +1 -1
  132. package/dist/cdn/fastly-purge.d.ts +1 -1
  133. package/dist/cdn/fastly-purge.d.ts.map +1 -1
  134. package/dist/cdn/fastly-purge.js.map +1 -1
  135. package/dist/cdn/index.d.ts +4 -4
  136. package/dist/cdn/index.d.ts.map +1 -1
  137. package/dist/cdn/workers-cache-purge.d.ts +5 -1
  138. package/dist/cdn/workers-cache-purge.d.ts.map +1 -1
  139. package/dist/cdn/workers-cache-purge.js.map +1 -1
  140. package/dist/cli-check.d.ts +10 -0
  141. package/dist/cli-check.d.ts.map +1 -1
  142. package/dist/cli.d.ts +12 -4
  143. package/dist/cli.d.ts.map +1 -1
  144. package/dist/cli.js +30 -6
  145. package/dist/cli.js.map +1 -1
  146. package/dist/client/browser-entry/hydrate.d.ts +2 -2
  147. package/dist/client/browser-entry/hydrate.d.ts.map +1 -1
  148. package/dist/client/browser-entry/post-hydration.d.ts +2 -2
  149. package/dist/client/browser-entry/router-init.d.ts +2 -2
  150. package/dist/client/browser-entry/rsc-stream.d.ts +1 -1
  151. package/dist/client/form.d.ts +2 -2
  152. package/dist/client/form.d.ts.map +1 -1
  153. package/dist/client/history.d.ts +2 -2
  154. package/dist/client/index.d.ts +18 -18
  155. package/dist/client/index.d.ts.map +1 -1
  156. package/dist/client/index.js.map +1 -1
  157. package/dist/client/internal.d.ts +19 -19
  158. package/dist/client/internal.d.ts.map +1 -1
  159. package/dist/client/internal.js +11 -15
  160. package/dist/client/internal.js.map +1 -1
  161. package/dist/client/link.d.ts +3 -3
  162. package/dist/client/navigation-commit.d.ts +5 -5
  163. package/dist/client/navigation-root.d.ts +1 -1
  164. package/dist/client/navigation-root.d.ts.map +1 -1
  165. package/dist/client/params-context.d.ts +3 -3
  166. package/dist/client/router-pipeline.d.ts +7 -7
  167. package/dist/client/router-ref.d.ts +1 -1
  168. package/dist/client/router-types.d.ts +6 -6
  169. package/dist/client/router-types.d.ts.map +1 -1
  170. package/dist/client/router.d.ts +1 -1
  171. package/dist/client/rsc-fetch.d.ts +4 -4
  172. package/dist/client/rsc-fetch.d.ts.map +1 -1
  173. package/dist/client/segment-cache.d.ts +2 -2
  174. package/dist/client/slot-provider.d.ts +1 -1
  175. package/dist/client/ssr-data.d.ts +2 -2
  176. package/dist/client/state.d.ts +4 -4
  177. package/dist/client/use-query-states.d.ts +1 -1
  178. package/dist/client/use-segment-params.d.ts +3 -3
  179. package/dist/codec.d.ts +2 -2
  180. package/dist/codec.js.map +1 -1
  181. package/dist/config-types.d.ts +24 -6
  182. package/dist/config-types.d.ts.map +1 -1
  183. package/dist/config-validation.d.ts +1 -1
  184. package/dist/cookies/define-cookie.d.ts +3 -3
  185. package/dist/cookies/index.d.ts +3 -3
  186. package/dist/cookies/index.js +3 -4
  187. package/dist/cookies/index.js.map +1 -1
  188. package/dist/cookies/json-cookie.d.ts +1 -1
  189. package/dist/dev-tools/404-page.d.ts +2 -2
  190. package/dist/dev-tools/error-page.d.ts +2 -2
  191. package/dist/dev-tools/index.d.ts +12 -12
  192. package/dist/dev-tools/instrumentation.d.ts +1 -1
  193. package/dist/dev-tools/logs.d.ts +1 -1
  194. package/dist/dev-tools/overlay.d.ts +2 -2
  195. package/dist/dev-tools/terminal.d.ts +1 -1
  196. package/dist/fonts/ast.d.ts +4 -4
  197. package/dist/fonts/bundle.d.ts +3 -3
  198. package/dist/fonts/css.d.ts +1 -1
  199. package/dist/fonts/dev-middleware.d.ts +1 -1
  200. package/dist/fonts/google.d.ts +1 -1
  201. package/dist/fonts/local.d.ts +1 -1
  202. package/dist/fonts/pipeline.d.ts +3 -3
  203. package/dist/fonts/transform.d.ts +2 -2
  204. package/dist/fonts/types.d.ts +1 -1
  205. package/dist/fonts/virtual-modules.d.ts +1 -1
  206. package/dist/index.d.ts +3 -3
  207. package/dist/index.d.ts.map +1 -1
  208. package/dist/index.js +816 -310
  209. package/dist/index.js.map +1 -1
  210. package/dist/params/codec-registry.d.ts +1 -1
  211. package/dist/params/define-schema.d.ts +2 -2
  212. package/dist/params/index.d.ts +4 -4
  213. package/dist/params/index.js.map +1 -1
  214. package/dist/params/resolve-schema.d.ts +1 -1
  215. package/dist/plugin-context.d.ts +9 -9
  216. package/dist/plugin-context.d.ts.map +1 -1
  217. package/dist/plugins/adapter-build.d.ts +2 -2
  218. package/dist/plugins/build-manifest.d.ts +2 -2
  219. package/dist/plugins/build-report.d.ts +5 -5
  220. package/dist/plugins/cache.d.ts +1 -1
  221. package/dist/plugins/callsite-jsx.d.ts +2 -2
  222. package/dist/plugins/chunks.d.ts +1 -1
  223. package/dist/plugins/chunks.d.ts.map +1 -1
  224. package/dist/plugins/cloudflare-wasm.d.ts +1 -1
  225. package/dist/plugins/content.d.ts +1 -1
  226. package/dist/plugins/content.d.ts.map +1 -1
  227. package/dist/plugins/dev-discovery.d.ts +123 -0
  228. package/dist/plugins/dev-discovery.d.ts.map +1 -0
  229. package/dist/plugins/dev-server.d.ts +1 -1
  230. package/dist/plugins/dev-server.d.ts.map +1 -1
  231. package/dist/plugins/entries.d.ts +1 -1
  232. package/dist/plugins/fonts.d.ts +3 -3
  233. package/dist/plugins/fonts.d.ts.map +1 -1
  234. package/dist/plugins/graph-endpoint.d.ts +112 -0
  235. package/dist/plugins/graph-endpoint.d.ts.map +1 -0
  236. package/dist/plugins/mdx.d.ts +18 -5
  237. package/dist/plugins/mdx.d.ts.map +1 -1
  238. package/dist/plugins/prebuilt-capture.d.ts +2 -2
  239. package/dist/plugins/prebuilt-options-analysis.d.ts +1 -1
  240. package/dist/plugins/prebuilt.d.ts +1 -1
  241. package/dist/plugins/prerender-sugar.d.ts +11 -14
  242. package/dist/plugins/prerender-sugar.d.ts.map +1 -1
  243. package/dist/plugins/request-dep/analysis.d.ts +1 -1
  244. package/dist/plugins/request-dep/index.d.ts +5 -5
  245. package/dist/plugins/request-dep/origin.d.ts +1 -1
  246. package/dist/plugins/routing.d.ts +1 -1
  247. package/dist/plugins/routing.d.ts.map +1 -1
  248. package/dist/plugins/server-bundle.d.ts.map +1 -1
  249. package/dist/plugins/shims.d.ts +1 -1
  250. package/dist/plugins/shims.d.ts.map +1 -1
  251. package/dist/plugins/static-build.d.ts +5 -5
  252. package/dist/routing/codegen-shared.d.ts +1 -1
  253. package/dist/routing/codegen-write.d.ts +1 -1
  254. package/dist/routing/codegen.d.ts +1 -1
  255. package/dist/routing/collision-probe.d.ts +1 -1
  256. package/dist/routing/collision-spaces.d.ts +1 -1
  257. package/dist/routing/convention-lint.d.ts +1 -1
  258. package/dist/routing/convention-lint.d.ts.map +1 -1
  259. package/dist/routing/index.d.ts +13 -13
  260. package/dist/routing/index.js +3 -3
  261. package/dist/routing/interception.d.ts +1 -1
  262. package/dist/routing/interception.d.ts.map +1 -1
  263. package/dist/routing/link-codegen.d.ts +1 -1
  264. package/dist/routing/manifest-codegen.d.ts +1 -1
  265. package/dist/routing/scanner.d.ts +14 -1
  266. package/dist/routing/scanner.d.ts.map +1 -1
  267. package/dist/routing/schema-validation.d.ts +1 -1
  268. package/dist/routing/segment-classify.d.ts +1 -1
  269. package/dist/routing/segment-codegen.d.ts +1 -1
  270. package/dist/routing/segment-keys.d.ts +1 -1
  271. package/dist/routing/slot-placement.d.ts +1 -1
  272. package/dist/routing/walkers.d.ts +1 -1
  273. package/dist/rsc-runtime/transforms.d.ts +13 -0
  274. package/dist/rsc-runtime/transforms.d.ts.map +1 -0
  275. package/dist/schema-bridge.d.ts +1 -1
  276. package/dist/search-params/define.d.ts +3 -3
  277. package/dist/search-params/index.d.ts +3 -3
  278. package/dist/search-params/index.js.map +1 -1
  279. package/dist/search-params/wrappers.d.ts +1 -1
  280. package/dist/server/access-gate.d.ts +1 -1
  281. package/dist/server/action-client.d.ts +1 -1
  282. package/dist/server/action-handler.d.ts +5 -5
  283. package/dist/server/actions.d.ts +2 -2
  284. package/dist/server/als-registry.d.ts +8 -8
  285. package/dist/server/asset-headers.d.ts +1 -1
  286. package/dist/server/chain-url-parts.d.ts +3 -3
  287. package/dist/server/children-interception.d.ts +2 -2
  288. package/dist/server/cookie-context.d.ts +1 -1
  289. package/dist/server/cookie-parsing.d.ts +2 -2
  290. package/dist/server/default-logger.d.ts +1 -1
  291. package/dist/server/deny-boundary.d.ts +2 -2
  292. package/dist/server/deny-renderer.d.ts +5 -5
  293. package/dist/server/early-hints.d.ts +1 -1
  294. package/dist/server/error-boundary-wrapper.d.ts +2 -4
  295. package/dist/server/error-boundary-wrapper.d.ts.map +1 -1
  296. package/dist/server/fallback-error.d.ts +5 -5
  297. package/dist/server/flight-injection-state.d.ts +1 -1
  298. package/dist/server/form-flash.d.ts +1 -1
  299. package/dist/server/html-injector-core.d.ts +2 -2
  300. package/dist/server/html-injectors.d.ts +1 -1
  301. package/dist/server/index.d.ts +18 -18
  302. package/dist/server/index.d.ts.map +1 -1
  303. package/dist/server/index.js +33 -32
  304. package/dist/server/index.js.map +1 -1
  305. package/dist/server/instrumentation.d.ts +1 -1
  306. package/dist/server/internal.d.ts +50 -50
  307. package/dist/server/internal.d.ts.map +1 -1
  308. package/dist/server/internal.js +1023 -1025
  309. package/dist/server/internal.js.map +1 -1
  310. package/dist/server/metadata-collector.d.ts +2 -2
  311. package/dist/server/metadata-platform.d.ts +2 -2
  312. package/dist/server/metadata-render.d.ts +2 -2
  313. package/dist/server/metadata-routes.d.ts +3 -3
  314. package/dist/server/metadata-social.d.ts +2 -2
  315. package/dist/server/metadata.d.ts +2 -2
  316. package/dist/server/middleware-runner.d.ts +1 -1
  317. package/dist/server/node-stream-transforms.d.ts +1 -1
  318. package/dist/server/param-coercion.d.ts +4 -4
  319. package/dist/server/pipeline-helpers.d.ts +3 -3
  320. package/dist/server/pipeline-interception.d.ts +1 -1
  321. package/dist/server/pipeline-metadata.d.ts +1 -1
  322. package/dist/server/pipeline-outcome.d.ts +2 -2
  323. package/dist/server/pipeline-phases.d.ts +3 -3
  324. package/dist/server/pipeline-phases.d.ts.map +1 -1
  325. package/dist/server/pipeline.d.ts +9 -9
  326. package/dist/server/prebuilt/cache-key.d.ts +1 -1
  327. package/dist/server/prebuilt/capture-state.d.ts +1 -1
  328. package/dist/server/prebuilt/key-discipline.d.ts +1 -1
  329. package/dist/server/prebuilt/manifest-tag-index.d.ts +1 -1
  330. package/dist/server/prebuilt/overlay.d.ts +2 -2
  331. package/dist/server/prebuilt/payload-source.d.ts +1 -1
  332. package/dist/server/prebuilt/slots.d.ts +1 -1
  333. package/dist/server/prebuilt/synthetic-store.d.ts +2 -2
  334. package/dist/server/prebuilt-builder.d.ts +2 -2
  335. package/dist/server/primitives.d.ts +2 -2
  336. package/dist/server/publish-params.d.ts +1 -1
  337. package/dist/server/request-context.d.ts +3 -3
  338. package/dist/server/route-element-builder.d.ts +16 -6
  339. package/dist/server/route-element-builder.d.ts.map +1 -1
  340. package/dist/server/route-handler.d.ts +1 -1
  341. package/dist/server/route-matcher.d.ts +4 -4
  342. package/dist/server/rsc-cache-key-guard.d.ts.map +1 -1
  343. package/dist/server/rsc-entry/action-middleware-runner.d.ts +2 -2
  344. package/dist/server/rsc-entry/api-handler.d.ts +1 -1
  345. package/dist/server/rsc-entry/api-handler.d.ts.map +1 -1
  346. package/dist/server/rsc-entry/deny-fallback.d.ts +3 -3
  347. package/dist/server/rsc-entry/error-renderer.d.ts +4 -4
  348. package/dist/server/rsc-entry/helpers.d.ts +6 -6
  349. package/dist/server/rsc-entry/index.d.ts +7 -6
  350. package/dist/server/rsc-entry/index.d.ts.map +1 -1
  351. package/dist/server/rsc-entry/render-route.d.ts +4 -4
  352. package/dist/server/rsc-entry/revalidate-renderer.d.ts +4 -4
  353. package/dist/server/rsc-entry/rsc-payload.d.ts +4 -4
  354. package/dist/server/rsc-entry/rsc-payload.d.ts.map +1 -1
  355. package/dist/server/rsc-entry/rsc-stream.d.ts +3 -3
  356. package/dist/server/rsc-entry/ssr-bridge.d.ts +1 -1
  357. package/dist/server/rsc-entry/ssr-renderer.d.ts +7 -7
  358. package/dist/server/rsc-entry/wrap-action-dispatch.d.ts +5 -5
  359. package/dist/server/sitemap-generator.d.ts +2 -2
  360. package/dist/server/sitemap-handler.d.ts +1 -1
  361. package/dist/server/skippable-prefix.d.ts +3 -3
  362. package/dist/server/slot-interception.d.ts +2 -2
  363. package/dist/server/slot-resolver.d.ts +3 -7
  364. package/dist/server/slot-resolver.d.ts.map +1 -1
  365. package/dist/server/ssr-bridge-types.d.ts +2 -2
  366. package/dist/server/ssr-entry.d.ts +1 -1
  367. package/dist/server/static-generator.d.ts +1 -1
  368. package/dist/server/static-not-found.d.ts +1 -1
  369. package/dist/server/status-code-resolver.d.ts +1 -1
  370. package/dist/server/tracing.d.ts +3 -3
  371. package/dist/server/tree-builder.d.ts +3 -3
  372. package/dist/server/tree-match.d.ts +1 -1
  373. package/dist/server/types.d.ts +2 -2
  374. package/dist/server/utils/mdx-file.d.ts +2 -0
  375. package/dist/server/utils/mdx-file.d.ts.map +1 -1
  376. package/dist/server/workers-cache-bridge.d.ts +1 -1
  377. package/dist/shared/als-slots.d.ts +1 -1
  378. package/dist/shared/payload-root.d.ts +2 -2
  379. package/dist/shared/rsc-media-type.d.ts +12 -0
  380. package/dist/shared/rsc-media-type.d.ts.map +1 -1
  381. package/dist/shared/slot-params.d.ts +1 -1
  382. package/dist/shims/font-google.d.ts +1 -1
  383. package/dist/shims/font-google.js.map +1 -1
  384. package/dist/shims/font-local.d.ts +1 -1
  385. package/dist/shims/font-local.js.map +1 -1
  386. package/dist/shims/navigation-client.d.ts +4 -4
  387. package/dist/shims/navigation.d.ts +2 -2
  388. package/docs/api/34-api-config.mdx +9 -8
  389. package/docs/api/36-cli.mdx +23 -3
  390. package/docs/learn/11-error-handling.mdx +11 -0
  391. package/docs/more/01-advanced-routing.mdx +1 -0
  392. package/docs/more/04b-mdx.mdx +38 -18
  393. package/package.json +23 -18
  394. package/src/adapters/build-output-helper.ts +4 -4
  395. package/src/adapters/cloudflare-dev.ts +7 -1
  396. package/src/adapters/cloudflare-kv-cache.ts +11 -8
  397. package/src/adapters/cloudflare.ts +21 -15
  398. package/src/adapters/compress-module.ts +2 -2
  399. package/src/adapters/nitro-presets.ts +139 -0
  400. package/src/adapters/nitro-preview.ts +340 -0
  401. package/src/adapters/nitro.ts +100 -465
  402. package/src/adapters/shared.ts +1 -1
  403. package/src/analyze/chains.ts +411 -0
  404. package/src/analyze/classify.ts +258 -0
  405. package/src/analyze/crawl-entry.ts +68 -0
  406. package/src/analyze/crawl.ts +500 -0
  407. package/src/analyze/graph-cache.ts +332 -0
  408. package/src/analyze/graph-command.ts +762 -0
  409. package/src/analyze/live-graph.ts +232 -0
  410. package/src/analyze/poison-rules.ts +165 -0
  411. package/src/analyze/poison-scan.ts +162 -0
  412. package/src/analyze/scan.ts +149 -0
  413. package/src/cache/cache-api.ts +7 -7
  414. package/src/cache/index.ts +9 -9
  415. package/src/cache/redis-handler.ts +2 -2
  416. package/src/cache/stores/cloudflare-kv.ts +1 -1
  417. package/src/cache/stores/memory.ts +2 -2
  418. package/src/cache/stores/redis.ts +1 -1
  419. package/src/cache/stores/vercel.ts +1 -1
  420. package/src/cache/tag-aware-handler.ts +2 -2
  421. package/src/cache/timber-cache.ts +8 -8
  422. package/src/cdn/cloudflare-purge.ts +1 -1
  423. package/src/cdn/fastly-purge.ts +1 -1
  424. package/src/cdn/index.ts +10 -4
  425. package/src/cdn/workers-cache-purge.ts +6 -2
  426. package/src/cli-check.ts +53 -4
  427. package/src/cli-schema-sync.ts +3 -3
  428. package/src/cli.ts +50 -11
  429. package/src/client/browser-dev.ts +1 -1
  430. package/src/client/browser-entry/action-dispatch.ts +5 -5
  431. package/src/client/browser-entry/hmr.ts +1 -1
  432. package/src/client/browser-entry/hydrate.ts +9 -9
  433. package/src/client/browser-entry/index.ts +10 -10
  434. package/src/client/browser-entry/post-hydration.ts +5 -5
  435. package/src/client/browser-entry/router-init.ts +9 -9
  436. package/src/client/browser-entry/rsc-stream.ts +3 -3
  437. package/src/client/error-boundary.tsx +4 -4
  438. package/src/client/form.tsx +7 -2
  439. package/src/client/history.ts +2 -2
  440. package/src/client/index.ts +21 -18
  441. package/src/client/internal.ts +19 -19
  442. package/src/client/link.tsx +9 -9
  443. package/src/client/navigation-api.ts +1 -1
  444. package/src/client/navigation-commit.ts +5 -5
  445. package/src/client/navigation-context.ts +1 -1
  446. package/src/client/navigation-root.tsx +1 -1
  447. package/src/client/nuqs-adapter.tsx +2 -2
  448. package/src/client/params-context.ts +4 -4
  449. package/src/client/router-effects.ts +3 -3
  450. package/src/client/router-lifecycle.ts +2 -2
  451. package/src/client/router-pipeline.ts +10 -10
  452. package/src/client/router-ref.ts +2 -2
  453. package/src/client/router-skew.ts +2 -2
  454. package/src/client/router-types.ts +6 -6
  455. package/src/client/router.ts +13 -13
  456. package/src/client/rsc-fetch.ts +11 -16
  457. package/src/client/segment-cache.ts +2 -2
  458. package/src/client/segment-outlet.tsx +1 -1
  459. package/src/client/shallow-url.ts +1 -1
  460. package/src/client/slot-outlet.tsx +1 -1
  461. package/src/client/slot-provider.tsx +1 -1
  462. package/src/client/ssr-data.ts +3 -3
  463. package/src/client/stale-client.ts +1 -1
  464. package/src/client/state.ts +4 -4
  465. package/src/client/top-loader.tsx +1 -1
  466. package/src/client/unload-guard.ts +1 -1
  467. package/src/client/use-cookie.ts +2 -2
  468. package/src/client/use-pathname.ts +2 -2
  469. package/src/client/use-pending-navigation.ts +1 -1
  470. package/src/client/use-query-states.ts +3 -3
  471. package/src/client/use-router.ts +2 -2
  472. package/src/client/use-search-params.ts +3 -3
  473. package/src/client/use-segment-params.ts +6 -6
  474. package/src/client/use-selected-layout-segment.ts +2 -2
  475. package/src/codec.ts +2 -2
  476. package/src/config-types.ts +27 -7
  477. package/src/config-validation.ts +1 -1
  478. package/src/cookies/define-cookie.ts +6 -6
  479. package/src/cookies/index.ts +3 -3
  480. package/src/cookies/json-cookie.ts +1 -1
  481. package/src/dev-tools/404-page.ts +4 -4
  482. package/src/dev-tools/dev-page-shell.ts +1 -1
  483. package/src/dev-tools/error-page.ts +4 -4
  484. package/src/dev-tools/index.ts +12 -12
  485. package/src/dev-tools/instrumentation.ts +1 -1
  486. package/src/dev-tools/logs.ts +1 -1
  487. package/src/dev-tools/overlay.ts +3 -3
  488. package/src/dev-tools/terminal.ts +2 -2
  489. package/src/fonts/ast.ts +5 -5
  490. package/src/fonts/bundle.ts +5 -5
  491. package/src/fonts/css.ts +1 -1
  492. package/src/fonts/dev-middleware.ts +2 -2
  493. package/src/fonts/google.ts +2 -2
  494. package/src/fonts/local.ts +4 -4
  495. package/src/fonts/pipeline.ts +8 -8
  496. package/src/fonts/transform.ts +5 -5
  497. package/src/fonts/types.ts +1 -1
  498. package/src/fonts/virtual-modules.ts +1 -1
  499. package/src/index.ts +46 -37
  500. package/src/params/codec-registry.ts +1 -1
  501. package/src/params/define-schema.ts +2 -2
  502. package/src/params/index.ts +4 -4
  503. package/src/params/resolve-schema.ts +2 -2
  504. package/src/plugin-context.ts +10 -10
  505. package/src/plugins/adapter-build.ts +5 -5
  506. package/src/plugins/build-manifest.ts +4 -4
  507. package/src/plugins/build-report.ts +6 -6
  508. package/src/plugins/cache.ts +3 -3
  509. package/src/plugins/callsite-ast.ts +1 -1
  510. package/src/plugins/callsite-jsx.ts +2 -2
  511. package/src/plugins/chunks.ts +1 -1
  512. package/src/plugins/cloudflare-wasm.ts +1 -1
  513. package/src/plugins/content.ts +5 -1
  514. package/src/plugins/dev-discovery.ts +218 -0
  515. package/src/plugins/dev-server.ts +97 -12
  516. package/src/plugins/entries.ts +1 -1
  517. package/src/plugins/fonts.ts +17 -10
  518. package/src/plugins/graph-endpoint.ts +532 -0
  519. package/src/plugins/mdx.ts +73 -38
  520. package/src/plugins/prebuilt-capture.ts +3 -3
  521. package/src/plugins/prebuilt-options-analysis.ts +1 -1
  522. package/src/plugins/prebuilt.ts +7 -7
  523. package/src/plugins/prerender-sugar.ts +11 -19
  524. package/src/plugins/request-dep/analysis.ts +1 -1
  525. package/src/plugins/request-dep/index.ts +8 -8
  526. package/src/plugins/request-dep/origin.ts +1 -1
  527. package/src/plugins/routing.ts +12 -7
  528. package/src/plugins/server-bundle.ts +11 -3
  529. package/src/plugins/shims.ts +16 -31
  530. package/src/plugins/static-build.ts +10 -10
  531. package/src/routing/codegen-shared.ts +1 -1
  532. package/src/routing/codegen-write.ts +3 -3
  533. package/src/routing/codegen.ts +14 -5
  534. package/src/routing/collision-probe.ts +3 -3
  535. package/src/routing/collision-spaces.ts +3 -3
  536. package/src/routing/convention-lint.ts +136 -6
  537. package/src/routing/export-detect.ts +1 -1
  538. package/src/routing/index.ts +13 -13
  539. package/src/routing/interception.ts +41 -4
  540. package/src/routing/link-codegen.ts +3 -3
  541. package/src/routing/manifest-codegen.ts +2 -2
  542. package/src/routing/scanner.ts +33 -9
  543. package/src/routing/schema-validation.ts +4 -4
  544. package/src/routing/segment-classify.ts +2 -2
  545. package/src/routing/segment-codegen.ts +1 -1
  546. package/src/routing/segment-keys.ts +1 -1
  547. package/src/routing/slot-placement.ts +1 -1
  548. package/src/routing/walkers.ts +1 -1
  549. package/src/rsc-runtime/transforms.ts +13 -0
  550. package/src/rsc-runtime/vendor-types.d.ts +12 -0
  551. package/src/schema-bridge.ts +1 -1
  552. package/src/search-params/define.ts +8 -8
  553. package/src/search-params/index.ts +3 -3
  554. package/src/search-params/wrappers.ts +3 -3
  555. package/src/server/access-gate.tsx +6 -6
  556. package/src/server/action-client.ts +5 -5
  557. package/src/server/action-handler.ts +16 -16
  558. package/src/server/actions.ts +5 -5
  559. package/src/server/als-registry.ts +8 -8
  560. package/src/server/asset-headers.ts +2 -2
  561. package/src/server/chain-url-parts.ts +5 -5
  562. package/src/server/children-interception.ts +4 -4
  563. package/src/server/compress.ts +1 -1
  564. package/src/server/cookie-context.ts +4 -4
  565. package/src/server/cookie-parsing.ts +2 -2
  566. package/src/server/default-logger.ts +3 -3
  567. package/src/server/deny-boundary.ts +10 -10
  568. package/src/server/deny-renderer.ts +38 -25
  569. package/src/server/early-hints-sender.ts +2 -2
  570. package/src/server/early-hints.ts +2 -2
  571. package/src/server/error-boundary-wrapper.ts +4 -12
  572. package/src/server/fallback-error.ts +13 -13
  573. package/src/server/flight-injection-state.ts +1 -1
  574. package/src/server/form-flash.ts +2 -2
  575. package/src/server/html-injector-core.ts +4 -4
  576. package/src/server/html-injectors.ts +5 -5
  577. package/src/server/index.ts +18 -18
  578. package/src/server/instrumentation.ts +1 -1
  579. package/src/server/internal.ts +50 -50
  580. package/src/server/logger.ts +4 -4
  581. package/src/server/metadata-collector.ts +7 -7
  582. package/src/server/metadata-platform.ts +2 -2
  583. package/src/server/metadata-render.ts +4 -4
  584. package/src/server/metadata-routes.ts +3 -3
  585. package/src/server/metadata-social.ts +2 -2
  586. package/src/server/metadata.ts +2 -2
  587. package/src/server/middleware-runner.ts +1 -1
  588. package/src/server/node-stream-transforms.ts +4 -4
  589. package/src/server/param-coercion.ts +8 -8
  590. package/src/server/pipeline-helpers.ts +7 -7
  591. package/src/server/pipeline-interception.ts +2 -2
  592. package/src/server/pipeline-metadata.ts +1 -1
  593. package/src/server/pipeline-outcome.ts +8 -8
  594. package/src/server/pipeline-phases.ts +24 -28
  595. package/src/server/pipeline.ts +22 -22
  596. package/src/server/prebuilt/cache-key.ts +1 -1
  597. package/src/server/prebuilt/capture-state.ts +1 -1
  598. package/src/server/prebuilt/key-discipline.ts +1 -1
  599. package/src/server/prebuilt/manifest-tag-index.ts +1 -1
  600. package/src/server/prebuilt/overlay.ts +6 -6
  601. package/src/server/prebuilt/payload-source.ts +2 -2
  602. package/src/server/prebuilt/slots.ts +5 -5
  603. package/src/server/prebuilt/synthetic-store.ts +2 -2
  604. package/src/server/prebuilt-builder.ts +16 -16
  605. package/src/server/prebuilt-runtime.ts +12 -12
  606. package/src/server/primitives.ts +7 -7
  607. package/src/server/publish-params.ts +3 -3
  608. package/src/server/request-context.ts +7 -7
  609. package/src/server/route-element-builder.ts +108 -50
  610. package/src/server/route-handler.ts +4 -4
  611. package/src/server/route-matcher.ts +5 -5
  612. package/src/server/rsc-cache-key-guard.ts +3 -5
  613. package/src/server/rsc-entry/action-middleware-runner.ts +7 -7
  614. package/src/server/rsc-entry/api-handler.ts +18 -9
  615. package/src/server/rsc-entry/deny-fallback.ts +10 -10
  616. package/src/server/rsc-entry/error-renderer.ts +27 -27
  617. package/src/server/rsc-entry/helpers.ts +10 -10
  618. package/src/server/rsc-entry/index.ts +51 -47
  619. package/src/server/rsc-entry/render-route.ts +20 -20
  620. package/src/server/rsc-entry/revalidate-renderer.ts +12 -12
  621. package/src/server/rsc-entry/rsc-payload.ts +19 -15
  622. package/src/server/rsc-entry/rsc-stream.ts +8 -8
  623. package/src/server/rsc-entry/ssr-bridge.ts +3 -3
  624. package/src/server/rsc-entry/ssr-renderer.ts +23 -23
  625. package/src/server/rsc-entry/wrap-action-dispatch.ts +9 -9
  626. package/src/server/rsc-prop-warnings.ts +1 -1
  627. package/src/server/sensitive-fields.ts +1 -1
  628. package/src/server/server-timing.ts +1 -1
  629. package/src/server/sitemap-generator.ts +3 -3
  630. package/src/server/sitemap-handler.ts +3 -3
  631. package/src/server/skippable-prefix.ts +7 -7
  632. package/src/server/slot-interception.ts +5 -5
  633. package/src/server/slot-resolver.ts +20 -28
  634. package/src/server/ssr-bridge-types.ts +2 -2
  635. package/src/server/ssr-entry.ts +18 -18
  636. package/src/server/ssr-render.ts +4 -4
  637. package/src/server/ssr-wrappers.tsx +1 -1
  638. package/src/server/state-tree-diff.ts +1 -1
  639. package/src/server/static-generator.ts +6 -6
  640. package/src/server/static-not-found.ts +3 -3
  641. package/src/server/status-code-resolver.ts +1 -1
  642. package/src/server/tracing.ts +5 -5
  643. package/src/server/tree-builder.ts +4 -4
  644. package/src/server/tree-match.ts +1 -1
  645. package/src/server/types.ts +2 -2
  646. package/src/server/utils/mdx-file.ts +2 -2
  647. package/src/server/waituntil-bridge.ts +1 -1
  648. package/src/server/workers-cache-bridge.ts +2 -2
  649. package/src/shared/als-slots.ts +1 -1
  650. package/src/shared/payload-root.ts +2 -2
  651. package/src/shared/rsc-media-type.ts +16 -0
  652. package/src/shared/slot-params.ts +1 -1
  653. package/src/shims/font-google.ts +1 -1
  654. package/src/shims/font-local.ts +1 -1
  655. package/src/shims/navigation-client.ts +5 -5
  656. package/src/shims/navigation.ts +2 -2
  657. package/LICENSE +0 -8
  658. package/dist/_chunks/actions-BjbbNRFN.js.map +0 -1
  659. package/dist/_chunks/build-output-helper-C3DrfzZR.js.map +0 -1
  660. package/dist/_chunks/cache-api-DllJ-Lyw.js.map +0 -1
  661. package/dist/_chunks/cli-check-DJZDc22E.js.map +0 -1
  662. package/dist/_chunks/convention-lint-CpteIpTm.js.map +0 -1
  663. package/dist/_chunks/dist-BA3u1z3W.js +0 -423
  664. package/dist/_chunks/dist-BA3u1z3W.js.map +0 -1
  665. package/dist/_chunks/mdx-file-C005ay-P.js.map +0 -1
  666. package/dist/_chunks/plugin-context-rCinWLiE.js.map +0 -1
  667. package/dist/_chunks/scanner-CAietmj4.js.map +0 -1
  668. package/dist/content/index.d.ts +0 -2
  669. package/dist/content/index.d.ts.map +0 -1
  670. package/dist/content/index.js +0 -0
  671. package/src/content/index.ts +0 -5
  672. package/src/shims/server-only-noop.js +0 -6
@@ -24,19 +24,19 @@
24
24
  import { createElement } from 'react';
25
25
  import { hydrateRoot, createRoot } from 'react-dom/client';
26
26
  import { getRouterOrNull } from '#client-internal';
27
- import { PayloadRoot } from '../params-context.js';
27
+ import { PayloadRoot } from '../params-context.ts';
28
28
  import {
29
29
  NavigationProvider,
30
30
  getNavigationState,
31
31
  setNavigationState,
32
- } from '../navigation-context.js';
33
- import { SegmentUpdateContext, EMPTY_SEGMENT_UPDATES } from '../segment-update-context.js';
34
- import { TimberNuqsAdapter } from '../nuqs-adapter.js';
35
- import { isPageUnloading } from '../unload-guard.js';
36
- import { NavigationRoot, installDeferredNavigation } from '../navigation-root.js';
37
- import type { TopLoaderConfig } from '../top-loader.js';
32
+ } from '../navigation-context.ts';
33
+ import { SegmentUpdateContext, EMPTY_SEGMENT_UPDATES } from '../segment-update-context.ts';
34
+ import { TimberNuqsAdapter } from '../nuqs-adapter.tsx';
35
+ import { isPageUnloading } from '../unload-guard.ts';
36
+ import { NavigationRoot, installDeferredNavigation } from '../navigation-root.tsx';
37
+ import type { TopLoaderConfig } from '../top-loader.tsx';
38
38
 
39
- import type { RscStreamResult } from './rsc-stream.js';
39
+ import type { RscStreamResult } from './rsc-stream.ts';
40
40
 
41
41
  let showHydrationError: ((error: unknown) => void) | null = null;
42
42
  let isHydrationError: ((error: unknown) => boolean) | null = null;
@@ -58,7 +58,7 @@ if (process.env.NODE_ENV !== 'production') {
58
58
  queueOrShowHydrationError(new Error(message));
59
59
  }
60
60
  };
61
- import('../../dev-tools/hydration-overlay.js').then((m) => {
61
+ import('../../dev-tools/hydration-overlay.ts').then((m) => {
62
62
  showHydrationError = m.showHydrationError;
63
63
  isHydrationError = m.isHydrationError;
64
64
  for (const err of pendingHydrationErrors) {
@@ -32,19 +32,19 @@ import config from 'virtual:timber-config';
32
32
  // use codec.serialize() for URL construction. Side-effect-only import.
33
33
  // @ts-expect-error — virtual module provided by timber-routing plugin
34
34
  import schemaCodecs from 'virtual:timber-schema';
35
- import { setLinkCodecs } from '../../params/codec-registry.js';
35
+ import { setLinkCodecs } from '../../params/codec-registry.ts';
36
36
  setLinkCodecs(schemaCodecs);
37
37
 
38
- import { setClientDeploymentId, setStaticMode, setBasePath } from '../rsc-fetch.js';
39
- import { initStaleClient } from '../stale-client.js';
38
+ import { setClientDeploymentId, setStaticMode, setBasePath } from '../rsc-fetch.ts';
39
+ import { initStaleClient } from '../stale-client.ts';
40
40
 
41
- import { setupServerActions } from './action-dispatch.js';
42
- import { createRscPayloadStream } from './rsc-stream.js';
43
- import { createTimberRouter } from './router-init.js';
44
- import { readPublishedParams } from '../../shared/payload-root.js';
45
- import { runPreHydration, hydrateApp } from './hydrate.js';
46
- import { setupPostHydration } from './post-hydration.js';
47
- import { setupHmr } from './hmr.js';
41
+ import { setupServerActions } from './action-dispatch.ts';
42
+ import { createRscPayloadStream } from './rsc-stream.ts';
43
+ import { createTimberRouter } from './router-init.ts';
44
+ import { readPublishedParams } from '../../shared/payload-root.ts';
45
+ import { runPreHydration, hydrateApp } from './hydrate.ts';
46
+ import { setupPostHydration } from './post-hydration.ts';
47
+ import { setupHmr } from './hmr.ts';
48
48
 
49
49
  // ─── 1. Server Action Dispatch (independent) ────────────────────
50
50
 
@@ -12,10 +12,10 @@
12
12
  */
13
13
 
14
14
  import type { RouterInstance } from '#client-internal';
15
- import { getNavigationState } from '../navigation-context.js';
16
- import type { NavigationApiController } from '../navigation-api.js';
17
- import { getScrollY } from './scroll.js';
18
- import type { ParamsSource } from '../../shared/payload-root.js';
15
+ import { getNavigationState } from '../navigation-context.ts';
16
+ import type { NavigationApiController } from '../navigation-api.ts';
17
+ import { getScrollY } from './scroll.ts';
18
+ import type { ParamsSource } from '../../shared/payload-root.ts';
19
19
 
20
20
  interface PostHydrationOptions {
21
21
  router: RouterInstance;
@@ -40,7 +40,7 @@ export function setupPostHydration({
40
40
  // See design/19-client-navigation.md §"X-Timber-State-Tree Header"
41
41
  const timberSegments = (self as unknown as Record<string, unknown>).__timber_segments;
42
42
  const initialSegmentInfo = Array.isArray(timberSegments)
43
- ? (timberSegments as import('../../shared/segment-info.js').SegmentInfo[])
43
+ ? (timberSegments as import('../../shared/segment-info.ts').SegmentInfo[])
44
44
  : null;
45
45
  if (initialSegmentInfo) {
46
46
  router.initSegmentCache(initialSegmentInfo);
@@ -8,26 +8,26 @@
8
8
  */
9
9
 
10
10
  import { createElement } from 'react';
11
- import { createFromFetch } from '../../rsc-runtime/browser.js';
12
- import { PayloadRoot } from '../params-context.js';
13
- import { readPublishedParams, type ParamsSource } from '../../shared/payload-root.js';
11
+ import { createFromFetch } from '../../rsc-runtime/browser.ts';
12
+ import { PayloadRoot } from '../params-context.ts';
13
+ import { readPublishedParams, type ParamsSource } from '../../shared/payload-root.ts';
14
14
  import { createRouter, setGlobalRouter } from '#client-internal';
15
15
  import type { RouterDeps, RouterInstance } from '#client-internal';
16
16
  import type { NavigationState } from '#client-internal';
17
- import { TimberNuqsAdapter } from '../nuqs-adapter.js';
17
+ import { TimberNuqsAdapter } from '../nuqs-adapter.tsx';
18
18
  import {
19
19
  NavigationProvider,
20
20
  getNavigationState,
21
21
  setNavigationState,
22
- } from '../navigation-context.js';
23
- import { transitionRender, navigateTransition } from '../navigation-root.js';
24
- import { SegmentUpdateContext, EMPTY_SEGMENT_UPDATES } from '../segment-update-context.js';
22
+ } from '../navigation-context.ts';
23
+ import { transitionRender, navigateTransition } from '../navigation-root.tsx';
24
+ import { SegmentUpdateContext, EMPTY_SEGMENT_UPDATES } from '../segment-update-context.ts';
25
25
  import {
26
26
  hasNavigationApi,
27
27
  setupNavigationApi,
28
28
  type NavigationApiController,
29
- } from '../navigation-api.js';
30
- import { getScrollY, scrollToHashTarget } from './scroll.js';
29
+ } from '../navigation-api.ts';
30
+ import { getScrollY, scrollToHashTarget } from './scroll.ts';
31
31
 
32
32
  export interface RouterInitOptions {
33
33
  initialElement?: unknown;
@@ -11,9 +11,9 @@
11
11
  * See design/18-build-system.md §"Entry Files"
12
12
  */
13
13
 
14
- import { createFromReadableStream } from '../../rsc-runtime/browser.js';
15
- import { isPageUnloading } from '../unload-guard.js';
16
- import { splitPayloadRoot, type PublishedParams } from '../../shared/payload-root.js';
14
+ import { createFromReadableStream } from '../../rsc-runtime/browser.ts';
15
+ import { isPageUnloading } from '../unload-guard.ts';
16
+ import { splitPayloadRoot, type PublishedParams } from '../../shared/payload-root.ts';
17
17
 
18
18
  type FlightSegment = [isBootstrap: 0] | [isData: 1, data: string];
19
19
 
@@ -19,14 +19,14 @@
19
19
  */
20
20
 
21
21
  import { Component, createElement, type ReactNode } from 'react';
22
- import { getSsrData } from './ssr-data.js';
23
- import { getRouterOrNull } from './router-ref.js';
24
- import { markStaleFromError } from './stale-client.js';
22
+ import { getSsrData } from './ssr-data.ts';
23
+ import { getRouterOrNull } from './router-ref.ts';
24
+ import { markStaleFromError } from './stale-client.ts';
25
25
  // Page unload detection: when the page is being torn down, error boundaries
26
26
  // suppress activation — the error is from the aborted connection, not the
27
27
  // application. unload-guard.ts is the single owner of that state; this module
28
28
  // used to keep its own copy, which drifted (TIM-1260).
29
- import { isPageUnloading } from './unload-guard.js';
29
+ import { isPageUnloading } from './unload-guard.ts';
30
30
 
31
31
  // ─── Digest Types ────────────────────────────────────────────────────────────
32
32
 
@@ -12,8 +12,13 @@
12
12
  */
13
13
 
14
14
  import { useActionState as reactUseActionState, useTransition } from 'react';
15
- import type { ActionFn, ActionResult, InputHint, ValidationErrors } from '../server/action-client';
16
- import type { FormFlashData } from '../server/form-flash';
15
+ import type {
16
+ ActionFn,
17
+ ActionResult,
18
+ InputHint,
19
+ ValidationErrors,
20
+ } from '../server/action-client.ts';
21
+ import type { FormFlashData } from '../server/form-flash.ts';
17
22
 
18
23
  // ─── Types ───────────────────────────────────────────────────────────────
19
24
 
@@ -1,8 +1,8 @@
1
1
  // History Stack — stores RSC payloads by URL for instant back/forward navigation
2
2
  // See design/19-client-navigation.md § History Stack
3
3
 
4
- import type { ParamsSource } from '../shared/payload-root.js';
5
- import type { SegmentInfo } from '../shared/segment-info.js';
4
+ import type { ParamsSource } from '../shared/payload-root.ts';
5
+ import type { SegmentInfo } from '../shared/segment-info.ts';
6
6
 
7
7
  // ─── Types ───────────────────────────────────────────────────────
8
8
 
@@ -7,13 +7,13 @@
7
7
 
8
8
  // JsonSerializable moved to @timber-js/app/codec as the single canonical path.
9
9
  // Re-export removed per TIM-721.
10
- export type { RenderErrorDigest } from './types';
10
+ export type { RenderErrorDigest } from './types.ts';
11
11
 
12
12
  // Navigation
13
- export { Link, interpolateParams, resolveHref, validateLinkHref, buildLinkProps } from './link';
14
- export { mergePreservedSearchParams } from '../shared/merge-search-params.js';
15
- export type { LinkProps, LinkPropsWithHref, LinkPropsWithParams, LinkBaseProps } from './link';
16
- export type { LinkSegmentParams, OnNavigateHandler, OnNavigateEvent } from './link';
13
+ export { Link, interpolateParams, resolveHref, validateLinkHref, buildLinkProps } from './link.tsx';
14
+ export { mergePreservedSearchParams } from '../shared/merge-search-params.ts';
15
+ export type { LinkProps, LinkPropsWithHref, LinkPropsWithParams, LinkBaseProps } from './link.tsx';
16
+ export type { LinkSegmentParams, OnNavigateHandler, OnNavigateEvent } from './link.tsx';
17
17
 
18
18
  // ─── LinkFunction (originally declared here for module augmentation) ───
19
19
  //
@@ -61,24 +61,27 @@ export interface LinkFunction {
61
61
  // intentionally empty — call signatures are provided via codegen
62
62
  // augmentation in `.timber/timber-routes.d.ts`.
63
63
  }
64
- export { usePendingNavigation } from './use-pending-navigation';
65
- export { useLinkStatus, LinkStatusContext } from './use-link-status';
66
- export type { LinkStatus } from './use-link-status';
67
- export { useRouter } from './use-router';
68
- export type { AppRouterInstance } from './use-router';
69
- export { usePathname } from './use-pathname';
70
- export { replaceUrl } from './shallow-url';
64
+ export { usePendingNavigation } from './use-pending-navigation.ts';
65
+ export { useLinkStatus, LinkStatusContext } from './use-link-status.ts';
66
+ export type { LinkStatus } from './use-link-status.ts';
67
+ export { useRouter } from './use-router.ts';
68
+ export type { AppRouterInstance } from './use-router.ts';
69
+ export { usePathname } from './use-pathname.ts';
70
+ export { replaceUrl } from './shallow-url.ts';
71
71
  // useSearchParams removed from public exports — lives in next/navigation shim only.
72
- export { useSelectedLayoutSegment, useSelectedLayoutSegments } from './use-selected-layout-segment';
72
+ export {
73
+ useSelectedLayoutSegment,
74
+ useSelectedLayoutSegments,
75
+ } from './use-selected-layout-segment.ts';
73
76
 
74
77
  // Forms
75
- export { useActionState, useFormAction } from './form';
76
- export type { UseActionStateFn, UseActionStateReturn, FormErrorsResult } from './form';
78
+ export { useActionState, useFormAction } from './form.tsx';
79
+ export type { UseActionStateFn, UseActionStateReturn, FormErrorsResult } from './form.tsx';
77
80
 
78
81
  // Params. Called with no argument this returns the untyped accumulated params;
79
82
  // pass the route's SEGMENT_PATH (from its generated `./$segment` module) to get
80
83
  // the exact types `app/schema.ts` declares — `useSegmentParams(SEGMENT_PATH)`.
81
- export { useSegmentParams } from './use-segment-params';
84
+ export { useSegmentParams } from './use-segment-params.ts';
82
85
 
83
86
  // Query states. `definition.useQueryStates()` is the usual form; this standalone
84
87
  // export is the inline codec-map form, for shared param bundles reused across
@@ -90,8 +93,8 @@ export { useSegmentParams } from './use-segment-params';
90
93
  // believed in a binding that was never emitted, and the documented import
91
94
  // failed at build time. Deleting that overload removed the lie; exporting the
92
95
  // hook makes the docs true.
93
- export { useQueryStates } from './use-query-states';
96
+ export { useQueryStates } from './use-query-states.ts';
94
97
 
95
98
  // Cookies — useCookie lives on defineCookie().useCookie().
96
99
  // Types still exported for advanced use.
97
- export type { ClientCookieOptions, CookieSetter } from './use-cookie';
100
+ export type { ClientCookieOptions, CookieSetter } from './use-cookie.ts';
@@ -11,7 +11,7 @@
11
11
  // Design doc: design/triage/api-naming-spike.md §8.5
12
12
 
13
13
  // ── Bootstrap ────────────────────────────────────────────────────────────
14
- export { createRouter } from './router.js';
14
+ export { createRouter } from './router.ts';
15
15
  export type {
16
16
  RouterInstance,
17
17
  NavigationOptions,
@@ -19,41 +19,41 @@ export type {
19
19
  RouterPhase,
20
20
  RscDecoder,
21
21
  RootRenderer,
22
- } from './router-types.js';
23
- export { getRouter, getRouterOrNull, setGlobalRouter } from './router-ref.js';
22
+ } from './router-types.ts';
23
+ export { getRouter, getRouterOrNull, setGlobalRouter } from './router-ref.ts';
24
24
 
25
25
  // ── SSR bridge ───────────────────────────────────────────────────────────
26
- export { setSsrData, clearSsrData, getSsrData } from './ssr-data.js';
27
- export type { SsrData } from './ssr-data.js';
26
+ export { setSsrData, clearSsrData, getSsrData } from './ssr-data.ts';
27
+ export type { SsrData } from './ssr-data.ts';
28
28
 
29
29
  // ── Segment context ──────────────────────────────────────────────────────
30
- export { SegmentProvider, useSegmentContext } from './segment-context.js';
31
- export type { SegmentContextValue } from './segment-context.js';
30
+ export { SegmentProvider, useSegmentContext } from './segment-context.ts';
31
+ export type { SegmentContextValue } from './segment-context.ts';
32
32
 
33
33
  // ── Segment cache ────────────────────────────────────────────────────────
34
- export { SegmentCache, PrefetchCache } from './segment-cache.js';
35
- export type { SegmentNode, PrefetchKey } from './segment-cache.js';
36
- export type { SegmentInfo, StateTree } from '../shared/segment-info.js';
34
+ export { SegmentCache, PrefetchCache } from './segment-cache.ts';
35
+ export type { SegmentNode, PrefetchKey } from './segment-cache.ts';
36
+ export type { SegmentInfo, StateTree } from '../shared/segment-info.ts';
37
37
 
38
38
  // ── History ──────────────────────────────────────────────────────────────
39
- export { HistoryStack } from './history.js';
40
- export type { HistoryEntry } from './history.js';
39
+ export { HistoryStack } from './history.ts';
40
+ export type { HistoryEntry } from './history.ts';
41
41
 
42
42
  // ── Params (internal setter + raw hooks) ─────────────────────────────────
43
- export { setCurrentParams, setCurrentSlotParams } from './use-segment-params.js';
44
- export { useSearchParams } from './use-search-params.js';
43
+ export { setCurrentParams, setCurrentSlotParams } from './use-segment-params.ts';
44
+ export { useSearchParams } from './use-search-params.ts';
45
45
 
46
46
  // ── Navigation context ───────────────────────────────────────────────────
47
47
  export {
48
48
  NavigationProvider,
49
49
  getNavigationState,
50
50
  setNavigationState,
51
- } from './navigation-context.js';
52
- export type { NavigationState } from './navigation-context.js';
51
+ } from './navigation-context.ts';
52
+ export type { NavigationState } from './navigation-context.ts';
53
53
 
54
54
  // ── Query states (internal binder) ───────────────────────────────────────
55
- export { bindUseQueryStates } from './use-query-states.js';
55
+ export { bindUseQueryStates } from './use-query-states.ts';
56
56
 
57
57
  // ── Error boundary ───────────────────────────────────────────────────────
58
- export { TimberErrorBoundary } from './error-boundary.js';
59
- export type { TimberErrorBoundaryProps } from './error-boundary.js';
58
+ export { TimberErrorBoundary } from './error-boundary.tsx';
59
+ export type { TimberErrorBoundaryProps } from './error-boundary.tsx';
@@ -26,18 +26,18 @@ import {
26
26
  type ReactNode,
27
27
  type MouseEvent as ReactMouseEvent,
28
28
  } from 'react';
29
- import type { LinkFunction } from './index.js';
30
- import { classifyUrlSegment, type UrlSegment } from '../routing/segment-classify.js';
29
+ import type { LinkFunction } from './index.ts';
30
+ import { classifyUrlSegment, type UrlSegment } from '../routing/segment-classify.ts';
31
31
  import {
32
32
  validateNavigationHref as validateLinkHref,
33
33
  isInternalHref,
34
- } from '../shared/href-validation.js';
35
- import { LinkStatusContext } from './use-link-status.js';
36
- import { getRouterOrNull } from './router-ref.js';
37
- import { getSsrData } from './ssr-data.js';
38
- import { mergePreservedSearchParams } from '../shared/merge-search-params.js';
39
- import { getLinkCodec } from '../params/codec-registry.js';
40
- import type { LinkStatus } from './use-link-status.js';
34
+ } from '../shared/href-validation.ts';
35
+ import { LinkStatusContext } from './use-link-status.ts';
36
+ import { getRouterOrNull } from './router-ref.ts';
37
+ import { getSsrData } from './ssr-data.ts';
38
+ import { mergePreservedSearchParams } from '../shared/merge-search-params.ts';
39
+ import { getLinkCodec } from '../params/codec-registry.ts';
40
+ import type { LinkStatus } from './use-link-status.ts';
41
41
 
42
42
  const LINK_PENDING: LinkStatus = { isPending: true };
43
43
  const LINK_IDLE: LinkStatus = { isPending: false };
@@ -17,7 +17,7 @@
17
17
  * See design/19-client-navigation.md
18
18
  */
19
19
 
20
- import { isHardNavigating } from './navigation-root.js';
20
+ import { isHardNavigating } from './navigation-root.tsx';
21
21
 
22
22
  // ─── Feature Detection ───────────────────────────────────────────
23
23
 
@@ -10,11 +10,11 @@
10
10
  * See design/19-client-navigation.md §"State Update Invariants".
11
11
  */
12
12
 
13
- import { buildSegmentTree, type SegmentCache } from './segment-cache.js';
14
- import type { HistoryStack } from './history.js';
15
- import type { SegmentInfo, StateTree } from '../shared/segment-info.js';
16
- import type { ParamsSource } from '../shared/payload-root.js';
17
- import { setNavigationState, type NavigationState } from './navigation-context.js';
13
+ import { buildSegmentTree, type SegmentCache } from './segment-cache.ts';
14
+ import type { HistoryStack } from './history.ts';
15
+ import type { SegmentInfo, StateTree } from '../shared/segment-info.ts';
16
+ import type { ParamsSource } from '../shared/payload-root.ts';
17
+ import { setNavigationState, type NavigationState } from './navigation-context.ts';
18
18
 
19
19
  /** Everything a commit needs to describe the page it makes current. */
20
20
  export interface NavigationCommitInput {
@@ -42,7 +42,7 @@
42
42
  */
43
43
 
44
44
  import React, { createElement, type ReactNode } from 'react';
45
- import type { SlotParamsRecord } from '../shared/slot-params.js';
45
+ import type { SlotParamsRecord } from '../shared/slot-params.ts';
46
46
 
47
47
  // ---------------------------------------------------------------------------
48
48
  // Context type
@@ -44,7 +44,7 @@ import {
44
44
  useState,
45
45
  type ReactNode,
46
46
  } from 'react';
47
- import { TopLoader, type TopLoaderConfig } from './top-loader.js';
47
+ import { TopLoader, type TopLoaderConfig } from './top-loader.tsx';
48
48
 
49
49
  // ─── Transition Result ──────────────────────────────────────────
50
50
 
@@ -19,8 +19,8 @@ import {
19
19
  type unstable_AdapterInterface as AdapterInterface,
20
20
  type unstable_AdapterOptions as AdapterOptions,
21
21
  } from 'nuqs/adapters/custom';
22
- import { getRouter } from './router-ref.js';
23
- import { getNavigationApi } from './navigation-api.js';
22
+ import { getRouter } from './router-ref.ts';
23
+ import { getNavigationApi } from './navigation-api.ts';
24
24
 
25
25
  // ─── Adapter Hook ─────────────────────────────────────────────────
26
26
 
@@ -31,10 +31,10 @@
31
31
  'use client';
32
32
 
33
33
  import React, { createElement, useMemo, use } from 'react';
34
- import { _setCurrentParams, _setCurrentSlotParams } from './state.js';
35
- import { toNullProtoRecord, type CoercedParams } from '../shared/param-value.js';
36
- import { readPublishedParams, type PublishedParams } from '../shared/payload-root.js';
37
- import type { SlotParamsRecord } from '../shared/slot-params.js';
34
+ import { _setCurrentParams, _setCurrentSlotParams } from './state.ts';
35
+ import { toNullProtoRecord, type CoercedParams } from '../shared/param-value.ts';
36
+ import { readPublishedParams, type PublishedParams } from '../shared/payload-root.ts';
37
+ import type { SlotParamsRecord } from '../shared/slot-params.ts';
38
38
 
39
39
  // ─── Types ───────────────────────────────────────────────────────
40
40
 
@@ -9,9 +9,9 @@
9
9
  * See design/19-client-navigation.md §"Scroll Restoration"
10
10
  */
11
11
 
12
- import { setHardNavigating } from './navigation-root.js';
13
- import { RedirectError, ServerErrorResponse, NonRscResponse } from './rsc-fetch.js';
14
- import { recordSkew } from './router-skew.js';
12
+ import { setHardNavigating } from './navigation-root.tsx';
13
+ import { RedirectError, ServerErrorResponse, NonRscResponse } from './rsc-fetch.ts';
14
+ import { recordSkew } from './router-skew.ts';
15
15
 
16
16
  /** The subset of `RouterDeps` the post-paint scroll effects need. */
17
17
  export interface ScrollEffectDeps {
@@ -16,8 +16,8 @@
16
16
  * See design/19-client-navigation.md §"How Pending State Works".
17
17
  */
18
18
 
19
- import { supersedeNavigationTransitions } from './navigation-root.js';
20
- import type { RouterPhase } from './router-types.js';
19
+ import { supersedeNavigationTransitions } from './navigation-root.tsx';
20
+ import type { RouterPhase } from './router-types.ts';
21
21
 
22
22
  /** The subset of `RouterDeps` the navigation lifecycle needs. */
23
23
  export interface NavigationLifecycleDeps {
@@ -13,16 +13,16 @@
13
13
  * See design/19-client-navigation.md §"Partial Rendering" and §"Prefetching".
14
14
  */
15
15
 
16
- import { fetchRscPayload, NonRscResponse } from './rsc-fetch.js';
17
- import type { FetchResult } from './rsc-fetch.js';
18
- import { readPublishedParams, type ParamsSource } from '../shared/payload-root.js';
19
- import type { PrefetchCache, PrefetchKey } from './segment-cache.js';
20
- import { prefetchScopeOf } from './segment-cache.js';
21
- import type { StateTree } from '../shared/segment-info.js';
22
- import type { NavigationState } from './navigation-context.js';
23
- import type { NavigationCommitter } from './navigation-commit.js';
24
- import type { RouterDeps } from './router-types.js';
25
- import { recordSkew } from './router-skew.js';
16
+ import { fetchRscPayload, NonRscResponse } from './rsc-fetch.ts';
17
+ import type { FetchResult } from './rsc-fetch.ts';
18
+ import { readPublishedParams, type ParamsSource } from '../shared/payload-root.ts';
19
+ import type { PrefetchCache, PrefetchKey } from './segment-cache.ts';
20
+ import { prefetchScopeOf } from './segment-cache.ts';
21
+ import type { StateTree } from '../shared/segment-info.ts';
22
+ import type { NavigationState } from './navigation-context.ts';
23
+ import type { NavigationCommitter } from './navigation-commit.ts';
24
+ import type { RouterDeps } from './router-types.ts';
25
+ import { recordSkew } from './router-skew.ts';
26
26
 
27
27
  /** A fetched payload plus the state update that makes it the current page. */
28
28
  export type NavigationPayload = FetchResult & {
@@ -6,8 +6,8 @@
6
6
  //
7
7
  // See design/18-build-system.md §"Module Singleton Strategy"
8
8
 
9
- import type { RouterInstance } from './router-types.js';
10
- import { globalRouter, _setGlobalRouter } from './state.js';
9
+ import type { RouterInstance } from './router-types.ts';
10
+ import { globalRouter, _setGlobalRouter } from './state.ts';
11
11
 
12
12
  /**
13
13
  * Set the global router instance. Called once during bootstrap.
@@ -9,8 +9,8 @@
9
9
  * See design/33-version-skew.md §"Recovery on the next navigation"
10
10
  */
11
11
 
12
- import { VersionSkewError } from './rsc-fetch.js';
13
- import { markClientStale, markStaleFromError } from './stale-client.js';
12
+ import { VersionSkewError } from './rsc-fetch.ts';
13
+ import { markClientStale, markStaleFromError } from './stale-client.ts';
14
14
 
15
15
  /**
16
16
  * Record a version skew if `error` is one, and report whether it was.
@@ -9,12 +9,12 @@
9
9
  * See design/19-client-navigation.md for the architecture these describe.
10
10
  */
11
11
 
12
- import type { NavigationState } from './navigation-context.js';
13
- import type { ParamsSource } from '../shared/payload-root.js';
14
- import type { SegmentInfo } from '../shared/segment-info.js';
15
- import type { SegmentCache, PrefetchCache } from './segment-cache.js';
16
- import type { HistoryStack } from './history.js';
17
- import type { TransitionResult } from './navigation-root.js';
12
+ import type { NavigationState } from './navigation-context.ts';
13
+ import type { ParamsSource } from '../shared/payload-root.ts';
14
+ import type { SegmentInfo } from '../shared/segment-info.ts';
15
+ import type { SegmentCache, PrefetchCache } from './segment-cache.ts';
16
+ import type { HistoryStack } from './history.ts';
17
+ import type { TransitionResult } from './navigation-root.tsx';
18
18
 
19
19
  export interface NavigationOptions {
20
20
  /** Set to false to prevent scroll-to-top on forward navigation */
@@ -11,19 +11,19 @@
11
11
  //
12
12
  // See design/19-client-navigation.md for the full architecture.
13
13
 
14
- import { SegmentCache, PrefetchCache } from './segment-cache';
15
- import type { SegmentInfo } from '../shared/segment-info.js';
16
- import { HistoryStack } from './history';
17
- import { createNavigationCommitter } from './navigation-commit.js';
18
-
19
- import { fetchRscPayload, NonRscResponse } from './rsc-fetch.js';
20
- import { readPayloadTree, readPublishedParams } from '../shared/payload-root.js';
21
- import { isClientStale } from './stale-client.js';
22
- import { createScrollEffects, createSpaExits, createNavigationRecovery } from './router-effects.js';
23
- import { createNavigationLifecycle } from './router-lifecycle.js';
24
- import { createNavigationPipeline, prefetchKeyFor } from './router-pipeline.js';
25
- import { recordSkew } from './router-skew.js';
26
- import type { NavigationOptions, RouterDeps, RouterInstance } from './router-types.js';
14
+ import { SegmentCache, PrefetchCache } from './segment-cache.ts';
15
+ import type { SegmentInfo } from '../shared/segment-info.ts';
16
+ import { HistoryStack } from './history.ts';
17
+ import { createNavigationCommitter } from './navigation-commit.ts';
18
+
19
+ import { fetchRscPayload, NonRscResponse } from './rsc-fetch.ts';
20
+ import { readPayloadTree, readPublishedParams } from '../shared/payload-root.ts';
21
+ import { isClientStale } from './stale-client.ts';
22
+ import { createScrollEffects, createSpaExits, createNavigationRecovery } from './router-effects.ts';
23
+ import { createNavigationLifecycle } from './router-lifecycle.ts';
24
+ import { createNavigationPipeline, prefetchKeyFor } from './router-pipeline.ts';
25
+ import { recordSkew } from './router-skew.ts';
26
+ import type { NavigationOptions, RouterDeps, RouterInstance } from './router-types.ts';
27
27
 
28
28
  // ─── Router Factory ──────────────────────────────────────────────
29
29