@rangojs/router 0.0.0-experimental.f3c21dba → 0.0.0-experimental.f4a8e8de

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 (2111) hide show
  1. package/AGENTS.md +8 -4
  2. package/README.md +320 -735
  3. package/dist/bin/rango.js +977 -240
  4. package/dist/testing/vitest.js +82 -0
  5. package/dist/types/__internal.d.ts +127 -0
  6. package/dist/types/bin/rango.d.ts +1 -0
  7. package/dist/types/browser/action-coordinator.d.ts +57 -0
  8. package/dist/types/browser/action-fence.d.ts +33 -0
  9. package/dist/types/browser/app-shell.d.ts +34 -0
  10. package/dist/types/browser/app-version.d.ts +6 -0
  11. package/dist/types/browser/connection-warmup.d.ts +31 -0
  12. package/dist/types/browser/cookie-name.d.ts +66 -0
  13. package/dist/types/browser/dev-discovery.d.ts +11 -0
  14. package/dist/types/browser/event-controller.d.ts +231 -0
  15. package/dist/types/browser/history-state.d.ts +26 -0
  16. package/dist/types/browser/index.d.ts +1 -0
  17. package/dist/types/browser/intercept-utils.d.ts +30 -0
  18. package/dist/types/browser/invalidate-client-cache.d.ts +17 -0
  19. package/dist/types/browser/link-interceptor.d.ts +53 -0
  20. package/dist/types/browser/logging.d.ts +33 -0
  21. package/dist/types/browser/merge-segment-loaders.d.ts +38 -0
  22. package/dist/types/browser/navigation-bridge.d.ts +39 -0
  23. package/dist/types/browser/navigation-client.d.ts +17 -0
  24. package/dist/types/browser/navigation-store-handle.d.ts +25 -0
  25. package/dist/types/browser/navigation-store.d.ts +85 -0
  26. package/dist/types/browser/navigation-transaction.d.ts +75 -0
  27. package/dist/types/browser/network-error-handler.d.ts +35 -0
  28. package/dist/types/browser/notify-listeners.d.ts +2 -0
  29. package/dist/types/browser/partial-update.d.ts +61 -0
  30. package/dist/types/browser/prefetch/cache.d.ts +224 -0
  31. package/dist/types/browser/prefetch/default-strategy.d.ts +31 -0
  32. package/dist/types/browser/prefetch/fetch.d.ts +52 -0
  33. package/dist/types/browser/prefetch/invalidation.d.ts +6 -0
  34. package/dist/types/browser/prefetch/loader.d.ts +12 -0
  35. package/dist/types/browser/prefetch/observer.d.ts +24 -0
  36. package/dist/types/browser/prefetch/policy.d.ts +13 -0
  37. package/dist/types/browser/prefetch/queue.d.ts +48 -0
  38. package/dist/types/browser/prefetch/resource-ready.d.ts +28 -0
  39. package/dist/types/browser/prefetch/runtime.d.ts +2 -0
  40. package/dist/types/browser/rango-state.d.ts +56 -0
  41. package/dist/types/browser/react/Link.d.ts +132 -0
  42. package/dist/types/browser/react/NavigationProvider.d.ts +88 -0
  43. package/dist/types/browser/react/ScrollRestoration.d.ts +78 -0
  44. package/dist/types/browser/react/context.d.ts +57 -0
  45. package/dist/types/browser/react/filter-segment-order.d.ts +35 -0
  46. package/dist/types/browser/react/index.d.ts +1 -0
  47. package/dist/types/browser/react/location-state-shared.d.ts +162 -0
  48. package/dist/types/browser/react/location-state.d.ts +29 -0
  49. package/dist/types/browser/react/mount-context.d.ts +23 -0
  50. package/dist/types/browser/react/nonce-context.d.ts +14 -0
  51. package/dist/types/browser/react/shallow-equal.d.ts +5 -0
  52. package/dist/types/browser/react/use-action.d.ts +61 -0
  53. package/dist/types/browser/react/use-handle.d.ts +21 -0
  54. package/dist/types/browser/react/use-href.d.ts +32 -0
  55. package/dist/types/browser/react/use-link-status.d.ts +36 -0
  56. package/dist/types/browser/react/use-mount.d.ts +24 -0
  57. package/dist/types/browser/react/use-navigation.d.ts +15 -0
  58. package/dist/types/browser/react/use-params.d.ts +21 -0
  59. package/dist/types/browser/react/use-pathname.d.ts +13 -0
  60. package/dist/types/browser/react/use-reverse.d.ts +40 -0
  61. package/dist/types/browser/react/use-router.d.ts +23 -0
  62. package/dist/types/browser/react/use-search-params.d.ts +19 -0
  63. package/dist/types/browser/react/use-segments.d.ts +29 -0
  64. package/dist/types/browser/response-adapter.d.ts +58 -0
  65. package/dist/types/browser/rsc-router.d.ts +146 -0
  66. package/dist/types/browser/scroll-restoration.d.ts +103 -0
  67. package/dist/types/browser/segment-reconciler.d.ts +74 -0
  68. package/dist/types/browser/segment-structure-assert.d.ts +16 -0
  69. package/dist/types/browser/server-action-bridge.d.ts +29 -0
  70. package/dist/types/browser/types.d.ts +546 -0
  71. package/dist/types/browser/validate-redirect-origin.d.ts +28 -0
  72. package/dist/types/build/collect-fallback-refs.d.ts +5 -0
  73. package/dist/types/build/generate-manifest.d.ts +106 -0
  74. package/dist/types/build/generate-route-types.d.ts +8 -0
  75. package/dist/types/build/index.d.ts +21 -0
  76. package/dist/types/build/merge-full-manifests.d.ts +3 -0
  77. package/dist/types/build/prefix-tree-utils.d.ts +56 -0
  78. package/dist/types/build/route-trie.d.ts +20 -0
  79. package/dist/types/build/route-types/ast-helpers.d.ts +3 -0
  80. package/dist/types/build/route-types/ast-route-extraction.d.ts +13 -0
  81. package/dist/types/build/route-types/codegen.d.ts +16 -0
  82. package/dist/types/build/route-types/include-resolution.d.ts +74 -0
  83. package/dist/types/build/route-types/param-extraction.d.ts +13 -0
  84. package/dist/types/build/route-types/per-module-writer.d.ts +20 -0
  85. package/dist/types/build/route-types/router-processing.d.ts +81 -0
  86. package/dist/types/build/route-types/scan-filter.d.ts +17 -0
  87. package/dist/types/build/route-types/source-scan.d.ts +13 -0
  88. package/dist/types/build/runtime-discovery.d.ts +24 -0
  89. package/dist/types/cache/background-task.d.ts +21 -0
  90. package/dist/types/cache/cache-error.d.ts +71 -0
  91. package/dist/types/cache/cache-exec-scope.d.ts +31 -0
  92. package/dist/types/cache/cache-key-utils.d.ts +43 -0
  93. package/dist/types/cache/cache-policy.d.ts +59 -0
  94. package/dist/types/cache/cache-runtime.d.ts +51 -0
  95. package/dist/types/cache/cache-scope.d.ts +215 -0
  96. package/dist/types/cache/cache-tag.d.ts +79 -0
  97. package/dist/types/cache/cf/cf-base64.d.ts +4 -0
  98. package/dist/types/cache/cf/cf-cache-constants.d.ts +112 -0
  99. package/dist/types/cache/cf/cf-cache-store.d.ts +616 -0
  100. package/dist/types/cache/cf/cf-cache-types.d.ts +365 -0
  101. package/dist/types/cache/cf/cf-kv-utils.d.ts +43 -0
  102. package/dist/types/cache/cf/cf-tag-marker-memo.d.ts +15 -0
  103. package/dist/types/cache/cf/cf-zone-purge.d.ts +31 -0
  104. package/dist/types/cache/cf/index.d.ts +4 -0
  105. package/dist/types/cache/document-cache.d.ts +71 -0
  106. package/dist/types/cache/handle-capture.d.ts +23 -0
  107. package/dist/types/cache/handle-snapshot.d.ts +39 -0
  108. package/dist/types/cache/index.d.ts +9 -0
  109. package/dist/types/cache/memory-segment-store.d.ts +163 -0
  110. package/dist/types/cache/profile-registry.d.ts +40 -0
  111. package/dist/types/cache/read-through-swr.d.ts +61 -0
  112. package/dist/types/cache/search-params-filter.d.ts +64 -0
  113. package/dist/types/cache/segment-codec.d.ts +78 -0
  114. package/dist/types/cache/shell-snapshot.d.ts +186 -0
  115. package/dist/types/cache/tag-invalidation.d.ts +74 -0
  116. package/dist/types/cache/taint.d.ts +77 -0
  117. package/dist/types/cache/types.d.ts +503 -0
  118. package/dist/types/cache/vercel/index.d.ts +1 -0
  119. package/dist/types/cache/vercel/vercel-cache-store.d.ts +268 -0
  120. package/dist/types/client-urls/client-root.d.ts +38 -0
  121. package/dist/types/client-urls/client-urls.d.ts +5 -0
  122. package/dist/types/client-urls/navigation.d.ts +38 -0
  123. package/dist/types/client-urls/revalidation-protocol.d.ts +25 -0
  124. package/dist/types/client-urls/server-projection.d.ts +57 -0
  125. package/dist/types/client-urls/types.d.ts +132 -0
  126. package/dist/types/client.d.ts +191 -0
  127. package/dist/types/client.rsc.d.ts +41 -0
  128. package/dist/types/cloudflare/index.d.ts +7 -0
  129. package/dist/types/cloudflare/tracing.d.ts +57 -0
  130. package/dist/types/component-utils.d.ts +46 -0
  131. package/dist/types/components/DefaultDocument.d.ts +13 -0
  132. package/dist/types/context-var.d.ts +84 -0
  133. package/dist/types/debug.d.ts +57 -0
  134. package/dist/types/decode-loader-results.d.ts +42 -0
  135. package/dist/types/default-error-boundary.d.ts +10 -0
  136. package/dist/types/defer.d.ts +89 -0
  137. package/dist/types/deps/browser.d.ts +1 -0
  138. package/dist/types/deps/html-stream-client.d.ts +1 -0
  139. package/dist/types/deps/html-stream-server.d.ts +1 -0
  140. package/dist/types/deps/rsc.d.ts +1 -0
  141. package/dist/types/deps/ssr.d.ts +1 -0
  142. package/dist/types/dev-discovery-protocol.d.ts +5 -0
  143. package/dist/types/encode-kv.d.ts +35 -0
  144. package/dist/types/errors.d.ts +227 -0
  145. package/dist/types/escape-script.d.ts +44 -0
  146. package/dist/types/handle.d.ts +93 -0
  147. package/dist/types/handles/MetaTags.d.ts +17 -0
  148. package/dist/types/handles/Scripts.d.ts +38 -0
  149. package/dist/types/handles/breadcrumbs.d.ts +43 -0
  150. package/dist/types/handles/deferred-resolution.d.ts +53 -0
  151. package/dist/types/handles/is-thenable.d.ts +10 -0
  152. package/dist/types/handles/meta.d.ts +43 -0
  153. package/dist/types/handles/script.d.ts +139 -0
  154. package/dist/types/host/cookie-handler.d.ts +8 -0
  155. package/dist/types/host/errors.d.ts +40 -0
  156. package/dist/types/host/index.d.ts +33 -0
  157. package/dist/types/host/pattern-matcher.d.ts +30 -0
  158. package/dist/types/host/router.d.ts +12 -0
  159. package/dist/types/host/testing.d.ts +41 -0
  160. package/dist/types/host/types.d.ts +148 -0
  161. package/dist/types/host/utils.d.ts +20 -0
  162. package/dist/types/href-client.d.ts +214 -0
  163. package/dist/types/index.d.ts +113 -0
  164. package/dist/types/index.rsc.d.ts +52 -0
  165. package/dist/types/internal-debug.d.ts +1 -0
  166. package/dist/types/loader-redirect.d.ts +18 -0
  167. package/dist/types/loader-store.d.ts +193 -0
  168. package/dist/types/loader.d.ts +18 -0
  169. package/dist/types/loader.rsc.d.ts +18 -0
  170. package/dist/types/missing-id-error.d.ts +1 -0
  171. package/dist/types/outlet-context.d.ts +24 -0
  172. package/dist/types/outlet-provider.d.ts +14 -0
  173. package/dist/types/prerender/build-shell-capture.d.ts +104 -0
  174. package/dist/types/prerender/param-hash.d.ts +6 -0
  175. package/dist/types/prerender/shell-manifest-key.d.ts +18 -0
  176. package/dist/types/prerender/store.d.ts +63 -0
  177. package/dist/types/prerender.d.ts +292 -0
  178. package/dist/types/redirect-origin.d.ts +67 -0
  179. package/dist/types/regex-escape.d.ts +6 -0
  180. package/dist/types/render-error-thrower.d.ts +13 -0
  181. package/dist/types/response-utils.d.ts +35 -0
  182. package/dist/types/reverse.d.ts +206 -0
  183. package/dist/types/root-error-boundary.d.ts +32 -0
  184. package/dist/types/route-content-wrapper.d.ts +81 -0
  185. package/dist/types/route-definition/dsl-helpers.d.ts +130 -0
  186. package/dist/types/route-definition/helper-factories.d.ts +22 -0
  187. package/dist/types/route-definition/helpers-types.d.ts +393 -0
  188. package/dist/types/route-definition/index.d.ts +7 -0
  189. package/dist/types/route-definition/redirect.d.ts +48 -0
  190. package/dist/types/route-definition/resolve-handler-use.d.ts +19 -0
  191. package/dist/types/route-definition/use-item-types.d.ts +1 -0
  192. package/dist/types/route-definition.d.ts +1 -0
  193. package/dist/types/route-map-builder.d.ts +102 -0
  194. package/dist/types/route-name.d.ts +27 -0
  195. package/dist/types/route-types.d.ts +172 -0
  196. package/dist/types/router/basename.d.ts +10 -0
  197. package/dist/types/router/content-negotiation.d.ts +91 -0
  198. package/dist/types/router/debug-manifest.d.ts +7 -0
  199. package/dist/types/router/error-handling.d.ts +110 -0
  200. package/dist/types/router/find-match.d.ts +19 -0
  201. package/dist/types/router/handler-context.d.ts +41 -0
  202. package/dist/types/router/instrument.d.ts +191 -0
  203. package/dist/types/router/intercept-resolution.d.ts +91 -0
  204. package/dist/types/router/lazy-includes.d.ts +26 -0
  205. package/dist/types/router/loader-resolution.d.ts +85 -0
  206. package/dist/types/router/logging.d.ts +41 -0
  207. package/dist/types/router/manifest.d.ts +8 -0
  208. package/dist/types/router/match-api.d.ts +19 -0
  209. package/dist/types/router/match-context.d.ts +184 -0
  210. package/dist/types/router/match-handlers.d.ts +48 -0
  211. package/dist/types/router/match-middleware/background-revalidation.d.ts +113 -0
  212. package/dist/types/router/match-middleware/cache-lookup.d.ts +126 -0
  213. package/dist/types/router/match-middleware/cache-store.d.ts +112 -0
  214. package/dist/types/router/match-middleware/index.d.ts +80 -0
  215. package/dist/types/router/match-middleware/intercept-resolution.d.ts +116 -0
  216. package/dist/types/router/match-middleware/segment-resolution.d.ts +94 -0
  217. package/dist/types/router/match-pipelines.d.ts +103 -0
  218. package/dist/types/router/match-result.d.ts +114 -0
  219. package/dist/types/router/metrics.d.ts +6 -0
  220. package/dist/types/router/middleware-types.d.ts +74 -0
  221. package/dist/types/router/middleware.d.ts +116 -0
  222. package/dist/types/router/navigation-snapshot.d.ts +51 -0
  223. package/dist/types/router/params-util.d.ts +8 -0
  224. package/dist/types/router/parse-pattern.d.ts +38 -0
  225. package/dist/types/router/pattern-matching.d.ts +169 -0
  226. package/dist/types/router/prefetch-cache-ttl.d.ts +27 -0
  227. package/dist/types/router/prefetch-default.d.ts +28 -0
  228. package/dist/types/router/prefetch-limits.d.ts +20 -0
  229. package/dist/types/router/prerender-match.d.ts +53 -0
  230. package/dist/types/router/preview-match.d.ts +22 -0
  231. package/dist/types/router/request-classification.d.ts +104 -0
  232. package/dist/types/router/revalidation.d.ts +64 -0
  233. package/dist/types/router/route-snapshot.d.ts +112 -0
  234. package/dist/types/router/route-trie-builder.d.ts +77 -0
  235. package/dist/types/router/router-context.d.ts +137 -0
  236. package/dist/types/router/router-interfaces.d.ts +461 -0
  237. package/dist/types/router/router-options.d.ts +792 -0
  238. package/dist/types/router/router-registry.d.ts +15 -0
  239. package/dist/types/router/segment-resolution/fresh.d.ts +55 -0
  240. package/dist/types/router/segment-resolution/helpers.d.ts +93 -0
  241. package/dist/types/router/segment-resolution/loader-cache.d.ts +33 -0
  242. package/dist/types/router/segment-resolution/loader-mask.d.ts +44 -0
  243. package/dist/types/router/segment-resolution/loader-snapshot.d.ts +90 -0
  244. package/dist/types/router/segment-resolution/mask-nested.d.ts +53 -0
  245. package/dist/types/router/segment-resolution/revalidation.d.ts +85 -0
  246. package/dist/types/router/segment-resolution/static-store.d.ts +17 -0
  247. package/dist/types/router/segment-resolution/streamed-handler-telemetry.d.ts +16 -0
  248. package/dist/types/router/segment-resolution/view-transition-default.d.ts +27 -0
  249. package/dist/types/router/segment-resolution.d.ts +3 -0
  250. package/dist/types/router/segment-wrappers.d.ts +53 -0
  251. package/dist/types/router/state-cookie-name.d.ts +1 -0
  252. package/dist/types/router/substitute-pattern-params.d.ts +23 -0
  253. package/dist/types/router/telemetry-otel.d.ts +113 -0
  254. package/dist/types/router/telemetry.d.ts +216 -0
  255. package/dist/types/router/timeout.d.ts +107 -0
  256. package/dist/types/router/tracing.d.ts +139 -0
  257. package/dist/types/router/transition-when.d.ts +13 -0
  258. package/dist/types/router/trie-matching.d.ts +32 -0
  259. package/dist/types/router/types.d.ts +98 -0
  260. package/dist/types/router/url-params.d.ts +26 -0
  261. package/dist/types/router.d.ts +7 -0
  262. package/dist/types/rsc/capture-queue.d.ts +49 -0
  263. package/dist/types/rsc/full-payload.d.ts +22 -0
  264. package/dist/types/rsc/handler-context.d.ts +32 -0
  265. package/dist/types/rsc/handler.d.ts +9 -0
  266. package/dist/types/rsc/helpers.d.ts +127 -0
  267. package/dist/types/rsc/index.d.ts +17 -0
  268. package/dist/types/rsc/json-route-result.d.ts +20 -0
  269. package/dist/types/rsc/loader-fetch.d.ts +14 -0
  270. package/dist/types/rsc/manifest-init.d.ts +18 -0
  271. package/dist/types/rsc/nonce.d.ts +28 -0
  272. package/dist/types/rsc/origin-guard.d.ts +50 -0
  273. package/dist/types/rsc/progressive-enhancement.d.ts +19 -0
  274. package/dist/types/rsc/redirect-guard.d.ts +37 -0
  275. package/dist/types/rsc/render-pipeline.d.ts +148 -0
  276. package/dist/types/rsc/response-cache-serve.d.ts +46 -0
  277. package/dist/types/rsc/response-error.d.ts +19 -0
  278. package/dist/types/rsc/response-route-handler.d.ts +29 -0
  279. package/dist/types/rsc/routine-plan.d.ts +124 -0
  280. package/dist/types/rsc/rsc-rendering.d.ts +18 -0
  281. package/dist/types/rsc/runtime-warnings.d.ts +22 -0
  282. package/dist/types/rsc/server-action.d.ts +68 -0
  283. package/dist/types/rsc/shell-build-manifest.d.ts +90 -0
  284. package/dist/types/rsc/shell-capture-constants.d.ts +44 -0
  285. package/dist/types/rsc/shell-capture.d.ts +406 -0
  286. package/dist/types/rsc/shell-serve.d.ts +189 -0
  287. package/dist/types/rsc/ssr-setup.d.ts +73 -0
  288. package/dist/types/rsc/stream-idle.d.ts +60 -0
  289. package/dist/types/rsc/transition-gate.d.ts +23 -0
  290. package/dist/types/rsc/types.d.ts +328 -0
  291. package/dist/types/runtime-env.d.ts +1 -0
  292. package/dist/types/search-params.d.ts +125 -0
  293. package/dist/types/segment-content-promise.d.ts +13 -0
  294. package/dist/types/segment-fragments.d.ts +79 -0
  295. package/dist/types/segment-loader-promise.d.ts +22 -0
  296. package/dist/types/segment-system.d.ts +86 -0
  297. package/dist/types/serialize.d.ts +164 -0
  298. package/dist/types/server/context.d.ts +510 -0
  299. package/dist/types/server/cookie-parse.d.ts +10 -0
  300. package/dist/types/server/cookie-store.d.ts +107 -0
  301. package/dist/types/server/fetchable-loader-store.d.ts +20 -0
  302. package/dist/types/server/handle-store.d.ts +131 -0
  303. package/dist/types/server/loader-registry.d.ts +32 -0
  304. package/dist/types/server/request-context.d.ts +707 -0
  305. package/dist/types/server/root-layout.d.ts +3 -0
  306. package/dist/types/server.d.ts +16 -0
  307. package/dist/types/ssr/index.d.ts +233 -0
  308. package/dist/types/ssr/inject-rsc-eager.d.ts +3 -0
  309. package/dist/types/ssr/preinit-client-references.d.ts +71 -0
  310. package/dist/types/ssr/ssr-root.d.ts +69 -0
  311. package/dist/types/static-handler.d.ts +71 -0
  312. package/dist/types/testing/cache-status.d.ts +63 -0
  313. package/dist/types/testing/collect-handle.d.ts +20 -0
  314. package/dist/types/testing/dispatch.d.ts +127 -0
  315. package/dist/types/testing/dom.entry.d.ts +15 -0
  316. package/dist/types/testing/e2e/fixture.d.ts +37 -0
  317. package/dist/types/testing/e2e/index.d.ts +31 -0
  318. package/dist/types/testing/e2e/matchers.d.ts +17 -0
  319. package/dist/types/testing/e2e/page-helpers.d.ts +86 -0
  320. package/dist/types/testing/e2e/parity.d.ts +111 -0
  321. package/dist/types/testing/e2e/server.d.ts +35 -0
  322. package/dist/types/testing/flight-matchers.d.ts +55 -0
  323. package/dist/types/testing/flight-normalize.d.ts +1 -0
  324. package/dist/types/testing/flight-tree.d.ts +192 -0
  325. package/dist/types/testing/flight.d.ts +115 -0
  326. package/dist/types/testing/flight.entry.d.ts +27 -0
  327. package/dist/types/testing/generated-routes.d.ts +66 -0
  328. package/dist/types/testing/index.d.ts +54 -0
  329. package/dist/types/testing/internal/context.d.ts +225 -0
  330. package/dist/types/testing/internal/flight-client-globals.d.ts +1 -0
  331. package/dist/types/testing/internal/seed-vars.d.ts +30 -0
  332. package/dist/types/testing/render-handler.d.ts +160 -0
  333. package/dist/types/testing/render-route.d.ts +265 -0
  334. package/dist/types/testing/run-loader.d.ts +195 -0
  335. package/dist/types/testing/run-middleware.d.ts +132 -0
  336. package/dist/types/testing/run-transition-when.d.ts +78 -0
  337. package/dist/types/testing/shell-status.d.ts +81 -0
  338. package/dist/types/testing/vitest-stubs/cloudflare-email.d.ts +6 -0
  339. package/dist/types/testing/vitest-stubs/cloudflare-workers.d.ts +13 -0
  340. package/dist/types/testing/vitest-stubs/plugin-rsc.d.ts +7 -0
  341. package/dist/types/testing/vitest-stubs/version.d.ts +1 -0
  342. package/dist/types/testing/vitest.d.ts +205 -0
  343. package/dist/types/theme/ThemeProvider.d.ts +13 -0
  344. package/dist/types/theme/ThemeScript.d.ts +45 -0
  345. package/dist/types/theme/constants.d.ts +39 -0
  346. package/dist/types/theme/index.d.ts +29 -0
  347. package/dist/types/theme/theme-context.d.ts +21 -0
  348. package/dist/types/theme/theme-script.d.ts +26 -0
  349. package/dist/types/theme/types.d.ts +162 -0
  350. package/dist/types/theme/use-theme.d.ts +8 -0
  351. package/dist/types/types/boundaries.d.ts +110 -0
  352. package/dist/types/types/cache-types.d.ts +191 -0
  353. package/dist/types/types/error-types.d.ts +114 -0
  354. package/dist/types/types/global-namespace.d.ts +90 -0
  355. package/dist/types/types/handler-context.d.ts +658 -0
  356. package/dist/types/types/index.d.ts +11 -0
  357. package/dist/types/types/loader-types.d.ts +208 -0
  358. package/dist/types/types/request-scope.d.ts +93 -0
  359. package/dist/types/types/route-config.d.ts +105 -0
  360. package/dist/types/types/route-entry.d.ts +98 -0
  361. package/dist/types/types/segments.d.ts +246 -0
  362. package/dist/types/types.d.ts +1 -0
  363. package/dist/types/urls/include-helper.d.ts +17 -0
  364. package/dist/types/urls/include-provider.d.ts +27 -0
  365. package/dist/types/urls/index.d.ts +6 -0
  366. package/dist/types/urls/path-helper-types.d.ts +198 -0
  367. package/dist/types/urls/path-helper.d.ts +12 -0
  368. package/dist/types/urls/pattern-types.d.ts +166 -0
  369. package/dist/types/urls/response-types.d.ts +67 -0
  370. package/dist/types/urls/type-extraction.d.ts +157 -0
  371. package/dist/types/urls/urls-function.d.ts +24 -0
  372. package/dist/types/urls.d.ts +1 -0
  373. package/dist/types/use-loader.d.ts +150 -0
  374. package/dist/types/vercel/index.d.ts +10 -0
  375. package/dist/types/vercel/tracing.d.ts +71 -0
  376. package/dist/types/vite/debug.d.ts +80 -0
  377. package/dist/types/vite/discovery/bundle-postprocess.d.ts +12 -0
  378. package/dist/types/vite/discovery/client-urls-projection.d.ts +53 -0
  379. package/dist/types/vite/discovery/dev-prerender-cache.d.ts +65 -0
  380. package/dist/types/vite/discovery/discover-routers.d.ts +17 -0
  381. package/dist/types/vite/discovery/discovery-errors.d.ts +113 -0
  382. package/dist/types/vite/discovery/gate-state.d.ts +79 -0
  383. package/dist/types/vite/discovery/prerender-collection.d.ts +24 -0
  384. package/dist/types/vite/discovery/route-types-writer.d.ts +32 -0
  385. package/dist/types/vite/discovery/self-gen-tracking.d.ts +22 -0
  386. package/dist/types/vite/discovery/shell-prerender-phase.d.ts +40 -0
  387. package/dist/types/vite/discovery/state.d.ts +170 -0
  388. package/dist/types/vite/discovery/virtual-module-codegen.d.ts +15 -0
  389. package/dist/types/vite/encryption-key.d.ts +2 -0
  390. package/dist/types/vite/index.d.ts +11 -0
  391. package/dist/types/vite/inject-client-debug.d.ts +56 -0
  392. package/dist/types/vite/plugin-types.d.ts +298 -0
  393. package/dist/types/vite/plugins/cjs-to-esm.d.ts +6 -0
  394. package/dist/types/vite/plugins/client-ref-dedup.d.ts +40 -0
  395. package/dist/types/vite/plugins/client-ref-hashing.d.ts +35 -0
  396. package/dist/types/vite/plugins/cloudflare-protocol-stub.d.ts +64 -0
  397. package/dist/types/vite/plugins/expose-action-id.d.ts +18 -0
  398. package/dist/types/vite/plugins/expose-id-utils.d.ts +37 -0
  399. package/dist/types/vite/plugins/expose-ids/export-analysis.d.ts +19 -0
  400. package/dist/types/vite/plugins/expose-ids/handler-transform.d.ts +10 -0
  401. package/dist/types/vite/plugins/expose-ids/loader-transform.d.ts +8 -0
  402. package/dist/types/vite/plugins/expose-ids/router-transform.d.ts +13 -0
  403. package/dist/types/vite/plugins/expose-ids/types.d.ts +29 -0
  404. package/dist/types/vite/plugins/expose-internal-ids.d.ts +16 -0
  405. package/dist/types/vite/plugins/performance-tracks.d.ts +25 -0
  406. package/dist/types/vite/plugins/refresh-cmd.d.ts +20 -0
  407. package/dist/types/vite/plugins/server-ref-hashing.d.ts +24 -0
  408. package/dist/types/vite/plugins/server-reference-pattern.d.ts +1 -0
  409. package/dist/types/vite/plugins/use-cache-transform.d.ts +20 -0
  410. package/dist/types/vite/plugins/vercel-output.d.ts +85 -0
  411. package/dist/types/vite/plugins/version-injector.d.ts +21 -0
  412. package/dist/types/vite/plugins/version-plugin.d.ts +19 -0
  413. package/dist/types/vite/plugins/virtual-entries.d.ts +36 -0
  414. package/dist/types/vite/plugins/virtual-stub-plugin.d.ts +7 -0
  415. package/dist/types/vite/rango.d.ts +29 -0
  416. package/dist/types/vite/router-discovery.d.ts +23 -0
  417. package/dist/types/vite/utils/ast-handler-extract.d.ts +64 -0
  418. package/dist/types/vite/utils/banner.d.ts +2 -0
  419. package/dist/types/vite/utils/bundle-analysis.d.ts +28 -0
  420. package/dist/types/vite/utils/client-chunks.d.ts +55 -0
  421. package/dist/types/vite/utils/directive-prologue.d.ts +16 -0
  422. package/dist/types/vite/utils/forward-user-plugins.d.ts +37 -0
  423. package/dist/types/vite/utils/manifest-utils.d.ts +7 -0
  424. package/dist/types/vite/utils/package-resolution.d.ts +6 -0
  425. package/dist/types/vite/utils/prerender-utils.d.ts +32 -0
  426. package/dist/types/vite/utils/shared-utils.d.ts +67 -0
  427. package/dist/types.backup/__internal.d.ts +127 -0
  428. package/dist/types.backup/bin/rango.d.ts +1 -0
  429. package/dist/types.backup/browser/action-coordinator.d.ts +57 -0
  430. package/dist/types.backup/browser/action-fence.d.ts +33 -0
  431. package/dist/types.backup/browser/app-shell.d.ts +34 -0
  432. package/dist/types.backup/browser/app-version.d.ts +6 -0
  433. package/dist/types.backup/browser/connection-warmup.d.ts +31 -0
  434. package/dist/types.backup/browser/cookie-name.d.ts +66 -0
  435. package/dist/types.backup/browser/event-controller.d.ts +221 -0
  436. package/dist/types.backup/browser/history-state.d.ts +26 -0
  437. package/dist/types.backup/browser/index.d.ts +1 -0
  438. package/dist/types.backup/browser/intercept-utils.d.ts +30 -0
  439. package/dist/types.backup/browser/invalidate-client-cache.d.ts +17 -0
  440. package/dist/types.backup/browser/link-interceptor.d.ts +43 -0
  441. package/dist/types.backup/browser/logging.d.ts +33 -0
  442. package/dist/types.backup/browser/merge-segment-loaders.d.ts +38 -0
  443. package/dist/types.backup/browser/navigation-bridge.d.ts +27 -0
  444. package/dist/types.backup/browser/navigation-client.d.ts +17 -0
  445. package/dist/types.backup/browser/navigation-store-handle.d.ts +25 -0
  446. package/dist/types.backup/browser/navigation-store.d.ts +95 -0
  447. package/dist/types.backup/browser/navigation-transaction.d.ts +75 -0
  448. package/dist/types.backup/browser/network-error-handler.d.ts +35 -0
  449. package/dist/types.backup/browser/partial-update.d.ts +61 -0
  450. package/dist/types.backup/browser/prefetch/cache.d.ts +183 -0
  451. package/dist/types.backup/browser/prefetch/fetch.d.ts +52 -0
  452. package/dist/types.backup/browser/prefetch/observer.d.ts +27 -0
  453. package/dist/types.backup/browser/prefetch/policy.d.ts +13 -0
  454. package/dist/types.backup/browser/prefetch/queue.d.ts +48 -0
  455. package/dist/types.backup/browser/prefetch/resource-ready.d.ts +28 -0
  456. package/dist/types.backup/browser/rango-state.d.ts +52 -0
  457. package/dist/types.backup/browser/react/Link.d.ts +140 -0
  458. package/dist/types.backup/browser/react/NavigationProvider.d.ts +88 -0
  459. package/dist/types.backup/browser/react/ScrollRestoration.d.ts +78 -0
  460. package/dist/types.backup/browser/react/context.d.ts +54 -0
  461. package/dist/types.backup/browser/react/filter-segment-order.d.ts +35 -0
  462. package/dist/types.backup/browser/react/index.d.ts +1 -0
  463. package/dist/types.backup/browser/react/location-state-shared.d.ts +162 -0
  464. package/dist/types.backup/browser/react/location-state.d.ts +29 -0
  465. package/dist/types.backup/browser/react/mount-context.d.ts +23 -0
  466. package/dist/types.backup/browser/react/nonce-context.d.ts +14 -0
  467. package/dist/types.backup/browser/react/shallow-equal.d.ts +5 -0
  468. package/dist/types.backup/browser/react/use-action.d.ts +61 -0
  469. package/dist/types.backup/browser/react/use-handle.d.ts +21 -0
  470. package/dist/types.backup/browser/react/use-href.d.ts +32 -0
  471. package/dist/types.backup/browser/react/use-link-status.d.ts +36 -0
  472. package/dist/types.backup/browser/react/use-mount.d.ts +24 -0
  473. package/dist/types.backup/browser/react/use-navigation.d.ts +15 -0
  474. package/dist/types.backup/browser/react/use-params.d.ts +21 -0
  475. package/dist/types.backup/browser/react/use-pathname.d.ts +13 -0
  476. package/dist/types.backup/browser/react/use-reverse.d.ts +40 -0
  477. package/dist/types.backup/browser/react/use-router.d.ts +23 -0
  478. package/dist/types.backup/browser/react/use-search-params.d.ts +19 -0
  479. package/dist/types.backup/browser/react/use-segments.d.ts +29 -0
  480. package/dist/types.backup/browser/response-adapter.d.ts +58 -0
  481. package/dist/types.backup/browser/rsc-router.d.ts +141 -0
  482. package/dist/types.backup/browser/scroll-restoration.d.ts +103 -0
  483. package/dist/types.backup/browser/segment-reconciler.d.ts +74 -0
  484. package/dist/types.backup/browser/segment-structure-assert.d.ts +16 -0
  485. package/dist/types.backup/browser/server-action-bridge.d.ts +29 -0
  486. package/dist/types.backup/browser/types.d.ts +530 -0
  487. package/dist/types.backup/browser/validate-redirect-origin.d.ts +28 -0
  488. package/dist/types.backup/build/collect-fallback-refs.d.ts +5 -0
  489. package/dist/types.backup/build/generate-manifest.d.ts +100 -0
  490. package/dist/types.backup/build/generate-route-types.d.ts +8 -0
  491. package/dist/types.backup/build/index.d.ts +21 -0
  492. package/dist/types.backup/build/prefix-tree-utils.d.ts +56 -0
  493. package/dist/types.backup/build/route-trie.d.ts +89 -0
  494. package/dist/types.backup/build/route-types/ast-helpers.d.ts +3 -0
  495. package/dist/types.backup/build/route-types/ast-route-extraction.d.ts +13 -0
  496. package/dist/types.backup/build/route-types/codegen.d.ts +16 -0
  497. package/dist/types.backup/build/route-types/include-resolution.d.ts +74 -0
  498. package/dist/types.backup/build/route-types/param-extraction.d.ts +13 -0
  499. package/dist/types.backup/build/route-types/per-module-writer.d.ts +18 -0
  500. package/dist/types.backup/build/route-types/router-processing.d.ts +82 -0
  501. package/dist/types.backup/build/route-types/scan-filter.d.ts +17 -0
  502. package/dist/types.backup/build/route-types/source-scan.d.ts +13 -0
  503. package/dist/types.backup/build/runtime-discovery.d.ts +24 -0
  504. package/dist/types.backup/cache/background-task.d.ts +21 -0
  505. package/dist/types.backup/cache/cache-error.d.ts +71 -0
  506. package/dist/types.backup/cache/cache-key-utils.d.ts +35 -0
  507. package/dist/types.backup/cache/cache-policy.d.ts +59 -0
  508. package/dist/types.backup/cache/cache-runtime.d.ts +51 -0
  509. package/dist/types.backup/cache/cache-scope.d.ts +134 -0
  510. package/dist/types.backup/cache/cache-tag.d.ts +79 -0
  511. package/dist/types.backup/cache/cf/cf-base64.d.ts +4 -0
  512. package/dist/types.backup/cache/cf/cf-cache-constants.d.ts +105 -0
  513. package/dist/types.backup/cache/cf/cf-cache-store.d.ts +481 -0
  514. package/dist/types.backup/cache/cf/cf-cache-types.d.ts +300 -0
  515. package/dist/types.backup/cache/cf/cf-kv-utils.d.ts +22 -0
  516. package/dist/types.backup/cache/cf/cf-tag-marker-memo.d.ts +15 -0
  517. package/dist/types.backup/cache/cf/index.d.ts +3 -0
  518. package/dist/types.backup/cache/document-cache.d.ts +69 -0
  519. package/dist/types.backup/cache/handle-capture.d.ts +23 -0
  520. package/dist/types.backup/cache/handle-snapshot.d.ts +39 -0
  521. package/dist/types.backup/cache/index.d.ts +7 -0
  522. package/dist/types.backup/cache/memory-segment-store.d.ts +163 -0
  523. package/dist/types.backup/cache/profile-registry.d.ts +40 -0
  524. package/dist/types.backup/cache/read-through-swr.d.ts +60 -0
  525. package/dist/types.backup/cache/segment-codec.d.ts +78 -0
  526. package/dist/types.backup/cache/shell-snapshot.d.ts +162 -0
  527. package/dist/types.backup/cache/tag-invalidation.d.ts +74 -0
  528. package/dist/types.backup/cache/taint.d.ts +71 -0
  529. package/dist/types.backup/cache/types.d.ts +407 -0
  530. package/dist/types.backup/cache/vercel/index.d.ts +1 -0
  531. package/dist/types.backup/cache/vercel/vercel-cache-store.d.ts +267 -0
  532. package/dist/types.backup/client.d.ts +184 -0
  533. package/dist/types.backup/client.rsc.d.ts +39 -0
  534. package/dist/types.backup/cloudflare/index.d.ts +7 -0
  535. package/dist/types.backup/cloudflare/tracing.d.ts +53 -0
  536. package/dist/types.backup/component-utils.d.ts +46 -0
  537. package/dist/types.backup/components/DefaultDocument.d.ts +13 -0
  538. package/dist/types.backup/context-var.d.ts +84 -0
  539. package/dist/types.backup/debug.d.ts +57 -0
  540. package/dist/types.backup/decode-loader-results.d.ts +5 -0
  541. package/dist/types.backup/default-error-boundary.d.ts +10 -0
  542. package/dist/types.backup/defer.d.ts +89 -0
  543. package/dist/types.backup/deps/browser.d.ts +1 -0
  544. package/dist/types.backup/deps/html-stream-client.d.ts +1 -0
  545. package/dist/types.backup/deps/html-stream-server.d.ts +1 -0
  546. package/dist/types.backup/deps/rsc.d.ts +1 -0
  547. package/dist/types.backup/deps/ssr.d.ts +1 -0
  548. package/dist/types.backup/encode-kv.d.ts +35 -0
  549. package/dist/types.backup/errors.d.ts +226 -0
  550. package/dist/types.backup/escape-script.d.ts +44 -0
  551. package/dist/types.backup/handle.d.ts +93 -0
  552. package/dist/types.backup/handles/MetaTags.d.ts +17 -0
  553. package/dist/types.backup/handles/Scripts.d.ts +38 -0
  554. package/dist/types.backup/handles/breadcrumbs.d.ts +43 -0
  555. package/dist/types.backup/handles/deferred-resolution.d.ts +53 -0
  556. package/dist/types.backup/handles/is-thenable.d.ts +12 -0
  557. package/dist/types.backup/handles/meta.d.ts +43 -0
  558. package/dist/types.backup/handles/script.d.ts +139 -0
  559. package/dist/types.backup/host/cookie-handler.d.ts +8 -0
  560. package/dist/types.backup/host/errors.d.ts +40 -0
  561. package/dist/types.backup/host/index.d.ts +33 -0
  562. package/dist/types.backup/host/pattern-matcher.d.ts +30 -0
  563. package/dist/types.backup/host/router.d.ts +12 -0
  564. package/dist/types.backup/host/testing.d.ts +41 -0
  565. package/dist/types.backup/host/types.d.ts +148 -0
  566. package/dist/types.backup/host/utils.d.ts +20 -0
  567. package/dist/types.backup/href-client.d.ts +214 -0
  568. package/dist/types.backup/index.d.ts +112 -0
  569. package/dist/types.backup/index.rsc.d.ts +51 -0
  570. package/dist/types.backup/internal-debug.d.ts +1 -0
  571. package/dist/types.backup/loader-store.d.ts +193 -0
  572. package/dist/types.backup/loader.d.ts +18 -0
  573. package/dist/types.backup/loader.rsc.d.ts +18 -0
  574. package/dist/types.backup/missing-id-error.d.ts +1 -0
  575. package/dist/types.backup/outlet-context.d.ts +12 -0
  576. package/dist/types.backup/outlet-provider.d.ts +12 -0
  577. package/dist/types.backup/prerender/build-shell-capture.d.ts +104 -0
  578. package/dist/types.backup/prerender/param-hash.d.ts +6 -0
  579. package/dist/types.backup/prerender/shell-manifest-key.d.ts +18 -0
  580. package/dist/types.backup/prerender/store.d.ts +62 -0
  581. package/dist/types.backup/prerender.d.ts +292 -0
  582. package/dist/types.backup/redirect-origin.d.ts +55 -0
  583. package/dist/types.backup/regex-escape.d.ts +6 -0
  584. package/dist/types.backup/render-error-thrower.d.ts +13 -0
  585. package/dist/types.backup/response-utils.d.ts +35 -0
  586. package/dist/types.backup/reverse.d.ts +206 -0
  587. package/dist/types.backup/root-error-boundary.d.ts +32 -0
  588. package/dist/types.backup/route-content-wrapper.d.ts +40 -0
  589. package/dist/types.backup/route-definition/dsl-helpers.d.ts +130 -0
  590. package/dist/types.backup/route-definition/helper-factories.d.ts +22 -0
  591. package/dist/types.backup/route-definition/helpers-types.d.ts +392 -0
  592. package/dist/types.backup/route-definition/index.d.ts +7 -0
  593. package/dist/types.backup/route-definition/redirect.d.ts +48 -0
  594. package/dist/types.backup/route-definition/resolve-handler-use.d.ts +19 -0
  595. package/dist/types.backup/route-definition/use-item-types.d.ts +1 -0
  596. package/dist/types.backup/route-definition.d.ts +1 -0
  597. package/dist/types.backup/route-map-builder.d.ts +127 -0
  598. package/dist/types.backup/route-name.d.ts +27 -0
  599. package/dist/types.backup/route-types.d.ts +172 -0
  600. package/dist/types.backup/router/basename.d.ts +10 -0
  601. package/dist/types.backup/router/content-negotiation.d.ts +91 -0
  602. package/dist/types.backup/router/debug-manifest.d.ts +7 -0
  603. package/dist/types.backup/router/error-handling.d.ts +76 -0
  604. package/dist/types.backup/router/find-match.d.ts +19 -0
  605. package/dist/types.backup/router/handler-context.d.ts +41 -0
  606. package/dist/types.backup/router/instrument.d.ts +161 -0
  607. package/dist/types.backup/router/intercept-resolution.d.ts +79 -0
  608. package/dist/types.backup/router/lazy-includes.d.ts +26 -0
  609. package/dist/types.backup/router/loader-resolution.d.ts +63 -0
  610. package/dist/types.backup/router/logging.d.ts +41 -0
  611. package/dist/types.backup/router/manifest.d.ts +8 -0
  612. package/dist/types.backup/router/match-api.d.ts +19 -0
  613. package/dist/types.backup/router/match-context.d.ts +184 -0
  614. package/dist/types.backup/router/match-handlers.d.ts +49 -0
  615. package/dist/types.backup/router/match-middleware/background-revalidation.d.ts +113 -0
  616. package/dist/types.backup/router/match-middleware/cache-lookup.d.ts +113 -0
  617. package/dist/types.backup/router/match-middleware/cache-store.d.ts +112 -0
  618. package/dist/types.backup/router/match-middleware/index.d.ts +80 -0
  619. package/dist/types.backup/router/match-middleware/intercept-resolution.d.ts +116 -0
  620. package/dist/types.backup/router/match-middleware/segment-resolution.d.ts +94 -0
  621. package/dist/types.backup/router/match-pipelines.d.ts +103 -0
  622. package/dist/types.backup/router/match-result.d.ts +114 -0
  623. package/dist/types.backup/router/metrics.d.ts +6 -0
  624. package/dist/types.backup/router/middleware-types.d.ts +74 -0
  625. package/dist/types.backup/router/middleware.d.ts +116 -0
  626. package/dist/types.backup/router/navigation-snapshot.d.ts +22 -0
  627. package/dist/types.backup/router/params-util.d.ts +8 -0
  628. package/dist/types.backup/router/parse-pattern.d.ts +38 -0
  629. package/dist/types.backup/router/pattern-matching.d.ts +169 -0
  630. package/dist/types.backup/router/prefetch-cache-ttl.d.ts +27 -0
  631. package/dist/types.backup/router/prefetch-limits.d.ts +20 -0
  632. package/dist/types.backup/router/prerender-match.d.ts +50 -0
  633. package/dist/types.backup/router/preview-match.d.ts +22 -0
  634. package/dist/types.backup/router/request-classification.d.ts +104 -0
  635. package/dist/types.backup/router/revalidation.d.ts +57 -0
  636. package/dist/types.backup/router/route-snapshot.d.ts +112 -0
  637. package/dist/types.backup/router/router-context.d.ts +137 -0
  638. package/dist/types.backup/router/router-interfaces.d.ts +432 -0
  639. package/dist/types.backup/router/router-options.d.ts +738 -0
  640. package/dist/types.backup/router/router-registry.d.ts +15 -0
  641. package/dist/types.backup/router/segment-resolution/fresh.d.ts +55 -0
  642. package/dist/types.backup/router/segment-resolution/helpers.d.ts +93 -0
  643. package/dist/types.backup/router/segment-resolution/loader-cache.d.ts +33 -0
  644. package/dist/types.backup/router/segment-resolution/loader-mask.d.ts +44 -0
  645. package/dist/types.backup/router/segment-resolution/loader-snapshot.d.ts +90 -0
  646. package/dist/types.backup/router/segment-resolution/mask-nested.d.ts +53 -0
  647. package/dist/types.backup/router/segment-resolution/revalidation.d.ts +85 -0
  648. package/dist/types.backup/router/segment-resolution/static-store.d.ts +17 -0
  649. package/dist/types.backup/router/segment-resolution/streamed-handler-telemetry.d.ts +16 -0
  650. package/dist/types.backup/router/segment-resolution/view-transition-default.d.ts +28 -0
  651. package/dist/types.backup/router/segment-resolution.d.ts +3 -0
  652. package/dist/types.backup/router/segment-wrappers.d.ts +53 -0
  653. package/dist/types.backup/router/state-cookie-name.d.ts +1 -0
  654. package/dist/types.backup/router/substitute-pattern-params.d.ts +23 -0
  655. package/dist/types.backup/router/telemetry-otel.d.ts +113 -0
  656. package/dist/types.backup/router/telemetry.d.ts +215 -0
  657. package/dist/types.backup/router/timeout.d.ts +68 -0
  658. package/dist/types.backup/router/tracing.d.ts +125 -0
  659. package/dist/types.backup/router/trie-matching.d.ts +32 -0
  660. package/dist/types.backup/router/types.d.ts +98 -0
  661. package/dist/types.backup/router/url-params.d.ts +26 -0
  662. package/dist/types.backup/router.d.ts +7 -0
  663. package/dist/types.backup/rsc/capture-queue.d.ts +6 -0
  664. package/dist/types.backup/rsc/full-payload.d.ts +22 -0
  665. package/dist/types.backup/rsc/handler-context.d.ts +31 -0
  666. package/dist/types.backup/rsc/handler.d.ts +9 -0
  667. package/dist/types.backup/rsc/helpers.d.ts +213 -0
  668. package/dist/types.backup/rsc/index.d.ts +17 -0
  669. package/dist/types.backup/rsc/json-route-result.d.ts +20 -0
  670. package/dist/types.backup/rsc/loader-fetch.d.ts +14 -0
  671. package/dist/types.backup/rsc/manifest-init.d.ts +18 -0
  672. package/dist/types.backup/rsc/nonce.d.ts +28 -0
  673. package/dist/types.backup/rsc/origin-guard.d.ts +50 -0
  674. package/dist/types.backup/rsc/progressive-enhancement.d.ts +19 -0
  675. package/dist/types.backup/rsc/redirect-guard.d.ts +35 -0
  676. package/dist/types.backup/rsc/response-cache-serve.d.ts +46 -0
  677. package/dist/types.backup/rsc/response-error.d.ts +19 -0
  678. package/dist/types.backup/rsc/response-route-handler.d.ts +29 -0
  679. package/dist/types.backup/rsc/rsc-rendering.d.ts +23 -0
  680. package/dist/types.backup/rsc/runtime-warnings.d.ts +22 -0
  681. package/dist/types.backup/rsc/server-action.d.ts +68 -0
  682. package/dist/types.backup/rsc/shell-build-manifest.d.ts +84 -0
  683. package/dist/types.backup/rsc/shell-capture-constants.d.ts +27 -0
  684. package/dist/types.backup/rsc/shell-capture.d.ts +374 -0
  685. package/dist/types.backup/rsc/shell-serve.d.ts +136 -0
  686. package/dist/types.backup/rsc/ssr-setup.d.ts +48 -0
  687. package/dist/types.backup/rsc/transition-gate.d.ts +27 -0
  688. package/dist/types.backup/rsc/types.d.ts +290 -0
  689. package/dist/types.backup/runtime-env.d.ts +1 -0
  690. package/dist/types.backup/search-params.d.ts +125 -0
  691. package/dist/types.backup/segment-content-promise.d.ts +13 -0
  692. package/dist/types.backup/segment-fragments.d.ts +56 -0
  693. package/dist/types.backup/segment-loader-promise.d.ts +22 -0
  694. package/dist/types.backup/segment-system.d.ts +84 -0
  695. package/dist/types.backup/serialize.d.ts +164 -0
  696. package/dist/types.backup/server/context.d.ts +494 -0
  697. package/dist/types.backup/server/cookie-parse.d.ts +10 -0
  698. package/dist/types.backup/server/cookie-store.d.ts +107 -0
  699. package/dist/types.backup/server/fetchable-loader-store.d.ts +20 -0
  700. package/dist/types.backup/server/handle-store.d.ts +100 -0
  701. package/dist/types.backup/server/loader-registry.d.ts +32 -0
  702. package/dist/types.backup/server/request-context.d.ts +596 -0
  703. package/dist/types.backup/server/root-layout.d.ts +3 -0
  704. package/dist/types.backup/server.d.ts +15 -0
  705. package/dist/types.backup/ssr/index.d.ts +233 -0
  706. package/dist/types.backup/ssr/inject-rsc-eager.d.ts +3 -0
  707. package/dist/types.backup/ssr/preinit-client-references.d.ts +71 -0
  708. package/dist/types.backup/ssr/ssr-root.d.ts +69 -0
  709. package/dist/types.backup/static-handler.d.ts +57 -0
  710. package/dist/types.backup/testing/cache-status.d.ts +63 -0
  711. package/dist/types.backup/testing/collect-handle.d.ts +20 -0
  712. package/dist/types.backup/testing/dispatch.d.ts +123 -0
  713. package/dist/types.backup/testing/dom.entry.d.ts +15 -0
  714. package/dist/types.backup/testing/e2e/fixture.d.ts +37 -0
  715. package/dist/types.backup/testing/e2e/index.d.ts +30 -0
  716. package/dist/types.backup/testing/e2e/matchers.d.ts +17 -0
  717. package/dist/types.backup/testing/e2e/page-helpers.d.ts +62 -0
  718. package/dist/types.backup/testing/e2e/parity.d.ts +111 -0
  719. package/dist/types.backup/testing/e2e/server.d.ts +35 -0
  720. package/dist/types.backup/testing/flight-matchers.d.ts +55 -0
  721. package/dist/types.backup/testing/flight-normalize.d.ts +1 -0
  722. package/dist/types.backup/testing/flight-tree.d.ts +192 -0
  723. package/dist/types.backup/testing/flight.d.ts +115 -0
  724. package/dist/types.backup/testing/flight.entry.d.ts +27 -0
  725. package/dist/types.backup/testing/generated-routes.d.ts +66 -0
  726. package/dist/types.backup/testing/index.d.ts +52 -0
  727. package/dist/types.backup/testing/internal/context.d.ts +225 -0
  728. package/dist/types.backup/testing/internal/flight-client-globals.d.ts +1 -0
  729. package/dist/types.backup/testing/internal/seed-vars.d.ts +30 -0
  730. package/dist/types.backup/testing/render-handler.d.ts +160 -0
  731. package/dist/types.backup/testing/render-route.d.ts +246 -0
  732. package/dist/types.backup/testing/run-loader.d.ts +186 -0
  733. package/dist/types.backup/testing/run-middleware.d.ts +132 -0
  734. package/dist/types.backup/testing/run-transition-when.d.ts +77 -0
  735. package/dist/types.backup/testing/vitest-stubs/cloudflare-email.d.ts +6 -0
  736. package/dist/types.backup/testing/vitest-stubs/cloudflare-workers.d.ts +13 -0
  737. package/dist/types.backup/testing/vitest-stubs/plugin-rsc.d.ts +7 -0
  738. package/dist/types.backup/testing/vitest-stubs/version.d.ts +1 -0
  739. package/dist/types.backup/testing/vitest.d.ts +205 -0
  740. package/dist/types.backup/theme/ThemeProvider.d.ts +13 -0
  741. package/dist/types.backup/theme/ThemeScript.d.ts +45 -0
  742. package/dist/types.backup/theme/constants.d.ts +39 -0
  743. package/dist/types.backup/theme/index.d.ts +29 -0
  744. package/dist/types.backup/theme/theme-context.d.ts +21 -0
  745. package/dist/types.backup/theme/theme-script.d.ts +26 -0
  746. package/dist/types.backup/theme/types.d.ts +162 -0
  747. package/dist/types.backup/theme/use-theme.d.ts +8 -0
  748. package/dist/types.backup/types/boundaries.d.ts +93 -0
  749. package/dist/types.backup/types/cache-types.d.ts +191 -0
  750. package/dist/types.backup/types/error-types.d.ts +114 -0
  751. package/dist/types.backup/types/global-namespace.d.ts +90 -0
  752. package/dist/types.backup/types/handler-context.d.ts +658 -0
  753. package/dist/types.backup/types/index.d.ts +11 -0
  754. package/dist/types.backup/types/loader-types.d.ts +182 -0
  755. package/dist/types.backup/types/request-scope.d.ts +93 -0
  756. package/dist/types.backup/types/route-config.d.ts +105 -0
  757. package/dist/types.backup/types/route-entry.d.ts +95 -0
  758. package/dist/types.backup/types/segments.d.ts +234 -0
  759. package/dist/types.backup/types.d.ts +1 -0
  760. package/dist/types.backup/urls/include-helper.d.ts +17 -0
  761. package/dist/types.backup/urls/include-provider.d.ts +27 -0
  762. package/dist/types.backup/urls/index.d.ts +6 -0
  763. package/dist/types.backup/urls/path-helper-types.d.ts +197 -0
  764. package/dist/types.backup/urls/path-helper.d.ts +12 -0
  765. package/dist/types.backup/urls/pattern-types.d.ts +166 -0
  766. package/dist/types.backup/urls/response-types.d.ts +67 -0
  767. package/dist/types.backup/urls/type-extraction.d.ts +157 -0
  768. package/dist/types.backup/urls/urls-function.d.ts +24 -0
  769. package/dist/types.backup/urls.d.ts +1 -0
  770. package/dist/types.backup/use-loader.d.ts +150 -0
  771. package/dist/types.backup/vercel/index.d.ts +10 -0
  772. package/dist/types.backup/vercel/tracing.d.ts +70 -0
  773. package/dist/types.backup/vite/debug.d.ts +80 -0
  774. package/dist/types.backup/vite/discovery/bundle-postprocess.d.ts +12 -0
  775. package/dist/types.backup/vite/discovery/dev-prerender-cache.d.ts +65 -0
  776. package/dist/types.backup/vite/discovery/discover-routers.d.ts +17 -0
  777. package/dist/types.backup/vite/discovery/discovery-errors.d.ts +113 -0
  778. package/dist/types.backup/vite/discovery/gate-state.d.ts +79 -0
  779. package/dist/types.backup/vite/discovery/prerender-collection.d.ts +24 -0
  780. package/dist/types.backup/vite/discovery/route-types-writer.d.ts +32 -0
  781. package/dist/types.backup/vite/discovery/self-gen-tracking.d.ts +22 -0
  782. package/dist/types.backup/vite/discovery/shell-prerender-phase.d.ts +40 -0
  783. package/dist/types.backup/vite/discovery/state.d.ts +162 -0
  784. package/dist/types.backup/vite/discovery/virtual-module-codegen.d.ts +15 -0
  785. package/dist/types.backup/vite/index.d.ts +11 -0
  786. package/dist/types.backup/vite/inject-client-debug.d.ts +56 -0
  787. package/dist/types.backup/vite/plugin-types.d.ts +298 -0
  788. package/dist/types.backup/vite/plugins/cjs-to-esm.d.ts +6 -0
  789. package/dist/types.backup/vite/plugins/client-ref-dedup.d.ts +40 -0
  790. package/dist/types.backup/vite/plugins/client-ref-hashing.d.ts +35 -0
  791. package/dist/types.backup/vite/plugins/cloudflare-protocol-stub.d.ts +64 -0
  792. package/dist/types.backup/vite/plugins/expose-action-id.d.ts +18 -0
  793. package/dist/types.backup/vite/plugins/expose-id-utils.d.ts +37 -0
  794. package/dist/types.backup/vite/plugins/expose-ids/export-analysis.d.ts +19 -0
  795. package/dist/types.backup/vite/plugins/expose-ids/handler-transform.d.ts +10 -0
  796. package/dist/types.backup/vite/plugins/expose-ids/loader-transform.d.ts +8 -0
  797. package/dist/types.backup/vite/plugins/expose-ids/router-transform.d.ts +13 -0
  798. package/dist/types.backup/vite/plugins/expose-ids/types.d.ts +29 -0
  799. package/dist/types.backup/vite/plugins/expose-internal-ids.d.ts +6 -0
  800. package/dist/types.backup/vite/plugins/performance-tracks.d.ts +25 -0
  801. package/dist/types.backup/vite/plugins/refresh-cmd.d.ts +20 -0
  802. package/dist/types.backup/vite/plugins/use-cache-transform.d.ts +20 -0
  803. package/dist/types.backup/vite/plugins/vercel-output.d.ts +85 -0
  804. package/dist/types.backup/vite/plugins/version-injector.d.ts +21 -0
  805. package/dist/types.backup/vite/plugins/version-plugin.d.ts +19 -0
  806. package/dist/types.backup/vite/plugins/virtual-entries.d.ts +36 -0
  807. package/dist/types.backup/vite/plugins/virtual-stub-plugin.d.ts +7 -0
  808. package/dist/types.backup/vite/rango.d.ts +29 -0
  809. package/dist/types.backup/vite/router-discovery.d.ts +23 -0
  810. package/dist/types.backup/vite/utils/ast-handler-extract.d.ts +64 -0
  811. package/dist/types.backup/vite/utils/banner.d.ts +2 -0
  812. package/dist/types.backup/vite/utils/bundle-analysis.d.ts +28 -0
  813. package/dist/types.backup/vite/utils/client-chunks.d.ts +55 -0
  814. package/dist/types.backup/vite/utils/directive-prologue.d.ts +16 -0
  815. package/dist/types.backup/vite/utils/forward-user-plugins.d.ts +37 -0
  816. package/dist/types.backup/vite/utils/manifest-utils.d.ts +7 -0
  817. package/dist/types.backup/vite/utils/package-resolution.d.ts +6 -0
  818. package/dist/types.backup/vite/utils/prerender-utils.d.ts +32 -0
  819. package/dist/types.backup/vite/utils/shared-utils.d.ts +55 -0
  820. package/dist/vite/index.js +10628 -3742
  821. package/dist/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  822. package/package.json +120 -38
  823. package/skills/api-client/SKILL.md +211 -0
  824. package/skills/breadcrumbs/SKILL.md +85 -6
  825. package/skills/bundle-analysis/SKILL.md +159 -0
  826. package/skills/cache-guide/SKILL.md +255 -25
  827. package/skills/caching/SKILL.md +377 -13
  828. package/skills/catalog.json +283 -0
  829. package/skills/cloudflare/SKILL.md +151 -0
  830. package/skills/cloudflare/agents/openai.yaml +4 -0
  831. package/skills/cloudflare/references/d1-and-local-dev.md +131 -0
  832. package/skills/cloudflare/references/streaming-and-deploy.md +107 -0
  833. package/skills/cloudflare/references/webhooks-and-crypto.md +147 -0
  834. package/skills/comparison/SKILL.md +50 -0
  835. package/skills/comparison/agents/openai.yaml +4 -0
  836. package/skills/comparison/references/framework-comparison.md +844 -0
  837. package/skills/composability/SKILL.md +124 -4
  838. package/skills/css/SKILL.md +76 -0
  839. package/skills/debug-manifest/SKILL.md +5 -11
  840. package/skills/defer-hydration/SKILL.md +235 -0
  841. package/skills/deployment-caching/SKILL.md +176 -0
  842. package/skills/document-cache/SKILL.md +116 -58
  843. package/skills/fonts/SKILL.md +1 -1
  844. package/skills/handler-use/SKILL.md +364 -0
  845. package/skills/hooks/SKILL.md +73 -691
  846. package/skills/hooks/data.md +273 -0
  847. package/skills/hooks/handle-and-actions.md +103 -0
  848. package/skills/hooks/navigation.md +110 -0
  849. package/skills/hooks/outlets.md +62 -0
  850. package/skills/hooks/state.md +228 -0
  851. package/skills/hooks/urls.md +135 -0
  852. package/skills/host-router/SKILL.md +129 -27
  853. package/skills/i18n/SKILL.md +276 -0
  854. package/skills/intercept/SKILL.md +94 -18
  855. package/skills/layout/SKILL.md +62 -19
  856. package/skills/links/SKILL.md +285 -17
  857. package/skills/loader/SKILL.md +302 -54
  858. package/skills/middleware/SKILL.md +92 -16
  859. package/skills/migrate-nextjs/SKILL.md +794 -0
  860. package/skills/migrate-nextjs/backend-host-swap.md +120 -0
  861. package/skills/migrate-react-router/SKILL.md +153 -0
  862. package/skills/migrate-react-router/component-migration.md +196 -0
  863. package/skills/migrate-react-router/data-and-actions.md +225 -0
  864. package/skills/migrate-react-router/route-mapping.md +271 -0
  865. package/skills/mime-routes/SKILL.md +55 -18
  866. package/skills/observability/SKILL.md +231 -0
  867. package/skills/parallel/SKILL.md +176 -10
  868. package/skills/ppr/SKILL.md +904 -0
  869. package/skills/prerender/SKILL.md +236 -132
  870. package/skills/rango/SKILL.md +321 -24
  871. package/skills/react-compiler/SKILL.md +168 -0
  872. package/skills/response-routes/SKILL.md +180 -52
  873. package/skills/route/SKILL.md +178 -9
  874. package/skills/router-setup/SKILL.md +140 -11
  875. package/skills/scripts/SKILL.md +179 -0
  876. package/skills/server-actions/SKILL.md +776 -0
  877. package/skills/shell-manifest/SKILL.md +185 -0
  878. package/skills/streams-and-websockets/SKILL.md +283 -0
  879. package/skills/tailwind/SKILL.md +28 -4
  880. package/skills/testing/SKILL.md +131 -0
  881. package/skills/testing/bindings.md +103 -0
  882. package/skills/testing/cache-prerender.md +172 -0
  883. package/skills/testing/client-components.md +131 -0
  884. package/skills/testing/e2e-parity.md +125 -0
  885. package/skills/testing/flight.md +91 -0
  886. package/skills/testing/handles.md +131 -0
  887. package/skills/testing/loader.md +128 -0
  888. package/skills/testing/middleware.md +99 -0
  889. package/skills/testing/render-handler.md +122 -0
  890. package/skills/testing/response-routes.md +95 -0
  891. package/skills/testing/reverse-and-types.md +85 -0
  892. package/skills/testing/server-actions.md +107 -0
  893. package/skills/testing/server-tree.md +128 -0
  894. package/skills/testing/setup.md +123 -0
  895. package/skills/theme/SKILL.md +1 -1
  896. package/skills/typesafety/SKILL.md +45 -616
  897. package/skills/typesafety/env-and-bindings.md +254 -0
  898. package/skills/typesafety/generated-files-and-cli.md +342 -0
  899. package/skills/typesafety/params-and-search.md +153 -0
  900. package/skills/typesafety/route-types.md +213 -0
  901. package/skills/use-cache/SKILL.md +121 -15
  902. package/skills/vercel/SKILL.md +149 -0
  903. package/skills/view-transitions/SKILL.md +341 -0
  904. package/src/__augment-tests__/augment.ts +81 -0
  905. package/src/__augment-tests__/augmented.check.ts +116 -0
  906. package/src/__internal.ts +1 -66
  907. package/src/browser/action-coordinator.ts +53 -36
  908. package/src/browser/action-fence.ts +47 -0
  909. package/src/browser/app-shell.ts +39 -0
  910. package/src/browser/app-version.ts +14 -0
  911. package/src/browser/connection-warmup.ts +134 -0
  912. package/src/browser/cookie-name.ts +140 -0
  913. package/src/browser/dev-discovery.ts +66 -0
  914. package/src/browser/event-controller.ts +400 -168
  915. package/src/browser/history-state.ts +21 -0
  916. package/src/browser/index.ts +3 -3
  917. package/src/browser/invalidate-client-cache.ts +52 -0
  918. package/src/browser/link-interceptor.ts +469 -20
  919. package/src/browser/logging.ts +28 -0
  920. package/src/browser/merge-segment-loaders.ts +6 -4
  921. package/src/browser/navigation-bridge.ts +207 -31
  922. package/src/browser/navigation-client.ts +275 -97
  923. package/src/browser/navigation-store-handle.ts +38 -0
  924. package/src/browser/navigation-store.ts +208 -329
  925. package/src/browser/navigation-transaction.ts +9 -59
  926. package/src/browser/network-error-handler.ts +34 -7
  927. package/src/browser/notify-listeners.ts +22 -0
  928. package/src/browser/partial-update.ts +241 -121
  929. package/src/browser/prefetch/cache.ts +329 -78
  930. package/src/browser/prefetch/default-strategy.ts +74 -0
  931. package/src/browser/prefetch/fetch.ts +444 -40
  932. package/src/browser/prefetch/invalidation.ts +30 -0
  933. package/src/browser/prefetch/loader.ts +111 -0
  934. package/src/browser/prefetch/observer.ts +50 -22
  935. package/src/browser/prefetch/queue.ts +113 -32
  936. package/src/browser/prefetch/resource-ready.ts +77 -0
  937. package/src/browser/prefetch/runtime.ts +6 -0
  938. package/src/browser/rango-state.ts +178 -75
  939. package/src/browser/react/Link.tsx +179 -75
  940. package/src/browser/react/NavigationProvider.tsx +222 -123
  941. package/src/browser/react/ScrollRestoration.tsx +10 -6
  942. package/src/browser/react/context.ts +11 -2
  943. package/src/browser/react/filter-segment-order.ts +66 -7
  944. package/src/browser/react/index.ts +0 -48
  945. package/src/browser/react/location-state-shared.ts +178 -8
  946. package/src/browser/react/location-state.ts +39 -14
  947. package/src/browser/react/use-action.ts +6 -15
  948. package/src/browser/react/use-handle.ts +23 -69
  949. package/src/browser/react/use-href.tsx +8 -1
  950. package/src/browser/react/use-link-status.ts +33 -8
  951. package/src/browser/react/use-navigation.ts +32 -7
  952. package/src/browser/react/use-params.ts +20 -10
  953. package/src/browser/react/use-reverse.ts +106 -0
  954. package/src/browser/react/use-router.ts +47 -12
  955. package/src/browser/react/use-search-params.ts +0 -5
  956. package/src/browser/react/use-segments.ts +11 -21
  957. package/src/browser/response-adapter.ts +99 -8
  958. package/src/browser/rsc-router.tsx +271 -32
  959. package/src/browser/scroll-restoration.ts +44 -27
  960. package/src/browser/segment-reconciler.ts +44 -12
  961. package/src/browser/segment-structure-assert.ts +2 -2
  962. package/src/browser/server-action-bridge.ts +270 -71
  963. package/src/browser/types.ts +157 -37
  964. package/src/browser/validate-redirect-origin.ts +43 -16
  965. package/src/build/collect-fallback-refs.ts +107 -0
  966. package/src/build/generate-manifest.ts +217 -188
  967. package/src/build/generate-route-types.ts +6 -1
  968. package/src/build/index.ts +11 -3
  969. package/src/build/merge-full-manifests.ts +161 -0
  970. package/src/build/prefix-tree-utils.ts +123 -0
  971. package/src/build/route-trie.ts +43 -254
  972. package/src/build/route-types/ast-route-extraction.ts +15 -8
  973. package/src/build/route-types/codegen.ts +16 -5
  974. package/src/build/route-types/include-resolution.ts +521 -65
  975. package/src/build/route-types/param-extraction.ts +6 -3
  976. package/src/build/route-types/per-module-writer.ts +33 -12
  977. package/src/build/route-types/router-processing.ts +408 -161
  978. package/src/build/route-types/scan-filter.ts +9 -2
  979. package/src/build/route-types/source-scan.ts +216 -0
  980. package/src/build/runtime-discovery.ts +32 -29
  981. package/src/cache/cache-error.ts +104 -0
  982. package/src/cache/cache-exec-scope.ts +47 -0
  983. package/src/cache/cache-key-utils.ts +73 -15
  984. package/src/cache/cache-policy.ts +108 -34
  985. package/src/cache/cache-runtime.ts +566 -117
  986. package/src/cache/cache-scope.ts +429 -110
  987. package/src/cache/cache-tag.ts +149 -0
  988. package/src/cache/cf/cf-base64.ts +33 -0
  989. package/src/cache/cf/cf-cache-constants.ts +134 -0
  990. package/src/cache/cf/cf-cache-store.ts +3027 -392
  991. package/src/cache/cf/cf-cache-types.ts +417 -0
  992. package/src/cache/cf/cf-kv-utils.ts +84 -0
  993. package/src/cache/cf/cf-tag-marker-memo.ts +108 -0
  994. package/src/cache/cf/cf-zone-purge.ts +101 -0
  995. package/src/cache/cf/index.ts +11 -16
  996. package/src/cache/document-cache.ts +184 -53
  997. package/src/cache/handle-snapshot.ts +92 -1
  998. package/src/cache/index.ts +32 -20
  999. package/src/cache/memory-segment-store.ts +286 -37
  1000. package/src/cache/profile-registry.ts +46 -31
  1001. package/src/cache/read-through-swr.ts +66 -16
  1002. package/src/cache/search-params-filter.ts +118 -0
  1003. package/src/cache/segment-codec.ts +80 -25
  1004. package/src/cache/shell-snapshot.ts +516 -0
  1005. package/src/cache/tag-invalidation.ts +230 -0
  1006. package/src/cache/taint.ts +83 -9
  1007. package/src/cache/types.ts +323 -100
  1008. package/src/cache/vercel/index.ts +11 -0
  1009. package/src/cache/vercel/vercel-cache-store.ts +1264 -0
  1010. package/src/client-urls/client-root.tsx +161 -0
  1011. package/src/client-urls/client-urls.ts +665 -0
  1012. package/src/client-urls/navigation.ts +237 -0
  1013. package/src/client-urls/revalidation-protocol.ts +56 -0
  1014. package/src/client-urls/server-projection.ts +563 -0
  1015. package/src/client-urls/types.ts +178 -0
  1016. package/src/client.rsc.tsx +48 -21
  1017. package/src/client.tsx +158 -294
  1018. package/src/cloudflare/index.ts +11 -0
  1019. package/src/cloudflare/tracing.ts +112 -0
  1020. package/src/component-utils.ts +19 -0
  1021. package/src/components/DefaultDocument.tsx +8 -2
  1022. package/src/context-var.ts +84 -2
  1023. package/src/decode-loader-results.ts +160 -0
  1024. package/src/defer.ts +185 -0
  1025. package/src/deps/ssr.ts +4 -2
  1026. package/src/dev-discovery-protocol.ts +11 -0
  1027. package/src/encode-kv.ts +49 -0
  1028. package/src/errors.ts +44 -4
  1029. package/src/escape-script.ts +52 -0
  1030. package/src/handle.ts +104 -34
  1031. package/src/handles/MetaTags.tsx +24 -53
  1032. package/src/handles/Scripts.tsx +183 -0
  1033. package/src/handles/breadcrumbs.ts +35 -8
  1034. package/src/handles/deferred-resolution.ts +134 -0
  1035. package/src/handles/is-thenable.ts +16 -0
  1036. package/src/handles/meta.ts +14 -40
  1037. package/src/handles/script.ts +244 -0
  1038. package/src/host/cookie-handler.ts +9 -60
  1039. package/src/host/errors.ts +13 -22
  1040. package/src/host/index.ts +9 -2
  1041. package/src/host/pattern-matcher.ts +23 -52
  1042. package/src/host/router.ts +107 -99
  1043. package/src/host/testing.ts +40 -27
  1044. package/src/host/types.ts +37 -4
  1045. package/src/host/utils.ts +1 -1
  1046. package/src/href-client.ts +137 -22
  1047. package/src/index.rsc.ts +111 -13
  1048. package/src/index.ts +150 -19
  1049. package/src/internal-debug.ts +11 -10
  1050. package/src/loader-redirect.tsx +47 -0
  1051. package/src/loader-store.ts +500 -0
  1052. package/src/loader.rsc.ts +20 -13
  1053. package/src/loader.ts +12 -11
  1054. package/src/missing-id-error.ts +68 -0
  1055. package/src/outlet-context.ts +13 -1
  1056. package/src/outlet-provider.tsx +16 -6
  1057. package/src/prerender/build-shell-capture.ts +453 -0
  1058. package/src/prerender/param-hash.ts +16 -16
  1059. package/src/prerender/shell-manifest-key.ts +20 -0
  1060. package/src/prerender/store.ts +52 -42
  1061. package/src/prerender.ts +215 -86
  1062. package/src/redirect-origin.ts +143 -0
  1063. package/src/regex-escape.ts +8 -0
  1064. package/src/render-error-thrower.tsx +20 -0
  1065. package/src/response-utils.ts +62 -0
  1066. package/src/reverse.ts +65 -15
  1067. package/src/root-error-boundary.tsx +1 -19
  1068. package/src/route-content-wrapper.tsx +112 -78
  1069. package/src/route-definition/dsl-helpers.ts +468 -306
  1070. package/src/route-definition/helper-factories.ts +28 -140
  1071. package/src/route-definition/helpers-types.ts +156 -78
  1072. package/src/route-definition/index.ts +4 -2
  1073. package/src/route-definition/redirect.ts +51 -10
  1074. package/src/route-definition/resolve-handler-use.ts +160 -0
  1075. package/src/route-definition/use-item-types.ts +29 -0
  1076. package/src/route-map-builder.ts +102 -74
  1077. package/src/route-types.ts +37 -46
  1078. package/src/router/basename.ts +14 -0
  1079. package/src/router/content-negotiation.ts +211 -22
  1080. package/src/router/error-handling.ts +110 -29
  1081. package/src/router/find-match.ts +129 -30
  1082. package/src/router/handler-context.ts +105 -45
  1083. package/src/router/instrument.ts +401 -0
  1084. package/src/router/intercept-resolution.ts +106 -24
  1085. package/src/router/lazy-includes.ts +86 -62
  1086. package/src/router/loader-resolution.ts +511 -57
  1087. package/src/router/logging.ts +0 -6
  1088. package/src/router/manifest.ts +96 -53
  1089. package/src/router/match-api.ts +190 -219
  1090. package/src/router/match-context.ts +0 -22
  1091. package/src/router/match-handlers.ts +268 -171
  1092. package/src/router/match-middleware/background-revalidation.ts +48 -21
  1093. package/src/router/match-middleware/cache-lookup.ts +332 -291
  1094. package/src/router/match-middleware/cache-store.ts +144 -45
  1095. package/src/router/match-middleware/intercept-resolution.ts +0 -22
  1096. package/src/router/match-middleware/segment-resolution.ts +45 -14
  1097. package/src/router/match-pipelines.ts +1 -42
  1098. package/src/router/match-result.ts +124 -43
  1099. package/src/router/metrics.ts +17 -36
  1100. package/src/router/middleware-types.ts +26 -138
  1101. package/src/router/middleware.ts +304 -177
  1102. package/src/router/navigation-snapshot.ts +173 -0
  1103. package/src/router/params-util.ts +23 -0
  1104. package/src/router/parse-pattern.ts +115 -0
  1105. package/src/router/pattern-matching.ts +181 -150
  1106. package/src/router/prefetch-cache-ttl.ts +51 -0
  1107. package/src/router/prefetch-default.ts +59 -0
  1108. package/src/router/prefetch-limits.ts +37 -0
  1109. package/src/router/prerender-match.ts +250 -60
  1110. package/src/router/preview-match.ts +35 -103
  1111. package/src/router/request-classification.ts +291 -0
  1112. package/src/router/revalidation.ts +146 -83
  1113. package/src/router/route-snapshot.ts +256 -0
  1114. package/src/router/route-trie-builder.ts +334 -0
  1115. package/src/router/router-context.ts +6 -28
  1116. package/src/router/router-interfaces.ts +199 -37
  1117. package/src/router/router-options.ts +271 -21
  1118. package/src/router/router-registry.ts +2 -5
  1119. package/src/router/segment-resolution/fresh.ts +235 -89
  1120. package/src/router/segment-resolution/helpers.ts +116 -33
  1121. package/src/router/segment-resolution/loader-cache.ts +187 -39
  1122. package/src/router/segment-resolution/loader-mask.ts +60 -0
  1123. package/src/router/segment-resolution/loader-snapshot.ts +259 -0
  1124. package/src/router/segment-resolution/mask-nested.ts +99 -0
  1125. package/src/router/segment-resolution/revalidation.ts +401 -321
  1126. package/src/router/segment-resolution/static-store.ts +55 -15
  1127. package/src/router/segment-resolution/streamed-handler-telemetry.ts +52 -0
  1128. package/src/router/segment-resolution/view-transition-default.ts +60 -0
  1129. package/src/router/segment-resolution.ts +5 -1
  1130. package/src/router/segment-wrappers.ts +6 -5
  1131. package/src/router/state-cookie-name.ts +33 -0
  1132. package/src/router/substitute-pattern-params.ts +75 -0
  1133. package/src/router/telemetry-otel.ts +171 -200
  1134. package/src/router/telemetry.ts +106 -20
  1135. package/src/router/timeout.ts +53 -22
  1136. package/src/router/tracing.ts +235 -0
  1137. package/src/router/transition-when.ts +76 -0
  1138. package/src/router/trie-matching.ts +171 -59
  1139. package/src/router/types.ts +10 -63
  1140. package/src/router/url-params.ts +57 -0
  1141. package/src/router.ts +296 -77
  1142. package/src/rsc/capture-queue.ts +218 -0
  1143. package/src/rsc/full-payload.ts +77 -0
  1144. package/src/rsc/handler-context.ts +4 -2
  1145. package/src/rsc/handler.ts +901 -519
  1146. package/src/rsc/helpers.ts +245 -47
  1147. package/src/rsc/index.ts +2 -5
  1148. package/src/rsc/json-route-result.ts +38 -0
  1149. package/src/rsc/loader-fetch.ts +129 -33
  1150. package/src/rsc/manifest-init.ts +55 -52
  1151. package/src/rsc/nonce.ts +10 -1
  1152. package/src/rsc/origin-guard.ts +39 -25
  1153. package/src/rsc/progressive-enhancement.ts +381 -74
  1154. package/src/rsc/redirect-guard.ts +102 -0
  1155. package/src/rsc/render-pipeline.ts +611 -0
  1156. package/src/rsc/response-cache-serve.ts +259 -0
  1157. package/src/rsc/response-error.ts +79 -12
  1158. package/src/rsc/response-route-handler.ts +80 -206
  1159. package/src/rsc/routine-plan.ts +359 -0
  1160. package/src/rsc/rsc-rendering.ts +1625 -156
  1161. package/src/rsc/runtime-warnings.ts +23 -10
  1162. package/src/rsc/server-action.ts +424 -133
  1163. package/src/rsc/shell-build-manifest.ts +336 -0
  1164. package/src/rsc/shell-capture-constants.ts +45 -0
  1165. package/src/rsc/shell-capture.ts +2063 -0
  1166. package/src/rsc/shell-serve.ts +337 -0
  1167. package/src/rsc/ssr-setup.ts +113 -18
  1168. package/src/rsc/stream-idle.ts +137 -0
  1169. package/src/rsc/transition-gate.ts +86 -0
  1170. package/src/rsc/types.ts +100 -6
  1171. package/src/runtime-env.ts +18 -0
  1172. package/src/search-params.ts +35 -30
  1173. package/src/segment-content-promise.ts +67 -0
  1174. package/src/segment-fragments.ts +165 -0
  1175. package/src/segment-loader-promise.ts +167 -0
  1176. package/src/segment-system.tsx +446 -208
  1177. package/src/serialize.ts +243 -0
  1178. package/src/server/context.ts +484 -51
  1179. package/src/server/cookie-parse.ts +32 -0
  1180. package/src/server/cookie-store.ts +162 -15
  1181. package/src/server/handle-store.ts +209 -70
  1182. package/src/server/loader-registry.ts +38 -46
  1183. package/src/server/request-context.ts +940 -184
  1184. package/src/server.ts +7 -2
  1185. package/src/ssr/index.tsx +631 -180
  1186. package/src/ssr/inject-rsc-eager.ts +167 -0
  1187. package/src/ssr/preinit-client-references.ts +106 -0
  1188. package/src/ssr/ssr-root.tsx +262 -0
  1189. package/src/static-handler.ts +45 -20
  1190. package/src/testing/cache-status.ts +162 -0
  1191. package/src/testing/collect-handle.ts +46 -0
  1192. package/src/testing/dispatch.ts +951 -0
  1193. package/src/testing/dom.entry.ts +22 -0
  1194. package/src/testing/e2e/fixture.ts +188 -0
  1195. package/src/testing/e2e/index.ts +147 -0
  1196. package/src/testing/e2e/matchers.ts +35 -0
  1197. package/src/testing/e2e/page-helpers.ts +319 -0
  1198. package/src/testing/e2e/parity.ts +400 -0
  1199. package/src/testing/e2e/server.ts +195 -0
  1200. package/src/testing/flight-matchers.ts +97 -0
  1201. package/src/testing/flight-normalize.ts +11 -0
  1202. package/src/testing/flight-runtime.d.ts +57 -0
  1203. package/src/testing/flight-tree.ts +682 -0
  1204. package/src/testing/flight.entry.ts +52 -0
  1205. package/src/testing/flight.ts +257 -0
  1206. package/src/testing/generated-routes.ts +199 -0
  1207. package/src/testing/index.ts +121 -0
  1208. package/src/testing/internal/context.ts +380 -0
  1209. package/src/testing/internal/flight-client-globals.ts +30 -0
  1210. package/src/testing/internal/seed-vars.ts +54 -0
  1211. package/src/testing/render-handler.ts +371 -0
  1212. package/src/testing/render-route.tsx +667 -0
  1213. package/src/testing/run-loader.ts +423 -0
  1214. package/src/testing/run-middleware.ts +219 -0
  1215. package/src/testing/run-transition-when.ts +197 -0
  1216. package/src/testing/shell-status.ts +206 -0
  1217. package/src/testing/vitest-stubs/cloudflare-email.ts +9 -0
  1218. package/src/testing/vitest-stubs/cloudflare-workers.ts +21 -0
  1219. package/src/testing/vitest-stubs/plugin-rsc.ts +16 -0
  1220. package/src/testing/vitest-stubs/version.ts +5 -0
  1221. package/src/testing/vitest.ts +305 -0
  1222. package/src/theme/ThemeProvider.tsx +56 -84
  1223. package/src/theme/ThemeScript.tsx +7 -9
  1224. package/src/theme/constants.ts +52 -13
  1225. package/src/theme/index.ts +0 -7
  1226. package/src/theme/theme-context.ts +1 -5
  1227. package/src/theme/theme-script.ts +22 -21
  1228. package/src/theme/use-theme.ts +0 -3
  1229. package/src/types/boundaries.ts +15 -35
  1230. package/src/types/cache-types.ts +17 -8
  1231. package/src/types/error-types.ts +30 -90
  1232. package/src/types/global-namespace.ts +54 -41
  1233. package/src/types/handler-context.ts +155 -78
  1234. package/src/types/index.ts +3 -10
  1235. package/src/types/loader-types.ts +72 -15
  1236. package/src/types/request-scope.ts +112 -0
  1237. package/src/types/route-config.ts +20 -52
  1238. package/src/types/route-entry.ts +15 -7
  1239. package/src/types/segments.ts +148 -15
  1240. package/src/urls/include-helper.ts +59 -75
  1241. package/src/urls/include-provider.ts +71 -0
  1242. package/src/urls/index.ts +2 -11
  1243. package/src/urls/path-helper-types.ts +110 -25
  1244. package/src/urls/path-helper.ts +70 -115
  1245. package/src/urls/pattern-types.ts +113 -19
  1246. package/src/urls/response-types.ts +25 -22
  1247. package/src/urls/type-extraction.ts +98 -154
  1248. package/src/urls/urls-function.ts +1 -19
  1249. package/src/use-loader.tsx +404 -86
  1250. package/src/vercel/index.ts +11 -0
  1251. package/src/vercel/tracing.ts +89 -0
  1252. package/src/vite/debug.ts +185 -0
  1253. package/src/vite/discovery/bundle-postprocess.ts +46 -45
  1254. package/src/vite/discovery/client-urls-projection.ts +322 -0
  1255. package/src/vite/discovery/dev-prerender-cache.ts +117 -0
  1256. package/src/vite/discovery/discover-routers.ts +178 -147
  1257. package/src/vite/discovery/discovery-errors.ts +255 -0
  1258. package/src/vite/discovery/gate-state.ts +171 -0
  1259. package/src/vite/discovery/prerender-collection.ts +243 -134
  1260. package/src/vite/discovery/route-types-writer.ts +40 -84
  1261. package/src/vite/discovery/self-gen-tracking.ts +27 -1
  1262. package/src/vite/discovery/shell-prerender-phase.ts +397 -0
  1263. package/src/vite/discovery/state.ts +116 -9
  1264. package/src/vite/discovery/virtual-module-codegen.ts +226 -87
  1265. package/src/vite/encryption-key.ts +29 -0
  1266. package/src/vite/index.ts +16 -0
  1267. package/src/vite/inject-client-debug.ts +88 -0
  1268. package/src/vite/plugin-types.ts +294 -6
  1269. package/src/vite/plugins/cjs-to-esm.ts +16 -19
  1270. package/src/vite/plugins/client-ref-dedup.ts +16 -11
  1271. package/src/vite/plugins/client-ref-hashing.ts +28 -15
  1272. package/src/vite/plugins/cloudflare-protocol-loader-hook.d.mts +23 -0
  1273. package/src/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  1274. package/src/vite/plugins/cloudflare-protocol-stub.ts +194 -0
  1275. package/src/vite/plugins/expose-action-id.ts +50 -97
  1276. package/src/vite/plugins/expose-id-utils.ts +96 -51
  1277. package/src/vite/plugins/expose-ids/export-analysis.ts +101 -34
  1278. package/src/vite/plugins/expose-ids/handler-transform.ts +15 -64
  1279. package/src/vite/plugins/expose-ids/loader-transform.ts +14 -24
  1280. package/src/vite/plugins/expose-ids/router-transform.ts +118 -29
  1281. package/src/vite/plugins/expose-internal-ids.ts +599 -317
  1282. package/src/vite/plugins/performance-tracks.ts +89 -0
  1283. package/src/vite/plugins/refresh-cmd.ts +89 -27
  1284. package/src/vite/plugins/server-ref-hashing.ts +74 -0
  1285. package/src/vite/plugins/server-reference-pattern.ts +10 -0
  1286. package/src/vite/plugins/use-cache-transform.ts +73 -83
  1287. package/src/vite/plugins/vercel-output.ts +384 -0
  1288. package/src/vite/plugins/version-injector.ts +39 -29
  1289. package/src/vite/plugins/version-plugin.ts +45 -40
  1290. package/src/vite/plugins/virtual-entries.ts +193 -30
  1291. package/src/vite/rango.ts +298 -134
  1292. package/src/vite/router-discovery.ts +1803 -180
  1293. package/src/vite/utils/ast-handler-extract.ts +26 -35
  1294. package/src/vite/utils/banner.ts +1 -1
  1295. package/src/vite/utils/bundle-analysis.ts +10 -15
  1296. package/src/vite/utils/client-chunks.ts +184 -0
  1297. package/src/vite/utils/directive-prologue.ts +40 -0
  1298. package/src/vite/utils/forward-user-plugins.ts +171 -0
  1299. package/src/vite/utils/manifest-utils.ts +1 -59
  1300. package/src/vite/utils/package-resolution.ts +21 -52
  1301. package/src/vite/utils/prerender-utils.ts +123 -44
  1302. package/src/vite/utils/shared-utils.ts +158 -44
  1303. package/dist/__internal.d.ts +0 -83
  1304. package/dist/__internal.d.ts.map +0 -1
  1305. package/dist/__internal.js +0 -19
  1306. package/dist/__internal.js.map +0 -1
  1307. package/dist/__mocks__/version.d.ts +0 -7
  1308. package/dist/__mocks__/version.d.ts.map +0 -1
  1309. package/dist/__mocks__/version.js +0 -7
  1310. package/dist/__mocks__/version.js.map +0 -1
  1311. package/dist/__tests__/client-href.test.d.ts +0 -2
  1312. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  1313. package/dist/__tests__/client-href.test.js +0 -74
  1314. package/dist/__tests__/client-href.test.js.map +0 -1
  1315. package/dist/__tests__/component-utils.test.d.ts +0 -2
  1316. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  1317. package/dist/__tests__/component-utils.test.js +0 -51
  1318. package/dist/__tests__/component-utils.test.js.map +0 -1
  1319. package/dist/__tests__/event-controller.test.d.ts +0 -2
  1320. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  1321. package/dist/__tests__/event-controller.test.js +0 -538
  1322. package/dist/__tests__/event-controller.test.js.map +0 -1
  1323. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  1324. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  1325. package/dist/__tests__/helpers/route-tree.js +0 -374
  1326. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  1327. package/dist/__tests__/match-result.test.d.ts +0 -2
  1328. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  1329. package/dist/__tests__/match-result.test.js +0 -154
  1330. package/dist/__tests__/match-result.test.js.map +0 -1
  1331. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  1332. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  1333. package/dist/__tests__/navigation-store.test.js +0 -440
  1334. package/dist/__tests__/navigation-store.test.js.map +0 -1
  1335. package/dist/__tests__/partial-update.test.d.ts +0 -2
  1336. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  1337. package/dist/__tests__/partial-update.test.js +0 -1009
  1338. package/dist/__tests__/partial-update.test.js.map +0 -1
  1339. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  1340. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  1341. package/dist/__tests__/reverse-types.test.js +0 -656
  1342. package/dist/__tests__/reverse-types.test.js.map +0 -1
  1343. package/dist/__tests__/route-definition.test.d.ts +0 -2
  1344. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  1345. package/dist/__tests__/route-definition.test.js +0 -55
  1346. package/dist/__tests__/route-definition.test.js.map +0 -1
  1347. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  1348. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  1349. package/dist/__tests__/router-helpers.test.js +0 -377
  1350. package/dist/__tests__/router-helpers.test.js.map +0 -1
  1351. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  1352. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  1353. package/dist/__tests__/router-integration-2.test.js +0 -426
  1354. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  1355. package/dist/__tests__/router-integration.test.d.ts +0 -2
  1356. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  1357. package/dist/__tests__/router-integration.test.js +0 -1051
  1358. package/dist/__tests__/router-integration.test.js.map +0 -1
  1359. package/dist/__tests__/search-params.test.d.ts +0 -5
  1360. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  1361. package/dist/__tests__/search-params.test.js +0 -306
  1362. package/dist/__tests__/search-params.test.js.map +0 -1
  1363. package/dist/__tests__/segment-system.test.d.ts +0 -2
  1364. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  1365. package/dist/__tests__/segment-system.test.js +0 -627
  1366. package/dist/__tests__/segment-system.test.js.map +0 -1
  1367. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  1368. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  1369. package/dist/__tests__/static-handler-types.test.js +0 -63
  1370. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  1371. package/dist/__tests__/urls.test.d.ts +0 -2
  1372. package/dist/__tests__/urls.test.d.ts.map +0 -1
  1373. package/dist/__tests__/urls.test.js +0 -421
  1374. package/dist/__tests__/urls.test.js.map +0 -1
  1375. package/dist/__tests__/use-mount.test.d.ts +0 -2
  1376. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  1377. package/dist/__tests__/use-mount.test.js +0 -35
  1378. package/dist/__tests__/use-mount.test.js.map +0 -1
  1379. package/dist/bin/rango.d.ts +0 -2
  1380. package/dist/bin/rango.d.ts.map +0 -1
  1381. package/dist/bin/rango.js.map +0 -1
  1382. package/dist/browser/event-controller.d.ts +0 -191
  1383. package/dist/browser/event-controller.d.ts.map +0 -1
  1384. package/dist/browser/event-controller.js +0 -559
  1385. package/dist/browser/event-controller.js.map +0 -1
  1386. package/dist/browser/index.d.ts +0 -2
  1387. package/dist/browser/index.d.ts.map +0 -1
  1388. package/dist/browser/index.js +0 -14
  1389. package/dist/browser/index.js.map +0 -1
  1390. package/dist/browser/link-interceptor.d.ts +0 -38
  1391. package/dist/browser/link-interceptor.d.ts.map +0 -1
  1392. package/dist/browser/link-interceptor.js +0 -99
  1393. package/dist/browser/link-interceptor.js.map +0 -1
  1394. package/dist/browser/logging.d.ts +0 -10
  1395. package/dist/browser/logging.d.ts.map +0 -1
  1396. package/dist/browser/logging.js +0 -29
  1397. package/dist/browser/logging.js.map +0 -1
  1398. package/dist/browser/lru-cache.d.ts +0 -17
  1399. package/dist/browser/lru-cache.d.ts.map +0 -1
  1400. package/dist/browser/lru-cache.js +0 -50
  1401. package/dist/browser/lru-cache.js.map +0 -1
  1402. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  1403. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  1404. package/dist/browser/merge-segment-loaders.js +0 -102
  1405. package/dist/browser/merge-segment-loaders.js.map +0 -1
  1406. package/dist/browser/navigation-bridge.d.ts +0 -102
  1407. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  1408. package/dist/browser/navigation-bridge.js +0 -708
  1409. package/dist/browser/navigation-bridge.js.map +0 -1
  1410. package/dist/browser/navigation-client.d.ts +0 -25
  1411. package/dist/browser/navigation-client.d.ts.map +0 -1
  1412. package/dist/browser/navigation-client.js +0 -157
  1413. package/dist/browser/navigation-client.js.map +0 -1
  1414. package/dist/browser/navigation-store.d.ts +0 -101
  1415. package/dist/browser/navigation-store.d.ts.map +0 -1
  1416. package/dist/browser/navigation-store.js +0 -625
  1417. package/dist/browser/navigation-store.js.map +0 -1
  1418. package/dist/browser/partial-update.d.ts +0 -75
  1419. package/dist/browser/partial-update.d.ts.map +0 -1
  1420. package/dist/browser/partial-update.js +0 -426
  1421. package/dist/browser/partial-update.js.map +0 -1
  1422. package/dist/browser/react/Link.d.ts +0 -86
  1423. package/dist/browser/react/Link.d.ts.map +0 -1
  1424. package/dist/browser/react/Link.js +0 -128
  1425. package/dist/browser/react/Link.js.map +0 -1
  1426. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  1427. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  1428. package/dist/browser/react/NavigationProvider.js +0 -216
  1429. package/dist/browser/react/NavigationProvider.js.map +0 -1
  1430. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  1431. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  1432. package/dist/browser/react/ScrollRestoration.js +0 -57
  1433. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  1434. package/dist/browser/react/context.d.ts +0 -46
  1435. package/dist/browser/react/context.d.ts.map +0 -1
  1436. package/dist/browser/react/context.js +0 -10
  1437. package/dist/browser/react/context.js.map +0 -1
  1438. package/dist/browser/react/index.d.ts +0 -11
  1439. package/dist/browser/react/index.d.ts.map +0 -1
  1440. package/dist/browser/react/index.js +0 -22
  1441. package/dist/browser/react/index.js.map +0 -1
  1442. package/dist/browser/react/location-state-shared.d.ts +0 -63
  1443. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  1444. package/dist/browser/react/location-state-shared.js +0 -81
  1445. package/dist/browser/react/location-state-shared.js.map +0 -1
  1446. package/dist/browser/react/location-state.d.ts +0 -23
  1447. package/dist/browser/react/location-state.d.ts.map +0 -1
  1448. package/dist/browser/react/location-state.js +0 -29
  1449. package/dist/browser/react/location-state.js.map +0 -1
  1450. package/dist/browser/react/mount-context.d.ts +0 -24
  1451. package/dist/browser/react/mount-context.d.ts.map +0 -1
  1452. package/dist/browser/react/mount-context.js +0 -24
  1453. package/dist/browser/react/mount-context.js.map +0 -1
  1454. package/dist/browser/react/use-action.d.ts +0 -64
  1455. package/dist/browser/react/use-action.d.ts.map +0 -1
  1456. package/dist/browser/react/use-action.js +0 -134
  1457. package/dist/browser/react/use-action.js.map +0 -1
  1458. package/dist/browser/react/use-client-cache.d.ts +0 -41
  1459. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  1460. package/dist/browser/react/use-client-cache.js +0 -39
  1461. package/dist/browser/react/use-client-cache.js.map +0 -1
  1462. package/dist/browser/react/use-handle.d.ts +0 -31
  1463. package/dist/browser/react/use-handle.d.ts.map +0 -1
  1464. package/dist/browser/react/use-handle.js +0 -144
  1465. package/dist/browser/react/use-handle.js.map +0 -1
  1466. package/dist/browser/react/use-href.d.ts +0 -33
  1467. package/dist/browser/react/use-href.d.ts.map +0 -1
  1468. package/dist/browser/react/use-href.js +0 -39
  1469. package/dist/browser/react/use-href.js.map +0 -1
  1470. package/dist/browser/react/use-link-status.d.ts +0 -37
  1471. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  1472. package/dist/browser/react/use-link-status.js +0 -99
  1473. package/dist/browser/react/use-link-status.js.map +0 -1
  1474. package/dist/browser/react/use-mount.d.ts +0 -25
  1475. package/dist/browser/react/use-mount.d.ts.map +0 -1
  1476. package/dist/browser/react/use-mount.js +0 -30
  1477. package/dist/browser/react/use-mount.js.map +0 -1
  1478. package/dist/browser/react/use-navigation.d.ts +0 -27
  1479. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  1480. package/dist/browser/react/use-navigation.js +0 -87
  1481. package/dist/browser/react/use-navigation.js.map +0 -1
  1482. package/dist/browser/react/use-segments.d.ts +0 -38
  1483. package/dist/browser/react/use-segments.d.ts.map +0 -1
  1484. package/dist/browser/react/use-segments.js +0 -130
  1485. package/dist/browser/react/use-segments.js.map +0 -1
  1486. package/dist/browser/request-controller.d.ts +0 -26
  1487. package/dist/browser/request-controller.d.ts.map +0 -1
  1488. package/dist/browser/request-controller.js +0 -147
  1489. package/dist/browser/request-controller.js.map +0 -1
  1490. package/dist/browser/rsc-router.d.ts +0 -129
  1491. package/dist/browser/rsc-router.d.ts.map +0 -1
  1492. package/dist/browser/rsc-router.js +0 -195
  1493. package/dist/browser/rsc-router.js.map +0 -1
  1494. package/dist/browser/scroll-restoration.d.ts +0 -93
  1495. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  1496. package/dist/browser/scroll-restoration.js +0 -321
  1497. package/dist/browser/scroll-restoration.js.map +0 -1
  1498. package/dist/browser/segment-structure-assert.d.ts +0 -17
  1499. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  1500. package/dist/browser/segment-structure-assert.js +0 -59
  1501. package/dist/browser/segment-structure-assert.js.map +0 -1
  1502. package/dist/browser/server-action-bridge.d.ts +0 -26
  1503. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  1504. package/dist/browser/server-action-bridge.js +0 -668
  1505. package/dist/browser/server-action-bridge.js.map +0 -1
  1506. package/dist/browser/shallow.d.ts +0 -12
  1507. package/dist/browser/shallow.d.ts.map +0 -1
  1508. package/dist/browser/shallow.js +0 -34
  1509. package/dist/browser/shallow.js.map +0 -1
  1510. package/dist/browser/types.d.ts +0 -369
  1511. package/dist/browser/types.d.ts.map +0 -1
  1512. package/dist/browser/types.js +0 -2
  1513. package/dist/browser/types.js.map +0 -1
  1514. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  1515. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  1516. package/dist/build/__tests__/generate-cli.test.js +0 -237
  1517. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  1518. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  1519. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  1520. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  1521. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  1522. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  1523. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  1524. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  1525. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  1526. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  1527. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  1528. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  1529. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  1530. package/dist/build/generate-manifest.d.ts +0 -81
  1531. package/dist/build/generate-manifest.d.ts.map +0 -1
  1532. package/dist/build/generate-manifest.js +0 -276
  1533. package/dist/build/generate-manifest.js.map +0 -1
  1534. package/dist/build/generate-route-types.d.ts +0 -115
  1535. package/dist/build/generate-route-types.d.ts.map +0 -1
  1536. package/dist/build/generate-route-types.js +0 -740
  1537. package/dist/build/generate-route-types.js.map +0 -1
  1538. package/dist/build/index.d.ts +0 -21
  1539. package/dist/build/index.d.ts.map +0 -1
  1540. package/dist/build/index.js +0 -21
  1541. package/dist/build/index.js.map +0 -1
  1542. package/dist/build/route-trie.d.ts +0 -71
  1543. package/dist/build/route-trie.d.ts.map +0 -1
  1544. package/dist/build/route-trie.js +0 -175
  1545. package/dist/build/route-trie.js.map +0 -1
  1546. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  1547. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  1548. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  1549. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  1550. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  1551. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  1552. package/dist/cache/__tests__/document-cache.test.js +0 -345
  1553. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  1554. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  1555. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  1556. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  1557. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  1558. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  1559. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  1560. package/dist/cache/__tests__/memory-store.test.js +0 -367
  1561. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  1562. package/dist/cache/cache-scope.d.ts +0 -102
  1563. package/dist/cache/cache-scope.d.ts.map +0 -1
  1564. package/dist/cache/cache-scope.js +0 -440
  1565. package/dist/cache/cache-scope.js.map +0 -1
  1566. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  1567. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  1568. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  1569. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  1570. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  1571. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  1572. package/dist/cache/cf/cf-cache-store.js +0 -242
  1573. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  1574. package/dist/cache/cf/index.d.ts +0 -14
  1575. package/dist/cache/cf/index.d.ts.map +0 -1
  1576. package/dist/cache/cf/index.js +0 -17
  1577. package/dist/cache/cf/index.js.map +0 -1
  1578. package/dist/cache/document-cache.d.ts +0 -64
  1579. package/dist/cache/document-cache.d.ts.map +0 -1
  1580. package/dist/cache/document-cache.js +0 -228
  1581. package/dist/cache/document-cache.js.map +0 -1
  1582. package/dist/cache/index.d.ts +0 -19
  1583. package/dist/cache/index.d.ts.map +0 -1
  1584. package/dist/cache/index.js +0 -21
  1585. package/dist/cache/index.js.map +0 -1
  1586. package/dist/cache/memory-segment-store.d.ts +0 -110
  1587. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  1588. package/dist/cache/memory-segment-store.js +0 -117
  1589. package/dist/cache/memory-segment-store.js.map +0 -1
  1590. package/dist/cache/memory-store.d.ts +0 -41
  1591. package/dist/cache/memory-store.d.ts.map +0 -1
  1592. package/dist/cache/memory-store.js +0 -191
  1593. package/dist/cache/memory-store.js.map +0 -1
  1594. package/dist/cache/types.d.ts +0 -317
  1595. package/dist/cache/types.d.ts.map +0 -1
  1596. package/dist/cache/types.js +0 -12
  1597. package/dist/cache/types.js.map +0 -1
  1598. package/dist/client.d.ts +0 -248
  1599. package/dist/client.d.ts.map +0 -1
  1600. package/dist/client.js +0 -367
  1601. package/dist/client.js.map +0 -1
  1602. package/dist/client.rsc.d.ts +0 -26
  1603. package/dist/client.rsc.d.ts.map +0 -1
  1604. package/dist/client.rsc.js +0 -46
  1605. package/dist/client.rsc.js.map +0 -1
  1606. package/dist/component-utils.d.ts +0 -36
  1607. package/dist/component-utils.d.ts.map +0 -1
  1608. package/dist/component-utils.js +0 -61
  1609. package/dist/component-utils.js.map +0 -1
  1610. package/dist/components/DefaultDocument.d.ts +0 -13
  1611. package/dist/components/DefaultDocument.d.ts.map +0 -1
  1612. package/dist/components/DefaultDocument.js +0 -15
  1613. package/dist/components/DefaultDocument.js.map +0 -1
  1614. package/dist/debug.d.ts +0 -58
  1615. package/dist/debug.d.ts.map +0 -1
  1616. package/dist/debug.js +0 -157
  1617. package/dist/debug.js.map +0 -1
  1618. package/dist/default-error-boundary.d.ts +0 -11
  1619. package/dist/default-error-boundary.d.ts.map +0 -1
  1620. package/dist/default-error-boundary.js +0 -45
  1621. package/dist/default-error-boundary.js.map +0 -1
  1622. package/dist/deps/browser.d.ts +0 -2
  1623. package/dist/deps/browser.d.ts.map +0 -1
  1624. package/dist/deps/browser.js +0 -3
  1625. package/dist/deps/browser.js.map +0 -1
  1626. package/dist/deps/html-stream-client.d.ts +0 -2
  1627. package/dist/deps/html-stream-client.d.ts.map +0 -1
  1628. package/dist/deps/html-stream-client.js +0 -3
  1629. package/dist/deps/html-stream-client.js.map +0 -1
  1630. package/dist/deps/html-stream-server.d.ts +0 -2
  1631. package/dist/deps/html-stream-server.d.ts.map +0 -1
  1632. package/dist/deps/html-stream-server.js +0 -3
  1633. package/dist/deps/html-stream-server.js.map +0 -1
  1634. package/dist/deps/rsc.d.ts +0 -2
  1635. package/dist/deps/rsc.d.ts.map +0 -1
  1636. package/dist/deps/rsc.js +0 -4
  1637. package/dist/deps/rsc.js.map +0 -1
  1638. package/dist/deps/ssr.d.ts +0 -2
  1639. package/dist/deps/ssr.d.ts.map +0 -1
  1640. package/dist/deps/ssr.js +0 -3
  1641. package/dist/deps/ssr.js.map +0 -1
  1642. package/dist/errors.d.ts +0 -174
  1643. package/dist/errors.d.ts.map +0 -1
  1644. package/dist/errors.js +0 -241
  1645. package/dist/errors.js.map +0 -1
  1646. package/dist/handle.d.ts +0 -78
  1647. package/dist/handle.d.ts.map +0 -1
  1648. package/dist/handle.js +0 -82
  1649. package/dist/handle.js.map +0 -1
  1650. package/dist/handles/MetaTags.d.ts +0 -14
  1651. package/dist/handles/MetaTags.d.ts.map +0 -1
  1652. package/dist/handles/MetaTags.js +0 -136
  1653. package/dist/handles/MetaTags.js.map +0 -1
  1654. package/dist/handles/index.d.ts +0 -6
  1655. package/dist/handles/index.d.ts.map +0 -1
  1656. package/dist/handles/index.js +0 -6
  1657. package/dist/handles/index.js.map +0 -1
  1658. package/dist/handles/meta.d.ts +0 -39
  1659. package/dist/handles/meta.d.ts.map +0 -1
  1660. package/dist/handles/meta.js +0 -202
  1661. package/dist/handles/meta.js.map +0 -1
  1662. package/dist/host/__tests__/errors.test.d.ts +0 -2
  1663. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  1664. package/dist/host/__tests__/errors.test.js +0 -76
  1665. package/dist/host/__tests__/errors.test.js.map +0 -1
  1666. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  1667. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  1668. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  1669. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  1670. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  1671. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  1672. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  1673. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  1674. package/dist/host/__tests__/router.test.d.ts +0 -2
  1675. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  1676. package/dist/host/__tests__/router.test.js +0 -241
  1677. package/dist/host/__tests__/router.test.js.map +0 -1
  1678. package/dist/host/__tests__/testing.test.d.ts +0 -2
  1679. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  1680. package/dist/host/__tests__/testing.test.js +0 -64
  1681. package/dist/host/__tests__/testing.test.js.map +0 -1
  1682. package/dist/host/__tests__/utils.test.d.ts +0 -2
  1683. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  1684. package/dist/host/__tests__/utils.test.js +0 -29
  1685. package/dist/host/__tests__/utils.test.js.map +0 -1
  1686. package/dist/host/cookie-handler.d.ts +0 -34
  1687. package/dist/host/cookie-handler.d.ts.map +0 -1
  1688. package/dist/host/cookie-handler.js +0 -124
  1689. package/dist/host/cookie-handler.js.map +0 -1
  1690. package/dist/host/errors.d.ts +0 -56
  1691. package/dist/host/errors.d.ts.map +0 -1
  1692. package/dist/host/errors.js +0 -79
  1693. package/dist/host/errors.js.map +0 -1
  1694. package/dist/host/index.d.ts +0 -29
  1695. package/dist/host/index.d.ts.map +0 -1
  1696. package/dist/host/index.js +0 -32
  1697. package/dist/host/index.js.map +0 -1
  1698. package/dist/host/pattern-matcher.d.ts +0 -36
  1699. package/dist/host/pattern-matcher.d.ts.map +0 -1
  1700. package/dist/host/pattern-matcher.js +0 -172
  1701. package/dist/host/pattern-matcher.js.map +0 -1
  1702. package/dist/host/router.d.ts +0 -26
  1703. package/dist/host/router.d.ts.map +0 -1
  1704. package/dist/host/router.js +0 -218
  1705. package/dist/host/router.js.map +0 -1
  1706. package/dist/host/testing.d.ts +0 -36
  1707. package/dist/host/testing.d.ts.map +0 -1
  1708. package/dist/host/testing.js +0 -55
  1709. package/dist/host/testing.js.map +0 -1
  1710. package/dist/host/types.d.ts +0 -115
  1711. package/dist/host/types.d.ts.map +0 -1
  1712. package/dist/host/types.js +0 -7
  1713. package/dist/host/types.js.map +0 -1
  1714. package/dist/host/utils.d.ts +0 -21
  1715. package/dist/host/utils.d.ts.map +0 -1
  1716. package/dist/host/utils.js +0 -23
  1717. package/dist/host/utils.js.map +0 -1
  1718. package/dist/href-client.d.ts +0 -131
  1719. package/dist/href-client.d.ts.map +0 -1
  1720. package/dist/href-client.js +0 -64
  1721. package/dist/href-client.js.map +0 -1
  1722. package/dist/href-context.d.ts +0 -29
  1723. package/dist/href-context.d.ts.map +0 -1
  1724. package/dist/href-context.js +0 -21
  1725. package/dist/href-context.js.map +0 -1
  1726. package/dist/index.d.ts +0 -73
  1727. package/dist/index.d.ts.map +0 -1
  1728. package/dist/index.js +0 -91
  1729. package/dist/index.js.map +0 -1
  1730. package/dist/index.rsc.d.ts +0 -32
  1731. package/dist/index.rsc.d.ts.map +0 -1
  1732. package/dist/index.rsc.js +0 -40
  1733. package/dist/index.rsc.js.map +0 -1
  1734. package/dist/internal-debug.d.ts +0 -2
  1735. package/dist/internal-debug.d.ts.map +0 -1
  1736. package/dist/internal-debug.js +0 -5
  1737. package/dist/internal-debug.js.map +0 -1
  1738. package/dist/loader.d.ts +0 -14
  1739. package/dist/loader.d.ts.map +0 -1
  1740. package/dist/loader.js +0 -20
  1741. package/dist/loader.js.map +0 -1
  1742. package/dist/loader.rsc.d.ts +0 -19
  1743. package/dist/loader.rsc.d.ts.map +0 -1
  1744. package/dist/loader.rsc.js +0 -99
  1745. package/dist/loader.rsc.js.map +0 -1
  1746. package/dist/network-error-thrower.d.ts +0 -17
  1747. package/dist/network-error-thrower.d.ts.map +0 -1
  1748. package/dist/network-error-thrower.js +0 -14
  1749. package/dist/network-error-thrower.js.map +0 -1
  1750. package/dist/outlet-context.d.ts +0 -13
  1751. package/dist/outlet-context.d.ts.map +0 -1
  1752. package/dist/outlet-context.js +0 -3
  1753. package/dist/outlet-context.js.map +0 -1
  1754. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  1755. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  1756. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  1757. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  1758. package/dist/prerender/param-hash.d.ts +0 -16
  1759. package/dist/prerender/param-hash.d.ts.map +0 -1
  1760. package/dist/prerender/param-hash.js +0 -36
  1761. package/dist/prerender/param-hash.js.map +0 -1
  1762. package/dist/prerender/store.d.ts +0 -38
  1763. package/dist/prerender/store.d.ts.map +0 -1
  1764. package/dist/prerender/store.js +0 -61
  1765. package/dist/prerender/store.js.map +0 -1
  1766. package/dist/prerender.d.ts +0 -66
  1767. package/dist/prerender.d.ts.map +0 -1
  1768. package/dist/prerender.js +0 -57
  1769. package/dist/prerender.js.map +0 -1
  1770. package/dist/reverse.d.ts +0 -196
  1771. package/dist/reverse.d.ts.map +0 -1
  1772. package/dist/reverse.js +0 -78
  1773. package/dist/reverse.js.map +0 -1
  1774. package/dist/root-error-boundary.d.ts +0 -33
  1775. package/dist/root-error-boundary.d.ts.map +0 -1
  1776. package/dist/root-error-boundary.js +0 -165
  1777. package/dist/root-error-boundary.js.map +0 -1
  1778. package/dist/route-content-wrapper.d.ts +0 -46
  1779. package/dist/route-content-wrapper.d.ts.map +0 -1
  1780. package/dist/route-content-wrapper.js +0 -77
  1781. package/dist/route-content-wrapper.js.map +0 -1
  1782. package/dist/route-definition.d.ts +0 -421
  1783. package/dist/route-definition.d.ts.map +0 -1
  1784. package/dist/route-definition.js +0 -868
  1785. package/dist/route-definition.js.map +0 -1
  1786. package/dist/route-map-builder.d.ts +0 -155
  1787. package/dist/route-map-builder.d.ts.map +0 -1
  1788. package/dist/route-map-builder.js +0 -237
  1789. package/dist/route-map-builder.js.map +0 -1
  1790. package/dist/route-types.d.ts +0 -165
  1791. package/dist/route-types.d.ts.map +0 -1
  1792. package/dist/route-types.js +0 -7
  1793. package/dist/route-types.js.map +0 -1
  1794. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  1795. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  1796. package/dist/router/__tests__/handler-context.test.js +0 -65
  1797. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  1798. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  1799. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  1800. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  1801. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  1802. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  1803. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  1804. package/dist/router/__tests__/match-context.test.js +0 -92
  1805. package/dist/router/__tests__/match-context.test.js.map +0 -1
  1806. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  1807. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  1808. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  1809. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  1810. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  1811. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  1812. package/dist/router/__tests__/match-result.test.js +0 -457
  1813. package/dist/router/__tests__/match-result.test.js.map +0 -1
  1814. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  1815. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  1816. package/dist/router/__tests__/on-error.test.js +0 -678
  1817. package/dist/router/__tests__/on-error.test.js.map +0 -1
  1818. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  1819. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  1820. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  1821. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  1822. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  1823. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  1824. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  1825. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  1826. package/dist/router/error-handling.d.ts +0 -77
  1827. package/dist/router/error-handling.d.ts.map +0 -1
  1828. package/dist/router/error-handling.js +0 -202
  1829. package/dist/router/error-handling.js.map +0 -1
  1830. package/dist/router/handler-context.d.ts +0 -20
  1831. package/dist/router/handler-context.d.ts.map +0 -1
  1832. package/dist/router/handler-context.js +0 -198
  1833. package/dist/router/handler-context.js.map +0 -1
  1834. package/dist/router/intercept-resolution.d.ts +0 -66
  1835. package/dist/router/intercept-resolution.d.ts.map +0 -1
  1836. package/dist/router/intercept-resolution.js +0 -246
  1837. package/dist/router/intercept-resolution.js.map +0 -1
  1838. package/dist/router/loader-resolution.d.ts +0 -64
  1839. package/dist/router/loader-resolution.d.ts.map +0 -1
  1840. package/dist/router/loader-resolution.js +0 -284
  1841. package/dist/router/loader-resolution.js.map +0 -1
  1842. package/dist/router/logging.d.ts +0 -15
  1843. package/dist/router/logging.d.ts.map +0 -1
  1844. package/dist/router/logging.js +0 -99
  1845. package/dist/router/logging.js.map +0 -1
  1846. package/dist/router/manifest.d.ts +0 -22
  1847. package/dist/router/manifest.d.ts.map +0 -1
  1848. package/dist/router/manifest.js +0 -181
  1849. package/dist/router/manifest.js.map +0 -1
  1850. package/dist/router/match-api.d.ts +0 -35
  1851. package/dist/router/match-api.d.ts.map +0 -1
  1852. package/dist/router/match-api.js +0 -406
  1853. package/dist/router/match-api.js.map +0 -1
  1854. package/dist/router/match-context.d.ts +0 -206
  1855. package/dist/router/match-context.d.ts.map +0 -1
  1856. package/dist/router/match-context.js +0 -17
  1857. package/dist/router/match-context.js.map +0 -1
  1858. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  1859. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  1860. package/dist/router/match-middleware/background-revalidation.js +0 -75
  1861. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  1862. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  1863. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  1864. package/dist/router/match-middleware/cache-lookup.js +0 -257
  1865. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  1866. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  1867. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  1868. package/dist/router/match-middleware/cache-store.js +0 -108
  1869. package/dist/router/match-middleware/cache-store.js.map +0 -1
  1870. package/dist/router/match-middleware/index.d.ts +0 -81
  1871. package/dist/router/match-middleware/index.d.ts.map +0 -1
  1872. package/dist/router/match-middleware/index.js +0 -80
  1873. package/dist/router/match-middleware/index.js.map +0 -1
  1874. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  1875. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  1876. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  1877. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  1878. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  1879. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  1880. package/dist/router/match-middleware/segment-resolution.js +0 -53
  1881. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  1882. package/dist/router/match-pipelines.d.ts +0 -147
  1883. package/dist/router/match-pipelines.d.ts.map +0 -1
  1884. package/dist/router/match-pipelines.js +0 -82
  1885. package/dist/router/match-pipelines.js.map +0 -1
  1886. package/dist/router/match-result.d.ts +0 -126
  1887. package/dist/router/match-result.d.ts.map +0 -1
  1888. package/dist/router/match-result.js +0 -93
  1889. package/dist/router/match-result.js.map +0 -1
  1890. package/dist/router/metrics.d.ts +0 -20
  1891. package/dist/router/metrics.d.ts.map +0 -1
  1892. package/dist/router/metrics.js +0 -47
  1893. package/dist/router/metrics.js.map +0 -1
  1894. package/dist/router/middleware.d.ts +0 -249
  1895. package/dist/router/middleware.d.ts.map +0 -1
  1896. package/dist/router/middleware.js +0 -434
  1897. package/dist/router/middleware.js.map +0 -1
  1898. package/dist/router/middleware.test.d.ts +0 -2
  1899. package/dist/router/middleware.test.d.ts.map +0 -1
  1900. package/dist/router/middleware.test.js +0 -816
  1901. package/dist/router/middleware.test.js.map +0 -1
  1902. package/dist/router/pattern-matching.d.ts +0 -149
  1903. package/dist/router/pattern-matching.d.ts.map +0 -1
  1904. package/dist/router/pattern-matching.js +0 -349
  1905. package/dist/router/pattern-matching.js.map +0 -1
  1906. package/dist/router/revalidation.d.ts +0 -44
  1907. package/dist/router/revalidation.d.ts.map +0 -1
  1908. package/dist/router/revalidation.js +0 -147
  1909. package/dist/router/revalidation.js.map +0 -1
  1910. package/dist/router/router-context.d.ts +0 -135
  1911. package/dist/router/router-context.d.ts.map +0 -1
  1912. package/dist/router/router-context.js +0 -36
  1913. package/dist/router/router-context.js.map +0 -1
  1914. package/dist/router/segment-resolution.d.ts +0 -127
  1915. package/dist/router/segment-resolution.d.ts.map +0 -1
  1916. package/dist/router/segment-resolution.js +0 -919
  1917. package/dist/router/segment-resolution.js.map +0 -1
  1918. package/dist/router/trie-matching.d.ts +0 -40
  1919. package/dist/router/trie-matching.d.ts.map +0 -1
  1920. package/dist/router/trie-matching.js +0 -127
  1921. package/dist/router/trie-matching.js.map +0 -1
  1922. package/dist/router/types.d.ts +0 -136
  1923. package/dist/router/types.d.ts.map +0 -1
  1924. package/dist/router/types.js +0 -7
  1925. package/dist/router/types.js.map +0 -1
  1926. package/dist/router.d.ts +0 -753
  1927. package/dist/router.d.ts.map +0 -1
  1928. package/dist/router.gen.d.ts +0 -6
  1929. package/dist/router.gen.d.ts.map +0 -1
  1930. package/dist/router.gen.js +0 -6
  1931. package/dist/router.gen.js.map +0 -1
  1932. package/dist/router.js +0 -1304
  1933. package/dist/router.js.map +0 -1
  1934. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  1935. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  1936. package/dist/rsc/__tests__/helpers.test.js +0 -140
  1937. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  1938. package/dist/rsc/handler.d.ts +0 -45
  1939. package/dist/rsc/handler.d.ts.map +0 -1
  1940. package/dist/rsc/handler.js +0 -1172
  1941. package/dist/rsc/handler.js.map +0 -1
  1942. package/dist/rsc/helpers.d.ts +0 -16
  1943. package/dist/rsc/helpers.d.ts.map +0 -1
  1944. package/dist/rsc/helpers.js +0 -55
  1945. package/dist/rsc/helpers.js.map +0 -1
  1946. package/dist/rsc/index.d.ts +0 -22
  1947. package/dist/rsc/index.d.ts.map +0 -1
  1948. package/dist/rsc/index.js +0 -23
  1949. package/dist/rsc/index.js.map +0 -1
  1950. package/dist/rsc/nonce.d.ts +0 -9
  1951. package/dist/rsc/nonce.d.ts.map +0 -1
  1952. package/dist/rsc/nonce.js +0 -18
  1953. package/dist/rsc/nonce.js.map +0 -1
  1954. package/dist/rsc/types.d.ts +0 -206
  1955. package/dist/rsc/types.d.ts.map +0 -1
  1956. package/dist/rsc/types.js +0 -8
  1957. package/dist/rsc/types.js.map +0 -1
  1958. package/dist/search-params.d.ts +0 -103
  1959. package/dist/search-params.d.ts.map +0 -1
  1960. package/dist/search-params.js +0 -74
  1961. package/dist/search-params.js.map +0 -1
  1962. package/dist/segment-system.d.ts +0 -75
  1963. package/dist/segment-system.d.ts.map +0 -1
  1964. package/dist/segment-system.js +0 -336
  1965. package/dist/segment-system.js.map +0 -1
  1966. package/dist/server/context.d.ts +0 -245
  1967. package/dist/server/context.d.ts.map +0 -1
  1968. package/dist/server/context.js +0 -197
  1969. package/dist/server/context.js.map +0 -1
  1970. package/dist/server/fetchable-loader-store.d.ts +0 -18
  1971. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  1972. package/dist/server/fetchable-loader-store.js +0 -18
  1973. package/dist/server/fetchable-loader-store.js.map +0 -1
  1974. package/dist/server/handle-store.d.ts +0 -85
  1975. package/dist/server/handle-store.d.ts.map +0 -1
  1976. package/dist/server/handle-store.js +0 -142
  1977. package/dist/server/handle-store.js.map +0 -1
  1978. package/dist/server/loader-registry.d.ts +0 -55
  1979. package/dist/server/loader-registry.d.ts.map +0 -1
  1980. package/dist/server/loader-registry.js +0 -132
  1981. package/dist/server/loader-registry.js.map +0 -1
  1982. package/dist/server/request-context.d.ts +0 -226
  1983. package/dist/server/request-context.d.ts.map +0 -1
  1984. package/dist/server/request-context.js +0 -290
  1985. package/dist/server/request-context.js.map +0 -1
  1986. package/dist/server/root-layout.d.ts +0 -4
  1987. package/dist/server/root-layout.d.ts.map +0 -1
  1988. package/dist/server/root-layout.js +0 -5
  1989. package/dist/server/root-layout.js.map +0 -1
  1990. package/dist/server.d.ts +0 -15
  1991. package/dist/server.d.ts.map +0 -1
  1992. package/dist/server.js +0 -20
  1993. package/dist/server.js.map +0 -1
  1994. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  1995. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  1996. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  1997. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  1998. package/dist/ssr/index.d.ts +0 -98
  1999. package/dist/ssr/index.d.ts.map +0 -1
  2000. package/dist/ssr/index.js +0 -158
  2001. package/dist/ssr/index.js.map +0 -1
  2002. package/dist/static-handler.d.ts +0 -50
  2003. package/dist/static-handler.d.ts.map +0 -1
  2004. package/dist/static-handler.gen.d.ts +0 -5
  2005. package/dist/static-handler.gen.d.ts.map +0 -1
  2006. package/dist/static-handler.gen.js +0 -5
  2007. package/dist/static-handler.gen.js.map +0 -1
  2008. package/dist/static-handler.js +0 -29
  2009. package/dist/static-handler.js.map +0 -1
  2010. package/dist/theme/ThemeProvider.d.ts +0 -20
  2011. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  2012. package/dist/theme/ThemeProvider.js +0 -240
  2013. package/dist/theme/ThemeProvider.js.map +0 -1
  2014. package/dist/theme/ThemeScript.d.ts +0 -48
  2015. package/dist/theme/ThemeScript.d.ts.map +0 -1
  2016. package/dist/theme/ThemeScript.js +0 -13
  2017. package/dist/theme/ThemeScript.js.map +0 -1
  2018. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  2019. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  2020. package/dist/theme/__tests__/theme.test.js +0 -103
  2021. package/dist/theme/__tests__/theme.test.js.map +0 -1
  2022. package/dist/theme/constants.d.ts +0 -29
  2023. package/dist/theme/constants.d.ts.map +0 -1
  2024. package/dist/theme/constants.js +0 -48
  2025. package/dist/theme/constants.js.map +0 -1
  2026. package/dist/theme/index.d.ts +0 -31
  2027. package/dist/theme/index.d.ts.map +0 -1
  2028. package/dist/theme/index.js +0 -36
  2029. package/dist/theme/index.js.map +0 -1
  2030. package/dist/theme/theme-context.d.ts +0 -40
  2031. package/dist/theme/theme-context.d.ts.map +0 -1
  2032. package/dist/theme/theme-context.js +0 -60
  2033. package/dist/theme/theme-context.js.map +0 -1
  2034. package/dist/theme/theme-script.d.ts +0 -27
  2035. package/dist/theme/theme-script.d.ts.map +0 -1
  2036. package/dist/theme/theme-script.js +0 -147
  2037. package/dist/theme/theme-script.js.map +0 -1
  2038. package/dist/theme/types.d.ts +0 -163
  2039. package/dist/theme/types.d.ts.map +0 -1
  2040. package/dist/theme/types.js +0 -11
  2041. package/dist/theme/types.js.map +0 -1
  2042. package/dist/theme/use-theme.d.ts +0 -12
  2043. package/dist/theme/use-theme.d.ts.map +0 -1
  2044. package/dist/theme/use-theme.js +0 -40
  2045. package/dist/theme/use-theme.js.map +0 -1
  2046. package/dist/types.d.ts +0 -1479
  2047. package/dist/types.d.ts.map +0 -1
  2048. package/dist/types.js +0 -10
  2049. package/dist/types.js.map +0 -1
  2050. package/dist/urls.d.ts +0 -441
  2051. package/dist/urls.d.ts.map +0 -1
  2052. package/dist/urls.gen.d.ts +0 -8
  2053. package/dist/urls.gen.d.ts.map +0 -1
  2054. package/dist/urls.gen.js +0 -8
  2055. package/dist/urls.gen.js.map +0 -1
  2056. package/dist/urls.js +0 -443
  2057. package/dist/urls.js.map +0 -1
  2058. package/dist/use-loader.d.ts +0 -127
  2059. package/dist/use-loader.d.ts.map +0 -1
  2060. package/dist/use-loader.js +0 -237
  2061. package/dist/use-loader.js.map +0 -1
  2062. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  2063. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  2064. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  2065. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  2066. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  2067. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  2068. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  2069. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  2070. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  2071. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  2072. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  2073. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  2074. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  2075. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  2076. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  2077. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  2078. package/dist/vite/ast-handler-extract.d.ts +0 -49
  2079. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  2080. package/dist/vite/ast-handler-extract.js +0 -249
  2081. package/dist/vite/ast-handler-extract.js.map +0 -1
  2082. package/dist/vite/expose-action-id.d.ts +0 -19
  2083. package/dist/vite/expose-action-id.d.ts.map +0 -1
  2084. package/dist/vite/expose-action-id.js +0 -250
  2085. package/dist/vite/expose-action-id.js.map +0 -1
  2086. package/dist/vite/expose-id-utils.d.ts +0 -69
  2087. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  2088. package/dist/vite/expose-id-utils.js +0 -289
  2089. package/dist/vite/expose-id-utils.js.map +0 -1
  2090. package/dist/vite/expose-internal-ids.d.ts +0 -22
  2091. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  2092. package/dist/vite/expose-internal-ids.js +0 -886
  2093. package/dist/vite/expose-internal-ids.js.map +0 -1
  2094. package/dist/vite/index.d.ts +0 -149
  2095. package/dist/vite/index.d.ts.map +0 -1
  2096. package/dist/vite/index.js.map +0 -1
  2097. package/dist/vite/index.named-routes.gen.ts +0 -103
  2098. package/dist/vite/package-resolution.d.ts +0 -43
  2099. package/dist/vite/package-resolution.d.ts.map +0 -1
  2100. package/dist/vite/package-resolution.js +0 -112
  2101. package/dist/vite/package-resolution.js.map +0 -1
  2102. package/dist/vite/virtual-entries.d.ts +0 -25
  2103. package/dist/vite/virtual-entries.d.ts.map +0 -1
  2104. package/dist/vite/virtual-entries.js +0 -110
  2105. package/dist/vite/virtual-entries.js.map +0 -1
  2106. package/src/browser/action-response-classifier.ts +0 -99
  2107. package/src/browser/react/use-client-cache.ts +0 -58
  2108. package/src/browser/shallow.ts +0 -40
  2109. package/src/handles/index.ts +0 -7
  2110. package/src/network-error-thrower.tsx +0 -23
  2111. package/src/router/middleware-cookies.ts +0 -55
@@ -5,8 +5,9 @@
5
5
  */
6
6
 
7
7
  import type { ReactNode } from "react";
8
- import { track } from "../server/context";
9
8
  import type { EntryData } from "../server/context";
9
+ import { observePhase, PHASES } from "./instrument.js";
10
+ import { contextGet } from "../context-var.js";
10
11
  import type {
11
12
  ResolvedSegment,
12
13
  HandlerContext,
@@ -17,12 +18,35 @@ import type {
17
18
  ErrorBoundaryHandler,
18
19
  ErrorBoundaryFallbackProps,
19
20
  ErrorInfo,
21
+ NotFoundBoundaryHandler,
22
+ NotFoundBoundaryFallbackProps,
20
23
  } from "../types";
21
- import type { LoaderRevalidationResult, ActionContext } from "./types";
22
- import { isHandle, type Handle } from "../handle.js";
23
- import type { HandleStore } from "../server/handle-store.js";
24
+ import { createElement } from "react";
25
+ import { isDataNotFoundError } from "../errors.js";
26
+ import { isRedirectResponse } from "../response-utils.js";
27
+ import {
28
+ resolveSoftRedirectUrl,
29
+ isExternalRedirect,
30
+ } from "../redirect-origin.js";
31
+ import {
32
+ createNotFoundInfo,
33
+ renderNotFoundFallback,
34
+ resolveNotFoundFallback,
35
+ } from "./error-handling.js";
36
+ import { isHandle, collectHandleData, type Handle } from "../handle.js";
37
+ import { withDefer } from "../defer.js";
38
+ import {
39
+ buildHandleSnapshot,
40
+ type HandleStore,
41
+ } from "../server/handle-store.js";
24
42
  import { getFetchableLoader } from "../server/fetchable-loader-store.js";
25
43
  import { _getRequestContext } from "../server/request-context.js";
44
+ import {
45
+ isInsideLoaderScope,
46
+ runInsideLoaderBodyScope,
47
+ isInsidePushCallbackScope,
48
+ runInsidePushCallbackScope,
49
+ } from "../server/context.js";
26
50
  import { debugLog } from "./logging.js";
27
51
 
28
52
  /**
@@ -39,11 +63,66 @@ export type LoaderErrorCallback = (
39
63
  },
40
64
  ) => void;
41
65
 
66
+ /**
67
+ * Loader-thrown authority signals (notFound()/redirect()) are detected by the
68
+ * shape a consumer can actually throw: DataNotFoundError via the shared
69
+ * cross-realm-safe isDataNotFoundError, redirect by 3xx Response.
70
+ */
71
+
72
+ /**
73
+ * Deliver one `ctx.use(Handle)(value)` push to the owning segment.
74
+ *
75
+ * Shared by the handler lane (setupLoaderAccess) and the loader-body lane
76
+ * (createLoaderExecutor) so a loader push attributes and scopes EXACTLY like a
77
+ * handler push — that parity is the contract `ctx.use` in a loader promises.
78
+ *
79
+ * A function value runs inside the push-callback scope so `ctx.use(loader)`
80
+ * calls it makes — including after its own awaits, for an async callback — are
81
+ * not registered as handler-to-loader deps and do not trip the deadlock guard.
82
+ * A pushed promise value is not tracked by handleStore.settled and does not
83
+ * block segment resolution, so it cannot form a rendered() deadlock. The ALS
84
+ * scope (not a plain boolean) is what survives the callback's awaits.
85
+ */
86
+ function pushHandleValue(
87
+ store: HandleStore | undefined,
88
+ segmentId: string | undefined,
89
+ handleId: string,
90
+ dataOrFn: unknown | Promise<unknown> | (() => Promise<unknown>),
91
+ ): void {
92
+ if (!store || !segmentId) return;
93
+ if (typeof dataOrFn === "function") {
94
+ store.push(
95
+ handleId,
96
+ segmentId,
97
+ runInsidePushCallbackScope(() => (dataOrFn as () => Promise<unknown>)()),
98
+ );
99
+ return;
100
+ }
101
+ store.push(handleId, segmentId, dataOrFn);
102
+ }
103
+
42
104
  /**
43
105
  * Wrap a loader promise with error handling for deferred client-side resolution.
44
106
  * Catches errors and converts them to LoaderDataResult objects that include
45
107
  * error info and pre-rendered fallback UI when an error boundary is available.
46
108
  *
109
+ * Loader-thrown SIGNALS are routed before error handling — they are control
110
+ * flow, not failures (onError is not invoked for them):
111
+ * - notFound(): the not-found UI is resolved and rendered HERE, server-side
112
+ * (nearest notFoundBoundary → router notFound option → default), exactly
113
+ * like the consumption lane (segment-resolution/helpers.ts), and rides the
114
+ * envelope's `fallback` — the client swaps with zero extra fetches. The
115
+ * response status is opportunistically set to 404 via the request stub: if
116
+ * the rejection settles before the document Response is constructed the
117
+ * status is a real 404; after, the stub write is inert (streamed fix-up
118
+ * only). Nav-lane payloads are 200 either way — the client owns 404
119
+ * presentation there.
120
+ * - redirect() (thrown 3xx Response): the target is resolved through the
121
+ * soft-redirect same-origin rules NOW so unsafe targets never leave the
122
+ * server; the client navigates when the entry decodes. No document-lane
123
+ * 302 — pre-stream redirect authority belongs to middleware (doctrine);
124
+ * a loader redirect is always a client-side navigate.
125
+ *
47
126
  * @param onError - Optional callback invoked when loader errors occur.
48
127
  * This has a simplified signature for internal use - the caller (typically
49
128
  * wrapLoaderPromise in router.ts) is responsible for bridging to the full
@@ -63,8 +142,18 @@ export function wrapLoaderWithErrorHandling<T>(
63
142
  segmentType: ErrorInfo["segmentType"],
64
143
  ) => ErrorInfo,
65
144
  onError?: LoaderErrorCallback,
145
+ notFoundDeps?: {
146
+ findNearestNotFoundBoundary: (
147
+ entry: EntryData | null,
148
+ ) => ReactNode | NotFoundBoundaryHandler | null;
149
+ notFoundComponent?:
150
+ | ReactNode
151
+ | ((props: { pathname: string }) => ReactNode);
152
+ },
66
153
  ): Promise<LoaderDataResult<T>> {
67
- // Extract loader name from segmentId (format: "M1L0D0.loaderName")
154
+ // Extract the trailing token from segmentId (format: "<shortCode>D<i>.<loaderId>").
155
+ // The token is the loader's $$id (hash#export in prod, pathfrag#export in dev),
156
+ // not a clean display name.
68
157
  const loaderName = segmentId.split(".").pop() || "unknown";
69
158
 
70
159
  return Promise.resolve(promise)
@@ -76,6 +165,86 @@ export function wrapLoaderWithErrorHandling<T>(
76
165
  }),
77
166
  )
78
167
  .catch((error): LoaderDataResult<T> => {
168
+ if (isDataNotFoundError(error)) {
169
+ // Opportunistic document 404: the stub status is read once when the
170
+ // document Response is constructed (createResponseWithMergedHeaders);
171
+ // a pre-construction write becomes the real status, a later write is
172
+ // harmless. Same mechanism as the consumption lane's setResponseStatus.
173
+ _getRequestContext()?._setStatus(404);
174
+
175
+ const effective = resolveNotFoundFallback(
176
+ notFoundDeps?.findNearestNotFoundBoundary(entry),
177
+ notFoundDeps?.notFoundComponent,
178
+ pathname,
179
+ );
180
+
181
+ const notFoundInfo = createNotFoundInfo(
182
+ error as { message: string },
183
+ segmentId,
184
+ "loader",
185
+ pathname,
186
+ );
187
+ let renderedNotFound: ReactNode;
188
+ try {
189
+ renderedNotFound = renderNotFoundFallback(effective, notFoundInfo);
190
+ } catch {
191
+ // A throwing boundary must not collapse the envelope (the wrapped
192
+ // promise is contracted to never reject); degrade to the default.
193
+ // Deliberately NOT shared with the consumption lane
194
+ // (segment-resolution/helpers.ts), which lets a throwing boundary
195
+ // propagate to the error boundary — only this lane is contracted to
196
+ // never reject.
197
+ renderedNotFound = createElement("h1", null, "Not Found");
198
+ }
199
+
200
+ debugLog("loader", "loader threw notFound()", {
201
+ segmentId,
202
+ pathname,
203
+ });
204
+
205
+ return {
206
+ __loaderResult: true,
207
+ ok: false,
208
+ notFound: true,
209
+ error: createErrorInfo(error, segmentId, "loader"),
210
+ fallback: renderedNotFound ?? null,
211
+ };
212
+ }
213
+
214
+ if (error instanceof Response && isRedirectResponse(error)) {
215
+ const reqCtx = _getRequestContext();
216
+ const requestOrigin = reqCtx?.originalUrl?.origin ?? reqCtx?.url.origin;
217
+ const location = error.headers.get("Location")!;
218
+ // Same-origin policy applied server-side; the wire never carries an
219
+ // unresolved target. redirect(url, { external: true })'s WeakSet brand
220
+ // survives (the thrown Response IS the branded object).
221
+ const to = requestOrigin
222
+ ? resolveSoftRedirectUrl(
223
+ location,
224
+ requestOrigin,
225
+ reqCtx?._basename,
226
+ isExternalRedirect(error),
227
+ )
228
+ : location;
229
+
230
+ debugLog("loader", "loader threw redirect()", {
231
+ segmentId,
232
+ to,
233
+ });
234
+
235
+ return {
236
+ __loaderResult: true,
237
+ ok: false,
238
+ redirect: { to },
239
+ error: createErrorInfo(
240
+ new Error(`Loader redirected to ${to}`),
241
+ segmentId,
242
+ "loader",
243
+ ),
244
+ fallback: null,
245
+ };
246
+ }
247
+
79
248
  // Find nearest error boundary
80
249
  const fallback = findNearestErrorBoundary(entry);
81
250
 
@@ -100,16 +269,40 @@ export function wrapLoaderWithErrorHandling<T>(
100
269
  };
101
270
  }
102
271
 
103
- // Render fallback on server
272
+ // Render fallback on server. The user ErrorBoundaryHandler may throw
273
+ // synchronously; if it does we must NOT let that rejection escape — the
274
+ // wrapped LoaderDataResult promise is contracted to never reject (see
275
+ // segment-resolution/fresh.ts `await Promise.all(...wrapped)`), and a
276
+ // rejection here would collapse the whole entry and discard healthy
277
+ // sibling loader data. On a fallback-render throw, fall back to the
278
+ // no-boundary result (fallback: null) so the client throws the ORIGINAL
279
+ // error, and the wrapped promise still resolves to a LoaderDataResult.
104
280
  let renderedFallback: ReactNode;
105
- if (typeof fallback === "function") {
106
- // ErrorBoundaryHandler - call with error info
107
- const props: ErrorBoundaryFallbackProps = {
281
+ try {
282
+ if (typeof fallback === "function") {
283
+ // ErrorBoundaryHandler - call with error info
284
+ const props: ErrorBoundaryFallbackProps = {
285
+ error: errorInfo,
286
+ };
287
+ renderedFallback = fallback(props);
288
+ } else {
289
+ renderedFallback = fallback;
290
+ }
291
+ } catch (fallbackError) {
292
+ debugLog("loader", "error boundary fallback render threw", {
293
+ segmentId,
294
+ message: errorInfo.message,
295
+ fallbackError:
296
+ fallbackError instanceof Error
297
+ ? fallbackError.message
298
+ : String(fallbackError),
299
+ });
300
+ return {
301
+ __loaderResult: true,
302
+ ok: false,
108
303
  error: errorInfo,
304
+ fallback: null,
109
305
  };
110
- renderedFallback = fallback(props);
111
- } else {
112
- renderedFallback = fallback;
113
306
  }
114
307
 
115
308
  debugLog("loader", "loader error wrapped with boundary fallback", {
@@ -177,12 +370,23 @@ function detectLoaderCycle(
177
370
  function createLoaderExecutor<TEnv>(
178
371
  ctx: HandlerContext<any, TEnv>,
179
372
  loaderPromises: Map<string, Promise<any>>,
373
+ executorOptions?: {
374
+ /**
375
+ * Background proactive-caching mode: ctx.handle() pushes become no-ops
376
+ * (mirroring setupLoaderAccessSilent's handler-handle no-op) and loader
377
+ * bodies are NOT aux-tracked into the foreground handle store — a
378
+ * background run must neither duplicate handle data nor extend the live
379
+ * payload's handle-stream lifetime.
380
+ */
381
+ silentHandles?: boolean;
382
+ },
180
383
  ): (
181
384
  loader: LoaderDefinition<any, any>,
182
385
  callerLoaderId: string | null,
183
386
  ) => Promise<any> {
184
387
  // Capture RequestContext eagerly for cookie access (ALS protection on Cloudflare)
185
388
  const reqCtxRef = _getRequestContext();
389
+ const silentHandles = executorOptions?.silentHandles === true;
186
390
 
187
391
  // Dependency graph: loaderId -> set of loader IDs it directly depends on.
188
392
  const dependsOn = new Map<string, Set<string>>();
@@ -241,6 +445,31 @@ function createLoaderExecutor<TEnv>(
241
445
  pendingLoaders.add(loader.$$id);
242
446
 
243
447
  const currentLoaderId = loader.$$id;
448
+ const variables = (ctx as InternalHandlerContext<any, TEnv>)._variables;
449
+
450
+ // Capture whether this loader is being started from a DSL loader scope
451
+ // (runInsideLoaderScope in fresh.ts). Handler-invoked loaders are NOT
452
+ // inside loader scope. This determines whether rendered() is allowed.
453
+ const isDslLoader = isInsideLoaderScope();
454
+
455
+ // Owning segment for ctx.handle() attribution, captured SYNCHRONOUSLY at
456
+ // kickoff: segment resolution sets _currentSegmentId while resolving the
457
+ // segment that declares this loader (fresh.ts), and the value moves on as
458
+ // resolution continues — by the time the async body pushes, it would be
459
+ // stale. Attributing to the owning route/layout segment gives handle
460
+ // pushes the same granularity handler pushes have (segmentOrder-correct
461
+ // for breadcrumb accumulation).
462
+ const owningSegmentId = (ctx as InternalHandlerContext<any, TEnv>)
463
+ ._currentSegmentId;
464
+
465
+ let renderedResolved = false;
466
+ let renderedPromise: Promise<void> | null = null;
467
+
468
+ // Loader functions are always fresh (never cached), so they get an
469
+ // unguarded get that bypasses non-cacheable read guards. This applies
470
+ // to ALL loaders — DSL and handler-called — because the loader
471
+ // function itself always re-executes. Also handles nested deps
472
+ // (loaderA → use(loaderB)) since all share this unguarded get.
244
473
  const loaderCtx: LoaderContext<Record<string, string | undefined>, TEnv> = {
245
474
  params: ctx.params,
246
475
  routeParams: (ctx.params ?? {}) as Record<string, string>,
@@ -249,26 +478,208 @@ function createLoaderExecutor<TEnv>(
249
478
  search: (ctx as any).search,
250
479
  pathname: ctx.pathname,
251
480
  url: ctx.url,
481
+ originalUrl: ctx.originalUrl,
252
482
  env: ctx.env,
253
- var: ctx.var,
254
- get: ctx.get,
255
- use: <TDep, TDepParams = any>(
256
- dep: LoaderDefinition<TDep, TDepParams>,
257
- ): Promise<TDep> => {
258
- return useLoader(dep, currentLoaderId);
259
- },
483
+ waitUntil: ctx.waitUntil.bind(ctx),
484
+ executionContext: ctx.executionContext,
485
+ get: ((keyOrVar: any) => {
486
+ // Handle READ (moved from ctx.use(handle)): collected data, available
487
+ // after `await ctx.rendered()` the rendered-barrier contract.
488
+ if (isHandle(keyOrVar)) {
489
+ if (!renderedResolved) {
490
+ throw new Error(
491
+ `ctx.get(handle) in a loader requires "await ctx.rendered()" first. ` +
492
+ `Handle "${keyOrVar.$$id}" cannot be read until the render tree has settled.`,
493
+ );
494
+ }
495
+ const reqCtx = reqCtxRef ?? _getRequestContext();
496
+ if (!reqCtx) {
497
+ throw new Error(
498
+ `ctx.get(handle) failed: request context not available.`,
499
+ );
500
+ }
501
+ const segmentOrder = reqCtx._renderBarrierSegmentOrder ?? [];
502
+ // The complete snapshot is cached at barrier resolution for
503
+ // non-streaming trees, and by rendered() after handleStore.settled for
504
+ // streaming trees (where the eager snapshot would have been incomplete
505
+ // because loading() handlers were still in flight). Either way it is
506
+ // present by the time a loader reads a handle; the fresh build is only
507
+ // a defensive fallback.
508
+ const snapshot =
509
+ reqCtx._renderBarrierHandleSnapshot ??
510
+ buildHandleSnapshot(reqCtx._handleStore, segmentOrder);
511
+ return collectHandleData(keyOrVar, snapshot, segmentOrder);
512
+ }
513
+ return contextGet(variables, keyOrVar);
514
+ }) as typeof ctx.get,
515
+ use: ((item: LoaderDefinition<any, any> | Handle<any, any>) => {
516
+ if (isHandle(item)) {
517
+ // Handle WRITE — handler parity: `ctx.use(Meta)({...})` pushes from
518
+ // the loader body exactly like a handler push. Reads moved to
519
+ // ctx.get(handle) (rendered()-gated). Pushes attribute to the OWNING
520
+ // segment and are legal for the whole body: the body is tracked on
521
+ // the handle store's auxiliary lane, so the store stays open past
522
+ // the handler barrier. Delivery follows the race: pushes that beat
523
+ // the handler barrier ride the SSR snapshot, later ones stream via
524
+ // metadata.handlesLate (document) or the still-open handles
525
+ // generator (nav/action lanes).
526
+ const handleDef = item;
527
+ if (silentHandles) {
528
+ return withDefer((_dataOrFn: unknown) => {});
529
+ }
530
+ const store =
531
+ reqCtxRef?._handleStore ?? _getRequestContext()?._handleStore;
532
+ const segmentId = owningSegmentId;
533
+ return withDefer(
534
+ (
535
+ dataOrFn: unknown | Promise<unknown> | (() => Promise<unknown>),
536
+ ) => {
537
+ pushHandleValue(store, segmentId, handleDef.$$id, dataOrFn);
538
+ },
539
+ );
540
+ }
541
+
542
+ // Loader case
543
+ return useLoader(item as LoaderDefinition<any, any>, currentLoaderId);
544
+ }) as LoaderContext["use"],
260
545
  method: "GET",
261
546
  body: undefined,
262
547
  reverse: ctx.reverse as LoaderContext["reverse"],
548
+ rendered: (): Promise<void> => {
549
+ // Guard: only DSL loaders may use rendered()
550
+ if (!isDslLoader) {
551
+ throw new Error(
552
+ `ctx.rendered() is only available in DSL loaders (registered via loader() in urls()). ` +
553
+ `Handler-invoked loaders (ctx.use(Loader) inside a handler) cannot use rendered().`,
554
+ );
555
+ }
556
+
557
+ const reqCtx = reqCtxRef ?? _getRequestContext();
558
+
559
+ if (renderedPromise) return renderedPromise;
560
+
561
+ if (!reqCtx) {
562
+ throw new Error(
563
+ `ctx.rendered() failed: request context not available.`,
564
+ );
565
+ }
566
+
567
+ // Bidirectional deadlock check: if a handler already started
568
+ // awaiting this loader, calling rendered() would deadlock. This is the
569
+ // real cycle guard (it holds for both streaming and non-streaming): the
570
+ // handler blocks segment resolution, which blocks the barrier, which
571
+ // blocks this loader.
572
+ if (reqCtx._handlerLoaderDeps?.has(currentLoaderId)) {
573
+ throw new Error(
574
+ `Deadlock: loader "${currentLoaderId}" called ctx.rendered() but a handler ` +
575
+ `is already awaiting this loader via ctx.use(). The handler blocks ` +
576
+ `segment resolution, which blocks the barrier, which blocks this loader. ` +
577
+ `Move the data dependency to a loader-to-loader pattern instead.`,
578
+ );
579
+ }
580
+
581
+ // Register this loader as waiting for the barrier so that
582
+ // setupLoaderAccess can detect deadlocks when a handler
583
+ // tries to await the same loader via ctx.use().
584
+ if (!reqCtx._renderBarrierWaiters) {
585
+ reqCtx._renderBarrierWaiters = new Set();
586
+ }
587
+ reqCtx._renderBarrierWaiters.add(currentLoaderId);
588
+
589
+ // Streaming trees (loading()): the barrier resolves once the segment
590
+ // tree is resolved, but loading() handlers stream behind Suspense and
591
+ // their handle pushes are still in flight then. Their async execution
592
+ // IS tracked in the handle store (trackHandler -> store.track), so after
593
+ // the barrier we seal (no further handlers register once the tree is
594
+ // resolved) and wait for settled — every tracked handler, streaming
595
+ // included, has finished pushing. The loader's own segment streams in
596
+ // after, so this does not block the shell; the deadlock guard above
597
+ // keeps a handler from depending on this loader.
598
+ const streaming = reqCtx._treeHasStreaming === true;
599
+ renderedPromise = reqCtx._renderBarrier.then(async () => {
600
+ if (streaming) {
601
+ reqCtx._handleStore.seal();
602
+ await reqCtx._handleStore.settled;
603
+ // The eager snapshot was intentionally left unbuilt for streaming
604
+ // (it would have been incomplete). Build the complete one once, now
605
+ // that the store has settled, so every ctx.use(handle) reads the
606
+ // cached snapshot instead of rebuilding it per call.
607
+ reqCtx._renderBarrierHandleSnapshot ??= buildHandleSnapshot(
608
+ reqCtx._handleStore,
609
+ reqCtx._renderBarrierSegmentOrder ?? [],
610
+ );
611
+ }
612
+ renderedResolved = true;
613
+ });
614
+ return renderedPromise;
615
+ },
263
616
  };
264
617
 
265
- const doneLoader = track(`loader:${loader.$$id}`, 2);
266
- const promise = Promise.resolve(
267
- loaderFn(loaderCtx as LoaderContext<any, TEnv>),
268
- ).finally(() => {
269
- pendingLoaders.delete(loader.$$id);
270
- doneLoader();
271
- });
618
+ // Meter this loader once via observePhase (loader:<id> perf metric +
619
+ // rango.loader span); loaderFn runs inside the span callback so its KV/D1/
620
+ // fetch spans nest under it. This is one of the observePhase loader funnels —
621
+ // see instrument.ts for the single-metering contract.
622
+ //
623
+ // Run the loader body inside loader scope so request-scoped reads
624
+ // (cookies()/headers() and non-cacheable ctx.get) are exempt from the
625
+ // cache-purity guards: loaders always run fresh, so their reads never leak
626
+ // into a cached segment. DSL loaders are already wrapped by fresh.ts; this
627
+ // also covers handler-invoked loaders (ctx.use(Loader) from a handler),
628
+ // which otherwise execute in the caller's cache scope and would wrongly
629
+ // throw. rendered() gating uses the captured isDslLoader (above), so this
630
+ // does not grant rendered() to handler-invoked loaders. Uses a body-only
631
+ // scope, so isInsideLoaderScope() / barrier / deadlock gating is unchanged.
632
+ //
633
+ // `handlerInvoked` (!isDslLoader) rides on the scope for the CONSUMPTION-
634
+ // LANE RULE: a handler-consumed loader's value is a BAKED copy in every
635
+ // shared artifact (cache(), "use cache", the PPR shell), so its identity
636
+ // reads are exempt from the shell-capture guard — same allowance the
637
+ // cache-purity guards give it. DSL segment loaders keep their lane
638
+ // machinery (live = masked at capture, bake = guarded). A DSL loader's
639
+ // nested deps inherit isDslLoader=false only when the CHAIN started in a
640
+ // handler; a chain started by the segment funnel stays DSL (the loader
641
+ // scope ALS survives the body's awaits).
642
+ // Shell fast path eligibility: a HANDLER-invoked loader executing during a
643
+ // capture is handler-layer dynamism — on a handler-free (replayed) HIT it
644
+ // would never re-run, freezing its consumption-lane value (#672's "fresh
645
+ // per serve" slot shape). Mark the capture; the entry declines the fast
646
+ // path and keeps the full tail. DSL loaders re-run on every HIT and never
647
+ // set this.
648
+ if (!isDslLoader) {
649
+ const captureCtx = _getRequestContext();
650
+ if (
651
+ captureCtx?._shellCaptureRun &&
652
+ captureCtx._shellCaptureHandleLiveness
653
+ ) {
654
+ captureCtx._shellCaptureHandleLiveness.handlerInvokedLoader = true;
655
+ }
656
+ }
657
+
658
+ const promise = observePhase(PHASES.loader(loader.$$id), () =>
659
+ Promise.resolve(
660
+ runInsideLoaderBodyScope(
661
+ () => loaderFn(loaderCtx as LoaderContext<any, TEnv>),
662
+ loader.$$id,
663
+ !isDslLoader,
664
+ ),
665
+ ).finally(() => {
666
+ pendingLoaders.delete(loader.$$id);
667
+ }),
668
+ );
669
+
670
+ // Auxiliary-lane tracking: keeps the handle store open for this body's
671
+ // ctx.handle() pushes without joining `settled` (the handler barrier that
672
+ // gates SSR/hydration and rendered()-readers — joining it would block the
673
+ // document on the slowest loader and self-deadlock rendered() callers).
674
+ // DSL loaders only: handler-invoked loaders are awaited by their handler,
675
+ // so they complete inside the handler lane already. A nested DSL kickoff
676
+ // mid-body registers while its parent is still tracked, so the lane can
677
+ // never re-open after draining.
678
+ if (isDslLoader && !silentHandles) {
679
+ (reqCtxRef ?? _getRequestContext())?._handleStore?.trackAuxiliary(
680
+ promise,
681
+ );
682
+ }
272
683
 
273
684
  loaderPromises.set(loader.$$id, promise);
274
685
  return promise;
@@ -290,12 +701,13 @@ export function setupLoaderAccess<TEnv>(
290
701
  ctx: HandlerContext<any, TEnv>,
291
702
  loaderPromises: Map<string, Promise<any>>,
292
703
  ): void {
293
- // Eagerly capture the HandleStore at setup time (before pipeline async ops).
294
- // In workerd/Cloudflare, dynamic imports and fetch() in the match pipeline
295
- // can disrupt AsyncLocalStorage, causing getRequestContext() to return
296
- // undefined when handlers later call ctx.use(handle). Capturing early
297
- // ensures the store reference survives ALS disruption.
298
- const handleStoreRef = _getRequestContext()?._handleStore;
704
+ // Eagerly capture the request context and HandleStore at setup time
705
+ // (before pipeline async ops). In workerd/Cloudflare, dynamic imports and
706
+ // fetch() in the match pipeline can disrupt AsyncLocalStorage, causing
707
+ // getRequestContext() to return undefined when handlers later call
708
+ // ctx.use(handle). Capturing early ensures references survive ALS disruption.
709
+ const reqCtxRef = _getRequestContext();
710
+ const handleStoreRef = reqCtxRef?._handleStore;
299
711
 
300
712
  const useLoader = createLoaderExecutor(ctx, loaderPromises);
301
713
 
@@ -313,21 +725,55 @@ export function setupLoaderAccess<TEnv>(
313
725
  );
314
726
  }
315
727
 
316
- return (
317
- dataOrFn: unknown | Promise<unknown> | (() => Promise<unknown>),
318
- ) => {
319
- if (!store) return;
320
-
321
- const valueOrPromise =
322
- typeof dataOrFn === "function"
323
- ? (dataOrFn as () => Promise<unknown>)()
324
- : dataOrFn;
728
+ return withDefer(
729
+ (dataOrFn: unknown | Promise<unknown> | (() => Promise<unknown>)) => {
730
+ pushHandleValue(store, segmentId, handle.$$id, dataOrFn);
731
+ },
732
+ );
733
+ }
325
734
 
326
- store.push(handle.$$id, segmentId, valueOrPromise);
327
- };
735
+ // Deadlock guard and handler-to-loader dependency tracking.
736
+ // Skip when inside a DSL loader scope (resolveLoaderData also calls
737
+ // ctx.use() but that's DSL-to-DSL, not handler-to-loader) or when
738
+ // inside a handle push callback (push callbacks don't block segment
739
+ // resolution so they can't cause rendered() deadlocks). The push-callback
740
+ // check is an ALS scope so it also exempts an ASYNC callback's continuation
741
+ // after its first await — relevant on streaming trees, where the guard
742
+ // state now stays live until handleStore.settled.
743
+ const loader = item as LoaderDefinition<any, any>;
744
+ if (!isInsideLoaderScope() && !isInsidePushCallbackScope()) {
745
+ const reqCtx = reqCtxRef ?? _getRequestContext();
746
+ if (reqCtx) {
747
+ // Direction 1: handler awaits loader that already called rendered()
748
+ if (
749
+ loaderPromises.has(loader.$$id) &&
750
+ reqCtx._renderBarrierWaiters?.has(loader.$$id)
751
+ ) {
752
+ throw new Error(
753
+ `Deadlock: handler is awaiting loader "${loader.$$id}" which called ctx.rendered(). ` +
754
+ `The loader is waiting for segment resolution, but the handler blocks resolution. ` +
755
+ `Move the data dependency to a loader-to-loader pattern instead.`,
756
+ );
757
+ }
758
+ // Direction 2: track dep so rendered() can detect the deadlock if the
759
+ // loader calls it later. Skip once the guard window is CLOSED — for a
760
+ // non-streaming tree that is when the barrier resolves (rendered()
761
+ // resolves immediately), and for a streaming tree it is when
762
+ // handleStore.settled completes (rendered() keeps waiting until then, so
763
+ // a loading() handler resuming after the barrier can still form a
764
+ // cycle). Using the explicit guard-closed flag rather than
765
+ // _renderBarrierSegmentOrder keeps tracking live across the streaming
766
+ // settle wait. (Handle push callbacks are already excluded above via
767
+ // isInsidePushCallbackScope(), so they cannot produce false positives
768
+ // here.)
769
+ if (!reqCtx._renderBarrierGuardClosed) {
770
+ if (!reqCtx._handlerLoaderDeps) reqCtx._handlerLoaderDeps = new Set();
771
+ reqCtx._handlerLoaderDeps.add(loader.$$id);
772
+ }
773
+ }
328
774
  }
329
775
 
330
- return useLoader(item as LoaderDefinition<any, any>, null);
776
+ return useLoader(loader, null);
331
777
  }) as typeof ctx.use;
332
778
  }
333
779
 
@@ -354,18 +800,21 @@ export function setupBuildUse<TEnv>(ctx: HandlerContext<any, TEnv>): void {
354
800
  );
355
801
  }
356
802
 
357
- return (
358
- dataOrFn: unknown | Promise<unknown> | (() => Promise<unknown>),
359
- ) => {
360
- if (!store) return;
803
+ // Wrap with withDefer so ctx.use(Handle).defer(...) works on the build /
804
+ // prerender path, matching production setupLoaderAccess. Without it a
805
+ // prerender handler calling .defer() throws "defer is not a function".
806
+ return withDefer(
807
+ (dataOrFn: unknown | Promise<unknown> | (() => Promise<unknown>)) => {
808
+ if (!store) return;
361
809
 
362
- const valueOrPromise =
363
- typeof dataOrFn === "function"
364
- ? (dataOrFn as () => Promise<unknown>)()
365
- : dataOrFn;
810
+ const valueOrPromise =
811
+ typeof dataOrFn === "function"
812
+ ? (dataOrFn as () => Promise<unknown>)()
813
+ : dataOrFn;
366
814
 
367
- store.push(handle.$$id, segmentId, valueOrPromise);
368
- };
815
+ store.push(handle.$$id, segmentId, valueOrPromise);
816
+ },
817
+ );
369
818
  }
370
819
 
371
820
  // Loader case: not available during pre-rendering
@@ -389,12 +838,17 @@ export function setupLoaderAccessSilent<TEnv>(
389
838
  ctx: HandlerContext<any, TEnv>,
390
839
  loaderPromises: Map<string, Promise<any>>,
391
840
  ): void {
392
- const useLoader = createLoaderExecutor(ctx, loaderPromises);
841
+ const useLoader = createLoaderExecutor(ctx, loaderPromises, {
842
+ silentHandles: true,
843
+ });
393
844
 
394
845
  ctx.use = ((item: LoaderDefinition<any, any> | Handle<any, any>) => {
395
846
  if (isHandle(item)) {
396
- // Silent mode - return a no-op so handle data is not pushed during caching
397
- return (_dataOrFn: unknown) => {};
847
+ // Silent mode - return a no-op so handle data is not pushed during caching.
848
+ // Wrap with withDefer so ctx.use(Handle).defer(...) still resolves to a
849
+ // callable resolver (also a no-op here), matching production's push shape
850
+ // instead of throwing "defer is not a function".
851
+ return withDefer((_dataOrFn: unknown) => {});
398
852
  }
399
853
 
400
854
  return useLoader(item as LoaderDefinition<any, any>, null);