@timber-js/app 0.2.0-alpha.11 → 0.2.0-alpha.110

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 (725) hide show
  1. package/dist/_chunks/actions-D6gyxlGQ.js +1058 -0
  2. package/dist/_chunks/actions-D6gyxlGQ.js.map +1 -0
  3. package/dist/_chunks/build-output-helper-5TK2Emwp.js +61 -0
  4. package/dist/_chunks/build-output-helper-5TK2Emwp.js.map +1 -0
  5. package/dist/_chunks/define-BflNsrwD.js +124 -0
  6. package/dist/_chunks/define-BflNsrwD.js.map +1 -0
  7. package/dist/_chunks/define-Dn98bPbb.js +195 -0
  8. package/dist/_chunks/define-Dn98bPbb.js.map +1 -0
  9. package/dist/_chunks/format-CYBGxKtc.js +14 -0
  10. package/dist/_chunks/format-CYBGxKtc.js.map +1 -0
  11. package/dist/_chunks/handler-store-B_df5Npe.js +54 -0
  12. package/dist/_chunks/handler-store-B_df5Npe.js.map +1 -0
  13. package/dist/_chunks/logger-DDmK5skc.js +291 -0
  14. package/dist/_chunks/logger-DDmK5skc.js.map +1 -0
  15. package/dist/_chunks/merge-search-params-Cm_KIWDX.js +41 -0
  16. package/dist/_chunks/merge-search-params-Cm_KIWDX.js.map +1 -0
  17. package/dist/_chunks/navigation-root-2ypaZQDx.js +96 -0
  18. package/dist/_chunks/navigation-root-2ypaZQDx.js.map +1 -0
  19. package/dist/_chunks/registry-DB93kT5c.js +20 -0
  20. package/dist/_chunks/registry-DB93kT5c.js.map +1 -0
  21. package/dist/_chunks/router-ref-TkUdmqtM.js +28 -0
  22. package/dist/_chunks/router-ref-TkUdmqtM.js.map +1 -0
  23. package/dist/_chunks/schema-bridge-C3xl_vfb.js +86 -0
  24. package/dist/_chunks/schema-bridge-C3xl_vfb.js.map +1 -0
  25. package/dist/_chunks/segment-classify-CnfLLvir.js +137 -0
  26. package/dist/_chunks/segment-classify-CnfLLvir.js.map +1 -0
  27. package/dist/_chunks/segment-context-Dc-GbSTe.js +34 -0
  28. package/dist/_chunks/segment-context-Dc-GbSTe.js.map +1 -0
  29. package/dist/_chunks/{ssr-data-MjmprTmO.js → ssr-data-DzuI0bIV.js} +1 -1
  30. package/dist/_chunks/ssr-data-DzuI0bIV.js.map +1 -0
  31. package/dist/_chunks/stale-reload-D6FlD3xn.js +64 -0
  32. package/dist/_chunks/stale-reload-D6FlD3xn.js.map +1 -0
  33. package/dist/_chunks/tracing-DvKLzCFa.js +329 -0
  34. package/dist/_chunks/tracing-DvKLzCFa.js.map +1 -0
  35. package/dist/_chunks/{use-query-states-D5KaffOK.js → use-query-states-B-cLl8mx.js} +7 -20
  36. package/dist/_chunks/use-query-states-B-cLl8mx.js.map +1 -0
  37. package/dist/_chunks/use-segment-params-07V1TIxL.js +185 -0
  38. package/dist/_chunks/use-segment-params-07V1TIxL.js.map +1 -0
  39. package/dist/_chunks/validation-DfyuMoK2.js +84 -0
  40. package/dist/_chunks/validation-DfyuMoK2.js.map +1 -0
  41. package/dist/_chunks/walkers-DQn5NNrf.js +850 -0
  42. package/dist/_chunks/walkers-DQn5NNrf.js.map +1 -0
  43. package/dist/_chunks/{format-DviM89f0.js → warnings-B30wpfaS.js} +6 -45
  44. package/dist/_chunks/warnings-B30wpfaS.js.map +1 -0
  45. package/dist/adapters/build-output-helper.d.ts +28 -0
  46. package/dist/adapters/build-output-helper.d.ts.map +1 -0
  47. package/dist/adapters/cloudflare-dev.d.ts +109 -0
  48. package/dist/adapters/cloudflare-dev.d.ts.map +1 -0
  49. package/dist/adapters/cloudflare-dev.js +73 -0
  50. package/dist/adapters/cloudflare-dev.js.map +1 -0
  51. package/dist/adapters/cloudflare-kv-cache.d.ts +64 -0
  52. package/dist/adapters/cloudflare-kv-cache.d.ts.map +1 -0
  53. package/dist/adapters/cloudflare-kv-cache.js +95 -0
  54. package/dist/adapters/cloudflare-kv-cache.js.map +1 -0
  55. package/dist/adapters/cloudflare.d.ts +148 -12
  56. package/dist/adapters/cloudflare.d.ts.map +1 -1
  57. package/dist/adapters/cloudflare.js +142 -38
  58. package/dist/adapters/cloudflare.js.map +1 -1
  59. package/dist/adapters/compress-module.d.ts.map +1 -1
  60. package/dist/adapters/nitro.d.ts +17 -1
  61. package/dist/adapters/nitro.d.ts.map +1 -1
  62. package/dist/adapters/nitro.js +143 -45
  63. package/dist/adapters/nitro.js.map +1 -1
  64. package/dist/adapters/shared.d.ts +16 -0
  65. package/dist/adapters/shared.d.ts.map +1 -0
  66. package/dist/cache/cache-api.d.ts +24 -0
  67. package/dist/cache/cache-api.d.ts.map +1 -0
  68. package/dist/cache/handler-store.d.ts +31 -0
  69. package/dist/cache/handler-store.d.ts.map +1 -0
  70. package/dist/cache/index.d.ts +23 -7
  71. package/dist/cache/index.d.ts.map +1 -1
  72. package/dist/cache/index.js +150 -81
  73. package/dist/cache/index.js.map +1 -1
  74. package/dist/cache/singleflight.d.ts +18 -1
  75. package/dist/cache/singleflight.d.ts.map +1 -1
  76. package/dist/cache/sizeof.d.ts +22 -0
  77. package/dist/cache/sizeof.d.ts.map +1 -0
  78. package/dist/cache/timber-cache.d.ts +1 -1
  79. package/dist/cache/timber-cache.d.ts.map +1 -1
  80. package/dist/cli.d.ts +6 -1
  81. package/dist/cli.d.ts.map +1 -1
  82. package/dist/cli.js +8 -3
  83. package/dist/cli.js.map +1 -1
  84. package/dist/client/browser-dev.d.ts +34 -1
  85. package/dist/client/browser-dev.d.ts.map +1 -1
  86. package/dist/client/browser-entry/action-dispatch.d.ts +17 -0
  87. package/dist/client/browser-entry/action-dispatch.d.ts.map +1 -0
  88. package/dist/client/browser-entry/hmr.d.ts +21 -0
  89. package/dist/client/browser-entry/hmr.d.ts.map +1 -0
  90. package/dist/client/browser-entry/hydrate.d.ts +46 -0
  91. package/dist/client/browser-entry/hydrate.d.ts.map +1 -0
  92. package/dist/client/browser-entry/index.d.ts +30 -0
  93. package/dist/client/browser-entry/index.d.ts.map +1 -0
  94. package/dist/client/browser-entry/post-hydration.d.ts +26 -0
  95. package/dist/client/browser-entry/post-hydration.d.ts.map +1 -0
  96. package/dist/client/browser-entry/router-init.d.ts +23 -0
  97. package/dist/client/browser-entry/router-init.d.ts.map +1 -0
  98. package/dist/client/browser-entry/rsc-stream.d.ts +24 -0
  99. package/dist/client/browser-entry/rsc-stream.d.ts.map +1 -0
  100. package/dist/client/browser-entry/scroll.d.ts +19 -0
  101. package/dist/client/browser-entry/scroll.d.ts.map +1 -0
  102. package/dist/client/error-boundary.d.ts +12 -5
  103. package/dist/client/error-boundary.d.ts.map +1 -1
  104. package/dist/client/error-boundary.js +26 -5
  105. package/dist/client/error-boundary.js.map +1 -1
  106. package/dist/client/error-reconstituter.d.ts +54 -0
  107. package/dist/client/error-reconstituter.d.ts.map +1 -0
  108. package/dist/client/form.d.ts +16 -27
  109. package/dist/client/form.d.ts.map +1 -1
  110. package/dist/client/history.d.ts +19 -4
  111. package/dist/client/history.d.ts.map +1 -1
  112. package/dist/client/index.d.ts +9 -24
  113. package/dist/client/index.d.ts.map +1 -1
  114. package/dist/client/index.js +154 -1100
  115. package/dist/client/index.js.map +1 -1
  116. package/dist/client/internal.d.ts +19 -0
  117. package/dist/client/internal.d.ts.map +1 -0
  118. package/dist/client/internal.js +964 -0
  119. package/dist/client/internal.js.map +1 -0
  120. package/dist/client/link-pending-store.d.ts +63 -0
  121. package/dist/client/link-pending-store.d.ts.map +1 -0
  122. package/dist/client/link.d.ts +62 -55
  123. package/dist/client/link.d.ts.map +1 -1
  124. package/dist/client/nav-link-store.d.ts +36 -0
  125. package/dist/client/nav-link-store.d.ts.map +1 -0
  126. package/dist/client/navigation-api-types.d.ts +90 -0
  127. package/dist/client/navigation-api-types.d.ts.map +1 -0
  128. package/dist/client/navigation-api.d.ts +115 -0
  129. package/dist/client/navigation-api.d.ts.map +1 -0
  130. package/dist/client/navigation-context.d.ts +13 -2
  131. package/dist/client/navigation-context.d.ts.map +1 -1
  132. package/dist/client/{transition-root.d.ts → navigation-root.d.ts} +42 -8
  133. package/dist/client/navigation-root.d.ts.map +1 -0
  134. package/dist/client/nuqs-adapter.d.ts.map +1 -1
  135. package/dist/client/router-ref.d.ts +1 -1
  136. package/dist/client/router.d.ts +70 -4
  137. package/dist/client/router.d.ts.map +1 -1
  138. package/dist/client/rsc-fetch.d.ts +38 -3
  139. package/dist/client/rsc-fetch.d.ts.map +1 -1
  140. package/dist/client/segment-cache.d.ts +1 -1
  141. package/dist/client/segment-cache.d.ts.map +1 -1
  142. package/dist/client/segment-outlet.d.ts +63 -0
  143. package/dist/client/segment-outlet.d.ts.map +1 -0
  144. package/dist/client/ssr-data.d.ts +13 -4
  145. package/dist/client/ssr-data.d.ts.map +1 -1
  146. package/dist/client/stale-reload.d.ts +15 -0
  147. package/dist/client/stale-reload.d.ts.map +1 -1
  148. package/dist/client/state.d.ts +1 -1
  149. package/dist/client/top-loader.d.ts +5 -5
  150. package/dist/client/top-loader.d.ts.map +1 -1
  151. package/dist/client/use-cookie.d.ts +12 -0
  152. package/dist/client/use-cookie.d.ts.map +1 -1
  153. package/dist/client/use-link-status.d.ts +5 -5
  154. package/dist/client/use-link-status.d.ts.map +1 -1
  155. package/dist/client/{use-navigation-pending.d.ts → use-pending-navigation.d.ts} +4 -4
  156. package/dist/client/use-pending-navigation.d.ts.map +1 -0
  157. package/dist/client/use-query-states.d.ts +1 -1
  158. package/dist/client/use-query-states.d.ts.map +1 -1
  159. package/dist/client/use-router.d.ts +1 -1
  160. package/dist/client/{use-params.d.ts → use-segment-params.d.ts} +7 -5
  161. package/dist/client/use-segment-params.d.ts.map +1 -0
  162. package/dist/codec.d.ts +33 -0
  163. package/dist/codec.d.ts.map +1 -0
  164. package/dist/codec.js +2 -0
  165. package/dist/config-types.d.ts +294 -0
  166. package/dist/config-types.d.ts.map +1 -0
  167. package/dist/config-validation.d.ts +51 -0
  168. package/dist/config-validation.d.ts.map +1 -0
  169. package/dist/content/index.d.ts +1 -10
  170. package/dist/content/index.d.ts.map +1 -1
  171. package/dist/content/index.js +0 -2
  172. package/dist/cookies/define-cookie.d.ts +58 -25
  173. package/dist/cookies/define-cookie.d.ts.map +1 -1
  174. package/dist/cookies/index.d.ts +2 -1
  175. package/dist/cookies/index.d.ts.map +1 -1
  176. package/dist/cookies/index.js +251 -36
  177. package/dist/cookies/index.js.map +1 -1
  178. package/dist/cookies/json-cookie.d.ts +64 -0
  179. package/dist/cookies/json-cookie.d.ts.map +1 -0
  180. package/dist/cookies/validation.d.ts +46 -0
  181. package/dist/cookies/validation.d.ts.map +1 -0
  182. package/dist/dev-tools/404-page.d.ts +46 -0
  183. package/dist/dev-tools/404-page.d.ts.map +1 -0
  184. package/dist/dev-tools/browser-logs.d.ts +84 -0
  185. package/dist/dev-tools/browser-logs.d.ts.map +1 -0
  186. package/dist/dev-tools/error-page.d.ts +58 -0
  187. package/dist/dev-tools/error-page.d.ts.map +1 -0
  188. package/dist/dev-tools/holding-server.d.ts +54 -0
  189. package/dist/dev-tools/holding-server.d.ts.map +1 -0
  190. package/dist/dev-tools/index.d.ts +31 -0
  191. package/dist/dev-tools/index.d.ts.map +1 -0
  192. package/dist/{server/dev-span-processor.d.ts → dev-tools/instrumentation.d.ts} +26 -6
  193. package/dist/dev-tools/instrumentation.d.ts.map +1 -0
  194. package/dist/{server/dev-logger.d.ts → dev-tools/logger.d.ts} +1 -1
  195. package/dist/dev-tools/logger.d.ts.map +1 -0
  196. package/dist/{plugins/dev-logs.d.ts → dev-tools/logs.d.ts} +2 -2
  197. package/dist/dev-tools/logs.d.ts.map +1 -0
  198. package/dist/dev-tools/overlay.d.ts +91 -0
  199. package/dist/dev-tools/overlay.d.ts.map +1 -0
  200. package/dist/dev-tools/stack-classifier.d.ts +34 -0
  201. package/dist/dev-tools/stack-classifier.d.ts.map +1 -0
  202. package/dist/dev-tools/terminal.d.ts +28 -0
  203. package/dist/dev-tools/terminal.d.ts.map +1 -0
  204. package/dist/{server/dev-warnings.d.ts → dev-tools/warnings.d.ts} +2 -22
  205. package/dist/dev-tools/warnings.d.ts.map +1 -0
  206. package/dist/fonts/ast.d.ts +98 -6
  207. package/dist/fonts/ast.d.ts.map +1 -1
  208. package/dist/fonts/bundle.d.ts +48 -0
  209. package/dist/fonts/bundle.d.ts.map +1 -0
  210. package/dist/fonts/css.d.ts +1 -0
  211. package/dist/fonts/css.d.ts.map +1 -1
  212. package/dist/fonts/dev-middleware.d.ts +22 -0
  213. package/dist/fonts/dev-middleware.d.ts.map +1 -0
  214. package/dist/fonts/local.d.ts +1 -1
  215. package/dist/fonts/pipeline.d.ts +167 -0
  216. package/dist/fonts/pipeline.d.ts.map +1 -0
  217. package/dist/fonts/transform.d.ts +78 -0
  218. package/dist/fonts/transform.d.ts.map +1 -0
  219. package/dist/fonts/types.d.ts +45 -1
  220. package/dist/fonts/types.d.ts.map +1 -1
  221. package/dist/fonts/virtual-modules.d.ts +103 -0
  222. package/dist/fonts/virtual-modules.d.ts.map +1 -0
  223. package/dist/index.d.ts +46 -190
  224. package/dist/index.d.ts.map +1 -1
  225. package/dist/index.js +5409 -13290
  226. package/dist/index.js.map +1 -1
  227. package/dist/plugin-context.d.ts +107 -0
  228. package/dist/plugin-context.d.ts.map +1 -0
  229. package/dist/plugins/adapter-build.d.ts +1 -1
  230. package/dist/plugins/adapter-build.d.ts.map +1 -1
  231. package/dist/plugins/build-manifest.d.ts +2 -2
  232. package/dist/plugins/build-manifest.d.ts.map +1 -1
  233. package/dist/plugins/build-report.d.ts +9 -7
  234. package/dist/plugins/build-report.d.ts.map +1 -1
  235. package/dist/plugins/client-chunks.d.ts +32 -0
  236. package/dist/plugins/client-chunks.d.ts.map +1 -0
  237. package/dist/plugins/content.d.ts +1 -1
  238. package/dist/plugins/content.d.ts.map +1 -1
  239. package/dist/plugins/dev-server.d.ts +1 -1
  240. package/dist/plugins/dev-server.d.ts.map +1 -1
  241. package/dist/plugins/entries.d.ts +1 -1
  242. package/dist/plugins/entries.d.ts.map +1 -1
  243. package/dist/plugins/fonts.d.ts +17 -73
  244. package/dist/plugins/fonts.d.ts.map +1 -1
  245. package/dist/plugins/mdx.d.ts +1 -1
  246. package/dist/plugins/mdx.d.ts.map +1 -1
  247. package/dist/plugins/routing.d.ts +1 -1
  248. package/dist/plugins/routing.d.ts.map +1 -1
  249. package/dist/plugins/server-bundle.d.ts.map +1 -1
  250. package/dist/plugins/shims.d.ts +6 -5
  251. package/dist/plugins/shims.d.ts.map +1 -1
  252. package/dist/plugins/static-build.d.ts +5 -26
  253. package/dist/plugins/static-build.d.ts.map +1 -1
  254. package/dist/routing/codegen-shared.d.ts +55 -0
  255. package/dist/routing/codegen-shared.d.ts.map +1 -0
  256. package/dist/routing/codegen-types.d.ts +52 -0
  257. package/dist/routing/codegen-types.d.ts.map +1 -0
  258. package/dist/routing/codegen.d.ts +2 -2
  259. package/dist/routing/codegen.d.ts.map +1 -1
  260. package/dist/routing/convention-lint.d.ts +41 -0
  261. package/dist/routing/convention-lint.d.ts.map +1 -0
  262. package/dist/routing/index.d.ts +5 -1
  263. package/dist/routing/index.d.ts.map +1 -1
  264. package/dist/routing/index.js +3 -2
  265. package/dist/routing/link-codegen.d.ts +90 -0
  266. package/dist/routing/link-codegen.d.ts.map +1 -0
  267. package/dist/routing/scanner.d.ts +1 -10
  268. package/dist/routing/scanner.d.ts.map +1 -1
  269. package/dist/routing/segment-classify.d.ts +75 -0
  270. package/dist/routing/segment-classify.d.ts.map +1 -0
  271. package/dist/routing/types.d.ts +77 -25
  272. package/dist/routing/types.d.ts.map +1 -1
  273. package/dist/routing/walkers.d.ts +51 -0
  274. package/dist/routing/walkers.d.ts.map +1 -0
  275. package/dist/rsc-runtime/rsc.d.ts +1 -1
  276. package/dist/rsc-runtime/rsc.d.ts.map +1 -1
  277. package/dist/rsc-runtime/ssr.d.ts +12 -0
  278. package/dist/rsc-runtime/ssr.d.ts.map +1 -1
  279. package/dist/schema-bridge.d.ts +76 -0
  280. package/dist/schema-bridge.d.ts.map +1 -0
  281. package/dist/search-params/define.d.ts +157 -0
  282. package/dist/search-params/define.d.ts.map +1 -0
  283. package/dist/search-params/index.d.ts +4 -7
  284. package/dist/search-params/index.d.ts.map +1 -1
  285. package/dist/search-params/index.js +34 -441
  286. package/dist/search-params/index.js.map +1 -1
  287. package/dist/search-params/registry.d.ts +2 -2
  288. package/dist/search-params/registry.d.ts.map +1 -1
  289. package/dist/search-params/wrappers.d.ts +53 -0
  290. package/dist/search-params/wrappers.d.ts.map +1 -0
  291. package/dist/segment-params/define.d.ts +95 -0
  292. package/dist/segment-params/define.d.ts.map +1 -0
  293. package/dist/segment-params/index.d.ts +3 -0
  294. package/dist/segment-params/index.d.ts.map +1 -0
  295. package/dist/segment-params/index.js +2 -0
  296. package/dist/server/access-gate.d.ts +8 -3
  297. package/dist/server/access-gate.d.ts.map +1 -1
  298. package/dist/server/action-client.d.ts +41 -6
  299. package/dist/server/action-client.d.ts.map +1 -1
  300. package/dist/server/action-encryption.d.ts +76 -0
  301. package/dist/server/action-encryption.d.ts.map +1 -0
  302. package/dist/server/action-handler.d.ts +35 -1
  303. package/dist/server/action-handler.d.ts.map +1 -1
  304. package/dist/server/actions.d.ts +3 -6
  305. package/dist/server/actions.d.ts.map +1 -1
  306. package/dist/server/als-registry.d.ts +33 -5
  307. package/dist/server/als-registry.d.ts.map +1 -1
  308. package/dist/server/asset-headers.d.ts +1 -15
  309. package/dist/server/asset-headers.d.ts.map +1 -1
  310. package/dist/server/build-manifest.d.ts +2 -2
  311. package/dist/server/build-manifest.d.ts.map +1 -1
  312. package/dist/server/cookie-context.d.ts +170 -0
  313. package/dist/server/cookie-context.d.ts.map +1 -0
  314. package/dist/server/cookie-parsing.d.ts +51 -0
  315. package/dist/server/cookie-parsing.d.ts.map +1 -0
  316. package/dist/server/debug.d.ts +1 -1
  317. package/dist/server/default-logger.d.ts +22 -0
  318. package/dist/server/default-logger.d.ts.map +1 -0
  319. package/dist/server/deny-boundary.d.ts +90 -0
  320. package/dist/server/deny-boundary.d.ts.map +1 -0
  321. package/dist/server/deny-renderer.d.ts.map +1 -1
  322. package/dist/server/dev-source-map.d.ts +22 -0
  323. package/dist/server/dev-source-map.d.ts.map +1 -0
  324. package/dist/server/early-hints-sender.d.ts.map +1 -1
  325. package/dist/server/early-hints.d.ts +13 -5
  326. package/dist/server/early-hints.d.ts.map +1 -1
  327. package/dist/server/error-boundary-wrapper.d.ts +7 -1
  328. package/dist/server/error-boundary-wrapper.d.ts.map +1 -1
  329. package/dist/server/fallback-error.d.ts +12 -7
  330. package/dist/server/fallback-error.d.ts.map +1 -1
  331. package/dist/server/flight-injection-state.d.ts +66 -0
  332. package/dist/server/flight-injection-state.d.ts.map +1 -0
  333. package/dist/server/flight-scripts.d.ts +42 -0
  334. package/dist/server/flight-scripts.d.ts.map +1 -0
  335. package/dist/server/flush.d.ts.map +1 -1
  336. package/dist/server/form-data.d.ts +29 -0
  337. package/dist/server/form-data.d.ts.map +1 -1
  338. package/dist/server/html-injector-core.d.ts +212 -0
  339. package/dist/server/html-injector-core.d.ts.map +1 -0
  340. package/dist/server/html-injectors.d.ts +81 -41
  341. package/dist/server/html-injectors.d.ts.map +1 -1
  342. package/dist/server/index.d.ts +9 -46
  343. package/dist/server/index.d.ts.map +1 -1
  344. package/dist/server/index.js +155 -2905
  345. package/dist/server/index.js.map +1 -1
  346. package/dist/server/internal.d.ts +48 -0
  347. package/dist/server/internal.d.ts.map +1 -0
  348. package/dist/server/internal.js +2920 -0
  349. package/dist/server/internal.js.map +1 -0
  350. package/dist/server/logger.d.ts +39 -7
  351. package/dist/server/logger.d.ts.map +1 -1
  352. package/dist/server/middleware-runner.d.ts +36 -4
  353. package/dist/server/middleware-runner.d.ts.map +1 -1
  354. package/dist/server/node-stream-transforms.d.ts +110 -0
  355. package/dist/server/node-stream-transforms.d.ts.map +1 -0
  356. package/dist/server/param-coercion.d.ts +26 -0
  357. package/dist/server/param-coercion.d.ts.map +1 -0
  358. package/dist/server/pipeline-helpers.d.ts +95 -0
  359. package/dist/server/pipeline-helpers.d.ts.map +1 -0
  360. package/dist/server/pipeline-interception.d.ts +1 -1
  361. package/dist/server/pipeline-interception.d.ts.map +1 -1
  362. package/dist/server/pipeline-metadata.d.ts +6 -0
  363. package/dist/server/pipeline-metadata.d.ts.map +1 -1
  364. package/dist/server/pipeline-outcome.d.ts +49 -0
  365. package/dist/server/pipeline-outcome.d.ts.map +1 -0
  366. package/dist/server/pipeline-phases.d.ts +52 -0
  367. package/dist/server/pipeline-phases.d.ts.map +1 -0
  368. package/dist/server/pipeline.d.ts +93 -23
  369. package/dist/server/pipeline.d.ts.map +1 -1
  370. package/dist/server/port-resolution.d.ts +117 -0
  371. package/dist/server/port-resolution.d.ts.map +1 -0
  372. package/dist/server/primitives.d.ts +69 -18
  373. package/dist/server/primitives.d.ts.map +1 -1
  374. package/dist/server/render-timeout.d.ts +51 -0
  375. package/dist/server/render-timeout.d.ts.map +1 -0
  376. package/dist/server/request-context.d.ts +41 -109
  377. package/dist/server/request-context.d.ts.map +1 -1
  378. package/dist/server/route-element-builder.d.ts +27 -1
  379. package/dist/server/route-element-builder.d.ts.map +1 -1
  380. package/dist/server/route-handler.d.ts.map +1 -1
  381. package/dist/server/route-matcher.d.ts +21 -34
  382. package/dist/server/route-matcher.d.ts.map +1 -1
  383. package/dist/server/rsc-entry/action-middleware-runner.d.ts +66 -0
  384. package/dist/server/rsc-entry/action-middleware-runner.d.ts.map +1 -0
  385. package/dist/server/rsc-entry/api-handler.d.ts +2 -2
  386. package/dist/server/rsc-entry/api-handler.d.ts.map +1 -1
  387. package/dist/server/rsc-entry/error-renderer.d.ts +26 -13
  388. package/dist/server/rsc-entry/error-renderer.d.ts.map +1 -1
  389. package/dist/server/rsc-entry/helpers.d.ts +49 -6
  390. package/dist/server/rsc-entry/helpers.d.ts.map +1 -1
  391. package/dist/server/rsc-entry/index.d.ts +20 -3
  392. package/dist/server/rsc-entry/index.d.ts.map +1 -1
  393. package/dist/server/rsc-entry/render-route.d.ts +50 -0
  394. package/dist/server/rsc-entry/render-route.d.ts.map +1 -0
  395. package/dist/server/rsc-entry/rsc-payload.d.ts +3 -3
  396. package/dist/server/rsc-entry/rsc-payload.d.ts.map +1 -1
  397. package/dist/server/rsc-entry/rsc-stream.d.ts +14 -1
  398. package/dist/server/rsc-entry/rsc-stream.d.ts.map +1 -1
  399. package/dist/server/rsc-entry/ssr-bridge.d.ts +1 -1
  400. package/dist/server/rsc-entry/ssr-bridge.d.ts.map +1 -1
  401. package/dist/server/rsc-entry/ssr-renderer.d.ts +19 -4
  402. package/dist/server/rsc-entry/ssr-renderer.d.ts.map +1 -1
  403. package/dist/server/rsc-entry/wrap-action-dispatch.d.ts +119 -0
  404. package/dist/server/rsc-entry/wrap-action-dispatch.d.ts.map +1 -0
  405. package/dist/server/safe-load.d.ts +46 -0
  406. package/dist/server/safe-load.d.ts.map +1 -0
  407. package/dist/server/sensitive-fields.d.ts +74 -0
  408. package/dist/server/sensitive-fields.d.ts.map +1 -0
  409. package/dist/server/sitemap-generator.d.ts +129 -0
  410. package/dist/server/sitemap-generator.d.ts.map +1 -0
  411. package/dist/server/sitemap-handler.d.ts +22 -0
  412. package/dist/server/sitemap-handler.d.ts.map +1 -0
  413. package/dist/server/slot-resolver.d.ts +1 -1
  414. package/dist/server/slot-resolver.d.ts.map +1 -1
  415. package/dist/server/ssr-entry.d.ts +23 -0
  416. package/dist/server/ssr-entry.d.ts.map +1 -1
  417. package/dist/server/ssr-render.d.ts +39 -21
  418. package/dist/server/ssr-render.d.ts.map +1 -1
  419. package/dist/server/ssr-wrappers.d.ts +50 -0
  420. package/dist/server/ssr-wrappers.d.ts.map +1 -0
  421. package/dist/server/state-tree-diff.d.ts.map +1 -1
  422. package/dist/server/status-code-resolver.d.ts +16 -11
  423. package/dist/server/status-code-resolver.d.ts.map +1 -1
  424. package/dist/server/stream-utils.d.ts +36 -0
  425. package/dist/server/stream-utils.d.ts.map +1 -0
  426. package/dist/server/tracing.d.ts +5 -5
  427. package/dist/server/tracing.d.ts.map +1 -1
  428. package/dist/server/tree-builder.d.ts +62 -30
  429. package/dist/server/tree-builder.d.ts.map +1 -1
  430. package/dist/server/types.d.ts +49 -4
  431. package/dist/server/types.d.ts.map +1 -1
  432. package/dist/server/utils/escape-html.d.ts +14 -0
  433. package/dist/server/utils/escape-html.d.ts.map +1 -0
  434. package/dist/server/version-skew.d.ts +61 -0
  435. package/dist/server/version-skew.d.ts.map +1 -0
  436. package/dist/shared/merge-search-params.d.ts +22 -0
  437. package/dist/shared/merge-search-params.d.ts.map +1 -0
  438. package/dist/shims/font-google.d.ts +1 -1
  439. package/dist/shims/font-google.d.ts.map +1 -1
  440. package/dist/shims/font-google.js +42 -0
  441. package/dist/shims/font-google.js.map +1 -0
  442. package/dist/shims/font-local.d.ts +26 -0
  443. package/dist/shims/font-local.d.ts.map +1 -0
  444. package/dist/shims/font-local.js +20 -0
  445. package/dist/shims/font-local.js.map +1 -0
  446. package/dist/shims/headers.d.ts +2 -1
  447. package/dist/shims/headers.d.ts.map +1 -1
  448. package/dist/shims/navigation-client.d.ts +3 -1
  449. package/dist/shims/navigation-client.d.ts.map +1 -1
  450. package/dist/shims/navigation.d.ts +11 -5
  451. package/dist/shims/navigation.d.ts.map +1 -1
  452. package/dist/utils/state-machine.d.ts +80 -0
  453. package/dist/utils/state-machine.d.ts.map +1 -0
  454. package/package.json +52 -16
  455. package/src/adapters/build-output-helper.ts +77 -0
  456. package/src/adapters/cloudflare-dev.ts +177 -0
  457. package/src/adapters/cloudflare-kv-cache.ts +142 -0
  458. package/src/adapters/cloudflare.ts +350 -76
  459. package/src/adapters/compress-module.ts +24 -4
  460. package/src/adapters/nitro.ts +142 -59
  461. package/src/adapters/shared.ts +40 -0
  462. package/src/adapters/wrangler.d.ts +7 -0
  463. package/src/cache/cache-api.ts +38 -0
  464. package/src/cache/handler-store.ts +68 -0
  465. package/src/cache/index.ts +81 -18
  466. package/src/cache/singleflight.ts +62 -4
  467. package/src/cache/sizeof.ts +31 -0
  468. package/src/cache/timber-cache.ts +25 -20
  469. package/src/cli.ts +16 -6
  470. package/src/client/browser-dev.ts +153 -1
  471. package/src/client/browser-entry/action-dispatch.ts +116 -0
  472. package/src/client/browser-entry/hmr.ts +81 -0
  473. package/src/client/browser-entry/hydrate.ts +145 -0
  474. package/src/client/browser-entry/index.ts +143 -0
  475. package/src/client/browser-entry/post-hydration.ts +119 -0
  476. package/src/client/browser-entry/router-init.ts +193 -0
  477. package/src/client/browser-entry/rsc-stream.ts +157 -0
  478. package/src/client/browser-entry/scroll.ts +27 -0
  479. package/src/client/error-boundary.tsx +97 -20
  480. package/src/client/error-reconstituter.tsx +65 -0
  481. package/src/client/form.tsx +31 -32
  482. package/src/client/history.ts +26 -4
  483. package/src/client/index.ts +69 -44
  484. package/src/client/internal.ts +58 -0
  485. package/src/client/link-pending-store.ts +111 -0
  486. package/src/client/link.tsx +342 -113
  487. package/src/client/nav-link-store.ts +47 -0
  488. package/src/client/navigation-api-types.ts +112 -0
  489. package/src/client/navigation-api.ts +332 -0
  490. package/src/client/navigation-context.ts +31 -6
  491. package/src/client/navigation-root.tsx +342 -0
  492. package/src/client/nuqs-adapter.tsx +16 -3
  493. package/src/client/router-ref.ts +1 -1
  494. package/src/client/router.ts +300 -73
  495. package/src/client/rsc-fetch.ts +112 -8
  496. package/src/client/segment-cache.ts +1 -1
  497. package/src/client/segment-outlet.tsx +86 -0
  498. package/src/client/ssr-data.ts +13 -5
  499. package/src/client/stale-reload.ts +72 -3
  500. package/src/client/state.ts +2 -2
  501. package/src/client/top-loader.tsx +18 -6
  502. package/src/client/use-cookie.ts +31 -2
  503. package/src/client/use-link-status.ts +7 -7
  504. package/src/client/{use-navigation-pending.ts → use-pending-navigation.ts} +6 -6
  505. package/src/client/use-query-states.ts +9 -3
  506. package/src/client/use-router.ts +1 -1
  507. package/src/client/{use-params.ts → use-segment-params.ts} +7 -5
  508. package/src/codec.ts +45 -0
  509. package/src/config-types.ts +292 -0
  510. package/src/config-validation.ts +303 -0
  511. package/src/content/index.ts +5 -13
  512. package/src/cookies/define-cookie.ts +233 -53
  513. package/src/cookies/index.ts +12 -1
  514. package/src/cookies/json-cookie.ts +105 -0
  515. package/src/cookies/validation.ts +134 -0
  516. package/src/dev-tools/404-page.ts +387 -0
  517. package/src/dev-tools/browser-logs.ts +288 -0
  518. package/src/dev-tools/error-page.ts +509 -0
  519. package/src/dev-tools/holding-server.ts +187 -0
  520. package/src/dev-tools/index.ts +90 -0
  521. package/src/dev-tools/instrumentation.ts +176 -0
  522. package/src/{plugins/dev-logs.ts → dev-tools/logs.ts} +3 -3
  523. package/src/dev-tools/overlay.ts +456 -0
  524. package/src/dev-tools/stack-classifier.ts +75 -0
  525. package/src/dev-tools/terminal.ts +183 -0
  526. package/src/{server/dev-warnings.ts → dev-tools/warnings.ts} +5 -50
  527. package/src/fonts/ast.ts +525 -16
  528. package/src/fonts/bundle.ts +142 -0
  529. package/src/fonts/css.ts +2 -1
  530. package/src/fonts/dev-middleware.ts +74 -0
  531. package/src/fonts/local.ts +1 -1
  532. package/src/fonts/pipeline.ts +314 -0
  533. package/src/fonts/transform.ts +317 -0
  534. package/src/fonts/types.ts +50 -1
  535. package/src/fonts/virtual-modules.ts +227 -0
  536. package/src/index.ts +409 -357
  537. package/src/plugin-context.ts +240 -0
  538. package/src/plugins/adapter-build.ts +12 -4
  539. package/src/plugins/build-manifest.ts +13 -2
  540. package/src/plugins/build-report.ts +16 -25
  541. package/src/plugins/client-chunks.ts +65 -0
  542. package/src/plugins/content.ts +1 -1
  543. package/src/plugins/dev-server.ts +162 -30
  544. package/src/plugins/entries.ts +111 -9
  545. package/src/plugins/fonts.ts +155 -654
  546. package/src/plugins/mdx.ts +43 -10
  547. package/src/plugins/routing.ts +217 -44
  548. package/src/plugins/server-bundle.ts +32 -1
  549. package/src/plugins/shims.ts +136 -35
  550. package/src/plugins/static-build.ts +15 -89
  551. package/src/routing/codegen-shared.ts +98 -0
  552. package/src/routing/codegen-types.ts +53 -0
  553. package/src/routing/codegen.ts +143 -176
  554. package/src/routing/convention-lint.ts +357 -0
  555. package/src/routing/index.ts +5 -1
  556. package/src/routing/interception.ts +1 -1
  557. package/src/routing/link-codegen.ts +294 -0
  558. package/src/routing/scanner.ts +107 -110
  559. package/src/routing/segment-classify.ts +188 -0
  560. package/src/routing/types.ts +78 -25
  561. package/src/routing/walkers.ts +90 -0
  562. package/src/rsc-runtime/rsc.ts +2 -0
  563. package/src/rsc-runtime/ssr.ts +50 -0
  564. package/src/rsc-runtime/vendor-types.d.ts +7 -0
  565. package/src/{search-params/codecs.ts → schema-bridge.ts} +57 -20
  566. package/src/search-params/define.ts +538 -0
  567. package/src/search-params/index.ts +14 -20
  568. package/src/search-params/registry.ts +2 -2
  569. package/src/search-params/wrappers.ts +92 -0
  570. package/src/segment-params/define.ts +336 -0
  571. package/src/segment-params/index.ts +9 -0
  572. package/src/server/access-gate.tsx +76 -34
  573. package/src/server/action-client.ts +88 -15
  574. package/src/server/action-encryption.ts +144 -0
  575. package/src/server/action-handler.ts +112 -14
  576. package/src/server/actions.ts +10 -9
  577. package/src/server/als-registry.ts +35 -7
  578. package/src/server/asset-headers.ts +8 -34
  579. package/src/server/build-manifest.ts +10 -4
  580. package/src/server/compress.ts +25 -7
  581. package/src/server/cookie-context.ts +468 -0
  582. package/src/server/cookie-parsing.ts +135 -0
  583. package/src/server/debug.ts +1 -1
  584. package/src/server/default-logger.ts +99 -0
  585. package/src/server/deny-boundary.ts +218 -0
  586. package/src/server/deny-renderer.ts +31 -50
  587. package/src/server/dev-source-map.ts +31 -0
  588. package/src/server/early-hints-sender.ts +3 -2
  589. package/src/server/early-hints.ts +36 -15
  590. package/src/server/error-boundary-wrapper.ts +74 -22
  591. package/src/server/fallback-error.ts +74 -102
  592. package/src/server/flight-injection-state.ts +113 -0
  593. package/src/server/flight-scripts.ts +62 -0
  594. package/src/server/flush.ts +2 -1
  595. package/src/server/form-data.ts +76 -0
  596. package/src/server/html-injector-core.ts +403 -0
  597. package/src/server/html-injectors.ts +244 -223
  598. package/src/server/index.ts +31 -184
  599. package/src/server/internal.ts +176 -0
  600. package/src/server/logger.ts +67 -36
  601. package/src/server/middleware-runner.ts +75 -4
  602. package/src/server/node-stream-transforms.ts +369 -0
  603. package/src/server/param-coercion.ts +95 -0
  604. package/src/server/pipeline-helpers.ts +204 -0
  605. package/src/server/pipeline-interception.ts +17 -16
  606. package/src/server/pipeline-metadata.ts +13 -0
  607. package/src/server/pipeline-outcome.ts +176 -0
  608. package/src/server/pipeline-phases.ts +445 -0
  609. package/src/server/pipeline.ts +128 -394
  610. package/src/server/port-resolution.ts +215 -0
  611. package/src/server/primitives.ts +111 -28
  612. package/src/server/render-timeout.ts +108 -0
  613. package/src/server/request-context.ts +88 -339
  614. package/src/server/route-element-builder.ts +297 -193
  615. package/src/server/route-handler.ts +24 -4
  616. package/src/server/route-matcher.ts +44 -65
  617. package/src/server/rsc-entry/action-middleware-runner.ts +167 -0
  618. package/src/server/rsc-entry/api-handler.ts +16 -17
  619. package/src/server/rsc-entry/error-renderer.ts +305 -89
  620. package/src/server/rsc-entry/helpers.ts +136 -12
  621. package/src/server/rsc-entry/index.ts +312 -341
  622. package/src/server/rsc-entry/render-route.ts +307 -0
  623. package/src/server/rsc-entry/rsc-payload.ts +65 -18
  624. package/src/server/rsc-entry/rsc-stream.ts +81 -13
  625. package/src/server/rsc-entry/ssr-bridge.ts +14 -5
  626. package/src/server/rsc-entry/ssr-renderer.ts +171 -38
  627. package/src/server/rsc-entry/wrap-action-dispatch.ts +449 -0
  628. package/src/server/safe-load.ts +60 -0
  629. package/src/server/sensitive-fields.ts +230 -0
  630. package/src/server/sitemap-generator.ts +338 -0
  631. package/src/server/sitemap-handler.ts +126 -0
  632. package/src/server/slot-resolver.ts +245 -230
  633. package/src/server/ssr-entry.ts +215 -32
  634. package/src/server/ssr-render.ts +289 -67
  635. package/src/server/ssr-wrappers.tsx +139 -0
  636. package/src/server/state-tree-diff.ts +4 -1
  637. package/src/server/status-code-resolver.ts +112 -128
  638. package/src/server/stream-utils.ts +213 -0
  639. package/src/server/tracing.ts +21 -10
  640. package/src/server/tree-builder.ts +202 -90
  641. package/src/server/types.ts +55 -6
  642. package/src/server/utils/escape-html.ts +20 -0
  643. package/src/server/version-skew.ts +104 -0
  644. package/src/shared/merge-search-params.ts +55 -0
  645. package/src/shims/font-google.ts +1 -1
  646. package/src/shims/font-local.ts +34 -0
  647. package/src/shims/headers.ts +5 -1
  648. package/src/shims/navigation-client.ts +4 -3
  649. package/src/shims/navigation.ts +14 -7
  650. package/src/utils/state-machine.ts +111 -0
  651. package/dist/_chunks/als-registry-B7DbZ2hS.js +0 -41
  652. package/dist/_chunks/als-registry-B7DbZ2hS.js.map +0 -1
  653. package/dist/_chunks/debug-gwlJkDuf.js +0 -108
  654. package/dist/_chunks/debug-gwlJkDuf.js.map +0 -1
  655. package/dist/_chunks/format-DviM89f0.js.map +0 -1
  656. package/dist/_chunks/interception-BOoWmLUA.js +0 -676
  657. package/dist/_chunks/interception-BOoWmLUA.js.map +0 -1
  658. package/dist/_chunks/request-context-DIkVh_jG.js +0 -330
  659. package/dist/_chunks/request-context-DIkVh_jG.js.map +0 -1
  660. package/dist/_chunks/ssr-data-MjmprTmO.js.map +0 -1
  661. package/dist/_chunks/tracing-CemImE6h.js +0 -187
  662. package/dist/_chunks/tracing-CemImE6h.js.map +0 -1
  663. package/dist/_chunks/use-cookie-DX-l1_5E.js +0 -91
  664. package/dist/_chunks/use-cookie-DX-l1_5E.js.map +0 -1
  665. package/dist/_chunks/use-query-states-D5KaffOK.js.map +0 -1
  666. package/dist/cache/register-cached-function.d.ts +0 -17
  667. package/dist/cache/register-cached-function.d.ts.map +0 -1
  668. package/dist/client/browser-entry.d.ts +0 -21
  669. package/dist/client/browser-entry.d.ts.map +0 -1
  670. package/dist/client/link-status-provider.d.ts +0 -11
  671. package/dist/client/link-status-provider.d.ts.map +0 -1
  672. package/dist/client/transition-root.d.ts.map +0 -1
  673. package/dist/client/use-navigation-pending.d.ts.map +0 -1
  674. package/dist/client/use-params.d.ts.map +0 -1
  675. package/dist/plugins/cache-transform.d.ts +0 -36
  676. package/dist/plugins/cache-transform.d.ts.map +0 -1
  677. package/dist/plugins/dev-error-overlay.d.ts +0 -60
  678. package/dist/plugins/dev-error-overlay.d.ts.map +0 -1
  679. package/dist/plugins/dev-logs.d.ts.map +0 -1
  680. package/dist/plugins/dynamic-transform.d.ts +0 -72
  681. package/dist/plugins/dynamic-transform.d.ts.map +0 -1
  682. package/dist/plugins/server-action-exports.d.ts +0 -26
  683. package/dist/plugins/server-action-exports.d.ts.map +0 -1
  684. package/dist/routing/status-file-lint.d.ts +0 -33
  685. package/dist/routing/status-file-lint.d.ts.map +0 -1
  686. package/dist/search-params/analyze.d.ts +0 -54
  687. package/dist/search-params/analyze.d.ts.map +0 -1
  688. package/dist/search-params/builtin-codecs.d.ts +0 -105
  689. package/dist/search-params/builtin-codecs.d.ts.map +0 -1
  690. package/dist/search-params/codecs.d.ts +0 -53
  691. package/dist/search-params/codecs.d.ts.map +0 -1
  692. package/dist/search-params/create.d.ts +0 -106
  693. package/dist/search-params/create.d.ts.map +0 -1
  694. package/dist/server/dev-fetch-instrumentation.d.ts +0 -22
  695. package/dist/server/dev-fetch-instrumentation.d.ts.map +0 -1
  696. package/dist/server/dev-logger.d.ts.map +0 -1
  697. package/dist/server/dev-span-processor.d.ts.map +0 -1
  698. package/dist/server/dev-warnings.d.ts.map +0 -1
  699. package/dist/server/manifest-status-resolver.d.ts +0 -58
  700. package/dist/server/manifest-status-resolver.d.ts.map +0 -1
  701. package/dist/server/prerender.d.ts +0 -77
  702. package/dist/server/prerender.d.ts.map +0 -1
  703. package/dist/server/response-cache.d.ts +0 -54
  704. package/dist/server/response-cache.d.ts.map +0 -1
  705. package/dist/utils/directive-parser.d.ts +0 -70
  706. package/dist/utils/directive-parser.d.ts.map +0 -1
  707. package/src/cache/register-cached-function.ts +0 -103
  708. package/src/client/browser-entry.ts +0 -678
  709. package/src/client/link-status-provider.tsx +0 -30
  710. package/src/client/transition-root.tsx +0 -166
  711. package/src/plugins/cache-transform.ts +0 -199
  712. package/src/plugins/dev-error-overlay.ts +0 -230
  713. package/src/plugins/dynamic-transform.ts +0 -161
  714. package/src/plugins/server-action-exports.ts +0 -220
  715. package/src/routing/status-file-lint.ts +0 -112
  716. package/src/search-params/analyze.ts +0 -192
  717. package/src/search-params/builtin-codecs.ts +0 -228
  718. package/src/search-params/create.ts +0 -321
  719. package/src/server/dev-fetch-instrumentation.ts +0 -96
  720. package/src/server/dev-span-processor.ts +0 -78
  721. package/src/server/manifest-status-resolver.ts +0 -215
  722. package/src/server/prerender.ts +0 -139
  723. package/src/server/response-cache.ts +0 -410
  724. package/src/utils/directive-parser.ts +0 -529
  725. /package/src/{server/dev-logger.ts → dev-tools/logger.ts} +0 -0
@@ -1,64 +1,89 @@
1
1
  // @timber-js/app/client — Client-side primitives
2
2
  // These are the primary imports for client components.
3
+ //
4
+ // Framework-internal bootstrap, SSR bridge, and segment plumbing is in
5
+ // #client-internal (Node package import).
6
+ // Design doc: design/triage/api-naming-spike.md §8.5
3
7
 
4
- export type { JsonSerializable, RenderErrorDigest } from './types';
8
+ // JsonSerializable moved to @timber-js/app/codec as the single canonical path.
9
+ // Re-export removed per TIM-721.
10
+ export type { RenderErrorDigest } from './types';
5
11
 
6
12
  // Navigation
7
13
  export { Link, interpolateParams, resolveHref, validateLinkHref, buildLinkProps } from './link';
8
- export type { LinkProps, LinkPropsWithHref, LinkPropsWithParams } from './link';
9
- export type { OnNavigateHandler, OnNavigateEvent } from './link';
10
- export { createRouter } from './router';
11
- export type {
12
- RouterInstance,
13
- NavigationOptions,
14
- RouterDeps,
15
- RscDecoder,
16
- RootRenderer,
17
- } from './router';
18
- export { useNavigationPending } from './use-navigation-pending';
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';
17
+
18
+ // ─── LinkFunction (originally declared here for module augmentation) ───
19
+ //
20
+ // The codegen emits TWO augmentations of this interface:
21
+ //
22
+ // 1. Per-route call signatures — `href: '/products/[id]'` with direct
23
+ // `segmentParams`/`searchParams` types.
24
+ // 2. Catch-all call signatures — `ExternalHref` + computed `string`
25
+ // variable hrefs.
26
+ //
27
+ // Both live in the codegen output (NOT here). Overload ORDER matters
28
+ // for error UX, and TypeScript's declaration-merging rule "later overload
29
+ // sets ordered first" means that whichever augmentation block is
30
+ // declared LATER in the codegen file ends up FIRST in the merged call-
31
+ // signature list — and therefore the EARLIER block ends up LAST, which
32
+ // is the overload whose error message TypeScript reports when no
33
+ // overload matches.
34
+ //
35
+ // We want the PER-ROUTE overloads to be the error-reporting ones when
36
+ // a user passes a known literal `href` with a mistyped segmentParam.
37
+ // So the codegen emits them FIRST and the catch-all SECOND. That way
38
+ // a call like:
39
+ //
40
+ // <Link href="/products/[id]" segmentParams={{ id: maybeUndef }} />
41
+ //
42
+ // reports the actual mismatch (`'string | undefined' is not assignable
43
+ // to 'string | number'` on `id`) instead of the notorious "Type 'string'
44
+ // is not assignable to type 'never'" cascade that the old fixed
45
+ // catch-all produced (TIM-832, sibling of TIM-830 / TIM-624).
46
+ //
47
+ // The interface is kept as an empty placeholder here so:
48
+ // - module augmentation has a base interface to merge into
49
+ // - `link.tsx` can `import type { LinkFunction }` and use it as the
50
+ // cast target for the `Link` const (an empty interface accepts any
51
+ // non-nullable value, so the cast is valid even without codegen run)
52
+ // - NO call signatures live here — in a fresh checkout where codegen
53
+ // hasn't run yet, invoking `<Link>` is deliberately a type error,
54
+ // which surfaces "codegen hasn't run" rather than a misleading
55
+ // structural type mismatch.
56
+ //
57
+ // See TIM-624 (original typed Link), TIM-830 (flat searchParams), and
58
+ // TIM-832 (this restructure for overload error UX).
59
+ export interface LinkFunction {
60
+ // intentionally empty — call signatures are provided via codegen
61
+ // augmentation in `.timber/timber-routes.d.ts`.
62
+ }
63
+ export { usePendingNavigation } from './use-pending-navigation';
19
64
  export { useLinkStatus, LinkStatusContext } from './use-link-status';
20
65
  export type { LinkStatus } from './use-link-status';
21
- export { getRouter, setGlobalRouter } from './router-ref';
22
66
  export { useRouter } from './use-router';
23
67
  export type { AppRouterInstance } from './use-router';
24
68
  export { usePathname } from './use-pathname';
25
- export { useSearchParams } from './use-search-params';
69
+ // useSearchParams removed from public exports — lives in next/navigation shim only.
26
70
  export { useSelectedLayoutSegment, useSelectedLayoutSegments } from './use-selected-layout-segment';
27
71
 
28
- // Segment context (internal, used by rsc-entry to inject layout position)
29
- export { SegmentProvider, useSegmentContext } from './segment-context';
30
- export type { SegmentContextValue } from './segment-context';
31
-
32
- // Segment cache (internal, but exported for advanced use)
33
- export { SegmentCache, PrefetchCache } from './segment-cache';
34
- export type { SegmentNode, StateTree } from './segment-cache';
35
-
36
- // History (internal, but exported for advanced use)
37
- export { HistoryStack } from './history';
38
- export type { HistoryEntry } from './history';
39
-
40
72
  // Forms
41
- export { useActionState, useFormAction, useFormErrors } from './form';
73
+ export { useActionState, useFormAction } from './form';
42
74
  export type { UseActionStateFn, UseActionStateReturn, FormErrorsResult } from './form';
43
75
 
44
- // Params
45
- export { useParams, setCurrentParams } from './use-params';
46
-
47
- // Navigation context (framework-internal, used by browser-entry for atomic updates)
48
- export { NavigationProvider, getNavigationState, setNavigationState } from './navigation-context';
49
- export type { NavigationState } from './navigation-context';
76
+ // Params — raw hook for untyped access. For typed params, use defineSegmentParams().useSegmentParams().
77
+ export { useSegmentParams } from './use-segment-params';
50
78
 
51
- // Query states (URL-synced search params)
52
- export { useQueryStates, bindUseQueryStates } from './use-query-states';
79
+ // Query states — useQueryStates lives on defineSearchParams().useQueryStates()
80
+ // and is available via direct import for advanced cases.
53
81
 
54
- // Cookies
55
- export { useCookie } from './use-cookie';
82
+ // Cookies — useCookie lives on defineCookie().useCookie().
83
+ // Types still exported for advanced use.
56
84
  export type { ClientCookieOptions, CookieSetter } from './use-cookie';
57
85
 
58
- // SSR data (framework-internal, used by ssr-entry to provide request data to hooks)
59
- export { setSsrData, clearSsrData, getSsrData } from './ssr-data';
60
- export type { SsrData } from './ssr-data';
61
-
62
- // Error boundary (framework-internal, used by tree-builder and rsc-entry)
63
- export { TimberErrorBoundary } from './error-boundary';
64
- export type { TimberErrorBoundaryProps } from './error-boundary';
86
+ // Register the client useSegmentParams hook with defineSegmentParams.
87
+ import { useSegmentParams as _useSegmentParams } from './use-segment-params.js';
88
+ import { _registerUseSegmentParams } from '../segment-params/define.js';
89
+ _registerUseSegmentParams(_useSegmentParams);
@@ -0,0 +1,58 @@
1
+ // #client-internal — Framework-internal client exports
2
+ //
3
+ // This module is a Node package import (#client-internal in package.json
4
+ // "imports" field). It is only resolvable from within @timber-js/app —
5
+ // external consumers cannot import it.
6
+ //
7
+ // These exports are consumed by browser-entry, ssr-entry, and build plugins.
8
+ // They are NOT part of the user-facing API and should not appear in
9
+ // documentation or autocomplete for application developers.
10
+ //
11
+ // Design doc: design/triage/api-naming-spike.md §8.5
12
+
13
+ // ── Bootstrap ────────────────────────────────────────────────────────────
14
+ export { createRouter } from './router.js';
15
+ export type {
16
+ RouterInstance,
17
+ NavigationOptions,
18
+ RouterDeps,
19
+ RouterPhase,
20
+ RscDecoder,
21
+ RootRenderer,
22
+ } from './router.js';
23
+ export { getRouter, getRouterOrNull, setGlobalRouter } from './router-ref.js';
24
+
25
+ // ── SSR bridge ───────────────────────────────────────────────────────────
26
+ export { setSsrData, clearSsrData, getSsrData } from './ssr-data.js';
27
+ export type { SsrData } from './ssr-data.js';
28
+
29
+ // ── Segment context ──────────────────────────────────────────────────────
30
+ export { SegmentProvider, useSegmentContext } from './segment-context.js';
31
+ export type { SegmentContextValue } from './segment-context.js';
32
+
33
+ // ── Segment cache ────────────────────────────────────────────────────────
34
+ export { SegmentCache, PrefetchCache } from './segment-cache.js';
35
+ export type { SegmentNode, StateTree } from './segment-cache.js';
36
+
37
+ // ── History ──────────────────────────────────────────────────────────────
38
+ export { HistoryStack } from './history.js';
39
+ export type { HistoryEntry } from './history.js';
40
+
41
+ // ── Params (internal setter + raw hooks) ─────────────────────────────────
42
+ export { setCurrentParams } from './use-segment-params.js';
43
+ export { useSearchParams } from './use-search-params.js';
44
+
45
+ // ── Navigation context ───────────────────────────────────────────────────
46
+ export {
47
+ NavigationProvider,
48
+ getNavigationState,
49
+ setNavigationState,
50
+ } from './navigation-context.js';
51
+ export type { NavigationState } from './navigation-context.js';
52
+
53
+ // ── Query states (internal binder) ───────────────────────────────────────
54
+ export { bindUseQueryStates } from './use-query-states.js';
55
+
56
+ // ── Error boundary ───────────────────────────────────────────────────────
57
+ export { TimberErrorBoundary } from './error-boundary.js';
58
+ export type { TimberErrorBoundaryProps } from './error-boundary.js';
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Link Pending Store — per-link optimistic pending state.
3
+ *
4
+ * Tracks which link instance is currently navigating so that only the
5
+ * clicked link shows pending. Uses `useOptimistic` from React 19 —
6
+ * the optimistic value (isPending=true) is set inside NavigationRoot's
7
+ * async startTransition so it persists for the duration of the RSC
8
+ * fetch, then auto-reverts to idle when the transition settles.
9
+ *
10
+ * Flow:
11
+ * 1. Link click → setLinkForCurrentNavigation(instance) stores the ref
12
+ * 2. NavigationRoot startTransition → activateLinkPending() calls
13
+ * instance.setIsPending(LINK_PENDING) inside the async transition
14
+ * 3. Transition settles → useOptimistic auto-reverts to LINK_IDLE
15
+ *
16
+ * SINGLETON GUARANTEE: Uses `globalThis` via `Symbol.for` keys because
17
+ * the RSC client bundler can duplicate this module across chunks.
18
+ *
19
+ * See design/19-client-navigation.md §"Per-Link Pending State"
20
+ */
21
+
22
+ import type { LinkStatus } from './use-link-status.js';
23
+
24
+ // ─── Types ───────────────────────────────────────────────────────
25
+
26
+ export interface LinkPendingInstance {
27
+ setIsPending: (status: LinkStatus) => void;
28
+ }
29
+
30
+ // ─── Constants ───────────────────────────────────────────────────
31
+
32
+ const LINK_PENDING_KEY = Symbol.for('__timber_link_pending');
33
+
34
+ /** Status object: link navigation in flight */
35
+ export const LINK_PENDING: LinkStatus = { isPending: true };
36
+
37
+ /** Status object: link idle */
38
+ export const LINK_IDLE: LinkStatus = { isPending: false };
39
+
40
+ // ─── Singleton Storage ───────────────────────────────────────────
41
+
42
+ function getStore(): { current: LinkPendingInstance | null } {
43
+ const g = globalThis as Record<symbol, unknown>;
44
+ if (!g[LINK_PENDING_KEY]) {
45
+ g[LINK_PENDING_KEY] = { current: null };
46
+ }
47
+ return g[LINK_PENDING_KEY] as { current: LinkPendingInstance | null };
48
+ }
49
+
50
+ // ─── Public API ──────────────────────────────────────────────────
51
+
52
+ /**
53
+ * Register the link instance that initiated the current navigation.
54
+ * Called from Link's click handler. Does NOT call setIsPending —
55
+ * that happens inside NavigationRoot's startTransition via
56
+ * activateLinkPending().
57
+ *
58
+ * Resets the previous link to idle immediately (the old link's
59
+ * useOptimistic reverts since its transition already settled).
60
+ */
61
+ export function setLinkForCurrentNavigation(link: LinkPendingInstance | null): void {
62
+ const store = getStore();
63
+ store.current = link;
64
+ }
65
+
66
+ /**
67
+ * Activate pending state on the current link instance.
68
+ * MUST be called inside NavigationRoot's async startTransition —
69
+ * this is what makes useOptimistic persist for the navigation duration.
70
+ */
71
+ export function activateLinkPending(): void {
72
+ const store = getStore();
73
+ store.current?.setIsPending(LINK_PENDING);
74
+ }
75
+
76
+ /**
77
+ * Reset the current link's pending state. With useOptimistic this is
78
+ * handled automatically when the transition settles. Kept for callers
79
+ * that explicitly need to clear on error paths.
80
+ */
81
+ export function resetLinkPending(): void {
82
+ const store = getStore();
83
+ if (store.current) {
84
+ store.current.setIsPending(LINK_IDLE);
85
+ store.current = null;
86
+ }
87
+ }
88
+
89
+ /**
90
+ * @deprecated No longer needed with useOptimistic. Kept for callers.
91
+ */
92
+ export function getCurrentNavId(): number {
93
+ return 0;
94
+ }
95
+
96
+ /**
97
+ * Clean up the link pending store entirely.
98
+ */
99
+ export function clearLinkPendingSetter(): void {
100
+ getStore().current = null;
101
+ }
102
+
103
+ /**
104
+ * Unmount a link instance from navigation tracking.
105
+ */
106
+ export function unmountLinkForCurrentNavigation(link: LinkPendingInstance): void {
107
+ const store = getStore();
108
+ if (store.current === link) {
109
+ store.current = null;
110
+ }
111
+ }