@timber-js/app 0.2.0-alpha.12 → 0.2.0-alpha.120

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 (758) hide show
  1. package/dist/_chunks/actions-Cw-7NfJJ.js +1101 -0
  2. package/dist/_chunks/actions-Cw-7NfJJ.js.map +1 -0
  3. package/dist/_chunks/build-output-helper-DhxiT18k.js +61 -0
  4. package/dist/_chunks/build-output-helper-DhxiT18k.js.map +1 -0
  5. package/dist/_chunks/cli-schema-sync-XV0I47Gj.js +2 -0
  6. package/dist/_chunks/cli-schema-sync-q2wB0DyJ.js +358 -0
  7. package/dist/_chunks/cli-schema-sync-q2wB0DyJ.js.map +1 -0
  8. package/dist/_chunks/codec-registry-V7ARyeLN.js +21 -0
  9. package/dist/_chunks/codec-registry-V7ARyeLN.js.map +1 -0
  10. package/dist/_chunks/define-8zQ8Vm7x.js +195 -0
  11. package/dist/_chunks/define-8zQ8Vm7x.js.map +1 -0
  12. package/dist/_chunks/define-zQX6e1tN.js +124 -0
  13. package/dist/_chunks/define-zQX6e1tN.js.map +1 -0
  14. package/dist/_chunks/format-CR6v1pWE.js +14 -0
  15. package/dist/_chunks/format-CR6v1pWE.js.map +1 -0
  16. package/dist/_chunks/handler-store-iqnt2ghN.js +54 -0
  17. package/dist/_chunks/handler-store-iqnt2ghN.js.map +1 -0
  18. package/dist/_chunks/logger-DDmK5skc.js +291 -0
  19. package/dist/_chunks/logger-DDmK5skc.js.map +1 -0
  20. package/dist/_chunks/merge-search-params-CwxJzBLS.js +41 -0
  21. package/dist/_chunks/merge-search-params-CwxJzBLS.js.map +1 -0
  22. package/dist/_chunks/navigation-root-DKsJ5Di7.js +96 -0
  23. package/dist/_chunks/navigation-root-DKsJ5Di7.js.map +1 -0
  24. package/dist/_chunks/registry-Dp_hJL4s.js +20 -0
  25. package/dist/_chunks/registry-Dp_hJL4s.js.map +1 -0
  26. package/dist/_chunks/resolve-schema-23Mc8aLi.js +65 -0
  27. package/dist/_chunks/resolve-schema-23Mc8aLi.js.map +1 -0
  28. package/dist/_chunks/router-ref-sektkr-t.js +28 -0
  29. package/dist/_chunks/router-ref-sektkr-t.js.map +1 -0
  30. package/dist/_chunks/scanner-DmfoB7iK.js +336 -0
  31. package/dist/_chunks/scanner-DmfoB7iK.js.map +1 -0
  32. package/dist/_chunks/schema-bridge-eL5vQDSA.js +86 -0
  33. package/dist/_chunks/schema-bridge-eL5vQDSA.js.map +1 -0
  34. package/dist/_chunks/segment-classify-CnfLLvir.js +137 -0
  35. package/dist/_chunks/segment-classify-CnfLLvir.js.map +1 -0
  36. package/dist/_chunks/segment-context-Bg0pFbLT.js +34 -0
  37. package/dist/_chunks/segment-context-Bg0pFbLT.js.map +1 -0
  38. package/dist/_chunks/{ssr-data-MjmprTmO.js → ssr-data-BO5OvEvg.js} +1 -1
  39. package/dist/_chunks/ssr-data-BO5OvEvg.js.map +1 -0
  40. package/dist/_chunks/stale-reload-BCPRG0Cv.js +64 -0
  41. package/dist/_chunks/stale-reload-BCPRG0Cv.js.map +1 -0
  42. package/dist/_chunks/tracing-DvKLzCFa.js +329 -0
  43. package/dist/_chunks/tracing-DvKLzCFa.js.map +1 -0
  44. package/dist/_chunks/{use-query-states-D5KaffOK.js → use-query-states-D9SBlAfp.js} +7 -20
  45. package/dist/_chunks/use-query-states-D9SBlAfp.js.map +1 -0
  46. package/dist/_chunks/use-segment-params-CskiK-59.js +185 -0
  47. package/dist/_chunks/use-segment-params-CskiK-59.js.map +1 -0
  48. package/dist/_chunks/validation-Bm3Je-09.js +84 -0
  49. package/dist/_chunks/validation-Bm3Je-09.js.map +1 -0
  50. package/dist/_chunks/walkers-DgOXkTts.js +609 -0
  51. package/dist/_chunks/walkers-DgOXkTts.js.map +1 -0
  52. package/dist/_chunks/{format-DviM89f0.js → warnings-B30wpfaS.js} +6 -45
  53. package/dist/_chunks/warnings-B30wpfaS.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 +143 -45
  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 +151 -81
  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 +37 -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 +42 -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 +23 -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 +9 -24
  124. package/dist/client/index.d.ts.map +1 -1
  125. package/dist/client/index.js +172 -1100
  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 +964 -0
  130. package/dist/client/internal.js.map +1 -0
  131. package/dist/client/link-pending-store.d.ts +63 -0
  132. package/dist/client/link-pending-store.d.ts.map +1 -0
  133. package/dist/client/link.d.ts +62 -55
  134. package/dist/client/link.d.ts.map +1 -1
  135. package/dist/client/nav-link-store.d.ts +36 -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 +13 -2
  142. package/dist/client/navigation-context.d.ts.map +1 -1
  143. package/dist/client/{transition-root.d.ts → navigation-root.d.ts} +42 -8
  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 +70 -4
  148. package/dist/client/router.d.ts.map +1 -1
  149. package/dist/client/rsc-fetch.d.ts +38 -3
  150. package/dist/client/rsc-fetch.d.ts.map +1 -1
  151. package/dist/client/segment-cache.d.ts +1 -1
  152. package/dist/client/segment-cache.d.ts.map +1 -1
  153. package/dist/client/segment-outlet.d.ts +63 -0
  154. package/dist/client/segment-outlet.d.ts.map +1 -0
  155. package/dist/client/ssr-data.d.ts +13 -4
  156. package/dist/client/ssr-data.d.ts.map +1 -1
  157. package/dist/client/stale-reload.d.ts +15 -0
  158. package/dist/client/stale-reload.d.ts.map +1 -1
  159. package/dist/client/state.d.ts +1 -1
  160. package/dist/client/top-loader.d.ts +5 -5
  161. package/dist/client/top-loader.d.ts.map +1 -1
  162. package/dist/client/use-cookie.d.ts +12 -0
  163. package/dist/client/use-cookie.d.ts.map +1 -1
  164. package/dist/client/use-link-status.d.ts +5 -5
  165. package/dist/client/use-link-status.d.ts.map +1 -1
  166. package/dist/client/{use-navigation-pending.d.ts → use-pending-navigation.d.ts} +4 -4
  167. package/dist/client/use-pending-navigation.d.ts.map +1 -0
  168. package/dist/client/use-query-states.d.ts +1 -1
  169. package/dist/client/use-query-states.d.ts.map +1 -1
  170. package/dist/client/use-router.d.ts +1 -1
  171. package/dist/client/{use-params.d.ts → use-segment-params.d.ts} +8 -6
  172. package/dist/client/use-segment-params.d.ts.map +1 -0
  173. package/dist/codec.d.ts +51 -0
  174. package/dist/codec.d.ts.map +1 -0
  175. package/dist/codec.js +46 -0
  176. package/dist/codec.js.map +1 -0
  177. package/dist/config-types.d.ts +294 -0
  178. package/dist/config-types.d.ts.map +1 -0
  179. package/dist/config-validation.d.ts +51 -0
  180. package/dist/config-validation.d.ts.map +1 -0
  181. package/dist/content/index.d.ts +1 -10
  182. package/dist/content/index.d.ts.map +1 -1
  183. package/dist/content/index.js +0 -2
  184. package/dist/cookies/define-cookie.d.ts +58 -25
  185. package/dist/cookies/define-cookie.d.ts.map +1 -1
  186. package/dist/cookies/index.d.ts +2 -1
  187. package/dist/cookies/index.d.ts.map +1 -1
  188. package/dist/cookies/index.js +251 -36
  189. package/dist/cookies/index.js.map +1 -1
  190. package/dist/cookies/json-cookie.d.ts +64 -0
  191. package/dist/cookies/json-cookie.d.ts.map +1 -0
  192. package/dist/cookies/validation.d.ts +46 -0
  193. package/dist/cookies/validation.d.ts.map +1 -0
  194. package/dist/dev-tools/404-page.d.ts +46 -0
  195. package/dist/dev-tools/404-page.d.ts.map +1 -0
  196. package/dist/dev-tools/browser-logs.d.ts +84 -0
  197. package/dist/dev-tools/browser-logs.d.ts.map +1 -0
  198. package/dist/dev-tools/error-page.d.ts +58 -0
  199. package/dist/dev-tools/error-page.d.ts.map +1 -0
  200. package/dist/dev-tools/holding-server.d.ts +54 -0
  201. package/dist/dev-tools/holding-server.d.ts.map +1 -0
  202. package/dist/dev-tools/index.d.ts +31 -0
  203. package/dist/dev-tools/index.d.ts.map +1 -0
  204. package/dist/{server/dev-span-processor.d.ts → dev-tools/instrumentation.d.ts} +26 -6
  205. package/dist/dev-tools/instrumentation.d.ts.map +1 -0
  206. package/dist/{server/dev-logger.d.ts → dev-tools/logger.d.ts} +1 -1
  207. package/dist/dev-tools/logger.d.ts.map +1 -0
  208. package/dist/{plugins/dev-logs.d.ts → dev-tools/logs.d.ts} +2 -2
  209. package/dist/dev-tools/logs.d.ts.map +1 -0
  210. package/dist/dev-tools/overlay.d.ts +91 -0
  211. package/dist/dev-tools/overlay.d.ts.map +1 -0
  212. package/dist/dev-tools/stack-classifier.d.ts +34 -0
  213. package/dist/dev-tools/stack-classifier.d.ts.map +1 -0
  214. package/dist/dev-tools/terminal.d.ts +28 -0
  215. package/dist/dev-tools/terminal.d.ts.map +1 -0
  216. package/dist/{server/dev-warnings.d.ts → dev-tools/warnings.d.ts} +2 -22
  217. package/dist/dev-tools/warnings.d.ts.map +1 -0
  218. package/dist/fonts/ast.d.ts +98 -6
  219. package/dist/fonts/ast.d.ts.map +1 -1
  220. package/dist/fonts/bundle.d.ts +48 -0
  221. package/dist/fonts/bundle.d.ts.map +1 -0
  222. package/dist/fonts/dev-middleware.d.ts +22 -0
  223. package/dist/fonts/dev-middleware.d.ts.map +1 -0
  224. package/dist/fonts/local.d.ts +1 -1
  225. package/dist/fonts/pipeline.d.ts +167 -0
  226. package/dist/fonts/pipeline.d.ts.map +1 -0
  227. package/dist/fonts/transform.d.ts +78 -0
  228. package/dist/fonts/transform.d.ts.map +1 -0
  229. package/dist/fonts/types.d.ts +45 -1
  230. package/dist/fonts/types.d.ts.map +1 -1
  231. package/dist/fonts/virtual-modules.d.ts +94 -0
  232. package/dist/fonts/virtual-modules.d.ts.map +1 -0
  233. package/dist/index.d.ts +46 -190
  234. package/dist/index.d.ts.map +1 -1
  235. package/dist/index.js +4799 -12730
  236. package/dist/index.js.map +1 -1
  237. package/dist/params/codec-registry.d.ts +26 -0
  238. package/dist/params/codec-registry.d.ts.map +1 -0
  239. package/dist/params/define-schema.d.ts +53 -0
  240. package/dist/params/define-schema.d.ts.map +1 -0
  241. package/dist/params/index.d.ts +5 -0
  242. package/dist/params/index.d.ts.map +1 -0
  243. package/dist/params/index.js +34 -0
  244. package/dist/params/index.js.map +1 -0
  245. package/dist/params/resolve-schema.d.ts +34 -0
  246. package/dist/params/resolve-schema.d.ts.map +1 -0
  247. package/dist/plugin-context.d.ts +107 -0
  248. package/dist/plugin-context.d.ts.map +1 -0
  249. package/dist/plugins/adapter-build.d.ts +1 -1
  250. package/dist/plugins/adapter-build.d.ts.map +1 -1
  251. package/dist/plugins/build-manifest.d.ts +2 -2
  252. package/dist/plugins/build-manifest.d.ts.map +1 -1
  253. package/dist/plugins/build-report.d.ts +9 -7
  254. package/dist/plugins/build-report.d.ts.map +1 -1
  255. package/dist/plugins/client-chunks.d.ts +32 -0
  256. package/dist/plugins/client-chunks.d.ts.map +1 -0
  257. package/dist/plugins/content.d.ts +1 -1
  258. package/dist/plugins/content.d.ts.map +1 -1
  259. package/dist/plugins/dev-server.d.ts +1 -1
  260. package/dist/plugins/dev-server.d.ts.map +1 -1
  261. package/dist/plugins/entries.d.ts +1 -1
  262. package/dist/plugins/entries.d.ts.map +1 -1
  263. package/dist/plugins/fonts.d.ts +17 -73
  264. package/dist/plugins/fonts.d.ts.map +1 -1
  265. package/dist/plugins/mdx.d.ts +1 -1
  266. package/dist/plugins/mdx.d.ts.map +1 -1
  267. package/dist/plugins/routing.d.ts +1 -1
  268. package/dist/plugins/routing.d.ts.map +1 -1
  269. package/dist/plugins/server-bundle.d.ts.map +1 -1
  270. package/dist/plugins/shims.d.ts +6 -5
  271. package/dist/plugins/shims.d.ts.map +1 -1
  272. package/dist/plugins/static-build.d.ts +5 -26
  273. package/dist/plugins/static-build.d.ts.map +1 -1
  274. package/dist/routing/codegen-shared.d.ts +63 -0
  275. package/dist/routing/codegen-shared.d.ts.map +1 -0
  276. package/dist/routing/codegen-types.d.ts +60 -0
  277. package/dist/routing/codegen-types.d.ts.map +1 -0
  278. package/dist/routing/codegen.d.ts +7 -2
  279. package/dist/routing/codegen.d.ts.map +1 -1
  280. package/dist/routing/convention-lint.d.ts +41 -0
  281. package/dist/routing/convention-lint.d.ts.map +1 -0
  282. package/dist/routing/index.d.ts +5 -1
  283. package/dist/routing/index.d.ts.map +1 -1
  284. package/dist/routing/index.js +4 -2
  285. package/dist/routing/link-codegen.d.ts +90 -0
  286. package/dist/routing/link-codegen.d.ts.map +1 -0
  287. package/dist/routing/scanner.d.ts +1 -10
  288. package/dist/routing/scanner.d.ts.map +1 -1
  289. package/dist/routing/segment-classify.d.ts +75 -0
  290. package/dist/routing/segment-classify.d.ts.map +1 -0
  291. package/dist/routing/segment-codegen.d.ts +38 -0
  292. package/dist/routing/segment-codegen.d.ts.map +1 -0
  293. package/dist/routing/types.d.ts +77 -25
  294. package/dist/routing/types.d.ts.map +1 -1
  295. package/dist/routing/walkers.d.ts +51 -0
  296. package/dist/routing/walkers.d.ts.map +1 -0
  297. package/dist/rsc-runtime/rsc.d.ts +1 -1
  298. package/dist/rsc-runtime/rsc.d.ts.map +1 -1
  299. package/dist/rsc-runtime/ssr.d.ts +12 -0
  300. package/dist/rsc-runtime/ssr.d.ts.map +1 -1
  301. package/dist/schema-bridge.d.ts +76 -0
  302. package/dist/schema-bridge.d.ts.map +1 -0
  303. package/dist/search-params/define.d.ts +157 -0
  304. package/dist/search-params/define.d.ts.map +1 -0
  305. package/dist/search-params/index.d.ts +4 -7
  306. package/dist/search-params/index.d.ts.map +1 -1
  307. package/dist/search-params/index.js +34 -441
  308. package/dist/search-params/index.js.map +1 -1
  309. package/dist/search-params/registry.d.ts +2 -2
  310. package/dist/search-params/registry.d.ts.map +1 -1
  311. package/dist/search-params/wrappers.d.ts +53 -0
  312. package/dist/search-params/wrappers.d.ts.map +1 -0
  313. package/dist/segment-params/define.d.ts +95 -0
  314. package/dist/segment-params/define.d.ts.map +1 -0
  315. package/dist/segment-params/index.d.ts +3 -0
  316. package/dist/segment-params/index.d.ts.map +1 -0
  317. package/dist/segment-params/index.js +2 -0
  318. package/dist/server/access-gate.d.ts +8 -3
  319. package/dist/server/access-gate.d.ts.map +1 -1
  320. package/dist/server/action-client.d.ts +41 -6
  321. package/dist/server/action-client.d.ts.map +1 -1
  322. package/dist/server/action-encryption.d.ts +76 -0
  323. package/dist/server/action-encryption.d.ts.map +1 -0
  324. package/dist/server/action-handler.d.ts +35 -1
  325. package/dist/server/action-handler.d.ts.map +1 -1
  326. package/dist/server/actions.d.ts +3 -6
  327. package/dist/server/actions.d.ts.map +1 -1
  328. package/dist/server/als-registry.d.ts +53 -5
  329. package/dist/server/als-registry.d.ts.map +1 -1
  330. package/dist/server/asset-headers.d.ts +1 -15
  331. package/dist/server/asset-headers.d.ts.map +1 -1
  332. package/dist/server/build-manifest.d.ts +2 -2
  333. package/dist/server/build-manifest.d.ts.map +1 -1
  334. package/dist/server/coalesce-tick.d.ts +40 -0
  335. package/dist/server/coalesce-tick.d.ts.map +1 -0
  336. package/dist/server/cookie-context.d.ts +170 -0
  337. package/dist/server/cookie-context.d.ts.map +1 -0
  338. package/dist/server/cookie-parsing.d.ts +51 -0
  339. package/dist/server/cookie-parsing.d.ts.map +1 -0
  340. package/dist/server/debug.d.ts +1 -1
  341. package/dist/server/default-logger.d.ts +22 -0
  342. package/dist/server/default-logger.d.ts.map +1 -0
  343. package/dist/server/deny-boundary.d.ts +90 -0
  344. package/dist/server/deny-boundary.d.ts.map +1 -0
  345. package/dist/server/deny-renderer.d.ts.map +1 -1
  346. package/dist/server/dev-source-map.d.ts +22 -0
  347. package/dist/server/dev-source-map.d.ts.map +1 -0
  348. package/dist/server/early-hints-sender.d.ts.map +1 -1
  349. package/dist/server/early-hints.d.ts +13 -5
  350. package/dist/server/early-hints.d.ts.map +1 -1
  351. package/dist/server/error-boundary-wrapper.d.ts +7 -1
  352. package/dist/server/error-boundary-wrapper.d.ts.map +1 -1
  353. package/dist/server/fallback-error.d.ts +12 -7
  354. package/dist/server/fallback-error.d.ts.map +1 -1
  355. package/dist/server/flight-injection-state.d.ts +66 -0
  356. package/dist/server/flight-injection-state.d.ts.map +1 -0
  357. package/dist/server/flight-scripts.d.ts +42 -0
  358. package/dist/server/flight-scripts.d.ts.map +1 -0
  359. package/dist/server/flush.d.ts.map +1 -1
  360. package/dist/server/form-data.d.ts +29 -0
  361. package/dist/server/form-data.d.ts.map +1 -1
  362. package/dist/server/html-injector-core.d.ts +213 -0
  363. package/dist/server/html-injector-core.d.ts.map +1 -0
  364. package/dist/server/html-injectors.d.ts +81 -41
  365. package/dist/server/html-injectors.d.ts.map +1 -1
  366. package/dist/server/index.d.ts +10 -46
  367. package/dist/server/index.d.ts.map +1 -1
  368. package/dist/server/index.js +155 -2905
  369. package/dist/server/index.js.map +1 -1
  370. package/dist/server/internal.d.ts +48 -0
  371. package/dist/server/internal.d.ts.map +1 -0
  372. package/dist/server/internal.js +2947 -0
  373. package/dist/server/internal.js.map +1 -0
  374. package/dist/server/logger.d.ts +39 -7
  375. package/dist/server/logger.d.ts.map +1 -1
  376. package/dist/server/middleware-runner.d.ts +36 -4
  377. package/dist/server/middleware-runner.d.ts.map +1 -1
  378. package/dist/server/node-stream-transforms.d.ts +112 -0
  379. package/dist/server/node-stream-transforms.d.ts.map +1 -0
  380. package/dist/server/param-coercion.d.ts +54 -0
  381. package/dist/server/param-coercion.d.ts.map +1 -0
  382. package/dist/server/pipeline-helpers.d.ts +95 -0
  383. package/dist/server/pipeline-helpers.d.ts.map +1 -0
  384. package/dist/server/pipeline-interception.d.ts +1 -1
  385. package/dist/server/pipeline-interception.d.ts.map +1 -1
  386. package/dist/server/pipeline-metadata.d.ts +6 -0
  387. package/dist/server/pipeline-metadata.d.ts.map +1 -1
  388. package/dist/server/pipeline-outcome.d.ts +49 -0
  389. package/dist/server/pipeline-outcome.d.ts.map +1 -0
  390. package/dist/server/pipeline-phases.d.ts +52 -0
  391. package/dist/server/pipeline-phases.d.ts.map +1 -0
  392. package/dist/server/pipeline.d.ts +118 -23
  393. package/dist/server/pipeline.d.ts.map +1 -1
  394. package/dist/server/port-resolution.d.ts +117 -0
  395. package/dist/server/port-resolution.d.ts.map +1 -0
  396. package/dist/server/primitives.d.ts +69 -18
  397. package/dist/server/primitives.d.ts.map +1 -1
  398. package/dist/server/render-timeout.d.ts +51 -0
  399. package/dist/server/render-timeout.d.ts.map +1 -0
  400. package/dist/server/request-context.d.ts +62 -107
  401. package/dist/server/request-context.d.ts.map +1 -1
  402. package/dist/server/route-element-builder.d.ts +27 -1
  403. package/dist/server/route-element-builder.d.ts.map +1 -1
  404. package/dist/server/route-handler.d.ts.map +1 -1
  405. package/dist/server/route-matcher.d.ts +21 -34
  406. package/dist/server/route-matcher.d.ts.map +1 -1
  407. package/dist/server/rsc-entry/action-middleware-runner.d.ts +66 -0
  408. package/dist/server/rsc-entry/action-middleware-runner.d.ts.map +1 -0
  409. package/dist/server/rsc-entry/api-handler.d.ts +2 -2
  410. package/dist/server/rsc-entry/api-handler.d.ts.map +1 -1
  411. package/dist/server/rsc-entry/error-renderer.d.ts +26 -13
  412. package/dist/server/rsc-entry/error-renderer.d.ts.map +1 -1
  413. package/dist/server/rsc-entry/helpers.d.ts +49 -6
  414. package/dist/server/rsc-entry/helpers.d.ts.map +1 -1
  415. package/dist/server/rsc-entry/index.d.ts +19 -8
  416. package/dist/server/rsc-entry/index.d.ts.map +1 -1
  417. package/dist/server/rsc-entry/render-route.d.ts +50 -0
  418. package/dist/server/rsc-entry/render-route.d.ts.map +1 -0
  419. package/dist/server/rsc-entry/rsc-payload.d.ts +3 -3
  420. package/dist/server/rsc-entry/rsc-payload.d.ts.map +1 -1
  421. package/dist/server/rsc-entry/rsc-stream.d.ts +17 -1
  422. package/dist/server/rsc-entry/rsc-stream.d.ts.map +1 -1
  423. package/dist/server/rsc-entry/ssr-bridge.d.ts +1 -1
  424. package/dist/server/rsc-entry/ssr-bridge.d.ts.map +1 -1
  425. package/dist/server/rsc-entry/ssr-renderer.d.ts +19 -4
  426. package/dist/server/rsc-entry/ssr-renderer.d.ts.map +1 -1
  427. package/dist/server/rsc-entry/wrap-action-dispatch.d.ts +119 -0
  428. package/dist/server/rsc-entry/wrap-action-dispatch.d.ts.map +1 -0
  429. package/dist/server/safe-load.d.ts +46 -0
  430. package/dist/server/safe-load.d.ts.map +1 -0
  431. package/dist/server/sensitive-fields.d.ts +74 -0
  432. package/dist/server/sensitive-fields.d.ts.map +1 -0
  433. package/dist/server/sitemap-generator.d.ts +129 -0
  434. package/dist/server/sitemap-generator.d.ts.map +1 -0
  435. package/dist/server/sitemap-handler.d.ts +22 -0
  436. package/dist/server/sitemap-handler.d.ts.map +1 -0
  437. package/dist/server/slot-resolver.d.ts +1 -1
  438. package/dist/server/slot-resolver.d.ts.map +1 -1
  439. package/dist/server/ssr-entry.d.ts +30 -0
  440. package/dist/server/ssr-entry.d.ts.map +1 -1
  441. package/dist/server/ssr-render.d.ts +39 -21
  442. package/dist/server/ssr-render.d.ts.map +1 -1
  443. package/dist/server/ssr-wrappers.d.ts +50 -0
  444. package/dist/server/ssr-wrappers.d.ts.map +1 -0
  445. package/dist/server/state-tree-diff.d.ts.map +1 -1
  446. package/dist/server/status-code-resolver.d.ts +16 -11
  447. package/dist/server/status-code-resolver.d.ts.map +1 -1
  448. package/dist/server/stream-utils.d.ts +36 -0
  449. package/dist/server/stream-utils.d.ts.map +1 -0
  450. package/dist/server/tracing.d.ts +5 -5
  451. package/dist/server/tracing.d.ts.map +1 -1
  452. package/dist/server/tree-builder.d.ts +62 -30
  453. package/dist/server/tree-builder.d.ts.map +1 -1
  454. package/dist/server/tree-match.d.ts +41 -0
  455. package/dist/server/tree-match.d.ts.map +1 -0
  456. package/dist/server/types.d.ts +49 -4
  457. package/dist/server/types.d.ts.map +1 -1
  458. package/dist/server/utils/escape-html.d.ts +14 -0
  459. package/dist/server/utils/escape-html.d.ts.map +1 -0
  460. package/dist/server/version-skew.d.ts +61 -0
  461. package/dist/server/version-skew.d.ts.map +1 -0
  462. package/dist/shared/merge-search-params.d.ts +22 -0
  463. package/dist/shared/merge-search-params.d.ts.map +1 -0
  464. package/dist/shims/font-google.d.ts +1 -1
  465. package/dist/shims/font-google.d.ts.map +1 -1
  466. package/dist/shims/font-google.js +42 -0
  467. package/dist/shims/font-google.js.map +1 -0
  468. package/dist/shims/font-local.d.ts +26 -0
  469. package/dist/shims/font-local.d.ts.map +1 -0
  470. package/dist/shims/font-local.js +20 -0
  471. package/dist/shims/font-local.js.map +1 -0
  472. package/dist/shims/headers.d.ts +2 -1
  473. package/dist/shims/headers.d.ts.map +1 -1
  474. package/dist/shims/navigation-client.d.ts +3 -1
  475. package/dist/shims/navigation-client.d.ts.map +1 -1
  476. package/dist/shims/navigation.d.ts +11 -5
  477. package/dist/shims/navigation.d.ts.map +1 -1
  478. package/dist/utils/state-machine.d.ts +80 -0
  479. package/dist/utils/state-machine.d.ts.map +1 -0
  480. package/package.json +56 -16
  481. package/src/adapters/build-output-helper.ts +77 -0
  482. package/src/adapters/cloudflare-dev.ts +177 -0
  483. package/src/adapters/cloudflare-kv-cache.ts +142 -0
  484. package/src/adapters/cloudflare.ts +350 -76
  485. package/src/adapters/compress-module.ts +24 -4
  486. package/src/adapters/nitro.ts +142 -59
  487. package/src/adapters/shared.ts +40 -0
  488. package/src/adapters/wrangler.d.ts +7 -0
  489. package/src/cache/cache-api.ts +38 -0
  490. package/src/cache/handler-store.ts +68 -0
  491. package/src/cache/index.ts +81 -18
  492. package/src/cache/singleflight.ts +62 -4
  493. package/src/cache/sizeof.ts +33 -0
  494. package/src/cache/timber-cache.ts +25 -20
  495. package/src/cli-schema-sync.ts +207 -0
  496. package/src/cli.ts +65 -8
  497. package/src/client/browser-dev.ts +153 -1
  498. package/src/client/browser-entry/action-dispatch.ts +126 -0
  499. package/src/client/browser-entry/hmr.ts +81 -0
  500. package/src/client/browser-entry/hydrate.ts +145 -0
  501. package/src/client/browser-entry/index.ts +149 -0
  502. package/src/client/browser-entry/post-hydration.ts +119 -0
  503. package/src/client/browser-entry/router-init.ts +193 -0
  504. package/src/client/browser-entry/rsc-stream.ts +157 -0
  505. package/src/client/browser-entry/scroll.ts +27 -0
  506. package/src/client/error-boundary.tsx +99 -22
  507. package/src/client/error-reconstituter.tsx +65 -0
  508. package/src/client/form.tsx +31 -32
  509. package/src/client/history.ts +26 -4
  510. package/src/client/index.ts +69 -44
  511. package/src/client/internal.ts +58 -0
  512. package/src/client/link-pending-store.ts +111 -0
  513. package/src/client/link.tsx +366 -113
  514. package/src/client/nav-link-store.ts +47 -0
  515. package/src/client/navigation-api-types.ts +112 -0
  516. package/src/client/navigation-api.ts +332 -0
  517. package/src/client/navigation-context.ts +31 -6
  518. package/src/client/navigation-root.tsx +342 -0
  519. package/src/client/nuqs-adapter.tsx +16 -3
  520. package/src/client/router-ref.ts +1 -1
  521. package/src/client/router.ts +300 -73
  522. package/src/client/rsc-fetch.ts +112 -8
  523. package/src/client/segment-cache.ts +1 -1
  524. package/src/client/segment-outlet.tsx +86 -0
  525. package/src/client/ssr-data.ts +13 -5
  526. package/src/client/stale-reload.ts +72 -3
  527. package/src/client/state.ts +2 -2
  528. package/src/client/top-loader.tsx +18 -6
  529. package/src/client/use-cookie.ts +31 -2
  530. package/src/client/use-link-status.ts +7 -7
  531. package/src/client/{use-navigation-pending.ts → use-pending-navigation.ts} +6 -6
  532. package/src/client/use-query-states.ts +9 -3
  533. package/src/client/use-router.ts +1 -1
  534. package/src/client/{use-params.ts → use-segment-params.ts} +8 -6
  535. package/src/codec.ts +97 -0
  536. package/src/config-types.ts +292 -0
  537. package/src/config-validation.ts +303 -0
  538. package/src/content/index.ts +5 -13
  539. package/src/cookies/define-cookie.ts +233 -53
  540. package/src/cookies/index.ts +12 -1
  541. package/src/cookies/json-cookie.ts +105 -0
  542. package/src/cookies/validation.ts +134 -0
  543. package/src/dev-tools/404-page.ts +387 -0
  544. package/src/dev-tools/browser-logs.ts +291 -0
  545. package/src/dev-tools/error-page.ts +506 -0
  546. package/src/dev-tools/holding-server.ts +187 -0
  547. package/src/dev-tools/index.ts +90 -0
  548. package/src/dev-tools/instrumentation.ts +176 -0
  549. package/src/{plugins/dev-logs.ts → dev-tools/logs.ts} +9 -5
  550. package/src/dev-tools/overlay.ts +469 -0
  551. package/src/dev-tools/stack-classifier.ts +75 -0
  552. package/src/dev-tools/terminal.ts +183 -0
  553. package/src/{server/dev-warnings.ts → dev-tools/warnings.ts} +5 -50
  554. package/src/fonts/ast.ts +525 -16
  555. package/src/fonts/bundle.ts +142 -0
  556. package/src/fonts/dev-middleware.ts +74 -0
  557. package/src/fonts/local.ts +1 -1
  558. package/src/fonts/pipeline.ts +314 -0
  559. package/src/fonts/transform.ts +317 -0
  560. package/src/fonts/types.ts +50 -1
  561. package/src/fonts/virtual-modules.ts +233 -0
  562. package/src/index.ts +409 -357
  563. package/src/params/codec-registry.ts +34 -0
  564. package/src/params/define-schema.ts +73 -0
  565. package/src/params/index.ts +11 -0
  566. package/src/params/resolve-schema.ts +88 -0
  567. package/src/plugin-context.ts +240 -0
  568. package/src/plugins/adapter-build.ts +12 -4
  569. package/src/plugins/build-manifest.ts +13 -2
  570. package/src/plugins/build-report.ts +16 -25
  571. package/src/plugins/client-chunks.ts +65 -0
  572. package/src/plugins/content.ts +1 -1
  573. package/src/plugins/dev-server.ts +175 -35
  574. package/src/plugins/entries.ts +111 -9
  575. package/src/plugins/fonts.ts +157 -654
  576. package/src/plugins/mdx.ts +47 -10
  577. package/src/plugins/routing.ts +374 -45
  578. package/src/plugins/server-bundle.ts +32 -1
  579. package/src/plugins/shims.ts +136 -35
  580. package/src/plugins/static-build.ts +15 -89
  581. package/src/routing/codegen-shared.ts +109 -0
  582. package/src/routing/codegen-types.ts +61 -0
  583. package/src/routing/codegen.ts +269 -179
  584. package/src/routing/convention-lint.ts +357 -0
  585. package/src/routing/index.ts +5 -1
  586. package/src/routing/interception.ts +1 -1
  587. package/src/routing/link-codegen.ts +308 -0
  588. package/src/routing/scanner.ts +107 -110
  589. package/src/routing/segment-classify.ts +188 -0
  590. package/src/routing/segment-codegen.ts +98 -0
  591. package/src/routing/types.ts +78 -25
  592. package/src/routing/walkers.ts +90 -0
  593. package/src/rsc-runtime/rsc.ts +2 -0
  594. package/src/rsc-runtime/ssr.ts +50 -0
  595. package/src/rsc-runtime/vendor-types.d.ts +7 -0
  596. package/src/{search-params/codecs.ts → schema-bridge.ts} +57 -20
  597. package/src/search-params/define.ts +538 -0
  598. package/src/search-params/index.ts +14 -20
  599. package/src/search-params/registry.ts +2 -2
  600. package/src/search-params/wrappers.ts +92 -0
  601. package/src/segment-params/define.ts +336 -0
  602. package/src/segment-params/index.ts +9 -0
  603. package/src/server/access-gate.tsx +76 -34
  604. package/src/server/action-client.ts +88 -15
  605. package/src/server/action-encryption.ts +144 -0
  606. package/src/server/action-handler.ts +112 -14
  607. package/src/server/actions.ts +10 -9
  608. package/src/server/als-registry.ts +55 -7
  609. package/src/server/asset-headers.ts +8 -34
  610. package/src/server/build-manifest.ts +10 -4
  611. package/src/server/coalesce-tick.ts +75 -0
  612. package/src/server/compress.ts +25 -7
  613. package/src/server/cookie-context.ts +468 -0
  614. package/src/server/cookie-parsing.ts +135 -0
  615. package/src/server/debug.ts +1 -1
  616. package/src/server/default-logger.ts +99 -0
  617. package/src/server/deny-boundary.ts +218 -0
  618. package/src/server/deny-renderer.ts +31 -50
  619. package/src/server/dev-source-map.ts +31 -0
  620. package/src/server/early-hints-sender.ts +3 -2
  621. package/src/server/early-hints.ts +36 -15
  622. package/src/server/error-boundary-wrapper.ts +74 -22
  623. package/src/server/fallback-error.ts +74 -102
  624. package/src/server/flight-injection-state.ts +113 -0
  625. package/src/server/flight-scripts.ts +62 -0
  626. package/src/server/flush.ts +2 -1
  627. package/src/server/form-data.ts +76 -0
  628. package/src/server/html-injector-core.ts +417 -0
  629. package/src/server/html-injectors.ts +235 -223
  630. package/src/server/index.ts +29 -183
  631. package/src/server/internal.ts +176 -0
  632. package/src/server/logger.ts +67 -36
  633. package/src/server/middleware-runner.ts +75 -4
  634. package/src/server/node-stream-transforms.ts +361 -0
  635. package/src/server/param-coercion.ts +206 -0
  636. package/src/server/pipeline-helpers.ts +204 -0
  637. package/src/server/pipeline-interception.ts +17 -16
  638. package/src/server/pipeline-metadata.ts +13 -0
  639. package/src/server/pipeline-outcome.ts +176 -0
  640. package/src/server/pipeline-phases.ts +460 -0
  641. package/src/server/pipeline.ts +154 -394
  642. package/src/server/port-resolution.ts +215 -0
  643. package/src/server/primitives.ts +111 -28
  644. package/src/server/render-timeout.ts +108 -0
  645. package/src/server/request-context.ts +168 -333
  646. package/src/server/route-element-builder.ts +309 -195
  647. package/src/server/route-handler.ts +24 -4
  648. package/src/server/route-matcher.ts +50 -231
  649. package/src/server/rsc-entry/action-middleware-runner.ts +167 -0
  650. package/src/server/rsc-entry/api-handler.ts +16 -17
  651. package/src/server/rsc-entry/error-renderer.ts +305 -89
  652. package/src/server/rsc-entry/helpers.ts +137 -12
  653. package/src/server/rsc-entry/index.ts +316 -352
  654. package/src/server/rsc-entry/render-route.ts +307 -0
  655. package/src/server/rsc-entry/rsc-payload.ts +65 -18
  656. package/src/server/rsc-entry/rsc-stream.ts +85 -13
  657. package/src/server/rsc-entry/ssr-bridge.ts +14 -5
  658. package/src/server/rsc-entry/ssr-renderer.ts +187 -38
  659. package/src/server/rsc-entry/wrap-action-dispatch.ts +449 -0
  660. package/src/server/safe-load.ts +60 -0
  661. package/src/server/sensitive-fields.ts +230 -0
  662. package/src/server/sitemap-generator.ts +338 -0
  663. package/src/server/sitemap-handler.ts +126 -0
  664. package/src/server/slot-resolver.ts +228 -246
  665. package/src/server/ssr-entry.ts +229 -32
  666. package/src/server/ssr-render.ts +289 -67
  667. package/src/server/ssr-wrappers.tsx +139 -0
  668. package/src/server/state-tree-diff.ts +4 -1
  669. package/src/server/status-code-resolver.ts +112 -128
  670. package/src/server/stream-utils.ts +213 -0
  671. package/src/server/tracing.ts +21 -10
  672. package/src/server/tree-builder.ts +202 -90
  673. package/src/server/tree-match.ts +198 -0
  674. package/src/server/types.ts +55 -6
  675. package/src/server/utils/escape-html.ts +20 -0
  676. package/src/server/version-skew.ts +104 -0
  677. package/src/shared/merge-search-params.ts +55 -0
  678. package/src/shims/font-google.ts +1 -1
  679. package/src/shims/font-local.ts +34 -0
  680. package/src/shims/headers.ts +5 -1
  681. package/src/shims/navigation-client.ts +4 -3
  682. package/src/shims/navigation.ts +14 -7
  683. package/src/utils/state-machine.ts +111 -0
  684. package/dist/_chunks/als-registry-B7DbZ2hS.js +0 -41
  685. package/dist/_chunks/als-registry-B7DbZ2hS.js.map +0 -1
  686. package/dist/_chunks/debug-gwlJkDuf.js +0 -108
  687. package/dist/_chunks/debug-gwlJkDuf.js.map +0 -1
  688. package/dist/_chunks/format-DviM89f0.js.map +0 -1
  689. package/dist/_chunks/interception-BOoWmLUA.js +0 -676
  690. package/dist/_chunks/interception-BOoWmLUA.js.map +0 -1
  691. package/dist/_chunks/request-context-DIkVh_jG.js +0 -330
  692. package/dist/_chunks/request-context-DIkVh_jG.js.map +0 -1
  693. package/dist/_chunks/ssr-data-MjmprTmO.js.map +0 -1
  694. package/dist/_chunks/tracing-CemImE6h.js +0 -187
  695. package/dist/_chunks/tracing-CemImE6h.js.map +0 -1
  696. package/dist/_chunks/use-cookie-DX-l1_5E.js +0 -91
  697. package/dist/_chunks/use-cookie-DX-l1_5E.js.map +0 -1
  698. package/dist/_chunks/use-query-states-D5KaffOK.js.map +0 -1
  699. package/dist/cache/register-cached-function.d.ts +0 -17
  700. package/dist/cache/register-cached-function.d.ts.map +0 -1
  701. package/dist/client/browser-entry.d.ts +0 -21
  702. package/dist/client/browser-entry.d.ts.map +0 -1
  703. package/dist/client/link-status-provider.d.ts +0 -11
  704. package/dist/client/link-status-provider.d.ts.map +0 -1
  705. package/dist/client/transition-root.d.ts.map +0 -1
  706. package/dist/client/use-navigation-pending.d.ts.map +0 -1
  707. package/dist/client/use-params.d.ts.map +0 -1
  708. package/dist/plugins/cache-transform.d.ts +0 -36
  709. package/dist/plugins/cache-transform.d.ts.map +0 -1
  710. package/dist/plugins/dev-error-overlay.d.ts +0 -60
  711. package/dist/plugins/dev-error-overlay.d.ts.map +0 -1
  712. package/dist/plugins/dev-logs.d.ts.map +0 -1
  713. package/dist/plugins/dynamic-transform.d.ts +0 -72
  714. package/dist/plugins/dynamic-transform.d.ts.map +0 -1
  715. package/dist/plugins/server-action-exports.d.ts +0 -26
  716. package/dist/plugins/server-action-exports.d.ts.map +0 -1
  717. package/dist/routing/status-file-lint.d.ts +0 -33
  718. package/dist/routing/status-file-lint.d.ts.map +0 -1
  719. package/dist/search-params/analyze.d.ts +0 -54
  720. package/dist/search-params/analyze.d.ts.map +0 -1
  721. package/dist/search-params/builtin-codecs.d.ts +0 -105
  722. package/dist/search-params/builtin-codecs.d.ts.map +0 -1
  723. package/dist/search-params/codecs.d.ts +0 -53
  724. package/dist/search-params/codecs.d.ts.map +0 -1
  725. package/dist/search-params/create.d.ts +0 -106
  726. package/dist/search-params/create.d.ts.map +0 -1
  727. package/dist/server/dev-fetch-instrumentation.d.ts +0 -22
  728. package/dist/server/dev-fetch-instrumentation.d.ts.map +0 -1
  729. package/dist/server/dev-logger.d.ts.map +0 -1
  730. package/dist/server/dev-span-processor.d.ts.map +0 -1
  731. package/dist/server/dev-warnings.d.ts.map +0 -1
  732. package/dist/server/manifest-status-resolver.d.ts +0 -58
  733. package/dist/server/manifest-status-resolver.d.ts.map +0 -1
  734. package/dist/server/prerender.d.ts +0 -77
  735. package/dist/server/prerender.d.ts.map +0 -1
  736. package/dist/server/response-cache.d.ts +0 -54
  737. package/dist/server/response-cache.d.ts.map +0 -1
  738. package/dist/utils/directive-parser.d.ts +0 -70
  739. package/dist/utils/directive-parser.d.ts.map +0 -1
  740. package/src/cache/register-cached-function.ts +0 -103
  741. package/src/client/browser-entry.ts +0 -678
  742. package/src/client/link-status-provider.tsx +0 -30
  743. package/src/client/transition-root.tsx +0 -166
  744. package/src/plugins/cache-transform.ts +0 -199
  745. package/src/plugins/dev-error-overlay.ts +0 -230
  746. package/src/plugins/dynamic-transform.ts +0 -161
  747. package/src/plugins/server-action-exports.ts +0 -220
  748. package/src/routing/status-file-lint.ts +0 -112
  749. package/src/search-params/analyze.ts +0 -192
  750. package/src/search-params/builtin-codecs.ts +0 -228
  751. package/src/search-params/create.ts +0 -321
  752. package/src/server/dev-fetch-instrumentation.ts +0 -96
  753. package/src/server/dev-span-processor.ts +0 -78
  754. package/src/server/manifest-status-resolver.ts +0 -215
  755. package/src/server/prerender.ts +0 -139
  756. package/src/server/response-cache.ts +0 -410
  757. package/src/utils/directive-parser.ts +0 -529
  758. /package/src/{server/dev-logger.ts → dev-tools/logger.ts} +0 -0
@@ -0,0 +1,64 @@
1
+ /**
2
+ * jsonCookieCodec — Codec helper for storing JSON-serializable values in
3
+ * cookies.
4
+ *
5
+ * The codec is intentionally minimal: `JSON.stringify` on serialize,
6
+ * `JSON.parse` on parse. The framework handles the URL encoding /
7
+ * decoding around it (see design/29-cookies.md §"Encoding Contract"):
8
+ *
9
+ * defineCookie.setCookie(value)
10
+ * → codec.serialize: JSON.stringify → '{"a":1}'
11
+ * → cookies().set: encodeURIComponent → '%7B%22a%22%3A1%7D'
12
+ * → wire: Set-Cookie: prefs=%7B%22a%22%3A1%7D
13
+ *
14
+ * defineCookie.getCookie()
15
+ * → wire: Cookie: prefs=%7B%22a%22%3A1%7D
16
+ * → parseCookieHeader: decodeURIComponent → '{"a":1}'
17
+ * → codec.parse: JSON.parse → { a: 1 }
18
+ *
19
+ * The same chain works on the client: `useCookie` auto-encodes on writes
20
+ * and auto-decodes on reads, so `jsonCookieCodec` composes with both the
21
+ * server `defineCookie` methods and the client `useCookie` hook with no
22
+ * environment-specific branches.
23
+ *
24
+ * Parsing is total: any non-JSON value (or `undefined`) returns the
25
+ * supplied default. This matches the "never crash on user-controlled
26
+ * cookie input" semantics that `fromSchema` uses for typed search params.
27
+ *
28
+ * ```ts
29
+ * import { defineCookie, jsonCookieCodec } from '@timber-js/app/cookies';
30
+ *
31
+ * interface Prefs { lang: string; fontSize: number }
32
+ *
33
+ * export const prefsCookie = defineCookie('prefs', {
34
+ * codec: jsonCookieCodec<Prefs>({ lang: 'en', fontSize: 16 }),
35
+ * httpOnly: false,
36
+ * maxAge: 60 * 60 * 24 * 365,
37
+ * });
38
+ *
39
+ * await prefsCookie.setCookie({ lang: 'fr', fontSize: 18 });
40
+ * ```
41
+ */
42
+ import type { Codec } from '../codec.js';
43
+ /**
44
+ * Build a CookieCodec that JSON-encodes the value. The framework's
45
+ * cookie write path then URL-encodes the JSON string into a valid
46
+ * `cookie-octet` form, and the read path reverses both transforms.
47
+ *
48
+ * @param defaultValue - Returned by `parse` when the cookie is missing
49
+ * or the stored value cannot be JSON-parsed. Optional — if omitted,
50
+ * `parse` returns `undefined` on missing/malformed input.
51
+ *
52
+ * The default is **deep-cloned** on every fallback return via
53
+ * `structuredClone`, so mutating the parsed result in one request
54
+ * cannot leak into later requests that fall back to the same
55
+ * default. This matters for long-lived server processes where a
56
+ * codec is defined once at module load and shared across all
57
+ * requests — without the clone, a user doing
58
+ * `const prefs = prefsCookie.get(); prefs.lang = 'fr'` on a missing
59
+ * cookie would mutate the module-level default and poison every
60
+ * later fallback. See the "shared mutable default" regression test
61
+ * in `tests/define-cookie.test.ts`.
62
+ */
63
+ export declare function jsonCookieCodec<T>(defaultValue?: T): Codec<T>;
64
+ //# sourceMappingURL=json-cookie.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-cookie.d.ts","sourceRoot":"","sources":["../../src/cookies/json-cookie.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAwC7D"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Cookie name and value validation per RFC 6265 §4.1.1.
3
+ *
4
+ * This module is pure — no server or client imports — so it can be loaded
5
+ * by both `server/request-context.ts` (which guards `getCookies().set()`)
6
+ * and `client/use-cookie.ts` (which guards `useCookie()`'s setter). The
7
+ * shared validator gives both sides identical encoding contracts:
8
+ * **the framework never silently encodes — callers emit `cookie-octet`
9
+ * bytes or get a developer-facing error.**
10
+ *
11
+ * Why this matters: see ONGOING_SECURITY.md H-3 (TIM-868) and
12
+ * design/29-cookies.md §"Cookie Name and Value Validation".
13
+ */
14
+ /**
15
+ * Validate a cookie name against RFC 6265 §4.1.1 / RFC 7230 token rules.
16
+ * Throws a developer-facing error naming the offending byte and its index.
17
+ */
18
+ export declare function assertValidCookieName(name: string): void;
19
+ /**
20
+ * Validate a cookie value against the RFC 6265 §4.1.1 `cookie-value`
21
+ * production:
22
+ *
23
+ * cookie-value = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE )
24
+ * cookie-octet = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E
25
+ *
26
+ * Both the bare `*cookie-octet` form and the DQUOTE-wrapped form are
27
+ * valid. The wrapped form is common in upstream `Set-Cookie` headers
28
+ * (e.g. `sid="abc"; Path=/`) and must be forwardable through
29
+ * `setFromHeaders` verbatim — stripping or rejecting the surrounding
30
+ * quotes would corrupt the on-the-wire bytes and break value semantics
31
+ * for the upstream service.
32
+ *
33
+ * Excluded bytes (in either form): CTL, whitespace (CR/LF/TAB/SP),
34
+ * interior DQUOTE, comma, semicolon, backslash, DEL, and anything
35
+ * non-ASCII. The smuggling primitive (`;`) is rejected regardless of
36
+ * wrapping.
37
+ *
38
+ * Throws a developer-facing error naming the offending byte and its
39
+ * index. Callers passing user-controlled data through the default
40
+ * `set()` path don't need to call this — `set()` auto-encodes via
41
+ * `encodeURIComponent`, whose output is always valid cookie-octet.
42
+ * This validator is for the `{ raw: true }` opt-out and for
43
+ * `setFromHeaders` forwarding.
44
+ */
45
+ export declare function assertValidCookieValue(name: string, value: string): void;
46
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/cookies/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA+BH;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAoBxD;AAaD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CA2BxE"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Dev 404 page — self-contained HTML page for dev-mode route misses.
3
+ *
4
+ * When no route matches and the user has no 404.tsx, this page shows:
5
+ * - The requested path
6
+ * - All registered routes in the app
7
+ * - "Did you mean?" suggestions based on string similarity
8
+ * - Setup instructions for new projects with no routes
9
+ *
10
+ * Dev-only: this module is only imported in dev mode. It is never
11
+ * included in production builds.
12
+ *
13
+ * Design doc: 21-dev-server.md, 07-routing.md
14
+ */
15
+ import type { SegmentNode } from '../routing/types.js';
16
+ interface RouteInfo {
17
+ /** URL path pattern (e.g., "/dashboard/[id]") */
18
+ path: string;
19
+ /** Whether this is a page route or API route handler */
20
+ type: 'page' | 'route';
21
+ }
22
+ /**
23
+ * Collect all routable paths from a route tree (build-time scanner output
24
+ * or runtime route manifest).
25
+ *
26
+ * Wraps the shared `collectLeafRoutes` walker (TIM-848). Includes parallel
27
+ * slots so the dev 404 page can list slot pages too — they aren't
28
+ * separately addressable, but they're still useful to know about when
29
+ * debugging a missing route.
30
+ */
31
+ export declare function collectRoutes<TFile>(root: SegmentNode<TFile>): RouteInfo[];
32
+ /**
33
+ * Find routes similar to the requested path.
34
+ *
35
+ * Returns up to 3 suggestions, sorted by similarity.
36
+ * Only includes routes with distance ≤ 40% of the longer string.
37
+ */
38
+ export declare function findSimilarRoutes(requestedPath: string, routes: RouteInfo[]): RouteInfo[];
39
+ /**
40
+ * Generate a dev-mode 404 page with route listing and suggestions.
41
+ *
42
+ * Returns an HTML string for a self-contained error page.
43
+ */
44
+ export declare function generateDev404Page(requestedPath: string, routes: RouteInfo[]): string;
45
+ export {};
46
+ //# sourceMappingURL=404-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"404-page.d.ts","sourceRoot":"","sources":["../../src/dev-tools/404-page.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMvD,UAAU,SAAS;IACjB,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAID;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,SAAS,EAAE,CAQ1E;AAmCD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAezF;AAQD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAiFrF"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * timber-dev-browser-logs — Forwards browser console output to the server terminal.
3
+ *
4
+ * Injects a small inline script in dev mode that intercepts browser
5
+ * `console.error`, `console.warn`, and `console.info`, then forwards
6
+ * messages to the server via Vite's HMR WebSocket.
7
+ *
8
+ * The server-side listener formats and prints the messages with color-coded
9
+ * prefixes: [browser:error], [browser:warn], [browser:info].
10
+ *
11
+ * Dev-only: this plugin only runs during `vite dev`.
12
+ * No runtime overhead in production.
13
+ *
14
+ * See TIM-513 for design context.
15
+ * See design/18-build-system.md §"Dev Server" for sub-plugin architecture.
16
+ */
17
+ import type { Plugin } from 'vite';
18
+ import type { PluginContext } from '../plugin-context.js';
19
+ /** Log levels forwarded from the browser. */
20
+ export type BrowserLogLevel = 'error' | 'warn' | 'info';
21
+ /** Configuration value for devBrowserLogs in timber.config.ts. */
22
+ export type DevBrowserLogsConfig = BrowserLogLevel | 'none' | undefined;
23
+ /**
24
+ * Payload sent from browser to server via Vite's HMR WebSocket.
25
+ * Kept small — truncated before sending.
26
+ */
27
+ export interface BrowserLogPayload {
28
+ level: BrowserLogLevel;
29
+ /** Serialized message string. */
30
+ message: string;
31
+ /** Error stack trace, if the first argument was an Error. */
32
+ stack: string | null;
33
+ /** Source URL and line number, if available. */
34
+ source: string | null;
35
+ /** Timestamp in ms (Date.now()) from the browser. */
36
+ timestamp: number;
37
+ }
38
+ /**
39
+ * Format a browser log payload for server terminal output.
40
+ *
41
+ * Produces color-coded output like:
42
+ * [browser:error] Uncaught TypeError: x is not a function
43
+ * at App (app.tsx:10:5)
44
+ * [browser:warn] Deprecation warning (app/page.tsx:42:12)
45
+ */
46
+ export declare function formatBrowserLog(payload: BrowserLogPayload): string;
47
+ /**
48
+ * Check if a log at `level` should be forwarded given the configured threshold.
49
+ *
50
+ * The threshold acts as a minimum severity:
51
+ * - 'error' → only errors
52
+ * - 'warn' → errors + warnings
53
+ * - 'info' → errors + warnings + info
54
+ * - 'none' → nothing
55
+ */
56
+ export declare function shouldForwardLevel(level: BrowserLogLevel, threshold: BrowserLogLevel | 'none'): boolean;
57
+ /**
58
+ * Truncate a message to `maxBytes` to avoid flooding the terminal.
59
+ * Appends a suffix indicating how many bytes were dropped.
60
+ */
61
+ export declare function truncateMessage(message: string, maxBytes: number): string;
62
+ /**
63
+ * Generate the inline script injected into the browser in dev mode.
64
+ *
65
+ * This script:
66
+ * 1. Saves references to the original console methods
67
+ * 2. Wraps `console.error`, `console.warn`, `console.info`
68
+ * 3. Calls the original first (browser devtools still work)
69
+ * 4. Serializes and forwards via `import.meta.hot.send()`
70
+ * 5. Truncates messages to MAX_MESSAGE_BYTES
71
+ *
72
+ * The script is minimal and self-contained — no imports, no dependencies.
73
+ */
74
+ export declare function generateClientScript(threshold: BrowserLogLevel | 'none'): string;
75
+ /**
76
+ * Create the timber-dev-browser-logs Vite plugin.
77
+ *
78
+ * - `configureServer`: Listens for HMR messages and prints them to the terminal
79
+ * - `transformIndexHtml`: Injects the client-side interception script
80
+ *
81
+ * Only active during `vite dev` (apply: 'serve').
82
+ */
83
+ export declare function timberDevBrowserLogs(ctx: PluginContext): Plugin;
84
+ //# sourceMappingURL=browser-logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-logs.d.ts","sourceRoot":"","sources":["../../src/dev-tools/browser-logs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI1D,6CAA6C;AAC7C,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAExD,kEAAkE;AAClE,MAAM,MAAM,oBAAoB,GAAG,eAAe,GAAG,MAAM,GAAG,SAAS,CAAC;AAExE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,eAAe,CAAC;IACvB,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gDAAgD;IAChD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;CACnB;AA6BD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAsBnE;AAID;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,eAAe,GAAG,MAAM,GAClC,OAAO,CAGT;AAID;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMzE;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,CAgEhF;AAID;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAgE/D"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Dev error page — self-contained HTML error page for dev server 500s.
3
+ *
4
+ * Generates a styled, self-contained HTML page when the RSC pipeline fails
5
+ * and the Vite error overlay can't fire (e.g., first page load before HMR
6
+ * WebSocket connects, RSC entry module crash, early pipeline errors).
7
+ *
8
+ * This is NOT a replacement for Vite's error overlay — it's the fallback
9
+ * for when the overlay's transport (WebSocket) isn't available yet.
10
+ *
11
+ * Dev-only: this module is only imported by dev-server.ts (apply: 'serve').
12
+ * It is never included in production builds.
13
+ *
14
+ * Design doc: 21-dev-server.md §"Error Overlay"
15
+ */
16
+ import { type ErrorPhase } from './overlay.js';
17
+ /**
18
+ * HMR connection options for the dev error page auto-reload WebSocket.
19
+ * Derived from Vite's resolved server config so the error page can
20
+ * connect to the correct HMR endpoint (TIM-789).
21
+ */
22
+ export interface DevErrorHmrOptions {
23
+ protocol?: string;
24
+ host?: string;
25
+ port?: number;
26
+ path?: string;
27
+ token?: string;
28
+ }
29
+ /**
30
+ * Extract HMR connection options from a Vite resolved config.
31
+ * Used by the dev server to pass HMR config to the error page generator
32
+ * so the auto-reload WebSocket connects to the correct endpoint.
33
+ */
34
+ export declare function extractHmrOptions(config: {
35
+ server?: {
36
+ hmr?: {
37
+ protocol?: string;
38
+ host?: string;
39
+ port?: number;
40
+ path?: string;
41
+ } | boolean;
42
+ };
43
+ webSocketToken?: string;
44
+ }): DevErrorHmrOptions | undefined;
45
+ /**
46
+ * Generate a self-contained HTML error page for dev server 500 responses.
47
+ *
48
+ * The page includes:
49
+ * - Error message and phase label
50
+ * - Source code context around the first app frame (if readable)
51
+ * - Component stack (for React render errors)
52
+ * - Classified stack trace (app frames highlighted, internals collapsed)
53
+ * - Copy button for the full error
54
+ * - Dark/light mode via prefers-color-scheme
55
+ * - Auto-reconnect script that watches for Vite HMR and reloads
56
+ */
57
+ export declare function generateDevErrorPage(error: Error, phase: ErrorPhase, projectRoot: string, hmrOptions?: DevErrorHmrOptions): string;
58
+ //# sourceMappingURL=error-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-page.d.ts","sourceRoot":"","sources":["../../src/dev-tools/error-page.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAA6C,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AA+E1F;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAeD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,MAAM,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,OAAO,CAAA;KAAE,CAAC;IAChG,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,kBAAkB,GAAG,SAAS,CAkBjC;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,MAAM,EACnB,UAAU,CAAC,EAAE,kBAAkB,GAC9B,MAAM,CAoIR"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Dev holding server — serves a loading page while Vite initializes.
3
+ *
4
+ * When `timber dev` (or `vite dev`) starts, Vite takes several seconds
5
+ * to initialize all plugins, scan routes, and boot the RSC environment.
6
+ * During this window, the port is unbound and browsers get
7
+ * ERR_CONNECTION_REFUSED.
8
+ *
9
+ * This module creates a lightweight HTTP server that binds the port
10
+ * immediately and serves a branded holding page with auto-refresh.
11
+ * Once Vite is ready, the holding server is closed and Vite's server
12
+ * takes over the port.
13
+ *
14
+ * The holding server is started in rootSync's config() hook (the
15
+ * earliest Vite plugin lifecycle point where we know the port) and
16
+ * closed in timber-dev-server's configureServer() hook (the last
17
+ * plugin, right before Vite calls server.listen()).
18
+ *
19
+ * Browser requests (Accept: text/html) get the HTML holding page.
20
+ * API requests (Accept: application/json) get a 503 JSON response.
21
+ * All responses include Retry-After: 1.
22
+ *
23
+ * See design/21-dev-server.md, TIM-665.
24
+ */
25
+ export interface HoldingServer {
26
+ /**
27
+ * Start listening on the given port.
28
+ * Returns the actual bound port (useful when port is 0 for OS assignment).
29
+ */
30
+ listen(port: number): Promise<number>;
31
+ /** Gracefully close the server and stop accepting connections. */
32
+ close(): Promise<void>;
33
+ }
34
+ /**
35
+ * Create a holding HTTP server that serves a loading page during startup.
36
+ *
37
+ * Usage (inside Vite plugin):
38
+ * ```ts
39
+ * // In config() hook — earliest point where port is known.
40
+ * // Use bindWithBump() to honor the default-3000 + auto-bump policy
41
+ * // (see ../server/port-resolution.ts and TIM-842).
42
+ * const holding = createHoldingServer();
43
+ * await bindWithBump((p) => holding.listen(p), { startPort: 3000, autoBump: true });
44
+ *
45
+ * // In last plugin's configureServer() — wrap listen for seamless handoff
46
+ * const originalListen = server.listen.bind(server);
47
+ * server.listen = async (...args) => {
48
+ * await holding.close();
49
+ * return originalListen(...args);
50
+ * };
51
+ * ```
52
+ */
53
+ export declare function createHoldingServer(): HoldingServer;
54
+ //# sourceMappingURL=holding-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"holding-server.d.ts","sourceRoot":"","sources":["../../src/dev-tools/holding-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtC,kEAAkE;IAClE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AA8ED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAmDnD"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Dev tools barrel — re-exports all dev-only modules.
3
+ *
4
+ * Organized by concern, not by Vite plugin vs server module:
5
+ * - stack-classifier: frame classification for error display
6
+ * - overlay: Vite browser error overlay integration
7
+ * - error-page: self-contained HTML 500 page
8
+ * - 404-page: self-contained HTML 404 page
9
+ * - terminal: boxed terminal error output
10
+ * - logger: structured request tree logger
11
+ * - warnings: dev-mode footgun warnings
12
+ * - browser-logs: forward browser console to server
13
+ * - logs: forward server console to browser
14
+ * - holding-server: startup holding server
15
+ * - instrumentation: fetch tracing + OTEL span processor
16
+ *
17
+ * Dev-only: all modules in this subtree are only active during `vite dev`.
18
+ * They are never included in production builds.
19
+ */
20
+ export { classifyFrame, classifyStack, type FrameType, type ClassifiedFrame, } from './stack-classifier.js';
21
+ export { sendErrorToOverlay, fixErrorStacktrace, classifyErrorPhase, extractComponentStack, parseFirstAppFrame, calculateModuleRunnerOffset, formatRscDebugContext, formatTerminalError, PHASE_LABELS, type ErrorPhase, type RscDebugComponentInfo, } from './overlay.js';
22
+ export { generateDevErrorPage, extractHmrOptions, type DevErrorHmrOptions } from './error-page.js';
23
+ export { generateDev404Page, collectRoutes, findSimilarRoutes } from './404-page.js';
24
+ export { formatTerminalError as formatTerminalErrorDirect } from './terminal.js';
25
+ export { formatSpanTree, formatSpanSummary, formatJson, resolveLogMode, type DevLogMode, type DevLoggerConfig, } from './logger.js';
26
+ export { warnSuspenseWrappingChildren, warnDenyInSuspense, warnRedirectInSuspense, warnRedirectInAccess, warnStaticRequestApi, warnSlowSlotWithoutSuspense, setViteServer, WarningId, type DevWarningConfig, _resetWarnings, _getEmitted, } from './warnings.js';
27
+ export { timberDevBrowserLogs, type BrowserLogLevel, type DevBrowserLogsConfig, } from './browser-logs.js';
28
+ export { timberDevLogs } from './logs.js';
29
+ export { createHoldingServer, type HoldingServer } from './holding-server.js';
30
+ export { instrumentDevFetch, DevSpanProcessor, type DevFetchCleanup } from './instrumentation.js';
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dev-tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EACL,aAAa,EACb,aAAa,EACb,KAAK,SAAS,EACd,KAAK,eAAe,GACrB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,2BAA2B,EAC3B,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,qBAAqB,GAC3B,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGrF,OAAO,EAAE,mBAAmB,IAAI,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAGjF,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,KAAK,UAAU,EACf,KAAK,eAAe,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,aAAa,EACb,SAAS,EACT,KAAK,gBAAgB,EACrB,cAAc,EACd,WAAW,GACZ,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,oBAAoB,EACpB,KAAK,eAAe,EACpB,KAAK,oBAAoB,GAC1B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG1C,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAG9E,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,3 +1,28 @@
1
+ /**
2
+ * Dev-mode OTEL instrumentation — fetch tracing and span processing.
3
+ *
4
+ * Combines two concerns:
5
+ * 1. Fetch instrumentation: patches globalThis.fetch to create OTEL spans
6
+ * for every fetch call, giving visibility into async data fetching in
7
+ * the dev request log tree.
8
+ * 2. Span processing: collects completed spans per-request and drives
9
+ * dev log output when the root span ends.
10
+ *
11
+ * Only activated in dev mode — zero overhead in production.
12
+ *
13
+ * Design ref: 17-logging.md §"Dev Logging", 21-dev-server.md §"Dev Logging"
14
+ */
15
+ import type { SpanProcessor, ReadableSpan } from '@opentelemetry/sdk-trace-base';
16
+ import type { Span, Context } from '@opentelemetry/api';
17
+ import { type DevLoggerConfig } from './logger.js';
18
+ export type DevFetchCleanup = () => void;
19
+ /**
20
+ * Patch globalThis.fetch to wrap every call in an OTEL span.
21
+ *
22
+ * Returns a cleanup function that restores the original fetch.
23
+ * Only call this in dev mode.
24
+ */
25
+ export declare function instrumentDevFetch(): DevFetchCleanup;
1
26
  /**
2
27
  * DevSpanProcessor — Custom OTEL SpanProcessor that drives dev log output.
3
28
  *
@@ -9,12 +34,7 @@
9
34
  * This replaces the old DevLogEmitter/DevLogEvents system. OTEL spans are
10
35
  * now the single source of truth for dev logging — no more parallel event
11
36
  * systems that can drift.
12
- *
13
- * Design doc: 17-logging.md §"Dev Logging", 21-dev-server.md §"Dev Logging"
14
37
  */
15
- import type { SpanProcessor, ReadableSpan } from '@opentelemetry/sdk-trace-base';
16
- import type { Span, Context } from '@opentelemetry/api';
17
- import { type DevLoggerConfig } from './dev-logger.js';
18
38
  export declare class DevSpanProcessor implements SpanProcessor {
19
39
  private spansByTrace;
20
40
  private mode;
@@ -26,4 +46,4 @@ export declare class DevSpanProcessor implements SpanProcessor {
26
46
  shutdown(): Promise<void>;
27
47
  forceFlush(): Promise<void>;
28
48
  }
29
- //# sourceMappingURL=dev-span-processor.d.ts.map
49
+ //# sourceMappingURL=instrumentation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/dev-tools/instrumentation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAKL,KAAK,eAAe,EACrB,MAAM,aAAa,CAAC;AAIrB,MAAM,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC;AAEzC;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CA+CpD;AA4BD;;;;;;;;;;;GAWG;AACH,qBAAa,gBAAiB,YAAW,aAAa;IACpD,OAAO,CAAC,YAAY,CAAqC;IACzD,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,eAAe;IAKnC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAI7C,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAqB/B,OAAO,CAAC,MAAM;IAUR,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC"}
@@ -41,4 +41,4 @@ export declare function formatSpanSummary(spans: ReadableSpan[], _config?: DevLo
41
41
  * to jq or feeding into external trace analysis tools.
42
42
  */
43
43
  export declare function formatJson(spans: ReadableSpan[]): string;
44
- //# sourceMappingURL=dev-logger.d.ts.map
44
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/dev-tools/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAIlE,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3E,MAAM,WAAW,eAAe;IAC9B,qCAAqC;IACrC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAmMD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,UAAU,CAMnE;AAID;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,MAAM,CAgDtF;AAyGD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CAc1F;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,CA6BxD"}
@@ -12,7 +12,7 @@
12
12
  * Design docs: 18-build-system.md §"Dev Server", 02-rendering-pipeline.md
13
13
  */
14
14
  import type { Plugin } from 'vite';
15
- import type { PluginContext } from '#/index.js';
15
+ import type { PluginContext } from '../plugin-context.js';
16
16
  /** Log levels that are patched and forwarded. */
17
17
  export type ServerLogLevel = 'log' | 'warn' | 'error' | 'debug' | 'info';
18
18
  /** Payload sent over Vite's HMR WebSocket. */
@@ -43,4 +43,4 @@ export declare function isFrameworkInternalCaller(): boolean;
43
43
  * when the server closes. Only active during `vite dev`.
44
44
  */
45
45
  export declare function timberDevLogs(_ctx: PluginContext): Plugin;
46
- //# sourceMappingURL=dev-logs.d.ts.map
46
+ //# sourceMappingURL=logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/dev-tools/logs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI1D,iDAAiD;AACjD,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AAIzE,8CAA8C;AAC9C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,cAAc,CAAC;IACtB,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;CACnB;AA2ID;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CAsBnD;AAwDD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAiBzD"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Dev error overlay — formats and sends errors to Vite's browser overlay and stderr.
3
+ *
4
+ * Integrates with Vite's built-in error overlay (`server.hot.send`) rather
5
+ * than implementing a custom overlay.
6
+ *
7
+ * Stack trace source-mapping uses the correct Vite environment module graph:
8
+ * RSC errors use `server.environments.rsc.moduleGraph`, SSR/other errors use
9
+ * `server.environments.ssr.moduleGraph`. `server.ssrFixStacktrace()` is NOT
10
+ * used because it hardcodes the SSR module graph, which doesn't contain
11
+ * source maps for RSC modules (separate Vite environment with its own
12
+ * module graph). This caused RSC errors to show transpiled line numbers
13
+ * instead of original source positions.
14
+ *
15
+ * Design doc: 21-dev-server.md §"Error Overlay"
16
+ */
17
+ import type { ViteDevServer } from 'vite';
18
+ /** The phase of the pipeline where the error occurred. */
19
+ export type ErrorPhase = 'module-transform' | 'proxy' | 'middleware' | 'access' | 'render' | 'handler';
20
+ /** Labels for terminal output. */
21
+ export declare const PHASE_LABELS: Record<ErrorPhase, string>;
22
+ export { classifyFrame, classifyStack, type FrameType, type ClassifiedFrame, } from './stack-classifier.js';
23
+ /**
24
+ * Extract the React component stack from an error, if present.
25
+ * React attaches this as `componentStack` during renderToReadableStream errors.
26
+ */
27
+ export declare function extractComponentStack(error: unknown): string | null;
28
+ interface SourceLocation {
29
+ file: string;
30
+ line: number;
31
+ column: number;
32
+ }
33
+ /**
34
+ * Parse the first application frame from a stack trace.
35
+ * Returns file/line/column for the overlay's `loc` field.
36
+ */
37
+ export declare function parseFirstAppFrame(stack: string, projectRoot: string): SourceLocation | null;
38
+ /**
39
+ * Classify the error phase by inspecting the error's stack trace.
40
+ * Falls back to 'render' if no specific phase can be determined.
41
+ */
42
+ export declare function classifyErrorPhase(error: Error, projectRoot: string): ErrorPhase;
43
+ import { formatTerminalError as _formatTerminalError } from './terminal.js';
44
+ export declare const formatTerminalError: typeof _formatTerminalError;
45
+ /**
46
+ * Component info extracted from the RSC debug channel.
47
+ * Contains only names, environments, and stack frames — never source code.
48
+ */
49
+ export interface RscDebugComponentInfo {
50
+ name: string;
51
+ env: string | null;
52
+ stack: unknown[] | null;
53
+ }
54
+ /**
55
+ * Format RSC debug component info into a readable string for the overlay.
56
+ *
57
+ * Renders the server component tree that was active when an error occurred,
58
+ * including component names and source locations from stack frames. This
59
+ * gives developers visibility into which server components were rendering
60
+ * without exposing source code.
61
+ *
62
+ * Returns an empty string if no components are provided.
63
+ */
64
+ export declare function formatRscDebugContext(components: RscDebugComponentInfo[]): string;
65
+ export declare function calculateModuleRunnerOffset(): number;
66
+ /**
67
+ * Source-map an error's stack trace using the Vite dev server's module graph.
68
+ *
69
+ * Exported so that the fallback error renderer (fallback-error.ts) can
70
+ * source-map errors before rendering the dev error page. Without this,
71
+ * the dev error page shows transpiled positions (e.g. page.tsx:1:1 instead
72
+ * of page.tsx:4:9).
73
+ *
74
+ * See TIM-811.
75
+ */
76
+ export declare function fixErrorStacktrace(server: ViteDevServer, error: Error, phase?: ErrorPhase): void;
77
+ /**
78
+ * Send an error to Vite's browser overlay and log it to stderr.
79
+ *
80
+ * Uses `server.ssrFixStacktrace()` to map stack traces back to source,
81
+ * then sends the error via `server.hot.send()` for the browser overlay.
82
+ *
83
+ * When `rscDebugComponents` is provided (dev mode only), the server
84
+ * component tree context is appended to the error message. This helps
85
+ * developers identify which server component caused the error without
86
+ * exposing source code.
87
+ *
88
+ * The dev server remains running — errors are handled, not fatal.
89
+ */
90
+ export declare function sendErrorToOverlay(server: ViteDevServer, error: Error, phase: ErrorPhase, projectRoot: string, rscDebugComponents?: RscDebugComponentInfo[]): void;
91
+ //# sourceMappingURL=overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overlay.d.ts","sourceRoot":"","sources":["../../src/dev-tools/overlay.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,MAAM,CAAC;AAqC1D,0DAA0D;AAC1D,MAAM,MAAM,UAAU,GAClB,kBAAkB,GAClB,OAAO,GACP,YAAY,GACZ,QAAQ,GACR,QAAQ,GACR,SAAS,CAAC;AAEd,kCAAkC;AAClC,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAOnD,CAAC;AAIF,OAAO,EACL,aAAa,EACb,aAAa,EACb,KAAK,SAAS,EACd,KAAK,eAAe,GACrB,MAAM,uBAAuB,CAAC;AAI/B;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAUnE;AAID,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAqB5F;AAID;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,GAAG,UAAU,CAehF;AAOD,OAAO,EAAE,mBAAmB,IAAI,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC5E,eAAO,MAAM,mBAAmB,6BAAuB,CAAC;AAIxD;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAiCjF;AAkBD,wBAAgB,2BAA2B,IAAI,MAAM,CA6BpD;AAuHD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI,CAMhG;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,MAAM,EACnB,kBAAkB,CAAC,EAAE,qBAAqB,EAAE,GAC3C,IAAI,CA0CN"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Stack trace frame classifier — categorizes stack frames by origin.
3
+ *
4
+ * Provides `classifyFrame` (single frame) and `classifyStack` (full stack
5
+ * string) as the shared primitives used by the error page, terminal
6
+ * formatter, and overlay.
7
+ *
8
+ * Dev-only: this module is only imported by other dev-tools modules.
9
+ */
10
+ export type FrameType = 'app' | 'framework' | 'internal';
11
+ export interface ClassifiedFrame {
12
+ raw: string;
13
+ type: FrameType;
14
+ file?: string;
15
+ line?: number;
16
+ col?: number;
17
+ }
18
+ /**
19
+ * Classify a single stack frame line by origin.
20
+ *
21
+ * - 'app': user application code (in project root, not node_modules)
22
+ * - 'framework': timber-app internal code
23
+ * - 'internal': node_modules, Node.js internals
24
+ */
25
+ export declare function classifyFrame(frameLine: string, projectRoot: string): FrameType;
26
+ /**
27
+ * Classify all frames in a full stack trace string.
28
+ *
29
+ * Parses the stack, skips the first line (error message), filters to
30
+ * lines starting with "at ", and returns classified frames with optional
31
+ * file/line/col metadata.
32
+ */
33
+ export declare function classifyStack(stack: string, projectRoot: string): ClassifiedFrame[];
34
+ //# sourceMappingURL=stack-classifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack-classifier.d.ts","sourceRoot":"","sources":["../../src/dev-tools/stack-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,WAAW,GAAG,UAAU,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAmBD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,CAS/E;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,eAAe,EAAE,CAUnF"}