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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (672) hide show
  1. package/agent-skill.md +2 -0
  2. package/dist/_chunks/{actions-BjbbNRFN.js → actions-CWYtq6ii.js} +3 -3
  3. package/dist/_chunks/actions-CWYtq6ii.js.map +1 -0
  4. package/dist/_chunks/als-registry-C6kcfprT.js.map +1 -1
  5. package/dist/_chunks/als-slots-BEEIPKYm.js.map +1 -1
  6. package/dist/_chunks/{build-output-helper-C3DrfzZR.js → build-output-helper-9dqCv1pZ.js} +3 -2
  7. package/dist/_chunks/build-output-helper-9dqCv1pZ.js.map +1 -0
  8. package/dist/_chunks/{cache-api-DllJ-Lyw.js → cache-api-CQeYzA5g.js} +6 -8
  9. package/dist/_chunks/cache-api-CQeYzA5g.js.map +1 -0
  10. package/dist/_chunks/chains-h7EO-u3n.js +412 -0
  11. package/dist/_chunks/chains-h7EO-u3n.js.map +1 -0
  12. package/dist/_chunks/{cli-check-DJZDc22E.js → cli-check-BVthpfLS.js} +43 -6
  13. package/dist/_chunks/cli-check-BVthpfLS.js.map +1 -0
  14. package/dist/_chunks/{cli-schema-sync-D4_AZVUb.js → cli-schema-sync-ZwM9u_ob.js} +6 -5
  15. package/dist/_chunks/{cli-schema-sync-D4_AZVUb.js.map → cli-schema-sync-ZwM9u_ob.js.map} +1 -1
  16. package/dist/_chunks/{cloudflare-CGP6BZKO.js → cloudflare-BKJC3SC_.js} +28 -22
  17. package/dist/_chunks/{cloudflare-CGP6BZKO.js.map → cloudflare-BKJC3SC_.js.map} +1 -1
  18. package/dist/_chunks/codec-registry-oOUxugz3.js.map +1 -1
  19. package/dist/_chunks/{convention-lint-CpteIpTm.js → convention-lint-DO10_pVl.js} +93 -7
  20. package/dist/_chunks/convention-lint-DO10_pVl.js.map +1 -0
  21. package/dist/_chunks/dist-DtrJyBbw.js +386 -0
  22. package/dist/_chunks/dist-DtrJyBbw.js.map +1 -0
  23. package/dist/_chunks/error-boundary-D-ODYX41.js.map +1 -1
  24. package/dist/_chunks/{file-cache-DmX7OqZP.js → file-cache-Dw6BJPG7.js} +5 -1
  25. package/dist/_chunks/{file-cache-DmX7OqZP.js.map → file-cache-Dw6BJPG7.js.map} +1 -1
  26. package/dist/_chunks/{format-CfwjgPz9.js → format-BKclgVbk.js} +3 -3
  27. package/dist/_chunks/{format-CfwjgPz9.js.map → format-BKclgVbk.js.map} +1 -1
  28. package/dist/_chunks/graph-cache-CP4GEmf9.js +304 -0
  29. package/dist/_chunks/graph-cache-CP4GEmf9.js.map +1 -0
  30. package/dist/_chunks/href-validation-CMc5JRls.js.map +1 -1
  31. package/dist/_chunks/live-graph-Bx4HodF1.js +150 -0
  32. package/dist/_chunks/live-graph-Bx4HodF1.js.map +1 -0
  33. package/dist/_chunks/{logger-CH7IcMmg.js → logger-pumCm3Il.js} +25 -7
  34. package/dist/_chunks/{logger-CH7IcMmg.js.map → logger-pumCm3Il.js.map} +1 -1
  35. package/dist/_chunks/{mdx-file-C005ay-P.js → mdx-file-CXyHGUpS.js} +3 -3
  36. package/dist/_chunks/mdx-file-CXyHGUpS.js.map +1 -0
  37. package/dist/_chunks/{plugin-context-rCinWLiE.js → plugin-context-8idfR3UZ.js} +2 -2
  38. package/dist/_chunks/plugin-context-8idfR3UZ.js.map +1 -0
  39. package/dist/_chunks/poison-rules-DoEhbqaY.js +110 -0
  40. package/dist/_chunks/poison-rules-DoEhbqaY.js.map +1 -0
  41. package/dist/_chunks/poison-scan-BAxfTT5L.js +101 -0
  42. package/dist/_chunks/poison-scan-BAxfTT5L.js.map +1 -0
  43. package/dist/_chunks/resolve-schema-CBR6Lm4i.js.map +1 -1
  44. package/dist/_chunks/rolldown-runtime-D7D4PA-g.js +13 -0
  45. package/dist/_chunks/router-ref-DuYuV_0Q.js.map +1 -1
  46. package/dist/_chunks/{rsc-media-type-DRqE_lD_.js → rsc-media-type-DDc7duTD.js} +17 -2
  47. package/dist/_chunks/{rsc-media-type-DRqE_lD_.js.map → rsc-media-type-DDc7duTD.js.map} +1 -1
  48. package/dist/_chunks/scan-BoP17W3w.js +140 -0
  49. package/dist/_chunks/scan-BoP17W3w.js.map +1 -0
  50. package/dist/_chunks/{scanner-CAietmj4.js → scanner-BRIOmHE2.js} +43 -4
  51. package/dist/_chunks/scanner-BRIOmHE2.js.map +1 -0
  52. package/dist/_chunks/schema-bridge-C83xa9lT.js.map +1 -1
  53. package/dist/_chunks/segment-classify-C539Pa2O.js.map +1 -1
  54. package/dist/_chunks/{segment-keys-BawYuNFO.js → segment-keys-BhqoHiLc.js} +14 -2
  55. package/dist/_chunks/{segment-keys-BawYuNFO.js.map → segment-keys-BhqoHiLc.js.map} +1 -1
  56. package/dist/_chunks/slot-params-BCTmZkQB.js.map +1 -1
  57. package/dist/_chunks/ssr-data-14MXm7Pj.js.map +1 -1
  58. package/dist/_chunks/use-query-states-I3JMng6J.js.map +1 -1
  59. package/dist/_chunks/use-segment-params-C4r4BD9T.js.map +1 -1
  60. package/dist/_chunks/{walkers-BsVLmD1S.js → walkers-uCu3WW6_.js} +9 -6
  61. package/dist/_chunks/{walkers-BsVLmD1S.js.map → walkers-uCu3WW6_.js.map} +1 -1
  62. package/dist/adapters/build-output-helper.d.ts +1 -1
  63. package/dist/adapters/build-output-helper.d.ts.map +1 -1
  64. package/dist/adapters/cloudflare-dev.d.ts.map +1 -1
  65. package/dist/adapters/cloudflare-dev.js +2 -1
  66. package/dist/adapters/cloudflare-dev.js.map +1 -1
  67. package/dist/adapters/cloudflare-kv-cache.d.ts +1 -1
  68. package/dist/adapters/cloudflare-kv-cache.d.ts.map +1 -1
  69. package/dist/adapters/cloudflare-kv-cache.js +7 -8
  70. package/dist/adapters/cloudflare-kv-cache.js.map +1 -1
  71. package/dist/adapters/cloudflare.d.ts +1 -1
  72. package/dist/adapters/cloudflare.d.ts.map +1 -1
  73. package/dist/adapters/cloudflare.js +1 -1
  74. package/dist/adapters/nitro-presets.d.ts +37 -0
  75. package/dist/adapters/nitro-presets.d.ts.map +1 -0
  76. package/dist/adapters/nitro-preview.d.ts +32 -0
  77. package/dist/adapters/nitro-preview.d.ts.map +1 -0
  78. package/dist/adapters/nitro.d.ts +28 -51
  79. package/dist/adapters/nitro.d.ts.map +1 -1
  80. package/dist/adapters/nitro.js +224 -171
  81. package/dist/adapters/nitro.js.map +1 -1
  82. package/dist/analyze/chains.d.ts +124 -0
  83. package/dist/analyze/chains.d.ts.map +1 -0
  84. package/dist/analyze/classify.d.ts +150 -0
  85. package/dist/analyze/classify.d.ts.map +1 -0
  86. package/dist/analyze/crawl-entry.d.ts +17 -0
  87. package/dist/analyze/crawl-entry.d.ts.map +1 -0
  88. package/dist/analyze/crawl-entry.js +313 -0
  89. package/dist/analyze/crawl-entry.js.map +1 -0
  90. package/dist/analyze/crawl.d.ts +134 -0
  91. package/dist/analyze/crawl.d.ts.map +1 -0
  92. package/dist/analyze/graph-cache.d.ts +104 -0
  93. package/dist/analyze/graph-cache.d.ts.map +1 -0
  94. package/dist/analyze/graph-command.d.ts +43 -0
  95. package/dist/analyze/graph-command.d.ts.map +1 -0
  96. package/dist/analyze/graph-command.js +472 -0
  97. package/dist/analyze/graph-command.js.map +1 -0
  98. package/dist/analyze/live-graph.d.ts +81 -0
  99. package/dist/analyze/live-graph.d.ts.map +1 -0
  100. package/dist/analyze/poison-rules.d.ts +72 -0
  101. package/dist/analyze/poison-rules.d.ts.map +1 -0
  102. package/dist/analyze/poison-scan.d.ts +48 -0
  103. package/dist/analyze/poison-scan.d.ts.map +1 -0
  104. package/dist/analyze/scan.d.ts +73 -0
  105. package/dist/analyze/scan.d.ts.map +1 -0
  106. package/dist/cache/cache-api.d.ts +2 -2
  107. package/dist/cache/cache-api.d.ts.map +1 -1
  108. package/dist/cache/index.d.ts +8 -8
  109. package/dist/cache/index.d.ts.map +1 -1
  110. package/dist/cache/index.js +1 -1
  111. package/dist/cache/redis-handler.d.ts +1 -1
  112. package/dist/cache/redis-handler.d.ts.map +1 -1
  113. package/dist/cache/stores/cloudflare-kv.d.ts +1 -1
  114. package/dist/cache/stores/cloudflare-kv.d.ts.map +1 -1
  115. package/dist/cache/stores/cloudflare-kv.js.map +1 -1
  116. package/dist/cache/stores/memory.d.ts +1 -1
  117. package/dist/cache/stores/memory.d.ts.map +1 -1
  118. package/dist/cache/stores/memory.js.map +1 -1
  119. package/dist/cache/stores/redis.d.ts +1 -1
  120. package/dist/cache/stores/redis.d.ts.map +1 -1
  121. package/dist/cache/stores/redis.js.map +1 -1
  122. package/dist/cache/stores/vercel.d.ts +1 -1
  123. package/dist/cache/stores/vercel.d.ts.map +1 -1
  124. package/dist/cache/stores/vercel.js.map +1 -1
  125. package/dist/cache/tag-aware-handler.d.ts +2 -2
  126. package/dist/cache/tag-aware-handler.d.ts.map +1 -1
  127. package/dist/cache/timber-cache.d.ts +1 -1
  128. package/dist/cache/timber-cache.d.ts.map +1 -1
  129. package/dist/cdn/cloudflare-purge.d.ts +1 -1
  130. package/dist/cdn/cloudflare-purge.d.ts.map +1 -1
  131. package/dist/cdn/cloudflare-purge.js.map +1 -1
  132. package/dist/cdn/fastly-purge.d.ts +1 -1
  133. package/dist/cdn/fastly-purge.d.ts.map +1 -1
  134. package/dist/cdn/fastly-purge.js.map +1 -1
  135. package/dist/cdn/index.d.ts +4 -4
  136. package/dist/cdn/index.d.ts.map +1 -1
  137. package/dist/cdn/workers-cache-purge.d.ts +5 -1
  138. package/dist/cdn/workers-cache-purge.d.ts.map +1 -1
  139. package/dist/cdn/workers-cache-purge.js.map +1 -1
  140. package/dist/cli-check.d.ts +10 -0
  141. package/dist/cli-check.d.ts.map +1 -1
  142. package/dist/cli.d.ts +12 -4
  143. package/dist/cli.d.ts.map +1 -1
  144. package/dist/cli.js +30 -6
  145. package/dist/cli.js.map +1 -1
  146. package/dist/client/browser-entry/hydrate.d.ts +2 -2
  147. package/dist/client/browser-entry/hydrate.d.ts.map +1 -1
  148. package/dist/client/browser-entry/post-hydration.d.ts +2 -2
  149. package/dist/client/browser-entry/router-init.d.ts +2 -2
  150. package/dist/client/browser-entry/rsc-stream.d.ts +1 -1
  151. package/dist/client/form.d.ts +2 -2
  152. package/dist/client/form.d.ts.map +1 -1
  153. package/dist/client/history.d.ts +2 -2
  154. package/dist/client/index.d.ts +18 -18
  155. package/dist/client/index.d.ts.map +1 -1
  156. package/dist/client/index.js.map +1 -1
  157. package/dist/client/internal.d.ts +19 -19
  158. package/dist/client/internal.d.ts.map +1 -1
  159. package/dist/client/internal.js +11 -15
  160. package/dist/client/internal.js.map +1 -1
  161. package/dist/client/link.d.ts +3 -3
  162. package/dist/client/navigation-commit.d.ts +5 -5
  163. package/dist/client/navigation-root.d.ts +1 -1
  164. package/dist/client/navigation-root.d.ts.map +1 -1
  165. package/dist/client/params-context.d.ts +3 -3
  166. package/dist/client/router-pipeline.d.ts +7 -7
  167. package/dist/client/router-ref.d.ts +1 -1
  168. package/dist/client/router-types.d.ts +6 -6
  169. package/dist/client/router-types.d.ts.map +1 -1
  170. package/dist/client/router.d.ts +1 -1
  171. package/dist/client/rsc-fetch.d.ts +4 -4
  172. package/dist/client/rsc-fetch.d.ts.map +1 -1
  173. package/dist/client/segment-cache.d.ts +2 -2
  174. package/dist/client/slot-provider.d.ts +1 -1
  175. package/dist/client/ssr-data.d.ts +2 -2
  176. package/dist/client/state.d.ts +4 -4
  177. package/dist/client/use-query-states.d.ts +1 -1
  178. package/dist/client/use-segment-params.d.ts +3 -3
  179. package/dist/codec.d.ts +2 -2
  180. package/dist/codec.js.map +1 -1
  181. package/dist/config-types.d.ts +24 -6
  182. package/dist/config-types.d.ts.map +1 -1
  183. package/dist/config-validation.d.ts +1 -1
  184. package/dist/cookies/define-cookie.d.ts +3 -3
  185. package/dist/cookies/index.d.ts +3 -3
  186. package/dist/cookies/index.js +3 -4
  187. package/dist/cookies/index.js.map +1 -1
  188. package/dist/cookies/json-cookie.d.ts +1 -1
  189. package/dist/dev-tools/404-page.d.ts +2 -2
  190. package/dist/dev-tools/error-page.d.ts +2 -2
  191. package/dist/dev-tools/index.d.ts +12 -12
  192. package/dist/dev-tools/instrumentation.d.ts +1 -1
  193. package/dist/dev-tools/logs.d.ts +1 -1
  194. package/dist/dev-tools/overlay.d.ts +2 -2
  195. package/dist/dev-tools/terminal.d.ts +1 -1
  196. package/dist/fonts/ast.d.ts +4 -4
  197. package/dist/fonts/bundle.d.ts +3 -3
  198. package/dist/fonts/css.d.ts +1 -1
  199. package/dist/fonts/dev-middleware.d.ts +1 -1
  200. package/dist/fonts/google.d.ts +1 -1
  201. package/dist/fonts/local.d.ts +1 -1
  202. package/dist/fonts/pipeline.d.ts +3 -3
  203. package/dist/fonts/transform.d.ts +2 -2
  204. package/dist/fonts/types.d.ts +1 -1
  205. package/dist/fonts/virtual-modules.d.ts +1 -1
  206. package/dist/index.d.ts +3 -3
  207. package/dist/index.d.ts.map +1 -1
  208. package/dist/index.js +816 -310
  209. package/dist/index.js.map +1 -1
  210. package/dist/params/codec-registry.d.ts +1 -1
  211. package/dist/params/define-schema.d.ts +2 -2
  212. package/dist/params/index.d.ts +4 -4
  213. package/dist/params/index.js.map +1 -1
  214. package/dist/params/resolve-schema.d.ts +1 -1
  215. package/dist/plugin-context.d.ts +9 -9
  216. package/dist/plugin-context.d.ts.map +1 -1
  217. package/dist/plugins/adapter-build.d.ts +2 -2
  218. package/dist/plugins/build-manifest.d.ts +2 -2
  219. package/dist/plugins/build-report.d.ts +5 -5
  220. package/dist/plugins/cache.d.ts +1 -1
  221. package/dist/plugins/callsite-jsx.d.ts +2 -2
  222. package/dist/plugins/chunks.d.ts +1 -1
  223. package/dist/plugins/chunks.d.ts.map +1 -1
  224. package/dist/plugins/cloudflare-wasm.d.ts +1 -1
  225. package/dist/plugins/content.d.ts +1 -1
  226. package/dist/plugins/content.d.ts.map +1 -1
  227. package/dist/plugins/dev-discovery.d.ts +123 -0
  228. package/dist/plugins/dev-discovery.d.ts.map +1 -0
  229. package/dist/plugins/dev-server.d.ts +1 -1
  230. package/dist/plugins/dev-server.d.ts.map +1 -1
  231. package/dist/plugins/entries.d.ts +1 -1
  232. package/dist/plugins/fonts.d.ts +3 -3
  233. package/dist/plugins/fonts.d.ts.map +1 -1
  234. package/dist/plugins/graph-endpoint.d.ts +112 -0
  235. package/dist/plugins/graph-endpoint.d.ts.map +1 -0
  236. package/dist/plugins/mdx.d.ts +18 -5
  237. package/dist/plugins/mdx.d.ts.map +1 -1
  238. package/dist/plugins/prebuilt-capture.d.ts +2 -2
  239. package/dist/plugins/prebuilt-options-analysis.d.ts +1 -1
  240. package/dist/plugins/prebuilt.d.ts +1 -1
  241. package/dist/plugins/prerender-sugar.d.ts +11 -14
  242. package/dist/plugins/prerender-sugar.d.ts.map +1 -1
  243. package/dist/plugins/request-dep/analysis.d.ts +1 -1
  244. package/dist/plugins/request-dep/index.d.ts +5 -5
  245. package/dist/plugins/request-dep/origin.d.ts +1 -1
  246. package/dist/plugins/routing.d.ts +1 -1
  247. package/dist/plugins/routing.d.ts.map +1 -1
  248. package/dist/plugins/server-bundle.d.ts.map +1 -1
  249. package/dist/plugins/shims.d.ts +1 -1
  250. package/dist/plugins/shims.d.ts.map +1 -1
  251. package/dist/plugins/static-build.d.ts +5 -5
  252. package/dist/routing/codegen-shared.d.ts +1 -1
  253. package/dist/routing/codegen-write.d.ts +1 -1
  254. package/dist/routing/codegen.d.ts +1 -1
  255. package/dist/routing/collision-probe.d.ts +1 -1
  256. package/dist/routing/collision-spaces.d.ts +1 -1
  257. package/dist/routing/convention-lint.d.ts +1 -1
  258. package/dist/routing/convention-lint.d.ts.map +1 -1
  259. package/dist/routing/index.d.ts +13 -13
  260. package/dist/routing/index.js +3 -3
  261. package/dist/routing/interception.d.ts +1 -1
  262. package/dist/routing/interception.d.ts.map +1 -1
  263. package/dist/routing/link-codegen.d.ts +1 -1
  264. package/dist/routing/manifest-codegen.d.ts +1 -1
  265. package/dist/routing/scanner.d.ts +14 -1
  266. package/dist/routing/scanner.d.ts.map +1 -1
  267. package/dist/routing/schema-validation.d.ts +1 -1
  268. package/dist/routing/segment-classify.d.ts +1 -1
  269. package/dist/routing/segment-codegen.d.ts +1 -1
  270. package/dist/routing/segment-keys.d.ts +1 -1
  271. package/dist/routing/slot-placement.d.ts +1 -1
  272. package/dist/routing/walkers.d.ts +1 -1
  273. package/dist/rsc-runtime/transforms.d.ts +13 -0
  274. package/dist/rsc-runtime/transforms.d.ts.map +1 -0
  275. package/dist/schema-bridge.d.ts +1 -1
  276. package/dist/search-params/define.d.ts +3 -3
  277. package/dist/search-params/index.d.ts +3 -3
  278. package/dist/search-params/index.js.map +1 -1
  279. package/dist/search-params/wrappers.d.ts +1 -1
  280. package/dist/server/access-gate.d.ts +1 -1
  281. package/dist/server/action-client.d.ts +1 -1
  282. package/dist/server/action-handler.d.ts +5 -5
  283. package/dist/server/actions.d.ts +2 -2
  284. package/dist/server/als-registry.d.ts +8 -8
  285. package/dist/server/asset-headers.d.ts +1 -1
  286. package/dist/server/chain-url-parts.d.ts +3 -3
  287. package/dist/server/children-interception.d.ts +2 -2
  288. package/dist/server/cookie-context.d.ts +1 -1
  289. package/dist/server/cookie-parsing.d.ts +2 -2
  290. package/dist/server/default-logger.d.ts +1 -1
  291. package/dist/server/deny-boundary.d.ts +2 -2
  292. package/dist/server/deny-renderer.d.ts +5 -5
  293. package/dist/server/early-hints.d.ts +1 -1
  294. package/dist/server/error-boundary-wrapper.d.ts +2 -4
  295. package/dist/server/error-boundary-wrapper.d.ts.map +1 -1
  296. package/dist/server/fallback-error.d.ts +5 -5
  297. package/dist/server/flight-injection-state.d.ts +1 -1
  298. package/dist/server/form-flash.d.ts +1 -1
  299. package/dist/server/html-injector-core.d.ts +2 -2
  300. package/dist/server/html-injectors.d.ts +1 -1
  301. package/dist/server/index.d.ts +18 -18
  302. package/dist/server/index.d.ts.map +1 -1
  303. package/dist/server/index.js +33 -32
  304. package/dist/server/index.js.map +1 -1
  305. package/dist/server/instrumentation.d.ts +1 -1
  306. package/dist/server/internal.d.ts +50 -50
  307. package/dist/server/internal.d.ts.map +1 -1
  308. package/dist/server/internal.js +1023 -1025
  309. package/dist/server/internal.js.map +1 -1
  310. package/dist/server/metadata-collector.d.ts +2 -2
  311. package/dist/server/metadata-platform.d.ts +2 -2
  312. package/dist/server/metadata-render.d.ts +2 -2
  313. package/dist/server/metadata-routes.d.ts +3 -3
  314. package/dist/server/metadata-social.d.ts +2 -2
  315. package/dist/server/metadata.d.ts +2 -2
  316. package/dist/server/middleware-runner.d.ts +1 -1
  317. package/dist/server/node-stream-transforms.d.ts +1 -1
  318. package/dist/server/param-coercion.d.ts +4 -4
  319. package/dist/server/pipeline-helpers.d.ts +3 -3
  320. package/dist/server/pipeline-interception.d.ts +1 -1
  321. package/dist/server/pipeline-metadata.d.ts +1 -1
  322. package/dist/server/pipeline-outcome.d.ts +2 -2
  323. package/dist/server/pipeline-phases.d.ts +3 -3
  324. package/dist/server/pipeline-phases.d.ts.map +1 -1
  325. package/dist/server/pipeline.d.ts +9 -9
  326. package/dist/server/prebuilt/cache-key.d.ts +1 -1
  327. package/dist/server/prebuilt/capture-state.d.ts +1 -1
  328. package/dist/server/prebuilt/key-discipline.d.ts +1 -1
  329. package/dist/server/prebuilt/manifest-tag-index.d.ts +1 -1
  330. package/dist/server/prebuilt/overlay.d.ts +2 -2
  331. package/dist/server/prebuilt/payload-source.d.ts +1 -1
  332. package/dist/server/prebuilt/slots.d.ts +1 -1
  333. package/dist/server/prebuilt/synthetic-store.d.ts +2 -2
  334. package/dist/server/prebuilt-builder.d.ts +2 -2
  335. package/dist/server/primitives.d.ts +2 -2
  336. package/dist/server/publish-params.d.ts +1 -1
  337. package/dist/server/request-context.d.ts +3 -3
  338. package/dist/server/route-element-builder.d.ts +16 -6
  339. package/dist/server/route-element-builder.d.ts.map +1 -1
  340. package/dist/server/route-handler.d.ts +1 -1
  341. package/dist/server/route-matcher.d.ts +4 -4
  342. package/dist/server/rsc-cache-key-guard.d.ts.map +1 -1
  343. package/dist/server/rsc-entry/action-middleware-runner.d.ts +2 -2
  344. package/dist/server/rsc-entry/api-handler.d.ts +1 -1
  345. package/dist/server/rsc-entry/api-handler.d.ts.map +1 -1
  346. package/dist/server/rsc-entry/deny-fallback.d.ts +3 -3
  347. package/dist/server/rsc-entry/error-renderer.d.ts +4 -4
  348. package/dist/server/rsc-entry/helpers.d.ts +6 -6
  349. package/dist/server/rsc-entry/index.d.ts +7 -6
  350. package/dist/server/rsc-entry/index.d.ts.map +1 -1
  351. package/dist/server/rsc-entry/render-route.d.ts +4 -4
  352. package/dist/server/rsc-entry/revalidate-renderer.d.ts +4 -4
  353. package/dist/server/rsc-entry/rsc-payload.d.ts +4 -4
  354. package/dist/server/rsc-entry/rsc-payload.d.ts.map +1 -1
  355. package/dist/server/rsc-entry/rsc-stream.d.ts +3 -3
  356. package/dist/server/rsc-entry/ssr-bridge.d.ts +1 -1
  357. package/dist/server/rsc-entry/ssr-renderer.d.ts +7 -7
  358. package/dist/server/rsc-entry/wrap-action-dispatch.d.ts +5 -5
  359. package/dist/server/sitemap-generator.d.ts +2 -2
  360. package/dist/server/sitemap-handler.d.ts +1 -1
  361. package/dist/server/skippable-prefix.d.ts +3 -3
  362. package/dist/server/slot-interception.d.ts +2 -2
  363. package/dist/server/slot-resolver.d.ts +3 -7
  364. package/dist/server/slot-resolver.d.ts.map +1 -1
  365. package/dist/server/ssr-bridge-types.d.ts +2 -2
  366. package/dist/server/ssr-entry.d.ts +1 -1
  367. package/dist/server/static-generator.d.ts +1 -1
  368. package/dist/server/static-not-found.d.ts +1 -1
  369. package/dist/server/status-code-resolver.d.ts +1 -1
  370. package/dist/server/tracing.d.ts +3 -3
  371. package/dist/server/tree-builder.d.ts +3 -3
  372. package/dist/server/tree-match.d.ts +1 -1
  373. package/dist/server/types.d.ts +2 -2
  374. package/dist/server/utils/mdx-file.d.ts +2 -0
  375. package/dist/server/utils/mdx-file.d.ts.map +1 -1
  376. package/dist/server/workers-cache-bridge.d.ts +1 -1
  377. package/dist/shared/als-slots.d.ts +1 -1
  378. package/dist/shared/payload-root.d.ts +2 -2
  379. package/dist/shared/rsc-media-type.d.ts +12 -0
  380. package/dist/shared/rsc-media-type.d.ts.map +1 -1
  381. package/dist/shared/slot-params.d.ts +1 -1
  382. package/dist/shims/font-google.d.ts +1 -1
  383. package/dist/shims/font-google.js.map +1 -1
  384. package/dist/shims/font-local.d.ts +1 -1
  385. package/dist/shims/font-local.js.map +1 -1
  386. package/dist/shims/navigation-client.d.ts +4 -4
  387. package/dist/shims/navigation.d.ts +2 -2
  388. package/docs/api/34-api-config.mdx +9 -8
  389. package/docs/api/36-cli.mdx +23 -3
  390. package/docs/learn/11-error-handling.mdx +11 -0
  391. package/docs/more/01-advanced-routing.mdx +1 -0
  392. package/docs/more/04b-mdx.mdx +38 -18
  393. package/package.json +23 -18
  394. package/src/adapters/build-output-helper.ts +4 -4
  395. package/src/adapters/cloudflare-dev.ts +7 -1
  396. package/src/adapters/cloudflare-kv-cache.ts +11 -8
  397. package/src/adapters/cloudflare.ts +21 -15
  398. package/src/adapters/compress-module.ts +2 -2
  399. package/src/adapters/nitro-presets.ts +139 -0
  400. package/src/adapters/nitro-preview.ts +340 -0
  401. package/src/adapters/nitro.ts +100 -465
  402. package/src/adapters/shared.ts +1 -1
  403. package/src/analyze/chains.ts +411 -0
  404. package/src/analyze/classify.ts +258 -0
  405. package/src/analyze/crawl-entry.ts +68 -0
  406. package/src/analyze/crawl.ts +500 -0
  407. package/src/analyze/graph-cache.ts +332 -0
  408. package/src/analyze/graph-command.ts +762 -0
  409. package/src/analyze/live-graph.ts +232 -0
  410. package/src/analyze/poison-rules.ts +165 -0
  411. package/src/analyze/poison-scan.ts +162 -0
  412. package/src/analyze/scan.ts +149 -0
  413. package/src/cache/cache-api.ts +7 -7
  414. package/src/cache/index.ts +9 -9
  415. package/src/cache/redis-handler.ts +2 -2
  416. package/src/cache/stores/cloudflare-kv.ts +1 -1
  417. package/src/cache/stores/memory.ts +2 -2
  418. package/src/cache/stores/redis.ts +1 -1
  419. package/src/cache/stores/vercel.ts +1 -1
  420. package/src/cache/tag-aware-handler.ts +2 -2
  421. package/src/cache/timber-cache.ts +8 -8
  422. package/src/cdn/cloudflare-purge.ts +1 -1
  423. package/src/cdn/fastly-purge.ts +1 -1
  424. package/src/cdn/index.ts +10 -4
  425. package/src/cdn/workers-cache-purge.ts +6 -2
  426. package/src/cli-check.ts +53 -4
  427. package/src/cli-schema-sync.ts +3 -3
  428. package/src/cli.ts +50 -11
  429. package/src/client/browser-dev.ts +1 -1
  430. package/src/client/browser-entry/action-dispatch.ts +5 -5
  431. package/src/client/browser-entry/hmr.ts +1 -1
  432. package/src/client/browser-entry/hydrate.ts +9 -9
  433. package/src/client/browser-entry/index.ts +10 -10
  434. package/src/client/browser-entry/post-hydration.ts +5 -5
  435. package/src/client/browser-entry/router-init.ts +9 -9
  436. package/src/client/browser-entry/rsc-stream.ts +3 -3
  437. package/src/client/error-boundary.tsx +4 -4
  438. package/src/client/form.tsx +7 -2
  439. package/src/client/history.ts +2 -2
  440. package/src/client/index.ts +21 -18
  441. package/src/client/internal.ts +19 -19
  442. package/src/client/link.tsx +9 -9
  443. package/src/client/navigation-api.ts +1 -1
  444. package/src/client/navigation-commit.ts +5 -5
  445. package/src/client/navigation-context.ts +1 -1
  446. package/src/client/navigation-root.tsx +1 -1
  447. package/src/client/nuqs-adapter.tsx +2 -2
  448. package/src/client/params-context.ts +4 -4
  449. package/src/client/router-effects.ts +3 -3
  450. package/src/client/router-lifecycle.ts +2 -2
  451. package/src/client/router-pipeline.ts +10 -10
  452. package/src/client/router-ref.ts +2 -2
  453. package/src/client/router-skew.ts +2 -2
  454. package/src/client/router-types.ts +6 -6
  455. package/src/client/router.ts +13 -13
  456. package/src/client/rsc-fetch.ts +11 -16
  457. package/src/client/segment-cache.ts +2 -2
  458. package/src/client/segment-outlet.tsx +1 -1
  459. package/src/client/shallow-url.ts +1 -1
  460. package/src/client/slot-outlet.tsx +1 -1
  461. package/src/client/slot-provider.tsx +1 -1
  462. package/src/client/ssr-data.ts +3 -3
  463. package/src/client/stale-client.ts +1 -1
  464. package/src/client/state.ts +4 -4
  465. package/src/client/top-loader.tsx +1 -1
  466. package/src/client/unload-guard.ts +1 -1
  467. package/src/client/use-cookie.ts +2 -2
  468. package/src/client/use-pathname.ts +2 -2
  469. package/src/client/use-pending-navigation.ts +1 -1
  470. package/src/client/use-query-states.ts +3 -3
  471. package/src/client/use-router.ts +2 -2
  472. package/src/client/use-search-params.ts +3 -3
  473. package/src/client/use-segment-params.ts +6 -6
  474. package/src/client/use-selected-layout-segment.ts +2 -2
  475. package/src/codec.ts +2 -2
  476. package/src/config-types.ts +27 -7
  477. package/src/config-validation.ts +1 -1
  478. package/src/cookies/define-cookie.ts +6 -6
  479. package/src/cookies/index.ts +3 -3
  480. package/src/cookies/json-cookie.ts +1 -1
  481. package/src/dev-tools/404-page.ts +4 -4
  482. package/src/dev-tools/dev-page-shell.ts +1 -1
  483. package/src/dev-tools/error-page.ts +4 -4
  484. package/src/dev-tools/index.ts +12 -12
  485. package/src/dev-tools/instrumentation.ts +1 -1
  486. package/src/dev-tools/logs.ts +1 -1
  487. package/src/dev-tools/overlay.ts +3 -3
  488. package/src/dev-tools/terminal.ts +2 -2
  489. package/src/fonts/ast.ts +5 -5
  490. package/src/fonts/bundle.ts +5 -5
  491. package/src/fonts/css.ts +1 -1
  492. package/src/fonts/dev-middleware.ts +2 -2
  493. package/src/fonts/google.ts +2 -2
  494. package/src/fonts/local.ts +4 -4
  495. package/src/fonts/pipeline.ts +8 -8
  496. package/src/fonts/transform.ts +5 -5
  497. package/src/fonts/types.ts +1 -1
  498. package/src/fonts/virtual-modules.ts +1 -1
  499. package/src/index.ts +46 -37
  500. package/src/params/codec-registry.ts +1 -1
  501. package/src/params/define-schema.ts +2 -2
  502. package/src/params/index.ts +4 -4
  503. package/src/params/resolve-schema.ts +2 -2
  504. package/src/plugin-context.ts +10 -10
  505. package/src/plugins/adapter-build.ts +5 -5
  506. package/src/plugins/build-manifest.ts +4 -4
  507. package/src/plugins/build-report.ts +6 -6
  508. package/src/plugins/cache.ts +3 -3
  509. package/src/plugins/callsite-ast.ts +1 -1
  510. package/src/plugins/callsite-jsx.ts +2 -2
  511. package/src/plugins/chunks.ts +1 -1
  512. package/src/plugins/cloudflare-wasm.ts +1 -1
  513. package/src/plugins/content.ts +5 -1
  514. package/src/plugins/dev-discovery.ts +218 -0
  515. package/src/plugins/dev-server.ts +97 -12
  516. package/src/plugins/entries.ts +1 -1
  517. package/src/plugins/fonts.ts +17 -10
  518. package/src/plugins/graph-endpoint.ts +532 -0
  519. package/src/plugins/mdx.ts +73 -38
  520. package/src/plugins/prebuilt-capture.ts +3 -3
  521. package/src/plugins/prebuilt-options-analysis.ts +1 -1
  522. package/src/plugins/prebuilt.ts +7 -7
  523. package/src/plugins/prerender-sugar.ts +11 -19
  524. package/src/plugins/request-dep/analysis.ts +1 -1
  525. package/src/plugins/request-dep/index.ts +8 -8
  526. package/src/plugins/request-dep/origin.ts +1 -1
  527. package/src/plugins/routing.ts +12 -7
  528. package/src/plugins/server-bundle.ts +11 -3
  529. package/src/plugins/shims.ts +16 -31
  530. package/src/plugins/static-build.ts +10 -10
  531. package/src/routing/codegen-shared.ts +1 -1
  532. package/src/routing/codegen-write.ts +3 -3
  533. package/src/routing/codegen.ts +14 -5
  534. package/src/routing/collision-probe.ts +3 -3
  535. package/src/routing/collision-spaces.ts +3 -3
  536. package/src/routing/convention-lint.ts +136 -6
  537. package/src/routing/export-detect.ts +1 -1
  538. package/src/routing/index.ts +13 -13
  539. package/src/routing/interception.ts +41 -4
  540. package/src/routing/link-codegen.ts +3 -3
  541. package/src/routing/manifest-codegen.ts +2 -2
  542. package/src/routing/scanner.ts +33 -9
  543. package/src/routing/schema-validation.ts +4 -4
  544. package/src/routing/segment-classify.ts +2 -2
  545. package/src/routing/segment-codegen.ts +1 -1
  546. package/src/routing/segment-keys.ts +1 -1
  547. package/src/routing/slot-placement.ts +1 -1
  548. package/src/routing/walkers.ts +1 -1
  549. package/src/rsc-runtime/transforms.ts +13 -0
  550. package/src/rsc-runtime/vendor-types.d.ts +12 -0
  551. package/src/schema-bridge.ts +1 -1
  552. package/src/search-params/define.ts +8 -8
  553. package/src/search-params/index.ts +3 -3
  554. package/src/search-params/wrappers.ts +3 -3
  555. package/src/server/access-gate.tsx +6 -6
  556. package/src/server/action-client.ts +5 -5
  557. package/src/server/action-handler.ts +16 -16
  558. package/src/server/actions.ts +5 -5
  559. package/src/server/als-registry.ts +8 -8
  560. package/src/server/asset-headers.ts +2 -2
  561. package/src/server/chain-url-parts.ts +5 -5
  562. package/src/server/children-interception.ts +4 -4
  563. package/src/server/compress.ts +1 -1
  564. package/src/server/cookie-context.ts +4 -4
  565. package/src/server/cookie-parsing.ts +2 -2
  566. package/src/server/default-logger.ts +3 -3
  567. package/src/server/deny-boundary.ts +10 -10
  568. package/src/server/deny-renderer.ts +38 -25
  569. package/src/server/early-hints-sender.ts +2 -2
  570. package/src/server/early-hints.ts +2 -2
  571. package/src/server/error-boundary-wrapper.ts +4 -12
  572. package/src/server/fallback-error.ts +13 -13
  573. package/src/server/flight-injection-state.ts +1 -1
  574. package/src/server/form-flash.ts +2 -2
  575. package/src/server/html-injector-core.ts +4 -4
  576. package/src/server/html-injectors.ts +5 -5
  577. package/src/server/index.ts +18 -18
  578. package/src/server/instrumentation.ts +1 -1
  579. package/src/server/internal.ts +50 -50
  580. package/src/server/logger.ts +4 -4
  581. package/src/server/metadata-collector.ts +7 -7
  582. package/src/server/metadata-platform.ts +2 -2
  583. package/src/server/metadata-render.ts +4 -4
  584. package/src/server/metadata-routes.ts +3 -3
  585. package/src/server/metadata-social.ts +2 -2
  586. package/src/server/metadata.ts +2 -2
  587. package/src/server/middleware-runner.ts +1 -1
  588. package/src/server/node-stream-transforms.ts +4 -4
  589. package/src/server/param-coercion.ts +8 -8
  590. package/src/server/pipeline-helpers.ts +7 -7
  591. package/src/server/pipeline-interception.ts +2 -2
  592. package/src/server/pipeline-metadata.ts +1 -1
  593. package/src/server/pipeline-outcome.ts +8 -8
  594. package/src/server/pipeline-phases.ts +24 -28
  595. package/src/server/pipeline.ts +22 -22
  596. package/src/server/prebuilt/cache-key.ts +1 -1
  597. package/src/server/prebuilt/capture-state.ts +1 -1
  598. package/src/server/prebuilt/key-discipline.ts +1 -1
  599. package/src/server/prebuilt/manifest-tag-index.ts +1 -1
  600. package/src/server/prebuilt/overlay.ts +6 -6
  601. package/src/server/prebuilt/payload-source.ts +2 -2
  602. package/src/server/prebuilt/slots.ts +5 -5
  603. package/src/server/prebuilt/synthetic-store.ts +2 -2
  604. package/src/server/prebuilt-builder.ts +16 -16
  605. package/src/server/prebuilt-runtime.ts +12 -12
  606. package/src/server/primitives.ts +7 -7
  607. package/src/server/publish-params.ts +3 -3
  608. package/src/server/request-context.ts +7 -7
  609. package/src/server/route-element-builder.ts +108 -50
  610. package/src/server/route-handler.ts +4 -4
  611. package/src/server/route-matcher.ts +5 -5
  612. package/src/server/rsc-cache-key-guard.ts +3 -5
  613. package/src/server/rsc-entry/action-middleware-runner.ts +7 -7
  614. package/src/server/rsc-entry/api-handler.ts +18 -9
  615. package/src/server/rsc-entry/deny-fallback.ts +10 -10
  616. package/src/server/rsc-entry/error-renderer.ts +27 -27
  617. package/src/server/rsc-entry/helpers.ts +10 -10
  618. package/src/server/rsc-entry/index.ts +51 -47
  619. package/src/server/rsc-entry/render-route.ts +20 -20
  620. package/src/server/rsc-entry/revalidate-renderer.ts +12 -12
  621. package/src/server/rsc-entry/rsc-payload.ts +19 -15
  622. package/src/server/rsc-entry/rsc-stream.ts +8 -8
  623. package/src/server/rsc-entry/ssr-bridge.ts +3 -3
  624. package/src/server/rsc-entry/ssr-renderer.ts +23 -23
  625. package/src/server/rsc-entry/wrap-action-dispatch.ts +9 -9
  626. package/src/server/rsc-prop-warnings.ts +1 -1
  627. package/src/server/sensitive-fields.ts +1 -1
  628. package/src/server/server-timing.ts +1 -1
  629. package/src/server/sitemap-generator.ts +3 -3
  630. package/src/server/sitemap-handler.ts +3 -3
  631. package/src/server/skippable-prefix.ts +7 -7
  632. package/src/server/slot-interception.ts +5 -5
  633. package/src/server/slot-resolver.ts +20 -28
  634. package/src/server/ssr-bridge-types.ts +2 -2
  635. package/src/server/ssr-entry.ts +18 -18
  636. package/src/server/ssr-render.ts +4 -4
  637. package/src/server/ssr-wrappers.tsx +1 -1
  638. package/src/server/state-tree-diff.ts +1 -1
  639. package/src/server/static-generator.ts +6 -6
  640. package/src/server/static-not-found.ts +3 -3
  641. package/src/server/status-code-resolver.ts +1 -1
  642. package/src/server/tracing.ts +5 -5
  643. package/src/server/tree-builder.ts +4 -4
  644. package/src/server/tree-match.ts +1 -1
  645. package/src/server/types.ts +2 -2
  646. package/src/server/utils/mdx-file.ts +2 -2
  647. package/src/server/waituntil-bridge.ts +1 -1
  648. package/src/server/workers-cache-bridge.ts +2 -2
  649. package/src/shared/als-slots.ts +1 -1
  650. package/src/shared/payload-root.ts +2 -2
  651. package/src/shared/rsc-media-type.ts +16 -0
  652. package/src/shared/slot-params.ts +1 -1
  653. package/src/shims/font-google.ts +1 -1
  654. package/src/shims/font-local.ts +1 -1
  655. package/src/shims/navigation-client.ts +5 -5
  656. package/src/shims/navigation.ts +2 -2
  657. package/LICENSE +0 -8
  658. package/dist/_chunks/actions-BjbbNRFN.js.map +0 -1
  659. package/dist/_chunks/build-output-helper-C3DrfzZR.js.map +0 -1
  660. package/dist/_chunks/cache-api-DllJ-Lyw.js.map +0 -1
  661. package/dist/_chunks/cli-check-DJZDc22E.js.map +0 -1
  662. package/dist/_chunks/convention-lint-CpteIpTm.js.map +0 -1
  663. package/dist/_chunks/dist-BA3u1z3W.js +0 -423
  664. package/dist/_chunks/dist-BA3u1z3W.js.map +0 -1
  665. package/dist/_chunks/mdx-file-C005ay-P.js.map +0 -1
  666. package/dist/_chunks/plugin-context-rCinWLiE.js.map +0 -1
  667. package/dist/_chunks/scanner-CAietmj4.js.map +0 -1
  668. package/dist/content/index.d.ts +0 -2
  669. package/dist/content/index.d.ts.map +0 -1
  670. package/dist/content/index.js +0 -0
  671. package/src/content/index.ts +0 -5
  672. package/src/shims/server-only-noop.js +0 -6
@@ -10,16 +10,16 @@
10
10
  * Design docs: 04-authorization.md, 10-error-handling.md
11
11
  */
12
12
 
13
- import type { LayoutEntry } from '../deny-renderer.js';
14
- import { renderDenyPage, renderDenyPageAsRsc } from '../deny-renderer.js';
15
- import type { ClientBootstrapConfig } from '../html-injectors.js';
16
- import { logRenderError } from '../logger.js';
17
- import type { PipelineConfig, RouteMatch } from '../pipeline.js';
18
- import type { ManifestSegmentNode } from '../route-matcher.js';
19
- import { loadModule } from '../safe-load.js';
20
- import { createDebugChannelSink } from './helpers.js';
21
- import { isRscRequest } from '../../shared/rsc-media-type.js';
22
- import { callSsr } from './ssr-bridge.js';
13
+ import type { LayoutEntry } from '../deny-renderer.ts';
14
+ import { renderDenyPage, renderDenyPageAsRsc } from '../deny-renderer.ts';
15
+ import type { ClientBootstrapConfig } from '../html-injectors.ts';
16
+ import { logRenderError } from '../logger.ts';
17
+ import type { PipelineConfig, RouteMatch } from '../pipeline.ts';
18
+ import type { ManifestSegmentNode } from '../route-matcher.ts';
19
+ import { loadModule } from '../safe-load.ts';
20
+ import { createDebugChannelSink } from './helpers.ts';
21
+ import { isRscRequest } from '../../shared/rsc-media-type.ts';
22
+ import { callSsr } from './ssr-bridge.ts';
23
23
 
24
24
  /**
25
25
  * Create the pipeline's deny fallback renderer.
@@ -13,33 +13,33 @@
13
13
  */
14
14
 
15
15
  import { createElement } from 'react';
16
- import { renderToReadableStream } from '../../rsc-runtime/rsc.js';
17
-
18
- import type { RouteMatch } from '../pipeline.js';
19
- import { logRenderError } from '../logger.js';
20
- import { appVisibleSearch } from '../../shared/rsc-cache-key.js';
21
- import { getSlotParamsForClient } from '../request-context.js';
22
- import type { ManifestSegmentNode } from '../route-matcher.js';
23
- import { DenySignal, RenderError } from '../primitives.js';
24
- import type { ClientBootstrapConfig } from '../html-injectors.js';
25
- import { flightInitScript, htmlEscapeJsonString } from '../flight-scripts.js';
26
- import { renderDenyPage, renderDenyPageAsRsc } from '../deny-renderer.js';
27
- import type { DefaultPageRenderer, LayoutEntry } from '../deny-renderer.js';
28
- import type { NavContext } from '../ssr-bridge-types.js';
29
- import { createDebugChannelSink } from './helpers.js';
30
- import { isRscRequest } from '../../shared/rsc-media-type.js';
31
- import { withPublishedParams } from '../publish-params.js';
32
- import { getCookiesForSsr } from '../cookie-context.js';
33
- import { callSsr } from './ssr-bridge.js';
34
- import { teeWithErrorPropagation } from '../stream-utils.js';
35
- import { isDevMode } from '../debug.js';
36
- import { ErrorReconstituter } from '../../client/error-reconstituter.js';
37
- import type { SerializableError } from '../../client/error-reconstituter.js';
38
- import { loadModule } from '../safe-load.js';
39
- import { sourceMapError } from '../dev-source-map.js';
40
- import { isMdxFilePath as isMdxFile } from '../utils/mdx-file.js';
41
- import { defaultStatusPageResponse } from '../default-status-page.js';
42
- import { rscErrorEnvelope } from '../../shared/rsc-error-envelope.js';
16
+ import { renderToReadableStream } from '../../rsc-runtime/rsc.ts';
17
+
18
+ import type { RouteMatch } from '../pipeline.ts';
19
+ import { logRenderError } from '../logger.ts';
20
+ import { appVisibleSearch } from '../../shared/rsc-cache-key.ts';
21
+ import { getSlotParamsForClient } from '../request-context.ts';
22
+ import type { ManifestSegmentNode } from '../route-matcher.ts';
23
+ import { DenySignal, RenderError } from '../primitives.ts';
24
+ import type { ClientBootstrapConfig } from '../html-injectors.ts';
25
+ import { flightInitScript, htmlEscapeJsonString } from '../flight-scripts.ts';
26
+ import { renderDenyPage, renderDenyPageAsRsc } from '../deny-renderer.ts';
27
+ import type { DefaultPageRenderer, LayoutEntry } from '../deny-renderer.ts';
28
+ import type { NavContext } from '../ssr-bridge-types.ts';
29
+ import { createDebugChannelSink } from './helpers.ts';
30
+ import { isRscRequest } from '../../shared/rsc-media-type.ts';
31
+ import { withPublishedParams } from '../publish-params.ts';
32
+ import { getCookiesForSsr } from '../cookie-context.ts';
33
+ import { callSsr } from './ssr-bridge.ts';
34
+ import { teeWithErrorPropagation } from '../stream-utils.ts';
35
+ import { isDevMode } from '../debug.ts';
36
+ import { ErrorReconstituter } from '../../client/error-reconstituter.tsx';
37
+ import type { SerializableError } from '../../client/error-reconstituter.tsx';
38
+ import { loadModule } from '../safe-load.ts';
39
+ import { sourceMapError } from '../dev-source-map.ts';
40
+ import { isMdxFilePath as isMdxFile } from '../utils/mdx-file.ts';
41
+ import { defaultStatusPageResponse } from '../default-status-page.ts';
42
+ import { rscErrorEnvelope } from '../../shared/rsc-error-envelope.ts';
43
43
 
44
44
  /**
45
45
  * A manifest file reference with lazy import and path.
@@ -4,13 +4,13 @@
4
4
  * Small, stateless functions used across the RSC entry modules.
5
5
  */
6
6
 
7
- import type { ManifestSegmentNode } from '../route-matcher.js';
8
- import { swallow } from '../logger.js';
9
- import { computeSegmentKeys, computeSegmentTreePaths } from '../../routing/segment-keys.js';
10
- import type { SegmentInfo } from '../../shared/segment-info.js';
11
- import type { SlotSkipEntry } from '../slot-resolver.js';
12
- import { isClientReference } from '../route-element-builder.js';
13
- import { isStaticRequestDependent } from '../request-dep.js';
7
+ import type { ManifestSegmentNode } from '../route-matcher.ts';
8
+ import { swallow } from '../logger.ts';
9
+ import { computeSegmentKeys, computeSegmentTreePaths } from '../../routing/segment-keys.ts';
10
+ import type { SegmentInfo } from '../../shared/segment-info.ts';
11
+ import type { SlotSkipEntry } from '../slot-resolver.ts';
12
+ import { isClientReference } from '../route-element-builder.ts';
13
+ import { isStaticRequestDependent } from '../request-dep.ts';
14
14
 
15
15
  /**
16
16
  * Create a debug channel sink that discards all debug data.
@@ -263,11 +263,11 @@ export function buildSegmentInfo(
263
263
  // Callers within rsc-entry/ import from this file; the implementations
264
264
  // live in pipeline-helpers.ts (buildRedirectResponse) and render-utils.ts
265
265
  // (isAbortError). See TIM-1071 item 1.
266
- export { buildRedirectResponse } from '../pipeline-helpers.js';
267
- export { isAbortError } from '../render-utils.js';
266
+ export { buildRedirectResponse } from '../pipeline-helpers.ts';
267
+ export { isAbortError } from '../render-utils.ts';
268
268
 
269
269
  // escapeHtml is now imported from server/utils/escape-html.ts
270
- export { escapeHtml } from '../utils/escape-html.js';
270
+ export { escapeHtml } from '../utils/escape-html.ts';
271
271
 
272
272
  // Params no longer travel beside the payload. The payload root is the
273
273
  // outermost node of every tree the server sends (`server/publish-params.ts`),
@@ -38,34 +38,34 @@ import { loadCdnPurgeHandler } from 'virtual:timber-cache-handler';
38
38
  // @ts-expect-error — virtual module provided by timber-routing plugin
39
39
  import globalSchemaCodecs from 'virtual:timber-schema';
40
40
 
41
- import { wrapPipelineWithActionDispatch, buildActionDispatcher } from './wrap-action-dispatch.js';
42
- import type { BodyLimitsConfig } from '../body-limits.js';
43
- import type { BuildManifest } from '../build-manifest.js';
44
- import { resolveLogMode } from '../../dev-tools/logger.js';
45
- import { sendEarlyHints103 } from '../early-hints-sender.js';
46
- import { collectEarlyHintHeaders } from '../early-hints.js';
47
- import { buildClientScripts } from '../html-injectors.js';
48
- import type { InterceptionContext, PipelineConfig, RouteMatch } from '../pipeline.js';
49
- import { createPipeline } from '../pipeline.js';
50
- import { coerceSegmentParams, setGlobalSchemaCodecs } from '../param-coercion.js';
51
- import { createMetadataRouteMatcher, createRouteMatcher } from '../route-matcher.js';
52
- import { createInterceptedRouteMatcher } from '../children-interception.js';
53
- import { initDevTracing } from '../tracing.js';
54
- import { createRevalidateRendererFactory } from './revalidate-renderer.js';
55
-
56
- import { renderFallbackError as renderFallback } from '../fallback-error.js';
57
- import { loadInstrumentation } from '../instrumentation.js';
58
- import { createDenyFallbackRenderer } from './deny-fallback.js';
59
- import { renderNoMatchPage } from './error-renderer.js';
60
- import { renderRoute } from './render-route.js';
61
- import { isDebug, isDevMode, setDebugFromConfig } from '../debug.js';
62
- import { setSourceMapCallback } from '../dev-source-map.js';
63
- import { requestContextAls } from '../als-registry.js';
64
- import { capturePrebuiltPayloads } from '../prebuilt-builder.js';
65
- import { setPrebuiltPayloadSource } from '../prebuilt/payload-source.js';
66
- import { setRscFunctions, setComponentRefreshTimeout } from '../prebuilt-runtime.js';
67
- import { createAutoSitemapHandler } from '../sitemap-handler.js';
68
- import { generateStaticSite } from '../static-generator.js';
41
+ import { wrapPipelineWithActionDispatch, buildActionDispatcher } from './wrap-action-dispatch.ts';
42
+ import type { BodyLimitsConfig } from '../body-limits.ts';
43
+ import type { BuildManifest } from '../build-manifest.ts';
44
+ import { resolveLogMode } from '../../dev-tools/logger.ts';
45
+ import { sendEarlyHints103 } from '../early-hints-sender.ts';
46
+ import { collectEarlyHintHeaders } from '../early-hints.ts';
47
+ import { buildClientScripts } from '../html-injectors.ts';
48
+ import type { InterceptionContext, PipelineConfig, RouteMatch } from '../pipeline.ts';
49
+ import { createPipeline } from '../pipeline.ts';
50
+ import { coerceSegmentParams, setGlobalSchemaCodecs } from '../param-coercion.ts';
51
+ import { createMetadataRouteMatcher, createRouteMatcher } from '../route-matcher.ts';
52
+ import { createInterceptedRouteMatcher } from '../children-interception.ts';
53
+ import { initDevTracing } from '../tracing.ts';
54
+ import { createRevalidateRendererFactory } from './revalidate-renderer.ts';
55
+
56
+ import { renderFallbackError as renderFallback } from '../fallback-error.ts';
57
+ import { loadInstrumentation } from '../instrumentation.ts';
58
+ import { createDenyFallbackRenderer } from './deny-fallback.ts';
59
+ import { renderNoMatchPage } from './error-renderer.ts';
60
+ import { renderRoute } from './render-route.ts';
61
+ import { isDebug, isDevMode, setDebugFromConfig } from '../debug.ts';
62
+ import { setSourceMapCallback } from '../dev-source-map.ts';
63
+ import { requestContextAls } from '../als-registry.ts';
64
+ import { capturePrebuiltPayloads } from '../prebuilt-builder.ts';
65
+ import { setPrebuiltPayloadSource } from '../prebuilt/payload-source.ts';
66
+ import { setRscFunctions, setComponentRefreshTimeout } from '../prebuilt-runtime.ts';
67
+ import { createAutoSitemapHandler } from '../sitemap-handler.ts';
68
+ import { generateStaticSite } from '../static-generator.ts';
69
69
 
70
70
  /**
71
71
  * Resolve the Server-Timing mode from timber.config.ts.
@@ -114,20 +114,20 @@ async function createRequestHandler(manifest: typeof routeManifest, runtimeConfi
114
114
  | string
115
115
  | undefined;
116
116
  if (deploymentId) {
117
- const { setDeploymentId } = await import('../version-skew.js');
117
+ const { setDeploymentId } = await import('../version-skew.ts');
118
118
  setDeploymentId(deploymentId);
119
119
  }
120
120
 
121
121
  // Wire the CDN purge handler so revalidateTag triggers CDN purge (TIM-1166).
122
122
  const userCdnPurge = await loadCdnPurgeHandler();
123
123
  if (userCdnPurge) {
124
- const { setCdnPurgeHandler } = await import('../../cdn/purge-store.js');
124
+ const { setCdnPurgeHandler } = await import('../../cdn/purge-store.ts');
125
125
  setCdnPurgeHandler(userCdnPurge as Parameters<typeof setCdnPurgeHandler>[0]);
126
126
  } else if (typeof process !== 'undefined' && process.env?.TIMBER_RUNTIME === 'cloudflare') {
127
127
  // Auto-wire Workers Cache purge on Cloudflare — no API token needed,
128
128
  // available on all plans via ctx.cache.purge({ tags }) (TIM-1170).
129
- const { WorkersCachePurge } = await import('../../cdn/workers-cache-purge.js');
130
- const { setCdnPurgeHandler } = await import('../../cdn/purge-store.js');
129
+ const { WorkersCachePurge } = await import('../../cdn/workers-cache-purge.ts');
130
+ const { setCdnPurgeHandler } = await import('../../cdn/purge-store.ts');
131
131
  setCdnPurgeHandler(new WorkersCachePurge());
132
132
  }
133
133
 
@@ -140,7 +140,7 @@ async function createRequestHandler(manifest: typeof routeManifest, runtimeConfi
140
140
  // all cache.component wrappers render dynamically.
141
141
  if (!isDevMode()) {
142
142
  const platformSource = (globalThis as Record<string, unknown>).__TIMBER_PREBUILT_SOURCE__ as
143
- | import('../prebuilt/payload-source.js').PrebuiltPayloadSource
143
+ | import('../prebuilt/payload-source.ts').PrebuiltPayloadSource
144
144
  | undefined;
145
145
  if (platformSource) {
146
146
  setPrebuiltPayloadSource(platformSource);
@@ -179,7 +179,7 @@ async function createRequestHandler(manifest: typeof routeManifest, runtimeConfi
179
179
 
180
180
  // Wire RSC flight functions so prebuilt-runtime can revive cached payloads
181
181
  // and capture re-renders without a dynamic import (TIM-1165).
182
- const rscMod = await import('../../rsc-runtime/rsc.js');
182
+ const rscMod = await import('../../rsc-runtime/rsc.ts');
183
183
  setRscFunctions({
184
184
  createFromReadableStream: rscMod.createFromReadableStream,
185
185
  renderToReadableStream: rscMod.renderToReadableStream,
@@ -217,10 +217,10 @@ async function createRequestHandler(manifest: typeof routeManifest, runtimeConfi
217
217
  // `timber.config.ts` without needing to plumb config through each action.
218
218
  // See TIM-816 and design/08-forms-and-actions.md §"Validation errors".
219
219
  const formsConfig = (runtimeConfig as Record<string, unknown>).forms as
220
- | { stripSensitiveFields?: import('../sensitive-fields.js').SensitiveFieldsOption }
220
+ | { stripSensitiveFields?: import('../sensitive-fields.ts').SensitiveFieldsOption }
221
221
  | undefined;
222
222
  if (formsConfig) {
223
- const { setGlobalSensitiveFieldsConfig } = await import('../sensitive-fields.js');
223
+ const { setGlobalSensitiveFieldsConfig } = await import('../sensitive-fields.ts');
224
224
  setGlobalSensitiveFieldsConfig(formsConfig.stripSensitiveFields);
225
225
  }
226
226
 
@@ -247,7 +247,7 @@ async function createRequestHandler(manifest: typeof routeManifest, runtimeConfi
247
247
  await initDevTracing({ mode: devLogMode, slowPhaseMs });
248
248
  // Patch globalThis.fetch to create OTEL spans for fetch calls.
249
249
  // Spans appear as children of the active component span in the dev log tree.
250
- const { instrumentDevFetch } = await import('../../dev-tools/instrumentation.js');
250
+ const { instrumentDevFetch } = await import('../../dev-tools/instrumentation.ts');
251
251
  instrumentDevFetch();
252
252
  }
253
253
  }
@@ -318,7 +318,7 @@ async function createRequestHandler(manifest: typeof routeManifest, runtimeConfi
318
318
  // The dev page is loaded up front: the chain's terminal is synchronous,
319
319
  // and dev-tools must stay out of the production bundle (dynamic import).
320
320
  const devPage = wantsDev404
321
- ? await import('../../dev-tools/404-page.js').catch(() => null)
321
+ ? await import('../../dev-tools/404-page.ts').catch(() => null)
322
322
  : null;
323
323
 
324
324
  const defaultPage = devPage
@@ -439,16 +439,20 @@ async function createRequestHandler(manifest: typeof routeManifest, runtimeConfi
439
439
 
440
440
  // Re-export for generated entry points (e.g., Nitro node-server/bun) to wrap
441
441
  // the handler with per-request 103 Early Hints sender via ALS.
442
- export { runWithEarlyHintsSender } from '../early-hints-sender.js';
442
+ export { runWithEarlyHintsSender } from '../early-hints-sender.ts';
443
443
 
444
444
  // Re-export for generated entry points to wrap the handler with per-request
445
445
  // waitUntil support via ALS. See design/11-platform.md §"waitUntil()".
446
- export { runWithWaitUntil } from '../waituntil-bridge.js';
446
+ export { runWithWaitUntil } from '../waituntil-bridge.ts';
447
447
 
448
448
  // Re-export for the Cloudflare adapter's generated _worker.js to bridge
449
449
  // ctx.cache from the ExecutionContext into the per-request ALS. The
450
450
  // WorkersCachePurge handler reads from this ALS to call ctx.cache.purge().
451
- export { runWithWorkersCachePurge } from '../workers-cache-bridge.js';
451
+ export { runWithWorkersCachePurge } from '../workers-cache-bridge.ts';
452
+
453
+ // Re-export for the Cloudflare adapter's generated _worker.js to strip the
454
+ // body from edge-cache hits on HEAD requests (TIM-1325). RFC 9110 §9.3.2.
455
+ export { stripHeadBody } from '../head-response.ts';
452
456
 
453
457
  /**
454
458
  * Post-build flight capture entry point (TIM-1119). The capture pass must
@@ -460,8 +464,8 @@ export { runWithWorkersCachePurge } from '../workers-cache-bridge.js';
460
464
  * See design/44-render-at-build-time.md §Build Phase.
461
465
  */
462
466
  export function __timber_capturePrebuilt(
463
- options: import('../prebuilt-builder.js').CaptureOptions
464
- ): Promise<import('../prebuilt-builder.js').CaptureSummary> {
467
+ options: import('../prebuilt-builder.ts').CaptureOptions
468
+ ): Promise<import('../prebuilt-builder.ts').CaptureSummary> {
465
469
  return capturePrebuiltPayloads(routeManifest, options);
466
470
  }
467
471
 
@@ -477,8 +481,8 @@ export function __timber_capturePrebuilt(
477
481
  * See design/11-platform.md §"static output mode".
478
482
  */
479
483
  export function __timber_generateStaticSite(
480
- options: import('../static-generator.js').StaticGenerationOptions
481
- ): Promise<import('../static-generator.js').StaticGenerationSummary> {
484
+ options: import('../static-generator.ts').StaticGenerationOptions
485
+ ): Promise<import('../static-generator.ts').StaticGenerationSummary> {
482
486
  if (!_handler) {
483
487
  throw new Error(
484
488
  '[timber] __timber_generateStaticSite requires the full request handler. ' +
@@ -496,7 +500,7 @@ setGlobalSchemaCodecs(globalSchemaCodecs);
496
500
  // in both capture mode (components may call timber.cache) and normal mode.
497
501
  const renderTimeoutMs = (config as Record<string, unknown>).renderTimeoutMs as number | undefined;
498
502
  if (renderTimeoutMs) {
499
- const { setDefaultSingleflightTimeout } = await import('../../cache/timber-cache.js');
503
+ const { setDefaultSingleflightTimeout } = await import('../../cache/timber-cache.ts');
500
504
  setDefaultSingleflightTimeout(renderTimeoutMs);
501
505
  setComponentRefreshTimeout(renderTimeoutMs);
502
506
  }
@@ -509,7 +513,7 @@ await loadInstrumentation(loadUserInstrumentation);
509
513
  // during capture and must see the configured store, not the fallback.
510
514
  const userCacheHandler = await loadCacheHandler();
511
515
  if (userCacheHandler) {
512
- const { setCacheHandler } = await import('../../cache/handler-store.js');
516
+ const { setCacheHandler } = await import('../../cache/handler-store.ts');
513
517
  setCacheHandler(userCacheHandler as Parameters<typeof setCacheHandler>[0]);
514
518
  }
515
519
 
@@ -18,7 +18,7 @@
18
18
  * Design docs: 02-rendering-pipeline.md, 19-client-navigation.md.
19
19
  */
20
20
 
21
- import type { BuildManifest } from '../build-manifest.js';
21
+ import type { BuildManifest } from '../build-manifest.ts';
22
22
  import {
23
23
  buildCssLinkTags,
24
24
  buildFontPreloadTags,
@@ -26,30 +26,30 @@ import {
26
26
  collectRouteCss,
27
27
  collectRouteFonts,
28
28
  collectRouteModulepreloads,
29
- } from '../build-manifest.js';
30
- import type { LayoutEntry } from '../deny-renderer.js';
31
- import { renderDenyPage, renderDenyPageAsRsc } from '../deny-renderer.js';
32
- import type { ClientBootstrapConfig } from '../html-injectors.js';
33
- import type { InterceptionContext, RouteMatch } from '../pipeline.js';
29
+ } from '../build-manifest.ts';
30
+ import type { LayoutEntry } from '../deny-renderer.ts';
31
+ import { renderDenyPage, renderDenyPageAsRsc } from '../deny-renderer.ts';
32
+ import type { ClientBootstrapConfig } from '../html-injectors.ts';
33
+ import type { InterceptionContext, RouteMatch } from '../pipeline.ts';
34
34
  import {
35
35
  buildRouteElement,
36
36
  NoPageComponentError,
37
37
  ParamCoercionError,
38
- } from '../route-element-builder.js';
39
- import type { ManifestSegmentNode } from '../route-matcher.js';
40
- import { recordTiming } from '../server-timing.js';
41
- import { requestContextAls } from '../als-registry.js';
42
- import { parseClientStateTree } from '../state-tree-diff.js';
38
+ } from '../route-element-builder.ts';
39
+ import type { ManifestSegmentNode } from '../route-matcher.ts';
40
+ import { recordTiming } from '../server-timing.ts';
41
+ import { requestContextAls } from '../als-registry.ts';
42
+ import { parseClientStateTree } from '../state-tree-diff.ts';
43
43
 
44
- import { getFirstDeniedSegmentIndex } from '../deny-boundary.js';
45
- import { handleApiRoute } from './api-handler.js';
46
- import { renderErrorPage, renderNoMatchPage } from './error-renderer.js';
47
- import { buildRedirectResponse, createDebugChannelSink } from './helpers.js';
48
- import { isRscRequest } from '../../shared/rsc-media-type.js';
49
- import { buildRscPayloadResponse } from './rsc-payload.js';
50
- import { renderRscStream } from './rsc-stream.js';
51
- import { renderSsrResponse } from './ssr-renderer.js';
52
- import { callSsr } from './ssr-bridge.js';
44
+ import { getFirstDeniedSegmentIndex } from '../deny-boundary.ts';
45
+ import { handleApiRoute } from './api-handler.ts';
46
+ import { renderErrorPage, renderNoMatchPage } from './error-renderer.ts';
47
+ import { buildRedirectResponse, createDebugChannelSink } from './helpers.ts';
48
+ import { isRscRequest } from '../../shared/rsc-media-type.ts';
49
+ import { buildRscPayloadResponse } from './rsc-payload.ts';
50
+ import { renderRscStream } from './rsc-stream.ts';
51
+ import { renderSsrResponse } from './ssr-renderer.ts';
52
+ import { callSsr } from './ssr-bridge.ts';
53
53
 
54
54
  /**
55
55
  * Static-per-handler dependencies for `renderRoute` — captured once at
@@ -28,19 +28,19 @@
28
28
 
29
29
  import { stringifyCookie } from 'cookie';
30
30
 
31
- import type { BuildManifest } from '../build-manifest.js';
32
- import { canonicalize } from '../canonicalize.js';
33
- import { getCookiesForSsr, seedRequestCookies } from '../cookie-context.js';
34
- import { logRenderError } from '../logger.js';
35
- import type { RouteMatch, RouteMatcher } from '../pipeline.js';
36
- import { DenySignal, RedirectSignal } from '../primitives.js';
37
- import { applyRequestHeaderOverlay, setSegmentParams } from '../request-context.js';
38
- import { requestContextAls } from '../als-registry.js';
39
- import { buildRouteElement } from '../route-element-builder.js';
40
- import type { RevalidateRenderer, RevalidationResult } from '../actions.js';
31
+ import type { BuildManifest } from '../build-manifest.ts';
32
+ import { canonicalize } from '../canonicalize.ts';
33
+ import { getCookiesForSsr, seedRequestCookies } from '../cookie-context.ts';
34
+ import { logRenderError } from '../logger.ts';
35
+ import type { RouteMatch, RouteMatcher } from '../pipeline.ts';
36
+ import { DenySignal, RedirectSignal } from '../primitives.ts';
37
+ import { applyRequestHeaderOverlay, setSegmentParams } from '../request-context.ts';
38
+ import { requestContextAls } from '../als-registry.ts';
39
+ import { buildRouteElement } from '../route-element-builder.ts';
40
+ import type { RevalidateRenderer, RevalidationResult } from '../actions.ts';
41
41
 
42
- import { runMiddlewareForAction, type CoerceSegmentParamsFn } from './action-middleware-runner.js';
43
- import { RSC_CONTENT_TYPE } from '../../shared/rsc-media-type.js';
42
+ import { runMiddlewareForAction, type CoerceSegmentParamsFn } from './action-middleware-runner.ts';
43
+ import { RSC_CONTENT_TYPE } from '../../shared/rsc-media-type.ts';
44
44
 
45
45
  /**
46
46
  * Sentinel thrown when revalidation cannot proceed because middleware
@@ -8,19 +8,19 @@
8
8
  * Design docs: 19-client-navigation.md §"RSC Payload Handling"
9
9
  */
10
10
 
11
- import type { LayoutEntry } from '../deny-renderer.js';
12
- import { renderDenyPageAsRsc } from '../deny-renderer.js';
13
- import type { RedirectSignal } from '../primitives.js';
14
- import type { LayoutComponentEntry } from '../route-element-builder.js';
15
- import type { ManifestSegmentNode } from '../route-matcher.js';
16
- import type { SlotSkipEntry } from '../slot-resolver.js';
11
+ import type { LayoutEntry } from '../deny-renderer.ts';
12
+ import { renderDenyPageAsRsc } from '../deny-renderer.ts';
13
+ import type { RedirectSignal } from '../primitives.ts';
14
+ import type { LayoutComponentEntry } from '../route-element-builder.ts';
15
+ import type { ManifestSegmentNode } from '../route-matcher.ts';
16
+ import type { SlotSkipEntry } from '../slot-resolver.ts';
17
17
 
18
- import { buildRedirectResponse, buildSegmentInfo, createDebugChannelSink } from './helpers.js';
19
- import { RSC_CONTENT_TYPE } from '../../shared/rsc-media-type.js';
18
+ import { buildRedirectResponse, buildSegmentInfo, createDebugChannelSink } from './helpers.ts';
19
+ import { RSC_CONTENT_TYPE } from '../../shared/rsc-media-type.ts';
20
20
 
21
- import { rscErrorEnvelope } from '../../shared/rsc-error-envelope.js';
21
+ import { rscErrorEnvelope } from '../../shared/rsc-error-envelope.ts';
22
22
 
23
- import type { RenderSignals } from './rsc-stream.js';
23
+ import type { RenderSignals } from './rsc-stream.ts';
24
24
 
25
25
  /**
26
26
  * Ceiling on waiting for a first chunk that is already in flight, used only
@@ -106,15 +106,19 @@ export async function buildRscPayloadResponse(
106
106
  // Sync deny (AccessGate pre-pass replay) sets getDenyStatus() during
107
107
  // renderToReadableStream — before the first chunk is read. Skip the
108
108
  // wait entirely: components below the denied gate never execute.
109
- const { getDenyStatus: earlyDenyCheck } = await import('../deny-boundary.js');
109
+ const { getDenyStatus: earlyDenyCheck } = await import('../deny-boundary.ts');
110
110
  if (signals.shellSettled && !earlyDenyCheck()) {
111
111
  // Wait for all deny-capable shell components to finish, or for an
112
112
  // in-tree layout deny to short-circuit (setDenyStatus already
113
113
  // called), or for a signal to escape to onError. TIM-1045, TIM-1208.
114
114
  await Promise.race([signals.shellSettled, signalDetected]);
115
- // Shell components' finally blocks resolve before React Flight's
116
- // onError fires. Yield one macrotask so onError can set
115
+ // onSettled fires from the raw metadata promise's rejection handler,
116
+ // which runs in the same microtask as the rejection. React Flight's
117
+ // onError fires synchronously inside that microtask (serializeThenable
118
+ // rejection → erroredTask → logRecoverableError → onError). One
119
+ // macrotask yield is enough for onError to set signals.denySignal /
117
120
  // signals.redirectSignal / signals.renderError before we check.
121
+ // Pinned by tests/react-server/metadata-signal-ordering.test.ts.
118
122
  await new Promise<void>((r) => setTimeout(r, 0));
119
123
  } else if (!earlyDenyCheck()) {
120
124
  // No deny-capable shell components (client component page, no deny
@@ -159,7 +163,7 @@ export async function buildRscPayloadResponse(
159
163
 
160
164
  // Read the denied segment index from ALS — set by AccessGate during
161
165
  // render. See TIM-1358, TIM-1365.
162
- const { getFirstDeniedSegmentIndex: getDeniedIdx } = await import('../deny-boundary.js');
166
+ const { getFirstDeniedSegmentIndex: getDeniedIdx } = await import('../deny-boundary.ts');
163
167
  return renderDenyPageAsRsc(
164
168
  signals.unplacedDeny,
165
169
  segments,
@@ -264,7 +268,7 @@ export async function buildRscPayloadResponse(
264
268
  // See design/19-client-navigation.md §"X-Timber-State-Tree Header"
265
269
  // Read the deny state before describing the tree — what mounted depends on it.
266
270
  // Both values are recorded in ALS during render by AccessGate's catch path.
267
- const { getDenyStatus, getFirstDeniedSegmentIndex } = await import('../deny-boundary.js');
271
+ const { getDenyStatus, getFirstDeniedSegmentIndex } = await import('../deny-boundary.ts');
268
272
  const denyStatus = getDenyStatus();
269
273
  const resolvedDenyIndex = getFirstDeniedSegmentIndex();
270
274
 
@@ -10,23 +10,23 @@
10
10
  * 13-security.md §"Errors don't leak"
11
11
  */
12
12
 
13
- import { renderToReadableStream } from '../../rsc-runtime/rsc.js';
14
- import type { RscPayloadRoot } from '../../shared/payload-root.js';
13
+ import { renderToReadableStream } from '../../rsc-runtime/rsc.ts';
14
+ import type { RscPayloadRoot } from '../../shared/payload-root.ts';
15
15
 
16
16
  import { randomUUID } from 'node:crypto';
17
17
 
18
- import { logRenderError } from '../logger.js';
19
- import { DenySignal, RedirectSignal, RenderError } from '../primitives.js';
20
- import { checkAndWarnRscPropError } from '../rsc-prop-warnings.js';
18
+ import { logRenderError } from '../logger.ts';
19
+ import { DenySignal, RedirectSignal, RenderError } from '../primitives.ts';
20
+ import { checkAndWarnRscPropError } from '../rsc-prop-warnings.ts';
21
21
 
22
22
  import {
23
23
  createDebugChannelSink,
24
24
  createDebugChannelCollector,
25
25
  isAbortError,
26
26
  type DebugComponentEntry,
27
- } from './helpers.js';
28
- import { isDebug } from '../debug.js';
29
- import { isDevMode } from '../debug.js';
27
+ } from './helpers.ts';
28
+ import { isDebug } from '../debug.ts';
29
+ import { isDevMode } from '../debug.ts';
30
30
 
31
31
  /**
32
32
  * Mutable signal state captured during RSC rendering.
@@ -8,15 +8,15 @@
8
8
 
9
9
  /// <reference types="@vitejs/plugin-rsc/types" />
10
10
 
11
- import type { NavContext } from '../ssr-bridge-types.js';
11
+ import type { NavContext } from '../ssr-bridge-types.ts';
12
12
 
13
13
  export async function callSsr(
14
14
  rscStream: ReadableStream<Uint8Array>,
15
15
  navContext: NavContext
16
16
  ): Promise<Response> {
17
- let ssrEntry: typeof import('../ssr-entry.js');
17
+ let ssrEntry: typeof import('../ssr-entry.ts');
18
18
  try {
19
- ssrEntry = await import.meta.viteRsc.import<typeof import('../ssr-entry.js')>(
19
+ ssrEntry = await import.meta.viteRsc.import<typeof import('../ssr-entry.ts')>(
20
20
  '../ssr-entry.js',
21
21
  { environment: 'ssr' }
22
22
  );
@@ -12,35 +12,35 @@
12
12
  * 05-streaming.md §"deferSuspenseFor and the Hold Window"
13
13
  */
14
14
 
15
- import type { ClientBootstrapConfig } from '../html-injectors.js';
16
- import { flightInitScript } from '../flight-scripts.js';
17
- import { appVisibleSearch } from '../../shared/rsc-cache-key.js';
18
- import { getSlotParamsForClient } from '../request-context.js';
19
- import type { LayoutEntry } from '../deny-renderer.js';
20
- import { renderDenyPage } from '../deny-renderer.js';
21
- import type { RouteMatch } from '../pipeline.js';
22
- import { SsrStreamError } from '../primitives.js';
23
- import type { LayoutComponentEntry } from '../route-element-builder.js';
24
- import type { ManifestSegmentNode } from '../route-matcher.js';
25
- import type { SlotSkipEntry } from '../slot-resolver.js';
26
- import type { NavContext } from '../ssr-bridge-types.js';
15
+ import type { ClientBootstrapConfig } from '../html-injectors.ts';
16
+ import { flightInitScript } from '../flight-scripts.ts';
17
+ import { appVisibleSearch } from '../../shared/rsc-cache-key.ts';
18
+ import { getSlotParamsForClient } from '../request-context.ts';
19
+ import type { LayoutEntry } from '../deny-renderer.ts';
20
+ import { renderDenyPage } from '../deny-renderer.ts';
21
+ import type { RouteMatch } from '../pipeline.ts';
22
+ import { SsrStreamError } from '../primitives.ts';
23
+ import type { LayoutComponentEntry } from '../route-element-builder.ts';
24
+ import type { ManifestSegmentNode } from '../route-matcher.ts';
25
+ import type { SlotSkipEntry } from '../slot-resolver.ts';
26
+ import type { NavContext } from '../ssr-bridge-types.ts';
27
27
 
28
- import { htmlEscapeJsonString } from '../flight-scripts.js';
28
+ import { htmlEscapeJsonString } from '../flight-scripts.ts';
29
29
  import {
30
30
  buildRedirectResponse,
31
31
  buildSegmentInfo,
32
32
  createDebugChannelSink,
33
33
  isAbortError,
34
- } from './helpers.js';
35
- import { getCookiesForSsr } from '../cookie-context.js';
36
- import { getDenyStatus, getFirstDeniedSegmentIndex } from '../deny-boundary.js';
37
- import { renderErrorPage, type GlobalErrorFile } from './error-renderer.js';
38
- import { callSsr } from './ssr-bridge.js';
39
- import type { RenderSignals } from './rsc-stream.js';
40
- import { recordTiming } from '../server-timing.js';
41
- import { teeWithErrorPropagation } from '../stream-utils.js';
42
- import { addSpanEventSync } from '../tracing.js';
43
- import { isDevMode } from '../debug.js';
34
+ } from './helpers.ts';
35
+ import { getCookiesForSsr } from '../cookie-context.ts';
36
+ import { getDenyStatus, getFirstDeniedSegmentIndex } from '../deny-boundary.ts';
37
+ import { renderErrorPage, type GlobalErrorFile } from './error-renderer.ts';
38
+ import { callSsr } from './ssr-bridge.ts';
39
+ import type { RenderSignals } from './rsc-stream.ts';
40
+ import { recordTiming } from '../server-timing.ts';
41
+ import { teeWithErrorPropagation } from '../stream-utils.ts';
42
+ import { addSpanEventSync } from '../tracing.ts';
43
+ import { isDevMode } from '../debug.ts';
44
44
 
45
45
  /**
46
46
  * Maximum number of queueMicrotask yields during signal promotion.