@rangojs/router 0.0.0-experimental.349e5728 → 0.0.0-experimental.358c376d

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 (2104) hide show
  1. package/AGENTS.md +8 -4
  2. package/README.md +314 -882
  3. package/dist/bin/rango.js +925 -271
  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 +62 -0
  125. package/dist/types/client-urls/types.d.ts +144 -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 +404 -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 +520 -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 +717 -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 +234 -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 +203 -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 +9955 -4414
  821. package/package.json +118 -38
  822. package/skills/api-client/SKILL.md +211 -0
  823. package/skills/breadcrumbs/SKILL.md +114 -7
  824. package/skills/bundle-analysis/SKILL.md +159 -0
  825. package/skills/cache-guide/SKILL.md +232 -34
  826. package/skills/caching/SKILL.md +375 -19
  827. package/skills/catalog.json +289 -0
  828. package/skills/client-urls/SKILL.md +307 -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 +858 -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 +10 -10
  845. package/skills/hooks/SKILL.md +73 -704
  846. package/skills/hooks/data.md +282 -0
  847. package/skills/hooks/handle-and-actions.md +110 -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 +1 -1
  854. package/skills/intercept/SKILL.md +50 -19
  855. package/skills/layout/SKILL.md +38 -19
  856. package/skills/links/SKILL.md +209 -17
  857. package/skills/loader/SKILL.md +308 -25
  858. package/skills/middleware/SKILL.md +56 -13
  859. package/skills/migrate-nextjs/SKILL.md +323 -33
  860. package/skills/migrate-nextjs/backend-host-swap.md +120 -0
  861. package/skills/migrate-react-router/SKILL.md +95 -675
  862. package/skills/migrate-react-router/component-migration.md +201 -0
  863. package/skills/migrate-react-router/data-and-actions.md +236 -0
  864. package/skills/migrate-react-router/route-mapping.md +284 -0
  865. package/skills/mime-routes/SKILL.md +55 -18
  866. package/skills/observability/SKILL.md +231 -0
  867. package/skills/parallel/SKILL.md +52 -11
  868. package/skills/ppr/SKILL.md +914 -0
  869. package/skills/prerender/SKILL.md +137 -71
  870. package/skills/rango/SKILL.md +325 -28
  871. package/skills/react-compiler/SKILL.md +168 -0
  872. package/skills/response-routes/SKILL.md +172 -52
  873. package/skills/route/SKILL.md +102 -9
  874. package/skills/router-setup/SKILL.md +69 -11
  875. package/skills/scripts/SKILL.md +189 -0
  876. package/skills/server-actions/SKILL.md +81 -44
  877. package/skills/shell-manifest/SKILL.md +194 -0
  878. package/skills/streams-and-websockets/SKILL.md +1 -1
  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 +153 -0
  887. package/skills/testing/loader.md +130 -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 +9 -6
  896. package/skills/typesafety/SKILL.md +45 -634
  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 +133 -4
  904. package/src/__augment-tests__/augment.ts +81 -0
  905. package/src/__augment-tests__/augmented.check.ts +116 -0
  906. package/src/__internal.ts +0 -65
  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 +14 -27
  910. package/src/browser/connection-warmup.ts +134 -0
  911. package/src/browser/cookie-name.ts +140 -0
  912. package/src/browser/dev-discovery.ts +66 -0
  913. package/src/browser/event-controller.ts +359 -167
  914. package/src/browser/history-state.ts +21 -0
  915. package/src/browser/index.ts +3 -3
  916. package/src/browser/invalidate-client-cache.ts +52 -0
  917. package/src/browser/link-interceptor.ts +469 -20
  918. package/src/browser/logging.ts +28 -0
  919. package/src/browser/merge-segment-loaders.ts +6 -4
  920. package/src/browser/navigation-bridge.ts +159 -122
  921. package/src/browser/navigation-client.ts +199 -96
  922. package/src/browser/navigation-store-handle.ts +38 -0
  923. package/src/browser/navigation-store.ts +165 -345
  924. package/src/browser/navigation-transaction.ts +9 -59
  925. package/src/browser/network-error-handler.ts +34 -7
  926. package/src/browser/notify-listeners.ts +22 -0
  927. package/src/browser/partial-update.ts +202 -161
  928. package/src/browser/prefetch/cache.ts +240 -97
  929. package/src/browser/prefetch/default-strategy.ts +74 -0
  930. package/src/browser/prefetch/fetch.ts +317 -51
  931. package/src/browser/prefetch/invalidation.ts +30 -0
  932. package/src/browser/prefetch/loader.ts +111 -0
  933. package/src/browser/prefetch/observer.ts +50 -22
  934. package/src/browser/prefetch/queue.ts +25 -7
  935. package/src/browser/prefetch/runtime.ts +6 -0
  936. package/src/browser/rango-state.ts +177 -114
  937. package/src/browser/react/Link.tsx +115 -75
  938. package/src/browser/react/NavigationProvider.tsx +176 -138
  939. package/src/browser/react/ScrollRestoration.tsx +10 -6
  940. package/src/browser/react/context.ts +4 -0
  941. package/src/browser/react/filter-segment-order.ts +17 -2
  942. package/src/browser/react/index.ts +0 -48
  943. package/src/browser/react/location-state-shared.ts +178 -8
  944. package/src/browser/react/location-state.ts +39 -14
  945. package/src/browser/react/use-action.ts +6 -15
  946. package/src/browser/react/use-handle.ts +17 -14
  947. package/src/browser/react/use-href.tsx +8 -1
  948. package/src/browser/react/use-link-status.ts +33 -8
  949. package/src/browser/react/use-navigation.ts +10 -5
  950. package/src/browser/react/use-params.ts +3 -6
  951. package/src/browser/react/use-reverse.ts +106 -0
  952. package/src/browser/react/use-router.ts +21 -6
  953. package/src/browser/react/use-search-params.ts +0 -5
  954. package/src/browser/react/use-segments.ts +0 -13
  955. package/src/browser/response-adapter.ts +99 -8
  956. package/src/browser/rsc-router.tsx +230 -42
  957. package/src/browser/scroll-restoration.ts +37 -22
  958. package/src/browser/segment-reconciler.ts +31 -21
  959. package/src/browser/segment-structure-assert.ts +2 -2
  960. package/src/browser/server-action-bridge.ts +262 -65
  961. package/src/browser/types.ts +126 -47
  962. package/src/browser/validate-redirect-origin.ts +43 -16
  963. package/src/build/collect-fallback-refs.ts +107 -0
  964. package/src/build/generate-manifest.ts +213 -184
  965. package/src/build/generate-route-types.ts +3 -1
  966. package/src/build/index.ts +11 -3
  967. package/src/build/merge-full-manifests.ts +161 -0
  968. package/src/build/prefix-tree-utils.ts +123 -0
  969. package/src/build/route-trie.ts +43 -281
  970. package/src/build/route-types/ast-route-extraction.ts +15 -8
  971. package/src/build/route-types/codegen.ts +16 -5
  972. package/src/build/route-types/include-resolution.ts +513 -64
  973. package/src/build/route-types/param-extraction.ts +6 -3
  974. package/src/build/route-types/per-module-writer.ts +33 -12
  975. package/src/build/route-types/router-processing.ts +312 -204
  976. package/src/build/route-types/scan-filter.ts +1 -1
  977. package/src/build/route-types/source-scan.ts +216 -0
  978. package/src/build/runtime-discovery.ts +32 -29
  979. package/src/cache/cache-error.ts +104 -0
  980. package/src/cache/cache-exec-scope.ts +47 -0
  981. package/src/cache/cache-key-utils.ts +73 -15
  982. package/src/cache/cache-policy.ts +108 -34
  983. package/src/cache/cache-runtime.ts +566 -121
  984. package/src/cache/cache-scope.ts +383 -105
  985. package/src/cache/cache-tag.ts +149 -0
  986. package/src/cache/cf/cf-base64.ts +33 -0
  987. package/src/cache/cf/cf-cache-constants.ts +134 -0
  988. package/src/cache/cf/cf-cache-store.ts +3028 -391
  989. package/src/cache/cf/cf-cache-types.ts +417 -0
  990. package/src/cache/cf/cf-kv-utils.ts +84 -0
  991. package/src/cache/cf/cf-tag-marker-memo.ts +108 -0
  992. package/src/cache/cf/cf-zone-purge.ts +101 -0
  993. package/src/cache/cf/index.ts +11 -16
  994. package/src/cache/document-cache.ts +184 -53
  995. package/src/cache/handle-snapshot.ts +92 -1
  996. package/src/cache/index.ts +32 -20
  997. package/src/cache/memory-segment-store.ts +286 -37
  998. package/src/cache/profile-registry.ts +46 -31
  999. package/src/cache/read-through-swr.ts +66 -16
  1000. package/src/cache/search-params-filter.ts +118 -0
  1001. package/src/cache/segment-codec.ts +80 -25
  1002. package/src/cache/shell-snapshot.ts +516 -0
  1003. package/src/cache/tag-invalidation.ts +230 -0
  1004. package/src/cache/taint.ts +28 -9
  1005. package/src/cache/types.ts +323 -100
  1006. package/src/cache/vercel/index.ts +11 -0
  1007. package/src/cache/vercel/vercel-cache-store.ts +1264 -0
  1008. package/src/client-urls/client-root.tsx +161 -0
  1009. package/src/client-urls/client-urls.ts +698 -0
  1010. package/src/client-urls/navigation.ts +237 -0
  1011. package/src/client-urls/revalidation-protocol.ts +56 -0
  1012. package/src/client-urls/server-projection.ts +579 -0
  1013. package/src/client-urls/types.ts +195 -0
  1014. package/src/client.rsc.tsx +48 -21
  1015. package/src/client.tsx +77 -67
  1016. package/src/cloudflare/index.ts +11 -0
  1017. package/src/cloudflare/tracing.ts +112 -0
  1018. package/src/component-utils.ts +19 -0
  1019. package/src/components/DefaultDocument.tsx +8 -2
  1020. package/src/context-var.ts +18 -6
  1021. package/src/decode-loader-results.ts +160 -0
  1022. package/src/defer.ts +185 -0
  1023. package/src/deps/ssr.ts +4 -2
  1024. package/src/dev-discovery-protocol.ts +11 -0
  1025. package/src/encode-kv.ts +49 -0
  1026. package/src/errors.ts +44 -4
  1027. package/src/escape-script.ts +52 -0
  1028. package/src/handle.ts +67 -37
  1029. package/src/handles/MetaTags.tsx +24 -53
  1030. package/src/handles/Scripts.tsx +183 -0
  1031. package/src/handles/breadcrumbs.ts +35 -8
  1032. package/src/handles/deferred-resolution.ts +134 -0
  1033. package/src/handles/is-thenable.ts +16 -0
  1034. package/src/handles/meta.ts +14 -40
  1035. package/src/handles/script.ts +244 -0
  1036. package/src/host/cookie-handler.ts +9 -60
  1037. package/src/host/errors.ts +13 -22
  1038. package/src/host/index.ts +9 -2
  1039. package/src/host/pattern-matcher.ts +23 -52
  1040. package/src/host/router.ts +107 -99
  1041. package/src/host/testing.ts +40 -27
  1042. package/src/host/types.ts +37 -4
  1043. package/src/host/utils.ts +1 -1
  1044. package/src/href-client.ts +136 -24
  1045. package/src/index.rsc.ts +105 -12
  1046. package/src/index.ts +103 -14
  1047. package/src/internal-debug.ts +11 -10
  1048. package/src/loader-redirect.tsx +47 -0
  1049. package/src/loader-store.ts +500 -0
  1050. package/src/loader.rsc.ts +20 -13
  1051. package/src/loader.ts +12 -11
  1052. package/src/missing-id-error.ts +68 -0
  1053. package/src/outlet-context.ts +12 -0
  1054. package/src/outlet-provider.tsx +16 -6
  1055. package/src/prerender/build-shell-capture.ts +453 -0
  1056. package/src/prerender/param-hash.ts +16 -16
  1057. package/src/prerender/shell-manifest-key.ts +20 -0
  1058. package/src/prerender/store.ts +47 -38
  1059. package/src/prerender.ts +81 -13
  1060. package/src/redirect-origin.ts +143 -0
  1061. package/src/regex-escape.ts +8 -0
  1062. package/src/render-error-thrower.tsx +20 -0
  1063. package/src/response-utils.ts +34 -0
  1064. package/src/reverse.ts +65 -41
  1065. package/src/root-error-boundary.tsx +1 -19
  1066. package/src/route-content-wrapper.tsx +112 -78
  1067. package/src/route-definition/dsl-helpers.ts +327 -315
  1068. package/src/route-definition/helper-factories.ts +28 -140
  1069. package/src/route-definition/helpers-types.ts +99 -61
  1070. package/src/route-definition/index.ts +1 -2
  1071. package/src/route-definition/redirect.ts +44 -11
  1072. package/src/route-definition/resolve-handler-use.ts +6 -1
  1073. package/src/route-definition/use-item-types.ts +29 -0
  1074. package/src/route-map-builder.ts +102 -74
  1075. package/src/route-types.ts +19 -46
  1076. package/src/router/basename.ts +14 -0
  1077. package/src/router/content-negotiation.ts +120 -30
  1078. package/src/router/error-handling.ts +110 -29
  1079. package/src/router/find-match.ts +129 -30
  1080. package/src/router/handler-context.ts +41 -58
  1081. package/src/router/instrument.ts +401 -0
  1082. package/src/router/intercept-resolution.ts +98 -21
  1083. package/src/router/lazy-includes.ts +82 -58
  1084. package/src/router/loader-resolution.ts +419 -85
  1085. package/src/router/logging.ts +0 -6
  1086. package/src/router/manifest.ts +74 -40
  1087. package/src/router/match-api.ts +90 -55
  1088. package/src/router/match-context.ts +0 -22
  1089. package/src/router/match-handlers.ts +267 -171
  1090. package/src/router/match-middleware/background-revalidation.ts +40 -24
  1091. package/src/router/match-middleware/cache-lookup.ts +316 -302
  1092. package/src/router/match-middleware/cache-store.ts +134 -52
  1093. package/src/router/match-middleware/intercept-resolution.ts +0 -22
  1094. package/src/router/match-middleware/segment-resolution.ts +0 -22
  1095. package/src/router/match-pipelines.ts +1 -42
  1096. package/src/router/match-result.ts +72 -94
  1097. package/src/router/metrics.ts +17 -36
  1098. package/src/router/middleware-types.ts +15 -114
  1099. package/src/router/middleware.ts +276 -193
  1100. package/src/router/navigation-snapshot.ts +51 -60
  1101. package/src/router/params-util.ts +23 -0
  1102. package/src/router/parse-pattern.ts +115 -0
  1103. package/src/router/pattern-matching.ts +99 -152
  1104. package/src/router/prefetch-cache-ttl.ts +51 -0
  1105. package/src/router/prefetch-default.ts +59 -0
  1106. package/src/router/prefetch-limits.ts +37 -0
  1107. package/src/router/prerender-match.ts +159 -69
  1108. package/src/router/preview-match.ts +6 -2
  1109. package/src/router/request-classification.ts +50 -69
  1110. package/src/router/revalidation.ts +134 -85
  1111. package/src/router/route-snapshot.ts +14 -3
  1112. package/src/router/route-trie-builder.ts +334 -0
  1113. package/src/router/router-context.ts +6 -29
  1114. package/src/router/router-interfaces.ts +168 -38
  1115. package/src/router/router-options.ts +235 -11
  1116. package/src/router/router-registry.ts +2 -5
  1117. package/src/router/segment-resolution/fresh.ts +191 -88
  1118. package/src/router/segment-resolution/helpers.ts +96 -18
  1119. package/src/router/segment-resolution/loader-cache.ts +187 -39
  1120. package/src/router/segment-resolution/loader-mask.ts +60 -0
  1121. package/src/router/segment-resolution/loader-snapshot.ts +259 -0
  1122. package/src/router/segment-resolution/mask-nested.ts +99 -0
  1123. package/src/router/segment-resolution/revalidation.ts +275 -308
  1124. package/src/router/segment-resolution/static-store.ts +55 -15
  1125. package/src/router/segment-resolution/streamed-handler-telemetry.ts +52 -0
  1126. package/src/router/segment-resolution/view-transition-default.ts +60 -0
  1127. package/src/router/segment-resolution.ts +5 -1
  1128. package/src/router/segment-wrappers.ts +6 -5
  1129. package/src/router/state-cookie-name.ts +33 -0
  1130. package/src/router/substitute-pattern-params.ts +75 -0
  1131. package/src/router/telemetry-otel.ts +171 -200
  1132. package/src/router/telemetry.ts +106 -20
  1133. package/src/router/timeout.ts +53 -22
  1134. package/src/router/tracing.ts +235 -0
  1135. package/src/router/transition-when.ts +76 -0
  1136. package/src/router/trie-matching.ts +171 -64
  1137. package/src/router/types.ts +9 -63
  1138. package/src/router/url-params.ts +13 -5
  1139. package/src/router.ts +248 -77
  1140. package/src/rsc/capture-queue.ts +218 -0
  1141. package/src/rsc/full-payload.ts +77 -0
  1142. package/src/rsc/handler-context.ts +4 -2
  1143. package/src/rsc/handler.ts +562 -284
  1144. package/src/rsc/helpers.ts +179 -9
  1145. package/src/rsc/index.ts +2 -5
  1146. package/src/rsc/json-route-result.ts +38 -0
  1147. package/src/rsc/loader-fetch.ts +116 -40
  1148. package/src/rsc/manifest-init.ts +55 -56
  1149. package/src/rsc/nonce.ts +10 -1
  1150. package/src/rsc/origin-guard.ts +39 -25
  1151. package/src/rsc/progressive-enhancement.ts +376 -85
  1152. package/src/rsc/redirect-guard.ts +102 -0
  1153. package/src/rsc/render-pipeline.ts +611 -0
  1154. package/src/rsc/response-cache-serve.ts +259 -0
  1155. package/src/rsc/response-error.ts +79 -12
  1156. package/src/rsc/response-route-handler.ts +73 -212
  1157. package/src/rsc/routine-plan.ts +359 -0
  1158. package/src/rsc/rsc-rendering.ts +1622 -172
  1159. package/src/rsc/runtime-warnings.ts +23 -10
  1160. package/src/rsc/server-action.ts +419 -140
  1161. package/src/rsc/shell-build-manifest.ts +336 -0
  1162. package/src/rsc/shell-capture-constants.ts +45 -0
  1163. package/src/rsc/shell-capture.ts +2063 -0
  1164. package/src/rsc/shell-serve.ts +337 -0
  1165. package/src/rsc/ssr-setup.ts +111 -16
  1166. package/src/rsc/stream-idle.ts +137 -0
  1167. package/src/rsc/transition-gate.ts +86 -0
  1168. package/src/rsc/types.ts +85 -5
  1169. package/src/runtime-env.ts +18 -0
  1170. package/src/search-params.ts +35 -30
  1171. package/src/segment-fragments.ts +165 -0
  1172. package/src/segment-loader-promise.ts +49 -4
  1173. package/src/segment-system.tsx +383 -146
  1174. package/src/serialize.ts +243 -0
  1175. package/src/server/context.ts +426 -55
  1176. package/src/server/cookie-parse.ts +32 -0
  1177. package/src/server/cookie-store.ts +162 -15
  1178. package/src/server/handle-store.ts +190 -70
  1179. package/src/server/loader-registry.ts +33 -42
  1180. package/src/server/request-context.ts +818 -177
  1181. package/src/server.ts +7 -2
  1182. package/src/ssr/index.tsx +631 -187
  1183. package/src/ssr/inject-rsc-eager.ts +167 -0
  1184. package/src/ssr/preinit-client-references.ts +106 -0
  1185. package/src/ssr/ssr-root.tsx +262 -0
  1186. package/src/static-handler.ts +28 -15
  1187. package/src/testing/cache-status.ts +162 -0
  1188. package/src/testing/collect-handle.ts +46 -0
  1189. package/src/testing/dispatch.ts +951 -0
  1190. package/src/testing/dom.entry.ts +22 -0
  1191. package/src/testing/e2e/fixture.ts +188 -0
  1192. package/src/testing/e2e/index.ts +147 -0
  1193. package/src/testing/e2e/matchers.ts +35 -0
  1194. package/src/testing/e2e/page-helpers.ts +319 -0
  1195. package/src/testing/e2e/parity.ts +400 -0
  1196. package/src/testing/e2e/server.ts +195 -0
  1197. package/src/testing/flight-matchers.ts +97 -0
  1198. package/src/testing/flight-normalize.ts +11 -0
  1199. package/src/testing/flight-runtime.d.ts +57 -0
  1200. package/src/testing/flight-tree.ts +682 -0
  1201. package/src/testing/flight.entry.ts +52 -0
  1202. package/src/testing/flight.ts +257 -0
  1203. package/src/testing/generated-routes.ts +199 -0
  1204. package/src/testing/index.ts +121 -0
  1205. package/src/testing/internal/context.ts +380 -0
  1206. package/src/testing/internal/flight-client-globals.ts +30 -0
  1207. package/src/testing/internal/seed-vars.ts +54 -0
  1208. package/src/testing/render-handler.ts +371 -0
  1209. package/src/testing/render-route.tsx +667 -0
  1210. package/src/testing/run-loader.ts +423 -0
  1211. package/src/testing/run-middleware.ts +219 -0
  1212. package/src/testing/run-transition-when.ts +197 -0
  1213. package/src/testing/shell-status.ts +206 -0
  1214. package/src/testing/vitest-stubs/cloudflare-email.ts +9 -0
  1215. package/src/testing/vitest-stubs/cloudflare-workers.ts +21 -0
  1216. package/src/testing/vitest-stubs/plugin-rsc.ts +16 -0
  1217. package/src/testing/vitest-stubs/version.ts +5 -0
  1218. package/src/testing/vitest.ts +305 -0
  1219. package/src/theme/ThemeProvider.tsx +56 -84
  1220. package/src/theme/ThemeScript.tsx +7 -9
  1221. package/src/theme/constants.ts +52 -13
  1222. package/src/theme/index.ts +0 -7
  1223. package/src/theme/theme-context.ts +1 -5
  1224. package/src/theme/theme-script.ts +22 -21
  1225. package/src/theme/use-theme.ts +0 -3
  1226. package/src/types/boundaries.ts +15 -35
  1227. package/src/types/cache-types.ts +13 -4
  1228. package/src/types/error-types.ts +30 -90
  1229. package/src/types/global-namespace.ts +54 -41
  1230. package/src/types/handler-context.ts +111 -25
  1231. package/src/types/index.ts +4 -10
  1232. package/src/types/loader-types.ts +65 -7
  1233. package/src/types/request-scope.ts +8 -22
  1234. package/src/types/route-config.ts +20 -52
  1235. package/src/types/route-entry.ts +3 -6
  1236. package/src/types/segments.ts +130 -14
  1237. package/src/urls/include-helper.ts +38 -64
  1238. package/src/urls/include-provider.ts +71 -0
  1239. package/src/urls/index.ts +2 -11
  1240. package/src/urls/path-helper-types.ts +84 -25
  1241. package/src/urls/path-helper.ts +30 -110
  1242. package/src/urls/pattern-types.ts +101 -19
  1243. package/src/urls/response-types.ts +20 -19
  1244. package/src/urls/type-extraction.ts +98 -154
  1245. package/src/urls/urls-function.ts +1 -19
  1246. package/src/use-loader.tsx +355 -109
  1247. package/src/vercel/index.ts +11 -0
  1248. package/src/vercel/tracing.ts +89 -0
  1249. package/src/vite/debug.ts +1 -0
  1250. package/src/vite/discovery/bundle-postprocess.ts +18 -14
  1251. package/src/vite/discovery/client-urls-projection.ts +322 -0
  1252. package/src/vite/discovery/dev-prerender-cache.ts +117 -0
  1253. package/src/vite/discovery/discover-routers.ts +152 -153
  1254. package/src/vite/discovery/discovery-errors.ts +255 -0
  1255. package/src/vite/discovery/prerender-collection.ts +77 -69
  1256. package/src/vite/discovery/route-types-writer.ts +40 -84
  1257. package/src/vite/discovery/shell-prerender-phase.ts +397 -0
  1258. package/src/vite/discovery/state.ts +104 -6
  1259. package/src/vite/discovery/virtual-module-codegen.ts +226 -87
  1260. package/src/vite/encryption-key.ts +29 -0
  1261. package/src/vite/index.ts +12 -0
  1262. package/src/vite/inject-client-debug.ts +88 -0
  1263. package/src/vite/plugin-types.ts +243 -10
  1264. package/src/vite/plugins/cjs-to-esm.ts +11 -19
  1265. package/src/vite/plugins/client-ref-dedup.ts +0 -11
  1266. package/src/vite/plugins/client-ref-hashing.ts +12 -11
  1267. package/src/vite/plugins/cloudflare-protocol-stub.ts +1 -21
  1268. package/src/vite/plugins/expose-action-id.ts +6 -77
  1269. package/src/vite/plugins/expose-id-utils.ts +88 -55
  1270. package/src/vite/plugins/expose-ids/export-analysis.ts +101 -34
  1271. package/src/vite/plugins/expose-ids/handler-transform.ts +11 -90
  1272. package/src/vite/plugins/expose-ids/loader-transform.ts +14 -24
  1273. package/src/vite/plugins/expose-ids/router-transform.ts +98 -26
  1274. package/src/vite/plugins/expose-internal-ids.ts +103 -68
  1275. package/src/vite/plugins/performance-tracks.ts +9 -16
  1276. package/src/vite/plugins/refresh-cmd.ts +1 -1
  1277. package/src/vite/plugins/server-ref-hashing.ts +74 -0
  1278. package/src/vite/plugins/server-reference-pattern.ts +10 -0
  1279. package/src/vite/plugins/use-cache-transform.ts +26 -49
  1280. package/src/vite/plugins/vercel-output.ts +384 -0
  1281. package/src/vite/plugins/version-injector.ts +24 -40
  1282. package/src/vite/plugins/version-plugin.ts +45 -40
  1283. package/src/vite/plugins/virtual-entries.ts +193 -30
  1284. package/src/vite/rango.ts +238 -126
  1285. package/src/vite/router-discovery.ts +1120 -143
  1286. package/src/vite/utils/ast-handler-extract.ts +26 -35
  1287. package/src/vite/utils/bundle-analysis.ts +10 -15
  1288. package/src/vite/utils/client-chunks.ts +184 -0
  1289. package/src/vite/utils/directive-prologue.ts +40 -0
  1290. package/src/vite/utils/forward-user-plugins.ts +171 -0
  1291. package/src/vite/utils/manifest-utils.ts +1 -59
  1292. package/src/vite/utils/package-resolution.ts +2 -73
  1293. package/src/vite/utils/prerender-utils.ts +96 -50
  1294. package/src/vite/utils/shared-utils.ts +156 -43
  1295. package/dist/__internal.d.ts +0 -83
  1296. package/dist/__internal.d.ts.map +0 -1
  1297. package/dist/__internal.js +0 -19
  1298. package/dist/__internal.js.map +0 -1
  1299. package/dist/__mocks__/version.d.ts +0 -7
  1300. package/dist/__mocks__/version.d.ts.map +0 -1
  1301. package/dist/__mocks__/version.js +0 -7
  1302. package/dist/__mocks__/version.js.map +0 -1
  1303. package/dist/__tests__/client-href.test.d.ts +0 -2
  1304. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  1305. package/dist/__tests__/client-href.test.js +0 -74
  1306. package/dist/__tests__/client-href.test.js.map +0 -1
  1307. package/dist/__tests__/component-utils.test.d.ts +0 -2
  1308. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  1309. package/dist/__tests__/component-utils.test.js +0 -51
  1310. package/dist/__tests__/component-utils.test.js.map +0 -1
  1311. package/dist/__tests__/event-controller.test.d.ts +0 -2
  1312. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  1313. package/dist/__tests__/event-controller.test.js +0 -538
  1314. package/dist/__tests__/event-controller.test.js.map +0 -1
  1315. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  1316. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  1317. package/dist/__tests__/helpers/route-tree.js +0 -374
  1318. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  1319. package/dist/__tests__/match-result.test.d.ts +0 -2
  1320. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  1321. package/dist/__tests__/match-result.test.js +0 -154
  1322. package/dist/__tests__/match-result.test.js.map +0 -1
  1323. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  1324. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  1325. package/dist/__tests__/navigation-store.test.js +0 -440
  1326. package/dist/__tests__/navigation-store.test.js.map +0 -1
  1327. package/dist/__tests__/partial-update.test.d.ts +0 -2
  1328. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  1329. package/dist/__tests__/partial-update.test.js +0 -1009
  1330. package/dist/__tests__/partial-update.test.js.map +0 -1
  1331. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  1332. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  1333. package/dist/__tests__/reverse-types.test.js +0 -656
  1334. package/dist/__tests__/reverse-types.test.js.map +0 -1
  1335. package/dist/__tests__/route-definition.test.d.ts +0 -2
  1336. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  1337. package/dist/__tests__/route-definition.test.js +0 -55
  1338. package/dist/__tests__/route-definition.test.js.map +0 -1
  1339. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  1340. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  1341. package/dist/__tests__/router-helpers.test.js +0 -377
  1342. package/dist/__tests__/router-helpers.test.js.map +0 -1
  1343. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  1344. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  1345. package/dist/__tests__/router-integration-2.test.js +0 -426
  1346. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  1347. package/dist/__tests__/router-integration.test.d.ts +0 -2
  1348. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  1349. package/dist/__tests__/router-integration.test.js +0 -1051
  1350. package/dist/__tests__/router-integration.test.js.map +0 -1
  1351. package/dist/__tests__/search-params.test.d.ts +0 -5
  1352. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  1353. package/dist/__tests__/search-params.test.js +0 -306
  1354. package/dist/__tests__/search-params.test.js.map +0 -1
  1355. package/dist/__tests__/segment-system.test.d.ts +0 -2
  1356. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  1357. package/dist/__tests__/segment-system.test.js +0 -627
  1358. package/dist/__tests__/segment-system.test.js.map +0 -1
  1359. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  1360. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  1361. package/dist/__tests__/static-handler-types.test.js +0 -63
  1362. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  1363. package/dist/__tests__/urls.test.d.ts +0 -2
  1364. package/dist/__tests__/urls.test.d.ts.map +0 -1
  1365. package/dist/__tests__/urls.test.js +0 -421
  1366. package/dist/__tests__/urls.test.js.map +0 -1
  1367. package/dist/__tests__/use-mount.test.d.ts +0 -2
  1368. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  1369. package/dist/__tests__/use-mount.test.js +0 -35
  1370. package/dist/__tests__/use-mount.test.js.map +0 -1
  1371. package/dist/bin/rango.d.ts +0 -2
  1372. package/dist/bin/rango.d.ts.map +0 -1
  1373. package/dist/bin/rango.js.map +0 -1
  1374. package/dist/browser/event-controller.d.ts +0 -191
  1375. package/dist/browser/event-controller.d.ts.map +0 -1
  1376. package/dist/browser/event-controller.js +0 -559
  1377. package/dist/browser/event-controller.js.map +0 -1
  1378. package/dist/browser/index.d.ts +0 -2
  1379. package/dist/browser/index.d.ts.map +0 -1
  1380. package/dist/browser/index.js +0 -14
  1381. package/dist/browser/index.js.map +0 -1
  1382. package/dist/browser/link-interceptor.d.ts +0 -38
  1383. package/dist/browser/link-interceptor.d.ts.map +0 -1
  1384. package/dist/browser/link-interceptor.js +0 -99
  1385. package/dist/browser/link-interceptor.js.map +0 -1
  1386. package/dist/browser/logging.d.ts +0 -10
  1387. package/dist/browser/logging.d.ts.map +0 -1
  1388. package/dist/browser/logging.js +0 -29
  1389. package/dist/browser/logging.js.map +0 -1
  1390. package/dist/browser/lru-cache.d.ts +0 -17
  1391. package/dist/browser/lru-cache.d.ts.map +0 -1
  1392. package/dist/browser/lru-cache.js +0 -50
  1393. package/dist/browser/lru-cache.js.map +0 -1
  1394. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  1395. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  1396. package/dist/browser/merge-segment-loaders.js +0 -102
  1397. package/dist/browser/merge-segment-loaders.js.map +0 -1
  1398. package/dist/browser/navigation-bridge.d.ts +0 -102
  1399. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  1400. package/dist/browser/navigation-bridge.js +0 -708
  1401. package/dist/browser/navigation-bridge.js.map +0 -1
  1402. package/dist/browser/navigation-client.d.ts +0 -25
  1403. package/dist/browser/navigation-client.d.ts.map +0 -1
  1404. package/dist/browser/navigation-client.js +0 -157
  1405. package/dist/browser/navigation-client.js.map +0 -1
  1406. package/dist/browser/navigation-store.d.ts +0 -101
  1407. package/dist/browser/navigation-store.d.ts.map +0 -1
  1408. package/dist/browser/navigation-store.js +0 -625
  1409. package/dist/browser/navigation-store.js.map +0 -1
  1410. package/dist/browser/partial-update.d.ts +0 -75
  1411. package/dist/browser/partial-update.d.ts.map +0 -1
  1412. package/dist/browser/partial-update.js +0 -426
  1413. package/dist/browser/partial-update.js.map +0 -1
  1414. package/dist/browser/react/Link.d.ts +0 -86
  1415. package/dist/browser/react/Link.d.ts.map +0 -1
  1416. package/dist/browser/react/Link.js +0 -128
  1417. package/dist/browser/react/Link.js.map +0 -1
  1418. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  1419. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  1420. package/dist/browser/react/NavigationProvider.js +0 -216
  1421. package/dist/browser/react/NavigationProvider.js.map +0 -1
  1422. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  1423. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  1424. package/dist/browser/react/ScrollRestoration.js +0 -57
  1425. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  1426. package/dist/browser/react/context.d.ts +0 -46
  1427. package/dist/browser/react/context.d.ts.map +0 -1
  1428. package/dist/browser/react/context.js +0 -10
  1429. package/dist/browser/react/context.js.map +0 -1
  1430. package/dist/browser/react/index.d.ts +0 -11
  1431. package/dist/browser/react/index.d.ts.map +0 -1
  1432. package/dist/browser/react/index.js +0 -22
  1433. package/dist/browser/react/index.js.map +0 -1
  1434. package/dist/browser/react/location-state-shared.d.ts +0 -63
  1435. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  1436. package/dist/browser/react/location-state-shared.js +0 -81
  1437. package/dist/browser/react/location-state-shared.js.map +0 -1
  1438. package/dist/browser/react/location-state.d.ts +0 -23
  1439. package/dist/browser/react/location-state.d.ts.map +0 -1
  1440. package/dist/browser/react/location-state.js +0 -29
  1441. package/dist/browser/react/location-state.js.map +0 -1
  1442. package/dist/browser/react/mount-context.d.ts +0 -24
  1443. package/dist/browser/react/mount-context.d.ts.map +0 -1
  1444. package/dist/browser/react/mount-context.js +0 -24
  1445. package/dist/browser/react/mount-context.js.map +0 -1
  1446. package/dist/browser/react/use-action.d.ts +0 -64
  1447. package/dist/browser/react/use-action.d.ts.map +0 -1
  1448. package/dist/browser/react/use-action.js +0 -134
  1449. package/dist/browser/react/use-action.js.map +0 -1
  1450. package/dist/browser/react/use-client-cache.d.ts +0 -41
  1451. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  1452. package/dist/browser/react/use-client-cache.js +0 -39
  1453. package/dist/browser/react/use-client-cache.js.map +0 -1
  1454. package/dist/browser/react/use-handle.d.ts +0 -31
  1455. package/dist/browser/react/use-handle.d.ts.map +0 -1
  1456. package/dist/browser/react/use-handle.js +0 -144
  1457. package/dist/browser/react/use-handle.js.map +0 -1
  1458. package/dist/browser/react/use-href.d.ts +0 -33
  1459. package/dist/browser/react/use-href.d.ts.map +0 -1
  1460. package/dist/browser/react/use-href.js +0 -39
  1461. package/dist/browser/react/use-href.js.map +0 -1
  1462. package/dist/browser/react/use-link-status.d.ts +0 -37
  1463. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  1464. package/dist/browser/react/use-link-status.js +0 -99
  1465. package/dist/browser/react/use-link-status.js.map +0 -1
  1466. package/dist/browser/react/use-mount.d.ts +0 -25
  1467. package/dist/browser/react/use-mount.d.ts.map +0 -1
  1468. package/dist/browser/react/use-mount.js +0 -30
  1469. package/dist/browser/react/use-mount.js.map +0 -1
  1470. package/dist/browser/react/use-navigation.d.ts +0 -27
  1471. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  1472. package/dist/browser/react/use-navigation.js +0 -87
  1473. package/dist/browser/react/use-navigation.js.map +0 -1
  1474. package/dist/browser/react/use-segments.d.ts +0 -38
  1475. package/dist/browser/react/use-segments.d.ts.map +0 -1
  1476. package/dist/browser/react/use-segments.js +0 -130
  1477. package/dist/browser/react/use-segments.js.map +0 -1
  1478. package/dist/browser/request-controller.d.ts +0 -26
  1479. package/dist/browser/request-controller.d.ts.map +0 -1
  1480. package/dist/browser/request-controller.js +0 -147
  1481. package/dist/browser/request-controller.js.map +0 -1
  1482. package/dist/browser/rsc-router.d.ts +0 -129
  1483. package/dist/browser/rsc-router.d.ts.map +0 -1
  1484. package/dist/browser/rsc-router.js +0 -195
  1485. package/dist/browser/rsc-router.js.map +0 -1
  1486. package/dist/browser/scroll-restoration.d.ts +0 -93
  1487. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  1488. package/dist/browser/scroll-restoration.js +0 -321
  1489. package/dist/browser/scroll-restoration.js.map +0 -1
  1490. package/dist/browser/segment-structure-assert.d.ts +0 -17
  1491. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  1492. package/dist/browser/segment-structure-assert.js +0 -59
  1493. package/dist/browser/segment-structure-assert.js.map +0 -1
  1494. package/dist/browser/server-action-bridge.d.ts +0 -26
  1495. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  1496. package/dist/browser/server-action-bridge.js +0 -668
  1497. package/dist/browser/server-action-bridge.js.map +0 -1
  1498. package/dist/browser/shallow.d.ts +0 -12
  1499. package/dist/browser/shallow.d.ts.map +0 -1
  1500. package/dist/browser/shallow.js +0 -34
  1501. package/dist/browser/shallow.js.map +0 -1
  1502. package/dist/browser/types.d.ts +0 -369
  1503. package/dist/browser/types.d.ts.map +0 -1
  1504. package/dist/browser/types.js +0 -2
  1505. package/dist/browser/types.js.map +0 -1
  1506. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  1507. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  1508. package/dist/build/__tests__/generate-cli.test.js +0 -237
  1509. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  1510. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  1511. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  1512. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  1513. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  1514. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  1515. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  1516. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  1517. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  1518. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  1519. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  1520. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  1521. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  1522. package/dist/build/generate-manifest.d.ts +0 -81
  1523. package/dist/build/generate-manifest.d.ts.map +0 -1
  1524. package/dist/build/generate-manifest.js +0 -276
  1525. package/dist/build/generate-manifest.js.map +0 -1
  1526. package/dist/build/generate-route-types.d.ts +0 -115
  1527. package/dist/build/generate-route-types.d.ts.map +0 -1
  1528. package/dist/build/generate-route-types.js +0 -740
  1529. package/dist/build/generate-route-types.js.map +0 -1
  1530. package/dist/build/index.d.ts +0 -21
  1531. package/dist/build/index.d.ts.map +0 -1
  1532. package/dist/build/index.js +0 -21
  1533. package/dist/build/index.js.map +0 -1
  1534. package/dist/build/route-trie.d.ts +0 -71
  1535. package/dist/build/route-trie.d.ts.map +0 -1
  1536. package/dist/build/route-trie.js +0 -175
  1537. package/dist/build/route-trie.js.map +0 -1
  1538. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  1539. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  1540. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  1541. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  1542. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  1543. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  1544. package/dist/cache/__tests__/document-cache.test.js +0 -345
  1545. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  1546. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  1547. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  1548. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  1549. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  1550. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  1551. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  1552. package/dist/cache/__tests__/memory-store.test.js +0 -367
  1553. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  1554. package/dist/cache/cache-scope.d.ts +0 -102
  1555. package/dist/cache/cache-scope.d.ts.map +0 -1
  1556. package/dist/cache/cache-scope.js +0 -440
  1557. package/dist/cache/cache-scope.js.map +0 -1
  1558. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  1559. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  1560. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  1561. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  1562. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  1563. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  1564. package/dist/cache/cf/cf-cache-store.js +0 -242
  1565. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  1566. package/dist/cache/cf/index.d.ts +0 -14
  1567. package/dist/cache/cf/index.d.ts.map +0 -1
  1568. package/dist/cache/cf/index.js +0 -17
  1569. package/dist/cache/cf/index.js.map +0 -1
  1570. package/dist/cache/document-cache.d.ts +0 -64
  1571. package/dist/cache/document-cache.d.ts.map +0 -1
  1572. package/dist/cache/document-cache.js +0 -228
  1573. package/dist/cache/document-cache.js.map +0 -1
  1574. package/dist/cache/index.d.ts +0 -19
  1575. package/dist/cache/index.d.ts.map +0 -1
  1576. package/dist/cache/index.js +0 -21
  1577. package/dist/cache/index.js.map +0 -1
  1578. package/dist/cache/memory-segment-store.d.ts +0 -110
  1579. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  1580. package/dist/cache/memory-segment-store.js +0 -117
  1581. package/dist/cache/memory-segment-store.js.map +0 -1
  1582. package/dist/cache/memory-store.d.ts +0 -41
  1583. package/dist/cache/memory-store.d.ts.map +0 -1
  1584. package/dist/cache/memory-store.js +0 -191
  1585. package/dist/cache/memory-store.js.map +0 -1
  1586. package/dist/cache/types.d.ts +0 -317
  1587. package/dist/cache/types.d.ts.map +0 -1
  1588. package/dist/cache/types.js +0 -12
  1589. package/dist/cache/types.js.map +0 -1
  1590. package/dist/client.d.ts +0 -248
  1591. package/dist/client.d.ts.map +0 -1
  1592. package/dist/client.js +0 -367
  1593. package/dist/client.js.map +0 -1
  1594. package/dist/client.rsc.d.ts +0 -26
  1595. package/dist/client.rsc.d.ts.map +0 -1
  1596. package/dist/client.rsc.js +0 -46
  1597. package/dist/client.rsc.js.map +0 -1
  1598. package/dist/component-utils.d.ts +0 -36
  1599. package/dist/component-utils.d.ts.map +0 -1
  1600. package/dist/component-utils.js +0 -61
  1601. package/dist/component-utils.js.map +0 -1
  1602. package/dist/components/DefaultDocument.d.ts +0 -13
  1603. package/dist/components/DefaultDocument.d.ts.map +0 -1
  1604. package/dist/components/DefaultDocument.js +0 -15
  1605. package/dist/components/DefaultDocument.js.map +0 -1
  1606. package/dist/debug.d.ts +0 -58
  1607. package/dist/debug.d.ts.map +0 -1
  1608. package/dist/debug.js +0 -157
  1609. package/dist/debug.js.map +0 -1
  1610. package/dist/default-error-boundary.d.ts +0 -11
  1611. package/dist/default-error-boundary.d.ts.map +0 -1
  1612. package/dist/default-error-boundary.js +0 -45
  1613. package/dist/default-error-boundary.js.map +0 -1
  1614. package/dist/deps/browser.d.ts +0 -2
  1615. package/dist/deps/browser.d.ts.map +0 -1
  1616. package/dist/deps/browser.js +0 -3
  1617. package/dist/deps/browser.js.map +0 -1
  1618. package/dist/deps/html-stream-client.d.ts +0 -2
  1619. package/dist/deps/html-stream-client.d.ts.map +0 -1
  1620. package/dist/deps/html-stream-client.js +0 -3
  1621. package/dist/deps/html-stream-client.js.map +0 -1
  1622. package/dist/deps/html-stream-server.d.ts +0 -2
  1623. package/dist/deps/html-stream-server.d.ts.map +0 -1
  1624. package/dist/deps/html-stream-server.js +0 -3
  1625. package/dist/deps/html-stream-server.js.map +0 -1
  1626. package/dist/deps/rsc.d.ts +0 -2
  1627. package/dist/deps/rsc.d.ts.map +0 -1
  1628. package/dist/deps/rsc.js +0 -4
  1629. package/dist/deps/rsc.js.map +0 -1
  1630. package/dist/deps/ssr.d.ts +0 -2
  1631. package/dist/deps/ssr.d.ts.map +0 -1
  1632. package/dist/deps/ssr.js +0 -3
  1633. package/dist/deps/ssr.js.map +0 -1
  1634. package/dist/errors.d.ts +0 -174
  1635. package/dist/errors.d.ts.map +0 -1
  1636. package/dist/errors.js +0 -241
  1637. package/dist/errors.js.map +0 -1
  1638. package/dist/handle.d.ts +0 -78
  1639. package/dist/handle.d.ts.map +0 -1
  1640. package/dist/handle.js +0 -82
  1641. package/dist/handle.js.map +0 -1
  1642. package/dist/handles/MetaTags.d.ts +0 -14
  1643. package/dist/handles/MetaTags.d.ts.map +0 -1
  1644. package/dist/handles/MetaTags.js +0 -136
  1645. package/dist/handles/MetaTags.js.map +0 -1
  1646. package/dist/handles/index.d.ts +0 -6
  1647. package/dist/handles/index.d.ts.map +0 -1
  1648. package/dist/handles/index.js +0 -6
  1649. package/dist/handles/index.js.map +0 -1
  1650. package/dist/handles/meta.d.ts +0 -39
  1651. package/dist/handles/meta.d.ts.map +0 -1
  1652. package/dist/handles/meta.js +0 -202
  1653. package/dist/handles/meta.js.map +0 -1
  1654. package/dist/host/__tests__/errors.test.d.ts +0 -2
  1655. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  1656. package/dist/host/__tests__/errors.test.js +0 -76
  1657. package/dist/host/__tests__/errors.test.js.map +0 -1
  1658. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  1659. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  1660. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  1661. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  1662. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  1663. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  1664. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  1665. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  1666. package/dist/host/__tests__/router.test.d.ts +0 -2
  1667. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  1668. package/dist/host/__tests__/router.test.js +0 -241
  1669. package/dist/host/__tests__/router.test.js.map +0 -1
  1670. package/dist/host/__tests__/testing.test.d.ts +0 -2
  1671. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  1672. package/dist/host/__tests__/testing.test.js +0 -64
  1673. package/dist/host/__tests__/testing.test.js.map +0 -1
  1674. package/dist/host/__tests__/utils.test.d.ts +0 -2
  1675. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  1676. package/dist/host/__tests__/utils.test.js +0 -29
  1677. package/dist/host/__tests__/utils.test.js.map +0 -1
  1678. package/dist/host/cookie-handler.d.ts +0 -34
  1679. package/dist/host/cookie-handler.d.ts.map +0 -1
  1680. package/dist/host/cookie-handler.js +0 -124
  1681. package/dist/host/cookie-handler.js.map +0 -1
  1682. package/dist/host/errors.d.ts +0 -56
  1683. package/dist/host/errors.d.ts.map +0 -1
  1684. package/dist/host/errors.js +0 -79
  1685. package/dist/host/errors.js.map +0 -1
  1686. package/dist/host/index.d.ts +0 -29
  1687. package/dist/host/index.d.ts.map +0 -1
  1688. package/dist/host/index.js +0 -32
  1689. package/dist/host/index.js.map +0 -1
  1690. package/dist/host/pattern-matcher.d.ts +0 -36
  1691. package/dist/host/pattern-matcher.d.ts.map +0 -1
  1692. package/dist/host/pattern-matcher.js +0 -172
  1693. package/dist/host/pattern-matcher.js.map +0 -1
  1694. package/dist/host/router.d.ts +0 -26
  1695. package/dist/host/router.d.ts.map +0 -1
  1696. package/dist/host/router.js +0 -218
  1697. package/dist/host/router.js.map +0 -1
  1698. package/dist/host/testing.d.ts +0 -36
  1699. package/dist/host/testing.d.ts.map +0 -1
  1700. package/dist/host/testing.js +0 -55
  1701. package/dist/host/testing.js.map +0 -1
  1702. package/dist/host/types.d.ts +0 -115
  1703. package/dist/host/types.d.ts.map +0 -1
  1704. package/dist/host/types.js +0 -7
  1705. package/dist/host/types.js.map +0 -1
  1706. package/dist/host/utils.d.ts +0 -21
  1707. package/dist/host/utils.d.ts.map +0 -1
  1708. package/dist/host/utils.js +0 -23
  1709. package/dist/host/utils.js.map +0 -1
  1710. package/dist/href-client.d.ts +0 -131
  1711. package/dist/href-client.d.ts.map +0 -1
  1712. package/dist/href-client.js +0 -64
  1713. package/dist/href-client.js.map +0 -1
  1714. package/dist/href-context.d.ts +0 -29
  1715. package/dist/href-context.d.ts.map +0 -1
  1716. package/dist/href-context.js +0 -21
  1717. package/dist/href-context.js.map +0 -1
  1718. package/dist/index.d.ts +0 -73
  1719. package/dist/index.d.ts.map +0 -1
  1720. package/dist/index.js +0 -91
  1721. package/dist/index.js.map +0 -1
  1722. package/dist/index.rsc.d.ts +0 -32
  1723. package/dist/index.rsc.d.ts.map +0 -1
  1724. package/dist/index.rsc.js +0 -40
  1725. package/dist/index.rsc.js.map +0 -1
  1726. package/dist/internal-debug.d.ts +0 -2
  1727. package/dist/internal-debug.d.ts.map +0 -1
  1728. package/dist/internal-debug.js +0 -5
  1729. package/dist/internal-debug.js.map +0 -1
  1730. package/dist/loader.d.ts +0 -14
  1731. package/dist/loader.d.ts.map +0 -1
  1732. package/dist/loader.js +0 -20
  1733. package/dist/loader.js.map +0 -1
  1734. package/dist/loader.rsc.d.ts +0 -19
  1735. package/dist/loader.rsc.d.ts.map +0 -1
  1736. package/dist/loader.rsc.js +0 -99
  1737. package/dist/loader.rsc.js.map +0 -1
  1738. package/dist/network-error-thrower.d.ts +0 -17
  1739. package/dist/network-error-thrower.d.ts.map +0 -1
  1740. package/dist/network-error-thrower.js +0 -14
  1741. package/dist/network-error-thrower.js.map +0 -1
  1742. package/dist/outlet-context.d.ts +0 -13
  1743. package/dist/outlet-context.d.ts.map +0 -1
  1744. package/dist/outlet-context.js +0 -3
  1745. package/dist/outlet-context.js.map +0 -1
  1746. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  1747. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  1748. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  1749. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  1750. package/dist/prerender/param-hash.d.ts +0 -16
  1751. package/dist/prerender/param-hash.d.ts.map +0 -1
  1752. package/dist/prerender/param-hash.js +0 -36
  1753. package/dist/prerender/param-hash.js.map +0 -1
  1754. package/dist/prerender/store.d.ts +0 -38
  1755. package/dist/prerender/store.d.ts.map +0 -1
  1756. package/dist/prerender/store.js +0 -61
  1757. package/dist/prerender/store.js.map +0 -1
  1758. package/dist/prerender.d.ts +0 -66
  1759. package/dist/prerender.d.ts.map +0 -1
  1760. package/dist/prerender.js +0 -57
  1761. package/dist/prerender.js.map +0 -1
  1762. package/dist/reverse.d.ts +0 -196
  1763. package/dist/reverse.d.ts.map +0 -1
  1764. package/dist/reverse.js +0 -78
  1765. package/dist/reverse.js.map +0 -1
  1766. package/dist/root-error-boundary.d.ts +0 -33
  1767. package/dist/root-error-boundary.d.ts.map +0 -1
  1768. package/dist/root-error-boundary.js +0 -165
  1769. package/dist/root-error-boundary.js.map +0 -1
  1770. package/dist/route-content-wrapper.d.ts +0 -46
  1771. package/dist/route-content-wrapper.d.ts.map +0 -1
  1772. package/dist/route-content-wrapper.js +0 -77
  1773. package/dist/route-content-wrapper.js.map +0 -1
  1774. package/dist/route-definition.d.ts +0 -421
  1775. package/dist/route-definition.d.ts.map +0 -1
  1776. package/dist/route-definition.js +0 -868
  1777. package/dist/route-definition.js.map +0 -1
  1778. package/dist/route-map-builder.d.ts +0 -155
  1779. package/dist/route-map-builder.d.ts.map +0 -1
  1780. package/dist/route-map-builder.js +0 -237
  1781. package/dist/route-map-builder.js.map +0 -1
  1782. package/dist/route-types.d.ts +0 -165
  1783. package/dist/route-types.d.ts.map +0 -1
  1784. package/dist/route-types.js +0 -7
  1785. package/dist/route-types.js.map +0 -1
  1786. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  1787. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  1788. package/dist/router/__tests__/handler-context.test.js +0 -65
  1789. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  1790. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  1791. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  1792. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  1793. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  1794. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  1795. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  1796. package/dist/router/__tests__/match-context.test.js +0 -92
  1797. package/dist/router/__tests__/match-context.test.js.map +0 -1
  1798. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  1799. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  1800. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  1801. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  1802. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  1803. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  1804. package/dist/router/__tests__/match-result.test.js +0 -457
  1805. package/dist/router/__tests__/match-result.test.js.map +0 -1
  1806. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  1807. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  1808. package/dist/router/__tests__/on-error.test.js +0 -678
  1809. package/dist/router/__tests__/on-error.test.js.map +0 -1
  1810. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  1811. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  1812. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  1813. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  1814. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  1815. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  1816. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  1817. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  1818. package/dist/router/error-handling.d.ts +0 -77
  1819. package/dist/router/error-handling.d.ts.map +0 -1
  1820. package/dist/router/error-handling.js +0 -202
  1821. package/dist/router/error-handling.js.map +0 -1
  1822. package/dist/router/handler-context.d.ts +0 -20
  1823. package/dist/router/handler-context.d.ts.map +0 -1
  1824. package/dist/router/handler-context.js +0 -198
  1825. package/dist/router/handler-context.js.map +0 -1
  1826. package/dist/router/intercept-resolution.d.ts +0 -66
  1827. package/dist/router/intercept-resolution.d.ts.map +0 -1
  1828. package/dist/router/intercept-resolution.js +0 -246
  1829. package/dist/router/intercept-resolution.js.map +0 -1
  1830. package/dist/router/loader-resolution.d.ts +0 -64
  1831. package/dist/router/loader-resolution.d.ts.map +0 -1
  1832. package/dist/router/loader-resolution.js +0 -284
  1833. package/dist/router/loader-resolution.js.map +0 -1
  1834. package/dist/router/logging.d.ts +0 -15
  1835. package/dist/router/logging.d.ts.map +0 -1
  1836. package/dist/router/logging.js +0 -99
  1837. package/dist/router/logging.js.map +0 -1
  1838. package/dist/router/manifest.d.ts +0 -22
  1839. package/dist/router/manifest.d.ts.map +0 -1
  1840. package/dist/router/manifest.js +0 -181
  1841. package/dist/router/manifest.js.map +0 -1
  1842. package/dist/router/match-api.d.ts +0 -35
  1843. package/dist/router/match-api.d.ts.map +0 -1
  1844. package/dist/router/match-api.js +0 -406
  1845. package/dist/router/match-api.js.map +0 -1
  1846. package/dist/router/match-context.d.ts +0 -206
  1847. package/dist/router/match-context.d.ts.map +0 -1
  1848. package/dist/router/match-context.js +0 -17
  1849. package/dist/router/match-context.js.map +0 -1
  1850. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  1851. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  1852. package/dist/router/match-middleware/background-revalidation.js +0 -75
  1853. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  1854. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  1855. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  1856. package/dist/router/match-middleware/cache-lookup.js +0 -257
  1857. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  1858. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  1859. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  1860. package/dist/router/match-middleware/cache-store.js +0 -108
  1861. package/dist/router/match-middleware/cache-store.js.map +0 -1
  1862. package/dist/router/match-middleware/index.d.ts +0 -81
  1863. package/dist/router/match-middleware/index.d.ts.map +0 -1
  1864. package/dist/router/match-middleware/index.js +0 -80
  1865. package/dist/router/match-middleware/index.js.map +0 -1
  1866. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  1867. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  1868. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  1869. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  1870. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  1871. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  1872. package/dist/router/match-middleware/segment-resolution.js +0 -53
  1873. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  1874. package/dist/router/match-pipelines.d.ts +0 -147
  1875. package/dist/router/match-pipelines.d.ts.map +0 -1
  1876. package/dist/router/match-pipelines.js +0 -82
  1877. package/dist/router/match-pipelines.js.map +0 -1
  1878. package/dist/router/match-result.d.ts +0 -126
  1879. package/dist/router/match-result.d.ts.map +0 -1
  1880. package/dist/router/match-result.js +0 -93
  1881. package/dist/router/match-result.js.map +0 -1
  1882. package/dist/router/metrics.d.ts +0 -20
  1883. package/dist/router/metrics.d.ts.map +0 -1
  1884. package/dist/router/metrics.js +0 -47
  1885. package/dist/router/metrics.js.map +0 -1
  1886. package/dist/router/middleware.d.ts +0 -249
  1887. package/dist/router/middleware.d.ts.map +0 -1
  1888. package/dist/router/middleware.js +0 -434
  1889. package/dist/router/middleware.js.map +0 -1
  1890. package/dist/router/middleware.test.d.ts +0 -2
  1891. package/dist/router/middleware.test.d.ts.map +0 -1
  1892. package/dist/router/middleware.test.js +0 -816
  1893. package/dist/router/middleware.test.js.map +0 -1
  1894. package/dist/router/pattern-matching.d.ts +0 -149
  1895. package/dist/router/pattern-matching.d.ts.map +0 -1
  1896. package/dist/router/pattern-matching.js +0 -349
  1897. package/dist/router/pattern-matching.js.map +0 -1
  1898. package/dist/router/revalidation.d.ts +0 -44
  1899. package/dist/router/revalidation.d.ts.map +0 -1
  1900. package/dist/router/revalidation.js +0 -147
  1901. package/dist/router/revalidation.js.map +0 -1
  1902. package/dist/router/router-context.d.ts +0 -135
  1903. package/dist/router/router-context.d.ts.map +0 -1
  1904. package/dist/router/router-context.js +0 -36
  1905. package/dist/router/router-context.js.map +0 -1
  1906. package/dist/router/segment-resolution.d.ts +0 -127
  1907. package/dist/router/segment-resolution.d.ts.map +0 -1
  1908. package/dist/router/segment-resolution.js +0 -919
  1909. package/dist/router/segment-resolution.js.map +0 -1
  1910. package/dist/router/trie-matching.d.ts +0 -40
  1911. package/dist/router/trie-matching.d.ts.map +0 -1
  1912. package/dist/router/trie-matching.js +0 -127
  1913. package/dist/router/trie-matching.js.map +0 -1
  1914. package/dist/router/types.d.ts +0 -136
  1915. package/dist/router/types.d.ts.map +0 -1
  1916. package/dist/router/types.js +0 -7
  1917. package/dist/router/types.js.map +0 -1
  1918. package/dist/router.d.ts +0 -753
  1919. package/dist/router.d.ts.map +0 -1
  1920. package/dist/router.gen.d.ts +0 -6
  1921. package/dist/router.gen.d.ts.map +0 -1
  1922. package/dist/router.gen.js +0 -6
  1923. package/dist/router.gen.js.map +0 -1
  1924. package/dist/router.js +0 -1304
  1925. package/dist/router.js.map +0 -1
  1926. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  1927. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  1928. package/dist/rsc/__tests__/helpers.test.js +0 -140
  1929. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  1930. package/dist/rsc/handler.d.ts +0 -45
  1931. package/dist/rsc/handler.d.ts.map +0 -1
  1932. package/dist/rsc/handler.js +0 -1172
  1933. package/dist/rsc/handler.js.map +0 -1
  1934. package/dist/rsc/helpers.d.ts +0 -16
  1935. package/dist/rsc/helpers.d.ts.map +0 -1
  1936. package/dist/rsc/helpers.js +0 -55
  1937. package/dist/rsc/helpers.js.map +0 -1
  1938. package/dist/rsc/index.d.ts +0 -22
  1939. package/dist/rsc/index.d.ts.map +0 -1
  1940. package/dist/rsc/index.js +0 -23
  1941. package/dist/rsc/index.js.map +0 -1
  1942. package/dist/rsc/nonce.d.ts +0 -9
  1943. package/dist/rsc/nonce.d.ts.map +0 -1
  1944. package/dist/rsc/nonce.js +0 -18
  1945. package/dist/rsc/nonce.js.map +0 -1
  1946. package/dist/rsc/types.d.ts +0 -206
  1947. package/dist/rsc/types.d.ts.map +0 -1
  1948. package/dist/rsc/types.js +0 -8
  1949. package/dist/rsc/types.js.map +0 -1
  1950. package/dist/search-params.d.ts +0 -103
  1951. package/dist/search-params.d.ts.map +0 -1
  1952. package/dist/search-params.js +0 -74
  1953. package/dist/search-params.js.map +0 -1
  1954. package/dist/segment-system.d.ts +0 -75
  1955. package/dist/segment-system.d.ts.map +0 -1
  1956. package/dist/segment-system.js +0 -336
  1957. package/dist/segment-system.js.map +0 -1
  1958. package/dist/server/context.d.ts +0 -245
  1959. package/dist/server/context.d.ts.map +0 -1
  1960. package/dist/server/context.js +0 -197
  1961. package/dist/server/context.js.map +0 -1
  1962. package/dist/server/fetchable-loader-store.d.ts +0 -18
  1963. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  1964. package/dist/server/fetchable-loader-store.js +0 -18
  1965. package/dist/server/fetchable-loader-store.js.map +0 -1
  1966. package/dist/server/handle-store.d.ts +0 -85
  1967. package/dist/server/handle-store.d.ts.map +0 -1
  1968. package/dist/server/handle-store.js +0 -142
  1969. package/dist/server/handle-store.js.map +0 -1
  1970. package/dist/server/loader-registry.d.ts +0 -55
  1971. package/dist/server/loader-registry.d.ts.map +0 -1
  1972. package/dist/server/loader-registry.js +0 -132
  1973. package/dist/server/loader-registry.js.map +0 -1
  1974. package/dist/server/request-context.d.ts +0 -226
  1975. package/dist/server/request-context.d.ts.map +0 -1
  1976. package/dist/server/request-context.js +0 -290
  1977. package/dist/server/request-context.js.map +0 -1
  1978. package/dist/server/root-layout.d.ts +0 -4
  1979. package/dist/server/root-layout.d.ts.map +0 -1
  1980. package/dist/server/root-layout.js +0 -5
  1981. package/dist/server/root-layout.js.map +0 -1
  1982. package/dist/server.d.ts +0 -15
  1983. package/dist/server.d.ts.map +0 -1
  1984. package/dist/server.js +0 -20
  1985. package/dist/server.js.map +0 -1
  1986. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  1987. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  1988. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  1989. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  1990. package/dist/ssr/index.d.ts +0 -98
  1991. package/dist/ssr/index.d.ts.map +0 -1
  1992. package/dist/ssr/index.js +0 -158
  1993. package/dist/ssr/index.js.map +0 -1
  1994. package/dist/static-handler.d.ts +0 -50
  1995. package/dist/static-handler.d.ts.map +0 -1
  1996. package/dist/static-handler.gen.d.ts +0 -5
  1997. package/dist/static-handler.gen.d.ts.map +0 -1
  1998. package/dist/static-handler.gen.js +0 -5
  1999. package/dist/static-handler.gen.js.map +0 -1
  2000. package/dist/static-handler.js +0 -29
  2001. package/dist/static-handler.js.map +0 -1
  2002. package/dist/theme/ThemeProvider.d.ts +0 -20
  2003. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  2004. package/dist/theme/ThemeProvider.js +0 -240
  2005. package/dist/theme/ThemeProvider.js.map +0 -1
  2006. package/dist/theme/ThemeScript.d.ts +0 -48
  2007. package/dist/theme/ThemeScript.d.ts.map +0 -1
  2008. package/dist/theme/ThemeScript.js +0 -13
  2009. package/dist/theme/ThemeScript.js.map +0 -1
  2010. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  2011. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  2012. package/dist/theme/__tests__/theme.test.js +0 -103
  2013. package/dist/theme/__tests__/theme.test.js.map +0 -1
  2014. package/dist/theme/constants.d.ts +0 -29
  2015. package/dist/theme/constants.d.ts.map +0 -1
  2016. package/dist/theme/constants.js +0 -48
  2017. package/dist/theme/constants.js.map +0 -1
  2018. package/dist/theme/index.d.ts +0 -31
  2019. package/dist/theme/index.d.ts.map +0 -1
  2020. package/dist/theme/index.js +0 -36
  2021. package/dist/theme/index.js.map +0 -1
  2022. package/dist/theme/theme-context.d.ts +0 -40
  2023. package/dist/theme/theme-context.d.ts.map +0 -1
  2024. package/dist/theme/theme-context.js +0 -60
  2025. package/dist/theme/theme-context.js.map +0 -1
  2026. package/dist/theme/theme-script.d.ts +0 -27
  2027. package/dist/theme/theme-script.d.ts.map +0 -1
  2028. package/dist/theme/theme-script.js +0 -147
  2029. package/dist/theme/theme-script.js.map +0 -1
  2030. package/dist/theme/types.d.ts +0 -163
  2031. package/dist/theme/types.d.ts.map +0 -1
  2032. package/dist/theme/types.js +0 -11
  2033. package/dist/theme/types.js.map +0 -1
  2034. package/dist/theme/use-theme.d.ts +0 -12
  2035. package/dist/theme/use-theme.d.ts.map +0 -1
  2036. package/dist/theme/use-theme.js +0 -40
  2037. package/dist/theme/use-theme.js.map +0 -1
  2038. package/dist/types.d.ts +0 -1479
  2039. package/dist/types.d.ts.map +0 -1
  2040. package/dist/types.js +0 -10
  2041. package/dist/types.js.map +0 -1
  2042. package/dist/urls.d.ts +0 -441
  2043. package/dist/urls.d.ts.map +0 -1
  2044. package/dist/urls.gen.d.ts +0 -8
  2045. package/dist/urls.gen.d.ts.map +0 -1
  2046. package/dist/urls.gen.js +0 -8
  2047. package/dist/urls.gen.js.map +0 -1
  2048. package/dist/urls.js +0 -443
  2049. package/dist/urls.js.map +0 -1
  2050. package/dist/use-loader.d.ts +0 -127
  2051. package/dist/use-loader.d.ts.map +0 -1
  2052. package/dist/use-loader.js +0 -237
  2053. package/dist/use-loader.js.map +0 -1
  2054. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  2055. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  2056. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  2057. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  2058. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  2059. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  2060. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  2061. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  2062. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  2063. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  2064. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  2065. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  2066. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  2067. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  2068. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  2069. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  2070. package/dist/vite/ast-handler-extract.d.ts +0 -49
  2071. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  2072. package/dist/vite/ast-handler-extract.js +0 -249
  2073. package/dist/vite/ast-handler-extract.js.map +0 -1
  2074. package/dist/vite/expose-action-id.d.ts +0 -19
  2075. package/dist/vite/expose-action-id.d.ts.map +0 -1
  2076. package/dist/vite/expose-action-id.js +0 -250
  2077. package/dist/vite/expose-action-id.js.map +0 -1
  2078. package/dist/vite/expose-id-utils.d.ts +0 -69
  2079. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  2080. package/dist/vite/expose-id-utils.js +0 -289
  2081. package/dist/vite/expose-id-utils.js.map +0 -1
  2082. package/dist/vite/expose-internal-ids.d.ts +0 -22
  2083. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  2084. package/dist/vite/expose-internal-ids.js +0 -886
  2085. package/dist/vite/expose-internal-ids.js.map +0 -1
  2086. package/dist/vite/index.d.ts +0 -149
  2087. package/dist/vite/index.d.ts.map +0 -1
  2088. package/dist/vite/index.js.bak +0 -5448
  2089. package/dist/vite/index.js.map +0 -1
  2090. package/dist/vite/index.named-routes.gen.ts +0 -103
  2091. package/dist/vite/package-resolution.d.ts +0 -43
  2092. package/dist/vite/package-resolution.d.ts.map +0 -1
  2093. package/dist/vite/package-resolution.js +0 -112
  2094. package/dist/vite/package-resolution.js.map +0 -1
  2095. package/dist/vite/virtual-entries.d.ts +0 -25
  2096. package/dist/vite/virtual-entries.d.ts.map +0 -1
  2097. package/dist/vite/virtual-entries.js +0 -110
  2098. package/dist/vite/virtual-entries.js.map +0 -1
  2099. package/src/browser/action-response-classifier.ts +0 -99
  2100. package/src/browser/react/use-client-cache.ts +0 -58
  2101. package/src/browser/shallow.ts +0 -40
  2102. package/src/handles/index.ts +0 -7
  2103. package/src/network-error-thrower.tsx +0 -23
  2104. package/src/router/middleware-cookies.ts +0 -55
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: loader
3
- description: Define data loaders for fetching data in routes with createLoader
4
- argument-hint: [loader]
3
+ description: Define data loaders for fetching data in routes with createLoader. Use when pages need per-request data that stays fresh, data should stream while the page renders, client components need reactive server data, a loader should throw notFound()/redirect(), set page meta/breadcrumbs from loader data (handle writes), or loader data must be guaranteed in the SSR'd document (stream:"navigation").
4
+ argument-hint: "[loader]"
5
5
  ---
6
6
 
7
7
  # Data Loaders with loader()
@@ -11,6 +11,13 @@ Loaders fetch data on the server and stream it to the client. For mutations
11
11
  `/server-actions`. Loaders re-resolve after an action runs, so the typical
12
12
  flow is _action mutates → loader re-reads → UI updates_.
13
13
 
14
+ ## Not this skill if…
15
+
16
+ - You want to mutate state — mutations are `"use server"` actions: see
17
+ `/server-actions`. Loaders read per-request live data.
18
+ - You want to cache a function's return value — loaders are fresh every request
19
+ by default; caching one function is `"use cache"`: see `/use-cache`.
20
+
14
21
  ## Creating a Loader
15
22
 
16
23
  ```typescript
@@ -91,6 +98,20 @@ path("/product/:slug", ProductPage, { name: "product" }, () => [
91
98
  ]);
92
99
  ```
93
100
 
101
+ > **Client refresh `key` vs. server `cache({ key })` vs. `revalidate()`.** Three
102
+ > different "what refreshes" knobs that are easy to confuse:
103
+ >
104
+ > - `useLoader(Loader, { key })` / `useFetchLoader(Loader, { key })` — a
105
+ > **client** refresh identity. It groups which mounted reads of one loader
106
+ > refresh together when one calls `load()`. It never touches the server
107
+ > request. For refreshing **different** loaders together, tag them with
108
+ > `{ refreshGroup }` (one name or several) and call `useRefreshLoaders()(name)`
109
+ > (plain GET only). See the hooks skill ("Scoping refetch with a `key`" and
110
+ > "Refreshing multiple loaders together").
111
+ > - `cache({ key })` — a **server** cache identity (storage hit/miss/ttl/swr).
112
+ > - `revalidate()` — which **server** segments/loaders recompute during
113
+ > navigation and action refreshes.
114
+
94
115
  DSL loaders are the **live data layer** — they resolve fresh on every
95
116
  request, even when the route is inside a `cache()` boundary. The router
96
117
  excludes them from the segment cache at storage time and re-resolves them
@@ -126,6 +147,11 @@ same memoized result — loaders never run twice per request.
126
147
  - The handler output depends on the loader data. If the route is inside
127
148
  `cache()`, the handler is cached with the loader result baked in —
128
149
  defeating the live data guarantee.
150
+ - The same holds under a PPR shell capture (`/ppr`): handler consumption is
151
+ the BAKED lane — the loader executes at capture (identity reads permitted)
152
+ and the rendered value is a capture-time copy; `useLoader` client-side is
153
+ the live lane. One rule across `cache()`, `"use cache"`, and PPR: the
154
+ consumption-lane rule (`/rango` → Invariants).
129
155
  - Non-cacheable variable reads (`createVar({ cache: false })`) inside the
130
156
  handler still throw, even if the data came from a loader.
131
157
  - Prefer DSL `loader()` + client `useLoader()` for data that depends on
@@ -146,23 +172,23 @@ Loaders receive the same context shape as route handlers.
146
172
 
147
173
  ### Full field surface
148
174
 
149
- | Field | Type | Notes |
150
- | -------------- | ------------------------------ | --------------------------------------------------------------------------------------------------- |
151
- | `params` | `TParams` | Merged route + explicit loader params; overridable by fetchable `load({ params })`. |
152
- | `routeParams` | `Record<string, string>` | Server-trusted route params from URL pattern matching; cannot be overridden. |
153
- | `request` | `Request` | The incoming `Request` (headers, method, body, `signal` for abort). |
154
- | `url` | `URL` | Parsed request URL. |
155
- | `pathname` | `string` | URL pathname (shortcut for `ctx.url.pathname`). |
156
- | `searchParams` | `URLSearchParams` | Shortcut for `ctx.url.searchParams`. |
157
- | `search` | `ResolveSearchSchema<TSearch>` | Typed query params when a search schema is declared on the route; `{}` otherwise. |
158
- | `env` | `TEnv` | Plain bindings from `createRouter<TEnv>()` (DB, KV, secrets, etc.). |
159
- | `get` | `(key \| ContextVar) => value` | Reads variables/context-vars set by middleware. |
160
- | `use` | `(loader \| handle) => T` | Access another loader's data (Promise) or a handle's collected data (after `await ctx.rendered()`). |
161
- | `rendered` | `() => Promise<void>` | **Experimental.** DSL loaders only — waits for non-loader segments before reading handle data. |
162
- | `method` | `string` | HTTP method. `"GET"` for SSR loader runs; reflects real method for fetchable loaders. |
163
- | `body` | `TBody \| undefined` | Parsed request body for fetchable POST/PUT/PATCH/DELETE calls. |
164
- | `formData` | `FormData \| undefined` | Present when a fetchable loader is invoked via form submission. |
165
- | `reverse` | `ScopedReverseFunction` | Generate type-checked URLs from route names (same scoped semantics as route handlers). |
175
+ | Field | Type | Notes |
176
+ | -------------- | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
177
+ | `params` | `TParams` | Merged route + explicit loader params; overridable by fetchable `load({ params })`. |
178
+ | `routeParams` | `Record<string, string>` | Server-trusted route params from URL pattern matching; cannot be overridden. |
179
+ | `request` | `Request` | The incoming `Request` (headers, method, body, `signal` for abort). |
180
+ | `url` | `URL` | Parsed request URL. |
181
+ | `pathname` | `string` | URL pathname (shortcut for `ctx.url.pathname`). |
182
+ | `searchParams` | `URLSearchParams` | Shortcut for `ctx.url.searchParams`. |
183
+ | `search` | `ResolveSearchSchema<TSearch>` | Typed query params when a search schema is declared on the route; `{}` otherwise. |
184
+ | `env` | `TEnv` | Plain bindings from `createRouter<TEnv>()` (DB, KV, secrets, etc.). |
185
+ | `get` | `(key \| ContextVar \| handle)` | Reads middleware variables/context-vars — or READS a handle's collected data, after `await ctx.rendered()`. |
186
+ | `use` | `(loader \| handle) => T` | Access another loader's data (Promise), or WRITE a handle: `ctx.use(Meta)({ title })` returns the push function — handler parity. Reads moved to `get`. |
187
+ | `rendered` | `() => Promise<void>` | **Experimental.** DSL loaders only — waits for all non-loader segments (including `loading()` streaming handlers) to settle before reading handle data. Not with `stream: "navigation"` (cycle; throws). |
188
+ | `method` | `string` | HTTP method. `"GET"` for SSR loader runs; reflects real method for fetchable loaders. |
189
+ | `body` | `TBody \| undefined` | Parsed request body for fetchable POST/PUT/PATCH/DELETE calls. |
190
+ | `formData` | `FormData \| undefined` | Present when a fetchable loader is invoked via form submission. |
191
+ | `reverse` | `ScopedReverseFunction` | Generate type-checked URLs from route names (same scoped semantics as route handlers). |
166
192
 
167
193
  ### Example
168
194
 
@@ -185,7 +211,7 @@ export const ProductLoader = createLoader(async (ctx) => {
185
211
  // Request headers
186
212
  const auth = ctx.request.headers.get("Authorization");
187
213
 
188
- // Variables set by middleware (from RSCRouter.Vars augmentation)
214
+ // Variables set by middleware (from Rango.Vars augmentation)
189
215
  const user = ctx.get("user");
190
216
 
191
217
  // Type-checked URLs for payloads. `.name` resolves within the current
@@ -235,6 +261,8 @@ export const OrderLoader = createLoader(async (ctx) => {
235
261
  Add caching or revalidation to specific loaders:
236
262
 
237
263
  ```typescript
264
+ import * as CartActions from "./actions/cart";
265
+
238
266
  path("/product/:slug", ProductPage, { name: "product" }, () => [
239
267
  // Cached loader
240
268
  loader(ProductLoader, () => [cache({ ttl: 300 })]),
@@ -244,15 +272,23 @@ path("/product/:slug", ProductPage, { name: "product" }, () => [
244
272
  revalidate(() => false), // Never revalidate
245
273
  ]),
246
274
 
247
- // Loader that revalidates after cart actions
275
+ // Loader that revalidates after cart actions (defer otherwise — keeps the
276
+ // permissive loader defaults for navigation and other actions intact)
248
277
  loader(CartLoader, () => [
249
- revalidate(({ actionId }) => actionId?.includes("Cart") ?? false),
278
+ revalidate((ctx) => ctx.isAction(CartActions) || undefined),
250
279
  ]),
251
280
  ]);
252
281
  ```
253
282
 
254
283
  ### `revalidate()` return shapes
255
284
 
285
+ > **Scope: `revalidate()` is a partial-render concern, not a cache concern.**
286
+ > It decides whether a segment (here, a loader) re-runs and streams to the
287
+ > client on a navigation or action — never whether a cached value is stale. The
288
+ > cache decides hit/miss/ttl/swr independently and never reads `revalidate()`.
289
+ > Caching a loader is a separate, opt-in step (`loader(Fn, () => [cache({...})])`).
290
+ > See `/cache-guide` → "Two axes" and `/rango` → "The shape of rango".
291
+
256
292
  A `revalidate(fn)` callback can return one of four shapes. The chain
257
293
  processes revalidators in order; each call's return controls how the
258
294
  chain continues:
@@ -282,6 +318,58 @@ revalidate(() => null); // explicit defer
282
318
  If every revalidator on a segment defers, the segment-type default
283
319
  (e.g. params-changed for routes, `false` for parallels) is used.
284
320
 
321
+ #### `|| undefined` (defer) vs `?? false` (hard) — pick deliberately
322
+
323
+ A boolean return — including `false` — is a **hard** decision: it short-circuits
324
+ the chain and overrides the segment default. `undefined` **defers** to the
325
+ running suggestion / segment default. They are not interchangeable:
326
+
327
+ ```typescript
328
+ // Defer: "revalidate on match, otherwise let the default/downstream decide."
329
+ revalidate(({ actionId }) => actionId?.includes("Cart") || undefined);
330
+
331
+ // Hard: "revalidate ONLY on match, suppress everything else."
332
+ revalidate(({ actionId }) => actionId?.includes("Cart") ?? false);
333
+ ```
334
+
335
+ This matters most for loaders, whose defaults are permissive: a loader defaults
336
+ to revalidating on **any** action (`POST`) and on **param/search changes**
337
+ during navigation. So `?? false` on a loader silently suppresses both — the
338
+ loader will not refetch when you navigate to a different `:id`. Use
339
+ `|| undefined` when you want to _add_ a revalidation signal on top of the
340
+ sensible defaults, and reserve `?? false` for the rare case where you genuinely
341
+ want the loader to refetch on nothing but your matched action.
342
+
343
+ When **composing multiple revalidators** on one segment (see below), defer is
344
+ mandatory: the first hard `?? false` ends the chain and the later contracts
345
+ never run.
346
+
347
+ #### Matching actions: `ctx.isAction()`
348
+
349
+ To revalidate after specific server actions, match them by **reference** with
350
+ `ctx.isAction()` rather than hand-written `actionId` substrings. A rename or
351
+ moved file then becomes a type error instead of silently failing to match:
352
+
353
+ ```typescript
354
+ import { addToCart, removeFromCart } from "../actions/cart";
355
+ import * as CartActions from "../actions/cart";
356
+
357
+ loader(CartLoader, () => [
358
+ revalidate((ctx) => ctx.isAction(addToCart) || undefined), // one action
359
+ ]);
360
+ revalidate((ctx) => ctx.isAction(addToCart, removeFromCart) || undefined); // several
361
+ revalidate((ctx) => ctx.isAction(CartActions) || undefined); // any action in the module
362
+ ```
363
+
364
+ `isAction()` is a method on the revalidate predicate's **context argument** —
365
+ there is no standalone `isAction` import; you always reach it through the callback
366
+ parameter (`revalidate((ctx) => ctx.isAction(...))`). It returns a raw boolean, so
367
+ pair it with `|| undefined` for the usual "revalidate on match, else defer"
368
+ intent. It returns `false` on plain navigation and on non-matches, and resolves
369
+ the reference the same way the router derives `actionId` (`$id` in production,
370
+ `$$id` in dev), so it matches in both modes. The raw `actionId` string stays
371
+ available on the same context as an escape hatch.
372
+
285
373
  ### Revalidation Contracts for Loader Dependencies
286
374
 
287
375
  If a loader reads `ctx.get()` data produced by an outer handler/layout, share
@@ -289,8 +377,12 @@ the same named revalidation contract across producer and consumer segments.
289
377
 
290
378
  ```typescript
291
379
  // revalidation-contracts.ts
292
- export const revalidateAccountScope = ({ actionId }) =>
293
- actionId?.includes("src/actions/account.ts#") ?? false;
380
+ import * as AccountActions from "./actions/account";
381
+
382
+ // Match by reference with ctx.isAction() (rename-safe), and defer (|| undefined)
383
+ // so these contracts compose — a hard `false` would short-circuit the rest.
384
+ export const revalidateAccountScope = (ctx) =>
385
+ ctx.isAction(AccountActions) || undefined;
294
386
 
295
387
  layout(AccountLayout, () => [
296
388
  revalidate(revalidateAccountScope), // producer reruns
@@ -333,6 +425,67 @@ follows the same rule: at build time, loaders are skipped entirely (there is no
333
425
  real request context), and at runtime the worker resolves them fresh against
334
426
  the live database.
335
427
 
428
+ ### Parallel and streaming — latency overlaps first paint
429
+
430
+ Loaders do not block the page. As the render pass begins — the pass that route
431
+ middleware wraps, so loaders run right after middleware, not in a later
432
+ phase — every matched loader is kicked off **concurrently** (their promises start in the
433
+ same tick), and each result is **streamed** to the client as its own RSC Flight
434
+ chunk rather than awaited up front. Pair a loader with `loading()` (or a
435
+ client `<Suspense>`) and the shell paints immediately while the data streams in.
436
+
437
+ This is why **"cached UI still pays full data latency" is the wrong intuition**:
438
+ on a `cache()` hit the UI segments stream instantly from cache while the live
439
+ loaders resolve fresh **in parallel** — data latency _overlaps_ first paint
440
+ instead of being added on top of it. (Without a `loading()` / `<Suspense>`
441
+ boundary a parallel loader blocks its parent, so add one to keep the overlap.)
442
+
443
+ If you come from a framework where the loader is a blocking step that runs
444
+ before the response is built, this is the shift to internalize: here the
445
+ response starts streaming first and loader data fills in. (The one deliberate
446
+ exception is per-loader: `loader(Def, { stream: "navigation" })` awaits that
447
+ loader before first flush on document renders — see "`stream: "navigation"`"
448
+ below.)
449
+
450
+ ### See it: `debugPerformance`
451
+
452
+ Turn on the per-request performance timeline early — it is the fastest way to
453
+ confirm loaders overlap rather than serialize, and to find the real bottleneck
454
+ locally instead of guessing:
455
+
456
+ ```typescript
457
+ const router = createRouter({ document: Document, debugPerformance: true });
458
+ ```
459
+
460
+ Or enable it per-request from middleware (e.g. only when `?debug` is present) by
461
+ calling `ctx.debugPerformance()` **before** `await next()`. Each HTML request
462
+ then prints a shared-axis waterfall (and emits a `Server-Timing` header):
463
+
464
+ ```
465
+ [RSC Perf] GET /product/widget (24.53ms)
466
+ start dur span timeline
467
+ 0.08ms 3.20ms route-matching |#####...................................|
468
+ 3.40ms 8.70ms ssr-render-html |.....##############.....................|
469
+ 3.42ms 11.90ms loader:…#ProductLoader |.....###################................|
470
+ 3.45ms 11.40ms loader:…#ReviewsLoader |.....##################.................|
471
+ 0.00ms 24.53ms handler:total |########################################|
472
+ ```
473
+
474
+ How to read it:
475
+
476
+ - **Humans:** scan the `#` bars on the shared axis. Bars that start at the same
477
+ offset and run side by side are executing **in parallel** — loaders should
478
+ overlap `ssr-render-html` / `render:total`, not sit alone to the right of
479
+ everything. A lone `loader:*` bar past the render bar is serialized latency to
480
+ chase. `handler:total` is the whole request; `render:total` is the render pass.
481
+ - **LLMs / programmatic:** read each row as `{ start, dur, label }`. A loader
482
+ overlaps paint when its `[start, start+dur]` interval intersects
483
+ `render:total` / `ssr-render-html`. Flag a regression when a `loader:*`
484
+ interval is **disjoint from and starts after** `render:total`, or when its
485
+ `dur` approaches `handler:total` — that loader is on the critical path instead
486
+ of overlapping it. Two `loader:*` rows with near-equal `start` confirm
487
+ parallel execution.
488
+
336
489
  ### Opting a Loader into Caching
337
490
 
338
491
  To cache a specific loader's data, attach a `cache()` child:
@@ -423,6 +576,8 @@ entirely (no read, no write).
423
576
  ### Per-Loader Store Override
424
577
 
425
578
  ```typescript
579
+ import { MemorySegmentCacheStore } from "@rangojs/router/cache";
580
+
426
581
  const hotStore = new MemorySegmentCacheStore({ defaults: { ttl: 10 } });
427
582
 
428
583
  loader(PricingLoader, () => [
@@ -508,6 +663,115 @@ function ProductPage() {
508
663
  }
509
664
  ```
510
665
 
666
+ ## Loader Authority: notFound() and redirect()
667
+
668
+ A loader may **throw** `notFound()` and `redirect()` — data-dependent
669
+ authority lives with the data, so every consumer of the loader inherits the
670
+ signal instead of re-checking existence at each read site:
671
+
672
+ ```typescript
673
+ import { createLoader, notFound, redirect } from "@rangojs/router";
674
+
675
+ export const ProductLoader = createLoader(async (ctx) => {
676
+ "use server";
677
+ const moved = LEGACY_SLUGS[ctx.params.slug];
678
+ if (moved) throw redirect(`/shop/product/${moved}`);
679
+
680
+ // Existence check BEFORE the expensive fetch: a near-instant rejection
681
+ // usually wins the race to first flush (see the semantics below).
682
+ if (!(await exists(ctx.params.slug))) notFound(`No "${ctx.params.slug}"`);
683
+
684
+ return getProduct(ctx.params.slug);
685
+ });
686
+ ```
687
+
688
+ Semantics by lane:
689
+
690
+ | Signal | Document load | Client navigation |
691
+ | ------------ | ---------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
692
+ | `notFound()` | Not-found UI resolves server-side (nearest `notFoundBoundary` → router option → default) and rides the envelope; the 404 STATUS is **opportunistic** — real only if the rejection beats Response construction. `stream: "navigation"` (below) makes it deterministic. | 404 UI swaps in, URL preserved, payload stays 200 |
693
+ | `redirect()` | 200 document, then a client-side replace to the target — **no document-lane 302 from loaders**; pre-stream redirect authority belongs to middleware | Redirect envelope navigates to the target |
694
+
695
+ Session/auth gates belong in middleware (they are request-shaped, not
696
+ data-shaped, and middleware CAN emit a real pre-stream 302). Data-dependent
697
+ "this slug moved / does not exist" belongs in the loader.
698
+
699
+ ## Writing Handles from Loaders (meta, breadcrumbs)
700
+
701
+ Loader bodies can WRITE handles with handler parity — `ctx.use(Handle)`
702
+ returns the push function, legal for the whole body, streaming loaders
703
+ included. This is how data-derived page titles and breadcrumb trails live
704
+ where the data lives:
705
+
706
+ ```typescript
707
+ import { Meta, Breadcrumbs } from "./handles";
708
+
709
+ export const ProductLoader = createLoader(async (ctx) => {
710
+ "use server";
711
+ const product = await getProduct(ctx.params.slug);
712
+
713
+ ctx.use(Meta)({ title: `${product.name} — Shop` });
714
+ const pushCrumb = ctx.use(Breadcrumbs);
715
+ pushCrumb({ label: "Shop", href: "/shop" });
716
+ pushCrumb({ label: product.name, href: `/shop/product/${product.slug}` });
717
+
718
+ return product;
719
+ });
720
+ ```
721
+
722
+ Delivery is async **by the race model**: pushes that settle before the handler
723
+ barrier ride the SSR handle snapshot (in the SSR'd document — `<MetaTags />`,
724
+ `useHandle` reads); later pushes stream to the client and apply post-hydration
725
+ on document loads (`metadata.handlesLate`) or progressively on navigations.
726
+ A push before your slow fetch usually beats the barrier; a push derived from
727
+ the fetched data usually does not. When it MUST be in the document, use
728
+ `stream: "navigation"` below.
729
+
730
+ Reads are the other direction and gated: `ctx.get(handle)` throws unless the
731
+ loader first does `await ctx.rendered()` (DSL-registered loaders only —
732
+ handler-invoked loaders cannot use `rendered()`, and a handler already
733
+ awaiting the loader via `ctx.use()` makes it a detected deadlock).
734
+
735
+ ## `stream: "navigation"` — Guarantee a Loader in the Document
736
+
737
+ Streaming means nothing a slow loader produces is *guaranteed* in the SSR'd
738
+ HTML: its section SSRs as the fallback, a late handle push applies
739
+ post-hydration, a late `notFound()` loses the status race. When the loader
740
+ feeds something that must exist in the document — `<head>` meta via a handle,
741
+ or a real 404 status — pass delivery options between the definition and the
742
+ use callback:
743
+
744
+ ```typescript
745
+ path("/product/:slug", ProductPage, { name: "product" }, () => [
746
+ loader(ProductLoader, { stream: "navigation" }, () => [cache({ ttl: 60 })]),
747
+ loader(RelatedLoader), // untouched: still streams behind its boundary
748
+ ]),
749
+ ```
750
+
751
+ The name says WHERE streaming still applies, not that it is disabled:
752
+ document renders await this loader before first flush — data is settled
753
+ (`useLoader` reads it synchronously, no fallback paints), handle pushes beat
754
+ the barrier snapshot, and a thrown `notFound()` deterministically precedes
755
+ Response construction (real 404, no warm-up race). Client navigations stream
756
+ exactly as before. Scoped per LOADER: the flagged loader awaits only itself;
757
+ siblings keep streaming.
758
+
759
+ The costs and constraints:
760
+
761
+ - Every document load pays the flagged loader's latency before first byte.
762
+ That is the point — but keep flagged loaders fast, and flag loaders, not
763
+ routes.
764
+ - A flagged loader must not `await ctx.rendered()` / `ctx.get(handle)` — the
765
+ document render awaits the loader before the render barrier resolves, so
766
+ that wait is a cycle by construction; it throws a deadlock error naming the
767
+ fix.
768
+ - PPR capture renders mask loaders and skip the await — the flag does not
769
+ bake anything into a shell (`/ppr`).
770
+
771
+ Also available in `clientUrls()` route groups (`/client-urls`), where the
772
+ loader-heavy shape makes it most useful. `LoaderOptions` is exported from the
773
+ package root.
774
+
511
775
  ## Fetchable Loaders
512
776
 
513
777
  By default, loaders only run during SSR and navigation. Pass `true` as the second
@@ -531,6 +795,16 @@ export const SearchLoader = createLoader(async (ctx) => {
531
795
  }, true); // true = fetchable
532
796
  ```
533
797
 
798
+ > **No registration needed — and no worker-entry import.** A fetchable loader
799
+ > does not have to be registered with `loader()` in the route DSL, and it does
800
+ > not have to be imported by any server module. Importing it into the client
801
+ > component that calls `useFetchLoader()` / `load()` is enough. Rango discovers
802
+ > every `createLoader(fn, true)` at build time and registers it for the
803
+ > `_rsc_loader` endpoint, so a loader reachable only through a client component
804
+ > still resolves in production — on both the generated entry and a hand-written
805
+ > worker entry (e.g. a Cloudflare `worker.rsc.tsx`). You do **not** need to
806
+ > force-import the loader in your worker entry to make it resolve.
807
+
534
808
  ### Fetchable Loader with Middleware
535
809
 
536
810
  Pass an options object instead of `true` to attach per-loader middleware.
@@ -606,6 +880,13 @@ export const FileUploadLoader = createLoader(async (ctx) => {
606
880
 
607
881
  Client usage — see `/hooks useFetchLoader` for the full client-side pattern.
608
882
 
883
+ > **Refetch sharing**: when the loader is registered on the route via
884
+ > `loader()`, a plain `load()` call (no `params`, no `body`) broadcasts
885
+ > the new value to every component reading the same loader id —
886
+ > `useLoader` reads in layouts, pages, and parallel slots all converge.
887
+ > Calls with `params` or a non-GET method stay local to the call site.
888
+ > See `/hooks` → "Shared refetch behavior" for the full contract.
889
+
609
890
  ## Complete Example
610
891
 
611
892
  ```typescript
@@ -638,10 +919,12 @@ export const CartLoader = createLoader(async (ctx) => {
638
919
  });
639
920
 
640
921
  // urls.tsx — register loaders in the DSL
922
+ import * as CartActions from "./actions/cart";
923
+
641
924
  export const urlpatterns = urls(({ path, layout, loader, loading, cache, revalidate }) => [
642
925
  layout(<ShopLayout />, () => [
643
926
  loader(CartLoader, () => [
644
- revalidate(({ actionId }) => actionId?.includes("Cart") ?? false),
927
+ revalidate((ctx) => ctx.isAction(CartActions) || undefined),
645
928
  ]),
646
929
 
647
930
  path("/shop/product/:slug", ProductPage, { name: "product" }, () => [
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: middleware
3
- description: Define middleware for authentication, logging, and request processing in @rangojs/router
3
+ description: Define middleware for authentication, logging, and request processing in @rangojs/router. Use when gating routes behind auth checks, logging requests, or running shared logic before a handler runs.
4
4
  argument-hint: [middleware-name]
5
5
  ---
6
6
 
@@ -10,9 +10,6 @@ Middleware runs before/after route handlers using the onion model.
10
10
 
11
11
  ## Execution Model
12
12
 
13
- Canonical semantics reference:
14
- [docs/execution-model.md](../../docs/internal/execution-model.md)
15
-
16
13
  There are two levels of middleware with different execution scopes:
17
14
 
18
15
  ### Global middleware (`router.use()`)
@@ -36,15 +33,22 @@ Registered inside `urls()` callback. Wraps **rendering only** -- it does NOT wra
36
33
 
37
34
  ```
38
35
  Request flow (with action):
39
- global mw -> action executes -> route mw -> layout -> handler -> loaders
36
+ global mw -> action executes -> route mw -> render pass
40
37
 
41
38
  Request flow (no action):
42
- global mw -> route mw -> layout -> handler -> loaders
39
+ global mw -> route mw -> render pass
43
40
 
44
41
  Progressive enhancement (no-JS form POST):
45
42
  global mw -> action executes -> route mw -> full page re-render
46
43
  ```
47
44
 
45
+ The **render pass** resolves handler, layouts, parallels, and loaders together —
46
+ it is not a handler-then-loaders sequence. Handler-first ordering is guaranteed
47
+ only between a route handler and its child/orphan layouts and parallels (so
48
+ `ctx.set` is visible); loaders run **concurrently** and stream their results, so
49
+ their latency overlaps rendering rather than blocking it. See `/loader` →
50
+ "Parallel and streaming".
51
+
48
52
  The contract is: **route middleware wraps rendering regardless of transport** (JS-enabled RSC stream or no-JS HTML). During PE re-render, route middleware observes action-set state (cookies, context variables) the same way it does during JS-enabled post-action revalidation.
49
53
 
50
54
  Revalidation is still partial. Route middleware wraps the render pass that
@@ -56,15 +60,21 @@ data itself.
56
60
  ### Revalidation Contracts with Middleware-Backed Trees
57
61
 
58
62
  Middleware can establish request-level context (`ctx.set`) for segments that
59
- execute in the current render pass. It does not change partial revalidation
60
- boundaries between handler/layout/parallel segments.
63
+ execute in the current render pass. Because route middleware wraps **every**
64
+ render pass — normal renders, post-action revalidation, PE re-renders — its
65
+ variables are never stale: middleware is the safest `ctx.set` rung on the
66
+ data-passing ladder (`/rango` → "Passing data down the tree"). But it does
67
+ not change partial revalidation boundaries between handler/layout/parallel
68
+ segments.
61
69
 
62
70
  For shared segment data, use named revalidation contracts on both the producer
63
71
  and consumer segments, even when middleware is present in the chain.
64
72
 
65
73
  ```typescript
66
- export const revalidateCartData = ({ actionId }) =>
67
- actionId?.includes("src/actions/cart.ts#") ?? false;
74
+ import * as CartActions from "./actions/cart";
75
+
76
+ export const revalidateCartData = (ctx) =>
77
+ ctx.isAction(CartActions) || undefined;
68
78
 
69
79
  layout(CartLayout, () => [
70
80
  middleware(cartRenderMiddleware),
@@ -187,14 +197,18 @@ export const myMiddleware: Middleware = async (ctx, next) => {
187
197
  ctx.request; // Request object
188
198
  ctx.url; // Parsed URL
189
199
  ctx.params; // Route parameters
200
+ ctx.build; // in middleware: true only during Prerender + ppr build-shell capture (plain Prerender does not run middleware)
190
201
 
191
202
  // Access platform bindings (plain bindings from createRouter<TEnv>())
192
203
  ctx.env.DB; // D1Database
193
204
  ctx.env.KV; // KVNamespace
194
205
 
195
- // Set variables for downstream handlers (typed via RSCRouter.Vars)
206
+ // Set variables for downstream handlers (typed via Rango.Vars)
196
207
  ctx.set("user", { id: "123", name: "John" });
197
208
 
209
+ // Opt the current request out of PPR shell lookup/capture.
210
+ ctx.dynamic();
211
+
198
212
  // Continue to next middleware/handler
199
213
  await next();
200
214
 
@@ -233,8 +247,37 @@ const Dashboard: Handler<"dashboard"> = (ctx) => {
233
247
  ```
234
248
 
235
249
  This works alongside `ctx.get("key")` / `ctx.set("key", value)` (global typing
236
- via RSCRouter.Vars augmentation). Use `createVar` for route-local or feature-scoped
237
- data; use RSCRouter.Vars for app-wide middleware state.
250
+ via Rango.Vars augmentation). Use `createVar` for route-local or feature-scoped
251
+ data; use Rango.Vars for app-wide middleware state.
252
+
253
+ ## Build-Time PPR Middleware
254
+
255
+ Normal `Prerender` Flight payload collection does not run middleware: there is
256
+ no request to wrap. The exception is `Prerender` + `ppr` build-shell capture.
257
+ After the Flight payload exists, the shell producer replays global and route
258
+ middleware for each generated URL before it captures HTML.
259
+
260
+ In that build-shell pass:
261
+
262
+ - `ctx.build === true`;
263
+ - `ctx.waitUntil()` is inert;
264
+ - `ctx.dynamic()` skips the baked shell for that URL;
265
+ - context variables set by middleware are visible to the shell render.
266
+
267
+ Use this to keep side effects predictable:
268
+
269
+ ```typescript
270
+ export const commerceMiddleware: Middleware = async (ctx, next) => {
271
+ if (ctx.build) {
272
+ ctx.dynamic(); // leave this shell to runtime PPR
273
+ return next();
274
+ }
275
+
276
+ const session = await commerce.auth(ctx.request);
277
+ ctx.set("session", session);
278
+ return next();
279
+ };
280
+ ```
238
281
 
239
282
  ## Redirect with State in Middleware
240
283