@timber-js/app 0.2.0-alpha.2 → 0.2.0-alpha.200

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 (1329) hide show
  1. package/LICENSE +8 -0
  2. package/agent-skill.md +346 -0
  3. package/dist/_chunks/actions-d1hCqnU3.js +345 -0
  4. package/dist/_chunks/actions-d1hCqnU3.js.map +1 -0
  5. package/dist/_chunks/als-registry-C6kcfprT.js +41 -0
  6. package/dist/_chunks/als-registry-C6kcfprT.js.map +1 -0
  7. package/dist/_chunks/als-slots-BEEIPKYm.js +26 -0
  8. package/dist/_chunks/als-slots-BEEIPKYm.js.map +1 -0
  9. package/dist/_chunks/base-path-DaQrzbez.js +80 -0
  10. package/dist/_chunks/base-path-DaQrzbez.js.map +1 -0
  11. package/dist/_chunks/build-manifest-DTmSGLRz.js +135 -0
  12. package/dist/_chunks/build-manifest-DTmSGLRz.js.map +1 -0
  13. package/dist/_chunks/build-output-helper-9dqCv1pZ.js +370 -0
  14. package/dist/_chunks/build-output-helper-9dqCv1pZ.js.map +1 -0
  15. package/dist/_chunks/cache-api-ByagcC-J.js +1149 -0
  16. package/dist/_chunks/cache-api-ByagcC-J.js.map +1 -0
  17. package/dist/_chunks/canonicalize-CgHoscYO.js +66 -0
  18. package/dist/_chunks/canonicalize-CgHoscYO.js.map +1 -0
  19. package/dist/_chunks/chains-Bpb0W4ax.js +412 -0
  20. package/dist/_chunks/chains-Bpb0W4ax.js.map +1 -0
  21. package/dist/_chunks/cli-check-D6VolrDV.js +293 -0
  22. package/dist/_chunks/cli-check-D6VolrDV.js.map +1 -0
  23. package/dist/_chunks/cli-schema-sync-D6rO-VcS.js +299 -0
  24. package/dist/_chunks/cli-schema-sync-D6rO-VcS.js.map +1 -0
  25. package/dist/_chunks/cloudflare-BFb__LYG.js +1290 -0
  26. package/dist/_chunks/cloudflare-BFb__LYG.js.map +1 -0
  27. package/dist/_chunks/codec-registry-oOUxugz3.js +21 -0
  28. package/dist/_chunks/codec-registry-oOUxugz3.js.map +1 -0
  29. package/dist/_chunks/convention-lint-fRkwVwEH.js +893 -0
  30. package/dist/_chunks/convention-lint-fRkwVwEH.js.map +1 -0
  31. package/dist/_chunks/dist-DtrJyBbw.js +386 -0
  32. package/dist/_chunks/dist-DtrJyBbw.js.map +1 -0
  33. package/dist/_chunks/error-boundary-BfPHZjm0.js +1050 -0
  34. package/dist/_chunks/error-boundary-BfPHZjm0.js.map +1 -0
  35. package/dist/_chunks/fast-hash-C-tVYrLb.js +41 -0
  36. package/dist/_chunks/fast-hash-C-tVYrLb.js.map +1 -0
  37. package/dist/_chunks/file-cache-Dw6BJPG7.js +458 -0
  38. package/dist/_chunks/file-cache-Dw6BJPG7.js.map +1 -0
  39. package/dist/_chunks/format-BKclgVbk.js +14 -0
  40. package/dist/_chunks/format-BKclgVbk.js.map +1 -0
  41. package/dist/_chunks/fs-identity-D7vb6GdI.js +208 -0
  42. package/dist/_chunks/fs-identity-D7vb6GdI.js.map +1 -0
  43. package/dist/_chunks/graph-cache-CP4GEmf9.js +304 -0
  44. package/dist/_chunks/graph-cache-CP4GEmf9.js.map +1 -0
  45. package/dist/_chunks/href-validation-BIrxavIy.js +213 -0
  46. package/dist/_chunks/href-validation-BIrxavIy.js.map +1 -0
  47. package/dist/_chunks/json-lossy-check-ClNvBM_3.js +63 -0
  48. package/dist/_chunks/json-lossy-check-ClNvBM_3.js.map +1 -0
  49. package/dist/_chunks/live-graph-D_2D32Ad.js +150 -0
  50. package/dist/_chunks/live-graph-D_2D32Ad.js.map +1 -0
  51. package/dist/_chunks/logger-uLBuGKDI.js +1484 -0
  52. package/dist/_chunks/logger-uLBuGKDI.js.map +1 -0
  53. package/dist/_chunks/navigation-context-D0TU0Jog.js +135 -0
  54. package/dist/_chunks/navigation-context-D0TU0Jog.js.map +1 -0
  55. package/dist/_chunks/navigation-root-mHSK9psY.js +126 -0
  56. package/dist/_chunks/navigation-root-mHSK9psY.js.map +1 -0
  57. package/dist/_chunks/param-value-C8TNYchQ.js +66 -0
  58. package/dist/_chunks/param-value-C8TNYchQ.js.map +1 -0
  59. package/dist/_chunks/plugin-context-8idfR3UZ.js +321 -0
  60. package/dist/_chunks/plugin-context-8idfR3UZ.js.map +1 -0
  61. package/dist/_chunks/poison-rules-DoEhbqaY.js +110 -0
  62. package/dist/_chunks/poison-rules-DoEhbqaY.js.map +1 -0
  63. package/dist/_chunks/poison-scan-Bm9Yyqk9.js +101 -0
  64. package/dist/_chunks/poison-scan-Bm9Yyqk9.js.map +1 -0
  65. package/dist/_chunks/purge-store-Byr8XOjU.js +14 -0
  66. package/dist/_chunks/purge-store-Byr8XOjU.js.map +1 -0
  67. package/dist/_chunks/resolve-schema-CBR6Lm4i.js +50 -0
  68. package/dist/_chunks/resolve-schema-CBR6Lm4i.js.map +1 -0
  69. package/dist/_chunks/rolldown-runtime-D7D4PA-g.js +13 -0
  70. package/dist/_chunks/rsc-cache-key-ClUiXQnK.js +243 -0
  71. package/dist/_chunks/rsc-cache-key-ClUiXQnK.js.map +1 -0
  72. package/dist/_chunks/rsc-media-type-DDc7duTD.js +61 -0
  73. package/dist/_chunks/rsc-media-type-DDc7duTD.js.map +1 -0
  74. package/dist/_chunks/rsc-payload-path-B_LBodc2.js +48 -0
  75. package/dist/_chunks/rsc-payload-path-B_LBodc2.js.map +1 -0
  76. package/dist/_chunks/scan-BoP17W3w.js +140 -0
  77. package/dist/_chunks/scan-BoP17W3w.js.map +1 -0
  78. package/dist/_chunks/scanner-AiazgH_f.js +1771 -0
  79. package/dist/_chunks/scanner-AiazgH_f.js.map +1 -0
  80. package/dist/_chunks/schema-bridge-C83xa9lT.js +199 -0
  81. package/dist/_chunks/schema-bridge-C83xa9lT.js.map +1 -0
  82. package/dist/_chunks/segment-classify-C539Pa2O.js +197 -0
  83. package/dist/_chunks/segment-classify-C539Pa2O.js.map +1 -0
  84. package/dist/_chunks/segment-context-D9_89u34.js +34 -0
  85. package/dist/_chunks/segment-context-D9_89u34.js.map +1 -0
  86. package/dist/_chunks/segment-keys-lqtdookO.js +256 -0
  87. package/dist/_chunks/segment-keys-lqtdookO.js.map +1 -0
  88. package/dist/_chunks/singleflight-2lUWfcAk.js +54 -0
  89. package/dist/_chunks/singleflight-2lUWfcAk.js.map +1 -0
  90. package/dist/_chunks/sizeof-lXffQ1Vr.js +35 -0
  91. package/dist/_chunks/sizeof-lXffQ1Vr.js.map +1 -0
  92. package/dist/_chunks/{ssr-data-DLnbYpj1.js → ssr-data-D6T6Y3ef.js} +3 -31
  93. package/dist/_chunks/ssr-data-D6T6Y3ef.js.map +1 -0
  94. package/dist/_chunks/state-FippDgxN.js +52 -0
  95. package/dist/_chunks/state-FippDgxN.js.map +1 -0
  96. package/dist/_chunks/status-page-marker-DwQBrLBz.js +496 -0
  97. package/dist/_chunks/status-page-marker-DwQBrLBz.js.map +1 -0
  98. package/dist/_chunks/use-query-states-I3JMng6J.js +226 -0
  99. package/dist/_chunks/use-query-states-I3JMng6J.js.map +1 -0
  100. package/dist/_chunks/walkers-B6XUtmqK.js +144 -0
  101. package/dist/_chunks/walkers-B6XUtmqK.js.map +1 -0
  102. package/dist/adapters/build-output-helper.d.ts +72 -0
  103. package/dist/adapters/build-output-helper.d.ts.map +1 -0
  104. package/dist/adapters/cloudflare-dev.d.ts +109 -0
  105. package/dist/adapters/cloudflare-dev.d.ts.map +1 -0
  106. package/dist/adapters/cloudflare-dev.js +74 -0
  107. package/dist/adapters/cloudflare-dev.js.map +1 -0
  108. package/dist/adapters/cloudflare-kv-cache.d.ts +65 -0
  109. package/dist/adapters/cloudflare-kv-cache.d.ts.map +1 -0
  110. package/dist/adapters/cloudflare-kv-cache.js +123 -0
  111. package/dist/adapters/cloudflare-kv-cache.js.map +1 -0
  112. package/dist/adapters/cloudflare.d.ts +200 -22
  113. package/dist/adapters/cloudflare.d.ts.map +1 -1
  114. package/dist/adapters/cloudflare.js +2 -188
  115. package/dist/adapters/compress-module.d.ts +17 -4
  116. package/dist/adapters/compress-module.d.ts.map +1 -1
  117. package/dist/adapters/fs-identity.d.ts +64 -0
  118. package/dist/adapters/fs-identity.d.ts.map +1 -0
  119. package/dist/adapters/nitro-presets.d.ts +37 -0
  120. package/dist/adapters/nitro-presets.d.ts.map +1 -0
  121. package/dist/adapters/nitro-preview.d.ts +32 -0
  122. package/dist/adapters/nitro-preview.d.ts.map +1 -0
  123. package/dist/adapters/nitro.d.ts +82 -37
  124. package/dist/adapters/nitro.d.ts.map +1 -1
  125. package/dist/adapters/nitro.js +457 -288
  126. package/dist/adapters/nitro.js.map +1 -1
  127. package/dist/adapters/shared.d.ts +62 -0
  128. package/dist/adapters/shared.d.ts.map +1 -0
  129. package/dist/adapters/types.d.ts +28 -6
  130. package/dist/adapters/types.d.ts.map +1 -1
  131. package/dist/analyze/chains.d.ts +124 -0
  132. package/dist/analyze/chains.d.ts.map +1 -0
  133. package/dist/analyze/classify.d.ts +150 -0
  134. package/dist/analyze/classify.d.ts.map +1 -0
  135. package/dist/analyze/crawl-entry.d.ts +17 -0
  136. package/dist/analyze/crawl-entry.d.ts.map +1 -0
  137. package/dist/analyze/crawl-entry.js +313 -0
  138. package/dist/analyze/crawl-entry.js.map +1 -0
  139. package/dist/analyze/crawl.d.ts +134 -0
  140. package/dist/analyze/crawl.d.ts.map +1 -0
  141. package/dist/analyze/graph-cache.d.ts +104 -0
  142. package/dist/analyze/graph-cache.d.ts.map +1 -0
  143. package/dist/analyze/graph-command.d.ts +43 -0
  144. package/dist/analyze/graph-command.d.ts.map +1 -0
  145. package/dist/analyze/graph-command.js +472 -0
  146. package/dist/analyze/graph-command.js.map +1 -0
  147. package/dist/analyze/live-graph.d.ts +81 -0
  148. package/dist/analyze/live-graph.d.ts.map +1 -0
  149. package/dist/analyze/poison-rules.d.ts +72 -0
  150. package/dist/analyze/poison-rules.d.ts.map +1 -0
  151. package/dist/analyze/poison-scan.d.ts +48 -0
  152. package/dist/analyze/poison-scan.d.ts.map +1 -0
  153. package/dist/analyze/scan.d.ts +73 -0
  154. package/dist/analyze/scan.d.ts.map +1 -0
  155. package/dist/cache/cache-api.d.ts +48 -0
  156. package/dist/cache/cache-api.d.ts.map +1 -0
  157. package/dist/cache/fast-hash.d.ts +27 -0
  158. package/dist/cache/fast-hash.d.ts.map +1 -0
  159. package/dist/cache/handler-store.d.ts +33 -0
  160. package/dist/cache/handler-store.d.ts.map +1 -0
  161. package/dist/cache/index.d.ts +32 -9
  162. package/dist/cache/index.d.ts.map +1 -1
  163. package/dist/cache/index.js +3 -284
  164. package/dist/cache/invalidation-epoch.d.ts +43 -0
  165. package/dist/cache/invalidation-epoch.d.ts.map +1 -0
  166. package/dist/cache/json-lossy-check.d.ts +11 -0
  167. package/dist/cache/json-lossy-check.d.ts.map +1 -0
  168. package/dist/cache/redis-handler.d.ts +141 -9
  169. package/dist/cache/redis-handler.d.ts.map +1 -1
  170. package/dist/cache/singleflight.d.ts +21 -2
  171. package/dist/cache/singleflight.d.ts.map +1 -1
  172. package/dist/cache/sizeof.d.ts +22 -0
  173. package/dist/cache/sizeof.d.ts.map +1 -0
  174. package/dist/cache/stable-stringify.d.ts +9 -0
  175. package/dist/cache/stable-stringify.d.ts.map +1 -1
  176. package/dist/cache/store.d.ts +53 -0
  177. package/dist/cache/store.d.ts.map +1 -0
  178. package/dist/cache/stores/cloudflare-kv.d.ts +38 -0
  179. package/dist/cache/stores/cloudflare-kv.d.ts.map +1 -0
  180. package/dist/cache/stores/cloudflare-kv.js +29 -0
  181. package/dist/cache/stores/cloudflare-kv.js.map +1 -0
  182. package/dist/cache/stores/memory.d.ts +42 -0
  183. package/dist/cache/stores/memory.d.ts.map +1 -0
  184. package/dist/cache/stores/memory.js +90 -0
  185. package/dist/cache/stores/memory.js.map +1 -0
  186. package/dist/cache/stores/redis.d.ts +69 -0
  187. package/dist/cache/stores/redis.d.ts.map +1 -0
  188. package/dist/cache/stores/redis.js +35 -0
  189. package/dist/cache/stores/redis.js.map +1 -0
  190. package/dist/cache/stores/vercel.d.ts +36 -0
  191. package/dist/cache/stores/vercel.d.ts.map +1 -0
  192. package/dist/cache/stores/vercel.js +33 -0
  193. package/dist/cache/stores/vercel.js.map +1 -0
  194. package/dist/cache/tag-aware-handler.d.ts +52 -0
  195. package/dist/cache/tag-aware-handler.d.ts.map +1 -0
  196. package/dist/cache/timber-cache.d.ts +21 -11
  197. package/dist/cache/timber-cache.d.ts.map +1 -1
  198. package/dist/cdn/cloudflare-purge.d.ts +23 -0
  199. package/dist/cdn/cloudflare-purge.d.ts.map +1 -0
  200. package/dist/cdn/cloudflare-purge.js +30 -0
  201. package/dist/cdn/cloudflare-purge.js.map +1 -0
  202. package/dist/cdn/fastly-purge.d.ts +25 -0
  203. package/dist/cdn/fastly-purge.d.ts.map +1 -0
  204. package/dist/cdn/fastly-purge.js +33 -0
  205. package/dist/cdn/fastly-purge.js.map +1 -0
  206. package/dist/cdn/headers.d.ts +97 -0
  207. package/dist/cdn/headers.d.ts.map +1 -0
  208. package/dist/cdn/index.d.ts +5 -0
  209. package/dist/cdn/index.d.ts.map +1 -0
  210. package/dist/cdn/index.js +94 -0
  211. package/dist/cdn/index.js.map +1 -0
  212. package/dist/cdn/purge-store.d.ts +23 -0
  213. package/dist/cdn/purge-store.d.ts.map +1 -0
  214. package/dist/cdn/workers-cache-purge.d.ts +20 -0
  215. package/dist/cdn/workers-cache-purge.d.ts.map +1 -0
  216. package/dist/cdn/workers-cache-purge.js +35 -0
  217. package/dist/cdn/workers-cache-purge.js.map +1 -0
  218. package/dist/cli-check.d.ts +163 -0
  219. package/dist/cli-check.d.ts.map +1 -0
  220. package/dist/cli-schema-sync.d.ts +59 -0
  221. package/dist/cli-schema-sync.d.ts.map +1 -0
  222. package/dist/cli.d.ts +75 -8
  223. package/dist/cli.d.ts.map +1 -1
  224. package/dist/cli.js +175 -47
  225. package/dist/cli.js.map +1 -1
  226. package/dist/client/browser-dev.d.ts +37 -1
  227. package/dist/client/browser-dev.d.ts.map +1 -1
  228. package/dist/client/browser-entry/action-dispatch.d.ts +19 -0
  229. package/dist/client/browser-entry/action-dispatch.d.ts.map +1 -0
  230. package/dist/client/browser-entry/action-queue.d.ts +44 -0
  231. package/dist/client/browser-entry/action-queue.d.ts.map +1 -0
  232. package/dist/client/browser-entry/hmr.d.ts +21 -0
  233. package/dist/client/browser-entry/hmr.d.ts.map +1 -0
  234. package/dist/client/browser-entry/hydrate.d.ts +63 -0
  235. package/dist/client/browser-entry/hydrate.d.ts.map +1 -0
  236. package/dist/client/browser-entry/index.d.ts +30 -0
  237. package/dist/client/browser-entry/index.d.ts.map +1 -0
  238. package/dist/client/browser-entry/post-hydration.d.ts +29 -0
  239. package/dist/client/browser-entry/post-hydration.d.ts.map +1 -0
  240. package/dist/client/browser-entry/router-init.d.ts +46 -0
  241. package/dist/client/browser-entry/router-init.d.ts.map +1 -0
  242. package/dist/client/browser-entry/rsc-stream.d.ts +32 -0
  243. package/dist/client/browser-entry/rsc-stream.d.ts.map +1 -0
  244. package/dist/client/browser-entry/scroll.d.ts +28 -0
  245. package/dist/client/browser-entry/scroll.d.ts.map +1 -0
  246. package/dist/client/deny-last-resort.d.ts +29 -0
  247. package/dist/client/deny-last-resort.d.ts.map +1 -0
  248. package/dist/client/error-boundary.d.ts +66 -6
  249. package/dist/client/error-boundary.d.ts.map +1 -1
  250. package/dist/client/error-boundary.js +2 -126
  251. package/dist/client/error-reconstituter.d.ts +61 -0
  252. package/dist/client/error-reconstituter.d.ts.map +1 -0
  253. package/dist/client/form.d.ts +16 -27
  254. package/dist/client/form.d.ts.map +1 -1
  255. package/dist/client/global-context.d.ts +15 -0
  256. package/dist/client/global-context.d.ts.map +1 -0
  257. package/dist/client/history.d.ts +50 -9
  258. package/dist/client/history.d.ts.map +1 -1
  259. package/dist/client/index.d.ts +20 -33
  260. package/dist/client/index.d.ts.map +1 -1
  261. package/dist/client/index.js +323 -1148
  262. package/dist/client/index.js.map +1 -1
  263. package/dist/client/internal.d.ts +20 -0
  264. package/dist/client/internal.d.ts.map +1 -0
  265. package/dist/client/internal.js +818 -0
  266. package/dist/client/internal.js.map +1 -0
  267. package/dist/client/link.d.ts +63 -60
  268. package/dist/client/link.d.ts.map +1 -1
  269. package/dist/client/location-search.d.ts +12 -0
  270. package/dist/client/location-search.d.ts.map +1 -0
  271. package/dist/client/navigation-api.d.ts +121 -0
  272. package/dist/client/navigation-api.d.ts.map +1 -0
  273. package/dist/client/navigation-commit.d.ts +98 -0
  274. package/dist/client/navigation-commit.d.ts.map +1 -0
  275. package/dist/client/navigation-context.d.ts +51 -31
  276. package/dist/client/navigation-context.d.ts.map +1 -1
  277. package/dist/client/navigation-root.d.ts +98 -0
  278. package/dist/client/navigation-root.d.ts.map +1 -0
  279. package/dist/client/navigation-transition.d.ts +187 -0
  280. package/dist/client/navigation-transition.d.ts.map +1 -0
  281. package/dist/client/nuqs-adapter.d.ts +1 -1
  282. package/dist/client/nuqs-adapter.d.ts.map +1 -1
  283. package/dist/client/params-context.d.ts +81 -0
  284. package/dist/client/params-context.d.ts.map +1 -0
  285. package/dist/client/react-root.d.ts +44 -0
  286. package/dist/client/react-root.d.ts.map +1 -0
  287. package/dist/client/router-effects.d.ts +130 -0
  288. package/dist/client/router-effects.d.ts.map +1 -0
  289. package/dist/client/router-lifecycle.d.ts +98 -0
  290. package/dist/client/router-lifecycle.d.ts.map +1 -0
  291. package/dist/client/router-pipeline.d.ts +87 -0
  292. package/dist/client/router-pipeline.d.ts.map +1 -0
  293. package/dist/client/router-ref.d.ts +2 -2
  294. package/dist/client/router-ref.d.ts.map +1 -1
  295. package/dist/client/router-skew.d.ts +21 -0
  296. package/dist/client/router-skew.d.ts.map +1 -0
  297. package/dist/client/router-types.d.ts +272 -0
  298. package/dist/client/router-types.d.ts.map +1 -0
  299. package/dist/client/router.d.ts +1 -97
  300. package/dist/client/router.d.ts.map +1 -1
  301. package/dist/client/rsc-fetch.d.ts +104 -26
  302. package/dist/client/rsc-fetch.d.ts.map +1 -1
  303. package/dist/client/segment-cache.d.ts +161 -25
  304. package/dist/client/segment-cache.d.ts.map +1 -1
  305. package/dist/client/segment-context.d.ts +1 -1
  306. package/dist/client/segment-context.d.ts.map +1 -1
  307. package/dist/client/segment-outlet.d.ts +68 -0
  308. package/dist/client/segment-outlet.d.ts.map +1 -0
  309. package/dist/client/segment-update-context.d.ts +15 -0
  310. package/dist/client/segment-update-context.d.ts.map +1 -0
  311. package/dist/client/shallow-url.d.ts +10 -0
  312. package/dist/client/shallow-url.d.ts.map +1 -0
  313. package/dist/client/slot-content-cache-context.d.ts +35 -0
  314. package/dist/client/slot-content-cache-context.d.ts.map +1 -0
  315. package/dist/client/slot-context.d.ts +31 -0
  316. package/dist/client/slot-context.d.ts.map +1 -0
  317. package/dist/client/slot-outlet.d.ts +16 -0
  318. package/dist/client/slot-outlet.d.ts.map +1 -0
  319. package/dist/client/slot-provider.d.ts +25 -0
  320. package/dist/client/slot-provider.d.ts.map +1 -0
  321. package/dist/client/ssr-data.d.ts +29 -7
  322. package/dist/client/ssr-data.d.ts.map +1 -1
  323. package/dist/client/stale-client.d.ts +69 -0
  324. package/dist/client/stale-client.d.ts.map +1 -0
  325. package/dist/client/state.d.ts +19 -8
  326. package/dist/client/state.d.ts.map +1 -1
  327. package/dist/client/status-page-marker.d.ts +25 -0
  328. package/dist/client/status-page-marker.d.ts.map +1 -0
  329. package/dist/client/top-loader.d.ts +7 -6
  330. package/dist/client/top-loader.d.ts.map +1 -1
  331. package/dist/client/unload-guard.d.ts +5 -0
  332. package/dist/client/unload-guard.d.ts.map +1 -1
  333. package/dist/client/use-cookie.d.ts +12 -0
  334. package/dist/client/use-cookie.d.ts.map +1 -1
  335. package/dist/client/use-link-status.d.ts +5 -5
  336. package/dist/client/use-link-status.d.ts.map +1 -1
  337. package/dist/client/use-pathname.d.ts +13 -11
  338. package/dist/client/use-pathname.d.ts.map +1 -1
  339. package/dist/client/use-pending-navigation.d.ts +23 -0
  340. package/dist/client/use-pending-navigation.d.ts.map +1 -0
  341. package/dist/client/use-query-states.d.ts +10 -4
  342. package/dist/client/use-query-states.d.ts.map +1 -1
  343. package/dist/client/use-router.d.ts +2 -2
  344. package/dist/client/use-router.d.ts.map +1 -1
  345. package/dist/client/use-search-params.d.ts +15 -8
  346. package/dist/client/use-search-params.d.ts.map +1 -1
  347. package/dist/client/use-segment-params.d.ts +55 -0
  348. package/dist/client/use-segment-params.d.ts.map +1 -0
  349. package/dist/codec.d.ts +69 -0
  350. package/dist/codec.d.ts.map +1 -0
  351. package/dist/codec.js +76 -0
  352. package/dist/codec.js.map +1 -0
  353. package/dist/config-types.d.ts +322 -0
  354. package/dist/config-types.d.ts.map +1 -0
  355. package/dist/config-validation.d.ts +51 -0
  356. package/dist/config-validation.d.ts.map +1 -0
  357. package/dist/cookies/define-cookie.d.ts +58 -25
  358. package/dist/cookies/define-cookie.d.ts.map +1 -1
  359. package/dist/cookies/index.d.ts +3 -2
  360. package/dist/cookies/index.d.ts.map +1 -1
  361. package/dist/cookies/index.js +256 -36
  362. package/dist/cookies/index.js.map +1 -1
  363. package/dist/cookies/json-cookie.d.ts +64 -0
  364. package/dist/cookies/json-cookie.d.ts.map +1 -0
  365. package/dist/cookies/validation.d.ts +34 -0
  366. package/dist/cookies/validation.d.ts.map +1 -0
  367. package/dist/dev-tools/404-page.d.ts +50 -0
  368. package/dist/dev-tools/404-page.d.ts.map +1 -0
  369. package/dist/dev-tools/browser-logs.d.ts +40 -0
  370. package/dist/dev-tools/browser-logs.d.ts.map +1 -0
  371. package/dist/dev-tools/dev-page-shell.d.ts +78 -0
  372. package/dist/dev-tools/dev-page-shell.d.ts.map +1 -0
  373. package/dist/dev-tools/error-page.d.ts +32 -0
  374. package/dist/dev-tools/error-page.d.ts.map +1 -0
  375. package/dist/dev-tools/holding-server.d.ts +46 -0
  376. package/dist/dev-tools/holding-server.d.ts.map +1 -0
  377. package/dist/dev-tools/hydration-overlay.d.ts +11 -0
  378. package/dist/dev-tools/hydration-overlay.d.ts.map +1 -0
  379. package/dist/dev-tools/index.d.ts +31 -0
  380. package/dist/dev-tools/index.d.ts.map +1 -0
  381. package/dist/dev-tools/instrumentation.d.ts +59 -0
  382. package/dist/dev-tools/instrumentation.d.ts.map +1 -0
  383. package/dist/{server/dev-logger.d.ts → dev-tools/logger.d.ts} +1 -1
  384. package/dist/dev-tools/logger.d.ts.map +1 -0
  385. package/dist/{plugins/dev-logs.d.ts → dev-tools/logs.d.ts} +17 -3
  386. package/dist/dev-tools/logs.d.ts.map +1 -0
  387. package/dist/dev-tools/overlay.d.ts +91 -0
  388. package/dist/dev-tools/overlay.d.ts.map +1 -0
  389. package/dist/dev-tools/stack-classifier.d.ts +34 -0
  390. package/dist/dev-tools/stack-classifier.d.ts.map +1 -0
  391. package/dist/dev-tools/terminal.d.ts +28 -0
  392. package/dist/dev-tools/terminal.d.ts.map +1 -0
  393. package/dist/fonts/ast-walk.d.ts +68 -0
  394. package/dist/fonts/ast-walk.d.ts.map +1 -0
  395. package/dist/fonts/ast.d.ts +112 -8
  396. package/dist/fonts/ast.d.ts.map +1 -1
  397. package/dist/fonts/bundle.d.ts +50 -0
  398. package/dist/fonts/bundle.d.ts.map +1 -0
  399. package/dist/fonts/css.d.ts +2 -1
  400. package/dist/fonts/css.d.ts.map +1 -1
  401. package/dist/fonts/dev-middleware.d.ts +22 -0
  402. package/dist/fonts/dev-middleware.d.ts.map +1 -0
  403. package/dist/fonts/fallbacks.d.ts +0 -7
  404. package/dist/fonts/fallbacks.d.ts.map +1 -1
  405. package/dist/fonts/google.d.ts +5 -3
  406. package/dist/fonts/google.d.ts.map +1 -1
  407. package/dist/fonts/local.d.ts +6 -4
  408. package/dist/fonts/local.d.ts.map +1 -1
  409. package/dist/fonts/paths.d.ts +43 -0
  410. package/dist/fonts/paths.d.ts.map +1 -0
  411. package/dist/fonts/pipeline.d.ts +177 -0
  412. package/dist/fonts/pipeline.d.ts.map +1 -0
  413. package/dist/fonts/transform.d.ts +82 -0
  414. package/dist/fonts/transform.d.ts.map +1 -0
  415. package/dist/fonts/types.d.ts +47 -1
  416. package/dist/fonts/types.d.ts.map +1 -1
  417. package/dist/fonts/virtual-modules.d.ts +77 -0
  418. package/dist/fonts/virtual-modules.d.ts.map +1 -0
  419. package/dist/index.d.ts +35 -153
  420. package/dist/index.d.ts.map +1 -1
  421. package/dist/index.js +10488 -13975
  422. package/dist/index.js.map +1 -1
  423. package/dist/params/codec-registry.d.ts +26 -0
  424. package/dist/params/codec-registry.d.ts.map +1 -0
  425. package/dist/params/define-schema.d.ts +81 -0
  426. package/dist/params/define-schema.d.ts.map +1 -0
  427. package/dist/params/index.d.ts +5 -0
  428. package/dist/params/index.d.ts.map +1 -0
  429. package/dist/params/index.js +34 -0
  430. package/dist/params/index.js.map +1 -0
  431. package/dist/params/resolve-schema.d.ts +34 -0
  432. package/dist/params/resolve-schema.d.ts.map +1 -0
  433. package/dist/plugin-context.d.ts +276 -0
  434. package/dist/plugin-context.d.ts.map +1 -0
  435. package/dist/plugins/adapter-build.d.ts +21 -1
  436. package/dist/plugins/adapter-build.d.ts.map +1 -1
  437. package/dist/plugins/build-manifest.d.ts +7 -3
  438. package/dist/plugins/build-manifest.d.ts.map +1 -1
  439. package/dist/plugins/build-report.d.ts +54 -7
  440. package/dist/plugins/build-report.d.ts.map +1 -1
  441. package/dist/plugins/cache.d.ts +64 -0
  442. package/dist/plugins/cache.d.ts.map +1 -0
  443. package/dist/plugins/callsite-ast.d.ts +117 -0
  444. package/dist/plugins/callsite-ast.d.ts.map +1 -0
  445. package/dist/plugins/callsite-jsx.d.ts +35 -0
  446. package/dist/plugins/callsite-jsx.d.ts.map +1 -0
  447. package/dist/plugins/chunks.d.ts +11 -4
  448. package/dist/plugins/chunks.d.ts.map +1 -1
  449. package/dist/plugins/client-chunks.d.ts +40 -0
  450. package/dist/plugins/client-chunks.d.ts.map +1 -0
  451. package/dist/plugins/cloudflare-wasm.d.ts +21 -0
  452. package/dist/plugins/cloudflare-wasm.d.ts.map +1 -0
  453. package/dist/plugins/content.d.ts +1 -1
  454. package/dist/plugins/content.d.ts.map +1 -1
  455. package/dist/plugins/dev-discovery.d.ts +123 -0
  456. package/dist/plugins/dev-discovery.d.ts.map +1 -0
  457. package/dist/plugins/dev-server.d.ts +17 -1
  458. package/dist/plugins/dev-server.d.ts.map +1 -1
  459. package/dist/plugins/entries.d.ts +32 -1
  460. package/dist/plugins/entries.d.ts.map +1 -1
  461. package/dist/plugins/fonts.d.ts +16 -65
  462. package/dist/plugins/fonts.d.ts.map +1 -1
  463. package/dist/plugins/graph-endpoint.d.ts +112 -0
  464. package/dist/plugins/graph-endpoint.d.ts.map +1 -0
  465. package/dist/plugins/mdx.d.ts +24 -5
  466. package/dist/plugins/mdx.d.ts.map +1 -1
  467. package/dist/plugins/prebuilt-capture.d.ts +60 -0
  468. package/dist/plugins/prebuilt-capture.d.ts.map +1 -0
  469. package/dist/plugins/prebuilt-options-analysis.d.ts +40 -0
  470. package/dist/plugins/prebuilt-options-analysis.d.ts.map +1 -0
  471. package/dist/plugins/prebuilt.d.ts +82 -0
  472. package/dist/plugins/prebuilt.d.ts.map +1 -0
  473. package/dist/plugins/prerender-sugar.d.ts +39 -0
  474. package/dist/plugins/prerender-sugar.d.ts.map +1 -0
  475. package/dist/plugins/request-dep/analysis.d.ts +106 -0
  476. package/dist/plugins/request-dep/analysis.d.ts.map +1 -0
  477. package/dist/plugins/request-dep/index.d.ts +75 -0
  478. package/dist/plugins/request-dep/index.d.ts.map +1 -0
  479. package/dist/plugins/request-dep/origin.d.ts +61 -0
  480. package/dist/plugins/request-dep/origin.d.ts.map +1 -0
  481. package/dist/plugins/routing.d.ts +1 -1
  482. package/dist/plugins/routing.d.ts.map +1 -1
  483. package/dist/plugins/server-bundle.d.ts.map +1 -1
  484. package/dist/plugins/shims.d.ts +29 -5
  485. package/dist/plugins/shims.d.ts.map +1 -1
  486. package/dist/plugins/static-build.d.ts +218 -21
  487. package/dist/plugins/static-build.d.ts.map +1 -1
  488. package/dist/routing/codegen-shared.d.ts +26 -0
  489. package/dist/routing/codegen-shared.d.ts.map +1 -0
  490. package/dist/routing/codegen-types.d.ts +61 -0
  491. package/dist/routing/codegen-types.d.ts.map +1 -0
  492. package/dist/routing/codegen-write.d.ts +51 -0
  493. package/dist/routing/codegen-write.d.ts.map +1 -0
  494. package/dist/routing/codegen.d.ts +8 -3
  495. package/dist/routing/codegen.d.ts.map +1 -1
  496. package/dist/routing/collision-probe.d.ts +104 -0
  497. package/dist/routing/collision-probe.d.ts.map +1 -0
  498. package/dist/routing/collision-spaces.d.ts +26 -0
  499. package/dist/routing/collision-spaces.d.ts.map +1 -0
  500. package/dist/routing/convention-lint.d.ts +55 -0
  501. package/dist/routing/convention-lint.d.ts.map +1 -0
  502. package/dist/routing/export-detect.d.ts +72 -0
  503. package/dist/routing/export-detect.d.ts.map +1 -0
  504. package/dist/routing/file-cache.d.ts +8 -0
  505. package/dist/routing/file-cache.d.ts.map +1 -0
  506. package/dist/routing/index.d.ts +13 -7
  507. package/dist/routing/index.d.ts.map +1 -1
  508. package/dist/routing/index.js +5 -2
  509. package/dist/routing/interception-overlap.d.ts +35 -0
  510. package/dist/routing/interception-overlap.d.ts.map +1 -0
  511. package/dist/routing/interception.d.ts +234 -10
  512. package/dist/routing/interception.d.ts.map +1 -1
  513. package/dist/routing/link-codegen.d.ts +105 -0
  514. package/dist/routing/link-codegen.d.ts.map +1 -0
  515. package/dist/routing/manifest-codegen.d.ts +26 -0
  516. package/dist/routing/manifest-codegen.d.ts.map +1 -0
  517. package/dist/routing/scanner.d.ts +14 -10
  518. package/dist/routing/scanner.d.ts.map +1 -1
  519. package/dist/routing/schema-validation.d.ts +35 -0
  520. package/dist/routing/schema-validation.d.ts.map +1 -0
  521. package/dist/routing/segment-classify.d.ts +114 -0
  522. package/dist/routing/segment-classify.d.ts.map +1 -0
  523. package/dist/routing/segment-codegen.d.ts +38 -0
  524. package/dist/routing/segment-codegen.d.ts.map +1 -0
  525. package/dist/routing/segment-keys.d.ts +118 -0
  526. package/dist/routing/segment-keys.d.ts.map +1 -0
  527. package/dist/routing/slot-placement.d.ts +48 -0
  528. package/dist/routing/slot-placement.d.ts.map +1 -0
  529. package/dist/routing/types.d.ts +74 -26
  530. package/dist/routing/types.d.ts.map +1 -1
  531. package/dist/routing/walkers.d.ts +57 -0
  532. package/dist/routing/walkers.d.ts.map +1 -0
  533. package/dist/rsc-runtime/rsc.d.ts +1 -1
  534. package/dist/rsc-runtime/rsc.d.ts.map +1 -1
  535. package/dist/rsc-runtime/ssr.d.ts +14 -0
  536. package/dist/rsc-runtime/ssr.d.ts.map +1 -1
  537. package/dist/rsc-runtime/transforms.d.ts +13 -0
  538. package/dist/rsc-runtime/transforms.d.ts.map +1 -0
  539. package/dist/schema-bridge.d.ts +145 -0
  540. package/dist/schema-bridge.d.ts.map +1 -0
  541. package/dist/search-params/define.d.ts +262 -0
  542. package/dist/search-params/define.d.ts.map +1 -0
  543. package/dist/search-params/index.d.ts +3 -7
  544. package/dist/search-params/index.d.ts.map +1 -1
  545. package/dist/search-params/index.js +179 -360
  546. package/dist/search-params/index.js.map +1 -1
  547. package/dist/search-params/parse-total.d.ts +81 -0
  548. package/dist/search-params/parse-total.d.ts.map +1 -0
  549. package/dist/search-params/serialize-equal.d.ts +9 -0
  550. package/dist/search-params/serialize-equal.d.ts.map +1 -0
  551. package/dist/search-params/wrappers.d.ts +76 -0
  552. package/dist/search-params/wrappers.d.ts.map +1 -0
  553. package/dist/server/access-gate.d.ts +98 -10
  554. package/dist/server/access-gate.d.ts.map +1 -1
  555. package/dist/server/action-client.d.ts +42 -7
  556. package/dist/server/action-client.d.ts.map +1 -1
  557. package/dist/server/action-encryption.d.ts +76 -0
  558. package/dist/server/action-encryption.d.ts.map +1 -0
  559. package/dist/server/action-handler.d.ts +39 -5
  560. package/dist/server/action-handler.d.ts.map +1 -1
  561. package/dist/server/actions.d.ts +29 -35
  562. package/dist/server/actions.d.ts.map +1 -1
  563. package/dist/server/als-registry.d.ts +117 -13
  564. package/dist/server/als-registry.d.ts.map +1 -1
  565. package/dist/server/asset-headers.d.ts +8 -18
  566. package/dist/server/asset-headers.d.ts.map +1 -1
  567. package/dist/server/body-limits.d.ts.map +1 -1
  568. package/dist/server/build-manifest.d.ts +25 -30
  569. package/dist/server/build-manifest.d.ts.map +1 -1
  570. package/dist/server/canonicalize.d.ts +10 -0
  571. package/dist/server/canonicalize.d.ts.map +1 -1
  572. package/dist/server/chain-url-parts.d.ts +82 -0
  573. package/dist/server/chain-url-parts.d.ts.map +1 -0
  574. package/dist/server/children-interception.d.ts +49 -0
  575. package/dist/server/children-interception.d.ts.map +1 -0
  576. package/dist/server/coalesce-tick.d.ts +40 -0
  577. package/dist/server/coalesce-tick.d.ts.map +1 -0
  578. package/dist/server/compress.d.ts.map +1 -1
  579. package/dist/server/cookie-context.d.ts +170 -0
  580. package/dist/server/cookie-context.d.ts.map +1 -0
  581. package/dist/server/cookie-parsing.d.ts +65 -0
  582. package/dist/server/cookie-parsing.d.ts.map +1 -0
  583. package/dist/server/csp-nonce.d.ts +45 -0
  584. package/dist/server/csp-nonce.d.ts.map +1 -0
  585. package/dist/server/csrf.d.ts +3 -2
  586. package/dist/server/csrf.d.ts.map +1 -1
  587. package/dist/server/debug.d.ts +82 -0
  588. package/dist/server/debug.d.ts.map +1 -0
  589. package/dist/server/default-logger.d.ts +22 -0
  590. package/dist/server/default-logger.d.ts.map +1 -0
  591. package/dist/server/default-status-page.d.ts +45 -0
  592. package/dist/server/default-status-page.d.ts.map +1 -0
  593. package/dist/server/deny-boundary.d.ts +253 -0
  594. package/dist/server/deny-boundary.d.ts.map +1 -0
  595. package/dist/server/deny-renderer.d.ts +20 -9
  596. package/dist/server/deny-renderer.d.ts.map +1 -1
  597. package/dist/server/dev-source-map.d.ts +22 -0
  598. package/dist/server/dev-source-map.d.ts.map +1 -0
  599. package/dist/server/early-hints-sender.d.ts.map +1 -1
  600. package/dist/server/early-hints.d.ts +14 -12
  601. package/dist/server/early-hints.d.ts.map +1 -1
  602. package/dist/server/error-boundary-wrapper.d.ts +101 -10
  603. package/dist/server/error-boundary-wrapper.d.ts.map +1 -1
  604. package/dist/server/error-response-headers.d.ts +3 -0
  605. package/dist/server/error-response-headers.d.ts.map +1 -0
  606. package/dist/server/fallback-error.d.ts +12 -7
  607. package/dist/server/fallback-error.d.ts.map +1 -1
  608. package/dist/server/flight-injection-state.d.ts +66 -0
  609. package/dist/server/flight-injection-state.d.ts.map +1 -0
  610. package/dist/server/flight-scripts.d.ts +45 -0
  611. package/dist/server/flight-scripts.d.ts.map +1 -0
  612. package/dist/server/form-data.d.ts +41 -0
  613. package/dist/server/form-data.d.ts.map +1 -1
  614. package/dist/server/form-flash.d.ts +1 -1
  615. package/dist/server/head-response.d.ts +35 -0
  616. package/dist/server/head-response.d.ts.map +1 -0
  617. package/dist/server/html-injector-core.d.ts +257 -0
  618. package/dist/server/html-injector-core.d.ts.map +1 -0
  619. package/dist/server/html-injectors.d.ts +84 -42
  620. package/dist/server/html-injectors.d.ts.map +1 -1
  621. package/dist/server/index.d.ts +18 -54
  622. package/dist/server/index.d.ts.map +1 -1
  623. package/dist/server/index.js +212 -2930
  624. package/dist/server/index.js.map +1 -1
  625. package/dist/server/instrumentation.d.ts +1 -1
  626. package/dist/server/internal.d.ts +50 -0
  627. package/dist/server/internal.d.ts.map +1 -0
  628. package/dist/server/internal.js +4034 -0
  629. package/dist/server/internal.js.map +1 -0
  630. package/dist/server/logger.d.ts +39 -7
  631. package/dist/server/logger.d.ts.map +1 -1
  632. package/dist/server/metadata-collector.d.ts +71 -0
  633. package/dist/server/metadata-collector.d.ts.map +1 -0
  634. package/dist/server/metadata-platform.d.ts +2 -2
  635. package/dist/server/metadata-render.d.ts +2 -2
  636. package/dist/server/metadata-render.d.ts.map +1 -1
  637. package/dist/server/metadata-routes.d.ts +60 -11
  638. package/dist/server/metadata-routes.d.ts.map +1 -1
  639. package/dist/server/metadata-social.d.ts +2 -2
  640. package/dist/server/metadata.d.ts +10 -2
  641. package/dist/server/metadata.d.ts.map +1 -1
  642. package/dist/server/middleware-runner.d.ts +20 -5
  643. package/dist/server/middleware-runner.d.ts.map +1 -1
  644. package/dist/server/node-stream-transforms.d.ts +105 -0
  645. package/dist/server/node-stream-transforms.d.ts.map +1 -0
  646. package/dist/server/nuqs-ssr-provider.d.ts +7 -3
  647. package/dist/server/nuqs-ssr-provider.d.ts.map +1 -1
  648. package/dist/server/param-coercion.d.ts +78 -0
  649. package/dist/server/param-coercion.d.ts.map +1 -0
  650. package/dist/server/pipeline-helpers.d.ts +77 -0
  651. package/dist/server/pipeline-helpers.d.ts.map +1 -0
  652. package/dist/server/pipeline-interception.d.ts +59 -9
  653. package/dist/server/pipeline-interception.d.ts.map +1 -1
  654. package/dist/server/pipeline-metadata.d.ts +7 -1
  655. package/dist/server/pipeline-metadata.d.ts.map +1 -1
  656. package/dist/server/pipeline-outcome.d.ts +49 -0
  657. package/dist/server/pipeline-outcome.d.ts.map +1 -0
  658. package/dist/server/pipeline-phases.d.ts +70 -0
  659. package/dist/server/pipeline-phases.d.ts.map +1 -0
  660. package/dist/server/pipeline.d.ts +160 -24
  661. package/dist/server/pipeline.d.ts.map +1 -1
  662. package/dist/server/port-resolution.d.ts +31 -0
  663. package/dist/server/port-resolution.d.ts.map +1 -0
  664. package/dist/server/prebuilt/cache-key.d.ts +63 -0
  665. package/dist/server/prebuilt/cache-key.d.ts.map +1 -0
  666. package/dist/server/prebuilt/capture-state.d.ts +57 -0
  667. package/dist/server/prebuilt/capture-state.d.ts.map +1 -0
  668. package/dist/server/prebuilt/key-discipline.d.ts +52 -0
  669. package/dist/server/prebuilt/key-discipline.d.ts.map +1 -0
  670. package/dist/server/prebuilt/manifest-tag-index.d.ts +27 -0
  671. package/dist/server/prebuilt/manifest-tag-index.d.ts.map +1 -0
  672. package/dist/server/prebuilt/overlay.d.ts +100 -0
  673. package/dist/server/prebuilt/overlay.d.ts.map +1 -0
  674. package/dist/server/prebuilt/payload-source.d.ts +79 -0
  675. package/dist/server/prebuilt/payload-source.d.ts.map +1 -0
  676. package/dist/server/prebuilt/slots.d.ts +99 -0
  677. package/dist/server/prebuilt/slots.d.ts.map +1 -0
  678. package/dist/server/prebuilt/synthetic-store.d.ts +67 -0
  679. package/dist/server/prebuilt/synthetic-store.d.ts.map +1 -0
  680. package/dist/server/prebuilt-builder.d.ts +121 -0
  681. package/dist/server/prebuilt-builder.d.ts.map +1 -0
  682. package/dist/server/prebuilt-runtime.d.ts +111 -0
  683. package/dist/server/prebuilt-runtime.d.ts.map +1 -0
  684. package/dist/server/primitives.d.ts +129 -45
  685. package/dist/server/primitives.d.ts.map +1 -1
  686. package/dist/server/publish-params.d.ts +33 -0
  687. package/dist/server/publish-params.d.ts.map +1 -0
  688. package/dist/server/render-timeout.d.ts +51 -0
  689. package/dist/server/render-timeout.d.ts.map +1 -0
  690. package/dist/server/render-utils.d.ts +26 -0
  691. package/dist/server/render-utils.d.ts.map +1 -0
  692. package/dist/server/request-context.d.ts +111 -107
  693. package/dist/server/request-context.d.ts.map +1 -1
  694. package/dist/server/request-dep.d.ts +15 -0
  695. package/dist/server/request-dep.d.ts.map +1 -0
  696. package/dist/server/response-cache-policy.d.ts +3 -0
  697. package/dist/server/response-cache-policy.d.ts.map +1 -0
  698. package/dist/server/route-element-builder.d.ts +57 -30
  699. package/dist/server/route-element-builder.d.ts.map +1 -1
  700. package/dist/server/route-element-helpers.d.ts +12 -0
  701. package/dist/server/route-element-helpers.d.ts.map +1 -0
  702. package/dist/server/route-handler.d.ts +1 -1
  703. package/dist/server/route-handler.d.ts.map +1 -1
  704. package/dist/server/route-matcher.d.ts +40 -38
  705. package/dist/server/route-matcher.d.ts.map +1 -1
  706. package/dist/server/route-module-loader.d.ts +37 -0
  707. package/dist/server/route-module-loader.d.ts.map +1 -0
  708. package/dist/server/rsc-cache-key-guard.d.ts +78 -0
  709. package/dist/server/rsc-cache-key-guard.d.ts.map +1 -0
  710. package/dist/server/rsc-entry/action-middleware-runner.d.ts +66 -0
  711. package/dist/server/rsc-entry/action-middleware-runner.d.ts.map +1 -0
  712. package/dist/server/rsc-entry/api-handler.d.ts +12 -3
  713. package/dist/server/rsc-entry/api-handler.d.ts.map +1 -1
  714. package/dist/server/rsc-entry/deny-fallback.d.ts +29 -0
  715. package/dist/server/rsc-entry/deny-fallback.d.ts.map +1 -0
  716. package/dist/server/rsc-entry/error-renderer.d.ts +38 -13
  717. package/dist/server/rsc-entry/error-renderer.d.ts.map +1 -1
  718. package/dist/server/rsc-entry/helpers.d.ts +59 -42
  719. package/dist/server/rsc-entry/helpers.d.ts.map +1 -1
  720. package/dist/server/rsc-entry/index.d.ts +40 -6
  721. package/dist/server/rsc-entry/index.d.ts.map +1 -1
  722. package/dist/server/rsc-entry/render-route.d.ts +51 -0
  723. package/dist/server/rsc-entry/render-route.d.ts.map +1 -0
  724. package/dist/server/rsc-entry/revalidate-renderer.d.ts +108 -0
  725. package/dist/server/rsc-entry/revalidate-renderer.d.ts.map +1 -0
  726. package/dist/server/rsc-entry/rsc-payload.d.ts +26 -6
  727. package/dist/server/rsc-entry/rsc-payload.d.ts.map +1 -1
  728. package/dist/server/rsc-entry/rsc-stream.d.ts +39 -3
  729. package/dist/server/rsc-entry/rsc-stream.d.ts.map +1 -1
  730. package/dist/server/rsc-entry/ssr-bridge.d.ts +5 -1
  731. package/dist/server/rsc-entry/ssr-bridge.d.ts.map +1 -1
  732. package/dist/server/rsc-entry/ssr-renderer.d.ts +37 -5
  733. package/dist/server/rsc-entry/ssr-renderer.d.ts.map +1 -1
  734. package/dist/server/rsc-entry/wrap-action-dispatch.d.ts +89 -0
  735. package/dist/server/rsc-entry/wrap-action-dispatch.d.ts.map +1 -0
  736. package/dist/server/rsc-error-envelope.d.ts +11 -0
  737. package/dist/server/rsc-error-envelope.d.ts.map +1 -0
  738. package/dist/server/rsc-prop-warnings.d.ts.map +1 -1
  739. package/dist/server/safe-load.d.ts +46 -0
  740. package/dist/server/safe-load.d.ts.map +1 -0
  741. package/dist/server/sensitive-fields.d.ts +74 -0
  742. package/dist/server/sensitive-fields.d.ts.map +1 -0
  743. package/dist/server/sitemap-generator.d.ts +130 -0
  744. package/dist/server/sitemap-generator.d.ts.map +1 -0
  745. package/dist/server/sitemap-handler.d.ts +22 -0
  746. package/dist/server/sitemap-handler.d.ts.map +1 -0
  747. package/dist/server/skippable-prefix.d.ts +29 -0
  748. package/dist/server/skippable-prefix.d.ts.map +1 -0
  749. package/dist/server/slot-interception.d.ts +80 -0
  750. package/dist/server/slot-interception.d.ts.map +1 -0
  751. package/dist/server/slot-resolver.d.ts +137 -7
  752. package/dist/server/slot-resolver.d.ts.map +1 -1
  753. package/dist/server/slot-subtree-contain.d.ts +54 -0
  754. package/dist/server/slot-subtree-contain.d.ts.map +1 -0
  755. package/dist/server/ssr-bridge-types.d.ts +160 -0
  756. package/dist/server/ssr-bridge-types.d.ts.map +1 -0
  757. package/dist/server/ssr-entry.d.ts +1 -43
  758. package/dist/server/ssr-entry.d.ts.map +1 -1
  759. package/dist/server/ssr-render.d.ts +69 -22
  760. package/dist/server/ssr-render.d.ts.map +1 -1
  761. package/dist/server/ssr-wrappers.d.ts +93 -0
  762. package/dist/server/ssr-wrappers.d.ts.map +1 -0
  763. package/dist/server/state-tree-diff.d.ts +44 -9
  764. package/dist/server/state-tree-diff.d.ts.map +1 -1
  765. package/dist/server/static-generator.d.ts +112 -0
  766. package/dist/server/static-generator.d.ts.map +1 -0
  767. package/dist/server/static-not-found.d.ts +52 -0
  768. package/dist/server/static-not-found.d.ts.map +1 -0
  769. package/dist/server/status-code-resolver.d.ts +26 -15
  770. package/dist/server/status-code-resolver.d.ts.map +1 -1
  771. package/dist/server/stream-utils.d.ts +47 -0
  772. package/dist/server/stream-utils.d.ts.map +1 -0
  773. package/dist/server/tracing.d.ts +56 -11
  774. package/dist/server/tracing.d.ts.map +1 -1
  775. package/dist/server/tree-match.d.ts +49 -0
  776. package/dist/server/tree-match.d.ts.map +1 -0
  777. package/dist/server/types.d.ts +88 -7
  778. package/dist/server/types.d.ts.map +1 -1
  779. package/dist/server/utils/element-type.d.ts +50 -0
  780. package/dist/server/utils/element-type.d.ts.map +1 -0
  781. package/dist/server/utils/escape-html.d.ts +14 -0
  782. package/dist/server/utils/escape-html.d.ts.map +1 -0
  783. package/dist/server/utils/mdx-file.d.ts +17 -0
  784. package/dist/server/utils/mdx-file.d.ts.map +1 -0
  785. package/dist/server/version-skew.d.ts +61 -0
  786. package/dist/server/version-skew.d.ts.map +1 -0
  787. package/dist/server/waituntil-bridge.d.ts.map +1 -1
  788. package/dist/server/workers-cache-bridge.d.ts +26 -0
  789. package/dist/server/workers-cache-bridge.d.ts.map +1 -0
  790. package/dist/shared/als-slots.d.ts +42 -0
  791. package/dist/shared/als-slots.d.ts.map +1 -0
  792. package/dist/shared/base-path.d.ts +56 -0
  793. package/dist/shared/base-path.d.ts.map +1 -0
  794. package/dist/shared/href-validation.d.ts +49 -0
  795. package/dist/shared/href-validation.d.ts.map +1 -0
  796. package/dist/shared/merge-search-params.d.ts +22 -0
  797. package/dist/shared/merge-search-params.d.ts.map +1 -0
  798. package/dist/shared/param-value.d.ts +104 -0
  799. package/dist/shared/param-value.d.ts.map +1 -0
  800. package/dist/shared/payload-root.d.ts +109 -0
  801. package/dist/shared/payload-root.d.ts.map +1 -0
  802. package/dist/shared/redirect-type.d.ts +17 -0
  803. package/dist/shared/redirect-type.d.ts.map +1 -0
  804. package/dist/shared/rsc-cache-key.d.ts +163 -0
  805. package/dist/shared/rsc-cache-key.d.ts.map +1 -0
  806. package/dist/shared/rsc-error-envelope.d.ts +16 -0
  807. package/dist/shared/rsc-error-envelope.d.ts.map +1 -0
  808. package/dist/shared/rsc-manifest.d.ts +28 -0
  809. package/dist/shared/rsc-manifest.d.ts.map +1 -0
  810. package/dist/shared/rsc-media-type.d.ts +52 -0
  811. package/dist/shared/rsc-media-type.d.ts.map +1 -0
  812. package/dist/shared/rsc-payload-path.d.ts +42 -0
  813. package/dist/shared/rsc-payload-path.d.ts.map +1 -0
  814. package/dist/shared/segment-info.d.ts +66 -0
  815. package/dist/shared/segment-info.d.ts.map +1 -0
  816. package/dist/shared/slot-params.d.ts +52 -0
  817. package/dist/shared/slot-params.d.ts.map +1 -0
  818. package/dist/shared/static-platform-files.d.ts +71 -0
  819. package/dist/shared/static-platform-files.d.ts.map +1 -0
  820. package/dist/shared/status-reason-phrase.d.ts +26 -0
  821. package/dist/shared/status-reason-phrase.d.ts.map +1 -0
  822. package/dist/shims/font-google.d.ts +1 -1
  823. package/dist/shims/font-google.d.ts.map +1 -1
  824. package/dist/shims/font-google.js +42 -0
  825. package/dist/shims/font-google.js.map +1 -0
  826. package/dist/shims/font-local.d.ts +26 -0
  827. package/dist/shims/font-local.d.ts.map +1 -0
  828. package/dist/shims/font-local.js +20 -0
  829. package/dist/shims/font-local.js.map +1 -0
  830. package/dist/shims/headers.d.ts +53 -1
  831. package/dist/shims/headers.d.ts.map +1 -1
  832. package/dist/shims/image.d.ts +120 -120
  833. package/dist/shims/image.d.ts.map +1 -1
  834. package/dist/shims/navigation-client.d.ts +25 -12
  835. package/dist/shims/navigation-client.d.ts.map +1 -1
  836. package/dist/shims/navigation-rsc.d.ts +21 -0
  837. package/dist/shims/navigation-rsc.d.ts.map +1 -0
  838. package/dist/shims/navigation.d.ts +10 -5
  839. package/dist/shims/navigation.d.ts.map +1 -1
  840. package/dist/utils/state-machine.d.ts +80 -0
  841. package/dist/utils/state-machine.d.ts.map +1 -0
  842. package/docs/api/30-api-server.mdx +236 -0
  843. package/docs/api/31-api-client.mdx +167 -0
  844. package/docs/api/32-api-cache.mdx +311 -0
  845. package/docs/api/33-api-search-params.mdx +176 -0
  846. package/docs/api/34-api-config.mdx +329 -0
  847. package/docs/api/35-api-typescript.mdx +91 -0
  848. package/docs/api/36-cli.mdx +192 -0
  849. package/docs/learn/00-introduction.mdx +109 -0
  850. package/docs/learn/01-quick-start.mdx +94 -0
  851. package/docs/learn/02-pages-and-layouts.mdx +147 -0
  852. package/docs/learn/03-fetching-data.mdx +211 -0
  853. package/docs/learn/04-access-control.mdx +115 -0
  854. package/docs/learn/05-the-flush-point.mdx +175 -0
  855. package/docs/learn/06-typed-params.mdx +275 -0
  856. package/docs/learn/07-typed-routes.mdx +108 -0
  857. package/docs/learn/08-forms-and-actions.mdx +146 -0
  858. package/docs/learn/09-streaming.mdx +140 -0
  859. package/docs/learn/10-caching.mdx +252 -0
  860. package/docs/learn/11-middleware.mdx +158 -0
  861. package/docs/learn/12-error-handling.mdx +188 -0
  862. package/docs/learn/13-deploying.mdx +287 -0
  863. package/llms.txt +55 -0
  864. package/package.json +117 -29
  865. package/src/adapters/build-output-helper.ts +351 -0
  866. package/src/adapters/cloudflare-dev.ts +183 -0
  867. package/src/adapters/cloudflare-kv-cache.ts +207 -0
  868. package/src/adapters/cloudflare.ts +747 -130
  869. package/src/adapters/compress-module.ts +101 -88
  870. package/src/adapters/fs-identity.ts +156 -0
  871. package/src/adapters/nitro-presets.ts +139 -0
  872. package/src/adapters/nitro-preview.ts +340 -0
  873. package/src/adapters/nitro.ts +279 -418
  874. package/src/adapters/raw-imports.d.ts +5 -0
  875. package/src/adapters/shared.ts +274 -0
  876. package/src/adapters/types.ts +28 -7
  877. package/src/adapters/wrangler.d.ts +7 -0
  878. package/src/analyze/chains.ts +411 -0
  879. package/src/analyze/classify.ts +258 -0
  880. package/src/analyze/crawl-entry.ts +68 -0
  881. package/src/analyze/crawl.ts +500 -0
  882. package/src/analyze/graph-cache.ts +332 -0
  883. package/src/analyze/graph-command.ts +762 -0
  884. package/src/analyze/live-graph.ts +232 -0
  885. package/src/analyze/poison-rules.ts +165 -0
  886. package/src/analyze/poison-scan.ts +162 -0
  887. package/src/analyze/scan.ts +149 -0
  888. package/src/cache/cache-api.ts +107 -0
  889. package/src/cache/fast-hash.ts +39 -0
  890. package/src/cache/handler-store.ts +76 -0
  891. package/src/cache/index.ts +115 -22
  892. package/src/cache/invalidation-epoch.ts +93 -0
  893. package/src/cache/json-lossy-check.ts +75 -0
  894. package/src/cache/redis-handler.ts +198 -20
  895. package/src/cache/singleflight.ts +69 -6
  896. package/src/cache/sizeof.ts +33 -0
  897. package/src/cache/stable-stringify.ts +65 -2
  898. package/src/cache/store.ts +71 -0
  899. package/src/cache/stores/cloudflare-kv.ts +52 -0
  900. package/src/cache/stores/memory.ts +125 -0
  901. package/src/cache/stores/redis.ts +97 -0
  902. package/src/cache/stores/vercel.ts +59 -0
  903. package/src/cache/tag-aware-handler.ts +237 -0
  904. package/src/cache/timber-cache.ts +180 -48
  905. package/src/cdn/cloudflare-purge.ts +50 -0
  906. package/src/cdn/fastly-purge.ts +63 -0
  907. package/src/cdn/headers.ts +153 -0
  908. package/src/cdn/index.ts +23 -0
  909. package/src/cdn/purge-store.ts +34 -0
  910. package/src/cdn/workers-cache-purge.ts +34 -0
  911. package/src/cli-check.ts +507 -0
  912. package/src/cli-schema-sync.ts +401 -0
  913. package/src/cli.ts +262 -55
  914. package/src/client/browser-dev.ts +157 -2
  915. package/src/client/browser-entry/action-dispatch.ts +197 -0
  916. package/src/client/browser-entry/action-queue.ts +90 -0
  917. package/src/client/browser-entry/hmr.ts +70 -0
  918. package/src/client/browser-entry/hydrate.ts +148 -0
  919. package/src/client/browser-entry/index.ts +131 -0
  920. package/src/client/browser-entry/post-hydration.ts +123 -0
  921. package/src/client/browser-entry/router-init.ts +418 -0
  922. package/src/client/browser-entry/rsc-stream.ts +166 -0
  923. package/src/client/browser-entry/scroll.ts +50 -0
  924. package/src/client/deny-last-resort.tsx +54 -0
  925. package/src/client/error-boundary.tsx +316 -40
  926. package/src/client/error-reconstituter.tsx +79 -0
  927. package/src/client/form.tsx +36 -32
  928. package/src/client/global-context.ts +31 -0
  929. package/src/client/history.ts +81 -10
  930. package/src/client/index.ts +89 -53
  931. package/src/client/internal.ts +59 -0
  932. package/src/client/link.tsx +452 -159
  933. package/src/client/location-search.ts +15 -0
  934. package/src/client/navigation-api.ts +347 -0
  935. package/src/client/navigation-commit.ts +295 -0
  936. package/src/client/navigation-context.ts +67 -98
  937. package/src/client/navigation-root.tsx +224 -0
  938. package/src/client/navigation-transition.ts +327 -0
  939. package/src/client/nuqs-adapter.tsx +21 -9
  940. package/src/client/params-context.ts +187 -0
  941. package/src/client/react-root.ts +72 -0
  942. package/src/client/router-effects.ts +228 -0
  943. package/src/client/router-lifecycle.ts +354 -0
  944. package/src/client/router-pipeline.ts +490 -0
  945. package/src/client/router-ref.ts +3 -3
  946. package/src/client/router-skew.ts +30 -0
  947. package/src/client/router-types.ts +294 -0
  948. package/src/client/router.ts +436 -424
  949. package/src/client/rsc-fetch.ts +512 -73
  950. package/src/client/segment-cache.ts +327 -40
  951. package/src/client/segment-context.ts +13 -5
  952. package/src/client/segment-outlet.tsx +96 -0
  953. package/src/client/segment-update-context.ts +23 -0
  954. package/src/client/shallow-url.ts +22 -0
  955. package/src/client/slot-content-cache-context.ts +43 -0
  956. package/src/client/slot-context.ts +50 -0
  957. package/src/client/slot-outlet.tsx +22 -0
  958. package/src/client/slot-provider.tsx +32 -0
  959. package/src/client/ssr-data.ts +30 -9
  960. package/src/client/stale-client.ts +191 -0
  961. package/src/client/state.ts +29 -15
  962. package/src/client/status-page-marker.tsx +32 -0
  963. package/src/client/top-loader.tsx +36 -29
  964. package/src/client/unload-guard.ts +35 -3
  965. package/src/client/use-cookie.ts +70 -18
  966. package/src/client/use-link-status.ts +7 -7
  967. package/src/client/use-pathname.ts +22 -31
  968. package/src/client/use-pending-navigation.ts +40 -0
  969. package/src/client/use-query-states.ts +206 -36
  970. package/src/client/use-router.ts +6 -3
  971. package/src/client/use-search-params.ts +38 -49
  972. package/src/client/use-segment-params.ts +69 -0
  973. package/src/client/use-selected-layout-segment.ts +2 -2
  974. package/src/codec.ts +149 -0
  975. package/src/config-types.ts +322 -0
  976. package/src/config-validation.ts +347 -0
  977. package/src/cookies/define-cookie.ts +222 -53
  978. package/src/cookies/index.ts +13 -2
  979. package/src/cookies/json-cookie.ts +105 -0
  980. package/src/cookies/validation.ts +192 -0
  981. package/src/dev-tools/404-page.ts +286 -0
  982. package/src/dev-tools/browser-logs.ts +55 -0
  983. package/src/dev-tools/dev-page-shell.ts +260 -0
  984. package/src/dev-tools/error-page.ts +331 -0
  985. package/src/dev-tools/holding-server.ts +185 -0
  986. package/src/dev-tools/hydration-overlay.ts +158 -0
  987. package/src/dev-tools/index.ts +83 -0
  988. package/src/dev-tools/instrumentation.ts +213 -0
  989. package/src/{server/dev-logger.ts → dev-tools/logger.ts} +33 -51
  990. package/src/{plugins/dev-logs.ts → dev-tools/logs.ts} +122 -26
  991. package/src/dev-tools/overlay.ts +469 -0
  992. package/src/dev-tools/stack-classifier.ts +75 -0
  993. package/src/dev-tools/terminal.ts +182 -0
  994. package/src/fonts/ast-walk.ts +235 -0
  995. package/src/fonts/ast.ts +479 -128
  996. package/src/fonts/bundle.ts +138 -0
  997. package/src/fonts/css.ts +3 -2
  998. package/src/fonts/dev-middleware.ts +85 -0
  999. package/src/fonts/fallbacks.ts +0 -23
  1000. package/src/fonts/google.ts +101 -19
  1001. package/src/fonts/local.ts +13 -8
  1002. package/src/fonts/paths.ts +58 -0
  1003. package/src/fonts/pipeline.ts +348 -0
  1004. package/src/fonts/transform.ts +311 -0
  1005. package/src/fonts/types.ts +52 -1
  1006. package/src/fonts/virtual-modules.ts +179 -0
  1007. package/src/index.ts +486 -344
  1008. package/src/params/codec-registry.ts +34 -0
  1009. package/src/params/define-schema.ts +115 -0
  1010. package/src/params/index.ts +17 -0
  1011. package/src/params/resolve-schema.ts +84 -0
  1012. package/src/plugin-context.ts +503 -0
  1013. package/src/plugins/adapter-build.ts +229 -7
  1014. package/src/plugins/build-manifest.ts +201 -26
  1015. package/src/plugins/build-report.ts +275 -43
  1016. package/src/plugins/cache.ts +243 -0
  1017. package/src/plugins/callsite-ast.ts +472 -0
  1018. package/src/plugins/callsite-jsx.ts +243 -0
  1019. package/src/plugins/chunks.ts +74 -5
  1020. package/src/plugins/client-chunks.ts +185 -0
  1021. package/src/plugins/cloudflare-wasm.ts +141 -0
  1022. package/src/plugins/content.ts +5 -1
  1023. package/src/plugins/dev-discovery.ts +218 -0
  1024. package/src/plugins/dev-server.ts +369 -96
  1025. package/src/plugins/entries.ts +148 -18
  1026. package/src/plugins/fonts.ts +251 -524
  1027. package/src/plugins/graph-endpoint.ts +532 -0
  1028. package/src/plugins/mdx.ts +116 -40
  1029. package/src/plugins/prebuilt-capture.ts +217 -0
  1030. package/src/plugins/prebuilt-options-analysis.ts +175 -0
  1031. package/src/plugins/prebuilt.ts +655 -0
  1032. package/src/plugins/prerender-sugar.ts +320 -0
  1033. package/src/plugins/request-dep/analysis.ts +447 -0
  1034. package/src/plugins/request-dep/index.ts +376 -0
  1035. package/src/plugins/request-dep/origin.ts +310 -0
  1036. package/src/plugins/routing.ts +273 -277
  1037. package/src/plugins/server-bundle.ts +103 -14
  1038. package/src/plugins/shims.ts +259 -97
  1039. package/src/plugins/static-build.ts +708 -66
  1040. package/src/react-canary.d.ts +2 -0
  1041. package/src/routing/codegen-shared.ts +39 -0
  1042. package/src/routing/codegen-types.ts +62 -0
  1043. package/src/routing/codegen-write.ts +141 -0
  1044. package/src/routing/codegen.ts +349 -232
  1045. package/src/routing/collision-probe.ts +438 -0
  1046. package/src/routing/collision-spaces.ts +281 -0
  1047. package/src/routing/convention-lint.ts +623 -0
  1048. package/src/routing/export-detect.ts +448 -0
  1049. package/src/routing/file-cache.ts +23 -0
  1050. package/src/routing/index.ts +16 -7
  1051. package/src/routing/interception-overlap.ts +141 -0
  1052. package/src/routing/interception.ts +1044 -67
  1053. package/src/routing/link-codegen.ts +280 -0
  1054. package/src/routing/manifest-codegen.ts +226 -0
  1055. package/src/routing/scanner.ts +393 -219
  1056. package/src/routing/schema-validation.ts +155 -0
  1057. package/src/routing/segment-classify.ts +280 -0
  1058. package/src/routing/segment-codegen.ts +98 -0
  1059. package/src/routing/segment-keys.ts +186 -0
  1060. package/src/routing/slot-placement.ts +97 -0
  1061. package/src/routing/types.ts +75 -26
  1062. package/src/routing/walkers.ts +98 -0
  1063. package/src/rsc-runtime/rsc.ts +9 -0
  1064. package/src/rsc-runtime/ssr.ts +51 -0
  1065. package/src/rsc-runtime/transforms.ts +13 -0
  1066. package/src/rsc-runtime/vendor-types.d.ts +19 -0
  1067. package/src/schema-bridge.ts +380 -0
  1068. package/src/search-params/define.ts +677 -0
  1069. package/src/search-params/index.ts +14 -20
  1070. package/src/search-params/parse-total.ts +91 -0
  1071. package/src/search-params/serialize-equal.ts +14 -0
  1072. package/src/search-params/wrappers.ts +150 -0
  1073. package/src/server/access-gate.tsx +196 -57
  1074. package/src/server/action-client.ts +136 -35
  1075. package/src/server/action-encryption.ts +144 -0
  1076. package/src/server/action-handler.ts +256 -56
  1077. package/src/server/actions.ts +112 -68
  1078. package/src/server/als-registry.ts +160 -21
  1079. package/src/server/asset-headers.ts +15 -37
  1080. package/src/server/body-limits.ts +10 -2
  1081. package/src/server/build-manifest.ts +33 -57
  1082. package/src/server/canonicalize.ts +6 -3
  1083. package/src/server/chain-url-parts.ts +163 -0
  1084. package/src/server/children-interception.ts +115 -0
  1085. package/src/server/coalesce-tick.ts +75 -0
  1086. package/src/server/compress.ts +43 -8
  1087. package/src/server/cookie-context.ts +484 -0
  1088. package/src/server/cookie-parsing.ts +163 -0
  1089. package/src/server/csp-nonce.ts +70 -0
  1090. package/src/server/csrf.ts +39 -6
  1091. package/src/server/debug.ts +137 -0
  1092. package/src/server/default-logger.ts +99 -0
  1093. package/src/server/default-status-page.ts +88 -0
  1094. package/src/server/deny-boundary.ts +533 -0
  1095. package/src/server/deny-renderer.ts +214 -112
  1096. package/src/server/dev-source-map.ts +31 -0
  1097. package/src/server/early-hints-sender.ts +4 -3
  1098. package/src/server/early-hints.ts +39 -29
  1099. package/src/server/error-boundary-wrapper.ts +181 -44
  1100. package/src/server/error-response-headers.ts +18 -0
  1101. package/src/server/fallback-error.ts +79 -102
  1102. package/src/server/flight-injection-state.ts +113 -0
  1103. package/src/server/flight-scripts.ts +67 -0
  1104. package/src/server/form-data.ts +124 -12
  1105. package/src/server/form-flash.ts +2 -2
  1106. package/src/server/head-response.ts +54 -0
  1107. package/src/server/html-injector-core.ts +512 -0
  1108. package/src/server/html-injectors.ts +272 -235
  1109. package/src/server/index.ts +40 -192
  1110. package/src/server/instrumentation.ts +1 -1
  1111. package/src/server/internal.ts +173 -0
  1112. package/src/server/logger.ts +73 -36
  1113. package/src/server/metadata-collector.ts +174 -0
  1114. package/src/server/metadata-platform.ts +2 -2
  1115. package/src/server/metadata-render.ts +30 -8
  1116. package/src/server/metadata-routes.ts +205 -24
  1117. package/src/server/metadata-social.ts +2 -2
  1118. package/src/server/metadata.ts +23 -2
  1119. package/src/server/middleware-runner.ts +32 -5
  1120. package/src/server/node-stream-transforms.ts +323 -0
  1121. package/src/server/nuqs-ssr-provider.tsx +8 -7
  1122. package/src/server/param-coercion.ts +198 -0
  1123. package/src/server/pipeline-helpers.ts +159 -0
  1124. package/src/server/pipeline-interception.ts +109 -33
  1125. package/src/server/pipeline-metadata.ts +15 -1
  1126. package/src/server/pipeline-outcome.ts +218 -0
  1127. package/src/server/pipeline-phases.ts +606 -0
  1128. package/src/server/pipeline.ts +343 -389
  1129. package/src/server/port-resolution.ts +53 -0
  1130. package/src/server/prebuilt/cache-key.ts +299 -0
  1131. package/src/server/prebuilt/capture-state.ts +89 -0
  1132. package/src/server/prebuilt/key-discipline.ts +122 -0
  1133. package/src/server/prebuilt/manifest-tag-index.ts +46 -0
  1134. package/src/server/prebuilt/overlay.ts +256 -0
  1135. package/src/server/prebuilt/payload-source.ts +202 -0
  1136. package/src/server/prebuilt/slots.ts +190 -0
  1137. package/src/server/prebuilt/synthetic-store.ts +122 -0
  1138. package/src/server/prebuilt-builder.ts +804 -0
  1139. package/src/server/prebuilt-runtime.ts +817 -0
  1140. package/src/server/primitives.ts +246 -97
  1141. package/src/server/publish-params.ts +42 -0
  1142. package/src/server/render-timeout.ts +108 -0
  1143. package/src/server/render-utils.ts +35 -0
  1144. package/src/server/request-context.ts +244 -333
  1145. package/src/server/request-dep.ts +37 -0
  1146. package/src/server/response-cache-policy.ts +45 -0
  1147. package/src/server/route-element-builder.ts +508 -360
  1148. package/src/server/route-element-helpers.ts +37 -0
  1149. package/src/server/route-handler.ts +40 -13
  1150. package/src/server/route-matcher.ts +165 -272
  1151. package/src/server/route-module-loader.ts +161 -0
  1152. package/src/server/rsc-cache-key-guard.ts +122 -0
  1153. package/src/server/rsc-entry/action-middleware-runner.ts +174 -0
  1154. package/src/server/rsc-entry/api-handler.ts +78 -34
  1155. package/src/server/rsc-entry/deny-fallback.ts +93 -0
  1156. package/src/server/rsc-entry/error-renderer.ts +373 -95
  1157. package/src/server/rsc-entry/helpers.ts +226 -95
  1158. package/src/server/rsc-entry/index.ts +405 -323
  1159. package/src/server/rsc-entry/render-route.ts +304 -0
  1160. package/src/server/rsc-entry/revalidate-renderer.ts +350 -0
  1161. package/src/server/rsc-entry/rsc-payload.ts +239 -50
  1162. package/src/server/rsc-entry/rsc-stream.ts +160 -30
  1163. package/src/server/rsc-entry/ssr-bridge.ts +18 -5
  1164. package/src/server/rsc-entry/ssr-renderer.ts +315 -57
  1165. package/src/server/rsc-entry/wrap-action-dispatch.ts +186 -0
  1166. package/src/server/rsc-error-envelope.ts +18 -0
  1167. package/src/server/rsc-prop-warnings.ts +3 -1
  1168. package/src/server/safe-load.ts +60 -0
  1169. package/src/server/sensitive-fields.ts +230 -0
  1170. package/src/server/server-only-guard-noop.js +3 -0
  1171. package/src/server/server-timing.ts +1 -1
  1172. package/src/server/sitemap-generator.ts +337 -0
  1173. package/src/server/sitemap-handler.ts +157 -0
  1174. package/src/server/skippable-prefix.ts +172 -0
  1175. package/src/server/slot-interception.ts +168 -0
  1176. package/src/server/slot-resolver.ts +707 -300
  1177. package/src/server/slot-subtree-contain.ts +255 -0
  1178. package/src/server/ssr-bridge-types.ts +165 -0
  1179. package/src/server/ssr-entry.ts +230 -85
  1180. package/src/server/ssr-render.ts +357 -85
  1181. package/src/server/ssr-wrappers.tsx +162 -0
  1182. package/src/server/state-tree-diff.ts +85 -30
  1183. package/src/server/static-generator.ts +715 -0
  1184. package/src/server/static-not-found.ts +134 -0
  1185. package/src/server/status-code-resolver.ts +107 -148
  1186. package/src/server/stream-utils.ts +292 -0
  1187. package/src/server/tracing.ts +151 -16
  1188. package/src/server/tree-match.ts +262 -0
  1189. package/src/server/types.ts +95 -10
  1190. package/src/server/utils/element-type.ts +88 -0
  1191. package/src/server/utils/escape-html.ts +20 -0
  1192. package/src/server/utils/mdx-file.ts +22 -0
  1193. package/src/server/version-skew.ts +104 -0
  1194. package/src/server/waituntil-bridge.ts +5 -2
  1195. package/src/server/workers-cache-bridge.ts +33 -0
  1196. package/src/shared/als-slots.ts +74 -0
  1197. package/src/shared/base-path.ts +80 -0
  1198. package/src/shared/href-validation.ts +159 -0
  1199. package/src/shared/merge-search-params.ts +55 -0
  1200. package/src/shared/param-value.ts +281 -0
  1201. package/src/shared/payload-root.ts +152 -0
  1202. package/src/shared/redirect-type.ts +17 -0
  1203. package/src/shared/rsc-cache-key.ts +269 -0
  1204. package/src/shared/rsc-error-envelope.ts +16 -0
  1205. package/src/shared/rsc-manifest.ts +29 -0
  1206. package/src/shared/rsc-media-type.ts +59 -0
  1207. package/src/shared/rsc-payload-path.ts +45 -0
  1208. package/src/shared/segment-info.ts +67 -0
  1209. package/src/shared/slot-params.ts +109 -0
  1210. package/src/shared/static-platform-files.ts +75 -0
  1211. package/src/shared/status-reason-phrase.ts +61 -0
  1212. package/src/shims/font-google.ts +1 -1
  1213. package/src/shims/font-local.ts +34 -0
  1214. package/src/shims/headers.ts +122 -1
  1215. package/src/shims/navigation-client.ts +36 -32
  1216. package/src/shims/navigation-rsc.ts +47 -0
  1217. package/src/shims/navigation.ts +10 -7
  1218. package/src/utils/state-machine.ts +111 -0
  1219. package/dist/_chunks/als-registry-k-AtAQ9R.js +0 -41
  1220. package/dist/_chunks/als-registry-k-AtAQ9R.js.map +0 -1
  1221. package/dist/_chunks/format-DNt20Kt8.js +0 -163
  1222. package/dist/_chunks/format-DNt20Kt8.js.map +0 -1
  1223. package/dist/_chunks/interception-DGDIjDbR.js +0 -676
  1224. package/dist/_chunks/interception-DGDIjDbR.js.map +0 -1
  1225. package/dist/_chunks/metadata-routes-CQCnF4VK.js +0 -153
  1226. package/dist/_chunks/metadata-routes-CQCnF4VK.js.map +0 -1
  1227. package/dist/_chunks/request-context-CRj2Zh1E.js +0 -329
  1228. package/dist/_chunks/request-context-CRj2Zh1E.js.map +0 -1
  1229. package/dist/_chunks/ssr-data-DLnbYpj1.js.map +0 -1
  1230. package/dist/_chunks/tracing-DF0G3FB7.js +0 -173
  1231. package/dist/_chunks/tracing-DF0G3FB7.js.map +0 -1
  1232. package/dist/_chunks/use-cookie-dDbpCTx-.js +0 -91
  1233. package/dist/_chunks/use-cookie-dDbpCTx-.js.map +0 -1
  1234. package/dist/_chunks/use-query-states-DAhgj8Gx.js +0 -109
  1235. package/dist/_chunks/use-query-states-DAhgj8Gx.js.map +0 -1
  1236. package/dist/adapters/cloudflare.js.map +0 -1
  1237. package/dist/cache/index.js.map +0 -1
  1238. package/dist/cache/register-cached-function.d.ts +0 -17
  1239. package/dist/cache/register-cached-function.d.ts.map +0 -1
  1240. package/dist/client/browser-entry.d.ts +0 -21
  1241. package/dist/client/browser-entry.d.ts.map +0 -1
  1242. package/dist/client/error-boundary.js.map +0 -1
  1243. package/dist/client/head.d.ts +0 -16
  1244. package/dist/client/head.d.ts.map +0 -1
  1245. package/dist/client/link-status-provider.d.ts +0 -11
  1246. package/dist/client/link-status-provider.d.ts.map +0 -1
  1247. package/dist/client/segment-merger.d.ts +0 -119
  1248. package/dist/client/segment-merger.d.ts.map +0 -1
  1249. package/dist/client/stale-reload.d.ts +0 -44
  1250. package/dist/client/stale-reload.d.ts.map +0 -1
  1251. package/dist/client/transition-root.d.ts +0 -74
  1252. package/dist/client/transition-root.d.ts.map +0 -1
  1253. package/dist/client/use-navigation-pending.d.ts +0 -26
  1254. package/dist/client/use-navigation-pending.d.ts.map +0 -1
  1255. package/dist/client/use-params.d.ts +0 -92
  1256. package/dist/client/use-params.d.ts.map +0 -1
  1257. package/dist/content/index.d.ts +0 -11
  1258. package/dist/content/index.d.ts.map +0 -1
  1259. package/dist/content/index.js +0 -2
  1260. package/dist/plugins/cache-transform.d.ts +0 -36
  1261. package/dist/plugins/cache-transform.d.ts.map +0 -1
  1262. package/dist/plugins/dev-error-overlay.d.ts +0 -60
  1263. package/dist/plugins/dev-error-overlay.d.ts.map +0 -1
  1264. package/dist/plugins/dev-logs.d.ts.map +0 -1
  1265. package/dist/plugins/dynamic-transform.d.ts +0 -72
  1266. package/dist/plugins/dynamic-transform.d.ts.map +0 -1
  1267. package/dist/plugins/server-action-exports.d.ts +0 -26
  1268. package/dist/plugins/server-action-exports.d.ts.map +0 -1
  1269. package/dist/routing/status-file-lint.d.ts +0 -33
  1270. package/dist/routing/status-file-lint.d.ts.map +0 -1
  1271. package/dist/search-params/analyze.d.ts +0 -54
  1272. package/dist/search-params/analyze.d.ts.map +0 -1
  1273. package/dist/search-params/builtin-codecs.d.ts +0 -105
  1274. package/dist/search-params/builtin-codecs.d.ts.map +0 -1
  1275. package/dist/search-params/codecs.d.ts +0 -53
  1276. package/dist/search-params/codecs.d.ts.map +0 -1
  1277. package/dist/search-params/create.d.ts +0 -106
  1278. package/dist/search-params/create.d.ts.map +0 -1
  1279. package/dist/search-params/registry.d.ts +0 -20
  1280. package/dist/search-params/registry.d.ts.map +0 -1
  1281. package/dist/server/client-module-map.d.ts +0 -47
  1282. package/dist/server/client-module-map.d.ts.map +0 -1
  1283. package/dist/server/dev-fetch-instrumentation.d.ts +0 -22
  1284. package/dist/server/dev-fetch-instrumentation.d.ts.map +0 -1
  1285. package/dist/server/dev-logger.d.ts.map +0 -1
  1286. package/dist/server/dev-span-processor.d.ts +0 -29
  1287. package/dist/server/dev-span-processor.d.ts.map +0 -1
  1288. package/dist/server/dev-warnings.d.ts +0 -129
  1289. package/dist/server/dev-warnings.d.ts.map +0 -1
  1290. package/dist/server/flush.d.ts +0 -74
  1291. package/dist/server/flush.d.ts.map +0 -1
  1292. package/dist/server/manifest-status-resolver.d.ts +0 -58
  1293. package/dist/server/manifest-status-resolver.d.ts.map +0 -1
  1294. package/dist/server/prerender.d.ts +0 -77
  1295. package/dist/server/prerender.d.ts.map +0 -1
  1296. package/dist/server/tree-builder.d.ts +0 -126
  1297. package/dist/server/tree-builder.d.ts.map +0 -1
  1298. package/dist/utils/directive-parser.d.ts +0 -70
  1299. package/dist/utils/directive-parser.d.ts.map +0 -1
  1300. package/src/cache/register-cached-function.ts +0 -99
  1301. package/src/client/browser-entry.ts +0 -674
  1302. package/src/client/head.ts +0 -61
  1303. package/src/client/link-status-provider.tsx +0 -30
  1304. package/src/client/segment-merger.ts +0 -345
  1305. package/src/client/stale-reload.ts +0 -89
  1306. package/src/client/transition-root.tsx +0 -160
  1307. package/src/client/use-navigation-pending.ts +0 -38
  1308. package/src/client/use-params.ts +0 -141
  1309. package/src/content/index.ts +0 -13
  1310. package/src/plugins/cache-transform.ts +0 -199
  1311. package/src/plugins/dev-error-overlay.ts +0 -230
  1312. package/src/plugins/dynamic-transform.ts +0 -161
  1313. package/src/plugins/server-action-exports.ts +0 -220
  1314. package/src/routing/status-file-lint.ts +0 -112
  1315. package/src/search-params/analyze.ts +0 -192
  1316. package/src/search-params/builtin-codecs.ts +0 -228
  1317. package/src/search-params/codecs.ts +0 -153
  1318. package/src/search-params/create.ts +0 -321
  1319. package/src/search-params/registry.ts +0 -31
  1320. package/src/server/client-module-map.ts +0 -58
  1321. package/src/server/dev-fetch-instrumentation.ts +0 -96
  1322. package/src/server/dev-span-processor.ts +0 -78
  1323. package/src/server/dev-warnings.ts +0 -282
  1324. package/src/server/flush.ts +0 -182
  1325. package/src/server/manifest-status-resolver.ts +0 -215
  1326. package/src/server/prerender.ts +0 -139
  1327. package/src/server/tree-builder.ts +0 -382
  1328. package/src/shims/server-only-noop.js +0 -6
  1329. package/src/utils/directive-parser.ts +0 -529
@@ -0,0 +1,1290 @@
1
+ import { t as RSC_CONTENT_TYPE } from "./rsc-media-type-DDc7duTD.js";
2
+ import { t as RSC_KEY_HEADERS } from "./rsc-cache-key-ClUiXQnK.js";
3
+ import { i as writeHeadersFile, n as findUnhashedStaticFiles, r as runSharedBuildSteps, t as buildStaticDirectoryOutput } from "./build-output-helper-9dqCv1pZ.js";
4
+ import { join, relative } from "node:path";
5
+ import { access, readFile, readdir, rm, writeFile } from "node:fs/promises";
6
+ import { AsyncLocalStorage } from "node:async_hooks";
7
+ import { execFile } from "node:child_process";
8
+ //#region ../../node_modules/.pnpm/jsonc-parser@3.3.1/node_modules/jsonc-parser/lib/esm/impl/scanner.js
9
+ /**
10
+ * Creates a JSON scanner on the given text.
11
+ * If ignoreTrivia is set, whitespaces or comments are ignored.
12
+ */
13
+ function createScanner(text, ignoreTrivia = false) {
14
+ const len = text.length;
15
+ let pos = 0, value = "", tokenOffset = 0, token = 16, lineNumber = 0, lineStartOffset = 0, tokenLineStartOffset = 0, prevTokenLineStartOffset = 0, scanError = 0;
16
+ function scanHexDigits(count, exact) {
17
+ let digits = 0;
18
+ let value = 0;
19
+ while (digits < count || !exact) {
20
+ let ch = text.charCodeAt(pos);
21
+ if (ch >= 48 && ch <= 57) value = value * 16 + ch - 48;
22
+ else if (ch >= 65 && ch <= 70) value = value * 16 + ch - 65 + 10;
23
+ else if (ch >= 97 && ch <= 102) value = value * 16 + ch - 97 + 10;
24
+ else break;
25
+ pos++;
26
+ digits++;
27
+ }
28
+ if (digits < count) value = -1;
29
+ return value;
30
+ }
31
+ function setPosition(newPosition) {
32
+ pos = newPosition;
33
+ value = "";
34
+ tokenOffset = 0;
35
+ token = 16;
36
+ scanError = 0;
37
+ }
38
+ function scanNumber() {
39
+ let start = pos;
40
+ if (text.charCodeAt(pos) === 48) pos++;
41
+ else {
42
+ pos++;
43
+ while (pos < text.length && isDigit(text.charCodeAt(pos))) pos++;
44
+ }
45
+ if (pos < text.length && text.charCodeAt(pos) === 46) {
46
+ pos++;
47
+ if (pos < text.length && isDigit(text.charCodeAt(pos))) {
48
+ pos++;
49
+ while (pos < text.length && isDigit(text.charCodeAt(pos))) pos++;
50
+ } else {
51
+ scanError = 3;
52
+ return text.substring(start, pos);
53
+ }
54
+ }
55
+ let end = pos;
56
+ if (pos < text.length && (text.charCodeAt(pos) === 69 || text.charCodeAt(pos) === 101)) {
57
+ pos++;
58
+ if (pos < text.length && text.charCodeAt(pos) === 43 || text.charCodeAt(pos) === 45) pos++;
59
+ if (pos < text.length && isDigit(text.charCodeAt(pos))) {
60
+ pos++;
61
+ while (pos < text.length && isDigit(text.charCodeAt(pos))) pos++;
62
+ end = pos;
63
+ } else scanError = 3;
64
+ }
65
+ return text.substring(start, end);
66
+ }
67
+ function scanString() {
68
+ let result = "", start = pos;
69
+ while (true) {
70
+ if (pos >= len) {
71
+ result += text.substring(start, pos);
72
+ scanError = 2;
73
+ break;
74
+ }
75
+ const ch = text.charCodeAt(pos);
76
+ if (ch === 34) {
77
+ result += text.substring(start, pos);
78
+ pos++;
79
+ break;
80
+ }
81
+ if (ch === 92) {
82
+ result += text.substring(start, pos);
83
+ pos++;
84
+ if (pos >= len) {
85
+ scanError = 2;
86
+ break;
87
+ }
88
+ switch (text.charCodeAt(pos++)) {
89
+ case 34:
90
+ result += "\"";
91
+ break;
92
+ case 92:
93
+ result += "\\";
94
+ break;
95
+ case 47:
96
+ result += "/";
97
+ break;
98
+ case 98:
99
+ result += "\b";
100
+ break;
101
+ case 102:
102
+ result += "\f";
103
+ break;
104
+ case 110:
105
+ result += "\n";
106
+ break;
107
+ case 114:
108
+ result += "\r";
109
+ break;
110
+ case 116:
111
+ result += " ";
112
+ break;
113
+ case 117:
114
+ const ch3 = scanHexDigits(4, true);
115
+ if (ch3 >= 0) result += String.fromCharCode(ch3);
116
+ else scanError = 4;
117
+ break;
118
+ default: scanError = 5;
119
+ }
120
+ start = pos;
121
+ continue;
122
+ }
123
+ if (ch >= 0 && ch <= 31) {
124
+ if (isLineBreak(ch)) {
125
+ result += text.substring(start, pos);
126
+ scanError = 2;
127
+ break;
128
+ } else scanError = 6;
129
+ }
130
+ pos++;
131
+ }
132
+ return result;
133
+ }
134
+ function scanNext() {
135
+ value = "";
136
+ scanError = 0;
137
+ tokenOffset = pos;
138
+ lineStartOffset = lineNumber;
139
+ prevTokenLineStartOffset = tokenLineStartOffset;
140
+ if (pos >= len) {
141
+ tokenOffset = len;
142
+ return token = 17;
143
+ }
144
+ let code = text.charCodeAt(pos);
145
+ if (isWhiteSpace(code)) {
146
+ do {
147
+ pos++;
148
+ value += String.fromCharCode(code);
149
+ code = text.charCodeAt(pos);
150
+ } while (isWhiteSpace(code));
151
+ return token = 15;
152
+ }
153
+ if (isLineBreak(code)) {
154
+ pos++;
155
+ value += String.fromCharCode(code);
156
+ if (code === 13 && text.charCodeAt(pos) === 10) {
157
+ pos++;
158
+ value += "\n";
159
+ }
160
+ lineNumber++;
161
+ tokenLineStartOffset = pos;
162
+ return token = 14;
163
+ }
164
+ switch (code) {
165
+ case 123:
166
+ pos++;
167
+ return token = 1;
168
+ case 125:
169
+ pos++;
170
+ return token = 2;
171
+ case 91:
172
+ pos++;
173
+ return token = 3;
174
+ case 93:
175
+ pos++;
176
+ return token = 4;
177
+ case 58:
178
+ pos++;
179
+ return token = 6;
180
+ case 44:
181
+ pos++;
182
+ return token = 5;
183
+ case 34:
184
+ pos++;
185
+ value = scanString();
186
+ return token = 10;
187
+ case 47:
188
+ const start = pos - 1;
189
+ if (text.charCodeAt(pos + 1) === 47) {
190
+ pos += 2;
191
+ while (pos < len) {
192
+ if (isLineBreak(text.charCodeAt(pos))) break;
193
+ pos++;
194
+ }
195
+ value = text.substring(start, pos);
196
+ return token = 12;
197
+ }
198
+ if (text.charCodeAt(pos + 1) === 42) {
199
+ pos += 2;
200
+ const safeLength = len - 1;
201
+ let commentClosed = false;
202
+ while (pos < safeLength) {
203
+ const ch = text.charCodeAt(pos);
204
+ if (ch === 42 && text.charCodeAt(pos + 1) === 47) {
205
+ pos += 2;
206
+ commentClosed = true;
207
+ break;
208
+ }
209
+ pos++;
210
+ if (isLineBreak(ch)) {
211
+ if (ch === 13 && text.charCodeAt(pos) === 10) pos++;
212
+ lineNumber++;
213
+ tokenLineStartOffset = pos;
214
+ }
215
+ }
216
+ if (!commentClosed) {
217
+ pos++;
218
+ scanError = 1;
219
+ }
220
+ value = text.substring(start, pos);
221
+ return token = 13;
222
+ }
223
+ value += String.fromCharCode(code);
224
+ pos++;
225
+ return token = 16;
226
+ case 45:
227
+ value += String.fromCharCode(code);
228
+ pos++;
229
+ if (pos === len || !isDigit(text.charCodeAt(pos))) return token = 16;
230
+ case 48:
231
+ case 49:
232
+ case 50:
233
+ case 51:
234
+ case 52:
235
+ case 53:
236
+ case 54:
237
+ case 55:
238
+ case 56:
239
+ case 57:
240
+ value += scanNumber();
241
+ return token = 11;
242
+ default:
243
+ while (pos < len && isUnknownContentCharacter(code)) {
244
+ pos++;
245
+ code = text.charCodeAt(pos);
246
+ }
247
+ if (tokenOffset !== pos) {
248
+ value = text.substring(tokenOffset, pos);
249
+ switch (value) {
250
+ case "true": return token = 8;
251
+ case "false": return token = 9;
252
+ case "null": return token = 7;
253
+ }
254
+ return token = 16;
255
+ }
256
+ value += String.fromCharCode(code);
257
+ pos++;
258
+ return token = 16;
259
+ }
260
+ }
261
+ function isUnknownContentCharacter(code) {
262
+ if (isWhiteSpace(code) || isLineBreak(code)) return false;
263
+ switch (code) {
264
+ case 125:
265
+ case 93:
266
+ case 123:
267
+ case 91:
268
+ case 34:
269
+ case 58:
270
+ case 44:
271
+ case 47: return false;
272
+ }
273
+ return true;
274
+ }
275
+ function scanNextNonTrivia() {
276
+ let result;
277
+ do
278
+ result = scanNext();
279
+ while (result >= 12 && result <= 15);
280
+ return result;
281
+ }
282
+ return {
283
+ setPosition,
284
+ getPosition: () => pos,
285
+ scan: ignoreTrivia ? scanNextNonTrivia : scanNext,
286
+ getToken: () => token,
287
+ getTokenValue: () => value,
288
+ getTokenOffset: () => tokenOffset,
289
+ getTokenLength: () => pos - tokenOffset,
290
+ getTokenStartLine: () => lineStartOffset,
291
+ getTokenStartCharacter: () => tokenOffset - prevTokenLineStartOffset,
292
+ getTokenError: () => scanError
293
+ };
294
+ }
295
+ function isWhiteSpace(ch) {
296
+ return ch === 32 || ch === 9;
297
+ }
298
+ function isLineBreak(ch) {
299
+ return ch === 10 || ch === 13;
300
+ }
301
+ function isDigit(ch) {
302
+ return ch >= 48 && ch <= 57;
303
+ }
304
+ var CharacterCodes;
305
+ (function(CharacterCodes) {
306
+ CharacterCodes[CharacterCodes["lineFeed"] = 10] = "lineFeed";
307
+ CharacterCodes[CharacterCodes["carriageReturn"] = 13] = "carriageReturn";
308
+ CharacterCodes[CharacterCodes["space"] = 32] = "space";
309
+ CharacterCodes[CharacterCodes["_0"] = 48] = "_0";
310
+ CharacterCodes[CharacterCodes["_1"] = 49] = "_1";
311
+ CharacterCodes[CharacterCodes["_2"] = 50] = "_2";
312
+ CharacterCodes[CharacterCodes["_3"] = 51] = "_3";
313
+ CharacterCodes[CharacterCodes["_4"] = 52] = "_4";
314
+ CharacterCodes[CharacterCodes["_5"] = 53] = "_5";
315
+ CharacterCodes[CharacterCodes["_6"] = 54] = "_6";
316
+ CharacterCodes[CharacterCodes["_7"] = 55] = "_7";
317
+ CharacterCodes[CharacterCodes["_8"] = 56] = "_8";
318
+ CharacterCodes[CharacterCodes["_9"] = 57] = "_9";
319
+ CharacterCodes[CharacterCodes["a"] = 97] = "a";
320
+ CharacterCodes[CharacterCodes["b"] = 98] = "b";
321
+ CharacterCodes[CharacterCodes["c"] = 99] = "c";
322
+ CharacterCodes[CharacterCodes["d"] = 100] = "d";
323
+ CharacterCodes[CharacterCodes["e"] = 101] = "e";
324
+ CharacterCodes[CharacterCodes["f"] = 102] = "f";
325
+ CharacterCodes[CharacterCodes["g"] = 103] = "g";
326
+ CharacterCodes[CharacterCodes["h"] = 104] = "h";
327
+ CharacterCodes[CharacterCodes["i"] = 105] = "i";
328
+ CharacterCodes[CharacterCodes["j"] = 106] = "j";
329
+ CharacterCodes[CharacterCodes["k"] = 107] = "k";
330
+ CharacterCodes[CharacterCodes["l"] = 108] = "l";
331
+ CharacterCodes[CharacterCodes["m"] = 109] = "m";
332
+ CharacterCodes[CharacterCodes["n"] = 110] = "n";
333
+ CharacterCodes[CharacterCodes["o"] = 111] = "o";
334
+ CharacterCodes[CharacterCodes["p"] = 112] = "p";
335
+ CharacterCodes[CharacterCodes["q"] = 113] = "q";
336
+ CharacterCodes[CharacterCodes["r"] = 114] = "r";
337
+ CharacterCodes[CharacterCodes["s"] = 115] = "s";
338
+ CharacterCodes[CharacterCodes["t"] = 116] = "t";
339
+ CharacterCodes[CharacterCodes["u"] = 117] = "u";
340
+ CharacterCodes[CharacterCodes["v"] = 118] = "v";
341
+ CharacterCodes[CharacterCodes["w"] = 119] = "w";
342
+ CharacterCodes[CharacterCodes["x"] = 120] = "x";
343
+ CharacterCodes[CharacterCodes["y"] = 121] = "y";
344
+ CharacterCodes[CharacterCodes["z"] = 122] = "z";
345
+ CharacterCodes[CharacterCodes["A"] = 65] = "A";
346
+ CharacterCodes[CharacterCodes["B"] = 66] = "B";
347
+ CharacterCodes[CharacterCodes["C"] = 67] = "C";
348
+ CharacterCodes[CharacterCodes["D"] = 68] = "D";
349
+ CharacterCodes[CharacterCodes["E"] = 69] = "E";
350
+ CharacterCodes[CharacterCodes["F"] = 70] = "F";
351
+ CharacterCodes[CharacterCodes["G"] = 71] = "G";
352
+ CharacterCodes[CharacterCodes["H"] = 72] = "H";
353
+ CharacterCodes[CharacterCodes["I"] = 73] = "I";
354
+ CharacterCodes[CharacterCodes["J"] = 74] = "J";
355
+ CharacterCodes[CharacterCodes["K"] = 75] = "K";
356
+ CharacterCodes[CharacterCodes["L"] = 76] = "L";
357
+ CharacterCodes[CharacterCodes["M"] = 77] = "M";
358
+ CharacterCodes[CharacterCodes["N"] = 78] = "N";
359
+ CharacterCodes[CharacterCodes["O"] = 79] = "O";
360
+ CharacterCodes[CharacterCodes["P"] = 80] = "P";
361
+ CharacterCodes[CharacterCodes["Q"] = 81] = "Q";
362
+ CharacterCodes[CharacterCodes["R"] = 82] = "R";
363
+ CharacterCodes[CharacterCodes["S"] = 83] = "S";
364
+ CharacterCodes[CharacterCodes["T"] = 84] = "T";
365
+ CharacterCodes[CharacterCodes["U"] = 85] = "U";
366
+ CharacterCodes[CharacterCodes["V"] = 86] = "V";
367
+ CharacterCodes[CharacterCodes["W"] = 87] = "W";
368
+ CharacterCodes[CharacterCodes["X"] = 88] = "X";
369
+ CharacterCodes[CharacterCodes["Y"] = 89] = "Y";
370
+ CharacterCodes[CharacterCodes["Z"] = 90] = "Z";
371
+ CharacterCodes[CharacterCodes["asterisk"] = 42] = "asterisk";
372
+ CharacterCodes[CharacterCodes["backslash"] = 92] = "backslash";
373
+ CharacterCodes[CharacterCodes["closeBrace"] = 125] = "closeBrace";
374
+ CharacterCodes[CharacterCodes["closeBracket"] = 93] = "closeBracket";
375
+ CharacterCodes[CharacterCodes["colon"] = 58] = "colon";
376
+ CharacterCodes[CharacterCodes["comma"] = 44] = "comma";
377
+ CharacterCodes[CharacterCodes["dot"] = 46] = "dot";
378
+ CharacterCodes[CharacterCodes["doubleQuote"] = 34] = "doubleQuote";
379
+ CharacterCodes[CharacterCodes["minus"] = 45] = "minus";
380
+ CharacterCodes[CharacterCodes["openBrace"] = 123] = "openBrace";
381
+ CharacterCodes[CharacterCodes["openBracket"] = 91] = "openBracket";
382
+ CharacterCodes[CharacterCodes["plus"] = 43] = "plus";
383
+ CharacterCodes[CharacterCodes["slash"] = 47] = "slash";
384
+ CharacterCodes[CharacterCodes["formFeed"] = 12] = "formFeed";
385
+ CharacterCodes[CharacterCodes["tab"] = 9] = "tab";
386
+ })(CharacterCodes || (CharacterCodes = {}));
387
+ new Array(20).fill(0).map((_, index) => {
388
+ return " ".repeat(index);
389
+ });
390
+ var maxCachedValues = 200;
391
+ new Array(maxCachedValues).fill(0).map((_, index) => {
392
+ return "\n" + " ".repeat(index);
393
+ }), new Array(maxCachedValues).fill(0).map((_, index) => {
394
+ return "\r" + " ".repeat(index);
395
+ }), new Array(maxCachedValues).fill(0).map((_, index) => {
396
+ return "\r\n" + " ".repeat(index);
397
+ }), new Array(maxCachedValues).fill(0).map((_, index) => {
398
+ return "\n" + " ".repeat(index);
399
+ }), new Array(maxCachedValues).fill(0).map((_, index) => {
400
+ return "\r" + " ".repeat(index);
401
+ }), new Array(maxCachedValues).fill(0).map((_, index) => {
402
+ return "\r\n" + " ".repeat(index);
403
+ });
404
+ //#endregion
405
+ //#region ../../node_modules/.pnpm/jsonc-parser@3.3.1/node_modules/jsonc-parser/lib/esm/impl/parser.js
406
+ var ParseOptions;
407
+ (function(ParseOptions) {
408
+ ParseOptions.DEFAULT = { allowTrailingComma: false };
409
+ })(ParseOptions || (ParseOptions = {}));
410
+ /**
411
+ * Parses the given text and returns the object the JSON content represents. On invalid input, the parser tries to be as fault tolerant as possible, but still return a result.
412
+ * Therefore always check the errors list to find out if the input was valid.
413
+ */
414
+ function parse$1(text, errors = [], options = ParseOptions.DEFAULT) {
415
+ let currentProperty = null;
416
+ let currentParent = [];
417
+ const previousParents = [];
418
+ function onValue(value) {
419
+ if (Array.isArray(currentParent)) currentParent.push(value);
420
+ else if (currentProperty !== null) currentParent[currentProperty] = value;
421
+ }
422
+ visit(text, {
423
+ onObjectBegin: () => {
424
+ const object = {};
425
+ onValue(object);
426
+ previousParents.push(currentParent);
427
+ currentParent = object;
428
+ currentProperty = null;
429
+ },
430
+ onObjectProperty: (name) => {
431
+ currentProperty = name;
432
+ },
433
+ onObjectEnd: () => {
434
+ currentParent = previousParents.pop();
435
+ },
436
+ onArrayBegin: () => {
437
+ const array = [];
438
+ onValue(array);
439
+ previousParents.push(currentParent);
440
+ currentParent = array;
441
+ currentProperty = null;
442
+ },
443
+ onArrayEnd: () => {
444
+ currentParent = previousParents.pop();
445
+ },
446
+ onLiteralValue: onValue,
447
+ onError: (error, offset, length) => {
448
+ errors.push({
449
+ error,
450
+ offset,
451
+ length
452
+ });
453
+ }
454
+ }, options);
455
+ return currentParent[0];
456
+ }
457
+ /**
458
+ * Parses the given text and invokes the visitor functions for each object, array and literal reached.
459
+ */
460
+ function visit(text, visitor, options = ParseOptions.DEFAULT) {
461
+ const _scanner = createScanner(text, false);
462
+ const _jsonPath = [];
463
+ let suppressedCallbacks = 0;
464
+ function toNoArgVisit(visitFunction) {
465
+ return visitFunction ? () => suppressedCallbacks === 0 && visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter()) : () => true;
466
+ }
467
+ function toOneArgVisit(visitFunction) {
468
+ return visitFunction ? (arg) => suppressedCallbacks === 0 && visitFunction(arg, _scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter()) : () => true;
469
+ }
470
+ function toOneArgVisitWithPath(visitFunction) {
471
+ return visitFunction ? (arg) => suppressedCallbacks === 0 && visitFunction(arg, _scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter(), () => _jsonPath.slice()) : () => true;
472
+ }
473
+ function toBeginVisit(visitFunction) {
474
+ return visitFunction ? () => {
475
+ if (suppressedCallbacks > 0) suppressedCallbacks++;
476
+ else if (visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter(), () => _jsonPath.slice()) === false) suppressedCallbacks = 1;
477
+ } : () => true;
478
+ }
479
+ function toEndVisit(visitFunction) {
480
+ return visitFunction ? () => {
481
+ if (suppressedCallbacks > 0) suppressedCallbacks--;
482
+ if (suppressedCallbacks === 0) visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength(), _scanner.getTokenStartLine(), _scanner.getTokenStartCharacter());
483
+ } : () => true;
484
+ }
485
+ const onObjectBegin = toBeginVisit(visitor.onObjectBegin), onObjectProperty = toOneArgVisitWithPath(visitor.onObjectProperty), onObjectEnd = toEndVisit(visitor.onObjectEnd), onArrayBegin = toBeginVisit(visitor.onArrayBegin), onArrayEnd = toEndVisit(visitor.onArrayEnd), onLiteralValue = toOneArgVisitWithPath(visitor.onLiteralValue), onSeparator = toOneArgVisit(visitor.onSeparator), onComment = toNoArgVisit(visitor.onComment), onError = toOneArgVisit(visitor.onError);
486
+ const disallowComments = options && options.disallowComments;
487
+ const allowTrailingComma = options && options.allowTrailingComma;
488
+ function scanNext() {
489
+ while (true) {
490
+ const token = _scanner.scan();
491
+ switch (_scanner.getTokenError()) {
492
+ case 4:
493
+ handleError(14);
494
+ break;
495
+ case 5:
496
+ handleError(15);
497
+ break;
498
+ case 3:
499
+ handleError(13);
500
+ break;
501
+ case 1:
502
+ if (!disallowComments) handleError(11);
503
+ break;
504
+ case 2:
505
+ handleError(12);
506
+ break;
507
+ case 6: handleError(16);
508
+ }
509
+ switch (token) {
510
+ case 12:
511
+ case 13:
512
+ if (disallowComments) handleError(10);
513
+ else onComment();
514
+ break;
515
+ case 16:
516
+ handleError(1);
517
+ break;
518
+ case 15:
519
+ case 14: break;
520
+ default: return token;
521
+ }
522
+ }
523
+ }
524
+ function handleError(error, skipUntilAfter = [], skipUntil = []) {
525
+ onError(error);
526
+ if (skipUntilAfter.length + skipUntil.length > 0) {
527
+ let token = _scanner.getToken();
528
+ while (token !== 17) {
529
+ if (skipUntilAfter.indexOf(token) !== -1) {
530
+ scanNext();
531
+ break;
532
+ } else if (skipUntil.indexOf(token) !== -1) break;
533
+ token = scanNext();
534
+ }
535
+ }
536
+ }
537
+ function parseString(isValue) {
538
+ const value = _scanner.getTokenValue();
539
+ if (isValue) onLiteralValue(value);
540
+ else {
541
+ onObjectProperty(value);
542
+ _jsonPath.push(value);
543
+ }
544
+ scanNext();
545
+ return true;
546
+ }
547
+ function parseLiteral() {
548
+ switch (_scanner.getToken()) {
549
+ case 11:
550
+ const tokenValue = _scanner.getTokenValue();
551
+ let value = Number(tokenValue);
552
+ if (isNaN(value)) {
553
+ handleError(2);
554
+ value = 0;
555
+ }
556
+ onLiteralValue(value);
557
+ break;
558
+ case 7:
559
+ onLiteralValue(null);
560
+ break;
561
+ case 8:
562
+ onLiteralValue(true);
563
+ break;
564
+ case 9:
565
+ onLiteralValue(false);
566
+ break;
567
+ default: return false;
568
+ }
569
+ scanNext();
570
+ return true;
571
+ }
572
+ function parseProperty() {
573
+ if (_scanner.getToken() !== 10) {
574
+ handleError(3, [], [2, 5]);
575
+ return false;
576
+ }
577
+ parseString(false);
578
+ if (_scanner.getToken() === 6) {
579
+ onSeparator(":");
580
+ scanNext();
581
+ if (!parseValue()) handleError(4, [], [2, 5]);
582
+ } else handleError(5, [], [2, 5]);
583
+ _jsonPath.pop();
584
+ return true;
585
+ }
586
+ function parseObject() {
587
+ onObjectBegin();
588
+ scanNext();
589
+ let needsComma = false;
590
+ while (_scanner.getToken() !== 2 && _scanner.getToken() !== 17) {
591
+ if (_scanner.getToken() === 5) {
592
+ if (!needsComma) handleError(4, [], []);
593
+ onSeparator(",");
594
+ scanNext();
595
+ if (_scanner.getToken() === 2 && allowTrailingComma) break;
596
+ } else if (needsComma) handleError(6, [], []);
597
+ if (!parseProperty()) handleError(4, [], [2, 5]);
598
+ needsComma = true;
599
+ }
600
+ onObjectEnd();
601
+ if (_scanner.getToken() !== 2) handleError(7, [2], []);
602
+ else scanNext();
603
+ return true;
604
+ }
605
+ function parseArray() {
606
+ onArrayBegin();
607
+ scanNext();
608
+ let isFirstElement = true;
609
+ let needsComma = false;
610
+ while (_scanner.getToken() !== 4 && _scanner.getToken() !== 17) {
611
+ if (_scanner.getToken() === 5) {
612
+ if (!needsComma) handleError(4, [], []);
613
+ onSeparator(",");
614
+ scanNext();
615
+ if (_scanner.getToken() === 4 && allowTrailingComma) break;
616
+ } else if (needsComma) handleError(6, [], []);
617
+ if (isFirstElement) {
618
+ _jsonPath.push(0);
619
+ isFirstElement = false;
620
+ } else _jsonPath[_jsonPath.length - 1]++;
621
+ if (!parseValue()) handleError(4, [], [4, 5]);
622
+ needsComma = true;
623
+ }
624
+ onArrayEnd();
625
+ if (!isFirstElement) _jsonPath.pop();
626
+ if (_scanner.getToken() !== 4) handleError(8, [4], []);
627
+ else scanNext();
628
+ return true;
629
+ }
630
+ function parseValue() {
631
+ switch (_scanner.getToken()) {
632
+ case 3: return parseArray();
633
+ case 1: return parseObject();
634
+ case 10: return parseString(true);
635
+ default: return parseLiteral();
636
+ }
637
+ }
638
+ scanNext();
639
+ if (_scanner.getToken() === 17) {
640
+ if (options.allowEmptyContent) return true;
641
+ handleError(4, [], []);
642
+ return false;
643
+ }
644
+ if (!parseValue()) {
645
+ handleError(4, [], []);
646
+ return false;
647
+ }
648
+ if (_scanner.getToken() !== 17) handleError(9, [], []);
649
+ return true;
650
+ }
651
+ //#endregion
652
+ //#region ../../node_modules/.pnpm/jsonc-parser@3.3.1/node_modules/jsonc-parser/lib/esm/main.js
653
+ var ScanError;
654
+ (function(ScanError) {
655
+ ScanError[ScanError["None"] = 0] = "None";
656
+ ScanError[ScanError["UnexpectedEndOfComment"] = 1] = "UnexpectedEndOfComment";
657
+ ScanError[ScanError["UnexpectedEndOfString"] = 2] = "UnexpectedEndOfString";
658
+ ScanError[ScanError["UnexpectedEndOfNumber"] = 3] = "UnexpectedEndOfNumber";
659
+ ScanError[ScanError["InvalidUnicode"] = 4] = "InvalidUnicode";
660
+ ScanError[ScanError["InvalidEscapeCharacter"] = 5] = "InvalidEscapeCharacter";
661
+ ScanError[ScanError["InvalidCharacter"] = 6] = "InvalidCharacter";
662
+ })(ScanError || (ScanError = {}));
663
+ var SyntaxKind;
664
+ (function(SyntaxKind) {
665
+ SyntaxKind[SyntaxKind["OpenBraceToken"] = 1] = "OpenBraceToken";
666
+ SyntaxKind[SyntaxKind["CloseBraceToken"] = 2] = "CloseBraceToken";
667
+ SyntaxKind[SyntaxKind["OpenBracketToken"] = 3] = "OpenBracketToken";
668
+ SyntaxKind[SyntaxKind["CloseBracketToken"] = 4] = "CloseBracketToken";
669
+ SyntaxKind[SyntaxKind["CommaToken"] = 5] = "CommaToken";
670
+ SyntaxKind[SyntaxKind["ColonToken"] = 6] = "ColonToken";
671
+ SyntaxKind[SyntaxKind["NullKeyword"] = 7] = "NullKeyword";
672
+ SyntaxKind[SyntaxKind["TrueKeyword"] = 8] = "TrueKeyword";
673
+ SyntaxKind[SyntaxKind["FalseKeyword"] = 9] = "FalseKeyword";
674
+ SyntaxKind[SyntaxKind["StringLiteral"] = 10] = "StringLiteral";
675
+ SyntaxKind[SyntaxKind["NumericLiteral"] = 11] = "NumericLiteral";
676
+ SyntaxKind[SyntaxKind["LineCommentTrivia"] = 12] = "LineCommentTrivia";
677
+ SyntaxKind[SyntaxKind["BlockCommentTrivia"] = 13] = "BlockCommentTrivia";
678
+ SyntaxKind[SyntaxKind["LineBreakTrivia"] = 14] = "LineBreakTrivia";
679
+ SyntaxKind[SyntaxKind["Trivia"] = 15] = "Trivia";
680
+ SyntaxKind[SyntaxKind["Unknown"] = 16] = "Unknown";
681
+ SyntaxKind[SyntaxKind["EOF"] = 17] = "EOF";
682
+ })(SyntaxKind || (SyntaxKind = {}));
683
+ /**
684
+ * Parses the given text and returns the object the JSON content represents. On invalid input, the parser tries to be as fault tolerant as possible, but still return a result.
685
+ * Therefore, always check the errors list to find out if the input was valid.
686
+ */
687
+ var parse = parse$1;
688
+ var ParseErrorCode;
689
+ (function(ParseErrorCode) {
690
+ ParseErrorCode[ParseErrorCode["InvalidSymbol"] = 1] = "InvalidSymbol";
691
+ ParseErrorCode[ParseErrorCode["InvalidNumberFormat"] = 2] = "InvalidNumberFormat";
692
+ ParseErrorCode[ParseErrorCode["PropertyNameExpected"] = 3] = "PropertyNameExpected";
693
+ ParseErrorCode[ParseErrorCode["ValueExpected"] = 4] = "ValueExpected";
694
+ ParseErrorCode[ParseErrorCode["ColonExpected"] = 5] = "ColonExpected";
695
+ ParseErrorCode[ParseErrorCode["CommaExpected"] = 6] = "CommaExpected";
696
+ ParseErrorCode[ParseErrorCode["CloseBraceExpected"] = 7] = "CloseBraceExpected";
697
+ ParseErrorCode[ParseErrorCode["CloseBracketExpected"] = 8] = "CloseBracketExpected";
698
+ ParseErrorCode[ParseErrorCode["EndOfFileExpected"] = 9] = "EndOfFileExpected";
699
+ ParseErrorCode[ParseErrorCode["InvalidCommentToken"] = 10] = "InvalidCommentToken";
700
+ ParseErrorCode[ParseErrorCode["UnexpectedEndOfComment"] = 11] = "UnexpectedEndOfComment";
701
+ ParseErrorCode[ParseErrorCode["UnexpectedEndOfString"] = 12] = "UnexpectedEndOfString";
702
+ ParseErrorCode[ParseErrorCode["UnexpectedEndOfNumber"] = 13] = "UnexpectedEndOfNumber";
703
+ ParseErrorCode[ParseErrorCode["InvalidUnicode"] = 14] = "InvalidUnicode";
704
+ ParseErrorCode[ParseErrorCode["InvalidEscapeCharacter"] = 15] = "InvalidEscapeCharacter";
705
+ ParseErrorCode[ParseErrorCode["InvalidCharacter"] = 16] = "InvalidCharacter";
706
+ })(ParseErrorCode || (ParseErrorCode = {}));
707
+ //#endregion
708
+ //#region src/adapters/cloudflare.ts
709
+ var BINDINGS_ALS_KEY = Symbol.for("timber:cf-bindings-als");
710
+ function getBindingsAls() {
711
+ let als = globalThis[BINDINGS_ALS_KEY];
712
+ if (!als) {
713
+ als = new AsyncLocalStorage();
714
+ globalThis[BINDINGS_ALS_KEY] = als;
715
+ }
716
+ return als;
717
+ }
718
+ /**
719
+ * Get Cloudflare Worker bindings for the current request.
720
+ *
721
+ * Returns the `env` object passed to the Worker's `fetch` handler,
722
+ * giving direct access to KV, D1, Durable Objects, R2, Queues, and
723
+ * any other bindings configured in `wrangler.jsonc`.
724
+ *
725
+ * Must be called within a request context (server component, middleware,
726
+ * server action). Throws outside a request.
727
+ *
728
+ * @example
729
+ * ```ts
730
+ * import { getCloudflareBindings } from '@timber-js/app/adapters/cloudflare'
731
+ *
732
+ * export default async function Page() {
733
+ * const { MY_KV, MY_DB } = getCloudflareBindings()
734
+ * const data = await MY_KV.get('key')
735
+ * return <div>{data}</div>
736
+ * }
737
+ * ```
738
+ */
739
+ function getCloudflareBindings() {
740
+ const env = getBindingsAls().getStore();
741
+ if (!env) throw new Error("getCloudflareBindings() called outside a Cloudflare Workers request context. It can only be called from server components, middleware, or server actions when running on the Cloudflare adapter.");
742
+ return env;
743
+ }
744
+ /**
745
+ * Run a function with Cloudflare bindings available via getCloudflareBindings().
746
+ * @internal Used by cloudflareDevBindings() to wrap dev-server requests.
747
+ */
748
+ function runWithBindings(env, fn) {
749
+ return getBindingsAls().run(env, fn);
750
+ }
751
+ /**
752
+ * Create a Cloudflare Workers adapter.
753
+ *
754
+ * @example
755
+ * ```ts
756
+ * import { cloudflare } from '@timber-js/app/adapters/cloudflare'
757
+ *
758
+ * export default {
759
+ * output: 'server',
760
+ * adapter: cloudflare(),
761
+ * }
762
+ * ```
763
+ */
764
+ function cloudflare(options = {}) {
765
+ return {
766
+ name: "cloudflare",
767
+ async buildOutput(config, buildDir) {
768
+ const outDir = join(buildDir, "cloudflare");
769
+ if (config.output === "static" && config.staticPagesDir) {
770
+ await buildStaticOutput(config, buildDir, outDir, options);
771
+ return;
772
+ }
773
+ await rm(join(outDir, "prebuilt"), {
774
+ recursive: true,
775
+ force: true
776
+ }).catch(() => {});
777
+ await rm(join(outDir, "static", "prebuilt"), {
778
+ recursive: true,
779
+ force: true
780
+ }).catch(() => {});
781
+ await runSharedBuildSteps({
782
+ config,
783
+ buildDir,
784
+ outDir,
785
+ publicDirName: "static"
786
+ });
787
+ let hasWorkerHandlers = false;
788
+ if (options.workerHandlers) {
789
+ const handlersEntry = join(process.cwd(), options.workerHandlers);
790
+ const { build: viteBuild } = await import("vite");
791
+ await viteBuild({
792
+ configFile: false,
793
+ logLevel: "info",
794
+ build: {
795
+ lib: {
796
+ entry: handlersEntry,
797
+ formats: ["es"],
798
+ fileName: () => "_worker-handlers.js"
799
+ },
800
+ outDir,
801
+ emptyOutDir: false,
802
+ minify: false,
803
+ rollupOptions: { external: [/^node:/, /^cloudflare:/] }
804
+ }
805
+ });
806
+ hasWorkerHandlers = true;
807
+ }
808
+ const prebuiltData = await readPrebuiltData(buildDir);
809
+ await writeFile(join(outDir, "_timber-prebuilt-source.js"), generatePrebuiltSourceModule(prebuiltData));
810
+ await rm(join(outDir, "prebuilt"), {
811
+ recursive: true,
812
+ force: true
813
+ }).catch(() => {});
814
+ await writeFile(join(outDir, "_timber-runtime-init.js"), generateRuntimeInitModule());
815
+ const workerEntry = generateWorkerEntry(outDir, outDir, !!config.manifestInit, hasWorkerHandlers);
816
+ await writeFile(join(outDir, "_worker.js"), workerEntry);
817
+ const wranglerConfig = generateWranglerConfig(config, options, await readUserWranglerConfig(config.root ?? process.cwd()));
818
+ await writeFile(join(outDir, "wrangler.jsonc"), JSON.stringify(wranglerConfig, null, 2));
819
+ },
820
+ async preview(_config, buildDir) {
821
+ const cmd = generatePreviewCommand(buildDir);
822
+ await spawnPreviewProcess(cmd.command, cmd.args, cmd.cwd);
823
+ }
824
+ };
825
+ }
826
+ /** @internal Exported for testing. */
827
+ function generateWorkerEntry(buildDir, outDir, hasManifestInit = false, hasWorkerHandlers = false) {
828
+ let rscEntryRelative = relative(outDir, join(buildDir, "rsc", "index.js"));
829
+ if (!rscEntryRelative.startsWith(".")) rscEntryRelative = "./" + rscEntryRelative;
830
+ const manifestImport = hasManifestInit ? "import './_timber-manifest-init.js'\n" : "";
831
+ const handlersImport = hasWorkerHandlers ? "import * as workerHandlers from './_worker-handlers.js'\n" : "";
832
+ const handlersSpread = hasWorkerHandlers ? " ...workerHandlers,\n" : "";
833
+ return `// Generated by @timber-js/app/adapters/cloudflare
834
+ // Do not edit — this file is regenerated on each build.
835
+
836
+ import { AsyncLocalStorage } from 'node:async_hooks'
837
+ // Side-effect imports: evaluated IN ORDER before the _worker.js body runs.
838
+ // _timber-runtime-init.js sets TIMBER_RUNTIME before createRequestHandler()
839
+ // runs (during the RSC entry's top-level await) so the auto-wire for
840
+ // WorkersCachePurge can detect the Cloudflare runtime (TIM-1170).
841
+ // _timber-prebuilt-source.js sets globalThis.__TIMBER_PREBUILT_SOURCE__
842
+ // for cache.component payloads.
843
+ import './_timber-runtime-init.js'
844
+ import './_timber-prebuilt-source.js'
845
+ ${manifestImport}import handler, { runWithWaitUntil, runWithWorkersCachePurge, stripHeadBody } from '${rscEntryRelative}'
846
+ ${handlersImport}
847
+
848
+ // Bind Cloudflare env to ALS so getCloudflareBindings() works at runtime.
849
+ // Uses the same Symbol.for key as getCloudflareBindings() reads from.
850
+ const ALS_KEY = Symbol.for('timber:cf-bindings-als')
851
+ let bindingsAls = globalThis[ALS_KEY]
852
+ if (!bindingsAls) {
853
+ bindingsAls = new AsyncLocalStorage()
854
+ globalThis[ALS_KEY] = bindingsAls
855
+ }
856
+
857
+ // Register timber's platform tracer so pipeline phase spans (timber.proxy,
858
+ // timber.middleware, timber.render, timber.access, timber.action, …) appear
859
+ // as native Cloudflare spans in the Observability dashboard, nested under
860
+ // the auto-instrumented fetch/KV/D1 spans. Requires observability.traces
861
+ // enabled in wrangler.jsonc (generated by default).
862
+ //
863
+ // Lazily imported and guarded: runtimes without the custom spans API
864
+ // (older compatibility dates, older local workerd) fall back to OTEL-only
865
+ // emission. withSpan() in the framework composes both channels.
866
+ const TRACER_KEY = Symbol.for('timber:platform-tracer')
867
+ let tracerInit
868
+ function initPlatformTracer() {
869
+ tracerInit ??= import('cloudflare:workers')
870
+ .then(({ tracing }) => {
871
+ if (tracing && typeof tracing.enterSpan === 'function') {
872
+ globalThis[TRACER_KEY] ??= {
873
+ enterSpan: (name, fn) => tracing.enterSpan(name, fn),
874
+ }
875
+ }
876
+ })
877
+ .catch(() => {})
878
+ return tracerInit
879
+ }
880
+
881
+ // The \`Vary\` tokens this cache can serve a correct answer for.
882
+ //
883
+ // Cloudflare's Cache API keys on the request URL. It does not implement
884
+ // RFC 9111 §4.1 secondary key selection, so a stored response is handed to
885
+ // every request for that URL regardless of what \`Vary\` nominates — except
886
+ // \`Accept-Encoding\`, which the platform segregates itself. Storing a
887
+ // response whose \`Vary\` says "this answer is specific to header H" under a
888
+ // key that ignores H is cross-client reuse (TIM-1269): a developer writing
889
+ // the correct \`public, s-maxage=60\` + \`Vary: Cookie\` gets their logged-in
890
+ // page served to anonymous visitors. Refusing to store is the conservative
891
+ // answer, and the only one available without rewriting the key.
892
+ //
893
+ // The framework's own tokens are on this list because the adapter already
894
+ // segregates them, more strictly than \`Vary\` would:
895
+ //
896
+ // - \`Accept\` — \`isRsc\` above excludes \`text/x-component\` from both lookup
897
+ // and store, so the HTML/Flight split \`Vary: Accept\` exists to protect
898
+ // never reaches this cache in the first place.
899
+ // - \`X-Timber-State-Tree\`, \`X-Timber-URL\`, \`X-Timber-Deployment-Id\` — the
900
+ // origin reads all three only on RSC requests (version skew at
901
+ // \`server/pipeline-phases.ts\`, interception rewrites likewise, state-tree
902
+ // diffing at \`server/rsc-entry/render-route.ts\`). On the non-RSC requests
903
+ // this cache stores, they cannot change the response.
904
+ //
905
+ // That second bullet is a coupling, not an observation: if any of those
906
+ // headers ever starts varying a document response, this list is wrong and
907
+ // the cache poisons. Because the list is derived, a header added to
908
+ // \`RSC_KEY_HEADERS\` inherits the exemption silently — so
909
+ // \`tests/adapters/cloudflare-vary.test.ts\` fails until that header is named
910
+ // there alongside the evidence for its gate, and the gates themselves are
911
+ // covered there, in \`tests/render-route.test.ts\`, and in
912
+ // \`tests/interception-x-timber-url.test.ts\`.
913
+ //
914
+ // Interpolated from \`RSC_KEY_HEADERS\` rather than spelled again — "which
915
+ // headers vary an RSC response" has one answer, and a hand-copied second
916
+ // list here would drift silently on the fallback path nobody exercises.
917
+ //
918
+ // Known residual: a route handler that content-negotiates on \`Accept\`
919
+ // (JSON vs HTML) *and* marks itself \`public\` is still mis-keyed, because the
920
+ // \`isRsc\` split is binary and does not separate those two. That is no worse
921
+ // than the pre-TIM-1269 behaviour, which stored every \`Vary\` but \`*\`.
922
+ const VARY_HONORED = new Set(${JSON.stringify(["accept-encoding", ...RSC_KEY_HEADERS.map((h) => h.toLowerCase())])})
923
+
924
+ // Applied to BOTH sides of the cache — what may be stored, and what a hit
925
+ // may serve. Refusing to store only stops new poisoning: entries a previous
926
+ // deployment wrote under the old predicate stay servable for whatever
927
+ // s-maxage the developer chose, which can be a day. Checking on the way out
928
+ // makes the fix take effect on deploy rather than on expiry, and costs one
929
+ // header read per hit. A rejected entry falls through to the origin and is
930
+ // then declined by the same predicate on the way back in, so it is not
931
+ // rewritten — it simply ages out.
932
+ function canHonorVary(vary) {
933
+ // Absent or empty Vary nominates nothing — the URL is the whole key.
934
+ if (!vary) return true
935
+ return vary.split(',').every((token) => VARY_HONORED.has(token.trim().toLowerCase()))
936
+ }
937
+
938
+ export default {
939
+ ${handlersSpread} async fetch(request, env, ctx) {
940
+ // One-time on first request; resolved-promise await thereafter.
941
+ await initPlatformTracer()
942
+
943
+ // Edge-cache GET/HEAD responses via the Cache API (caches.default).
944
+ // caches.default and ctx.cache.purge() operate on the same underlying
945
+ // Cloudflare CDN cache — "independent" in the CF docs means independent
946
+ // write APIs, not independent stores (TIM-1172). Tag-based purging via
947
+ // revalidateTag() clears entries stored here when their Cache-Tag header
948
+ // matches the invalidated tag. See design/25 §TIM-1172.
949
+ //
950
+ // RSC navigation requests (Accept: text/x-component) are excluded.
951
+ // Their varying inputs are now in the URL via ?_rsc= (TIM-1268), but
952
+ // this cache keys on the request URL alone and cannot honour Vary, so a
953
+ // payload request that arrives without the param — stripped query,
954
+ // hand-rolled client — would share a key with the document.
955
+ //
956
+ // This exclusion is load-bearing in the other direction too: the store
957
+ // predicate below treats "Vary: Accept" as honoured *because* of it
958
+ // (see VARY_HONORED). Removing it would make that allowlist unsound.
959
+ const isRsc = request.headers.get('Accept')?.includes(${JSON.stringify(RSC_CONTENT_TYPE)})
960
+ const reqCc = request.headers.get('Cache-Control') || ''
961
+ const bypassCache = reqCc.includes('no-cache') || reqCc.includes('max-age=0')
962
+ || request.headers.has('Pragma')
963
+ const cacheable = !isRsc && !bypassCache
964
+ && (request.method === 'GET' || request.method === 'HEAD')
965
+ const cache = cacheable && typeof caches !== 'undefined' ? caches.default : null
966
+ if (cache) {
967
+ const cached = await cache.match(request)
968
+ // A hit whose Vary this cache cannot key on is treated as a miss —
969
+ // see canHonorVary. Entries written before that predicate existed are
970
+ // exactly the ones that would be served to the wrong client.
971
+ if (cached) {
972
+ if (canHonorVary(cached.headers.get('Vary'))) return stripHeadBody(cached, request.method)
973
+ // Declining the hit means nobody will ever read this body. Release
974
+ // it rather than leaving the stream dangling for the rest of the
975
+ // request (design/02-rendering-pipeline.md §"Cancel Readers When You
976
+ // No Longer Need the Stream").
977
+ cached.body?.cancel().catch(() => {})
978
+ }
979
+ }
980
+
981
+ // Bridge ctx.cache into the per-request ALS so WorkersCachePurge can
982
+ // call ctx.cache.purge({ tags }) during cache.invalidate/revalidateTag.
983
+ // Workers Cache is available on all Cloudflare plans — no API token needed.
984
+ const workersCacheCtx = ctx.cache && typeof ctx.cache.purge === 'function' ? ctx.cache : null
985
+ const runHandler = () =>
986
+ runWithWaitUntil((promise) => ctx.waitUntil(promise), () => handler(request))
987
+ const response = await bindingsAls.run(env, () =>
988
+ workersCacheCtx
989
+ ? runWithWorkersCachePurge(workersCacheCtx, runHandler)
990
+ : runHandler()
991
+ )
992
+
993
+ // Cache public responses at the edge. A response is edge-cacheable if
994
+ // it has 'public' or 's-maxage' (a shared-cache TTL directive) and no
995
+ // 'no-store' or 'private'. Cloudflare's cache.put() only accepts GET
996
+ // requests and rejects 206, so only store GET 200s. HEAD requests
997
+ // are served from cache.match() hits with the body stripped (TIM-1325).
998
+ // See design/25-production-deployments.md §"CDN / Edge Cache".
999
+ if (cache && request.method === 'GET' && response.status === 200) {
1000
+ const cc = response.headers.get('Cache-Control')
1001
+ if (cc && !cc.includes('no-store') && !cc.includes('private')
1002
+ && (cc.includes('public') || cc.includes('s-maxage'))
1003
+ && canHonorVary(response.headers.get('Vary'))
1004
+ && !response.headers.has('Set-Cookie')) {
1005
+ ctx.waitUntil(cache.put(request, response.clone()))
1006
+ }
1007
+ }
1008
+
1009
+ return response
1010
+ }
1011
+ }
1012
+ `;
1013
+ }
1014
+ /**
1015
+ * Discover and read prebuilt flight payload files from the build directory.
1016
+ * Returns null when no prebuilt artifacts exist (no cache.component usage).
1017
+ *
1018
+ * @internal Exported for testing.
1019
+ */
1020
+ async function readPrebuiltData(buildDir) {
1021
+ const prebuiltDir = join(buildDir, "prebuilt");
1022
+ let manifestJson;
1023
+ try {
1024
+ manifestJson = await readFile(join(prebuiltDir, "manifest.json"), "utf-8");
1025
+ } catch {
1026
+ return null;
1027
+ }
1028
+ const payloads = [];
1029
+ try {
1030
+ const componentDirs = await readdir(prebuiltDir, { withFileTypes: true });
1031
+ for (const dir of componentDirs) {
1032
+ if (!dir.isDirectory()) continue;
1033
+ const files = await readdir(join(prebuiltDir, dir.name));
1034
+ for (const file of files) if (file.endsWith(".flight")) {
1035
+ const filePath = `${dir.name}/${file}`;
1036
+ const bytes = await readFile(join(prebuiltDir, filePath));
1037
+ payloads.push({
1038
+ file: filePath,
1039
+ bytes
1040
+ });
1041
+ }
1042
+ }
1043
+ } catch {}
1044
+ return {
1045
+ manifestJson,
1046
+ payloads
1047
+ };
1048
+ }
1049
+ /**
1050
+ * Generate the prebuilt payload source module for Cloudflare Workers.
1051
+ *
1052
+ * Inlines manifest JSON and flight payload bytes directly into the module
1053
+ * so they're part of the worker's JS bundle — no external Text/Data module
1054
+ * imports needed. This avoids depending on wrangler's find_additional_modules
1055
+ * to discover non-JS files, which doesn't reliably resolve Text/Data imports.
1056
+ *
1057
+ * @internal Exported for testing.
1058
+ */
1059
+ function generatePrebuiltSourceModule(data) {
1060
+ if (!data) return `// Generated by @timber-js/app/adapters/cloudflare
1061
+ // No prebuilt artifacts — all cache.component wrappers render dynamically.
1062
+ globalThis.__TIMBER_PREBUILT_SOURCE__ = {
1063
+ async loadManifest() { return null },
1064
+ async readPayload() { return null },
1065
+ }
1066
+ `;
1067
+ const entries = [];
1068
+ for (const { file, bytes } of data.payloads) {
1069
+ const b64 = Buffer.from(bytes).toString("base64");
1070
+ entries.push(` ${JSON.stringify(file)}: ${JSON.stringify(b64)}`);
1071
+ }
1072
+ return `// Generated by @timber-js/app/adapters/cloudflare
1073
+ // Prebuilt payload source — inlines cache.component flight payloads
1074
+ // directly into the worker bundle (TIM-1162).
1075
+ const _manifest = ${data.manifestJson.trim()}
1076
+
1077
+ function _decode(b64) {
1078
+ const bin = atob(b64)
1079
+ const buf = new Uint8Array(bin.length)
1080
+ for (let i = 0; i < bin.length; i++) buf[i] = bin.charCodeAt(i)
1081
+ return buf
1082
+ }
1083
+
1084
+ const _payloads = {
1085
+ ${entries.join(",\n")}
1086
+ }
1087
+
1088
+ globalThis.__TIMBER_PREBUILT_SOURCE__ = {
1089
+ async loadManifest() { return _manifest },
1090
+ async readPayload(file) {
1091
+ const b64 = _payloads[file]
1092
+ return b64 ? _decode(b64) : null
1093
+ },
1094
+ }
1095
+ `;
1096
+ }
1097
+ /**
1098
+ * Generate the runtime init module that sets TIMBER_RUNTIME before the
1099
+ * RSC entry evaluates. Imported as a side-effect module in _worker.js.
1100
+ *
1101
+ * @internal Exported for testing.
1102
+ */
1103
+ function generateRuntimeInitModule() {
1104
+ return `// Generated by @timber-js/app/adapters/cloudflare
1105
+ // Sets TIMBER_RUNTIME before the RSC handler evaluates (TIM-1170).
1106
+ // Must be a separate module imported before rsc/index.js so that ESM
1107
+ // evaluation order guarantees the env var is set when
1108
+ // createRequestHandler() runs its auto-wire logic.
1109
+ globalThis.process ??= { env: {} }
1110
+ process.env.TIMBER_RUNTIME = 'cloudflare'
1111
+ `;
1112
+ }
1113
+ /**
1114
+ * Convert declarative `CloudflareBindings` into wrangler.jsonc binding sections.
1115
+ *
1116
+ * Maps:
1117
+ * - `kv` → `kv_namespaces`
1118
+ * - `d1` → `d1_databases`
1119
+ * - `r2` → `r2_buckets`
1120
+ * - `queues` → `queues` (producers + consumers)
1121
+ * - `durableObjects` → `durable_objects`
1122
+ *
1123
+ * Empty arrays are omitted from the output.
1124
+ *
1125
+ * @internal Exported for testing.
1126
+ */
1127
+ function generateBindingsConfig(bindings) {
1128
+ if (!bindings) return {};
1129
+ const result = {};
1130
+ if (bindings.kv && bindings.kv.length > 0) result.kv_namespaces = bindings.kv.map((kv) => ({
1131
+ binding: kv.name,
1132
+ id: kv.id ?? ""
1133
+ }));
1134
+ if (bindings.d1 && bindings.d1.length > 0) result.d1_databases = bindings.d1.map((d1) => ({
1135
+ binding: d1.name,
1136
+ database_id: d1.database_id
1137
+ }));
1138
+ if (bindings.r2 && bindings.r2.length > 0) result.r2_buckets = bindings.r2.map((r2) => ({
1139
+ binding: r2.name,
1140
+ bucket_name: r2.bucket_name
1141
+ }));
1142
+ if (bindings.queues) {
1143
+ const queues = {};
1144
+ if (bindings.queues.producers && bindings.queues.producers.length > 0) queues.producers = bindings.queues.producers.map((p) => ({
1145
+ binding: p.name,
1146
+ queue: p.queue
1147
+ }));
1148
+ if (bindings.queues.consumers && bindings.queues.consumers.length > 0) queues.consumers = bindings.queues.consumers.map((c) => {
1149
+ const consumer = { queue: c.queue };
1150
+ if (c.max_batch_size !== void 0) consumer.max_batch_size = c.max_batch_size;
1151
+ if (c.max_retries !== void 0) consumer.max_retries = c.max_retries;
1152
+ if (c.dead_letter_queue !== void 0) consumer.dead_letter_queue = c.dead_letter_queue;
1153
+ return consumer;
1154
+ });
1155
+ if (Object.keys(queues).length > 0) result.queues = queues;
1156
+ }
1157
+ if (bindings.durableObjects && bindings.durableObjects.length > 0) result.durable_objects = { bindings: bindings.durableObjects.map((dobj) => {
1158
+ const entry = {
1159
+ name: dobj.name,
1160
+ class_name: dobj.class_name
1161
+ };
1162
+ if (dobj.script_name) entry.script_name = dobj.script_name;
1163
+ return entry;
1164
+ }) };
1165
+ return result;
1166
+ }
1167
+ /**
1168
+ * One-level deep merge: for each key in `override`, if both the base and
1169
+ * override values are plain objects (not arrays, not null), merge their
1170
+ * keys with override winning on conflicts. Everything else (primitives,
1171
+ * arrays, null) is replaced outright — matching the intuitive behavior
1172
+ * where `kv_namespaces: [...]` replaces fully but
1173
+ * `durable_objects: { migrations }` merges with generated `bindings`.
1174
+ */
1175
+ function shallowDeepMerge(base, override) {
1176
+ const result = { ...base };
1177
+ for (const key of Object.keys(override)) {
1178
+ const baseVal = result[key];
1179
+ const overVal = override[key];
1180
+ if (isPlainObject(baseVal) && isPlainObject(overVal)) result[key] = {
1181
+ ...baseVal,
1182
+ ...overVal
1183
+ };
1184
+ else result[key] = overVal;
1185
+ }
1186
+ return result;
1187
+ }
1188
+ /** True for `{}` literals — false for arrays, null, Date, etc. */
1189
+ function isPlainObject(val) {
1190
+ return val !== null && typeof val === "object" && !Array.isArray(val);
1191
+ }
1192
+ var WRANGLER_CONFIG_FILES = ["wrangler.jsonc", "wrangler.json"];
1193
+ /**
1194
+ * Read the user's wrangler config from the project root, if one exists.
1195
+ * Checks wrangler.jsonc first, then wrangler.json.
1196
+ * @internal Exported for testing.
1197
+ */
1198
+ async function readUserWranglerConfig(root) {
1199
+ for (const filename of WRANGLER_CONFIG_FILES) {
1200
+ const filepath = join(root, filename);
1201
+ try {
1202
+ await access(filepath);
1203
+ } catch {
1204
+ continue;
1205
+ }
1206
+ return parse(await readFile(filepath, "utf-8"));
1207
+ }
1208
+ return null;
1209
+ }
1210
+ /** @internal Exported for testing. */
1211
+ function generateWranglerConfig(config, options, userConfig) {
1212
+ const base = {
1213
+ name: "timber-app",
1214
+ main: "_worker.js",
1215
+ compatibility_date: (/* @__PURE__ */ new Date()).toISOString().slice(0, 10),
1216
+ compatibility_flags: ["nodejs_compat"],
1217
+ no_bundle: true,
1218
+ find_additional_modules: true,
1219
+ rules: [{
1220
+ type: "ESModule",
1221
+ globs: ["**/*.js"]
1222
+ }],
1223
+ assets: {
1224
+ directory: "./static",
1225
+ binding: "ASSETS"
1226
+ },
1227
+ observability: { traces: { enabled: true } }
1228
+ };
1229
+ let merged = userConfig ? shallowDeepMerge(base, userConfig) : base;
1230
+ const explicit = {};
1231
+ if (options.name != null) explicit.name = options.name;
1232
+ if (options.compatibilityDate != null) explicit.compatibility_date = options.compatibilityDate;
1233
+ if (options.compatibilityFlags != null) explicit.compatibility_flags = options.compatibilityFlags;
1234
+ if (Object.keys(explicit).length > 0) merged = {
1235
+ ...merged,
1236
+ ...explicit
1237
+ };
1238
+ const bindingsConfig = generateBindingsConfig(options.bindings);
1239
+ merged = shallowDeepMerge(merged, bindingsConfig);
1240
+ if (options.wrangler) merged = shallowDeepMerge(merged, options.wrangler);
1241
+ delete merged.env;
1242
+ merged.main = "_worker.js";
1243
+ merged.find_additional_modules = true;
1244
+ return merged;
1245
+ }
1246
+ /**
1247
+ * Build a Cloudflare Pages-compatible static output directory.
1248
+ *
1249
+ * No Workers entry — just pre-rendered HTML, RSC flight files, and client
1250
+ * assets in a flat directory. Uses the shared buildStaticDirectoryOutput
1251
+ * then adds a `_headers` file for cache control.
1252
+ *
1253
+ * @internal Exported for testing.
1254
+ */
1255
+ async function buildStaticOutput(config, buildDir, outDir, _options) {
1256
+ await buildStaticDirectoryOutput(config, buildDir, outDir, ".");
1257
+ await writeHeadersFile(outDir, config, await findUnhashedStaticFiles(outDir));
1258
+ }
1259
+ /** @internal Exported for testing. */
1260
+ function generatePreviewCommand(buildDir) {
1261
+ const cfDir = join(buildDir, "cloudflare");
1262
+ return {
1263
+ command: "wrangler",
1264
+ args: [
1265
+ "dev",
1266
+ "--local",
1267
+ "--config",
1268
+ join(cfDir, "wrangler.jsonc")
1269
+ ],
1270
+ cwd: cfDir
1271
+ };
1272
+ }
1273
+ /**
1274
+ * Spawn a long-running preview process and pipe stdio to the parent.
1275
+ * Resolves when the process exits.
1276
+ */
1277
+ function spawnPreviewProcess(command, args, cwd) {
1278
+ return new Promise((resolve, reject) => {
1279
+ const child = execFile(command, args, { cwd }, (err) => {
1280
+ if (err) reject(err);
1281
+ else resolve();
1282
+ });
1283
+ child.stdout?.pipe(process.stdout);
1284
+ child.stderr?.pipe(process.stderr);
1285
+ });
1286
+ }
1287
+ //#endregion
1288
+ export { generatePreviewCommand as a, generateWranglerConfig as c, readUserWranglerConfig as d, runWithBindings as f, generatePrebuiltSourceModule as i, getCloudflareBindings as l, cloudflare as n, generateRuntimeInitModule as o, generateBindingsConfig as r, generateWorkerEntry as s, buildStaticOutput as t, readPrebuiltData as u };
1289
+
1290
+ //# sourceMappingURL=cloudflare-BFb__LYG.js.map