@timber-js/app 0.2.0-alpha.14 → 0.2.0-alpha.141

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 (801) hide show
  1. package/dist/_chunks/actions-DzFMnUAR.js +1147 -0
  2. package/dist/_chunks/actions-DzFMnUAR.js.map +1 -0
  3. package/dist/_chunks/build-output-helper-B20ZuTSA.js +102 -0
  4. package/dist/_chunks/build-output-helper-B20ZuTSA.js.map +1 -0
  5. package/dist/_chunks/cli-schema-sync-D2IpXicg.js +785 -0
  6. package/dist/_chunks/cli-schema-sync-D2IpXicg.js.map +1 -0
  7. package/dist/_chunks/cli-schema-sync-DH-M8Poy.js +2 -0
  8. package/dist/_chunks/codec-registry-oOUxugz3.js +21 -0
  9. package/dist/_chunks/codec-registry-oOUxugz3.js.map +1 -0
  10. package/dist/_chunks/define-C3RvHQPK.js +195 -0
  11. package/dist/_chunks/define-C3RvHQPK.js.map +1 -0
  12. package/dist/_chunks/define-DMVhsipD.js +112 -0
  13. package/dist/_chunks/define-DMVhsipD.js.map +1 -0
  14. package/dist/_chunks/fast-hash-D6hIVt1Y.js +36 -0
  15. package/dist/_chunks/fast-hash-D6hIVt1Y.js.map +1 -0
  16. package/dist/_chunks/format-CfwjgPz9.js +14 -0
  17. package/dist/_chunks/format-CfwjgPz9.js.map +1 -0
  18. package/dist/_chunks/handler-store-DjISKYEB.js +54 -0
  19. package/dist/_chunks/handler-store-DjISKYEB.js.map +1 -0
  20. package/dist/_chunks/href-validation-EZktELp8.js +124 -0
  21. package/dist/_chunks/href-validation-EZktELp8.js.map +1 -0
  22. package/dist/_chunks/logger-Dt-jQaBO.js +291 -0
  23. package/dist/_chunks/logger-Dt-jQaBO.js.map +1 -0
  24. package/dist/_chunks/{metadata-routes-Cjmvi3rQ.js → metadata-routes-BjepjefT.js} +32 -19
  25. package/dist/_chunks/metadata-routes-BjepjefT.js.map +1 -0
  26. package/dist/_chunks/navigation-root-DLc4s4ZC.js +103 -0
  27. package/dist/_chunks/navigation-root-DLc4s4ZC.js.map +1 -0
  28. package/dist/_chunks/registry-DbJPKoBp.js +20 -0
  29. package/dist/_chunks/registry-DbJPKoBp.js.map +1 -0
  30. package/dist/_chunks/resolve-schema-Dj8tQloi.js +77 -0
  31. package/dist/_chunks/resolve-schema-Dj8tQloi.js.map +1 -0
  32. package/dist/_chunks/router-ref-CtmF-aPv.js +28 -0
  33. package/dist/_chunks/router-ref-CtmF-aPv.js.map +1 -0
  34. package/dist/_chunks/schema-bridge-DK_89h8O.js +86 -0
  35. package/dist/_chunks/schema-bridge-DK_89h8O.js.map +1 -0
  36. package/dist/_chunks/segment-classify-CDDRVKs7.js +137 -0
  37. package/dist/_chunks/segment-classify-CDDRVKs7.js.map +1 -0
  38. package/dist/_chunks/segment-context-ZDnXDkbz.js +34 -0
  39. package/dist/_chunks/segment-context-ZDnXDkbz.js.map +1 -0
  40. package/dist/_chunks/{ssr-data-MjmprTmO.js → ssr-data-BOWsq18U.js} +1 -1
  41. package/dist/_chunks/ssr-data-BOWsq18U.js.map +1 -0
  42. package/dist/_chunks/tracing-M_zKubhk.js +358 -0
  43. package/dist/_chunks/tracing-M_zKubhk.js.map +1 -0
  44. package/dist/_chunks/{use-query-states-D5KaffOK.js → use-query-states-CbeQmext.js} +7 -20
  45. package/dist/_chunks/use-query-states-CbeQmext.js.map +1 -0
  46. package/dist/_chunks/use-segment-params-D1CzlgBo.js +151 -0
  47. package/dist/_chunks/use-segment-params-D1CzlgBo.js.map +1 -0
  48. package/dist/_chunks/validation-taUkvA4Q.js +113 -0
  49. package/dist/_chunks/validation-taUkvA4Q.js.map +1 -0
  50. package/dist/_chunks/walkers-7FBPM-hX.js +724 -0
  51. package/dist/_chunks/walkers-7FBPM-hX.js.map +1 -0
  52. package/dist/_chunks/{format-RyoGQL74.js → warnings-CNPXaypM.js} +6 -45
  53. package/dist/_chunks/warnings-CNPXaypM.js.map +1 -0
  54. package/dist/adapters/build-output-helper.d.ts +28 -0
  55. package/dist/adapters/build-output-helper.d.ts.map +1 -0
  56. package/dist/adapters/cloudflare-dev.d.ts +109 -0
  57. package/dist/adapters/cloudflare-dev.d.ts.map +1 -0
  58. package/dist/adapters/cloudflare-dev.js +73 -0
  59. package/dist/adapters/cloudflare-dev.js.map +1 -0
  60. package/dist/adapters/cloudflare-kv-cache.d.ts +64 -0
  61. package/dist/adapters/cloudflare-kv-cache.d.ts.map +1 -0
  62. package/dist/adapters/cloudflare-kv-cache.js +95 -0
  63. package/dist/adapters/cloudflare-kv-cache.js.map +1 -0
  64. package/dist/adapters/cloudflare.d.ts +148 -12
  65. package/dist/adapters/cloudflare.d.ts.map +1 -1
  66. package/dist/adapters/cloudflare.js +142 -38
  67. package/dist/adapters/cloudflare.js.map +1 -1
  68. package/dist/adapters/compress-module.d.ts.map +1 -1
  69. package/dist/adapters/nitro.d.ts +17 -1
  70. package/dist/adapters/nitro.d.ts.map +1 -1
  71. package/dist/adapters/nitro.js +154 -48
  72. package/dist/adapters/nitro.js.map +1 -1
  73. package/dist/adapters/shared.d.ts +16 -0
  74. package/dist/adapters/shared.d.ts.map +1 -0
  75. package/dist/cache/cache-api.d.ts +24 -0
  76. package/dist/cache/cache-api.d.ts.map +1 -0
  77. package/dist/cache/handler-store.d.ts +31 -0
  78. package/dist/cache/handler-store.d.ts.map +1 -0
  79. package/dist/cache/index.d.ts +23 -7
  80. package/dist/cache/index.d.ts.map +1 -1
  81. package/dist/cache/index.js +165 -117
  82. package/dist/cache/index.js.map +1 -1
  83. package/dist/cache/singleflight.d.ts +18 -1
  84. package/dist/cache/singleflight.d.ts.map +1 -1
  85. package/dist/cache/sizeof.d.ts +22 -0
  86. package/dist/cache/sizeof.d.ts.map +1 -0
  87. package/dist/cache/timber-cache.d.ts +1 -1
  88. package/dist/cache/timber-cache.d.ts.map +1 -1
  89. package/dist/cli-schema-sync.d.ts +39 -0
  90. package/dist/cli-schema-sync.d.ts.map +1 -0
  91. package/dist/cli.d.ts +14 -2
  92. package/dist/cli.d.ts.map +1 -1
  93. package/dist/cli.js +48 -6
  94. package/dist/cli.js.map +1 -1
  95. package/dist/client/browser-dev.d.ts +34 -1
  96. package/dist/client/browser-dev.d.ts.map +1 -1
  97. package/dist/client/browser-entry/action-dispatch.d.ts +17 -0
  98. package/dist/client/browser-entry/action-dispatch.d.ts.map +1 -0
  99. package/dist/client/browser-entry/hmr.d.ts +21 -0
  100. package/dist/client/browser-entry/hmr.d.ts.map +1 -0
  101. package/dist/client/browser-entry/hydrate.d.ts +46 -0
  102. package/dist/client/browser-entry/hydrate.d.ts.map +1 -0
  103. package/dist/client/browser-entry/index.d.ts +30 -0
  104. package/dist/client/browser-entry/index.d.ts.map +1 -0
  105. package/dist/client/browser-entry/post-hydration.d.ts +26 -0
  106. package/dist/client/browser-entry/post-hydration.d.ts.map +1 -0
  107. package/dist/client/browser-entry/router-init.d.ts +26 -0
  108. package/dist/client/browser-entry/router-init.d.ts.map +1 -0
  109. package/dist/client/browser-entry/rsc-stream.d.ts +24 -0
  110. package/dist/client/browser-entry/rsc-stream.d.ts.map +1 -0
  111. package/dist/client/browser-entry/scroll.d.ts +19 -0
  112. package/dist/client/browser-entry/scroll.d.ts.map +1 -0
  113. package/dist/client/error-boundary.d.ts +12 -5
  114. package/dist/client/error-boundary.d.ts.map +1 -1
  115. package/dist/client/error-boundary.js +29 -6
  116. package/dist/client/error-boundary.js.map +1 -1
  117. package/dist/client/error-reconstituter.d.ts +54 -0
  118. package/dist/client/error-reconstituter.d.ts.map +1 -0
  119. package/dist/client/form.d.ts +16 -27
  120. package/dist/client/form.d.ts.map +1 -1
  121. package/dist/client/history.d.ts +19 -4
  122. package/dist/client/history.d.ts.map +1 -1
  123. package/dist/client/index.d.ts +10 -24
  124. package/dist/client/index.d.ts.map +1 -1
  125. package/dist/client/index.js +183 -1134
  126. package/dist/client/index.js.map +1 -1
  127. package/dist/client/internal.d.ts +19 -0
  128. package/dist/client/internal.d.ts.map +1 -0
  129. package/dist/client/internal.js +925 -0
  130. package/dist/client/internal.js.map +1 -0
  131. package/dist/client/link-pending-store.d.ts +65 -0
  132. package/dist/client/link-pending-store.d.ts.map +1 -0
  133. package/dist/client/link.d.ts +69 -60
  134. package/dist/client/link.d.ts.map +1 -1
  135. package/dist/client/nav-link-store.d.ts +27 -0
  136. package/dist/client/nav-link-store.d.ts.map +1 -0
  137. package/dist/client/navigation-api-types.d.ts +90 -0
  138. package/dist/client/navigation-api-types.d.ts.map +1 -0
  139. package/dist/client/navigation-api.d.ts +115 -0
  140. package/dist/client/navigation-api.d.ts.map +1 -0
  141. package/dist/client/navigation-context.d.ts +14 -2
  142. package/dist/client/navigation-context.d.ts.map +1 -1
  143. package/dist/client/{transition-root.d.ts → navigation-root.d.ts} +46 -9
  144. package/dist/client/navigation-root.d.ts.map +1 -0
  145. package/dist/client/nuqs-adapter.d.ts.map +1 -1
  146. package/dist/client/router-ref.d.ts +1 -1
  147. package/dist/client/router.d.ts +79 -10
  148. package/dist/client/router.d.ts.map +1 -1
  149. package/dist/client/rsc-fetch.d.ts +46 -3
  150. package/dist/client/rsc-fetch.d.ts.map +1 -1
  151. package/dist/client/segment-cache.d.ts +3 -1
  152. package/dist/client/segment-cache.d.ts.map +1 -1
  153. package/dist/client/segment-outlet.d.ts +49 -0
  154. package/dist/client/segment-outlet.d.ts.map +1 -0
  155. package/dist/client/segment-update-context.d.ts +21 -0
  156. package/dist/client/segment-update-context.d.ts.map +1 -0
  157. package/dist/client/shallow-url.d.ts +10 -0
  158. package/dist/client/shallow-url.d.ts.map +1 -0
  159. package/dist/client/ssr-data.d.ts +13 -4
  160. package/dist/client/ssr-data.d.ts.map +1 -1
  161. package/dist/client/stale-reload.d.ts +15 -0
  162. package/dist/client/stale-reload.d.ts.map +1 -1
  163. package/dist/client/state.d.ts +1 -1
  164. package/dist/client/top-loader.d.ts +5 -5
  165. package/dist/client/top-loader.d.ts.map +1 -1
  166. package/dist/client/use-cookie.d.ts +12 -0
  167. package/dist/client/use-cookie.d.ts.map +1 -1
  168. package/dist/client/use-link-status.d.ts +5 -5
  169. package/dist/client/use-link-status.d.ts.map +1 -1
  170. package/dist/client/use-pathname.d.ts.map +1 -1
  171. package/dist/client/use-pending-navigation.d.ts +23 -0
  172. package/dist/client/use-pending-navigation.d.ts.map +1 -0
  173. package/dist/client/use-query-states.d.ts +1 -1
  174. package/dist/client/use-query-states.d.ts.map +1 -1
  175. package/dist/client/use-router.d.ts +1 -1
  176. package/dist/client/use-router.d.ts.map +1 -1
  177. package/dist/client/use-search-params.d.ts +7 -5
  178. package/dist/client/use-search-params.d.ts.map +1 -1
  179. package/dist/client/{use-params.d.ts → use-segment-params.d.ts} +8 -6
  180. package/dist/client/use-segment-params.d.ts.map +1 -0
  181. package/dist/codec.d.ts +69 -0
  182. package/dist/codec.d.ts.map +1 -0
  183. package/dist/codec.js +75 -0
  184. package/dist/codec.js.map +1 -0
  185. package/dist/config-types.d.ts +294 -0
  186. package/dist/config-types.d.ts.map +1 -0
  187. package/dist/config-validation.d.ts +51 -0
  188. package/dist/config-validation.d.ts.map +1 -0
  189. package/dist/content/index.d.ts +1 -10
  190. package/dist/content/index.d.ts.map +1 -1
  191. package/dist/content/index.js +0 -2
  192. package/dist/cookies/define-cookie.d.ts +58 -25
  193. package/dist/cookies/define-cookie.d.ts.map +1 -1
  194. package/dist/cookies/index.d.ts +2 -1
  195. package/dist/cookies/index.d.ts.map +1 -1
  196. package/dist/cookies/index.js +251 -36
  197. package/dist/cookies/index.js.map +1 -1
  198. package/dist/cookies/json-cookie.d.ts +64 -0
  199. package/dist/cookies/json-cookie.d.ts.map +1 -0
  200. package/dist/cookies/validation.d.ts +34 -0
  201. package/dist/cookies/validation.d.ts.map +1 -0
  202. package/dist/dev-tools/404-page.d.ts +46 -0
  203. package/dist/dev-tools/404-page.d.ts.map +1 -0
  204. package/dist/dev-tools/browser-logs.d.ts +84 -0
  205. package/dist/dev-tools/browser-logs.d.ts.map +1 -0
  206. package/dist/dev-tools/error-page.d.ts +58 -0
  207. package/dist/dev-tools/error-page.d.ts.map +1 -0
  208. package/dist/dev-tools/holding-server.d.ts +54 -0
  209. package/dist/dev-tools/holding-server.d.ts.map +1 -0
  210. package/dist/dev-tools/index.d.ts +31 -0
  211. package/dist/dev-tools/index.d.ts.map +1 -0
  212. package/dist/{server/dev-span-processor.d.ts → dev-tools/instrumentation.d.ts} +26 -6
  213. package/dist/dev-tools/instrumentation.d.ts.map +1 -0
  214. package/dist/{server/dev-logger.d.ts → dev-tools/logger.d.ts} +1 -1
  215. package/dist/dev-tools/logger.d.ts.map +1 -0
  216. package/dist/{plugins/dev-logs.d.ts → dev-tools/logs.d.ts} +2 -2
  217. package/dist/dev-tools/logs.d.ts.map +1 -0
  218. package/dist/dev-tools/overlay.d.ts +91 -0
  219. package/dist/dev-tools/overlay.d.ts.map +1 -0
  220. package/dist/dev-tools/stack-classifier.d.ts +34 -0
  221. package/dist/dev-tools/stack-classifier.d.ts.map +1 -0
  222. package/dist/dev-tools/terminal.d.ts +28 -0
  223. package/dist/dev-tools/terminal.d.ts.map +1 -0
  224. package/dist/{server/dev-warnings.d.ts → dev-tools/warnings.d.ts} +2 -22
  225. package/dist/dev-tools/warnings.d.ts.map +1 -0
  226. package/dist/fonts/ast.d.ts +98 -6
  227. package/dist/fonts/ast.d.ts.map +1 -1
  228. package/dist/fonts/bundle.d.ts +48 -0
  229. package/dist/fonts/bundle.d.ts.map +1 -0
  230. package/dist/fonts/dev-middleware.d.ts +22 -0
  231. package/dist/fonts/dev-middleware.d.ts.map +1 -0
  232. package/dist/fonts/local.d.ts +1 -1
  233. package/dist/fonts/pipeline.d.ts +172 -0
  234. package/dist/fonts/pipeline.d.ts.map +1 -0
  235. package/dist/fonts/transform.d.ts +78 -0
  236. package/dist/fonts/transform.d.ts.map +1 -0
  237. package/dist/fonts/types.d.ts +47 -1
  238. package/dist/fonts/types.d.ts.map +1 -1
  239. package/dist/fonts/virtual-modules.d.ts +94 -0
  240. package/dist/fonts/virtual-modules.d.ts.map +1 -0
  241. package/dist/index.d.ts +46 -180
  242. package/dist/index.d.ts.map +1 -1
  243. package/dist/index.js +5315 -12687
  244. package/dist/index.js.map +1 -1
  245. package/dist/params/codec-registry.d.ts +26 -0
  246. package/dist/params/codec-registry.d.ts.map +1 -0
  247. package/dist/params/define-schema.d.ts +81 -0
  248. package/dist/params/define-schema.d.ts.map +1 -0
  249. package/dist/params/index.d.ts +5 -0
  250. package/dist/params/index.d.ts.map +1 -0
  251. package/dist/params/index.js +34 -0
  252. package/dist/params/index.js.map +1 -0
  253. package/dist/params/resolve-schema.d.ts +34 -0
  254. package/dist/params/resolve-schema.d.ts.map +1 -0
  255. package/dist/plugin-context.d.ts +114 -0
  256. package/dist/plugin-context.d.ts.map +1 -0
  257. package/dist/plugins/adapter-build.d.ts +20 -1
  258. package/dist/plugins/adapter-build.d.ts.map +1 -1
  259. package/dist/plugins/build-manifest.d.ts +7 -3
  260. package/dist/plugins/build-manifest.d.ts.map +1 -1
  261. package/dist/plugins/build-report.d.ts +9 -7
  262. package/dist/plugins/build-report.d.ts.map +1 -1
  263. package/dist/plugins/cache.d.ts +31 -0
  264. package/dist/plugins/cache.d.ts.map +1 -0
  265. package/dist/plugins/client-chunks.d.ts +39 -0
  266. package/dist/plugins/client-chunks.d.ts.map +1 -0
  267. package/dist/plugins/cloudflare-wasm.d.ts +18 -0
  268. package/dist/plugins/cloudflare-wasm.d.ts.map +1 -0
  269. package/dist/plugins/content.d.ts +1 -1
  270. package/dist/plugins/content.d.ts.map +1 -1
  271. package/dist/plugins/dev-server.d.ts +1 -1
  272. package/dist/plugins/dev-server.d.ts.map +1 -1
  273. package/dist/plugins/entries.d.ts +1 -1
  274. package/dist/plugins/entries.d.ts.map +1 -1
  275. package/dist/plugins/fonts.d.ts +17 -73
  276. package/dist/plugins/fonts.d.ts.map +1 -1
  277. package/dist/plugins/mdx.d.ts +1 -1
  278. package/dist/plugins/mdx.d.ts.map +1 -1
  279. package/dist/plugins/routing.d.ts +1 -1
  280. package/dist/plugins/routing.d.ts.map +1 -1
  281. package/dist/plugins/server-bundle.d.ts.map +1 -1
  282. package/dist/plugins/shims.d.ts +6 -5
  283. package/dist/plugins/shims.d.ts.map +1 -1
  284. package/dist/plugins/static-build.d.ts +5 -26
  285. package/dist/plugins/static-build.d.ts.map +1 -1
  286. package/dist/routing/codegen-shared.d.ts +67 -0
  287. package/dist/routing/codegen-shared.d.ts.map +1 -0
  288. package/dist/routing/codegen-types.d.ts +60 -0
  289. package/dist/routing/codegen-types.d.ts.map +1 -0
  290. package/dist/routing/codegen.d.ts +7 -2
  291. package/dist/routing/codegen.d.ts.map +1 -1
  292. package/dist/routing/convention-lint.d.ts +41 -0
  293. package/dist/routing/convention-lint.d.ts.map +1 -0
  294. package/dist/routing/index.d.ts +7 -1
  295. package/dist/routing/index.d.ts.map +1 -1
  296. package/dist/routing/index.js +4 -2
  297. package/dist/routing/link-codegen.d.ts +90 -0
  298. package/dist/routing/link-codegen.d.ts.map +1 -0
  299. package/dist/routing/scanner.d.ts +1 -10
  300. package/dist/routing/scanner.d.ts.map +1 -1
  301. package/dist/routing/schema-validation.d.ts +35 -0
  302. package/dist/routing/schema-validation.d.ts.map +1 -0
  303. package/dist/routing/segment-classify.d.ts +75 -0
  304. package/dist/routing/segment-classify.d.ts.map +1 -0
  305. package/dist/routing/segment-codegen.d.ts +38 -0
  306. package/dist/routing/segment-codegen.d.ts.map +1 -0
  307. package/dist/routing/types.d.ts +77 -25
  308. package/dist/routing/types.d.ts.map +1 -1
  309. package/dist/routing/walkers.d.ts +51 -0
  310. package/dist/routing/walkers.d.ts.map +1 -0
  311. package/dist/rsc-runtime/rsc.d.ts +1 -1
  312. package/dist/rsc-runtime/rsc.d.ts.map +1 -1
  313. package/dist/rsc-runtime/ssr.d.ts +12 -0
  314. package/dist/rsc-runtime/ssr.d.ts.map +1 -1
  315. package/dist/schema-bridge.d.ts +76 -0
  316. package/dist/schema-bridge.d.ts.map +1 -0
  317. package/dist/search-params/define.d.ts +157 -0
  318. package/dist/search-params/define.d.ts.map +1 -0
  319. package/dist/search-params/index.d.ts +4 -7
  320. package/dist/search-params/index.d.ts.map +1 -1
  321. package/dist/search-params/index.js +34 -441
  322. package/dist/search-params/index.js.map +1 -1
  323. package/dist/search-params/registry.d.ts +2 -2
  324. package/dist/search-params/registry.d.ts.map +1 -1
  325. package/dist/search-params/wrappers.d.ts +53 -0
  326. package/dist/search-params/wrappers.d.ts.map +1 -0
  327. package/dist/segment-params/define.d.ts +89 -0
  328. package/dist/segment-params/define.d.ts.map +1 -0
  329. package/dist/segment-params/index.d.ts +3 -0
  330. package/dist/segment-params/index.d.ts.map +1 -0
  331. package/dist/segment-params/index.js +2 -0
  332. package/dist/server/access-gate.d.ts +8 -3
  333. package/dist/server/access-gate.d.ts.map +1 -1
  334. package/dist/server/action-client.d.ts +41 -6
  335. package/dist/server/action-client.d.ts.map +1 -1
  336. package/dist/server/action-encryption.d.ts +76 -0
  337. package/dist/server/action-encryption.d.ts.map +1 -0
  338. package/dist/server/action-handler.d.ts +35 -1
  339. package/dist/server/action-handler.d.ts.map +1 -1
  340. package/dist/server/actions.d.ts +6 -14
  341. package/dist/server/actions.d.ts.map +1 -1
  342. package/dist/server/als-registry.d.ts +70 -11
  343. package/dist/server/als-registry.d.ts.map +1 -1
  344. package/dist/server/asset-headers.d.ts +1 -15
  345. package/dist/server/asset-headers.d.ts.map +1 -1
  346. package/dist/server/body-limits.d.ts.map +1 -1
  347. package/dist/server/build-manifest.d.ts +8 -2
  348. package/dist/server/build-manifest.d.ts.map +1 -1
  349. package/dist/server/coalesce-tick.d.ts +40 -0
  350. package/dist/server/coalesce-tick.d.ts.map +1 -0
  351. package/dist/server/cookie-context.d.ts +170 -0
  352. package/dist/server/cookie-context.d.ts.map +1 -0
  353. package/dist/server/cookie-parsing.d.ts +51 -0
  354. package/dist/server/cookie-parsing.d.ts.map +1 -0
  355. package/dist/server/csrf.d.ts +3 -2
  356. package/dist/server/csrf.d.ts.map +1 -1
  357. package/dist/server/default-logger.d.ts +22 -0
  358. package/dist/server/default-logger.d.ts.map +1 -0
  359. package/dist/server/deny-boundary.d.ts +90 -0
  360. package/dist/server/deny-boundary.d.ts.map +1 -0
  361. package/dist/server/deny-renderer.d.ts +1 -1
  362. package/dist/server/deny-renderer.d.ts.map +1 -1
  363. package/dist/server/dev-source-map.d.ts +22 -0
  364. package/dist/server/dev-source-map.d.ts.map +1 -0
  365. package/dist/server/early-hints-sender.d.ts.map +1 -1
  366. package/dist/server/early-hints.d.ts +13 -11
  367. package/dist/server/early-hints.d.ts.map +1 -1
  368. package/dist/server/error-boundary-wrapper.d.ts +7 -1
  369. package/dist/server/error-boundary-wrapper.d.ts.map +1 -1
  370. package/dist/server/fallback-error.d.ts +12 -7
  371. package/dist/server/fallback-error.d.ts.map +1 -1
  372. package/dist/server/flight-injection-state.d.ts +66 -0
  373. package/dist/server/flight-injection-state.d.ts.map +1 -0
  374. package/dist/server/flight-scripts.d.ts +42 -0
  375. package/dist/server/flight-scripts.d.ts.map +1 -0
  376. package/dist/server/flush.d.ts.map +1 -1
  377. package/dist/server/form-data.d.ts +29 -0
  378. package/dist/server/form-data.d.ts.map +1 -1
  379. package/dist/server/html-injector-core.d.ts +213 -0
  380. package/dist/server/html-injector-core.d.ts.map +1 -0
  381. package/dist/server/html-injectors.d.ts +81 -41
  382. package/dist/server/html-injectors.d.ts.map +1 -1
  383. package/dist/server/index.d.ts +10 -46
  384. package/dist/server/index.d.ts.map +1 -1
  385. package/dist/server/index.js +170 -2911
  386. package/dist/server/index.js.map +1 -1
  387. package/dist/server/internal.d.ts +48 -0
  388. package/dist/server/internal.d.ts.map +1 -0
  389. package/dist/server/internal.js +3126 -0
  390. package/dist/server/internal.js.map +1 -0
  391. package/dist/server/logger.d.ts +39 -7
  392. package/dist/server/logger.d.ts.map +1 -1
  393. package/dist/server/metadata-routes.d.ts +23 -7
  394. package/dist/server/metadata-routes.d.ts.map +1 -1
  395. package/dist/server/middleware-runner.d.ts +36 -4
  396. package/dist/server/middleware-runner.d.ts.map +1 -1
  397. package/dist/server/node-stream-transforms.d.ts +112 -0
  398. package/dist/server/node-stream-transforms.d.ts.map +1 -0
  399. package/dist/server/param-coercion.d.ts +54 -0
  400. package/dist/server/param-coercion.d.ts.map +1 -0
  401. package/dist/server/pipeline-helpers.d.ts +95 -0
  402. package/dist/server/pipeline-helpers.d.ts.map +1 -0
  403. package/dist/server/pipeline-interception.d.ts +1 -1
  404. package/dist/server/pipeline-interception.d.ts.map +1 -1
  405. package/dist/server/pipeline-metadata.d.ts +6 -0
  406. package/dist/server/pipeline-metadata.d.ts.map +1 -1
  407. package/dist/server/pipeline-outcome.d.ts +49 -0
  408. package/dist/server/pipeline-outcome.d.ts.map +1 -0
  409. package/dist/server/pipeline-phases.d.ts +56 -0
  410. package/dist/server/pipeline-phases.d.ts.map +1 -0
  411. package/dist/server/pipeline.d.ts +111 -19
  412. package/dist/server/pipeline.d.ts.map +1 -1
  413. package/dist/server/port-resolution.d.ts +117 -0
  414. package/dist/server/port-resolution.d.ts.map +1 -0
  415. package/dist/server/primitives.d.ts +74 -20
  416. package/dist/server/primitives.d.ts.map +1 -1
  417. package/dist/server/render-timeout.d.ts +51 -0
  418. package/dist/server/render-timeout.d.ts.map +1 -0
  419. package/dist/server/request-context.d.ts +62 -107
  420. package/dist/server/request-context.d.ts.map +1 -1
  421. package/dist/server/route-element-builder.d.ts +28 -2
  422. package/dist/server/route-element-builder.d.ts.map +1 -1
  423. package/dist/server/route-handler.d.ts.map +1 -1
  424. package/dist/server/route-matcher.d.ts +25 -36
  425. package/dist/server/route-matcher.d.ts.map +1 -1
  426. package/dist/server/rsc-entry/action-middleware-runner.d.ts +66 -0
  427. package/dist/server/rsc-entry/action-middleware-runner.d.ts.map +1 -0
  428. package/dist/server/rsc-entry/api-handler.d.ts +12 -3
  429. package/dist/server/rsc-entry/api-handler.d.ts.map +1 -1
  430. package/dist/server/rsc-entry/error-renderer.d.ts +26 -13
  431. package/dist/server/rsc-entry/error-renderer.d.ts.map +1 -1
  432. package/dist/server/rsc-entry/helpers.d.ts +50 -6
  433. package/dist/server/rsc-entry/helpers.d.ts.map +1 -1
  434. package/dist/server/rsc-entry/index.d.ts +19 -8
  435. package/dist/server/rsc-entry/index.d.ts.map +1 -1
  436. package/dist/server/rsc-entry/render-route.d.ts +50 -0
  437. package/dist/server/rsc-entry/render-route.d.ts.map +1 -0
  438. package/dist/server/rsc-entry/revalidate-renderer.d.ts +108 -0
  439. package/dist/server/rsc-entry/revalidate-renderer.d.ts.map +1 -0
  440. package/dist/server/rsc-entry/rsc-payload.d.ts +3 -3
  441. package/dist/server/rsc-entry/rsc-payload.d.ts.map +1 -1
  442. package/dist/server/rsc-entry/rsc-stream.d.ts +17 -1
  443. package/dist/server/rsc-entry/rsc-stream.d.ts.map +1 -1
  444. package/dist/server/rsc-entry/ssr-bridge.d.ts +5 -1
  445. package/dist/server/rsc-entry/ssr-bridge.d.ts.map +1 -1
  446. package/dist/server/rsc-entry/ssr-renderer.d.ts +34 -4
  447. package/dist/server/rsc-entry/ssr-renderer.d.ts.map +1 -1
  448. package/dist/server/rsc-entry/wrap-action-dispatch.d.ts +119 -0
  449. package/dist/server/rsc-entry/wrap-action-dispatch.d.ts.map +1 -0
  450. package/dist/server/safe-load.d.ts +46 -0
  451. package/dist/server/safe-load.d.ts.map +1 -0
  452. package/dist/server/sensitive-fields.d.ts +74 -0
  453. package/dist/server/sensitive-fields.d.ts.map +1 -0
  454. package/dist/server/sitemap-generator.d.ts +129 -0
  455. package/dist/server/sitemap-generator.d.ts.map +1 -0
  456. package/dist/server/sitemap-handler.d.ts +22 -0
  457. package/dist/server/sitemap-handler.d.ts.map +1 -0
  458. package/dist/server/slot-resolver.d.ts +1 -1
  459. package/dist/server/slot-resolver.d.ts.map +1 -1
  460. package/dist/server/ssr-bridge-types.d.ts +121 -0
  461. package/dist/server/ssr-bridge-types.d.ts.map +1 -0
  462. package/dist/server/ssr-entry.d.ts +2 -43
  463. package/dist/server/ssr-entry.d.ts.map +1 -1
  464. package/dist/server/ssr-render.d.ts +64 -21
  465. package/dist/server/ssr-render.d.ts.map +1 -1
  466. package/dist/server/ssr-wrappers.d.ts +50 -0
  467. package/dist/server/ssr-wrappers.d.ts.map +1 -0
  468. package/dist/server/state-tree-diff.d.ts +12 -5
  469. package/dist/server/state-tree-diff.d.ts.map +1 -1
  470. package/dist/server/status-code-resolver.d.ts +16 -11
  471. package/dist/server/status-code-resolver.d.ts.map +1 -1
  472. package/dist/server/stream-utils.d.ts +36 -0
  473. package/dist/server/stream-utils.d.ts.map +1 -0
  474. package/dist/server/tracing.d.ts +5 -5
  475. package/dist/server/tracing.d.ts.map +1 -1
  476. package/dist/server/tree-builder.d.ts +62 -30
  477. package/dist/server/tree-builder.d.ts.map +1 -1
  478. package/dist/server/tree-match.d.ts +49 -0
  479. package/dist/server/tree-match.d.ts.map +1 -0
  480. package/dist/server/types.d.ts +71 -6
  481. package/dist/server/types.d.ts.map +1 -1
  482. package/dist/server/utils/escape-html.d.ts +14 -0
  483. package/dist/server/utils/escape-html.d.ts.map +1 -0
  484. package/dist/server/version-skew.d.ts +61 -0
  485. package/dist/server/version-skew.d.ts.map +1 -0
  486. package/dist/shared/href-validation.d.ts +38 -0
  487. package/dist/shared/href-validation.d.ts.map +1 -0
  488. package/dist/shared/merge-search-params.d.ts +22 -0
  489. package/dist/shared/merge-search-params.d.ts.map +1 -0
  490. package/dist/shims/font-google.d.ts +1 -1
  491. package/dist/shims/font-google.d.ts.map +1 -1
  492. package/dist/shims/font-google.js +42 -0
  493. package/dist/shims/font-google.js.map +1 -0
  494. package/dist/shims/font-local.d.ts +26 -0
  495. package/dist/shims/font-local.d.ts.map +1 -0
  496. package/dist/shims/font-local.js +20 -0
  497. package/dist/shims/font-local.js.map +1 -0
  498. package/dist/shims/headers.d.ts +2 -1
  499. package/dist/shims/headers.d.ts.map +1 -1
  500. package/dist/shims/image.d.ts +1 -1
  501. package/dist/shims/navigation-client.d.ts +3 -1
  502. package/dist/shims/navigation-client.d.ts.map +1 -1
  503. package/dist/shims/navigation.d.ts +11 -5
  504. package/dist/shims/navigation.d.ts.map +1 -1
  505. package/dist/utils/state-machine.d.ts +80 -0
  506. package/dist/utils/state-machine.d.ts.map +1 -0
  507. package/package.json +63 -22
  508. package/src/adapters/build-output-helper.ts +139 -0
  509. package/src/adapters/cloudflare-dev.ts +177 -0
  510. package/src/adapters/cloudflare-kv-cache.ts +142 -0
  511. package/src/adapters/cloudflare.ts +350 -76
  512. package/src/adapters/compress-module.ts +24 -4
  513. package/src/adapters/nitro.ts +147 -60
  514. package/src/adapters/shared.ts +40 -0
  515. package/src/adapters/wrangler.d.ts +7 -0
  516. package/src/cache/cache-api.ts +39 -0
  517. package/src/cache/handler-store.ts +68 -0
  518. package/src/cache/index.ts +81 -18
  519. package/src/cache/singleflight.ts +62 -4
  520. package/src/cache/sizeof.ts +33 -0
  521. package/src/cache/timber-cache.ts +52 -24
  522. package/src/cli-schema-sync.ts +295 -0
  523. package/src/cli.ts +76 -8
  524. package/src/client/browser-dev.ts +153 -1
  525. package/src/client/browser-entry/action-dispatch.ts +125 -0
  526. package/src/client/browser-entry/hmr.ts +81 -0
  527. package/src/client/browser-entry/hydrate.ts +153 -0
  528. package/src/client/browser-entry/index.ts +151 -0
  529. package/src/client/browser-entry/post-hydration.ts +113 -0
  530. package/src/client/browser-entry/router-init.ts +219 -0
  531. package/src/client/browser-entry/rsc-stream.ts +157 -0
  532. package/src/client/browser-entry/scroll.ts +27 -0
  533. package/src/client/error-boundary.tsx +99 -22
  534. package/src/client/error-reconstituter.tsx +65 -0
  535. package/src/client/form.tsx +31 -32
  536. package/src/client/history.ts +26 -4
  537. package/src/client/index.ts +67 -45
  538. package/src/client/internal.ts +58 -0
  539. package/src/client/link-pending-store.ts +116 -0
  540. package/src/client/link.tsx +343 -150
  541. package/src/client/nav-link-store.ts +37 -0
  542. package/src/client/navigation-api-types.ts +112 -0
  543. package/src/client/navigation-api.ts +338 -0
  544. package/src/client/navigation-context.ts +35 -7
  545. package/src/client/navigation-root.tsx +347 -0
  546. package/src/client/nuqs-adapter.tsx +16 -3
  547. package/src/client/router-ref.ts +1 -1
  548. package/src/client/router.ts +418 -128
  549. package/src/client/rsc-fetch.ts +208 -10
  550. package/src/client/segment-cache.ts +6 -3
  551. package/src/client/segment-outlet.tsx +77 -0
  552. package/src/client/segment-update-context.ts +42 -0
  553. package/src/client/shallow-url.ts +22 -0
  554. package/src/client/ssr-data.ts +13 -5
  555. package/src/client/stale-reload.ts +72 -3
  556. package/src/client/state.ts +2 -2
  557. package/src/client/top-loader.tsx +11 -9
  558. package/src/client/use-cookie.ts +31 -2
  559. package/src/client/use-link-status.ts +7 -7
  560. package/src/client/use-pathname.ts +1 -0
  561. package/src/client/use-pending-navigation.ts +40 -0
  562. package/src/client/use-query-states.ts +9 -3
  563. package/src/client/use-router.ts +4 -1
  564. package/src/client/use-search-params.ts +26 -44
  565. package/src/client/{use-params.ts → use-segment-params.ts} +9 -6
  566. package/src/codec.ts +147 -0
  567. package/src/config-types.ts +292 -0
  568. package/src/config-validation.ts +303 -0
  569. package/src/content/index.ts +5 -13
  570. package/src/cookies/define-cookie.ts +233 -53
  571. package/src/cookies/index.ts +12 -1
  572. package/src/cookies/json-cookie.ts +105 -0
  573. package/src/cookies/validation.ts +192 -0
  574. package/src/dev-tools/404-page.ts +387 -0
  575. package/src/dev-tools/browser-logs.ts +291 -0
  576. package/src/dev-tools/error-page.ts +507 -0
  577. package/src/dev-tools/holding-server.ts +187 -0
  578. package/src/dev-tools/index.ts +90 -0
  579. package/src/dev-tools/instrumentation.ts +176 -0
  580. package/src/{plugins/dev-logs.ts → dev-tools/logs.ts} +9 -5
  581. package/src/dev-tools/overlay.ts +469 -0
  582. package/src/dev-tools/stack-classifier.ts +75 -0
  583. package/src/dev-tools/terminal.ts +183 -0
  584. package/src/{server/dev-warnings.ts → dev-tools/warnings.ts} +5 -50
  585. package/src/fonts/ast.ts +525 -16
  586. package/src/fonts/bundle.ts +131 -0
  587. package/src/fonts/dev-middleware.ts +74 -0
  588. package/src/fonts/local.ts +3 -3
  589. package/src/fonts/pipeline.ts +337 -0
  590. package/src/fonts/transform.ts +317 -0
  591. package/src/fonts/types.ts +52 -1
  592. package/src/fonts/virtual-modules.ts +235 -0
  593. package/src/index.ts +415 -345
  594. package/src/params/codec-registry.ts +34 -0
  595. package/src/params/define-schema.ts +115 -0
  596. package/src/params/index.ts +17 -0
  597. package/src/params/resolve-schema.ts +116 -0
  598. package/src/plugin-context.ts +247 -0
  599. package/src/plugins/adapter-build.ts +98 -4
  600. package/src/plugins/build-manifest.ts +168 -23
  601. package/src/plugins/build-report.ts +16 -25
  602. package/src/plugins/cache.ts +180 -0
  603. package/src/plugins/client-chunks.ts +113 -0
  604. package/src/plugins/cloudflare-wasm.ts +103 -0
  605. package/src/plugins/content.ts +1 -1
  606. package/src/plugins/dev-server.ts +179 -37
  607. package/src/plugins/entries.ts +110 -8
  608. package/src/plugins/fonts.ts +167 -655
  609. package/src/plugins/mdx.ts +47 -10
  610. package/src/plugins/routing.ts +386 -47
  611. package/src/plugins/server-bundle.ts +59 -3
  612. package/src/plugins/shims.ts +136 -35
  613. package/src/plugins/static-build.ts +15 -89
  614. package/src/routing/codegen-shared.ts +115 -0
  615. package/src/routing/codegen-types.ts +61 -0
  616. package/src/routing/codegen.ts +321 -177
  617. package/src/routing/convention-lint.ts +357 -0
  618. package/src/routing/index.ts +10 -1
  619. package/src/routing/interception.ts +1 -1
  620. package/src/routing/link-codegen.ts +310 -0
  621. package/src/routing/scanner.ts +165 -110
  622. package/src/routing/schema-validation.ts +149 -0
  623. package/src/routing/segment-classify.ts +188 -0
  624. package/src/routing/segment-codegen.ts +98 -0
  625. package/src/routing/types.ts +78 -25
  626. package/src/routing/walkers.ts +90 -0
  627. package/src/rsc-runtime/rsc.ts +2 -0
  628. package/src/rsc-runtime/ssr.ts +50 -0
  629. package/src/rsc-runtime/vendor-types.d.ts +7 -0
  630. package/src/{search-params/codecs.ts → schema-bridge.ts} +60 -22
  631. package/src/search-params/define.ts +538 -0
  632. package/src/search-params/index.ts +14 -20
  633. package/src/search-params/registry.ts +2 -2
  634. package/src/search-params/wrappers.ts +92 -0
  635. package/src/segment-params/define.ts +309 -0
  636. package/src/segment-params/index.ts +9 -0
  637. package/src/server/access-gate.tsx +76 -34
  638. package/src/server/action-client.ts +119 -28
  639. package/src/server/action-encryption.ts +144 -0
  640. package/src/server/action-handler.ts +112 -14
  641. package/src/server/actions.ts +34 -26
  642. package/src/server/als-registry.ts +108 -20
  643. package/src/server/asset-headers.ts +8 -34
  644. package/src/server/body-limits.ts +10 -2
  645. package/src/server/build-manifest.ts +17 -4
  646. package/src/server/coalesce-tick.ts +75 -0
  647. package/src/server/compress.ts +25 -7
  648. package/src/server/cookie-context.ts +473 -0
  649. package/src/server/cookie-parsing.ts +135 -0
  650. package/src/server/csrf.ts +39 -6
  651. package/src/server/default-logger.ts +99 -0
  652. package/src/server/deny-boundary.ts +218 -0
  653. package/src/server/deny-renderer.ts +32 -52
  654. package/src/server/dev-source-map.ts +31 -0
  655. package/src/server/early-hints-sender.ts +3 -2
  656. package/src/server/early-hints.ts +35 -27
  657. package/src/server/error-boundary-wrapper.ts +74 -22
  658. package/src/server/fallback-error.ts +74 -102
  659. package/src/server/flight-injection-state.ts +113 -0
  660. package/src/server/flight-scripts.ts +62 -0
  661. package/src/server/flush.ts +2 -1
  662. package/src/server/form-data.ts +101 -5
  663. package/src/server/html-injector-core.ts +418 -0
  664. package/src/server/html-injectors.ts +238 -223
  665. package/src/server/index.ts +29 -183
  666. package/src/server/internal.ts +182 -0
  667. package/src/server/logger.ts +67 -36
  668. package/src/server/metadata-routes.ts +44 -19
  669. package/src/server/middleware-runner.ts +75 -4
  670. package/src/server/node-stream-transforms.ts +361 -0
  671. package/src/server/param-coercion.ts +206 -0
  672. package/src/server/pipeline-helpers.ts +204 -0
  673. package/src/server/pipeline-interception.ts +32 -18
  674. package/src/server/pipeline-metadata.ts +13 -0
  675. package/src/server/pipeline-outcome.ts +197 -0
  676. package/src/server/pipeline-phases.ts +527 -0
  677. package/src/server/pipeline.ts +201 -382
  678. package/src/server/port-resolution.ts +215 -0
  679. package/src/server/primitives.ts +130 -46
  680. package/src/server/render-timeout.ts +108 -0
  681. package/src/server/request-context.ts +168 -337
  682. package/src/server/route-element-builder.ts +437 -208
  683. package/src/server/route-handler.ts +31 -4
  684. package/src/server/route-matcher.ts +128 -277
  685. package/src/server/rsc-entry/action-middleware-runner.ts +167 -0
  686. package/src/server/rsc-entry/api-handler.ts +69 -32
  687. package/src/server/rsc-entry/error-renderer.ts +316 -89
  688. package/src/server/rsc-entry/helpers.ts +155 -26
  689. package/src/server/rsc-entry/index.ts +283 -329
  690. package/src/server/rsc-entry/render-route.ts +313 -0
  691. package/src/server/rsc-entry/revalidate-renderer.ts +344 -0
  692. package/src/server/rsc-entry/rsc-payload.ts +65 -22
  693. package/src/server/rsc-entry/rsc-stream.ts +85 -13
  694. package/src/server/rsc-entry/ssr-bridge.ts +18 -5
  695. package/src/server/rsc-entry/ssr-renderer.ts +271 -41
  696. package/src/server/rsc-entry/wrap-action-dispatch.ts +449 -0
  697. package/src/server/safe-load.ts +60 -0
  698. package/src/server/sensitive-fields.ts +230 -0
  699. package/src/server/sitemap-generator.ts +338 -0
  700. package/src/server/sitemap-handler.ts +148 -0
  701. package/src/server/slot-resolver.ts +234 -246
  702. package/src/server/ssr-bridge-types.ts +124 -0
  703. package/src/server/ssr-entry.ts +217 -78
  704. package/src/server/ssr-render.ts +344 -71
  705. package/src/server/ssr-wrappers.tsx +141 -0
  706. package/src/server/state-tree-diff.ts +30 -23
  707. package/src/server/status-code-resolver.ts +112 -128
  708. package/src/server/stream-utils.ts +213 -0
  709. package/src/server/tracing.ts +21 -10
  710. package/src/server/tree-builder.ts +204 -90
  711. package/src/server/tree-match.ts +210 -0
  712. package/src/server/types.ts +78 -9
  713. package/src/server/utils/escape-html.ts +20 -0
  714. package/src/server/version-skew.ts +104 -0
  715. package/src/shared/href-validation.ts +127 -0
  716. package/src/shared/merge-search-params.ts +55 -0
  717. package/src/shims/font-google.ts +1 -1
  718. package/src/shims/font-local.ts +34 -0
  719. package/src/shims/headers.ts +5 -1
  720. package/src/shims/navigation-client.ts +4 -3
  721. package/src/shims/navigation.ts +14 -7
  722. package/src/utils/state-machine.ts +111 -0
  723. package/LICENSE +0 -8
  724. package/dist/_chunks/als-registry-B7DbZ2hS.js +0 -41
  725. package/dist/_chunks/als-registry-B7DbZ2hS.js.map +0 -1
  726. package/dist/_chunks/debug-B3Gypr3D.js +0 -108
  727. package/dist/_chunks/debug-B3Gypr3D.js.map +0 -1
  728. package/dist/_chunks/format-RyoGQL74.js.map +0 -1
  729. package/dist/_chunks/interception-BOoWmLUA.js +0 -676
  730. package/dist/_chunks/interception-BOoWmLUA.js.map +0 -1
  731. package/dist/_chunks/metadata-routes-Cjmvi3rQ.js.map +0 -1
  732. package/dist/_chunks/request-context-BQUC8PHn.js +0 -330
  733. package/dist/_chunks/request-context-BQUC8PHn.js.map +0 -1
  734. package/dist/_chunks/ssr-data-MjmprTmO.js.map +0 -1
  735. package/dist/_chunks/tracing-CemImE6h.js +0 -187
  736. package/dist/_chunks/tracing-CemImE6h.js.map +0 -1
  737. package/dist/_chunks/use-cookie-DX-l1_5E.js +0 -91
  738. package/dist/_chunks/use-cookie-DX-l1_5E.js.map +0 -1
  739. package/dist/_chunks/use-query-states-D5KaffOK.js.map +0 -1
  740. package/dist/cache/register-cached-function.d.ts +0 -17
  741. package/dist/cache/register-cached-function.d.ts.map +0 -1
  742. package/dist/client/browser-entry.d.ts +0 -21
  743. package/dist/client/browser-entry.d.ts.map +0 -1
  744. package/dist/client/link-status-provider.d.ts +0 -11
  745. package/dist/client/link-status-provider.d.ts.map +0 -1
  746. package/dist/client/segment-merger.d.ts +0 -119
  747. package/dist/client/segment-merger.d.ts.map +0 -1
  748. package/dist/client/transition-root.d.ts.map +0 -1
  749. package/dist/client/use-navigation-pending.d.ts +0 -26
  750. package/dist/client/use-navigation-pending.d.ts.map +0 -1
  751. package/dist/client/use-params.d.ts.map +0 -1
  752. package/dist/plugins/cache-transform.d.ts +0 -36
  753. package/dist/plugins/cache-transform.d.ts.map +0 -1
  754. package/dist/plugins/dev-error-overlay.d.ts +0 -60
  755. package/dist/plugins/dev-error-overlay.d.ts.map +0 -1
  756. package/dist/plugins/dev-logs.d.ts.map +0 -1
  757. package/dist/plugins/dynamic-transform.d.ts +0 -72
  758. package/dist/plugins/dynamic-transform.d.ts.map +0 -1
  759. package/dist/plugins/server-action-exports.d.ts +0 -26
  760. package/dist/plugins/server-action-exports.d.ts.map +0 -1
  761. package/dist/routing/status-file-lint.d.ts +0 -33
  762. package/dist/routing/status-file-lint.d.ts.map +0 -1
  763. package/dist/search-params/analyze.d.ts +0 -54
  764. package/dist/search-params/analyze.d.ts.map +0 -1
  765. package/dist/search-params/builtin-codecs.d.ts +0 -105
  766. package/dist/search-params/builtin-codecs.d.ts.map +0 -1
  767. package/dist/search-params/codecs.d.ts +0 -53
  768. package/dist/search-params/codecs.d.ts.map +0 -1
  769. package/dist/search-params/create.d.ts +0 -106
  770. package/dist/search-params/create.d.ts.map +0 -1
  771. package/dist/server/dev-fetch-instrumentation.d.ts +0 -22
  772. package/dist/server/dev-fetch-instrumentation.d.ts.map +0 -1
  773. package/dist/server/dev-logger.d.ts.map +0 -1
  774. package/dist/server/dev-span-processor.d.ts.map +0 -1
  775. package/dist/server/dev-warnings.d.ts.map +0 -1
  776. package/dist/server/manifest-status-resolver.d.ts +0 -58
  777. package/dist/server/manifest-status-resolver.d.ts.map +0 -1
  778. package/dist/server/prerender.d.ts +0 -77
  779. package/dist/server/prerender.d.ts.map +0 -1
  780. package/dist/utils/directive-parser.d.ts +0 -70
  781. package/dist/utils/directive-parser.d.ts.map +0 -1
  782. package/src/cache/register-cached-function.ts +0 -103
  783. package/src/client/browser-entry.ts +0 -678
  784. package/src/client/link-status-provider.tsx +0 -30
  785. package/src/client/segment-merger.ts +0 -339
  786. package/src/client/transition-root.tsx +0 -166
  787. package/src/client/use-navigation-pending.ts +0 -38
  788. package/src/plugins/cache-transform.ts +0 -199
  789. package/src/plugins/dev-error-overlay.ts +0 -230
  790. package/src/plugins/dynamic-transform.ts +0 -161
  791. package/src/plugins/server-action-exports.ts +0 -220
  792. package/src/routing/status-file-lint.ts +0 -112
  793. package/src/search-params/analyze.ts +0 -192
  794. package/src/search-params/builtin-codecs.ts +0 -228
  795. package/src/search-params/create.ts +0 -321
  796. package/src/server/dev-fetch-instrumentation.ts +0 -96
  797. package/src/server/dev-span-processor.ts +0 -78
  798. package/src/server/manifest-status-resolver.ts +0 -215
  799. package/src/server/prerender.ts +0 -139
  800. package/src/utils/directive-parser.ts +0 -529
  801. /package/src/{server/dev-logger.ts → dev-tools/logger.ts} +0 -0
@@ -1,129 +1,43 @@
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
- export type { Metadata, MetadataRoute } from './types';
10
+ export type { Metadata, MetadataRoute, MetadataHandler, MetadataResult } from './types';
8
11
 
9
- // Request Context — ALS-backed headers(), cookies(), and searchParams()
12
+ // Request Context — ALS-backed accessors (all sync)
13
+ // Prefer defineSearchParams().get() and defineSegmentParams().get() for typed access.
10
14
  // Design doc: design/04-authorization.md §"AccessContext does not include cookies or headers"
11
- // Design doc: design/23-search-params.md §"Server Integration"
12
- export {
13
- headers,
14
- cookies,
15
- searchParams,
16
- setParsedSearchParams,
17
- runWithRequestContext,
18
- setMutableCookieContext,
19
- markResponseFlushed,
20
- getSetCookieHeaders,
21
- setCookieSecrets,
22
- } from './request-context';
23
- export type { ReadonlyHeaders, RequestCookies, CookieOptions } from './request-context';
15
+ export { getHeaders, getSegmentParams } from './request-context';
16
+ export type { ReadonlyHeaders } from './request-context';
17
+
18
+ // Cookie Context — ALS-backed getCookieJar() escape hatch
19
+ // Design doc: design/29-cookies.md
20
+ export { getCookieJar } from './cookie-context';
21
+ export type { RequestCookies, CookieOptions, SetCookieOptions } from './cookie-context';
24
22
 
25
23
  // Runtime primitives
26
24
  export {
27
25
  deny,
28
- notFound,
29
26
  redirect,
30
- permanentRedirect,
31
27
  redirectExternal,
32
28
  RedirectType,
33
- RenderError,
34
29
  waitUntil,
35
- DenySignal,
36
- RedirectSignal,
30
+ type DenyOptions,
31
+ type RedirectOptions,
37
32
  } from './primitives';
33
+ // RenderError removed from public exports per TIM-724.
34
+ // Use deny({ status: 500, data: ... }) instead. RenderError stays in
35
+ // #server-internal for pipeline catch logic.
38
36
  export type { RenderErrorDigest, WaitUntilAdapter } from './primitives';
39
- export type { JsonSerializable } from './types';
40
-
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';
37
+ // JsonSerializable moved to @timber-js/app/codec as the single canonical path.
38
+ // Re-export removed per TIM-721.
99
39
 
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
40
+ // Server Actions — user-facing action client and validation
127
41
  export { createActionClient, ActionError, validated } from './action-client';
128
42
  export type {
129
43
  ActionResult,
@@ -137,87 +51,19 @@ export type {
137
51
  } from './action-client';
138
52
 
139
53
  // FormData Preprocessing
140
- export { parseFormData, coerce } from './form-data';
54
+ export { coerce, parseFormData } from './form-data';
141
55
 
142
56
  // Form Flash (no-JS error round-trip)
143
57
  export { getFormFlash } from './form-flash';
144
58
  export type { FormFlashData } from './form-flash';
145
59
 
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';
60
+ // Revalidation — user-facing revalidation APIs
61
+ export { revalidatePath, revalidateTag } from './actions';
160
62
 
161
- // Tracing — per-request trace ID via ALS
63
+ // Tracing — per-request trace ID via ALS (user-facing accessors)
162
64
  // 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';
65
+ export { getTraceId, getSpanId, withSpan, addSpanEvent } from './tracing';
219
66
 
220
- // Route Handler — route.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';
67
+ // Segment params types — re-exported for convenience.
68
+ // defineSegmentParams itself lives at @timber-js/app/segment-params.
69
+ export type { ParamsDefinition, InferParamField, ParamField } from '../segment-params/define.js';
@@ -0,0 +1,182 @@
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
+ getSearchParams,
17
+ getSegmentParams,
18
+ getHeader,
19
+ setSegmentParams,
20
+ runWithRequestContext,
21
+ setMutableCookieContext,
22
+ markResponseFlushed,
23
+ } from './request-context.js';
24
+ export { getCookie, getSetCookieHeaders } from './cookie-context.js';
25
+
26
+ // ── Form-data coercion (internal) ────────────────────────────────────────
27
+ export { coerce } from './form-data.js';
28
+
29
+ // ── Signal classes (instanceof targets for pipeline catch logic) ──────────
30
+ export { DenySignal, RedirectSignal, RenderError } from './primitives.js';
31
+ export type { RenderErrorDigest } from './primitives.js';
32
+
33
+ // ── Pipeline ─────────────────────────────────────────────────────────────
34
+ export { createPipeline } from './pipeline.js';
35
+ export type {
36
+ PipelineConfig,
37
+ RouteMatch,
38
+ RouteMatcher,
39
+ RouteRenderer,
40
+ EarlyHintsEmitter,
41
+ } from './pipeline.js';
42
+
43
+ // ── Early Hints ──────────────────────────────────────────────────────────
44
+ export { collectEarlyHintHeaders, formatLinkHeader } from './early-hints.js';
45
+ export type { EarlyHint } from './early-hints.js';
46
+
47
+ // ── Early Hints 103 Sender — ALS bridge for platform adapters ────────────
48
+ export { runWithEarlyHintsSender, sendEarlyHints103 } from './early-hints-sender.js';
49
+ export type { EarlyHintsSenderFn } from './early-hints-sender.js';
50
+
51
+ // ── Canonicalization ─────────────────────────────────────────────────────
52
+ export { canonicalize } from './canonicalize.js';
53
+ export type { CanonicalizeResult } from './canonicalize.js';
54
+
55
+ // ── Proxy ────────────────────────────────────────────────────────────────
56
+ export { runProxy } from './proxy.js';
57
+ export type { ProxyFn, ProxyExport } from './proxy.js';
58
+
59
+ // ── Middleware ────────────────────────────────────────────────────────────
60
+ export { runMiddleware } from './middleware-runner.js';
61
+ export type { MiddlewareFn } from './middleware-runner.js';
62
+
63
+ // ── Tree Builder ─────────────────────────────────────────────────────────
64
+ export { buildElementTree } from './tree-builder.js';
65
+ export type {
66
+ TreeBuilderConfig,
67
+ TreeBuildResult,
68
+ LoadedModule,
69
+ LoadedComponent,
70
+ ModuleLoader,
71
+ AccessGateProps,
72
+ SlotAccessGateProps,
73
+ ErrorBoundaryProps,
74
+ } from './tree-builder.js';
75
+
76
+ // ── Access Gates ─────────────────────────────────────────────────────────
77
+ export { AccessGate, SlotAccessGate } from './access-gate.js';
78
+
79
+ // ── Status-Code Resolver ─────────────────────────────────────────────────
80
+ export { resolveStatusFile, resolveSlotDenied } from './status-code-resolver.js';
81
+ export type {
82
+ StatusFileResolution,
83
+ StatusFileKind,
84
+ StatusFileFormat,
85
+ SlotDeniedResolution,
86
+ SlotDeniedKind,
87
+ } from './status-code-resolver.js';
88
+
89
+ // ── Flush Controller ─────────────────────────────────────────────────────
90
+ export { flushResponse } from './flush.js';
91
+ export type { FlushOptions, FlushResult, RenderFn, RenderResult } from './flush.js';
92
+
93
+ // ── CSRF Protection ──────────────────────────────────────────────────────
94
+ export { validateCsrf } from './csrf.js';
95
+ export type { CsrfConfig, CsrfResult } from './csrf.js';
96
+
97
+ // ── Body Limits ──────────────────────────────────────────────────────────
98
+ export { parseBodySize, enforceBodyLimits, DEFAULT_LIMITS } from './body-limits.js';
99
+ export type { BodyLimitsConfig, BodyLimitResult, BodyKind } from './body-limits.js';
100
+
101
+ // ── Metadata ─────────────────────────────────────────────────────────────
102
+ export {
103
+ resolveMetadata,
104
+ resolveTitle,
105
+ resolveMetadataUrls,
106
+ renderMetadataToElements,
107
+ } from './metadata.js';
108
+ export type { SegmentMetadataEntry, ResolveMetadataOptions, HeadElement } from './metadata.js';
109
+
110
+ // ── Metadata Routes ──────────────────────────────────────────────────────
111
+ export {
112
+ classifyMetadataRoute,
113
+ getMetadataRouteServePath,
114
+ getMetadataRouteAutoLink,
115
+ METADATA_ROUTE_CONVENTIONS,
116
+ } from './metadata-routes.js';
117
+ export type {
118
+ MetadataRouteInfo,
119
+ MetadataRouteType,
120
+ AutoLinkTag,
121
+ AutoLinkLink,
122
+ AutoLinkMeta,
123
+ } from './metadata-routes.js';
124
+
125
+ // ── Server Actions (pipeline internals) ──────────────────────────────────
126
+ export { executeAction, buildNoJsResponse, isRscActionRequest } from './actions.js';
127
+ export type {
128
+ RevalidateRenderer,
129
+ RevalidationState,
130
+ ActionHandlerConfig,
131
+ ActionHandlerResult,
132
+ } from './actions.js';
133
+
134
+ // ── Tracing internals ────────────────────────────────────────────────────
135
+ export { runWithTraceId, replaceTraceId, generateTraceId } from './tracing.js';
136
+ export type { TraceStore } from './tracing.js';
137
+
138
+ // ── Logger ───────────────────────────────────────────────────────────────
139
+ export { setLogger, getLogger } from './logger.js';
140
+ export {
141
+ logRequestCompleted,
142
+ logRequestReceived,
143
+ logSlowRequest,
144
+ logMiddlewareShortCircuit,
145
+ logMiddlewareError,
146
+ logRenderError,
147
+ logProxyError,
148
+ logWaitUntilUnsupported,
149
+ logWaitUntilRejected,
150
+ logSwrRefetchFailed,
151
+ logCacheMiss,
152
+ } from './logger.js';
153
+ export type { TimberLogger } from './logger.js';
154
+
155
+ // ── Instrumentation ──────────────────────────────────────────────────────
156
+ export { loadInstrumentation, callOnRequestError, hasOnRequestError } from './instrumentation.js';
157
+ export type {
158
+ InstrumentationOnRequestError,
159
+ InstrumentationRequestInfo,
160
+ InstrumentationErrorContext,
161
+ } from './instrumentation.js';
162
+
163
+ // ── Dev Warnings ─────────────────────────────────────────────────────────
164
+ export {
165
+ warnSuspenseWrappingChildren,
166
+ warnDenyInSuspense,
167
+ warnRedirectInSuspense,
168
+ warnRedirectInAccess,
169
+ warnStaticRequestApi,
170
+ warnSlowSlotWithoutSuspense,
171
+ setViteServer,
172
+ WarningId,
173
+ } from '../dev-tools/warnings.js';
174
+ export type { DevWarningConfig } from '../dev-tools/warnings.js';
175
+
176
+ // ── Route Handler ────────────────────────────────────────────────────────
177
+ export { handleRouteRequest, resolveAllowedMethods } from './route-handler.js';
178
+ export type { RouteModule, RouteHandler, HttpMethod } from './route-handler.js';
179
+
180
+ // ── Render Timeout ───────────────────────────────────────────────────────
181
+ export { RenderTimeoutError } from './render-timeout.js';
182
+ export type { RenderTimeout } from './render-timeout.js';
@@ -1,16 +1,16 @@
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';
13
+ import { isDevMode } from './debug.js';
14
14
 
15
15
  // ─── Logger Interface ─────────────────────────────────────────────────────
16
16
 
@@ -24,21 +24,24 @@ export interface TimberLogger {
24
24
 
25
25
  // ─── Logger Registry ──────────────────────────────────────────────────────
26
26
 
27
- let _logger: TimberLogger | null = null;
27
+ // Initialize with DefaultLogger so production errors are never silent.
28
+ // Replaced when setLogger() is called from instrumentation.ts.
29
+ let _logger: TimberLogger = createDefaultLogger();
28
30
 
29
31
  /**
30
32
  * Set the user-provided logger. Called by the instrumentation loader
31
- * when it finds a `logger` export in instrumentation.ts.
33
+ * when it finds a `logger` export in instrumentation.ts. Replaces
34
+ * the DefaultLogger entirely.
32
35
  */
33
36
  export function setLogger(logger: TimberLogger): void {
34
37
  _logger = logger;
35
38
  }
36
39
 
37
40
  /**
38
- * Get the current logger, or null if none configured.
39
- * Framework-internal — used at framework event points to emit structured logs.
41
+ * Get the current logger. Always non-null — returns DefaultLogger when
42
+ * no custom logger is configured.
40
43
  */
41
- export function getLogger(): TimberLogger | null {
44
+ export function getLogger(): TimberLogger {
42
45
  return _logger;
43
46
  }
44
47
 
@@ -71,12 +74,12 @@ export function logRequestCompleted(data: {
71
74
  /** Number of concurrent in-flight requests (including this one) at completion time. */
72
75
  concurrency?: number;
73
76
  }): void {
74
- _logger?.info('request completed', withTraceContext(data));
77
+ _logger.info('request completed', withTraceContext(data));
75
78
  }
76
79
 
77
80
  /** Log request received. Level: debug. */
78
81
  export function logRequestReceived(data: { method: string; path: string }): void {
79
- _logger?.debug('request received', withTraceContext(data));
82
+ _logger.debug('request received', withTraceContext(data));
80
83
  }
81
84
 
82
85
  /** Log a slow request warning. Level: warn. */
@@ -88,7 +91,7 @@ export function logSlowRequest(data: {
88
91
  /** Number of concurrent in-flight requests at the time the slow request completed. */
89
92
  concurrency?: number;
90
93
  }): void {
91
- _logger?.warn('slow request exceeded threshold', withTraceContext(data));
94
+ _logger.warn('slow request exceeded threshold', withTraceContext(data));
92
95
  }
93
96
 
94
97
  /** Log middleware short-circuit. Level: debug. */
@@ -97,54 +100,82 @@ export function logMiddlewareShortCircuit(data: {
97
100
  path: string;
98
101
  status: number;
99
102
  }): void {
100
- _logger?.debug('middleware short-circuited', withTraceContext(data));
103
+ _logger.debug('middleware short-circuited', withTraceContext(data));
101
104
  }
102
105
 
103
106
  /** Log unhandled error in middleware phase. Level: error. */
104
107
  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
- }
108
+ _logger.error('unhandled error in middleware phase', withTraceContext(data));
110
109
  }
111
110
 
112
111
  /** 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
- }
112
+ export function logRenderError(data: {
113
+ method: string;
114
+ path: string;
115
+ error: unknown;
116
+ errorId?: string;
117
+ }): void {
118
+ _logger.error('unhandled render-phase error', withTraceContext(data));
121
119
  }
122
120
 
123
121
  /** Log proxy.ts uncaught error. Level: error. */
124
122
  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
- }
123
+ _logger.error('proxy.ts threw uncaught error', withTraceContext(data));
124
+ }
125
+
126
+ /** Log unhandled error in server action. Level: error. */
127
+ export function logActionError(data: { method: string; path: string; error: unknown }): void {
128
+ _logger.error('unhandled server action error', withTraceContext(data));
129
+ }
130
+
131
+ /** Log unhandled error in route handler. Level: error. */
132
+ export function logRouteError(data: { method: string; path: string; error: unknown }): void {
133
+ _logger.error('unhandled route handler error', withTraceContext(data));
134
+ }
135
+
136
+ /** Log SSR streaming error (post-shell). Level: error. */
137
+ export function logStreamingError(data: { error: unknown }): void {
138
+ _logger.error('SSR streaming error (post-shell)', withTraceContext(data));
130
139
  }
131
140
 
132
141
  /** Log waitUntil() adapter missing (once at startup). Level: warn. */
133
142
  export function logWaitUntilUnsupported(): void {
134
- _logger?.warn('adapter does not support waitUntil()');
143
+ _logger.warn('adapter does not support waitUntil()');
135
144
  }
136
145
 
137
146
  /** Log waitUntil() promise rejection. Level: warn. */
138
147
  export function logWaitUntilRejected(data: { error: unknown }): void {
139
- _logger?.warn('waitUntil() promise rejected', withTraceContext(data));
148
+ _logger.warn('waitUntil() promise rejected', withTraceContext(data));
140
149
  }
141
150
 
142
151
  /** Log staleWhileRevalidate refetch failure. Level: warn. */
143
152
  export function logSwrRefetchFailed(data: { cacheKey: string; error: unknown }): void {
144
- _logger?.warn('staleWhileRevalidate refetch failed', withTraceContext(data));
153
+ _logger.warn('staleWhileRevalidate refetch failed', withTraceContext(data));
145
154
  }
146
155
 
147
156
  /** Log cache miss. Level: debug. */
148
157
  export function logCacheMiss(data: { cacheKey: string }): void {
149
- _logger?.debug('timber.cache MISS', withTraceContext(data));
158
+ _logger.debug('timber.cache MISS', withTraceContext(data));
159
+ }
160
+
161
+ // ─── Swallow Helper ───────────────────────────────────────────────────────
162
+
163
+ /**
164
+ * Log an intentionally swallowed error. Provides observability into catch
165
+ * blocks that are deliberately empty — the error is consumed, never rethrown.
166
+ *
167
+ * Default level: `warn` in dev (so the overlay surfaces patterns), `debug`
168
+ * in production (low noise unless TIMBER_DEBUG is set). Pass `opts.level`
169
+ * to override.
170
+ *
171
+ * **Infallible** — swallow() itself never throws, even if the logger is
172
+ * broken. A thrown swallow would turn a benign catch into a crash.
173
+ */
174
+ export function swallow(err: unknown, reason: string, opts?: { level?: 'debug' | 'warn' }): void {
175
+ try {
176
+ const level = opts?.level ?? (isDevMode() ? 'warn' : 'debug');
177
+ _logger[level](`swallowed: ${reason}`, withTraceContext({ error: err }));
178
+ } catch {
179
+ // swallow() must never throw.
180
+ }
150
181
  }