@timber-js/app 0.2.0-alpha.9 → 0.2.0-alpha.91

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 (619) hide show
  1. package/dist/_chunks/actions-DLnUaR65.js +421 -0
  2. package/dist/_chunks/actions-DLnUaR65.js.map +1 -0
  3. package/dist/_chunks/{als-registry-B7DbZ2hS.js → als-registry-HS0LGUl2.js} +1 -1
  4. package/dist/_chunks/als-registry-HS0LGUl2.js.map +1 -0
  5. package/dist/_chunks/chunk-BYIpzuS7.js +39 -0
  6. package/dist/_chunks/{debug-gwlJkDuf.js → debug-ECi_61pb.js} +2 -2
  7. package/dist/_chunks/debug-ECi_61pb.js.map +1 -0
  8. package/dist/_chunks/define-C77ScO0m.js +106 -0
  9. package/dist/_chunks/define-C77ScO0m.js.map +1 -0
  10. package/dist/_chunks/define-Itxvcd7F.js +199 -0
  11. package/dist/_chunks/define-Itxvcd7F.js.map +1 -0
  12. package/dist/_chunks/define-cookie-BowvzoP0.js +94 -0
  13. package/dist/_chunks/define-cookie-BowvzoP0.js.map +1 -0
  14. package/dist/_chunks/{format-DviM89f0.js → dev-warnings-DpGRGoDi.js} +5 -44
  15. package/dist/_chunks/dev-warnings-DpGRGoDi.js.map +1 -0
  16. package/dist/_chunks/format-CYBGxKtc.js +14 -0
  17. package/dist/_chunks/format-CYBGxKtc.js.map +1 -0
  18. package/dist/_chunks/{interception-BOoWmLUA.js → interception-ErnB33JX.js} +301 -133
  19. package/dist/_chunks/interception-ErnB33JX.js.map +1 -0
  20. package/dist/_chunks/merge-search-params-Cm_KIWDX.js +41 -0
  21. package/dist/_chunks/merge-search-params-Cm_KIWDX.js.map +1 -0
  22. package/dist/_chunks/{metadata-routes-Cjmvi3rQ.js → metadata-routes-DS3eKNmf.js} +1 -1
  23. package/dist/_chunks/{metadata-routes-Cjmvi3rQ.js.map → metadata-routes-DS3eKNmf.js.map} +1 -1
  24. package/dist/_chunks/request-context-CK5tZqIP.js +478 -0
  25. package/dist/_chunks/request-context-CK5tZqIP.js.map +1 -0
  26. package/dist/_chunks/schema-bridge-C3xl_vfb.js +86 -0
  27. package/dist/_chunks/schema-bridge-C3xl_vfb.js.map +1 -0
  28. package/dist/_chunks/segment-classify-BDNn6EzD.js +65 -0
  29. package/dist/_chunks/segment-classify-BDNn6EzD.js.map +1 -0
  30. package/dist/_chunks/segment-context-fHFLF1PE.js +34 -0
  31. package/dist/_chunks/segment-context-fHFLF1PE.js.map +1 -0
  32. package/dist/_chunks/{ssr-data-MjmprTmO.js → ssr-data-DzuI0bIV.js} +1 -1
  33. package/dist/_chunks/{ssr-data-MjmprTmO.js.map → ssr-data-DzuI0bIV.js.map} +1 -1
  34. package/dist/_chunks/stale-reload-BX5gL1r-.js +64 -0
  35. package/dist/_chunks/stale-reload-BX5gL1r-.js.map +1 -0
  36. package/dist/_chunks/{tracing-CemImE6h.js → tracing-CCYbKn5n.js} +60 -9
  37. package/dist/_chunks/tracing-CCYbKn5n.js.map +1 -0
  38. package/dist/_chunks/use-params-Br9YSUFV.js +295 -0
  39. package/dist/_chunks/use-params-Br9YSUFV.js.map +1 -0
  40. package/dist/_chunks/{use-query-states-D5KaffOK.js → use-query-states-BiV5GJgm.js} +7 -4
  41. package/dist/_chunks/use-query-states-BiV5GJgm.js.map +1 -0
  42. package/dist/adapters/cloudflare-dev.d.ts +109 -0
  43. package/dist/adapters/cloudflare-dev.d.ts.map +1 -0
  44. package/dist/adapters/cloudflare-dev.js +73 -0
  45. package/dist/adapters/cloudflare-dev.js.map +1 -0
  46. package/dist/adapters/cloudflare-kv-cache.d.ts +64 -0
  47. package/dist/adapters/cloudflare-kv-cache.d.ts.map +1 -0
  48. package/dist/adapters/cloudflare-kv-cache.js +95 -0
  49. package/dist/adapters/cloudflare-kv-cache.js.map +1 -0
  50. package/dist/adapters/cloudflare.d.ts +148 -12
  51. package/dist/adapters/cloudflare.d.ts.map +1 -1
  52. package/dist/adapters/cloudflare.js +135 -11
  53. package/dist/adapters/cloudflare.js.map +1 -1
  54. package/dist/adapters/compress-module.d.ts.map +1 -1
  55. package/dist/adapters/nitro.d.ts +17 -1
  56. package/dist/adapters/nitro.d.ts.map +1 -1
  57. package/dist/adapters/nitro.js +56 -13
  58. package/dist/adapters/nitro.js.map +1 -1
  59. package/dist/cache/cache-api.d.ts +24 -0
  60. package/dist/cache/cache-api.d.ts.map +1 -0
  61. package/dist/cache/handler-store.d.ts +31 -0
  62. package/dist/cache/handler-store.d.ts.map +1 -0
  63. package/dist/cache/index.d.ts +23 -7
  64. package/dist/cache/index.d.ts.map +1 -1
  65. package/dist/cache/index.js +142 -80
  66. package/dist/cache/index.js.map +1 -1
  67. package/dist/cache/singleflight.d.ts +18 -1
  68. package/dist/cache/singleflight.d.ts.map +1 -1
  69. package/dist/cache/sizeof.d.ts +22 -0
  70. package/dist/cache/sizeof.d.ts.map +1 -0
  71. package/dist/cache/timber-cache.d.ts +1 -1
  72. package/dist/cache/timber-cache.d.ts.map +1 -1
  73. package/dist/cli.d.ts +6 -1
  74. package/dist/cli.d.ts.map +1 -1
  75. package/dist/cli.js +8 -3
  76. package/dist/cli.js.map +1 -1
  77. package/dist/client/browser-dev.d.ts +27 -1
  78. package/dist/client/browser-dev.d.ts.map +1 -1
  79. package/dist/client/browser-entry/action-dispatch.d.ts +17 -0
  80. package/dist/client/browser-entry/action-dispatch.d.ts.map +1 -0
  81. package/dist/client/browser-entry/hmr.d.ts +21 -0
  82. package/dist/client/browser-entry/hmr.d.ts.map +1 -0
  83. package/dist/client/browser-entry/hydrate.d.ts +46 -0
  84. package/dist/client/browser-entry/hydrate.d.ts.map +1 -0
  85. package/dist/client/browser-entry/index.d.ts +30 -0
  86. package/dist/client/browser-entry/index.d.ts.map +1 -0
  87. package/dist/client/browser-entry/post-hydration.d.ts +26 -0
  88. package/dist/client/browser-entry/post-hydration.d.ts.map +1 -0
  89. package/dist/client/browser-entry/router-init.d.ts +23 -0
  90. package/dist/client/browser-entry/router-init.d.ts.map +1 -0
  91. package/dist/client/browser-entry/rsc-stream.d.ts +24 -0
  92. package/dist/client/browser-entry/rsc-stream.d.ts.map +1 -0
  93. package/dist/client/browser-entry/scroll.d.ts +19 -0
  94. package/dist/client/browser-entry/scroll.d.ts.map +1 -0
  95. package/dist/client/error-boundary.d.ts +12 -5
  96. package/dist/client/error-boundary.d.ts.map +1 -1
  97. package/dist/client/error-boundary.js +10 -4
  98. package/dist/client/error-boundary.js.map +1 -1
  99. package/dist/client/error-reconstituter.d.ts +54 -0
  100. package/dist/client/error-reconstituter.d.ts.map +1 -0
  101. package/dist/client/form.d.ts +6 -3
  102. package/dist/client/form.d.ts.map +1 -1
  103. package/dist/client/history.d.ts +19 -4
  104. package/dist/client/history.d.ts.map +1 -1
  105. package/dist/client/index.d.ts +9 -21
  106. package/dist/client/index.d.ts.map +1 -1
  107. package/dist/client/index.js +229 -1018
  108. package/dist/client/index.js.map +1 -1
  109. package/dist/client/internal.d.ts +18 -0
  110. package/dist/client/internal.d.ts.map +1 -0
  111. package/dist/client/internal.js +890 -0
  112. package/dist/client/internal.js.map +1 -0
  113. package/dist/client/link-pending-store.d.ts +63 -0
  114. package/dist/client/link-pending-store.d.ts.map +1 -0
  115. package/dist/client/link.d.ts +62 -55
  116. package/dist/client/link.d.ts.map +1 -1
  117. package/dist/client/nav-link-store.d.ts +36 -0
  118. package/dist/client/nav-link-store.d.ts.map +1 -0
  119. package/dist/client/navigation-api-types.d.ts +90 -0
  120. package/dist/client/navigation-api-types.d.ts.map +1 -0
  121. package/dist/client/navigation-api.d.ts +115 -0
  122. package/dist/client/navigation-api.d.ts.map +1 -0
  123. package/dist/client/navigation-context.d.ts +13 -2
  124. package/dist/client/navigation-context.d.ts.map +1 -1
  125. package/dist/client/{transition-root.d.ts → navigation-root.d.ts} +42 -8
  126. package/dist/client/navigation-root.d.ts.map +1 -0
  127. package/dist/client/nuqs-adapter.d.ts.map +1 -1
  128. package/dist/client/router-ref.d.ts +1 -1
  129. package/dist/client/router.d.ts +70 -4
  130. package/dist/client/router.d.ts.map +1 -1
  131. package/dist/client/rsc-fetch.d.ts +38 -3
  132. package/dist/client/rsc-fetch.d.ts.map +1 -1
  133. package/dist/client/segment-cache.d.ts +1 -1
  134. package/dist/client/segment-cache.d.ts.map +1 -1
  135. package/dist/client/segment-outlet.d.ts +63 -0
  136. package/dist/client/segment-outlet.d.ts.map +1 -0
  137. package/dist/client/ssr-data.d.ts +13 -4
  138. package/dist/client/ssr-data.d.ts.map +1 -1
  139. package/dist/client/stale-reload.d.ts +15 -0
  140. package/dist/client/stale-reload.d.ts.map +1 -1
  141. package/dist/client/top-loader.d.ts +5 -5
  142. package/dist/client/top-loader.d.ts.map +1 -1
  143. package/dist/client/use-link-status.d.ts +5 -5
  144. package/dist/client/use-link-status.d.ts.map +1 -1
  145. package/dist/client/use-params.d.ts +6 -4
  146. package/dist/client/use-params.d.ts.map +1 -1
  147. package/dist/client/{use-navigation-pending.d.ts → use-pending-navigation.d.ts} +4 -4
  148. package/dist/client/use-pending-navigation.d.ts.map +1 -0
  149. package/dist/client/use-query-states.d.ts +1 -1
  150. package/dist/client/use-query-states.d.ts.map +1 -1
  151. package/dist/client/use-router.d.ts +1 -1
  152. package/dist/codec.d.ts +33 -0
  153. package/dist/codec.d.ts.map +1 -0
  154. package/dist/codec.js +2 -0
  155. package/dist/config-types.d.ts +266 -0
  156. package/dist/config-types.d.ts.map +1 -0
  157. package/dist/config-validation.d.ts +51 -0
  158. package/dist/config-validation.d.ts.map +1 -0
  159. package/dist/content/index.d.ts +1 -10
  160. package/dist/content/index.d.ts.map +1 -1
  161. package/dist/content/index.js +0 -2
  162. package/dist/cookies/define-cookie.d.ts +35 -14
  163. package/dist/cookies/define-cookie.d.ts.map +1 -1
  164. package/dist/cookies/index.js +1 -83
  165. package/dist/fonts/bundle.d.ts +48 -0
  166. package/dist/fonts/bundle.d.ts.map +1 -0
  167. package/dist/fonts/css.d.ts +1 -0
  168. package/dist/fonts/css.d.ts.map +1 -1
  169. package/dist/fonts/dev-middleware.d.ts +22 -0
  170. package/dist/fonts/dev-middleware.d.ts.map +1 -0
  171. package/dist/fonts/pipeline.d.ts +138 -0
  172. package/dist/fonts/pipeline.d.ts.map +1 -0
  173. package/dist/fonts/transform.d.ts +72 -0
  174. package/dist/fonts/transform.d.ts.map +1 -0
  175. package/dist/fonts/types.d.ts +45 -1
  176. package/dist/fonts/types.d.ts.map +1 -1
  177. package/dist/fonts/virtual-modules.d.ts +59 -0
  178. package/dist/fonts/virtual-modules.d.ts.map +1 -0
  179. package/dist/index.d.ts +45 -190
  180. package/dist/index.d.ts.map +1 -1
  181. package/dist/index.js +4294 -2453
  182. package/dist/index.js.map +1 -1
  183. package/dist/plugin-context.d.ts +107 -0
  184. package/dist/plugin-context.d.ts.map +1 -0
  185. package/dist/plugins/adapter-build.d.ts +1 -1
  186. package/dist/plugins/adapter-build.d.ts.map +1 -1
  187. package/dist/plugins/build-manifest.d.ts +2 -2
  188. package/dist/plugins/build-manifest.d.ts.map +1 -1
  189. package/dist/plugins/build-report.d.ts +3 -3
  190. package/dist/plugins/build-report.d.ts.map +1 -1
  191. package/dist/plugins/client-chunks.d.ts +32 -0
  192. package/dist/plugins/client-chunks.d.ts.map +1 -0
  193. package/dist/plugins/content.d.ts +1 -1
  194. package/dist/plugins/content.d.ts.map +1 -1
  195. package/dist/plugins/dev-404-page.d.ts +56 -0
  196. package/dist/plugins/dev-404-page.d.ts.map +1 -0
  197. package/dist/plugins/dev-browser-logs.d.ts +84 -0
  198. package/dist/plugins/dev-browser-logs.d.ts.map +1 -0
  199. package/dist/plugins/dev-error-overlay.d.ts +49 -9
  200. package/dist/plugins/dev-error-overlay.d.ts.map +1 -1
  201. package/dist/plugins/dev-error-page.d.ts +58 -0
  202. package/dist/plugins/dev-error-page.d.ts.map +1 -0
  203. package/dist/plugins/dev-logs.d.ts +1 -1
  204. package/dist/plugins/dev-logs.d.ts.map +1 -1
  205. package/dist/plugins/dev-server.d.ts +1 -1
  206. package/dist/plugins/dev-server.d.ts.map +1 -1
  207. package/dist/plugins/dev-terminal-error.d.ts +28 -0
  208. package/dist/plugins/dev-terminal-error.d.ts.map +1 -0
  209. package/dist/plugins/entries.d.ts +1 -1
  210. package/dist/plugins/entries.d.ts.map +1 -1
  211. package/dist/plugins/fonts.d.ts +17 -73
  212. package/dist/plugins/fonts.d.ts.map +1 -1
  213. package/dist/plugins/mdx.d.ts +1 -1
  214. package/dist/plugins/mdx.d.ts.map +1 -1
  215. package/dist/plugins/routing.d.ts +1 -1
  216. package/dist/plugins/routing.d.ts.map +1 -1
  217. package/dist/plugins/server-bundle.d.ts.map +1 -1
  218. package/dist/plugins/shims.d.ts +6 -5
  219. package/dist/plugins/shims.d.ts.map +1 -1
  220. package/dist/plugins/static-build.d.ts +4 -4
  221. package/dist/plugins/static-build.d.ts.map +1 -1
  222. package/dist/routing/codegen-shared.d.ts +38 -0
  223. package/dist/routing/codegen-shared.d.ts.map +1 -0
  224. package/dist/routing/codegen-types.d.ts +36 -0
  225. package/dist/routing/codegen-types.d.ts.map +1 -0
  226. package/dist/routing/codegen.d.ts +2 -2
  227. package/dist/routing/codegen.d.ts.map +1 -1
  228. package/dist/routing/convention-lint.d.ts +41 -0
  229. package/dist/routing/convention-lint.d.ts.map +1 -0
  230. package/dist/routing/index.d.ts +2 -0
  231. package/dist/routing/index.d.ts.map +1 -1
  232. package/dist/routing/index.js +3 -2
  233. package/dist/routing/link-codegen.d.ts +90 -0
  234. package/dist/routing/link-codegen.d.ts.map +1 -0
  235. package/dist/routing/scanner.d.ts.map +1 -1
  236. package/dist/routing/segment-classify.d.ts +46 -0
  237. package/dist/routing/segment-classify.d.ts.map +1 -0
  238. package/dist/routing/status-file-lint.d.ts +2 -1
  239. package/dist/routing/status-file-lint.d.ts.map +1 -1
  240. package/dist/routing/types.d.ts +16 -4
  241. package/dist/routing/types.d.ts.map +1 -1
  242. package/dist/rsc-runtime/rsc.d.ts +1 -1
  243. package/dist/rsc-runtime/rsc.d.ts.map +1 -1
  244. package/dist/rsc-runtime/ssr.d.ts +12 -0
  245. package/dist/rsc-runtime/ssr.d.ts.map +1 -1
  246. package/dist/schema-bridge.d.ts +76 -0
  247. package/dist/schema-bridge.d.ts.map +1 -0
  248. package/dist/search-params/define.d.ts +139 -0
  249. package/dist/search-params/define.d.ts.map +1 -0
  250. package/dist/search-params/index.d.ts +4 -7
  251. package/dist/search-params/index.d.ts.map +1 -1
  252. package/dist/search-params/index.js +32 -441
  253. package/dist/search-params/index.js.map +1 -1
  254. package/dist/search-params/registry.d.ts +2 -2
  255. package/dist/search-params/registry.d.ts.map +1 -1
  256. package/dist/search-params/wrappers.d.ts +53 -0
  257. package/dist/search-params/wrappers.d.ts.map +1 -0
  258. package/dist/segment-params/define.d.ts +78 -0
  259. package/dist/segment-params/define.d.ts.map +1 -0
  260. package/dist/segment-params/index.d.ts +3 -0
  261. package/dist/segment-params/index.d.ts.map +1 -0
  262. package/dist/segment-params/index.js +2 -0
  263. package/dist/server/access-gate.d.ts +4 -0
  264. package/dist/server/access-gate.d.ts.map +1 -1
  265. package/dist/server/action-client.d.ts +41 -6
  266. package/dist/server/action-client.d.ts.map +1 -1
  267. package/dist/server/action-encryption.d.ts +76 -0
  268. package/dist/server/action-encryption.d.ts.map +1 -0
  269. package/dist/server/action-handler.d.ts +7 -0
  270. package/dist/server/action-handler.d.ts.map +1 -1
  271. package/dist/server/actions.d.ts +3 -6
  272. package/dist/server/actions.d.ts.map +1 -1
  273. package/dist/server/als-registry.d.ts +32 -4
  274. package/dist/server/als-registry.d.ts.map +1 -1
  275. package/dist/server/build-manifest.d.ts +2 -2
  276. package/dist/server/build-manifest.d.ts.map +1 -1
  277. package/dist/server/debug.d.ts +1 -1
  278. package/dist/server/default-logger.d.ts +22 -0
  279. package/dist/server/default-logger.d.ts.map +1 -0
  280. package/dist/server/deny-page-resolver.d.ts +52 -0
  281. package/dist/server/deny-page-resolver.d.ts.map +1 -0
  282. package/dist/server/deny-renderer.d.ts.map +1 -1
  283. package/dist/server/dev-holding-server.d.ts +52 -0
  284. package/dist/server/dev-holding-server.d.ts.map +1 -0
  285. package/dist/server/dev-source-map.d.ts +22 -0
  286. package/dist/server/dev-source-map.d.ts.map +1 -0
  287. package/dist/server/dev-warnings.d.ts +1 -21
  288. package/dist/server/dev-warnings.d.ts.map +1 -1
  289. package/dist/server/early-hints.d.ts +13 -5
  290. package/dist/server/early-hints.d.ts.map +1 -1
  291. package/dist/server/error-boundary-wrapper.d.ts +7 -1
  292. package/dist/server/error-boundary-wrapper.d.ts.map +1 -1
  293. package/dist/server/fallback-error.d.ts +12 -7
  294. package/dist/server/fallback-error.d.ts.map +1 -1
  295. package/dist/server/flight-injection-state.d.ts +66 -0
  296. package/dist/server/flight-injection-state.d.ts.map +1 -0
  297. package/dist/server/flight-scripts.d.ts +42 -0
  298. package/dist/server/flight-scripts.d.ts.map +1 -0
  299. package/dist/server/flush.d.ts.map +1 -1
  300. package/dist/server/form-data.d.ts +29 -0
  301. package/dist/server/form-data.d.ts.map +1 -1
  302. package/dist/server/html-injectors.d.ts +51 -11
  303. package/dist/server/html-injectors.d.ts.map +1 -1
  304. package/dist/server/index.d.ts +5 -43
  305. package/dist/server/index.d.ts.map +1 -1
  306. package/dist/server/index.js +195 -2800
  307. package/dist/server/index.js.map +1 -1
  308. package/dist/server/internal.d.ts +46 -0
  309. package/dist/server/internal.d.ts.map +1 -0
  310. package/dist/server/internal.js +2900 -0
  311. package/dist/server/internal.js.map +1 -0
  312. package/dist/server/logger.d.ts +25 -7
  313. package/dist/server/logger.d.ts.map +1 -1
  314. package/dist/server/middleware-runner.d.ts +19 -4
  315. package/dist/server/middleware-runner.d.ts.map +1 -1
  316. package/dist/server/node-stream-transforms.d.ts +113 -0
  317. package/dist/server/node-stream-transforms.d.ts.map +1 -0
  318. package/dist/server/page-deny-boundary.d.ts +31 -0
  319. package/dist/server/page-deny-boundary.d.ts.map +1 -0
  320. package/dist/server/pipeline-interception.d.ts +1 -1
  321. package/dist/server/pipeline-interception.d.ts.map +1 -1
  322. package/dist/server/pipeline-metadata.d.ts +6 -0
  323. package/dist/server/pipeline-metadata.d.ts.map +1 -1
  324. package/dist/server/pipeline.d.ts +52 -10
  325. package/dist/server/pipeline.d.ts.map +1 -1
  326. package/dist/server/primitives.d.ts +69 -18
  327. package/dist/server/primitives.d.ts.map +1 -1
  328. package/dist/server/render-timeout.d.ts +51 -0
  329. package/dist/server/render-timeout.d.ts.map +1 -0
  330. package/dist/server/request-context.d.ts +112 -43
  331. package/dist/server/request-context.d.ts.map +1 -1
  332. package/dist/server/route-element-builder.d.ts +27 -1
  333. package/dist/server/route-element-builder.d.ts.map +1 -1
  334. package/dist/server/route-handler.d.ts.map +1 -1
  335. package/dist/server/route-matcher.d.ts +16 -2
  336. package/dist/server/route-matcher.d.ts.map +1 -1
  337. package/dist/server/rsc-entry/api-handler.d.ts +2 -2
  338. package/dist/server/rsc-entry/api-handler.d.ts.map +1 -1
  339. package/dist/server/rsc-entry/error-renderer.d.ts +26 -13
  340. package/dist/server/rsc-entry/error-renderer.d.ts.map +1 -1
  341. package/dist/server/rsc-entry/helpers.d.ts +48 -5
  342. package/dist/server/rsc-entry/helpers.d.ts.map +1 -1
  343. package/dist/server/rsc-entry/index.d.ts +20 -3
  344. package/dist/server/rsc-entry/index.d.ts.map +1 -1
  345. package/dist/server/rsc-entry/rsc-payload.d.ts +3 -3
  346. package/dist/server/rsc-entry/rsc-payload.d.ts.map +1 -1
  347. package/dist/server/rsc-entry/rsc-stream.d.ts +14 -1
  348. package/dist/server/rsc-entry/rsc-stream.d.ts.map +1 -1
  349. package/dist/server/rsc-entry/ssr-bridge.d.ts +1 -1
  350. package/dist/server/rsc-entry/ssr-bridge.d.ts.map +1 -1
  351. package/dist/server/rsc-entry/ssr-renderer.d.ts +19 -4
  352. package/dist/server/rsc-entry/ssr-renderer.d.ts.map +1 -1
  353. package/dist/server/safe-load.d.ts +46 -0
  354. package/dist/server/safe-load.d.ts.map +1 -0
  355. package/dist/server/sensitive-fields.d.ts +74 -0
  356. package/dist/server/sensitive-fields.d.ts.map +1 -0
  357. package/dist/server/sitemap-generator.d.ts +129 -0
  358. package/dist/server/sitemap-generator.d.ts.map +1 -0
  359. package/dist/server/sitemap-handler.d.ts +22 -0
  360. package/dist/server/sitemap-handler.d.ts.map +1 -0
  361. package/dist/server/slot-resolver.d.ts +1 -1
  362. package/dist/server/slot-resolver.d.ts.map +1 -1
  363. package/dist/server/ssr-entry.d.ts +23 -0
  364. package/dist/server/ssr-entry.d.ts.map +1 -1
  365. package/dist/server/ssr-render.d.ts +39 -21
  366. package/dist/server/ssr-render.d.ts.map +1 -1
  367. package/dist/server/ssr-wrappers.d.ts +50 -0
  368. package/dist/server/ssr-wrappers.d.ts.map +1 -0
  369. package/dist/server/status-code-resolver.d.ts +1 -1
  370. package/dist/server/status-code-resolver.d.ts.map +1 -1
  371. package/dist/server/stream-utils.d.ts +36 -0
  372. package/dist/server/stream-utils.d.ts.map +1 -0
  373. package/dist/server/tracing.d.ts +4 -4
  374. package/dist/server/tracing.d.ts.map +1 -1
  375. package/dist/server/tree-builder.d.ts +22 -19
  376. package/dist/server/tree-builder.d.ts.map +1 -1
  377. package/dist/server/types.d.ts +1 -4
  378. package/dist/server/types.d.ts.map +1 -1
  379. package/dist/server/version-skew.d.ts +61 -0
  380. package/dist/server/version-skew.d.ts.map +1 -0
  381. package/dist/shared/merge-search-params.d.ts +22 -0
  382. package/dist/shared/merge-search-params.d.ts.map +1 -0
  383. package/dist/shims/font-google.d.ts +1 -1
  384. package/dist/shims/font-google.d.ts.map +1 -1
  385. package/dist/shims/font-google.js +42 -0
  386. package/dist/shims/font-google.js.map +1 -0
  387. package/dist/shims/font-local.d.ts +26 -0
  388. package/dist/shims/font-local.d.ts.map +1 -0
  389. package/dist/shims/font-local.js +20 -0
  390. package/dist/shims/font-local.js.map +1 -0
  391. package/dist/shims/headers.d.ts +2 -1
  392. package/dist/shims/headers.d.ts.map +1 -1
  393. package/dist/shims/navigation-client.d.ts +1 -1
  394. package/dist/shims/navigation-client.d.ts.map +1 -1
  395. package/dist/shims/navigation.d.ts +3 -2
  396. package/dist/shims/navigation.d.ts.map +1 -1
  397. package/dist/utils/directive-parser.d.ts +5 -2
  398. package/dist/utils/directive-parser.d.ts.map +1 -1
  399. package/dist/utils/state-machine.d.ts +80 -0
  400. package/dist/utils/state-machine.d.ts.map +1 -0
  401. package/package.json +51 -16
  402. package/src/adapters/cloudflare-dev.ts +177 -0
  403. package/src/adapters/cloudflare-kv-cache.ts +142 -0
  404. package/src/adapters/cloudflare.ts +342 -28
  405. package/src/adapters/compress-module.ts +24 -4
  406. package/src/adapters/nitro.ts +52 -8
  407. package/src/adapters/wrangler.d.ts +7 -0
  408. package/src/cache/cache-api.ts +38 -0
  409. package/src/cache/handler-store.ts +68 -0
  410. package/src/cache/index.ts +81 -18
  411. package/src/cache/singleflight.ts +62 -4
  412. package/src/cache/sizeof.ts +31 -0
  413. package/src/cache/timber-cache.ts +24 -20
  414. package/src/cli.ts +16 -6
  415. package/src/client/browser-dev.ts +128 -1
  416. package/src/client/browser-entry/action-dispatch.ts +116 -0
  417. package/src/client/browser-entry/hmr.ts +81 -0
  418. package/src/client/browser-entry/hydrate.ts +145 -0
  419. package/src/client/browser-entry/index.ts +143 -0
  420. package/src/client/browser-entry/post-hydration.ts +119 -0
  421. package/src/client/browser-entry/router-init.ts +193 -0
  422. package/src/client/browser-entry/rsc-stream.ts +157 -0
  423. package/src/client/browser-entry/scroll.ts +27 -0
  424. package/src/client/error-boundary.tsx +48 -16
  425. package/src/client/error-reconstituter.tsx +65 -0
  426. package/src/client/form.tsx +14 -7
  427. package/src/client/history.ts +26 -4
  428. package/src/client/index.ts +65 -38
  429. package/src/client/internal.ts +57 -0
  430. package/src/client/link-pending-store.ts +111 -0
  431. package/src/client/link.tsx +342 -113
  432. package/src/client/nav-link-store.ts +47 -0
  433. package/src/client/navigation-api-types.ts +112 -0
  434. package/src/client/navigation-api.ts +332 -0
  435. package/src/client/navigation-context.ts +31 -6
  436. package/src/client/navigation-root.tsx +342 -0
  437. package/src/client/nuqs-adapter.tsx +16 -3
  438. package/src/client/router-ref.ts +1 -1
  439. package/src/client/router.ts +299 -72
  440. package/src/client/rsc-fetch.ts +97 -8
  441. package/src/client/segment-cache.ts +1 -1
  442. package/src/client/segment-outlet.tsx +86 -0
  443. package/src/client/ssr-data.ts +13 -5
  444. package/src/client/stale-reload.ts +72 -3
  445. package/src/client/top-loader.tsx +18 -6
  446. package/src/client/use-link-status.ts +7 -7
  447. package/src/client/use-params.ts +7 -5
  448. package/src/client/{use-navigation-pending.ts → use-pending-navigation.ts} +6 -6
  449. package/src/client/use-query-states.ts +9 -3
  450. package/src/client/use-router.ts +1 -1
  451. package/src/codec.ts +49 -0
  452. package/src/config-types.ts +264 -0
  453. package/src/config-validation.ts +303 -0
  454. package/src/content/index.ts +5 -13
  455. package/src/cookies/define-cookie.ts +78 -25
  456. package/src/cookies/index.ts +8 -0
  457. package/src/fonts/bundle.ts +142 -0
  458. package/src/fonts/css.ts +2 -1
  459. package/src/fonts/dev-middleware.ts +74 -0
  460. package/src/fonts/pipeline.ts +275 -0
  461. package/src/fonts/transform.ts +353 -0
  462. package/src/fonts/types.ts +50 -1
  463. package/src/fonts/virtual-modules.ts +159 -0
  464. package/src/index.ts +314 -355
  465. package/src/plugin-context.ts +240 -0
  466. package/src/plugins/adapter-build.ts +9 -3
  467. package/src/plugins/build-manifest.ts +13 -2
  468. package/src/plugins/build-report.ts +3 -3
  469. package/src/plugins/client-chunks.ts +65 -0
  470. package/src/plugins/content.ts +1 -1
  471. package/src/plugins/dev-404-page.ts +418 -0
  472. package/src/plugins/dev-browser-logs.ts +288 -0
  473. package/src/plugins/dev-error-overlay.ts +286 -42
  474. package/src/plugins/dev-error-page.ts +536 -0
  475. package/src/plugins/dev-logs.ts +1 -1
  476. package/src/plugins/dev-server.ts +146 -19
  477. package/src/plugins/dev-terminal-error.ts +217 -0
  478. package/src/plugins/entries.ts +111 -10
  479. package/src/plugins/fonts.ts +133 -638
  480. package/src/plugins/mdx.ts +1 -1
  481. package/src/plugins/routing.ts +213 -31
  482. package/src/plugins/server-action-exports.ts +1 -1
  483. package/src/plugins/server-bundle.ts +32 -1
  484. package/src/plugins/shims.ts +136 -35
  485. package/src/plugins/static-build.ts +17 -11
  486. package/src/routing/codegen-shared.ts +74 -0
  487. package/src/routing/codegen-types.ts +37 -0
  488. package/src/routing/codegen.ts +112 -173
  489. package/src/routing/convention-lint.ts +356 -0
  490. package/src/routing/index.ts +2 -0
  491. package/src/routing/link-codegen.ts +262 -0
  492. package/src/routing/scanner.ts +93 -23
  493. package/src/routing/segment-classify.ts +89 -0
  494. package/src/routing/status-file-lint.ts +3 -2
  495. package/src/routing/types.ts +17 -4
  496. package/src/rsc-runtime/rsc.ts +2 -0
  497. package/src/rsc-runtime/ssr.ts +50 -0
  498. package/src/rsc-runtime/vendor-types.d.ts +7 -0
  499. package/src/{search-params/codecs.ts → schema-bridge.ts} +57 -20
  500. package/src/search-params/define.ts +482 -0
  501. package/src/search-params/index.ts +14 -20
  502. package/src/search-params/registry.ts +2 -2
  503. package/src/search-params/wrappers.ts +85 -0
  504. package/src/segment-params/define.ts +279 -0
  505. package/src/segment-params/index.ts +9 -0
  506. package/src/server/access-gate.tsx +70 -29
  507. package/src/server/action-client.ts +88 -15
  508. package/src/server/action-encryption.ts +144 -0
  509. package/src/server/action-handler.ts +53 -6
  510. package/src/server/actions.ts +10 -9
  511. package/src/server/als-registry.ts +34 -6
  512. package/src/server/build-manifest.ts +10 -4
  513. package/src/server/compress.ts +25 -7
  514. package/src/server/debug.ts +1 -1
  515. package/src/server/default-logger.ts +99 -0
  516. package/src/server/deny-page-resolver.ts +154 -0
  517. package/src/server/deny-renderer.ts +24 -38
  518. package/src/server/dev-holding-server.ts +185 -0
  519. package/src/server/dev-source-map.ts +31 -0
  520. package/src/server/dev-warnings.ts +4 -49
  521. package/src/server/early-hints.ts +36 -15
  522. package/src/server/error-boundary-wrapper.ts +74 -22
  523. package/src/server/fallback-error.ts +74 -102
  524. package/src/server/flight-injection-state.ts +113 -0
  525. package/src/server/flight-scripts.ts +62 -0
  526. package/src/server/flush.ts +2 -1
  527. package/src/server/form-data.ts +76 -0
  528. package/src/server/html-injectors.ts +280 -120
  529. package/src/server/index.ts +25 -177
  530. package/src/server/internal.ts +169 -0
  531. package/src/server/logger.ts +44 -36
  532. package/src/server/middleware-runner.ts +31 -4
  533. package/src/server/node-stream-transforms.ts +509 -0
  534. package/src/server/page-deny-boundary.tsx +56 -0
  535. package/src/server/pipeline-interception.ts +17 -16
  536. package/src/server/pipeline-metadata.ts +13 -0
  537. package/src/server/pipeline.ts +261 -66
  538. package/src/server/primitives.ts +111 -28
  539. package/src/server/render-timeout.ts +108 -0
  540. package/src/server/request-context.ts +293 -132
  541. package/src/server/route-element-builder.ts +283 -191
  542. package/src/server/route-handler.ts +24 -4
  543. package/src/server/route-matcher.ts +31 -20
  544. package/src/server/rsc-entry/api-handler.ts +15 -16
  545. package/src/server/rsc-entry/error-renderer.ts +305 -89
  546. package/src/server/rsc-entry/helpers.ts +134 -5
  547. package/src/server/rsc-entry/index.ts +304 -111
  548. package/src/server/rsc-entry/rsc-payload.ts +65 -18
  549. package/src/server/rsc-entry/rsc-stream.ts +81 -13
  550. package/src/server/rsc-entry/ssr-bridge.ts +14 -5
  551. package/src/server/rsc-entry/ssr-renderer.ts +171 -38
  552. package/src/server/safe-load.ts +60 -0
  553. package/src/server/sensitive-fields.ts +230 -0
  554. package/src/server/sitemap-generator.ts +338 -0
  555. package/src/server/sitemap-handler.ts +126 -0
  556. package/src/server/slot-resolver.ts +244 -229
  557. package/src/server/ssr-entry.ts +215 -32
  558. package/src/server/ssr-render.ts +289 -67
  559. package/src/server/ssr-wrappers.tsx +139 -0
  560. package/src/server/status-code-resolver.ts +1 -1
  561. package/src/server/stream-utils.ts +213 -0
  562. package/src/server/tracing.ts +20 -9
  563. package/src/server/tree-builder.ts +92 -58
  564. package/src/server/types.ts +3 -6
  565. package/src/server/version-skew.ts +104 -0
  566. package/src/shared/merge-search-params.ts +55 -0
  567. package/src/shims/font-google.ts +1 -1
  568. package/src/shims/font-local.ts +34 -0
  569. package/src/shims/headers.ts +5 -1
  570. package/src/shims/navigation-client.ts +1 -1
  571. package/src/shims/navigation.ts +7 -2
  572. package/src/utils/directive-parser.ts +5 -2
  573. package/src/utils/state-machine.ts +111 -0
  574. package/dist/_chunks/als-registry-B7DbZ2hS.js.map +0 -1
  575. package/dist/_chunks/debug-gwlJkDuf.js.map +0 -1
  576. package/dist/_chunks/format-DviM89f0.js.map +0 -1
  577. package/dist/_chunks/interception-BOoWmLUA.js.map +0 -1
  578. package/dist/_chunks/request-context-DIkVh_jG.js +0 -330
  579. package/dist/_chunks/request-context-DIkVh_jG.js.map +0 -1
  580. package/dist/_chunks/tracing-CemImE6h.js.map +0 -1
  581. package/dist/_chunks/use-cookie-DX-l1_5E.js +0 -91
  582. package/dist/_chunks/use-cookie-DX-l1_5E.js.map +0 -1
  583. package/dist/_chunks/use-query-states-D5KaffOK.js.map +0 -1
  584. package/dist/cache/register-cached-function.d.ts +0 -17
  585. package/dist/cache/register-cached-function.d.ts.map +0 -1
  586. package/dist/client/browser-entry.d.ts +0 -21
  587. package/dist/client/browser-entry.d.ts.map +0 -1
  588. package/dist/client/link-status-provider.d.ts +0 -11
  589. package/dist/client/link-status-provider.d.ts.map +0 -1
  590. package/dist/client/transition-root.d.ts.map +0 -1
  591. package/dist/client/use-navigation-pending.d.ts.map +0 -1
  592. package/dist/cookies/index.js.map +0 -1
  593. package/dist/plugins/cache-transform.d.ts +0 -36
  594. package/dist/plugins/cache-transform.d.ts.map +0 -1
  595. package/dist/plugins/dynamic-transform.d.ts +0 -72
  596. package/dist/plugins/dynamic-transform.d.ts.map +0 -1
  597. package/dist/search-params/analyze.d.ts +0 -54
  598. package/dist/search-params/analyze.d.ts.map +0 -1
  599. package/dist/search-params/builtin-codecs.d.ts +0 -105
  600. package/dist/search-params/builtin-codecs.d.ts.map +0 -1
  601. package/dist/search-params/codecs.d.ts +0 -53
  602. package/dist/search-params/codecs.d.ts.map +0 -1
  603. package/dist/search-params/create.d.ts +0 -106
  604. package/dist/search-params/create.d.ts.map +0 -1
  605. package/dist/server/prerender.d.ts +0 -77
  606. package/dist/server/prerender.d.ts.map +0 -1
  607. package/dist/server/response-cache.d.ts +0 -54
  608. package/dist/server/response-cache.d.ts.map +0 -1
  609. package/src/cache/register-cached-function.ts +0 -103
  610. package/src/client/browser-entry.ts +0 -678
  611. package/src/client/link-status-provider.tsx +0 -30
  612. package/src/client/transition-root.tsx +0 -166
  613. package/src/plugins/cache-transform.ts +0 -199
  614. package/src/plugins/dynamic-transform.ts +0 -161
  615. package/src/search-params/analyze.ts +0 -192
  616. package/src/search-params/builtin-codecs.ts +0 -228
  617. package/src/search-params/create.ts +0 -321
  618. package/src/server/prerender.ts +0 -139
  619. package/src/server/response-cache.ts +0 -410
@@ -1,129 +1,45 @@
1
1
  // @timber-js/app/server — Server-side primitives
2
2
  // These are the primary imports for server components, middleware, and access files.
3
+ //
4
+ // Framework-internal pipeline plumbing is in #server-internal (Node package import).
5
+ // Design doc: design/triage/api-naming-spike.md §8.5
3
6
 
4
7
  export type { AccessContext } from './types';
5
8
  export type { MiddlewareContext } from './types';
6
9
  export type { RouteContext } from './types';
7
10
  export type { Metadata, MetadataRoute } from './types';
8
11
 
9
- // Request Context — ALS-backed headers(), cookies(), and searchParams()
12
+ // Request Context — ALS-backed getHeaders(), getCookies(), and getSearchParams()
10
13
  // Design doc: design/04-authorization.md §"AccessContext does not include cookies or headers"
11
14
  // Design doc: design/23-search-params.md §"Server Integration"
12
15
  export {
13
- headers,
14
- cookies,
15
- searchParams,
16
- setParsedSearchParams,
17
- runWithRequestContext,
18
- setMutableCookieContext,
19
- markResponseFlushed,
20
- getSetCookieHeaders,
21
- setCookieSecrets,
16
+ getHeaders,
17
+ getHeader,
18
+ getCookies,
19
+ getCookie,
20
+ getSearchParams,
21
+ getSegmentParams,
22
22
  } from './request-context';
23
23
  export type { ReadonlyHeaders, RequestCookies, CookieOptions } from './request-context';
24
24
 
25
25
  // Runtime primitives
26
26
  export {
27
27
  deny,
28
- notFound,
29
28
  redirect,
30
- permanentRedirect,
31
29
  redirectExternal,
32
30
  RedirectType,
33
- RenderError,
34
31
  waitUntil,
35
- DenySignal,
36
- RedirectSignal,
32
+ type DenyOptions,
33
+ type RedirectOptions,
37
34
  } from './primitives';
35
+ // RenderError removed from public exports per TIM-724.
36
+ // Use deny({ status: 500, data: ... }) instead. RenderError stays in
37
+ // #server-internal for pipeline catch logic.
38
38
  export type { RenderErrorDigest, WaitUntilAdapter } from './primitives';
39
- export type { JsonSerializable } from './types';
39
+ // JsonSerializable moved to @timber-js/app/codec as the single canonical path.
40
+ // Re-export removed per TIM-721.
40
41
 
41
- // Pipeline
42
- export { createPipeline } from './pipeline';
43
- export type {
44
- PipelineConfig,
45
- RouteMatch,
46
- RouteMatcher,
47
- RouteRenderer,
48
- EarlyHintsEmitter,
49
- } from './pipeline';
50
-
51
- // Early Hints
52
- export { collectEarlyHintHeaders, formatLinkHeader } from './early-hints';
53
- export type { EarlyHint } from './early-hints';
54
-
55
- // Early Hints 103 Sender — ALS bridge for platform adapters
56
- export { runWithEarlyHintsSender, sendEarlyHints103 } from './early-hints-sender';
57
- export type { EarlyHintsSenderFn } from './early-hints-sender';
58
-
59
- // Canonicalization
60
- export { canonicalize } from './canonicalize';
61
- export type { CanonicalizeResult } from './canonicalize';
62
-
63
- // Proxy
64
- export { runProxy } from './proxy';
65
- export type { ProxyFn, ProxyExport } from './proxy';
66
-
67
- // Middleware
68
- export { runMiddleware } from './middleware-runner';
69
- export type { MiddlewareFn } from './middleware-runner';
70
-
71
- // Tree Builder
72
- export { buildElementTree } from './tree-builder';
73
- export type {
74
- TreeBuilderConfig,
75
- TreeBuildResult,
76
- LoadedModule,
77
- ModuleLoader,
78
- AccessGateProps,
79
- SlotAccessGateProps,
80
- ErrorBoundaryProps,
81
- } from './tree-builder';
82
-
83
- // Access Gates
84
- export { AccessGate, SlotAccessGate } from './access-gate';
85
-
86
- // Status-Code Resolver
87
- export { resolveStatusFile, resolveSlotDenied } from './status-code-resolver';
88
- export type {
89
- StatusFileResolution,
90
- StatusFileKind,
91
- StatusFileFormat,
92
- SlotDeniedResolution,
93
- SlotDeniedKind,
94
- } from './status-code-resolver';
95
-
96
- // Flush Controller
97
- export { flushResponse } from './flush';
98
- export type { FlushOptions, FlushResult, RenderFn, RenderResult } from './flush';
99
-
100
- // CSRF Protection
101
- export { validateCsrf } from './csrf';
102
- export type { CsrfConfig, CsrfResult } from './csrf';
103
-
104
- // Body Limits
105
- export { parseBodySize, enforceBodyLimits, DEFAULT_LIMITS } from './body-limits';
106
- export type { BodyLimitsConfig, BodyLimitResult, BodyKind } from './body-limits';
107
-
108
- // Metadata
109
- export {
110
- resolveMetadata,
111
- resolveTitle,
112
- resolveMetadataUrls,
113
- renderMetadataToElements,
114
- } from './metadata';
115
- export type { SegmentMetadataEntry, ResolveMetadataOptions, HeadElement } from './metadata';
116
-
117
- // Metadata Routes
118
- export {
119
- classifyMetadataRoute,
120
- getMetadataRouteServePath,
121
- getMetadataRouteAutoLink,
122
- METADATA_ROUTE_CONVENTIONS,
123
- } from './metadata-routes';
124
- export type { MetadataRouteInfo, MetadataRouteType } from './metadata-routes';
125
-
126
- // Server Actions
42
+ // Server Actions — user-facing action client and validation
127
43
  export { createActionClient, ActionError, validated } from './action-client';
128
44
  export type {
129
45
  ActionResult,
@@ -143,81 +59,13 @@ export { parseFormData, coerce } from './form-data';
143
59
  export { getFormFlash } from './form-flash';
144
60
  export type { FormFlashData } from './form-flash';
145
61
 
146
- // Revalidation
147
- export {
148
- revalidatePath,
149
- revalidateTag,
150
- executeAction,
151
- buildNoJsResponse,
152
- isRscActionRequest,
153
- } from './actions';
154
- export type {
155
- RevalidateRenderer,
156
- RevalidationState,
157
- ActionHandlerConfig,
158
- ActionHandlerResult,
159
- } from './actions';
62
+ // Revalidation — user-facing revalidation APIs
63
+ export { revalidatePath, revalidateTag } from './actions';
160
64
 
161
- // Tracing — per-request trace ID via ALS
65
+ // Tracing — per-request trace ID via ALS (user-facing accessors)
162
66
  // Design doc: design/17-logging.md §"trace_id is Always Set"
163
- export {
164
- traceId,
165
- spanId,
166
- generateTraceId,
167
- runWithTraceId,
168
- replaceTraceId,
169
- withSpan,
170
- addSpanEvent,
171
- } from './tracing';
172
- export type { TraceStore } from './tracing';
173
-
174
- // Logger — structured logging
175
- // Design doc: design/17-logging.md §"Production Logging"
176
- export { setLogger, getLogger } from './logger';
177
- export {
178
- logRequestCompleted,
179
- logRequestReceived,
180
- logSlowRequest,
181
- logMiddlewareShortCircuit,
182
- logMiddlewareError,
183
- logRenderError,
184
- logProxyError,
185
- logWaitUntilUnsupported,
186
- logWaitUntilRejected,
187
- logSwrRefetchFailed,
188
- logCacheMiss,
189
- } from './logger';
190
- export type { TimberLogger } from './logger';
191
-
192
- // Instrumentation — instrumentation.ts file convention
193
- // Design doc: design/17-logging.md §"instrumentation.ts"
194
- export { loadInstrumentation, callOnRequestError, hasOnRequestError } from './instrumentation';
195
- export type {
196
- InstrumentationOnRequestError,
197
- InstrumentationRequestInfo,
198
- InstrumentationErrorContext,
199
- } from './instrumentation';
200
-
201
- // Dev Warnings — dev-mode misuse detection
202
- // Design doc: design/21-dev-server.md §"Dev-Mode Warnings", design/11-platform.md §"Dev Mode"
203
- export {
204
- warnSuspenseWrappingChildren,
205
- warnDenyInSuspense,
206
- warnRedirectInSuspense,
207
- warnRedirectInAccess,
208
- warnStaticRequestApi,
209
- warnCacheRequestProps,
210
- warnSlowSlotWithoutSuspense,
211
- setViteServer,
212
- WarningId,
213
- // Legacy aliases
214
- warnDynamicApiInStaticBuild,
215
- warnRedirectInSlotAccess,
216
- warnDenyAfterFlush,
217
- } from './dev-warnings';
218
- export type { DevWarningConfig } from './dev-warnings';
67
+ export { getTraceId, getSpanId, withSpan, addSpanEvent } from './tracing';
219
68
 
220
- // Route Handlerroute.ts API endpoints
221
- // Design doc: design/07-routing.md §"route.ts — API Endpoints"
222
- export { handleRouteRequest, resolveAllowedMethods } from './route-handler';
223
- export type { RouteModule, RouteHandler, HttpMethod } from './route-handler';
69
+ // Segment params types re-exported for convenience.
70
+ // defineSegmentParams itself lives at @timber-js/app/segment-params.
71
+ export type { ParamsDefinition, InferParamField, ParamField } from '../segment-params/define.js';
@@ -0,0 +1,169 @@
1
+ // #server-internal — Framework-internal server exports
2
+ //
3
+ // This module is a Node package import (#server-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 entry modules (rsc-entry, ssr-entry),
8
+ // adapters, dev server plugins, and build plugins. They are NOT part of
9
+ // the user-facing API and should not appear in documentation or autocomplete
10
+ // for application developers.
11
+ //
12
+ // Design doc: design/triage/api-naming-spike.md §8.5
13
+
14
+ // ── Request Context internals ────────────────────────────────────────────
15
+ export {
16
+ setSegmentParams,
17
+ runWithRequestContext,
18
+ setMutableCookieContext,
19
+ markResponseFlushed,
20
+ getSetCookieHeaders,
21
+ } from './request-context.js';
22
+
23
+ // ── Signal classes (instanceof targets for pipeline catch logic) ──────────
24
+ export { DenySignal, RedirectSignal, RenderError } from './primitives.js';
25
+ export type { RenderErrorDigest } from './primitives.js';
26
+
27
+ // ── Pipeline ─────────────────────────────────────────────────────────────
28
+ export { createPipeline } from './pipeline.js';
29
+ export type {
30
+ PipelineConfig,
31
+ RouteMatch,
32
+ RouteMatcher,
33
+ RouteRenderer,
34
+ EarlyHintsEmitter,
35
+ } from './pipeline.js';
36
+
37
+ // ── Early Hints ──────────────────────────────────────────────────────────
38
+ export { collectEarlyHintHeaders, formatLinkHeader } from './early-hints.js';
39
+ export type { EarlyHint } from './early-hints.js';
40
+
41
+ // ── Early Hints 103 Sender — ALS bridge for platform adapters ────────────
42
+ export { runWithEarlyHintsSender, sendEarlyHints103 } from './early-hints-sender.js';
43
+ export type { EarlyHintsSenderFn } from './early-hints-sender.js';
44
+
45
+ // ── Canonicalization ─────────────────────────────────────────────────────
46
+ export { canonicalize } from './canonicalize.js';
47
+ export type { CanonicalizeResult } from './canonicalize.js';
48
+
49
+ // ── Proxy ────────────────────────────────────────────────────────────────
50
+ export { runProxy } from './proxy.js';
51
+ export type { ProxyFn, ProxyExport } from './proxy.js';
52
+
53
+ // ── Middleware ────────────────────────────────────────────────────────────
54
+ export { runMiddleware } from './middleware-runner.js';
55
+ export type { MiddlewareFn } from './middleware-runner.js';
56
+
57
+ // ── Tree Builder ─────────────────────────────────────────────────────────
58
+ export { buildElementTree } from './tree-builder.js';
59
+ export type {
60
+ TreeBuilderConfig,
61
+ TreeBuildResult,
62
+ LoadedModule,
63
+ ModuleLoader,
64
+ AccessGateProps,
65
+ SlotAccessGateProps,
66
+ ErrorBoundaryProps,
67
+ } from './tree-builder.js';
68
+
69
+ // ── Access Gates ─────────────────────────────────────────────────────────
70
+ export { AccessGate, SlotAccessGate } from './access-gate.js';
71
+
72
+ // ── Status-Code Resolver ─────────────────────────────────────────────────
73
+ export { resolveStatusFile, resolveSlotDenied } from './status-code-resolver.js';
74
+ export type {
75
+ StatusFileResolution,
76
+ StatusFileKind,
77
+ StatusFileFormat,
78
+ SlotDeniedResolution,
79
+ SlotDeniedKind,
80
+ } from './status-code-resolver.js';
81
+
82
+ // ── Flush Controller ─────────────────────────────────────────────────────
83
+ export { flushResponse } from './flush.js';
84
+ export type { FlushOptions, FlushResult, RenderFn, RenderResult } from './flush.js';
85
+
86
+ // ── CSRF Protection ──────────────────────────────────────────────────────
87
+ export { validateCsrf } from './csrf.js';
88
+ export type { CsrfConfig, CsrfResult } from './csrf.js';
89
+
90
+ // ── Body Limits ──────────────────────────────────────────────────────────
91
+ export { parseBodySize, enforceBodyLimits, DEFAULT_LIMITS } from './body-limits.js';
92
+ export type { BodyLimitsConfig, BodyLimitResult, BodyKind } from './body-limits.js';
93
+
94
+ // ── Metadata ─────────────────────────────────────────────────────────────
95
+ export {
96
+ resolveMetadata,
97
+ resolveTitle,
98
+ resolveMetadataUrls,
99
+ renderMetadataToElements,
100
+ } from './metadata.js';
101
+ export type { SegmentMetadataEntry, ResolveMetadataOptions, HeadElement } from './metadata.js';
102
+
103
+ // ── Metadata Routes ──────────────────────────────────────────────────────
104
+ export {
105
+ classifyMetadataRoute,
106
+ getMetadataRouteServePath,
107
+ getMetadataRouteAutoLink,
108
+ METADATA_ROUTE_CONVENTIONS,
109
+ } from './metadata-routes.js';
110
+ export type { MetadataRouteInfo, MetadataRouteType } from './metadata-routes.js';
111
+
112
+ // ── Server Actions (pipeline internals) ──────────────────────────────────
113
+ export { executeAction, buildNoJsResponse, isRscActionRequest } from './actions.js';
114
+ export type {
115
+ RevalidateRenderer,
116
+ RevalidationState,
117
+ ActionHandlerConfig,
118
+ ActionHandlerResult,
119
+ } from './actions.js';
120
+
121
+ // ── Tracing internals ────────────────────────────────────────────────────
122
+ export { runWithTraceId, replaceTraceId, generateTraceId } from './tracing.js';
123
+ export type { TraceStore } from './tracing.js';
124
+
125
+ // ── Logger ───────────────────────────────────────────────────────────────
126
+ export { setLogger, getLogger } from './logger.js';
127
+ export {
128
+ logRequestCompleted,
129
+ logRequestReceived,
130
+ logSlowRequest,
131
+ logMiddlewareShortCircuit,
132
+ logMiddlewareError,
133
+ logRenderError,
134
+ logProxyError,
135
+ logWaitUntilUnsupported,
136
+ logWaitUntilRejected,
137
+ logSwrRefetchFailed,
138
+ logCacheMiss,
139
+ } from './logger.js';
140
+ export type { TimberLogger } from './logger.js';
141
+
142
+ // ── Instrumentation ──────────────────────────────────────────────────────
143
+ export { loadInstrumentation, callOnRequestError, hasOnRequestError } from './instrumentation.js';
144
+ export type {
145
+ InstrumentationOnRequestError,
146
+ InstrumentationRequestInfo,
147
+ InstrumentationErrorContext,
148
+ } from './instrumentation.js';
149
+
150
+ // ── Dev Warnings ─────────────────────────────────────────────────────────
151
+ export {
152
+ warnSuspenseWrappingChildren,
153
+ warnDenyInSuspense,
154
+ warnRedirectInSuspense,
155
+ warnRedirectInAccess,
156
+ warnStaticRequestApi,
157
+ warnSlowSlotWithoutSuspense,
158
+ setViteServer,
159
+ WarningId,
160
+ } from './dev-warnings.js';
161
+ export type { DevWarningConfig } from './dev-warnings.js';
162
+
163
+ // ── Route Handler ────────────────────────────────────────────────────────
164
+ export { handleRouteRequest, resolveAllowedMethods } from './route-handler.js';
165
+ export type { RouteModule, RouteHandler, HttpMethod } from './route-handler.js';
166
+
167
+ // ── Render Timeout ───────────────────────────────────────────────────────
168
+ export { RenderTimeoutError } from './render-timeout.js';
169
+ export type { RenderTimeout } from './render-timeout.js';
@@ -1,16 +1,15 @@
1
1
  /**
2
2
  * Logger — structured logging with environment-aware formatting.
3
3
  *
4
- * timber.js does not ship a logger. Users export any object with
5
- * info/warn/error/debug methods from instrumentation.ts and the framework
6
- * picks it up. Silent if no logger export is present.
4
+ * timber.js ships a DefaultLogger that writes human-readable lines to stderr
5
+ * in production. Users can export a custom logger from instrumentation.ts to
6
+ * replace it with pino, winston, or any TimberLogger-compatible object.
7
7
  *
8
8
  * See design/17-logging.md §"Production Logging"
9
9
  */
10
10
 
11
11
  import { getTraceStore } from './tracing.js';
12
- import { formatSsrError } from './error-formatter.js';
13
- import { isDebug } from './debug.js';
12
+ import { createDefaultLogger } from './default-logger.js';
14
13
 
15
14
  // ─── Logger Interface ─────────────────────────────────────────────────────
16
15
 
@@ -24,21 +23,24 @@ export interface TimberLogger {
24
23
 
25
24
  // ─── Logger Registry ──────────────────────────────────────────────────────
26
25
 
27
- let _logger: TimberLogger | null = null;
26
+ // Initialize with DefaultLogger so production errors are never silent.
27
+ // Replaced when setLogger() is called from instrumentation.ts.
28
+ let _logger: TimberLogger = createDefaultLogger();
28
29
 
29
30
  /**
30
31
  * Set the user-provided logger. Called by the instrumentation loader
31
- * when it finds a `logger` export in instrumentation.ts.
32
+ * when it finds a `logger` export in instrumentation.ts. Replaces
33
+ * the DefaultLogger entirely.
32
34
  */
33
35
  export function setLogger(logger: TimberLogger): void {
34
36
  _logger = logger;
35
37
  }
36
38
 
37
39
  /**
38
- * Get the current logger, or null if none configured.
39
- * Framework-internal used at framework event points to emit structured logs.
40
+ * Get the current logger. Always non-null returns DefaultLogger when
41
+ * no custom logger is configured.
40
42
  */
41
- export function getLogger(): TimberLogger | null {
43
+ export function getLogger(): TimberLogger {
42
44
  return _logger;
43
45
  }
44
46
 
@@ -71,12 +73,12 @@ export function logRequestCompleted(data: {
71
73
  /** Number of concurrent in-flight requests (including this one) at completion time. */
72
74
  concurrency?: number;
73
75
  }): void {
74
- _logger?.info('request completed', withTraceContext(data));
76
+ _logger.info('request completed', withTraceContext(data));
75
77
  }
76
78
 
77
79
  /** Log request received. Level: debug. */
78
80
  export function logRequestReceived(data: { method: string; path: string }): void {
79
- _logger?.debug('request received', withTraceContext(data));
81
+ _logger.debug('request received', withTraceContext(data));
80
82
  }
81
83
 
82
84
  /** Log a slow request warning. Level: warn. */
@@ -88,7 +90,7 @@ export function logSlowRequest(data: {
88
90
  /** Number of concurrent in-flight requests at the time the slow request completed. */
89
91
  concurrency?: number;
90
92
  }): void {
91
- _logger?.warn('slow request exceeded threshold', withTraceContext(data));
93
+ _logger.warn('slow request exceeded threshold', withTraceContext(data));
92
94
  }
93
95
 
94
96
  /** Log middleware short-circuit. Level: debug. */
@@ -97,54 +99,60 @@ export function logMiddlewareShortCircuit(data: {
97
99
  path: string;
98
100
  status: number;
99
101
  }): void {
100
- _logger?.debug('middleware short-circuited', withTraceContext(data));
102
+ _logger.debug('middleware short-circuited', withTraceContext(data));
101
103
  }
102
104
 
103
105
  /** Log unhandled error in middleware phase. Level: error. */
104
106
  export function logMiddlewareError(data: { method: string; path: string; error: unknown }): void {
105
- if (_logger) {
106
- _logger.error('unhandled error in middleware phase', withTraceContext(data));
107
- } else if (isDebug()) {
108
- console.error('[timber] middleware error', data.error);
109
- }
107
+ _logger.error('unhandled error in middleware phase', withTraceContext(data));
110
108
  }
111
109
 
112
110
  /** Log unhandled render-phase error. Level: error. */
113
- export function logRenderError(data: { method: string; path: string; error: unknown }): void {
114
- if (_logger) {
115
- _logger.error('unhandled render-phase error', withTraceContext(data));
116
- } else if (isDebug()) {
117
- // No logger configured — fall back to console.error in dev with
118
- // cleaned-up error messages (vendor paths rewritten, hints added).
119
- console.error('[timber] render error:', formatSsrError(data.error));
120
- }
111
+ export function logRenderError(data: {
112
+ method: string;
113
+ path: string;
114
+ error: unknown;
115
+ errorId?: string;
116
+ }): void {
117
+ _logger.error('unhandled render-phase error', withTraceContext(data));
121
118
  }
122
119
 
123
120
  /** Log proxy.ts uncaught error. Level: error. */
124
121
  export function logProxyError(data: { error: unknown }): void {
125
- if (_logger) {
126
- _logger.error('proxy.ts threw uncaught error', withTraceContext(data));
127
- } else if (isDebug()) {
128
- console.error('[timber] proxy error', data.error);
129
- }
122
+ _logger.error('proxy.ts threw uncaught error', withTraceContext(data));
123
+ }
124
+
125
+ /** Log unhandled error in server action. Level: error. */
126
+ export function logActionError(data: { method: string; path: string; error: unknown }): void {
127
+ _logger.error('unhandled server action error', withTraceContext(data));
128
+ }
129
+
130
+ /** Log unhandled error in route handler. Level: error. */
131
+ export function logRouteError(data: { method: string; path: string; error: unknown }): void {
132
+ _logger.error('unhandled route handler error', withTraceContext(data));
133
+ }
134
+
135
+ /** Log SSR streaming error (post-shell). Level: error. */
136
+ export function logStreamingError(data: { error: unknown }): void {
137
+ _logger.error('SSR streaming error (post-shell)', withTraceContext(data));
130
138
  }
131
139
 
132
140
  /** Log waitUntil() adapter missing (once at startup). Level: warn. */
133
141
  export function logWaitUntilUnsupported(): void {
134
- _logger?.warn('adapter does not support waitUntil()');
142
+ _logger.warn('adapter does not support waitUntil()');
135
143
  }
136
144
 
137
145
  /** Log waitUntil() promise rejection. Level: warn. */
138
146
  export function logWaitUntilRejected(data: { error: unknown }): void {
139
- _logger?.warn('waitUntil() promise rejected', withTraceContext(data));
147
+ _logger.warn('waitUntil() promise rejected', withTraceContext(data));
140
148
  }
141
149
 
142
150
  /** Log staleWhileRevalidate refetch failure. Level: warn. */
143
151
  export function logSwrRefetchFailed(data: { cacheKey: string; error: unknown }): void {
144
- _logger?.warn('staleWhileRevalidate refetch failed', withTraceContext(data));
152
+ _logger.warn('staleWhileRevalidate refetch failed', withTraceContext(data));
145
153
  }
146
154
 
147
155
  /** Log cache miss. Level: debug. */
148
156
  export function logCacheMiss(data: { cacheKey: string }): void {
149
- _logger?.debug('timber.cache MISS', withTraceContext(data));
157
+ _logger.debug('timber.cache MISS', withTraceContext(data));
150
158
  }
@@ -1,9 +1,9 @@
1
1
  /**
2
- * Middleware runner — executes a route's middleware.ts before rendering.
2
+ * Middleware runner — executes a route's middleware.ts chain before rendering.
3
3
  *
4
- * Only the leaf route's middleware runs. There is no middleware chain.
5
- * Middleware does NOT have next() it either short-circuits with a Response
6
- * or returns void to continue to access checks + render.
4
+ * All middleware.ts files in the segment chain run, root to leaf (top-down).
5
+ * The first middleware that returns a Response short-circuits the chain.
6
+ * There is no next() each middleware is independent.
7
7
  *
8
8
  * See design/07-routing.md §"middleware.ts"
9
9
  */
@@ -30,3 +30,30 @@ export async function runMiddleware(
30
30
  }
31
31
  return undefined;
32
32
  }
33
+
34
+ /**
35
+ * Run all middleware functions in the segment chain, root to leaf.
36
+ *
37
+ * Execution is top-down: root middleware runs first, leaf middleware runs last.
38
+ * All middleware share the same MiddlewareContext — a parent that sets
39
+ * ctx.requestHeaders makes it visible to child middleware and downstream components.
40
+ *
41
+ * Short-circuits on the first middleware that returns a Response.
42
+ * Remaining middleware in the chain do not execute.
43
+ *
44
+ * @param chain - Middleware functions ordered root-to-leaf
45
+ * @param ctx - Shared middleware context
46
+ * @returns A Response if any middleware short-circuited, or undefined to continue
47
+ */
48
+ export async function runMiddlewareChain(
49
+ chain: MiddlewareFn[],
50
+ ctx: MiddlewareContext
51
+ ): Promise<Response | undefined> {
52
+ for (const fn of chain) {
53
+ const result = await fn(ctx);
54
+ if (result instanceof Response) {
55
+ return result;
56
+ }
57
+ }
58
+ return undefined;
59
+ }