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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2111) hide show
  1. package/AGENTS.md +8 -4
  2. package/README.md +320 -735
  3. package/dist/bin/rango.js +977 -240
  4. package/dist/testing/vitest.js +82 -0
  5. package/dist/types/__internal.d.ts +127 -0
  6. package/dist/types/bin/rango.d.ts +1 -0
  7. package/dist/types/browser/action-coordinator.d.ts +57 -0
  8. package/dist/types/browser/action-fence.d.ts +33 -0
  9. package/dist/types/browser/app-shell.d.ts +34 -0
  10. package/dist/types/browser/app-version.d.ts +6 -0
  11. package/dist/types/browser/connection-warmup.d.ts +31 -0
  12. package/dist/types/browser/cookie-name.d.ts +66 -0
  13. package/dist/types/browser/dev-discovery.d.ts +11 -0
  14. package/dist/types/browser/event-controller.d.ts +231 -0
  15. package/dist/types/browser/history-state.d.ts +26 -0
  16. package/dist/types/browser/index.d.ts +1 -0
  17. package/dist/types/browser/intercept-utils.d.ts +30 -0
  18. package/dist/types/browser/invalidate-client-cache.d.ts +17 -0
  19. package/dist/types/browser/link-interceptor.d.ts +53 -0
  20. package/dist/types/browser/logging.d.ts +33 -0
  21. package/dist/types/browser/merge-segment-loaders.d.ts +38 -0
  22. package/dist/types/browser/navigation-bridge.d.ts +39 -0
  23. package/dist/types/browser/navigation-client.d.ts +17 -0
  24. package/dist/types/browser/navigation-store-handle.d.ts +25 -0
  25. package/dist/types/browser/navigation-store.d.ts +85 -0
  26. package/dist/types/browser/navigation-transaction.d.ts +75 -0
  27. package/dist/types/browser/network-error-handler.d.ts +35 -0
  28. package/dist/types/browser/notify-listeners.d.ts +2 -0
  29. package/dist/types/browser/partial-update.d.ts +61 -0
  30. package/dist/types/browser/prefetch/cache.d.ts +224 -0
  31. package/dist/types/browser/prefetch/default-strategy.d.ts +31 -0
  32. package/dist/types/browser/prefetch/fetch.d.ts +52 -0
  33. package/dist/types/browser/prefetch/invalidation.d.ts +6 -0
  34. package/dist/types/browser/prefetch/loader.d.ts +12 -0
  35. package/dist/types/browser/prefetch/observer.d.ts +24 -0
  36. package/dist/types/browser/prefetch/policy.d.ts +13 -0
  37. package/dist/types/browser/prefetch/queue.d.ts +48 -0
  38. package/dist/types/browser/prefetch/resource-ready.d.ts +28 -0
  39. package/dist/types/browser/prefetch/runtime.d.ts +2 -0
  40. package/dist/types/browser/rango-state.d.ts +56 -0
  41. package/dist/types/browser/react/Link.d.ts +132 -0
  42. package/dist/types/browser/react/NavigationProvider.d.ts +88 -0
  43. package/dist/types/browser/react/ScrollRestoration.d.ts +78 -0
  44. package/dist/types/browser/react/context.d.ts +57 -0
  45. package/dist/types/browser/react/filter-segment-order.d.ts +35 -0
  46. package/dist/types/browser/react/index.d.ts +1 -0
  47. package/dist/types/browser/react/location-state-shared.d.ts +162 -0
  48. package/dist/types/browser/react/location-state.d.ts +29 -0
  49. package/dist/types/browser/react/mount-context.d.ts +23 -0
  50. package/dist/types/browser/react/nonce-context.d.ts +14 -0
  51. package/dist/types/browser/react/shallow-equal.d.ts +5 -0
  52. package/dist/types/browser/react/use-action.d.ts +61 -0
  53. package/dist/types/browser/react/use-handle.d.ts +21 -0
  54. package/dist/types/browser/react/use-href.d.ts +32 -0
  55. package/dist/types/browser/react/use-link-status.d.ts +36 -0
  56. package/dist/types/browser/react/use-mount.d.ts +24 -0
  57. package/dist/types/browser/react/use-navigation.d.ts +15 -0
  58. package/dist/types/browser/react/use-params.d.ts +21 -0
  59. package/dist/types/browser/react/use-pathname.d.ts +13 -0
  60. package/dist/types/browser/react/use-reverse.d.ts +40 -0
  61. package/dist/types/browser/react/use-router.d.ts +23 -0
  62. package/dist/types/browser/react/use-search-params.d.ts +19 -0
  63. package/dist/types/browser/react/use-segments.d.ts +29 -0
  64. package/dist/types/browser/response-adapter.d.ts +58 -0
  65. package/dist/types/browser/rsc-router.d.ts +146 -0
  66. package/dist/types/browser/scroll-restoration.d.ts +103 -0
  67. package/dist/types/browser/segment-reconciler.d.ts +74 -0
  68. package/dist/types/browser/segment-structure-assert.d.ts +16 -0
  69. package/dist/types/browser/server-action-bridge.d.ts +29 -0
  70. package/dist/types/browser/types.d.ts +546 -0
  71. package/dist/types/browser/validate-redirect-origin.d.ts +28 -0
  72. package/dist/types/build/collect-fallback-refs.d.ts +5 -0
  73. package/dist/types/build/generate-manifest.d.ts +106 -0
  74. package/dist/types/build/generate-route-types.d.ts +8 -0
  75. package/dist/types/build/index.d.ts +21 -0
  76. package/dist/types/build/merge-full-manifests.d.ts +3 -0
  77. package/dist/types/build/prefix-tree-utils.d.ts +56 -0
  78. package/dist/types/build/route-trie.d.ts +20 -0
  79. package/dist/types/build/route-types/ast-helpers.d.ts +3 -0
  80. package/dist/types/build/route-types/ast-route-extraction.d.ts +13 -0
  81. package/dist/types/build/route-types/codegen.d.ts +16 -0
  82. package/dist/types/build/route-types/include-resolution.d.ts +74 -0
  83. package/dist/types/build/route-types/param-extraction.d.ts +13 -0
  84. package/dist/types/build/route-types/per-module-writer.d.ts +20 -0
  85. package/dist/types/build/route-types/router-processing.d.ts +81 -0
  86. package/dist/types/build/route-types/scan-filter.d.ts +17 -0
  87. package/dist/types/build/route-types/source-scan.d.ts +13 -0
  88. package/dist/types/build/runtime-discovery.d.ts +24 -0
  89. package/dist/types/cache/background-task.d.ts +21 -0
  90. package/dist/types/cache/cache-error.d.ts +71 -0
  91. package/dist/types/cache/cache-exec-scope.d.ts +31 -0
  92. package/dist/types/cache/cache-key-utils.d.ts +43 -0
  93. package/dist/types/cache/cache-policy.d.ts +59 -0
  94. package/dist/types/cache/cache-runtime.d.ts +51 -0
  95. package/dist/types/cache/cache-scope.d.ts +215 -0
  96. package/dist/types/cache/cache-tag.d.ts +79 -0
  97. package/dist/types/cache/cf/cf-base64.d.ts +4 -0
  98. package/dist/types/cache/cf/cf-cache-constants.d.ts +112 -0
  99. package/dist/types/cache/cf/cf-cache-store.d.ts +616 -0
  100. package/dist/types/cache/cf/cf-cache-types.d.ts +365 -0
  101. package/dist/types/cache/cf/cf-kv-utils.d.ts +43 -0
  102. package/dist/types/cache/cf/cf-tag-marker-memo.d.ts +15 -0
  103. package/dist/types/cache/cf/cf-zone-purge.d.ts +31 -0
  104. package/dist/types/cache/cf/index.d.ts +4 -0
  105. package/dist/types/cache/document-cache.d.ts +71 -0
  106. package/dist/types/cache/handle-capture.d.ts +23 -0
  107. package/dist/types/cache/handle-snapshot.d.ts +39 -0
  108. package/dist/types/cache/index.d.ts +9 -0
  109. package/dist/types/cache/memory-segment-store.d.ts +163 -0
  110. package/dist/types/cache/profile-registry.d.ts +40 -0
  111. package/dist/types/cache/read-through-swr.d.ts +61 -0
  112. package/dist/types/cache/search-params-filter.d.ts +64 -0
  113. package/dist/types/cache/segment-codec.d.ts +78 -0
  114. package/dist/types/cache/shell-snapshot.d.ts +186 -0
  115. package/dist/types/cache/tag-invalidation.d.ts +74 -0
  116. package/dist/types/cache/taint.d.ts +77 -0
  117. package/dist/types/cache/types.d.ts +503 -0
  118. package/dist/types/cache/vercel/index.d.ts +1 -0
  119. package/dist/types/cache/vercel/vercel-cache-store.d.ts +268 -0
  120. package/dist/types/client-urls/client-root.d.ts +38 -0
  121. package/dist/types/client-urls/client-urls.d.ts +5 -0
  122. package/dist/types/client-urls/navigation.d.ts +38 -0
  123. package/dist/types/client-urls/revalidation-protocol.d.ts +25 -0
  124. package/dist/types/client-urls/server-projection.d.ts +57 -0
  125. package/dist/types/client-urls/types.d.ts +132 -0
  126. package/dist/types/client.d.ts +191 -0
  127. package/dist/types/client.rsc.d.ts +41 -0
  128. package/dist/types/cloudflare/index.d.ts +7 -0
  129. package/dist/types/cloudflare/tracing.d.ts +57 -0
  130. package/dist/types/component-utils.d.ts +46 -0
  131. package/dist/types/components/DefaultDocument.d.ts +13 -0
  132. package/dist/types/context-var.d.ts +84 -0
  133. package/dist/types/debug.d.ts +57 -0
  134. package/dist/types/decode-loader-results.d.ts +42 -0
  135. package/dist/types/default-error-boundary.d.ts +10 -0
  136. package/dist/types/defer.d.ts +89 -0
  137. package/dist/types/deps/browser.d.ts +1 -0
  138. package/dist/types/deps/html-stream-client.d.ts +1 -0
  139. package/dist/types/deps/html-stream-server.d.ts +1 -0
  140. package/dist/types/deps/rsc.d.ts +1 -0
  141. package/dist/types/deps/ssr.d.ts +1 -0
  142. package/dist/types/dev-discovery-protocol.d.ts +5 -0
  143. package/dist/types/encode-kv.d.ts +35 -0
  144. package/dist/types/errors.d.ts +227 -0
  145. package/dist/types/escape-script.d.ts +44 -0
  146. package/dist/types/handle.d.ts +93 -0
  147. package/dist/types/handles/MetaTags.d.ts +17 -0
  148. package/dist/types/handles/Scripts.d.ts +38 -0
  149. package/dist/types/handles/breadcrumbs.d.ts +43 -0
  150. package/dist/types/handles/deferred-resolution.d.ts +53 -0
  151. package/dist/types/handles/is-thenable.d.ts +10 -0
  152. package/dist/types/handles/meta.d.ts +43 -0
  153. package/dist/types/handles/script.d.ts +139 -0
  154. package/dist/types/host/cookie-handler.d.ts +8 -0
  155. package/dist/types/host/errors.d.ts +40 -0
  156. package/dist/types/host/index.d.ts +33 -0
  157. package/dist/types/host/pattern-matcher.d.ts +30 -0
  158. package/dist/types/host/router.d.ts +12 -0
  159. package/dist/types/host/testing.d.ts +41 -0
  160. package/dist/types/host/types.d.ts +148 -0
  161. package/dist/types/host/utils.d.ts +20 -0
  162. package/dist/types/href-client.d.ts +214 -0
  163. package/dist/types/index.d.ts +113 -0
  164. package/dist/types/index.rsc.d.ts +52 -0
  165. package/dist/types/internal-debug.d.ts +1 -0
  166. package/dist/types/loader-redirect.d.ts +18 -0
  167. package/dist/types/loader-store.d.ts +193 -0
  168. package/dist/types/loader.d.ts +18 -0
  169. package/dist/types/loader.rsc.d.ts +18 -0
  170. package/dist/types/missing-id-error.d.ts +1 -0
  171. package/dist/types/outlet-context.d.ts +24 -0
  172. package/dist/types/outlet-provider.d.ts +14 -0
  173. package/dist/types/prerender/build-shell-capture.d.ts +104 -0
  174. package/dist/types/prerender/param-hash.d.ts +6 -0
  175. package/dist/types/prerender/shell-manifest-key.d.ts +18 -0
  176. package/dist/types/prerender/store.d.ts +63 -0
  177. package/dist/types/prerender.d.ts +292 -0
  178. package/dist/types/redirect-origin.d.ts +67 -0
  179. package/dist/types/regex-escape.d.ts +6 -0
  180. package/dist/types/render-error-thrower.d.ts +13 -0
  181. package/dist/types/response-utils.d.ts +35 -0
  182. package/dist/types/reverse.d.ts +206 -0
  183. package/dist/types/root-error-boundary.d.ts +32 -0
  184. package/dist/types/route-content-wrapper.d.ts +81 -0
  185. package/dist/types/route-definition/dsl-helpers.d.ts +130 -0
  186. package/dist/types/route-definition/helper-factories.d.ts +22 -0
  187. package/dist/types/route-definition/helpers-types.d.ts +393 -0
  188. package/dist/types/route-definition/index.d.ts +7 -0
  189. package/dist/types/route-definition/redirect.d.ts +48 -0
  190. package/dist/types/route-definition/resolve-handler-use.d.ts +19 -0
  191. package/dist/types/route-definition/use-item-types.d.ts +1 -0
  192. package/dist/types/route-definition.d.ts +1 -0
  193. package/dist/types/route-map-builder.d.ts +102 -0
  194. package/dist/types/route-name.d.ts +27 -0
  195. package/dist/types/route-types.d.ts +172 -0
  196. package/dist/types/router/basename.d.ts +10 -0
  197. package/dist/types/router/content-negotiation.d.ts +91 -0
  198. package/dist/types/router/debug-manifest.d.ts +7 -0
  199. package/dist/types/router/error-handling.d.ts +110 -0
  200. package/dist/types/router/find-match.d.ts +19 -0
  201. package/dist/types/router/handler-context.d.ts +41 -0
  202. package/dist/types/router/instrument.d.ts +191 -0
  203. package/dist/types/router/intercept-resolution.d.ts +91 -0
  204. package/dist/types/router/lazy-includes.d.ts +26 -0
  205. package/dist/types/router/loader-resolution.d.ts +85 -0
  206. package/dist/types/router/logging.d.ts +41 -0
  207. package/dist/types/router/manifest.d.ts +8 -0
  208. package/dist/types/router/match-api.d.ts +19 -0
  209. package/dist/types/router/match-context.d.ts +184 -0
  210. package/dist/types/router/match-handlers.d.ts +48 -0
  211. package/dist/types/router/match-middleware/background-revalidation.d.ts +113 -0
  212. package/dist/types/router/match-middleware/cache-lookup.d.ts +126 -0
  213. package/dist/types/router/match-middleware/cache-store.d.ts +112 -0
  214. package/dist/types/router/match-middleware/index.d.ts +80 -0
  215. package/dist/types/router/match-middleware/intercept-resolution.d.ts +116 -0
  216. package/dist/types/router/match-middleware/segment-resolution.d.ts +94 -0
  217. package/dist/types/router/match-pipelines.d.ts +103 -0
  218. package/dist/types/router/match-result.d.ts +114 -0
  219. package/dist/types/router/metrics.d.ts +6 -0
  220. package/dist/types/router/middleware-types.d.ts +74 -0
  221. package/dist/types/router/middleware.d.ts +116 -0
  222. package/dist/types/router/navigation-snapshot.d.ts +51 -0
  223. package/dist/types/router/params-util.d.ts +8 -0
  224. package/dist/types/router/parse-pattern.d.ts +38 -0
  225. package/dist/types/router/pattern-matching.d.ts +169 -0
  226. package/dist/types/router/prefetch-cache-ttl.d.ts +27 -0
  227. package/dist/types/router/prefetch-default.d.ts +28 -0
  228. package/dist/types/router/prefetch-limits.d.ts +20 -0
  229. package/dist/types/router/prerender-match.d.ts +53 -0
  230. package/dist/types/router/preview-match.d.ts +22 -0
  231. package/dist/types/router/request-classification.d.ts +104 -0
  232. package/dist/types/router/revalidation.d.ts +64 -0
  233. package/dist/types/router/route-snapshot.d.ts +112 -0
  234. package/dist/types/router/route-trie-builder.d.ts +77 -0
  235. package/dist/types/router/router-context.d.ts +137 -0
  236. package/dist/types/router/router-interfaces.d.ts +461 -0
  237. package/dist/types/router/router-options.d.ts +792 -0
  238. package/dist/types/router/router-registry.d.ts +15 -0
  239. package/dist/types/router/segment-resolution/fresh.d.ts +55 -0
  240. package/dist/types/router/segment-resolution/helpers.d.ts +93 -0
  241. package/dist/types/router/segment-resolution/loader-cache.d.ts +33 -0
  242. package/dist/types/router/segment-resolution/loader-mask.d.ts +44 -0
  243. package/dist/types/router/segment-resolution/loader-snapshot.d.ts +90 -0
  244. package/dist/types/router/segment-resolution/mask-nested.d.ts +53 -0
  245. package/dist/types/router/segment-resolution/revalidation.d.ts +85 -0
  246. package/dist/types/router/segment-resolution/static-store.d.ts +17 -0
  247. package/dist/types/router/segment-resolution/streamed-handler-telemetry.d.ts +16 -0
  248. package/dist/types/router/segment-resolution/view-transition-default.d.ts +27 -0
  249. package/dist/types/router/segment-resolution.d.ts +3 -0
  250. package/dist/types/router/segment-wrappers.d.ts +53 -0
  251. package/dist/types/router/state-cookie-name.d.ts +1 -0
  252. package/dist/types/router/substitute-pattern-params.d.ts +23 -0
  253. package/dist/types/router/telemetry-otel.d.ts +113 -0
  254. package/dist/types/router/telemetry.d.ts +216 -0
  255. package/dist/types/router/timeout.d.ts +107 -0
  256. package/dist/types/router/tracing.d.ts +139 -0
  257. package/dist/types/router/transition-when.d.ts +13 -0
  258. package/dist/types/router/trie-matching.d.ts +32 -0
  259. package/dist/types/router/types.d.ts +98 -0
  260. package/dist/types/router/url-params.d.ts +26 -0
  261. package/dist/types/router.d.ts +7 -0
  262. package/dist/types/rsc/capture-queue.d.ts +49 -0
  263. package/dist/types/rsc/full-payload.d.ts +22 -0
  264. package/dist/types/rsc/handler-context.d.ts +32 -0
  265. package/dist/types/rsc/handler.d.ts +9 -0
  266. package/dist/types/rsc/helpers.d.ts +127 -0
  267. package/dist/types/rsc/index.d.ts +17 -0
  268. package/dist/types/rsc/json-route-result.d.ts +20 -0
  269. package/dist/types/rsc/loader-fetch.d.ts +14 -0
  270. package/dist/types/rsc/manifest-init.d.ts +18 -0
  271. package/dist/types/rsc/nonce.d.ts +28 -0
  272. package/dist/types/rsc/origin-guard.d.ts +50 -0
  273. package/dist/types/rsc/progressive-enhancement.d.ts +19 -0
  274. package/dist/types/rsc/redirect-guard.d.ts +37 -0
  275. package/dist/types/rsc/render-pipeline.d.ts +148 -0
  276. package/dist/types/rsc/response-cache-serve.d.ts +46 -0
  277. package/dist/types/rsc/response-error.d.ts +19 -0
  278. package/dist/types/rsc/response-route-handler.d.ts +29 -0
  279. package/dist/types/rsc/routine-plan.d.ts +124 -0
  280. package/dist/types/rsc/rsc-rendering.d.ts +18 -0
  281. package/dist/types/rsc/runtime-warnings.d.ts +22 -0
  282. package/dist/types/rsc/server-action.d.ts +68 -0
  283. package/dist/types/rsc/shell-build-manifest.d.ts +90 -0
  284. package/dist/types/rsc/shell-capture-constants.d.ts +44 -0
  285. package/dist/types/rsc/shell-capture.d.ts +406 -0
  286. package/dist/types/rsc/shell-serve.d.ts +189 -0
  287. package/dist/types/rsc/ssr-setup.d.ts +73 -0
  288. package/dist/types/rsc/stream-idle.d.ts +60 -0
  289. package/dist/types/rsc/transition-gate.d.ts +23 -0
  290. package/dist/types/rsc/types.d.ts +328 -0
  291. package/dist/types/runtime-env.d.ts +1 -0
  292. package/dist/types/search-params.d.ts +125 -0
  293. package/dist/types/segment-content-promise.d.ts +13 -0
  294. package/dist/types/segment-fragments.d.ts +79 -0
  295. package/dist/types/segment-loader-promise.d.ts +22 -0
  296. package/dist/types/segment-system.d.ts +86 -0
  297. package/dist/types/serialize.d.ts +164 -0
  298. package/dist/types/server/context.d.ts +510 -0
  299. package/dist/types/server/cookie-parse.d.ts +10 -0
  300. package/dist/types/server/cookie-store.d.ts +107 -0
  301. package/dist/types/server/fetchable-loader-store.d.ts +20 -0
  302. package/dist/types/server/handle-store.d.ts +131 -0
  303. package/dist/types/server/loader-registry.d.ts +32 -0
  304. package/dist/types/server/request-context.d.ts +707 -0
  305. package/dist/types/server/root-layout.d.ts +3 -0
  306. package/dist/types/server.d.ts +16 -0
  307. package/dist/types/ssr/index.d.ts +233 -0
  308. package/dist/types/ssr/inject-rsc-eager.d.ts +3 -0
  309. package/dist/types/ssr/preinit-client-references.d.ts +71 -0
  310. package/dist/types/ssr/ssr-root.d.ts +69 -0
  311. package/dist/types/static-handler.d.ts +71 -0
  312. package/dist/types/testing/cache-status.d.ts +63 -0
  313. package/dist/types/testing/collect-handle.d.ts +20 -0
  314. package/dist/types/testing/dispatch.d.ts +127 -0
  315. package/dist/types/testing/dom.entry.d.ts +15 -0
  316. package/dist/types/testing/e2e/fixture.d.ts +37 -0
  317. package/dist/types/testing/e2e/index.d.ts +31 -0
  318. package/dist/types/testing/e2e/matchers.d.ts +17 -0
  319. package/dist/types/testing/e2e/page-helpers.d.ts +86 -0
  320. package/dist/types/testing/e2e/parity.d.ts +111 -0
  321. package/dist/types/testing/e2e/server.d.ts +35 -0
  322. package/dist/types/testing/flight-matchers.d.ts +55 -0
  323. package/dist/types/testing/flight-normalize.d.ts +1 -0
  324. package/dist/types/testing/flight-tree.d.ts +192 -0
  325. package/dist/types/testing/flight.d.ts +115 -0
  326. package/dist/types/testing/flight.entry.d.ts +27 -0
  327. package/dist/types/testing/generated-routes.d.ts +66 -0
  328. package/dist/types/testing/index.d.ts +54 -0
  329. package/dist/types/testing/internal/context.d.ts +225 -0
  330. package/dist/types/testing/internal/flight-client-globals.d.ts +1 -0
  331. package/dist/types/testing/internal/seed-vars.d.ts +30 -0
  332. package/dist/types/testing/render-handler.d.ts +160 -0
  333. package/dist/types/testing/render-route.d.ts +265 -0
  334. package/dist/types/testing/run-loader.d.ts +195 -0
  335. package/dist/types/testing/run-middleware.d.ts +132 -0
  336. package/dist/types/testing/run-transition-when.d.ts +78 -0
  337. package/dist/types/testing/shell-status.d.ts +81 -0
  338. package/dist/types/testing/vitest-stubs/cloudflare-email.d.ts +6 -0
  339. package/dist/types/testing/vitest-stubs/cloudflare-workers.d.ts +13 -0
  340. package/dist/types/testing/vitest-stubs/plugin-rsc.d.ts +7 -0
  341. package/dist/types/testing/vitest-stubs/version.d.ts +1 -0
  342. package/dist/types/testing/vitest.d.ts +205 -0
  343. package/dist/types/theme/ThemeProvider.d.ts +13 -0
  344. package/dist/types/theme/ThemeScript.d.ts +45 -0
  345. package/dist/types/theme/constants.d.ts +39 -0
  346. package/dist/types/theme/index.d.ts +29 -0
  347. package/dist/types/theme/theme-context.d.ts +21 -0
  348. package/dist/types/theme/theme-script.d.ts +26 -0
  349. package/dist/types/theme/types.d.ts +162 -0
  350. package/dist/types/theme/use-theme.d.ts +8 -0
  351. package/dist/types/types/boundaries.d.ts +110 -0
  352. package/dist/types/types/cache-types.d.ts +191 -0
  353. package/dist/types/types/error-types.d.ts +114 -0
  354. package/dist/types/types/global-namespace.d.ts +90 -0
  355. package/dist/types/types/handler-context.d.ts +658 -0
  356. package/dist/types/types/index.d.ts +11 -0
  357. package/dist/types/types/loader-types.d.ts +208 -0
  358. package/dist/types/types/request-scope.d.ts +93 -0
  359. package/dist/types/types/route-config.d.ts +105 -0
  360. package/dist/types/types/route-entry.d.ts +98 -0
  361. package/dist/types/types/segments.d.ts +246 -0
  362. package/dist/types/types.d.ts +1 -0
  363. package/dist/types/urls/include-helper.d.ts +17 -0
  364. package/dist/types/urls/include-provider.d.ts +27 -0
  365. package/dist/types/urls/index.d.ts +6 -0
  366. package/dist/types/urls/path-helper-types.d.ts +198 -0
  367. package/dist/types/urls/path-helper.d.ts +12 -0
  368. package/dist/types/urls/pattern-types.d.ts +166 -0
  369. package/dist/types/urls/response-types.d.ts +67 -0
  370. package/dist/types/urls/type-extraction.d.ts +157 -0
  371. package/dist/types/urls/urls-function.d.ts +24 -0
  372. package/dist/types/urls.d.ts +1 -0
  373. package/dist/types/use-loader.d.ts +150 -0
  374. package/dist/types/vercel/index.d.ts +10 -0
  375. package/dist/types/vercel/tracing.d.ts +71 -0
  376. package/dist/types/vite/debug.d.ts +80 -0
  377. package/dist/types/vite/discovery/bundle-postprocess.d.ts +12 -0
  378. package/dist/types/vite/discovery/client-urls-projection.d.ts +53 -0
  379. package/dist/types/vite/discovery/dev-prerender-cache.d.ts +65 -0
  380. package/dist/types/vite/discovery/discover-routers.d.ts +17 -0
  381. package/dist/types/vite/discovery/discovery-errors.d.ts +113 -0
  382. package/dist/types/vite/discovery/gate-state.d.ts +79 -0
  383. package/dist/types/vite/discovery/prerender-collection.d.ts +24 -0
  384. package/dist/types/vite/discovery/route-types-writer.d.ts +32 -0
  385. package/dist/types/vite/discovery/self-gen-tracking.d.ts +22 -0
  386. package/dist/types/vite/discovery/shell-prerender-phase.d.ts +40 -0
  387. package/dist/types/vite/discovery/state.d.ts +170 -0
  388. package/dist/types/vite/discovery/virtual-module-codegen.d.ts +15 -0
  389. package/dist/types/vite/encryption-key.d.ts +2 -0
  390. package/dist/types/vite/index.d.ts +11 -0
  391. package/dist/types/vite/inject-client-debug.d.ts +56 -0
  392. package/dist/types/vite/plugin-types.d.ts +298 -0
  393. package/dist/types/vite/plugins/cjs-to-esm.d.ts +6 -0
  394. package/dist/types/vite/plugins/client-ref-dedup.d.ts +40 -0
  395. package/dist/types/vite/plugins/client-ref-hashing.d.ts +35 -0
  396. package/dist/types/vite/plugins/cloudflare-protocol-stub.d.ts +64 -0
  397. package/dist/types/vite/plugins/expose-action-id.d.ts +18 -0
  398. package/dist/types/vite/plugins/expose-id-utils.d.ts +37 -0
  399. package/dist/types/vite/plugins/expose-ids/export-analysis.d.ts +19 -0
  400. package/dist/types/vite/plugins/expose-ids/handler-transform.d.ts +10 -0
  401. package/dist/types/vite/plugins/expose-ids/loader-transform.d.ts +8 -0
  402. package/dist/types/vite/plugins/expose-ids/router-transform.d.ts +13 -0
  403. package/dist/types/vite/plugins/expose-ids/types.d.ts +29 -0
  404. package/dist/types/vite/plugins/expose-internal-ids.d.ts +16 -0
  405. package/dist/types/vite/plugins/performance-tracks.d.ts +25 -0
  406. package/dist/types/vite/plugins/refresh-cmd.d.ts +20 -0
  407. package/dist/types/vite/plugins/server-ref-hashing.d.ts +24 -0
  408. package/dist/types/vite/plugins/server-reference-pattern.d.ts +1 -0
  409. package/dist/types/vite/plugins/use-cache-transform.d.ts +20 -0
  410. package/dist/types/vite/plugins/vercel-output.d.ts +85 -0
  411. package/dist/types/vite/plugins/version-injector.d.ts +21 -0
  412. package/dist/types/vite/plugins/version-plugin.d.ts +19 -0
  413. package/dist/types/vite/plugins/virtual-entries.d.ts +36 -0
  414. package/dist/types/vite/plugins/virtual-stub-plugin.d.ts +7 -0
  415. package/dist/types/vite/rango.d.ts +29 -0
  416. package/dist/types/vite/router-discovery.d.ts +23 -0
  417. package/dist/types/vite/utils/ast-handler-extract.d.ts +64 -0
  418. package/dist/types/vite/utils/banner.d.ts +2 -0
  419. package/dist/types/vite/utils/bundle-analysis.d.ts +28 -0
  420. package/dist/types/vite/utils/client-chunks.d.ts +55 -0
  421. package/dist/types/vite/utils/directive-prologue.d.ts +16 -0
  422. package/dist/types/vite/utils/forward-user-plugins.d.ts +37 -0
  423. package/dist/types/vite/utils/manifest-utils.d.ts +7 -0
  424. package/dist/types/vite/utils/package-resolution.d.ts +6 -0
  425. package/dist/types/vite/utils/prerender-utils.d.ts +32 -0
  426. package/dist/types/vite/utils/shared-utils.d.ts +67 -0
  427. package/dist/types.backup/__internal.d.ts +127 -0
  428. package/dist/types.backup/bin/rango.d.ts +1 -0
  429. package/dist/types.backup/browser/action-coordinator.d.ts +57 -0
  430. package/dist/types.backup/browser/action-fence.d.ts +33 -0
  431. package/dist/types.backup/browser/app-shell.d.ts +34 -0
  432. package/dist/types.backup/browser/app-version.d.ts +6 -0
  433. package/dist/types.backup/browser/connection-warmup.d.ts +31 -0
  434. package/dist/types.backup/browser/cookie-name.d.ts +66 -0
  435. package/dist/types.backup/browser/event-controller.d.ts +221 -0
  436. package/dist/types.backup/browser/history-state.d.ts +26 -0
  437. package/dist/types.backup/browser/index.d.ts +1 -0
  438. package/dist/types.backup/browser/intercept-utils.d.ts +30 -0
  439. package/dist/types.backup/browser/invalidate-client-cache.d.ts +17 -0
  440. package/dist/types.backup/browser/link-interceptor.d.ts +43 -0
  441. package/dist/types.backup/browser/logging.d.ts +33 -0
  442. package/dist/types.backup/browser/merge-segment-loaders.d.ts +38 -0
  443. package/dist/types.backup/browser/navigation-bridge.d.ts +27 -0
  444. package/dist/types.backup/browser/navigation-client.d.ts +17 -0
  445. package/dist/types.backup/browser/navigation-store-handle.d.ts +25 -0
  446. package/dist/types.backup/browser/navigation-store.d.ts +95 -0
  447. package/dist/types.backup/browser/navigation-transaction.d.ts +75 -0
  448. package/dist/types.backup/browser/network-error-handler.d.ts +35 -0
  449. package/dist/types.backup/browser/partial-update.d.ts +61 -0
  450. package/dist/types.backup/browser/prefetch/cache.d.ts +183 -0
  451. package/dist/types.backup/browser/prefetch/fetch.d.ts +52 -0
  452. package/dist/types.backup/browser/prefetch/observer.d.ts +27 -0
  453. package/dist/types.backup/browser/prefetch/policy.d.ts +13 -0
  454. package/dist/types.backup/browser/prefetch/queue.d.ts +48 -0
  455. package/dist/types.backup/browser/prefetch/resource-ready.d.ts +28 -0
  456. package/dist/types.backup/browser/rango-state.d.ts +52 -0
  457. package/dist/types.backup/browser/react/Link.d.ts +140 -0
  458. package/dist/types.backup/browser/react/NavigationProvider.d.ts +88 -0
  459. package/dist/types.backup/browser/react/ScrollRestoration.d.ts +78 -0
  460. package/dist/types.backup/browser/react/context.d.ts +54 -0
  461. package/dist/types.backup/browser/react/filter-segment-order.d.ts +35 -0
  462. package/dist/types.backup/browser/react/index.d.ts +1 -0
  463. package/dist/types.backup/browser/react/location-state-shared.d.ts +162 -0
  464. package/dist/types.backup/browser/react/location-state.d.ts +29 -0
  465. package/dist/types.backup/browser/react/mount-context.d.ts +23 -0
  466. package/dist/types.backup/browser/react/nonce-context.d.ts +14 -0
  467. package/dist/types.backup/browser/react/shallow-equal.d.ts +5 -0
  468. package/dist/types.backup/browser/react/use-action.d.ts +61 -0
  469. package/dist/types.backup/browser/react/use-handle.d.ts +21 -0
  470. package/dist/types.backup/browser/react/use-href.d.ts +32 -0
  471. package/dist/types.backup/browser/react/use-link-status.d.ts +36 -0
  472. package/dist/types.backup/browser/react/use-mount.d.ts +24 -0
  473. package/dist/types.backup/browser/react/use-navigation.d.ts +15 -0
  474. package/dist/types.backup/browser/react/use-params.d.ts +21 -0
  475. package/dist/types.backup/browser/react/use-pathname.d.ts +13 -0
  476. package/dist/types.backup/browser/react/use-reverse.d.ts +40 -0
  477. package/dist/types.backup/browser/react/use-router.d.ts +23 -0
  478. package/dist/types.backup/browser/react/use-search-params.d.ts +19 -0
  479. package/dist/types.backup/browser/react/use-segments.d.ts +29 -0
  480. package/dist/types.backup/browser/response-adapter.d.ts +58 -0
  481. package/dist/types.backup/browser/rsc-router.d.ts +141 -0
  482. package/dist/types.backup/browser/scroll-restoration.d.ts +103 -0
  483. package/dist/types.backup/browser/segment-reconciler.d.ts +74 -0
  484. package/dist/types.backup/browser/segment-structure-assert.d.ts +16 -0
  485. package/dist/types.backup/browser/server-action-bridge.d.ts +29 -0
  486. package/dist/types.backup/browser/types.d.ts +530 -0
  487. package/dist/types.backup/browser/validate-redirect-origin.d.ts +28 -0
  488. package/dist/types.backup/build/collect-fallback-refs.d.ts +5 -0
  489. package/dist/types.backup/build/generate-manifest.d.ts +100 -0
  490. package/dist/types.backup/build/generate-route-types.d.ts +8 -0
  491. package/dist/types.backup/build/index.d.ts +21 -0
  492. package/dist/types.backup/build/prefix-tree-utils.d.ts +56 -0
  493. package/dist/types.backup/build/route-trie.d.ts +89 -0
  494. package/dist/types.backup/build/route-types/ast-helpers.d.ts +3 -0
  495. package/dist/types.backup/build/route-types/ast-route-extraction.d.ts +13 -0
  496. package/dist/types.backup/build/route-types/codegen.d.ts +16 -0
  497. package/dist/types.backup/build/route-types/include-resolution.d.ts +74 -0
  498. package/dist/types.backup/build/route-types/param-extraction.d.ts +13 -0
  499. package/dist/types.backup/build/route-types/per-module-writer.d.ts +18 -0
  500. package/dist/types.backup/build/route-types/router-processing.d.ts +82 -0
  501. package/dist/types.backup/build/route-types/scan-filter.d.ts +17 -0
  502. package/dist/types.backup/build/route-types/source-scan.d.ts +13 -0
  503. package/dist/types.backup/build/runtime-discovery.d.ts +24 -0
  504. package/dist/types.backup/cache/background-task.d.ts +21 -0
  505. package/dist/types.backup/cache/cache-error.d.ts +71 -0
  506. package/dist/types.backup/cache/cache-key-utils.d.ts +35 -0
  507. package/dist/types.backup/cache/cache-policy.d.ts +59 -0
  508. package/dist/types.backup/cache/cache-runtime.d.ts +51 -0
  509. package/dist/types.backup/cache/cache-scope.d.ts +134 -0
  510. package/dist/types.backup/cache/cache-tag.d.ts +79 -0
  511. package/dist/types.backup/cache/cf/cf-base64.d.ts +4 -0
  512. package/dist/types.backup/cache/cf/cf-cache-constants.d.ts +105 -0
  513. package/dist/types.backup/cache/cf/cf-cache-store.d.ts +481 -0
  514. package/dist/types.backup/cache/cf/cf-cache-types.d.ts +300 -0
  515. package/dist/types.backup/cache/cf/cf-kv-utils.d.ts +22 -0
  516. package/dist/types.backup/cache/cf/cf-tag-marker-memo.d.ts +15 -0
  517. package/dist/types.backup/cache/cf/index.d.ts +3 -0
  518. package/dist/types.backup/cache/document-cache.d.ts +69 -0
  519. package/dist/types.backup/cache/handle-capture.d.ts +23 -0
  520. package/dist/types.backup/cache/handle-snapshot.d.ts +39 -0
  521. package/dist/types.backup/cache/index.d.ts +7 -0
  522. package/dist/types.backup/cache/memory-segment-store.d.ts +163 -0
  523. package/dist/types.backup/cache/profile-registry.d.ts +40 -0
  524. package/dist/types.backup/cache/read-through-swr.d.ts +60 -0
  525. package/dist/types.backup/cache/segment-codec.d.ts +78 -0
  526. package/dist/types.backup/cache/shell-snapshot.d.ts +162 -0
  527. package/dist/types.backup/cache/tag-invalidation.d.ts +74 -0
  528. package/dist/types.backup/cache/taint.d.ts +71 -0
  529. package/dist/types.backup/cache/types.d.ts +407 -0
  530. package/dist/types.backup/cache/vercel/index.d.ts +1 -0
  531. package/dist/types.backup/cache/vercel/vercel-cache-store.d.ts +267 -0
  532. package/dist/types.backup/client.d.ts +184 -0
  533. package/dist/types.backup/client.rsc.d.ts +39 -0
  534. package/dist/types.backup/cloudflare/index.d.ts +7 -0
  535. package/dist/types.backup/cloudflare/tracing.d.ts +53 -0
  536. package/dist/types.backup/component-utils.d.ts +46 -0
  537. package/dist/types.backup/components/DefaultDocument.d.ts +13 -0
  538. package/dist/types.backup/context-var.d.ts +84 -0
  539. package/dist/types.backup/debug.d.ts +57 -0
  540. package/dist/types.backup/decode-loader-results.d.ts +5 -0
  541. package/dist/types.backup/default-error-boundary.d.ts +10 -0
  542. package/dist/types.backup/defer.d.ts +89 -0
  543. package/dist/types.backup/deps/browser.d.ts +1 -0
  544. package/dist/types.backup/deps/html-stream-client.d.ts +1 -0
  545. package/dist/types.backup/deps/html-stream-server.d.ts +1 -0
  546. package/dist/types.backup/deps/rsc.d.ts +1 -0
  547. package/dist/types.backup/deps/ssr.d.ts +1 -0
  548. package/dist/types.backup/encode-kv.d.ts +35 -0
  549. package/dist/types.backup/errors.d.ts +226 -0
  550. package/dist/types.backup/escape-script.d.ts +44 -0
  551. package/dist/types.backup/handle.d.ts +93 -0
  552. package/dist/types.backup/handles/MetaTags.d.ts +17 -0
  553. package/dist/types.backup/handles/Scripts.d.ts +38 -0
  554. package/dist/types.backup/handles/breadcrumbs.d.ts +43 -0
  555. package/dist/types.backup/handles/deferred-resolution.d.ts +53 -0
  556. package/dist/types.backup/handles/is-thenable.d.ts +12 -0
  557. package/dist/types.backup/handles/meta.d.ts +43 -0
  558. package/dist/types.backup/handles/script.d.ts +139 -0
  559. package/dist/types.backup/host/cookie-handler.d.ts +8 -0
  560. package/dist/types.backup/host/errors.d.ts +40 -0
  561. package/dist/types.backup/host/index.d.ts +33 -0
  562. package/dist/types.backup/host/pattern-matcher.d.ts +30 -0
  563. package/dist/types.backup/host/router.d.ts +12 -0
  564. package/dist/types.backup/host/testing.d.ts +41 -0
  565. package/dist/types.backup/host/types.d.ts +148 -0
  566. package/dist/types.backup/host/utils.d.ts +20 -0
  567. package/dist/types.backup/href-client.d.ts +214 -0
  568. package/dist/types.backup/index.d.ts +112 -0
  569. package/dist/types.backup/index.rsc.d.ts +51 -0
  570. package/dist/types.backup/internal-debug.d.ts +1 -0
  571. package/dist/types.backup/loader-store.d.ts +193 -0
  572. package/dist/types.backup/loader.d.ts +18 -0
  573. package/dist/types.backup/loader.rsc.d.ts +18 -0
  574. package/dist/types.backup/missing-id-error.d.ts +1 -0
  575. package/dist/types.backup/outlet-context.d.ts +12 -0
  576. package/dist/types.backup/outlet-provider.d.ts +12 -0
  577. package/dist/types.backup/prerender/build-shell-capture.d.ts +104 -0
  578. package/dist/types.backup/prerender/param-hash.d.ts +6 -0
  579. package/dist/types.backup/prerender/shell-manifest-key.d.ts +18 -0
  580. package/dist/types.backup/prerender/store.d.ts +62 -0
  581. package/dist/types.backup/prerender.d.ts +292 -0
  582. package/dist/types.backup/redirect-origin.d.ts +55 -0
  583. package/dist/types.backup/regex-escape.d.ts +6 -0
  584. package/dist/types.backup/render-error-thrower.d.ts +13 -0
  585. package/dist/types.backup/response-utils.d.ts +35 -0
  586. package/dist/types.backup/reverse.d.ts +206 -0
  587. package/dist/types.backup/root-error-boundary.d.ts +32 -0
  588. package/dist/types.backup/route-content-wrapper.d.ts +40 -0
  589. package/dist/types.backup/route-definition/dsl-helpers.d.ts +130 -0
  590. package/dist/types.backup/route-definition/helper-factories.d.ts +22 -0
  591. package/dist/types.backup/route-definition/helpers-types.d.ts +392 -0
  592. package/dist/types.backup/route-definition/index.d.ts +7 -0
  593. package/dist/types.backup/route-definition/redirect.d.ts +48 -0
  594. package/dist/types.backup/route-definition/resolve-handler-use.d.ts +19 -0
  595. package/dist/types.backup/route-definition/use-item-types.d.ts +1 -0
  596. package/dist/types.backup/route-definition.d.ts +1 -0
  597. package/dist/types.backup/route-map-builder.d.ts +127 -0
  598. package/dist/types.backup/route-name.d.ts +27 -0
  599. package/dist/types.backup/route-types.d.ts +172 -0
  600. package/dist/types.backup/router/basename.d.ts +10 -0
  601. package/dist/types.backup/router/content-negotiation.d.ts +91 -0
  602. package/dist/types.backup/router/debug-manifest.d.ts +7 -0
  603. package/dist/types.backup/router/error-handling.d.ts +76 -0
  604. package/dist/types.backup/router/find-match.d.ts +19 -0
  605. package/dist/types.backup/router/handler-context.d.ts +41 -0
  606. package/dist/types.backup/router/instrument.d.ts +161 -0
  607. package/dist/types.backup/router/intercept-resolution.d.ts +79 -0
  608. package/dist/types.backup/router/lazy-includes.d.ts +26 -0
  609. package/dist/types.backup/router/loader-resolution.d.ts +63 -0
  610. package/dist/types.backup/router/logging.d.ts +41 -0
  611. package/dist/types.backup/router/manifest.d.ts +8 -0
  612. package/dist/types.backup/router/match-api.d.ts +19 -0
  613. package/dist/types.backup/router/match-context.d.ts +184 -0
  614. package/dist/types.backup/router/match-handlers.d.ts +49 -0
  615. package/dist/types.backup/router/match-middleware/background-revalidation.d.ts +113 -0
  616. package/dist/types.backup/router/match-middleware/cache-lookup.d.ts +113 -0
  617. package/dist/types.backup/router/match-middleware/cache-store.d.ts +112 -0
  618. package/dist/types.backup/router/match-middleware/index.d.ts +80 -0
  619. package/dist/types.backup/router/match-middleware/intercept-resolution.d.ts +116 -0
  620. package/dist/types.backup/router/match-middleware/segment-resolution.d.ts +94 -0
  621. package/dist/types.backup/router/match-pipelines.d.ts +103 -0
  622. package/dist/types.backup/router/match-result.d.ts +114 -0
  623. package/dist/types.backup/router/metrics.d.ts +6 -0
  624. package/dist/types.backup/router/middleware-types.d.ts +74 -0
  625. package/dist/types.backup/router/middleware.d.ts +116 -0
  626. package/dist/types.backup/router/navigation-snapshot.d.ts +22 -0
  627. package/dist/types.backup/router/params-util.d.ts +8 -0
  628. package/dist/types.backup/router/parse-pattern.d.ts +38 -0
  629. package/dist/types.backup/router/pattern-matching.d.ts +169 -0
  630. package/dist/types.backup/router/prefetch-cache-ttl.d.ts +27 -0
  631. package/dist/types.backup/router/prefetch-limits.d.ts +20 -0
  632. package/dist/types.backup/router/prerender-match.d.ts +50 -0
  633. package/dist/types.backup/router/preview-match.d.ts +22 -0
  634. package/dist/types.backup/router/request-classification.d.ts +104 -0
  635. package/dist/types.backup/router/revalidation.d.ts +57 -0
  636. package/dist/types.backup/router/route-snapshot.d.ts +112 -0
  637. package/dist/types.backup/router/router-context.d.ts +137 -0
  638. package/dist/types.backup/router/router-interfaces.d.ts +432 -0
  639. package/dist/types.backup/router/router-options.d.ts +738 -0
  640. package/dist/types.backup/router/router-registry.d.ts +15 -0
  641. package/dist/types.backup/router/segment-resolution/fresh.d.ts +55 -0
  642. package/dist/types.backup/router/segment-resolution/helpers.d.ts +93 -0
  643. package/dist/types.backup/router/segment-resolution/loader-cache.d.ts +33 -0
  644. package/dist/types.backup/router/segment-resolution/loader-mask.d.ts +44 -0
  645. package/dist/types.backup/router/segment-resolution/loader-snapshot.d.ts +90 -0
  646. package/dist/types.backup/router/segment-resolution/mask-nested.d.ts +53 -0
  647. package/dist/types.backup/router/segment-resolution/revalidation.d.ts +85 -0
  648. package/dist/types.backup/router/segment-resolution/static-store.d.ts +17 -0
  649. package/dist/types.backup/router/segment-resolution/streamed-handler-telemetry.d.ts +16 -0
  650. package/dist/types.backup/router/segment-resolution/view-transition-default.d.ts +28 -0
  651. package/dist/types.backup/router/segment-resolution.d.ts +3 -0
  652. package/dist/types.backup/router/segment-wrappers.d.ts +53 -0
  653. package/dist/types.backup/router/state-cookie-name.d.ts +1 -0
  654. package/dist/types.backup/router/substitute-pattern-params.d.ts +23 -0
  655. package/dist/types.backup/router/telemetry-otel.d.ts +113 -0
  656. package/dist/types.backup/router/telemetry.d.ts +215 -0
  657. package/dist/types.backup/router/timeout.d.ts +68 -0
  658. package/dist/types.backup/router/tracing.d.ts +125 -0
  659. package/dist/types.backup/router/trie-matching.d.ts +32 -0
  660. package/dist/types.backup/router/types.d.ts +98 -0
  661. package/dist/types.backup/router/url-params.d.ts +26 -0
  662. package/dist/types.backup/router.d.ts +7 -0
  663. package/dist/types.backup/rsc/capture-queue.d.ts +6 -0
  664. package/dist/types.backup/rsc/full-payload.d.ts +22 -0
  665. package/dist/types.backup/rsc/handler-context.d.ts +31 -0
  666. package/dist/types.backup/rsc/handler.d.ts +9 -0
  667. package/dist/types.backup/rsc/helpers.d.ts +213 -0
  668. package/dist/types.backup/rsc/index.d.ts +17 -0
  669. package/dist/types.backup/rsc/json-route-result.d.ts +20 -0
  670. package/dist/types.backup/rsc/loader-fetch.d.ts +14 -0
  671. package/dist/types.backup/rsc/manifest-init.d.ts +18 -0
  672. package/dist/types.backup/rsc/nonce.d.ts +28 -0
  673. package/dist/types.backup/rsc/origin-guard.d.ts +50 -0
  674. package/dist/types.backup/rsc/progressive-enhancement.d.ts +19 -0
  675. package/dist/types.backup/rsc/redirect-guard.d.ts +35 -0
  676. package/dist/types.backup/rsc/response-cache-serve.d.ts +46 -0
  677. package/dist/types.backup/rsc/response-error.d.ts +19 -0
  678. package/dist/types.backup/rsc/response-route-handler.d.ts +29 -0
  679. package/dist/types.backup/rsc/rsc-rendering.d.ts +23 -0
  680. package/dist/types.backup/rsc/runtime-warnings.d.ts +22 -0
  681. package/dist/types.backup/rsc/server-action.d.ts +68 -0
  682. package/dist/types.backup/rsc/shell-build-manifest.d.ts +84 -0
  683. package/dist/types.backup/rsc/shell-capture-constants.d.ts +27 -0
  684. package/dist/types.backup/rsc/shell-capture.d.ts +374 -0
  685. package/dist/types.backup/rsc/shell-serve.d.ts +136 -0
  686. package/dist/types.backup/rsc/ssr-setup.d.ts +48 -0
  687. package/dist/types.backup/rsc/transition-gate.d.ts +27 -0
  688. package/dist/types.backup/rsc/types.d.ts +290 -0
  689. package/dist/types.backup/runtime-env.d.ts +1 -0
  690. package/dist/types.backup/search-params.d.ts +125 -0
  691. package/dist/types.backup/segment-content-promise.d.ts +13 -0
  692. package/dist/types.backup/segment-fragments.d.ts +56 -0
  693. package/dist/types.backup/segment-loader-promise.d.ts +22 -0
  694. package/dist/types.backup/segment-system.d.ts +84 -0
  695. package/dist/types.backup/serialize.d.ts +164 -0
  696. package/dist/types.backup/server/context.d.ts +494 -0
  697. package/dist/types.backup/server/cookie-parse.d.ts +10 -0
  698. package/dist/types.backup/server/cookie-store.d.ts +107 -0
  699. package/dist/types.backup/server/fetchable-loader-store.d.ts +20 -0
  700. package/dist/types.backup/server/handle-store.d.ts +100 -0
  701. package/dist/types.backup/server/loader-registry.d.ts +32 -0
  702. package/dist/types.backup/server/request-context.d.ts +596 -0
  703. package/dist/types.backup/server/root-layout.d.ts +3 -0
  704. package/dist/types.backup/server.d.ts +15 -0
  705. package/dist/types.backup/ssr/index.d.ts +233 -0
  706. package/dist/types.backup/ssr/inject-rsc-eager.d.ts +3 -0
  707. package/dist/types.backup/ssr/preinit-client-references.d.ts +71 -0
  708. package/dist/types.backup/ssr/ssr-root.d.ts +69 -0
  709. package/dist/types.backup/static-handler.d.ts +57 -0
  710. package/dist/types.backup/testing/cache-status.d.ts +63 -0
  711. package/dist/types.backup/testing/collect-handle.d.ts +20 -0
  712. package/dist/types.backup/testing/dispatch.d.ts +123 -0
  713. package/dist/types.backup/testing/dom.entry.d.ts +15 -0
  714. package/dist/types.backup/testing/e2e/fixture.d.ts +37 -0
  715. package/dist/types.backup/testing/e2e/index.d.ts +30 -0
  716. package/dist/types.backup/testing/e2e/matchers.d.ts +17 -0
  717. package/dist/types.backup/testing/e2e/page-helpers.d.ts +62 -0
  718. package/dist/types.backup/testing/e2e/parity.d.ts +111 -0
  719. package/dist/types.backup/testing/e2e/server.d.ts +35 -0
  720. package/dist/types.backup/testing/flight-matchers.d.ts +55 -0
  721. package/dist/types.backup/testing/flight-normalize.d.ts +1 -0
  722. package/dist/types.backup/testing/flight-tree.d.ts +192 -0
  723. package/dist/types.backup/testing/flight.d.ts +115 -0
  724. package/dist/types.backup/testing/flight.entry.d.ts +27 -0
  725. package/dist/types.backup/testing/generated-routes.d.ts +66 -0
  726. package/dist/types.backup/testing/index.d.ts +52 -0
  727. package/dist/types.backup/testing/internal/context.d.ts +225 -0
  728. package/dist/types.backup/testing/internal/flight-client-globals.d.ts +1 -0
  729. package/dist/types.backup/testing/internal/seed-vars.d.ts +30 -0
  730. package/dist/types.backup/testing/render-handler.d.ts +160 -0
  731. package/dist/types.backup/testing/render-route.d.ts +246 -0
  732. package/dist/types.backup/testing/run-loader.d.ts +186 -0
  733. package/dist/types.backup/testing/run-middleware.d.ts +132 -0
  734. package/dist/types.backup/testing/run-transition-when.d.ts +77 -0
  735. package/dist/types.backup/testing/vitest-stubs/cloudflare-email.d.ts +6 -0
  736. package/dist/types.backup/testing/vitest-stubs/cloudflare-workers.d.ts +13 -0
  737. package/dist/types.backup/testing/vitest-stubs/plugin-rsc.d.ts +7 -0
  738. package/dist/types.backup/testing/vitest-stubs/version.d.ts +1 -0
  739. package/dist/types.backup/testing/vitest.d.ts +205 -0
  740. package/dist/types.backup/theme/ThemeProvider.d.ts +13 -0
  741. package/dist/types.backup/theme/ThemeScript.d.ts +45 -0
  742. package/dist/types.backup/theme/constants.d.ts +39 -0
  743. package/dist/types.backup/theme/index.d.ts +29 -0
  744. package/dist/types.backup/theme/theme-context.d.ts +21 -0
  745. package/dist/types.backup/theme/theme-script.d.ts +26 -0
  746. package/dist/types.backup/theme/types.d.ts +162 -0
  747. package/dist/types.backup/theme/use-theme.d.ts +8 -0
  748. package/dist/types.backup/types/boundaries.d.ts +93 -0
  749. package/dist/types.backup/types/cache-types.d.ts +191 -0
  750. package/dist/types.backup/types/error-types.d.ts +114 -0
  751. package/dist/types.backup/types/global-namespace.d.ts +90 -0
  752. package/dist/types.backup/types/handler-context.d.ts +658 -0
  753. package/dist/types.backup/types/index.d.ts +11 -0
  754. package/dist/types.backup/types/loader-types.d.ts +182 -0
  755. package/dist/types.backup/types/request-scope.d.ts +93 -0
  756. package/dist/types.backup/types/route-config.d.ts +105 -0
  757. package/dist/types.backup/types/route-entry.d.ts +95 -0
  758. package/dist/types.backup/types/segments.d.ts +234 -0
  759. package/dist/types.backup/types.d.ts +1 -0
  760. package/dist/types.backup/urls/include-helper.d.ts +17 -0
  761. package/dist/types.backup/urls/include-provider.d.ts +27 -0
  762. package/dist/types.backup/urls/index.d.ts +6 -0
  763. package/dist/types.backup/urls/path-helper-types.d.ts +197 -0
  764. package/dist/types.backup/urls/path-helper.d.ts +12 -0
  765. package/dist/types.backup/urls/pattern-types.d.ts +166 -0
  766. package/dist/types.backup/urls/response-types.d.ts +67 -0
  767. package/dist/types.backup/urls/type-extraction.d.ts +157 -0
  768. package/dist/types.backup/urls/urls-function.d.ts +24 -0
  769. package/dist/types.backup/urls.d.ts +1 -0
  770. package/dist/types.backup/use-loader.d.ts +150 -0
  771. package/dist/types.backup/vercel/index.d.ts +10 -0
  772. package/dist/types.backup/vercel/tracing.d.ts +70 -0
  773. package/dist/types.backup/vite/debug.d.ts +80 -0
  774. package/dist/types.backup/vite/discovery/bundle-postprocess.d.ts +12 -0
  775. package/dist/types.backup/vite/discovery/dev-prerender-cache.d.ts +65 -0
  776. package/dist/types.backup/vite/discovery/discover-routers.d.ts +17 -0
  777. package/dist/types.backup/vite/discovery/discovery-errors.d.ts +113 -0
  778. package/dist/types.backup/vite/discovery/gate-state.d.ts +79 -0
  779. package/dist/types.backup/vite/discovery/prerender-collection.d.ts +24 -0
  780. package/dist/types.backup/vite/discovery/route-types-writer.d.ts +32 -0
  781. package/dist/types.backup/vite/discovery/self-gen-tracking.d.ts +22 -0
  782. package/dist/types.backup/vite/discovery/shell-prerender-phase.d.ts +40 -0
  783. package/dist/types.backup/vite/discovery/state.d.ts +162 -0
  784. package/dist/types.backup/vite/discovery/virtual-module-codegen.d.ts +15 -0
  785. package/dist/types.backup/vite/index.d.ts +11 -0
  786. package/dist/types.backup/vite/inject-client-debug.d.ts +56 -0
  787. package/dist/types.backup/vite/plugin-types.d.ts +298 -0
  788. package/dist/types.backup/vite/plugins/cjs-to-esm.d.ts +6 -0
  789. package/dist/types.backup/vite/plugins/client-ref-dedup.d.ts +40 -0
  790. package/dist/types.backup/vite/plugins/client-ref-hashing.d.ts +35 -0
  791. package/dist/types.backup/vite/plugins/cloudflare-protocol-stub.d.ts +64 -0
  792. package/dist/types.backup/vite/plugins/expose-action-id.d.ts +18 -0
  793. package/dist/types.backup/vite/plugins/expose-id-utils.d.ts +37 -0
  794. package/dist/types.backup/vite/plugins/expose-ids/export-analysis.d.ts +19 -0
  795. package/dist/types.backup/vite/plugins/expose-ids/handler-transform.d.ts +10 -0
  796. package/dist/types.backup/vite/plugins/expose-ids/loader-transform.d.ts +8 -0
  797. package/dist/types.backup/vite/plugins/expose-ids/router-transform.d.ts +13 -0
  798. package/dist/types.backup/vite/plugins/expose-ids/types.d.ts +29 -0
  799. package/dist/types.backup/vite/plugins/expose-internal-ids.d.ts +6 -0
  800. package/dist/types.backup/vite/plugins/performance-tracks.d.ts +25 -0
  801. package/dist/types.backup/vite/plugins/refresh-cmd.d.ts +20 -0
  802. package/dist/types.backup/vite/plugins/use-cache-transform.d.ts +20 -0
  803. package/dist/types.backup/vite/plugins/vercel-output.d.ts +85 -0
  804. package/dist/types.backup/vite/plugins/version-injector.d.ts +21 -0
  805. package/dist/types.backup/vite/plugins/version-plugin.d.ts +19 -0
  806. package/dist/types.backup/vite/plugins/virtual-entries.d.ts +36 -0
  807. package/dist/types.backup/vite/plugins/virtual-stub-plugin.d.ts +7 -0
  808. package/dist/types.backup/vite/rango.d.ts +29 -0
  809. package/dist/types.backup/vite/router-discovery.d.ts +23 -0
  810. package/dist/types.backup/vite/utils/ast-handler-extract.d.ts +64 -0
  811. package/dist/types.backup/vite/utils/banner.d.ts +2 -0
  812. package/dist/types.backup/vite/utils/bundle-analysis.d.ts +28 -0
  813. package/dist/types.backup/vite/utils/client-chunks.d.ts +55 -0
  814. package/dist/types.backup/vite/utils/directive-prologue.d.ts +16 -0
  815. package/dist/types.backup/vite/utils/forward-user-plugins.d.ts +37 -0
  816. package/dist/types.backup/vite/utils/manifest-utils.d.ts +7 -0
  817. package/dist/types.backup/vite/utils/package-resolution.d.ts +6 -0
  818. package/dist/types.backup/vite/utils/prerender-utils.d.ts +32 -0
  819. package/dist/types.backup/vite/utils/shared-utils.d.ts +55 -0
  820. package/dist/vite/index.js +10628 -3742
  821. package/dist/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  822. package/package.json +120 -38
  823. package/skills/api-client/SKILL.md +211 -0
  824. package/skills/breadcrumbs/SKILL.md +85 -6
  825. package/skills/bundle-analysis/SKILL.md +159 -0
  826. package/skills/cache-guide/SKILL.md +255 -25
  827. package/skills/caching/SKILL.md +377 -13
  828. package/skills/catalog.json +283 -0
  829. package/skills/cloudflare/SKILL.md +151 -0
  830. package/skills/cloudflare/agents/openai.yaml +4 -0
  831. package/skills/cloudflare/references/d1-and-local-dev.md +131 -0
  832. package/skills/cloudflare/references/streaming-and-deploy.md +107 -0
  833. package/skills/cloudflare/references/webhooks-and-crypto.md +147 -0
  834. package/skills/comparison/SKILL.md +50 -0
  835. package/skills/comparison/agents/openai.yaml +4 -0
  836. package/skills/comparison/references/framework-comparison.md +844 -0
  837. package/skills/composability/SKILL.md +124 -4
  838. package/skills/css/SKILL.md +76 -0
  839. package/skills/debug-manifest/SKILL.md +5 -11
  840. package/skills/defer-hydration/SKILL.md +235 -0
  841. package/skills/deployment-caching/SKILL.md +176 -0
  842. package/skills/document-cache/SKILL.md +116 -58
  843. package/skills/fonts/SKILL.md +1 -1
  844. package/skills/handler-use/SKILL.md +364 -0
  845. package/skills/hooks/SKILL.md +73 -691
  846. package/skills/hooks/data.md +273 -0
  847. package/skills/hooks/handle-and-actions.md +103 -0
  848. package/skills/hooks/navigation.md +110 -0
  849. package/skills/hooks/outlets.md +62 -0
  850. package/skills/hooks/state.md +228 -0
  851. package/skills/hooks/urls.md +135 -0
  852. package/skills/host-router/SKILL.md +129 -27
  853. package/skills/i18n/SKILL.md +276 -0
  854. package/skills/intercept/SKILL.md +94 -18
  855. package/skills/layout/SKILL.md +62 -19
  856. package/skills/links/SKILL.md +285 -17
  857. package/skills/loader/SKILL.md +302 -54
  858. package/skills/middleware/SKILL.md +92 -16
  859. package/skills/migrate-nextjs/SKILL.md +794 -0
  860. package/skills/migrate-nextjs/backend-host-swap.md +120 -0
  861. package/skills/migrate-react-router/SKILL.md +153 -0
  862. package/skills/migrate-react-router/component-migration.md +196 -0
  863. package/skills/migrate-react-router/data-and-actions.md +225 -0
  864. package/skills/migrate-react-router/route-mapping.md +271 -0
  865. package/skills/mime-routes/SKILL.md +55 -18
  866. package/skills/observability/SKILL.md +231 -0
  867. package/skills/parallel/SKILL.md +176 -10
  868. package/skills/ppr/SKILL.md +904 -0
  869. package/skills/prerender/SKILL.md +236 -132
  870. package/skills/rango/SKILL.md +321 -24
  871. package/skills/react-compiler/SKILL.md +168 -0
  872. package/skills/response-routes/SKILL.md +180 -52
  873. package/skills/route/SKILL.md +178 -9
  874. package/skills/router-setup/SKILL.md +140 -11
  875. package/skills/scripts/SKILL.md +179 -0
  876. package/skills/server-actions/SKILL.md +776 -0
  877. package/skills/shell-manifest/SKILL.md +185 -0
  878. package/skills/streams-and-websockets/SKILL.md +283 -0
  879. package/skills/tailwind/SKILL.md +28 -4
  880. package/skills/testing/SKILL.md +131 -0
  881. package/skills/testing/bindings.md +103 -0
  882. package/skills/testing/cache-prerender.md +172 -0
  883. package/skills/testing/client-components.md +131 -0
  884. package/skills/testing/e2e-parity.md +125 -0
  885. package/skills/testing/flight.md +91 -0
  886. package/skills/testing/handles.md +131 -0
  887. package/skills/testing/loader.md +128 -0
  888. package/skills/testing/middleware.md +99 -0
  889. package/skills/testing/render-handler.md +122 -0
  890. package/skills/testing/response-routes.md +95 -0
  891. package/skills/testing/reverse-and-types.md +85 -0
  892. package/skills/testing/server-actions.md +107 -0
  893. package/skills/testing/server-tree.md +128 -0
  894. package/skills/testing/setup.md +123 -0
  895. package/skills/theme/SKILL.md +1 -1
  896. package/skills/typesafety/SKILL.md +45 -616
  897. package/skills/typesafety/env-and-bindings.md +254 -0
  898. package/skills/typesafety/generated-files-and-cli.md +342 -0
  899. package/skills/typesafety/params-and-search.md +153 -0
  900. package/skills/typesafety/route-types.md +213 -0
  901. package/skills/use-cache/SKILL.md +121 -15
  902. package/skills/vercel/SKILL.md +149 -0
  903. package/skills/view-transitions/SKILL.md +341 -0
  904. package/src/__augment-tests__/augment.ts +81 -0
  905. package/src/__augment-tests__/augmented.check.ts +116 -0
  906. package/src/__internal.ts +1 -66
  907. package/src/browser/action-coordinator.ts +53 -36
  908. package/src/browser/action-fence.ts +47 -0
  909. package/src/browser/app-shell.ts +39 -0
  910. package/src/browser/app-version.ts +14 -0
  911. package/src/browser/connection-warmup.ts +134 -0
  912. package/src/browser/cookie-name.ts +140 -0
  913. package/src/browser/dev-discovery.ts +66 -0
  914. package/src/browser/event-controller.ts +400 -168
  915. package/src/browser/history-state.ts +21 -0
  916. package/src/browser/index.ts +3 -3
  917. package/src/browser/invalidate-client-cache.ts +52 -0
  918. package/src/browser/link-interceptor.ts +469 -20
  919. package/src/browser/logging.ts +28 -0
  920. package/src/browser/merge-segment-loaders.ts +6 -4
  921. package/src/browser/navigation-bridge.ts +207 -31
  922. package/src/browser/navigation-client.ts +275 -97
  923. package/src/browser/navigation-store-handle.ts +38 -0
  924. package/src/browser/navigation-store.ts +208 -329
  925. package/src/browser/navigation-transaction.ts +9 -59
  926. package/src/browser/network-error-handler.ts +34 -7
  927. package/src/browser/notify-listeners.ts +22 -0
  928. package/src/browser/partial-update.ts +241 -121
  929. package/src/browser/prefetch/cache.ts +329 -78
  930. package/src/browser/prefetch/default-strategy.ts +74 -0
  931. package/src/browser/prefetch/fetch.ts +444 -40
  932. package/src/browser/prefetch/invalidation.ts +30 -0
  933. package/src/browser/prefetch/loader.ts +111 -0
  934. package/src/browser/prefetch/observer.ts +50 -22
  935. package/src/browser/prefetch/queue.ts +113 -32
  936. package/src/browser/prefetch/resource-ready.ts +77 -0
  937. package/src/browser/prefetch/runtime.ts +6 -0
  938. package/src/browser/rango-state.ts +178 -75
  939. package/src/browser/react/Link.tsx +179 -75
  940. package/src/browser/react/NavigationProvider.tsx +222 -123
  941. package/src/browser/react/ScrollRestoration.tsx +10 -6
  942. package/src/browser/react/context.ts +11 -2
  943. package/src/browser/react/filter-segment-order.ts +66 -7
  944. package/src/browser/react/index.ts +0 -48
  945. package/src/browser/react/location-state-shared.ts +178 -8
  946. package/src/browser/react/location-state.ts +39 -14
  947. package/src/browser/react/use-action.ts +6 -15
  948. package/src/browser/react/use-handle.ts +23 -69
  949. package/src/browser/react/use-href.tsx +8 -1
  950. package/src/browser/react/use-link-status.ts +33 -8
  951. package/src/browser/react/use-navigation.ts +32 -7
  952. package/src/browser/react/use-params.ts +20 -10
  953. package/src/browser/react/use-reverse.ts +106 -0
  954. package/src/browser/react/use-router.ts +47 -12
  955. package/src/browser/react/use-search-params.ts +0 -5
  956. package/src/browser/react/use-segments.ts +11 -21
  957. package/src/browser/response-adapter.ts +99 -8
  958. package/src/browser/rsc-router.tsx +271 -32
  959. package/src/browser/scroll-restoration.ts +44 -27
  960. package/src/browser/segment-reconciler.ts +44 -12
  961. package/src/browser/segment-structure-assert.ts +2 -2
  962. package/src/browser/server-action-bridge.ts +270 -71
  963. package/src/browser/types.ts +157 -37
  964. package/src/browser/validate-redirect-origin.ts +43 -16
  965. package/src/build/collect-fallback-refs.ts +107 -0
  966. package/src/build/generate-manifest.ts +217 -188
  967. package/src/build/generate-route-types.ts +6 -1
  968. package/src/build/index.ts +11 -3
  969. package/src/build/merge-full-manifests.ts +161 -0
  970. package/src/build/prefix-tree-utils.ts +123 -0
  971. package/src/build/route-trie.ts +43 -254
  972. package/src/build/route-types/ast-route-extraction.ts +15 -8
  973. package/src/build/route-types/codegen.ts +16 -5
  974. package/src/build/route-types/include-resolution.ts +521 -65
  975. package/src/build/route-types/param-extraction.ts +6 -3
  976. package/src/build/route-types/per-module-writer.ts +33 -12
  977. package/src/build/route-types/router-processing.ts +408 -161
  978. package/src/build/route-types/scan-filter.ts +9 -2
  979. package/src/build/route-types/source-scan.ts +216 -0
  980. package/src/build/runtime-discovery.ts +32 -29
  981. package/src/cache/cache-error.ts +104 -0
  982. package/src/cache/cache-exec-scope.ts +47 -0
  983. package/src/cache/cache-key-utils.ts +73 -15
  984. package/src/cache/cache-policy.ts +108 -34
  985. package/src/cache/cache-runtime.ts +566 -117
  986. package/src/cache/cache-scope.ts +429 -110
  987. package/src/cache/cache-tag.ts +149 -0
  988. package/src/cache/cf/cf-base64.ts +33 -0
  989. package/src/cache/cf/cf-cache-constants.ts +134 -0
  990. package/src/cache/cf/cf-cache-store.ts +3027 -392
  991. package/src/cache/cf/cf-cache-types.ts +417 -0
  992. package/src/cache/cf/cf-kv-utils.ts +84 -0
  993. package/src/cache/cf/cf-tag-marker-memo.ts +108 -0
  994. package/src/cache/cf/cf-zone-purge.ts +101 -0
  995. package/src/cache/cf/index.ts +11 -16
  996. package/src/cache/document-cache.ts +184 -53
  997. package/src/cache/handle-snapshot.ts +92 -1
  998. package/src/cache/index.ts +32 -20
  999. package/src/cache/memory-segment-store.ts +286 -37
  1000. package/src/cache/profile-registry.ts +46 -31
  1001. package/src/cache/read-through-swr.ts +66 -16
  1002. package/src/cache/search-params-filter.ts +118 -0
  1003. package/src/cache/segment-codec.ts +80 -25
  1004. package/src/cache/shell-snapshot.ts +516 -0
  1005. package/src/cache/tag-invalidation.ts +230 -0
  1006. package/src/cache/taint.ts +83 -9
  1007. package/src/cache/types.ts +323 -100
  1008. package/src/cache/vercel/index.ts +11 -0
  1009. package/src/cache/vercel/vercel-cache-store.ts +1264 -0
  1010. package/src/client-urls/client-root.tsx +161 -0
  1011. package/src/client-urls/client-urls.ts +665 -0
  1012. package/src/client-urls/navigation.ts +237 -0
  1013. package/src/client-urls/revalidation-protocol.ts +56 -0
  1014. package/src/client-urls/server-projection.ts +563 -0
  1015. package/src/client-urls/types.ts +178 -0
  1016. package/src/client.rsc.tsx +48 -21
  1017. package/src/client.tsx +158 -294
  1018. package/src/cloudflare/index.ts +11 -0
  1019. package/src/cloudflare/tracing.ts +112 -0
  1020. package/src/component-utils.ts +19 -0
  1021. package/src/components/DefaultDocument.tsx +8 -2
  1022. package/src/context-var.ts +84 -2
  1023. package/src/decode-loader-results.ts +160 -0
  1024. package/src/defer.ts +185 -0
  1025. package/src/deps/ssr.ts +4 -2
  1026. package/src/dev-discovery-protocol.ts +11 -0
  1027. package/src/encode-kv.ts +49 -0
  1028. package/src/errors.ts +44 -4
  1029. package/src/escape-script.ts +52 -0
  1030. package/src/handle.ts +104 -34
  1031. package/src/handles/MetaTags.tsx +24 -53
  1032. package/src/handles/Scripts.tsx +183 -0
  1033. package/src/handles/breadcrumbs.ts +35 -8
  1034. package/src/handles/deferred-resolution.ts +134 -0
  1035. package/src/handles/is-thenable.ts +16 -0
  1036. package/src/handles/meta.ts +14 -40
  1037. package/src/handles/script.ts +244 -0
  1038. package/src/host/cookie-handler.ts +9 -60
  1039. package/src/host/errors.ts +13 -22
  1040. package/src/host/index.ts +9 -2
  1041. package/src/host/pattern-matcher.ts +23 -52
  1042. package/src/host/router.ts +107 -99
  1043. package/src/host/testing.ts +40 -27
  1044. package/src/host/types.ts +37 -4
  1045. package/src/host/utils.ts +1 -1
  1046. package/src/href-client.ts +137 -22
  1047. package/src/index.rsc.ts +111 -13
  1048. package/src/index.ts +150 -19
  1049. package/src/internal-debug.ts +11 -10
  1050. package/src/loader-redirect.tsx +47 -0
  1051. package/src/loader-store.ts +500 -0
  1052. package/src/loader.rsc.ts +20 -13
  1053. package/src/loader.ts +12 -11
  1054. package/src/missing-id-error.ts +68 -0
  1055. package/src/outlet-context.ts +13 -1
  1056. package/src/outlet-provider.tsx +16 -6
  1057. package/src/prerender/build-shell-capture.ts +453 -0
  1058. package/src/prerender/param-hash.ts +16 -16
  1059. package/src/prerender/shell-manifest-key.ts +20 -0
  1060. package/src/prerender/store.ts +52 -42
  1061. package/src/prerender.ts +215 -86
  1062. package/src/redirect-origin.ts +143 -0
  1063. package/src/regex-escape.ts +8 -0
  1064. package/src/render-error-thrower.tsx +20 -0
  1065. package/src/response-utils.ts +62 -0
  1066. package/src/reverse.ts +65 -15
  1067. package/src/root-error-boundary.tsx +1 -19
  1068. package/src/route-content-wrapper.tsx +112 -78
  1069. package/src/route-definition/dsl-helpers.ts +468 -306
  1070. package/src/route-definition/helper-factories.ts +28 -140
  1071. package/src/route-definition/helpers-types.ts +156 -78
  1072. package/src/route-definition/index.ts +4 -2
  1073. package/src/route-definition/redirect.ts +51 -10
  1074. package/src/route-definition/resolve-handler-use.ts +160 -0
  1075. package/src/route-definition/use-item-types.ts +29 -0
  1076. package/src/route-map-builder.ts +102 -74
  1077. package/src/route-types.ts +37 -46
  1078. package/src/router/basename.ts +14 -0
  1079. package/src/router/content-negotiation.ts +211 -22
  1080. package/src/router/error-handling.ts +110 -29
  1081. package/src/router/find-match.ts +129 -30
  1082. package/src/router/handler-context.ts +105 -45
  1083. package/src/router/instrument.ts +401 -0
  1084. package/src/router/intercept-resolution.ts +106 -24
  1085. package/src/router/lazy-includes.ts +86 -62
  1086. package/src/router/loader-resolution.ts +511 -57
  1087. package/src/router/logging.ts +0 -6
  1088. package/src/router/manifest.ts +96 -53
  1089. package/src/router/match-api.ts +190 -219
  1090. package/src/router/match-context.ts +0 -22
  1091. package/src/router/match-handlers.ts +268 -171
  1092. package/src/router/match-middleware/background-revalidation.ts +48 -21
  1093. package/src/router/match-middleware/cache-lookup.ts +332 -291
  1094. package/src/router/match-middleware/cache-store.ts +144 -45
  1095. package/src/router/match-middleware/intercept-resolution.ts +0 -22
  1096. package/src/router/match-middleware/segment-resolution.ts +45 -14
  1097. package/src/router/match-pipelines.ts +1 -42
  1098. package/src/router/match-result.ts +124 -43
  1099. package/src/router/metrics.ts +17 -36
  1100. package/src/router/middleware-types.ts +26 -138
  1101. package/src/router/middleware.ts +304 -177
  1102. package/src/router/navigation-snapshot.ts +173 -0
  1103. package/src/router/params-util.ts +23 -0
  1104. package/src/router/parse-pattern.ts +115 -0
  1105. package/src/router/pattern-matching.ts +181 -150
  1106. package/src/router/prefetch-cache-ttl.ts +51 -0
  1107. package/src/router/prefetch-default.ts +59 -0
  1108. package/src/router/prefetch-limits.ts +37 -0
  1109. package/src/router/prerender-match.ts +250 -60
  1110. package/src/router/preview-match.ts +35 -103
  1111. package/src/router/request-classification.ts +291 -0
  1112. package/src/router/revalidation.ts +146 -83
  1113. package/src/router/route-snapshot.ts +256 -0
  1114. package/src/router/route-trie-builder.ts +334 -0
  1115. package/src/router/router-context.ts +6 -28
  1116. package/src/router/router-interfaces.ts +199 -37
  1117. package/src/router/router-options.ts +271 -21
  1118. package/src/router/router-registry.ts +2 -5
  1119. package/src/router/segment-resolution/fresh.ts +235 -89
  1120. package/src/router/segment-resolution/helpers.ts +116 -33
  1121. package/src/router/segment-resolution/loader-cache.ts +187 -39
  1122. package/src/router/segment-resolution/loader-mask.ts +60 -0
  1123. package/src/router/segment-resolution/loader-snapshot.ts +259 -0
  1124. package/src/router/segment-resolution/mask-nested.ts +99 -0
  1125. package/src/router/segment-resolution/revalidation.ts +401 -321
  1126. package/src/router/segment-resolution/static-store.ts +55 -15
  1127. package/src/router/segment-resolution/streamed-handler-telemetry.ts +52 -0
  1128. package/src/router/segment-resolution/view-transition-default.ts +60 -0
  1129. package/src/router/segment-resolution.ts +5 -1
  1130. package/src/router/segment-wrappers.ts +6 -5
  1131. package/src/router/state-cookie-name.ts +33 -0
  1132. package/src/router/substitute-pattern-params.ts +75 -0
  1133. package/src/router/telemetry-otel.ts +171 -200
  1134. package/src/router/telemetry.ts +106 -20
  1135. package/src/router/timeout.ts +53 -22
  1136. package/src/router/tracing.ts +235 -0
  1137. package/src/router/transition-when.ts +76 -0
  1138. package/src/router/trie-matching.ts +171 -59
  1139. package/src/router/types.ts +10 -63
  1140. package/src/router/url-params.ts +57 -0
  1141. package/src/router.ts +296 -77
  1142. package/src/rsc/capture-queue.ts +218 -0
  1143. package/src/rsc/full-payload.ts +77 -0
  1144. package/src/rsc/handler-context.ts +4 -2
  1145. package/src/rsc/handler.ts +901 -519
  1146. package/src/rsc/helpers.ts +245 -47
  1147. package/src/rsc/index.ts +2 -5
  1148. package/src/rsc/json-route-result.ts +38 -0
  1149. package/src/rsc/loader-fetch.ts +129 -33
  1150. package/src/rsc/manifest-init.ts +55 -52
  1151. package/src/rsc/nonce.ts +10 -1
  1152. package/src/rsc/origin-guard.ts +39 -25
  1153. package/src/rsc/progressive-enhancement.ts +381 -74
  1154. package/src/rsc/redirect-guard.ts +102 -0
  1155. package/src/rsc/render-pipeline.ts +611 -0
  1156. package/src/rsc/response-cache-serve.ts +259 -0
  1157. package/src/rsc/response-error.ts +79 -12
  1158. package/src/rsc/response-route-handler.ts +80 -206
  1159. package/src/rsc/routine-plan.ts +359 -0
  1160. package/src/rsc/rsc-rendering.ts +1625 -156
  1161. package/src/rsc/runtime-warnings.ts +23 -10
  1162. package/src/rsc/server-action.ts +424 -133
  1163. package/src/rsc/shell-build-manifest.ts +336 -0
  1164. package/src/rsc/shell-capture-constants.ts +45 -0
  1165. package/src/rsc/shell-capture.ts +2063 -0
  1166. package/src/rsc/shell-serve.ts +337 -0
  1167. package/src/rsc/ssr-setup.ts +113 -18
  1168. package/src/rsc/stream-idle.ts +137 -0
  1169. package/src/rsc/transition-gate.ts +86 -0
  1170. package/src/rsc/types.ts +100 -6
  1171. package/src/runtime-env.ts +18 -0
  1172. package/src/search-params.ts +35 -30
  1173. package/src/segment-content-promise.ts +67 -0
  1174. package/src/segment-fragments.ts +165 -0
  1175. package/src/segment-loader-promise.ts +167 -0
  1176. package/src/segment-system.tsx +446 -208
  1177. package/src/serialize.ts +243 -0
  1178. package/src/server/context.ts +484 -51
  1179. package/src/server/cookie-parse.ts +32 -0
  1180. package/src/server/cookie-store.ts +162 -15
  1181. package/src/server/handle-store.ts +209 -70
  1182. package/src/server/loader-registry.ts +38 -46
  1183. package/src/server/request-context.ts +940 -184
  1184. package/src/server.ts +7 -2
  1185. package/src/ssr/index.tsx +631 -180
  1186. package/src/ssr/inject-rsc-eager.ts +167 -0
  1187. package/src/ssr/preinit-client-references.ts +106 -0
  1188. package/src/ssr/ssr-root.tsx +262 -0
  1189. package/src/static-handler.ts +45 -20
  1190. package/src/testing/cache-status.ts +162 -0
  1191. package/src/testing/collect-handle.ts +46 -0
  1192. package/src/testing/dispatch.ts +951 -0
  1193. package/src/testing/dom.entry.ts +22 -0
  1194. package/src/testing/e2e/fixture.ts +188 -0
  1195. package/src/testing/e2e/index.ts +147 -0
  1196. package/src/testing/e2e/matchers.ts +35 -0
  1197. package/src/testing/e2e/page-helpers.ts +319 -0
  1198. package/src/testing/e2e/parity.ts +400 -0
  1199. package/src/testing/e2e/server.ts +195 -0
  1200. package/src/testing/flight-matchers.ts +97 -0
  1201. package/src/testing/flight-normalize.ts +11 -0
  1202. package/src/testing/flight-runtime.d.ts +57 -0
  1203. package/src/testing/flight-tree.ts +682 -0
  1204. package/src/testing/flight.entry.ts +52 -0
  1205. package/src/testing/flight.ts +257 -0
  1206. package/src/testing/generated-routes.ts +199 -0
  1207. package/src/testing/index.ts +121 -0
  1208. package/src/testing/internal/context.ts +380 -0
  1209. package/src/testing/internal/flight-client-globals.ts +30 -0
  1210. package/src/testing/internal/seed-vars.ts +54 -0
  1211. package/src/testing/render-handler.ts +371 -0
  1212. package/src/testing/render-route.tsx +667 -0
  1213. package/src/testing/run-loader.ts +423 -0
  1214. package/src/testing/run-middleware.ts +219 -0
  1215. package/src/testing/run-transition-when.ts +197 -0
  1216. package/src/testing/shell-status.ts +206 -0
  1217. package/src/testing/vitest-stubs/cloudflare-email.ts +9 -0
  1218. package/src/testing/vitest-stubs/cloudflare-workers.ts +21 -0
  1219. package/src/testing/vitest-stubs/plugin-rsc.ts +16 -0
  1220. package/src/testing/vitest-stubs/version.ts +5 -0
  1221. package/src/testing/vitest.ts +305 -0
  1222. package/src/theme/ThemeProvider.tsx +56 -84
  1223. package/src/theme/ThemeScript.tsx +7 -9
  1224. package/src/theme/constants.ts +52 -13
  1225. package/src/theme/index.ts +0 -7
  1226. package/src/theme/theme-context.ts +1 -5
  1227. package/src/theme/theme-script.ts +22 -21
  1228. package/src/theme/use-theme.ts +0 -3
  1229. package/src/types/boundaries.ts +15 -35
  1230. package/src/types/cache-types.ts +17 -8
  1231. package/src/types/error-types.ts +30 -90
  1232. package/src/types/global-namespace.ts +54 -41
  1233. package/src/types/handler-context.ts +155 -78
  1234. package/src/types/index.ts +3 -10
  1235. package/src/types/loader-types.ts +72 -15
  1236. package/src/types/request-scope.ts +112 -0
  1237. package/src/types/route-config.ts +20 -52
  1238. package/src/types/route-entry.ts +15 -7
  1239. package/src/types/segments.ts +148 -15
  1240. package/src/urls/include-helper.ts +59 -75
  1241. package/src/urls/include-provider.ts +71 -0
  1242. package/src/urls/index.ts +2 -11
  1243. package/src/urls/path-helper-types.ts +110 -25
  1244. package/src/urls/path-helper.ts +70 -115
  1245. package/src/urls/pattern-types.ts +113 -19
  1246. package/src/urls/response-types.ts +25 -22
  1247. package/src/urls/type-extraction.ts +98 -154
  1248. package/src/urls/urls-function.ts +1 -19
  1249. package/src/use-loader.tsx +404 -86
  1250. package/src/vercel/index.ts +11 -0
  1251. package/src/vercel/tracing.ts +89 -0
  1252. package/src/vite/debug.ts +185 -0
  1253. package/src/vite/discovery/bundle-postprocess.ts +46 -45
  1254. package/src/vite/discovery/client-urls-projection.ts +322 -0
  1255. package/src/vite/discovery/dev-prerender-cache.ts +117 -0
  1256. package/src/vite/discovery/discover-routers.ts +178 -147
  1257. package/src/vite/discovery/discovery-errors.ts +255 -0
  1258. package/src/vite/discovery/gate-state.ts +171 -0
  1259. package/src/vite/discovery/prerender-collection.ts +243 -134
  1260. package/src/vite/discovery/route-types-writer.ts +40 -84
  1261. package/src/vite/discovery/self-gen-tracking.ts +27 -1
  1262. package/src/vite/discovery/shell-prerender-phase.ts +397 -0
  1263. package/src/vite/discovery/state.ts +116 -9
  1264. package/src/vite/discovery/virtual-module-codegen.ts +226 -87
  1265. package/src/vite/encryption-key.ts +29 -0
  1266. package/src/vite/index.ts +16 -0
  1267. package/src/vite/inject-client-debug.ts +88 -0
  1268. package/src/vite/plugin-types.ts +294 -6
  1269. package/src/vite/plugins/cjs-to-esm.ts +16 -19
  1270. package/src/vite/plugins/client-ref-dedup.ts +16 -11
  1271. package/src/vite/plugins/client-ref-hashing.ts +28 -15
  1272. package/src/vite/plugins/cloudflare-protocol-loader-hook.d.mts +23 -0
  1273. package/src/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  1274. package/src/vite/plugins/cloudflare-protocol-stub.ts +194 -0
  1275. package/src/vite/plugins/expose-action-id.ts +50 -97
  1276. package/src/vite/plugins/expose-id-utils.ts +96 -51
  1277. package/src/vite/plugins/expose-ids/export-analysis.ts +101 -34
  1278. package/src/vite/plugins/expose-ids/handler-transform.ts +15 -64
  1279. package/src/vite/plugins/expose-ids/loader-transform.ts +14 -24
  1280. package/src/vite/plugins/expose-ids/router-transform.ts +118 -29
  1281. package/src/vite/plugins/expose-internal-ids.ts +599 -317
  1282. package/src/vite/plugins/performance-tracks.ts +89 -0
  1283. package/src/vite/plugins/refresh-cmd.ts +89 -27
  1284. package/src/vite/plugins/server-ref-hashing.ts +74 -0
  1285. package/src/vite/plugins/server-reference-pattern.ts +10 -0
  1286. package/src/vite/plugins/use-cache-transform.ts +73 -83
  1287. package/src/vite/plugins/vercel-output.ts +384 -0
  1288. package/src/vite/plugins/version-injector.ts +39 -29
  1289. package/src/vite/plugins/version-plugin.ts +45 -40
  1290. package/src/vite/plugins/virtual-entries.ts +193 -30
  1291. package/src/vite/rango.ts +298 -134
  1292. package/src/vite/router-discovery.ts +1803 -180
  1293. package/src/vite/utils/ast-handler-extract.ts +26 -35
  1294. package/src/vite/utils/banner.ts +1 -1
  1295. package/src/vite/utils/bundle-analysis.ts +10 -15
  1296. package/src/vite/utils/client-chunks.ts +184 -0
  1297. package/src/vite/utils/directive-prologue.ts +40 -0
  1298. package/src/vite/utils/forward-user-plugins.ts +171 -0
  1299. package/src/vite/utils/manifest-utils.ts +1 -59
  1300. package/src/vite/utils/package-resolution.ts +21 -52
  1301. package/src/vite/utils/prerender-utils.ts +123 -44
  1302. package/src/vite/utils/shared-utils.ts +158 -44
  1303. package/dist/__internal.d.ts +0 -83
  1304. package/dist/__internal.d.ts.map +0 -1
  1305. package/dist/__internal.js +0 -19
  1306. package/dist/__internal.js.map +0 -1
  1307. package/dist/__mocks__/version.d.ts +0 -7
  1308. package/dist/__mocks__/version.d.ts.map +0 -1
  1309. package/dist/__mocks__/version.js +0 -7
  1310. package/dist/__mocks__/version.js.map +0 -1
  1311. package/dist/__tests__/client-href.test.d.ts +0 -2
  1312. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  1313. package/dist/__tests__/client-href.test.js +0 -74
  1314. package/dist/__tests__/client-href.test.js.map +0 -1
  1315. package/dist/__tests__/component-utils.test.d.ts +0 -2
  1316. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  1317. package/dist/__tests__/component-utils.test.js +0 -51
  1318. package/dist/__tests__/component-utils.test.js.map +0 -1
  1319. package/dist/__tests__/event-controller.test.d.ts +0 -2
  1320. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  1321. package/dist/__tests__/event-controller.test.js +0 -538
  1322. package/dist/__tests__/event-controller.test.js.map +0 -1
  1323. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  1324. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  1325. package/dist/__tests__/helpers/route-tree.js +0 -374
  1326. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  1327. package/dist/__tests__/match-result.test.d.ts +0 -2
  1328. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  1329. package/dist/__tests__/match-result.test.js +0 -154
  1330. package/dist/__tests__/match-result.test.js.map +0 -1
  1331. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  1332. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  1333. package/dist/__tests__/navigation-store.test.js +0 -440
  1334. package/dist/__tests__/navigation-store.test.js.map +0 -1
  1335. package/dist/__tests__/partial-update.test.d.ts +0 -2
  1336. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  1337. package/dist/__tests__/partial-update.test.js +0 -1009
  1338. package/dist/__tests__/partial-update.test.js.map +0 -1
  1339. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  1340. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  1341. package/dist/__tests__/reverse-types.test.js +0 -656
  1342. package/dist/__tests__/reverse-types.test.js.map +0 -1
  1343. package/dist/__tests__/route-definition.test.d.ts +0 -2
  1344. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  1345. package/dist/__tests__/route-definition.test.js +0 -55
  1346. package/dist/__tests__/route-definition.test.js.map +0 -1
  1347. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  1348. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  1349. package/dist/__tests__/router-helpers.test.js +0 -377
  1350. package/dist/__tests__/router-helpers.test.js.map +0 -1
  1351. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  1352. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  1353. package/dist/__tests__/router-integration-2.test.js +0 -426
  1354. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  1355. package/dist/__tests__/router-integration.test.d.ts +0 -2
  1356. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  1357. package/dist/__tests__/router-integration.test.js +0 -1051
  1358. package/dist/__tests__/router-integration.test.js.map +0 -1
  1359. package/dist/__tests__/search-params.test.d.ts +0 -5
  1360. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  1361. package/dist/__tests__/search-params.test.js +0 -306
  1362. package/dist/__tests__/search-params.test.js.map +0 -1
  1363. package/dist/__tests__/segment-system.test.d.ts +0 -2
  1364. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  1365. package/dist/__tests__/segment-system.test.js +0 -627
  1366. package/dist/__tests__/segment-system.test.js.map +0 -1
  1367. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  1368. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  1369. package/dist/__tests__/static-handler-types.test.js +0 -63
  1370. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  1371. package/dist/__tests__/urls.test.d.ts +0 -2
  1372. package/dist/__tests__/urls.test.d.ts.map +0 -1
  1373. package/dist/__tests__/urls.test.js +0 -421
  1374. package/dist/__tests__/urls.test.js.map +0 -1
  1375. package/dist/__tests__/use-mount.test.d.ts +0 -2
  1376. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  1377. package/dist/__tests__/use-mount.test.js +0 -35
  1378. package/dist/__tests__/use-mount.test.js.map +0 -1
  1379. package/dist/bin/rango.d.ts +0 -2
  1380. package/dist/bin/rango.d.ts.map +0 -1
  1381. package/dist/bin/rango.js.map +0 -1
  1382. package/dist/browser/event-controller.d.ts +0 -191
  1383. package/dist/browser/event-controller.d.ts.map +0 -1
  1384. package/dist/browser/event-controller.js +0 -559
  1385. package/dist/browser/event-controller.js.map +0 -1
  1386. package/dist/browser/index.d.ts +0 -2
  1387. package/dist/browser/index.d.ts.map +0 -1
  1388. package/dist/browser/index.js +0 -14
  1389. package/dist/browser/index.js.map +0 -1
  1390. package/dist/browser/link-interceptor.d.ts +0 -38
  1391. package/dist/browser/link-interceptor.d.ts.map +0 -1
  1392. package/dist/browser/link-interceptor.js +0 -99
  1393. package/dist/browser/link-interceptor.js.map +0 -1
  1394. package/dist/browser/logging.d.ts +0 -10
  1395. package/dist/browser/logging.d.ts.map +0 -1
  1396. package/dist/browser/logging.js +0 -29
  1397. package/dist/browser/logging.js.map +0 -1
  1398. package/dist/browser/lru-cache.d.ts +0 -17
  1399. package/dist/browser/lru-cache.d.ts.map +0 -1
  1400. package/dist/browser/lru-cache.js +0 -50
  1401. package/dist/browser/lru-cache.js.map +0 -1
  1402. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  1403. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  1404. package/dist/browser/merge-segment-loaders.js +0 -102
  1405. package/dist/browser/merge-segment-loaders.js.map +0 -1
  1406. package/dist/browser/navigation-bridge.d.ts +0 -102
  1407. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  1408. package/dist/browser/navigation-bridge.js +0 -708
  1409. package/dist/browser/navigation-bridge.js.map +0 -1
  1410. package/dist/browser/navigation-client.d.ts +0 -25
  1411. package/dist/browser/navigation-client.d.ts.map +0 -1
  1412. package/dist/browser/navigation-client.js +0 -157
  1413. package/dist/browser/navigation-client.js.map +0 -1
  1414. package/dist/browser/navigation-store.d.ts +0 -101
  1415. package/dist/browser/navigation-store.d.ts.map +0 -1
  1416. package/dist/browser/navigation-store.js +0 -625
  1417. package/dist/browser/navigation-store.js.map +0 -1
  1418. package/dist/browser/partial-update.d.ts +0 -75
  1419. package/dist/browser/partial-update.d.ts.map +0 -1
  1420. package/dist/browser/partial-update.js +0 -426
  1421. package/dist/browser/partial-update.js.map +0 -1
  1422. package/dist/browser/react/Link.d.ts +0 -86
  1423. package/dist/browser/react/Link.d.ts.map +0 -1
  1424. package/dist/browser/react/Link.js +0 -128
  1425. package/dist/browser/react/Link.js.map +0 -1
  1426. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  1427. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  1428. package/dist/browser/react/NavigationProvider.js +0 -216
  1429. package/dist/browser/react/NavigationProvider.js.map +0 -1
  1430. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  1431. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  1432. package/dist/browser/react/ScrollRestoration.js +0 -57
  1433. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  1434. package/dist/browser/react/context.d.ts +0 -46
  1435. package/dist/browser/react/context.d.ts.map +0 -1
  1436. package/dist/browser/react/context.js +0 -10
  1437. package/dist/browser/react/context.js.map +0 -1
  1438. package/dist/browser/react/index.d.ts +0 -11
  1439. package/dist/browser/react/index.d.ts.map +0 -1
  1440. package/dist/browser/react/index.js +0 -22
  1441. package/dist/browser/react/index.js.map +0 -1
  1442. package/dist/browser/react/location-state-shared.d.ts +0 -63
  1443. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  1444. package/dist/browser/react/location-state-shared.js +0 -81
  1445. package/dist/browser/react/location-state-shared.js.map +0 -1
  1446. package/dist/browser/react/location-state.d.ts +0 -23
  1447. package/dist/browser/react/location-state.d.ts.map +0 -1
  1448. package/dist/browser/react/location-state.js +0 -29
  1449. package/dist/browser/react/location-state.js.map +0 -1
  1450. package/dist/browser/react/mount-context.d.ts +0 -24
  1451. package/dist/browser/react/mount-context.d.ts.map +0 -1
  1452. package/dist/browser/react/mount-context.js +0 -24
  1453. package/dist/browser/react/mount-context.js.map +0 -1
  1454. package/dist/browser/react/use-action.d.ts +0 -64
  1455. package/dist/browser/react/use-action.d.ts.map +0 -1
  1456. package/dist/browser/react/use-action.js +0 -134
  1457. package/dist/browser/react/use-action.js.map +0 -1
  1458. package/dist/browser/react/use-client-cache.d.ts +0 -41
  1459. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  1460. package/dist/browser/react/use-client-cache.js +0 -39
  1461. package/dist/browser/react/use-client-cache.js.map +0 -1
  1462. package/dist/browser/react/use-handle.d.ts +0 -31
  1463. package/dist/browser/react/use-handle.d.ts.map +0 -1
  1464. package/dist/browser/react/use-handle.js +0 -144
  1465. package/dist/browser/react/use-handle.js.map +0 -1
  1466. package/dist/browser/react/use-href.d.ts +0 -33
  1467. package/dist/browser/react/use-href.d.ts.map +0 -1
  1468. package/dist/browser/react/use-href.js +0 -39
  1469. package/dist/browser/react/use-href.js.map +0 -1
  1470. package/dist/browser/react/use-link-status.d.ts +0 -37
  1471. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  1472. package/dist/browser/react/use-link-status.js +0 -99
  1473. package/dist/browser/react/use-link-status.js.map +0 -1
  1474. package/dist/browser/react/use-mount.d.ts +0 -25
  1475. package/dist/browser/react/use-mount.d.ts.map +0 -1
  1476. package/dist/browser/react/use-mount.js +0 -30
  1477. package/dist/browser/react/use-mount.js.map +0 -1
  1478. package/dist/browser/react/use-navigation.d.ts +0 -27
  1479. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  1480. package/dist/browser/react/use-navigation.js +0 -87
  1481. package/dist/browser/react/use-navigation.js.map +0 -1
  1482. package/dist/browser/react/use-segments.d.ts +0 -38
  1483. package/dist/browser/react/use-segments.d.ts.map +0 -1
  1484. package/dist/browser/react/use-segments.js +0 -130
  1485. package/dist/browser/react/use-segments.js.map +0 -1
  1486. package/dist/browser/request-controller.d.ts +0 -26
  1487. package/dist/browser/request-controller.d.ts.map +0 -1
  1488. package/dist/browser/request-controller.js +0 -147
  1489. package/dist/browser/request-controller.js.map +0 -1
  1490. package/dist/browser/rsc-router.d.ts +0 -129
  1491. package/dist/browser/rsc-router.d.ts.map +0 -1
  1492. package/dist/browser/rsc-router.js +0 -195
  1493. package/dist/browser/rsc-router.js.map +0 -1
  1494. package/dist/browser/scroll-restoration.d.ts +0 -93
  1495. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  1496. package/dist/browser/scroll-restoration.js +0 -321
  1497. package/dist/browser/scroll-restoration.js.map +0 -1
  1498. package/dist/browser/segment-structure-assert.d.ts +0 -17
  1499. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  1500. package/dist/browser/segment-structure-assert.js +0 -59
  1501. package/dist/browser/segment-structure-assert.js.map +0 -1
  1502. package/dist/browser/server-action-bridge.d.ts +0 -26
  1503. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  1504. package/dist/browser/server-action-bridge.js +0 -668
  1505. package/dist/browser/server-action-bridge.js.map +0 -1
  1506. package/dist/browser/shallow.d.ts +0 -12
  1507. package/dist/browser/shallow.d.ts.map +0 -1
  1508. package/dist/browser/shallow.js +0 -34
  1509. package/dist/browser/shallow.js.map +0 -1
  1510. package/dist/browser/types.d.ts +0 -369
  1511. package/dist/browser/types.d.ts.map +0 -1
  1512. package/dist/browser/types.js +0 -2
  1513. package/dist/browser/types.js.map +0 -1
  1514. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  1515. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  1516. package/dist/build/__tests__/generate-cli.test.js +0 -237
  1517. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  1518. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  1519. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  1520. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  1521. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  1522. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  1523. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  1524. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  1525. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  1526. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  1527. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  1528. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  1529. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  1530. package/dist/build/generate-manifest.d.ts +0 -81
  1531. package/dist/build/generate-manifest.d.ts.map +0 -1
  1532. package/dist/build/generate-manifest.js +0 -276
  1533. package/dist/build/generate-manifest.js.map +0 -1
  1534. package/dist/build/generate-route-types.d.ts +0 -115
  1535. package/dist/build/generate-route-types.d.ts.map +0 -1
  1536. package/dist/build/generate-route-types.js +0 -740
  1537. package/dist/build/generate-route-types.js.map +0 -1
  1538. package/dist/build/index.d.ts +0 -21
  1539. package/dist/build/index.d.ts.map +0 -1
  1540. package/dist/build/index.js +0 -21
  1541. package/dist/build/index.js.map +0 -1
  1542. package/dist/build/route-trie.d.ts +0 -71
  1543. package/dist/build/route-trie.d.ts.map +0 -1
  1544. package/dist/build/route-trie.js +0 -175
  1545. package/dist/build/route-trie.js.map +0 -1
  1546. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  1547. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  1548. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  1549. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  1550. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  1551. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  1552. package/dist/cache/__tests__/document-cache.test.js +0 -345
  1553. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  1554. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  1555. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  1556. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  1557. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  1558. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  1559. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  1560. package/dist/cache/__tests__/memory-store.test.js +0 -367
  1561. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  1562. package/dist/cache/cache-scope.d.ts +0 -102
  1563. package/dist/cache/cache-scope.d.ts.map +0 -1
  1564. package/dist/cache/cache-scope.js +0 -440
  1565. package/dist/cache/cache-scope.js.map +0 -1
  1566. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  1567. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  1568. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  1569. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  1570. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  1571. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  1572. package/dist/cache/cf/cf-cache-store.js +0 -242
  1573. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  1574. package/dist/cache/cf/index.d.ts +0 -14
  1575. package/dist/cache/cf/index.d.ts.map +0 -1
  1576. package/dist/cache/cf/index.js +0 -17
  1577. package/dist/cache/cf/index.js.map +0 -1
  1578. package/dist/cache/document-cache.d.ts +0 -64
  1579. package/dist/cache/document-cache.d.ts.map +0 -1
  1580. package/dist/cache/document-cache.js +0 -228
  1581. package/dist/cache/document-cache.js.map +0 -1
  1582. package/dist/cache/index.d.ts +0 -19
  1583. package/dist/cache/index.d.ts.map +0 -1
  1584. package/dist/cache/index.js +0 -21
  1585. package/dist/cache/index.js.map +0 -1
  1586. package/dist/cache/memory-segment-store.d.ts +0 -110
  1587. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  1588. package/dist/cache/memory-segment-store.js +0 -117
  1589. package/dist/cache/memory-segment-store.js.map +0 -1
  1590. package/dist/cache/memory-store.d.ts +0 -41
  1591. package/dist/cache/memory-store.d.ts.map +0 -1
  1592. package/dist/cache/memory-store.js +0 -191
  1593. package/dist/cache/memory-store.js.map +0 -1
  1594. package/dist/cache/types.d.ts +0 -317
  1595. package/dist/cache/types.d.ts.map +0 -1
  1596. package/dist/cache/types.js +0 -12
  1597. package/dist/cache/types.js.map +0 -1
  1598. package/dist/client.d.ts +0 -248
  1599. package/dist/client.d.ts.map +0 -1
  1600. package/dist/client.js +0 -367
  1601. package/dist/client.js.map +0 -1
  1602. package/dist/client.rsc.d.ts +0 -26
  1603. package/dist/client.rsc.d.ts.map +0 -1
  1604. package/dist/client.rsc.js +0 -46
  1605. package/dist/client.rsc.js.map +0 -1
  1606. package/dist/component-utils.d.ts +0 -36
  1607. package/dist/component-utils.d.ts.map +0 -1
  1608. package/dist/component-utils.js +0 -61
  1609. package/dist/component-utils.js.map +0 -1
  1610. package/dist/components/DefaultDocument.d.ts +0 -13
  1611. package/dist/components/DefaultDocument.d.ts.map +0 -1
  1612. package/dist/components/DefaultDocument.js +0 -15
  1613. package/dist/components/DefaultDocument.js.map +0 -1
  1614. package/dist/debug.d.ts +0 -58
  1615. package/dist/debug.d.ts.map +0 -1
  1616. package/dist/debug.js +0 -157
  1617. package/dist/debug.js.map +0 -1
  1618. package/dist/default-error-boundary.d.ts +0 -11
  1619. package/dist/default-error-boundary.d.ts.map +0 -1
  1620. package/dist/default-error-boundary.js +0 -45
  1621. package/dist/default-error-boundary.js.map +0 -1
  1622. package/dist/deps/browser.d.ts +0 -2
  1623. package/dist/deps/browser.d.ts.map +0 -1
  1624. package/dist/deps/browser.js +0 -3
  1625. package/dist/deps/browser.js.map +0 -1
  1626. package/dist/deps/html-stream-client.d.ts +0 -2
  1627. package/dist/deps/html-stream-client.d.ts.map +0 -1
  1628. package/dist/deps/html-stream-client.js +0 -3
  1629. package/dist/deps/html-stream-client.js.map +0 -1
  1630. package/dist/deps/html-stream-server.d.ts +0 -2
  1631. package/dist/deps/html-stream-server.d.ts.map +0 -1
  1632. package/dist/deps/html-stream-server.js +0 -3
  1633. package/dist/deps/html-stream-server.js.map +0 -1
  1634. package/dist/deps/rsc.d.ts +0 -2
  1635. package/dist/deps/rsc.d.ts.map +0 -1
  1636. package/dist/deps/rsc.js +0 -4
  1637. package/dist/deps/rsc.js.map +0 -1
  1638. package/dist/deps/ssr.d.ts +0 -2
  1639. package/dist/deps/ssr.d.ts.map +0 -1
  1640. package/dist/deps/ssr.js +0 -3
  1641. package/dist/deps/ssr.js.map +0 -1
  1642. package/dist/errors.d.ts +0 -174
  1643. package/dist/errors.d.ts.map +0 -1
  1644. package/dist/errors.js +0 -241
  1645. package/dist/errors.js.map +0 -1
  1646. package/dist/handle.d.ts +0 -78
  1647. package/dist/handle.d.ts.map +0 -1
  1648. package/dist/handle.js +0 -82
  1649. package/dist/handle.js.map +0 -1
  1650. package/dist/handles/MetaTags.d.ts +0 -14
  1651. package/dist/handles/MetaTags.d.ts.map +0 -1
  1652. package/dist/handles/MetaTags.js +0 -136
  1653. package/dist/handles/MetaTags.js.map +0 -1
  1654. package/dist/handles/index.d.ts +0 -6
  1655. package/dist/handles/index.d.ts.map +0 -1
  1656. package/dist/handles/index.js +0 -6
  1657. package/dist/handles/index.js.map +0 -1
  1658. package/dist/handles/meta.d.ts +0 -39
  1659. package/dist/handles/meta.d.ts.map +0 -1
  1660. package/dist/handles/meta.js +0 -202
  1661. package/dist/handles/meta.js.map +0 -1
  1662. package/dist/host/__tests__/errors.test.d.ts +0 -2
  1663. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  1664. package/dist/host/__tests__/errors.test.js +0 -76
  1665. package/dist/host/__tests__/errors.test.js.map +0 -1
  1666. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  1667. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  1668. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  1669. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  1670. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  1671. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  1672. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  1673. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  1674. package/dist/host/__tests__/router.test.d.ts +0 -2
  1675. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  1676. package/dist/host/__tests__/router.test.js +0 -241
  1677. package/dist/host/__tests__/router.test.js.map +0 -1
  1678. package/dist/host/__tests__/testing.test.d.ts +0 -2
  1679. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  1680. package/dist/host/__tests__/testing.test.js +0 -64
  1681. package/dist/host/__tests__/testing.test.js.map +0 -1
  1682. package/dist/host/__tests__/utils.test.d.ts +0 -2
  1683. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  1684. package/dist/host/__tests__/utils.test.js +0 -29
  1685. package/dist/host/__tests__/utils.test.js.map +0 -1
  1686. package/dist/host/cookie-handler.d.ts +0 -34
  1687. package/dist/host/cookie-handler.d.ts.map +0 -1
  1688. package/dist/host/cookie-handler.js +0 -124
  1689. package/dist/host/cookie-handler.js.map +0 -1
  1690. package/dist/host/errors.d.ts +0 -56
  1691. package/dist/host/errors.d.ts.map +0 -1
  1692. package/dist/host/errors.js +0 -79
  1693. package/dist/host/errors.js.map +0 -1
  1694. package/dist/host/index.d.ts +0 -29
  1695. package/dist/host/index.d.ts.map +0 -1
  1696. package/dist/host/index.js +0 -32
  1697. package/dist/host/index.js.map +0 -1
  1698. package/dist/host/pattern-matcher.d.ts +0 -36
  1699. package/dist/host/pattern-matcher.d.ts.map +0 -1
  1700. package/dist/host/pattern-matcher.js +0 -172
  1701. package/dist/host/pattern-matcher.js.map +0 -1
  1702. package/dist/host/router.d.ts +0 -26
  1703. package/dist/host/router.d.ts.map +0 -1
  1704. package/dist/host/router.js +0 -218
  1705. package/dist/host/router.js.map +0 -1
  1706. package/dist/host/testing.d.ts +0 -36
  1707. package/dist/host/testing.d.ts.map +0 -1
  1708. package/dist/host/testing.js +0 -55
  1709. package/dist/host/testing.js.map +0 -1
  1710. package/dist/host/types.d.ts +0 -115
  1711. package/dist/host/types.d.ts.map +0 -1
  1712. package/dist/host/types.js +0 -7
  1713. package/dist/host/types.js.map +0 -1
  1714. package/dist/host/utils.d.ts +0 -21
  1715. package/dist/host/utils.d.ts.map +0 -1
  1716. package/dist/host/utils.js +0 -23
  1717. package/dist/host/utils.js.map +0 -1
  1718. package/dist/href-client.d.ts +0 -131
  1719. package/dist/href-client.d.ts.map +0 -1
  1720. package/dist/href-client.js +0 -64
  1721. package/dist/href-client.js.map +0 -1
  1722. package/dist/href-context.d.ts +0 -29
  1723. package/dist/href-context.d.ts.map +0 -1
  1724. package/dist/href-context.js +0 -21
  1725. package/dist/href-context.js.map +0 -1
  1726. package/dist/index.d.ts +0 -73
  1727. package/dist/index.d.ts.map +0 -1
  1728. package/dist/index.js +0 -91
  1729. package/dist/index.js.map +0 -1
  1730. package/dist/index.rsc.d.ts +0 -32
  1731. package/dist/index.rsc.d.ts.map +0 -1
  1732. package/dist/index.rsc.js +0 -40
  1733. package/dist/index.rsc.js.map +0 -1
  1734. package/dist/internal-debug.d.ts +0 -2
  1735. package/dist/internal-debug.d.ts.map +0 -1
  1736. package/dist/internal-debug.js +0 -5
  1737. package/dist/internal-debug.js.map +0 -1
  1738. package/dist/loader.d.ts +0 -14
  1739. package/dist/loader.d.ts.map +0 -1
  1740. package/dist/loader.js +0 -20
  1741. package/dist/loader.js.map +0 -1
  1742. package/dist/loader.rsc.d.ts +0 -19
  1743. package/dist/loader.rsc.d.ts.map +0 -1
  1744. package/dist/loader.rsc.js +0 -99
  1745. package/dist/loader.rsc.js.map +0 -1
  1746. package/dist/network-error-thrower.d.ts +0 -17
  1747. package/dist/network-error-thrower.d.ts.map +0 -1
  1748. package/dist/network-error-thrower.js +0 -14
  1749. package/dist/network-error-thrower.js.map +0 -1
  1750. package/dist/outlet-context.d.ts +0 -13
  1751. package/dist/outlet-context.d.ts.map +0 -1
  1752. package/dist/outlet-context.js +0 -3
  1753. package/dist/outlet-context.js.map +0 -1
  1754. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  1755. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  1756. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  1757. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  1758. package/dist/prerender/param-hash.d.ts +0 -16
  1759. package/dist/prerender/param-hash.d.ts.map +0 -1
  1760. package/dist/prerender/param-hash.js +0 -36
  1761. package/dist/prerender/param-hash.js.map +0 -1
  1762. package/dist/prerender/store.d.ts +0 -38
  1763. package/dist/prerender/store.d.ts.map +0 -1
  1764. package/dist/prerender/store.js +0 -61
  1765. package/dist/prerender/store.js.map +0 -1
  1766. package/dist/prerender.d.ts +0 -66
  1767. package/dist/prerender.d.ts.map +0 -1
  1768. package/dist/prerender.js +0 -57
  1769. package/dist/prerender.js.map +0 -1
  1770. package/dist/reverse.d.ts +0 -196
  1771. package/dist/reverse.d.ts.map +0 -1
  1772. package/dist/reverse.js +0 -78
  1773. package/dist/reverse.js.map +0 -1
  1774. package/dist/root-error-boundary.d.ts +0 -33
  1775. package/dist/root-error-boundary.d.ts.map +0 -1
  1776. package/dist/root-error-boundary.js +0 -165
  1777. package/dist/root-error-boundary.js.map +0 -1
  1778. package/dist/route-content-wrapper.d.ts +0 -46
  1779. package/dist/route-content-wrapper.d.ts.map +0 -1
  1780. package/dist/route-content-wrapper.js +0 -77
  1781. package/dist/route-content-wrapper.js.map +0 -1
  1782. package/dist/route-definition.d.ts +0 -421
  1783. package/dist/route-definition.d.ts.map +0 -1
  1784. package/dist/route-definition.js +0 -868
  1785. package/dist/route-definition.js.map +0 -1
  1786. package/dist/route-map-builder.d.ts +0 -155
  1787. package/dist/route-map-builder.d.ts.map +0 -1
  1788. package/dist/route-map-builder.js +0 -237
  1789. package/dist/route-map-builder.js.map +0 -1
  1790. package/dist/route-types.d.ts +0 -165
  1791. package/dist/route-types.d.ts.map +0 -1
  1792. package/dist/route-types.js +0 -7
  1793. package/dist/route-types.js.map +0 -1
  1794. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  1795. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  1796. package/dist/router/__tests__/handler-context.test.js +0 -65
  1797. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  1798. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  1799. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  1800. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  1801. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  1802. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  1803. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  1804. package/dist/router/__tests__/match-context.test.js +0 -92
  1805. package/dist/router/__tests__/match-context.test.js.map +0 -1
  1806. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  1807. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  1808. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  1809. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  1810. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  1811. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  1812. package/dist/router/__tests__/match-result.test.js +0 -457
  1813. package/dist/router/__tests__/match-result.test.js.map +0 -1
  1814. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  1815. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  1816. package/dist/router/__tests__/on-error.test.js +0 -678
  1817. package/dist/router/__tests__/on-error.test.js.map +0 -1
  1818. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  1819. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  1820. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  1821. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  1822. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  1823. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  1824. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  1825. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  1826. package/dist/router/error-handling.d.ts +0 -77
  1827. package/dist/router/error-handling.d.ts.map +0 -1
  1828. package/dist/router/error-handling.js +0 -202
  1829. package/dist/router/error-handling.js.map +0 -1
  1830. package/dist/router/handler-context.d.ts +0 -20
  1831. package/dist/router/handler-context.d.ts.map +0 -1
  1832. package/dist/router/handler-context.js +0 -198
  1833. package/dist/router/handler-context.js.map +0 -1
  1834. package/dist/router/intercept-resolution.d.ts +0 -66
  1835. package/dist/router/intercept-resolution.d.ts.map +0 -1
  1836. package/dist/router/intercept-resolution.js +0 -246
  1837. package/dist/router/intercept-resolution.js.map +0 -1
  1838. package/dist/router/loader-resolution.d.ts +0 -64
  1839. package/dist/router/loader-resolution.d.ts.map +0 -1
  1840. package/dist/router/loader-resolution.js +0 -284
  1841. package/dist/router/loader-resolution.js.map +0 -1
  1842. package/dist/router/logging.d.ts +0 -15
  1843. package/dist/router/logging.d.ts.map +0 -1
  1844. package/dist/router/logging.js +0 -99
  1845. package/dist/router/logging.js.map +0 -1
  1846. package/dist/router/manifest.d.ts +0 -22
  1847. package/dist/router/manifest.d.ts.map +0 -1
  1848. package/dist/router/manifest.js +0 -181
  1849. package/dist/router/manifest.js.map +0 -1
  1850. package/dist/router/match-api.d.ts +0 -35
  1851. package/dist/router/match-api.d.ts.map +0 -1
  1852. package/dist/router/match-api.js +0 -406
  1853. package/dist/router/match-api.js.map +0 -1
  1854. package/dist/router/match-context.d.ts +0 -206
  1855. package/dist/router/match-context.d.ts.map +0 -1
  1856. package/dist/router/match-context.js +0 -17
  1857. package/dist/router/match-context.js.map +0 -1
  1858. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  1859. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  1860. package/dist/router/match-middleware/background-revalidation.js +0 -75
  1861. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  1862. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  1863. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  1864. package/dist/router/match-middleware/cache-lookup.js +0 -257
  1865. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  1866. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  1867. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  1868. package/dist/router/match-middleware/cache-store.js +0 -108
  1869. package/dist/router/match-middleware/cache-store.js.map +0 -1
  1870. package/dist/router/match-middleware/index.d.ts +0 -81
  1871. package/dist/router/match-middleware/index.d.ts.map +0 -1
  1872. package/dist/router/match-middleware/index.js +0 -80
  1873. package/dist/router/match-middleware/index.js.map +0 -1
  1874. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  1875. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  1876. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  1877. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  1878. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  1879. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  1880. package/dist/router/match-middleware/segment-resolution.js +0 -53
  1881. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  1882. package/dist/router/match-pipelines.d.ts +0 -147
  1883. package/dist/router/match-pipelines.d.ts.map +0 -1
  1884. package/dist/router/match-pipelines.js +0 -82
  1885. package/dist/router/match-pipelines.js.map +0 -1
  1886. package/dist/router/match-result.d.ts +0 -126
  1887. package/dist/router/match-result.d.ts.map +0 -1
  1888. package/dist/router/match-result.js +0 -93
  1889. package/dist/router/match-result.js.map +0 -1
  1890. package/dist/router/metrics.d.ts +0 -20
  1891. package/dist/router/metrics.d.ts.map +0 -1
  1892. package/dist/router/metrics.js +0 -47
  1893. package/dist/router/metrics.js.map +0 -1
  1894. package/dist/router/middleware.d.ts +0 -249
  1895. package/dist/router/middleware.d.ts.map +0 -1
  1896. package/dist/router/middleware.js +0 -434
  1897. package/dist/router/middleware.js.map +0 -1
  1898. package/dist/router/middleware.test.d.ts +0 -2
  1899. package/dist/router/middleware.test.d.ts.map +0 -1
  1900. package/dist/router/middleware.test.js +0 -816
  1901. package/dist/router/middleware.test.js.map +0 -1
  1902. package/dist/router/pattern-matching.d.ts +0 -149
  1903. package/dist/router/pattern-matching.d.ts.map +0 -1
  1904. package/dist/router/pattern-matching.js +0 -349
  1905. package/dist/router/pattern-matching.js.map +0 -1
  1906. package/dist/router/revalidation.d.ts +0 -44
  1907. package/dist/router/revalidation.d.ts.map +0 -1
  1908. package/dist/router/revalidation.js +0 -147
  1909. package/dist/router/revalidation.js.map +0 -1
  1910. package/dist/router/router-context.d.ts +0 -135
  1911. package/dist/router/router-context.d.ts.map +0 -1
  1912. package/dist/router/router-context.js +0 -36
  1913. package/dist/router/router-context.js.map +0 -1
  1914. package/dist/router/segment-resolution.d.ts +0 -127
  1915. package/dist/router/segment-resolution.d.ts.map +0 -1
  1916. package/dist/router/segment-resolution.js +0 -919
  1917. package/dist/router/segment-resolution.js.map +0 -1
  1918. package/dist/router/trie-matching.d.ts +0 -40
  1919. package/dist/router/trie-matching.d.ts.map +0 -1
  1920. package/dist/router/trie-matching.js +0 -127
  1921. package/dist/router/trie-matching.js.map +0 -1
  1922. package/dist/router/types.d.ts +0 -136
  1923. package/dist/router/types.d.ts.map +0 -1
  1924. package/dist/router/types.js +0 -7
  1925. package/dist/router/types.js.map +0 -1
  1926. package/dist/router.d.ts +0 -753
  1927. package/dist/router.d.ts.map +0 -1
  1928. package/dist/router.gen.d.ts +0 -6
  1929. package/dist/router.gen.d.ts.map +0 -1
  1930. package/dist/router.gen.js +0 -6
  1931. package/dist/router.gen.js.map +0 -1
  1932. package/dist/router.js +0 -1304
  1933. package/dist/router.js.map +0 -1
  1934. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  1935. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  1936. package/dist/rsc/__tests__/helpers.test.js +0 -140
  1937. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  1938. package/dist/rsc/handler.d.ts +0 -45
  1939. package/dist/rsc/handler.d.ts.map +0 -1
  1940. package/dist/rsc/handler.js +0 -1172
  1941. package/dist/rsc/handler.js.map +0 -1
  1942. package/dist/rsc/helpers.d.ts +0 -16
  1943. package/dist/rsc/helpers.d.ts.map +0 -1
  1944. package/dist/rsc/helpers.js +0 -55
  1945. package/dist/rsc/helpers.js.map +0 -1
  1946. package/dist/rsc/index.d.ts +0 -22
  1947. package/dist/rsc/index.d.ts.map +0 -1
  1948. package/dist/rsc/index.js +0 -23
  1949. package/dist/rsc/index.js.map +0 -1
  1950. package/dist/rsc/nonce.d.ts +0 -9
  1951. package/dist/rsc/nonce.d.ts.map +0 -1
  1952. package/dist/rsc/nonce.js +0 -18
  1953. package/dist/rsc/nonce.js.map +0 -1
  1954. package/dist/rsc/types.d.ts +0 -206
  1955. package/dist/rsc/types.d.ts.map +0 -1
  1956. package/dist/rsc/types.js +0 -8
  1957. package/dist/rsc/types.js.map +0 -1
  1958. package/dist/search-params.d.ts +0 -103
  1959. package/dist/search-params.d.ts.map +0 -1
  1960. package/dist/search-params.js +0 -74
  1961. package/dist/search-params.js.map +0 -1
  1962. package/dist/segment-system.d.ts +0 -75
  1963. package/dist/segment-system.d.ts.map +0 -1
  1964. package/dist/segment-system.js +0 -336
  1965. package/dist/segment-system.js.map +0 -1
  1966. package/dist/server/context.d.ts +0 -245
  1967. package/dist/server/context.d.ts.map +0 -1
  1968. package/dist/server/context.js +0 -197
  1969. package/dist/server/context.js.map +0 -1
  1970. package/dist/server/fetchable-loader-store.d.ts +0 -18
  1971. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  1972. package/dist/server/fetchable-loader-store.js +0 -18
  1973. package/dist/server/fetchable-loader-store.js.map +0 -1
  1974. package/dist/server/handle-store.d.ts +0 -85
  1975. package/dist/server/handle-store.d.ts.map +0 -1
  1976. package/dist/server/handle-store.js +0 -142
  1977. package/dist/server/handle-store.js.map +0 -1
  1978. package/dist/server/loader-registry.d.ts +0 -55
  1979. package/dist/server/loader-registry.d.ts.map +0 -1
  1980. package/dist/server/loader-registry.js +0 -132
  1981. package/dist/server/loader-registry.js.map +0 -1
  1982. package/dist/server/request-context.d.ts +0 -226
  1983. package/dist/server/request-context.d.ts.map +0 -1
  1984. package/dist/server/request-context.js +0 -290
  1985. package/dist/server/request-context.js.map +0 -1
  1986. package/dist/server/root-layout.d.ts +0 -4
  1987. package/dist/server/root-layout.d.ts.map +0 -1
  1988. package/dist/server/root-layout.js +0 -5
  1989. package/dist/server/root-layout.js.map +0 -1
  1990. package/dist/server.d.ts +0 -15
  1991. package/dist/server.d.ts.map +0 -1
  1992. package/dist/server.js +0 -20
  1993. package/dist/server.js.map +0 -1
  1994. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  1995. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  1996. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  1997. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  1998. package/dist/ssr/index.d.ts +0 -98
  1999. package/dist/ssr/index.d.ts.map +0 -1
  2000. package/dist/ssr/index.js +0 -158
  2001. package/dist/ssr/index.js.map +0 -1
  2002. package/dist/static-handler.d.ts +0 -50
  2003. package/dist/static-handler.d.ts.map +0 -1
  2004. package/dist/static-handler.gen.d.ts +0 -5
  2005. package/dist/static-handler.gen.d.ts.map +0 -1
  2006. package/dist/static-handler.gen.js +0 -5
  2007. package/dist/static-handler.gen.js.map +0 -1
  2008. package/dist/static-handler.js +0 -29
  2009. package/dist/static-handler.js.map +0 -1
  2010. package/dist/theme/ThemeProvider.d.ts +0 -20
  2011. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  2012. package/dist/theme/ThemeProvider.js +0 -240
  2013. package/dist/theme/ThemeProvider.js.map +0 -1
  2014. package/dist/theme/ThemeScript.d.ts +0 -48
  2015. package/dist/theme/ThemeScript.d.ts.map +0 -1
  2016. package/dist/theme/ThemeScript.js +0 -13
  2017. package/dist/theme/ThemeScript.js.map +0 -1
  2018. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  2019. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  2020. package/dist/theme/__tests__/theme.test.js +0 -103
  2021. package/dist/theme/__tests__/theme.test.js.map +0 -1
  2022. package/dist/theme/constants.d.ts +0 -29
  2023. package/dist/theme/constants.d.ts.map +0 -1
  2024. package/dist/theme/constants.js +0 -48
  2025. package/dist/theme/constants.js.map +0 -1
  2026. package/dist/theme/index.d.ts +0 -31
  2027. package/dist/theme/index.d.ts.map +0 -1
  2028. package/dist/theme/index.js +0 -36
  2029. package/dist/theme/index.js.map +0 -1
  2030. package/dist/theme/theme-context.d.ts +0 -40
  2031. package/dist/theme/theme-context.d.ts.map +0 -1
  2032. package/dist/theme/theme-context.js +0 -60
  2033. package/dist/theme/theme-context.js.map +0 -1
  2034. package/dist/theme/theme-script.d.ts +0 -27
  2035. package/dist/theme/theme-script.d.ts.map +0 -1
  2036. package/dist/theme/theme-script.js +0 -147
  2037. package/dist/theme/theme-script.js.map +0 -1
  2038. package/dist/theme/types.d.ts +0 -163
  2039. package/dist/theme/types.d.ts.map +0 -1
  2040. package/dist/theme/types.js +0 -11
  2041. package/dist/theme/types.js.map +0 -1
  2042. package/dist/theme/use-theme.d.ts +0 -12
  2043. package/dist/theme/use-theme.d.ts.map +0 -1
  2044. package/dist/theme/use-theme.js +0 -40
  2045. package/dist/theme/use-theme.js.map +0 -1
  2046. package/dist/types.d.ts +0 -1479
  2047. package/dist/types.d.ts.map +0 -1
  2048. package/dist/types.js +0 -10
  2049. package/dist/types.js.map +0 -1
  2050. package/dist/urls.d.ts +0 -441
  2051. package/dist/urls.d.ts.map +0 -1
  2052. package/dist/urls.gen.d.ts +0 -8
  2053. package/dist/urls.gen.d.ts.map +0 -1
  2054. package/dist/urls.gen.js +0 -8
  2055. package/dist/urls.gen.js.map +0 -1
  2056. package/dist/urls.js +0 -443
  2057. package/dist/urls.js.map +0 -1
  2058. package/dist/use-loader.d.ts +0 -127
  2059. package/dist/use-loader.d.ts.map +0 -1
  2060. package/dist/use-loader.js +0 -237
  2061. package/dist/use-loader.js.map +0 -1
  2062. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  2063. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  2064. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  2065. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  2066. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  2067. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  2068. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  2069. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  2070. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  2071. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  2072. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  2073. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  2074. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  2075. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  2076. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  2077. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  2078. package/dist/vite/ast-handler-extract.d.ts +0 -49
  2079. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  2080. package/dist/vite/ast-handler-extract.js +0 -249
  2081. package/dist/vite/ast-handler-extract.js.map +0 -1
  2082. package/dist/vite/expose-action-id.d.ts +0 -19
  2083. package/dist/vite/expose-action-id.d.ts.map +0 -1
  2084. package/dist/vite/expose-action-id.js +0 -250
  2085. package/dist/vite/expose-action-id.js.map +0 -1
  2086. package/dist/vite/expose-id-utils.d.ts +0 -69
  2087. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  2088. package/dist/vite/expose-id-utils.js +0 -289
  2089. package/dist/vite/expose-id-utils.js.map +0 -1
  2090. package/dist/vite/expose-internal-ids.d.ts +0 -22
  2091. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  2092. package/dist/vite/expose-internal-ids.js +0 -886
  2093. package/dist/vite/expose-internal-ids.js.map +0 -1
  2094. package/dist/vite/index.d.ts +0 -149
  2095. package/dist/vite/index.d.ts.map +0 -1
  2096. package/dist/vite/index.js.map +0 -1
  2097. package/dist/vite/index.named-routes.gen.ts +0 -103
  2098. package/dist/vite/package-resolution.d.ts +0 -43
  2099. package/dist/vite/package-resolution.d.ts.map +0 -1
  2100. package/dist/vite/package-resolution.js +0 -112
  2101. package/dist/vite/package-resolution.js.map +0 -1
  2102. package/dist/vite/virtual-entries.d.ts +0 -25
  2103. package/dist/vite/virtual-entries.d.ts.map +0 -1
  2104. package/dist/vite/virtual-entries.js +0 -110
  2105. package/dist/vite/virtual-entries.js.map +0 -1
  2106. package/src/browser/action-response-classifier.ts +0 -99
  2107. package/src/browser/react/use-client-cache.ts +0 -58
  2108. package/src/browser/shallow.ts +0 -40
  2109. package/src/handles/index.ts +0 -7
  2110. package/src/network-error-thrower.tsx +0 -23
  2111. package/src/router/middleware-cookies.ts +0 -55
@@ -10,7 +10,7 @@ import type {
10
10
  ShouldRevalidateFn,
11
11
  TransitionConfig,
12
12
  } from "../types";
13
- import { invariant } from "../errors";
13
+ import { invariant, DslContextError } from "../errors";
14
14
  import type { DefaultRouteName } from "../types/global-namespace.js";
15
15
 
16
16
  // ============================================================================
@@ -27,6 +27,7 @@ export interface PerformanceMetric {
27
27
  duration: number; // milliseconds
28
28
  startTime: number; // relative to request start
29
29
  depth?: number; // nesting level for hierarchical display (0 = top-level)
30
+ desc?: string; // free-form outcome detail, emitted as Server-Timing desc="..."
30
31
  }
31
32
 
32
33
  /**
@@ -40,7 +41,7 @@ export interface MetricsStore {
40
41
  metrics: PerformanceMetric[];
41
42
  }
42
43
  // ============================================================================
43
- // RSC Router Context
44
+ // Rango Context
44
45
  // ============================================================================
45
46
 
46
47
  /**
@@ -71,6 +72,10 @@ export type EntryPropCommon = {
71
72
  };
72
73
 
73
74
  /**
75
+ * Attachments resolved by walking the parent chain, not owned by the entry:
76
+ * middleware composes downward; revalidate and the error/notFound boundaries are
77
+ * resolved by nearest-ancestor lookup. Inherited, not a single execution chain.
78
+ *
74
79
  * @internal This type is an implementation detail and may change without notice.
75
80
  */
76
81
  export type EntryPropDatas = {
@@ -80,6 +85,16 @@ export type EntryPropDatas = {
80
85
  notFoundBoundary: (ReactNode | NotFoundBoundaryHandler)[];
81
86
  };
82
87
 
88
+ /**
89
+ * Render-time presentation fields shared by every entry variant.
90
+ *
91
+ * @internal This type is an implementation detail and may change without notice.
92
+ */
93
+ export type EntryPropRender = {
94
+ loading?: ReactNode | false;
95
+ transition?: TransitionConfig;
96
+ };
97
+
83
98
  /**
84
99
  * Loader entry stored in EntryData
85
100
  * Contains the loader definition and its revalidation rules
@@ -136,6 +151,19 @@ export type InterceptWhenFn<TEnv = any> = (
136
151
  ctx: InterceptSelectorContext<TEnv>,
137
152
  ) => boolean;
138
153
 
154
+ /**
155
+ * Config object passed to intercept() (its 4th argument). `when` gates whether
156
+ * the intercept activates on a soft navigation — a single match-time selector or
157
+ * an array of them (ALL must return true; omit to always activate). This is the
158
+ * intercept counterpart to transition({ when }); both express conditional
159
+ * behavior as a config field rather than a separate DSL helper.
160
+ *
161
+ * @internal This type is an implementation detail and may change without notice.
162
+ */
163
+ export interface InterceptConfig<TEnv = any> {
164
+ when?: InterceptWhenFn<TEnv> | InterceptWhenFn<TEnv>[];
165
+ }
166
+
139
167
  /**
140
168
  * Intercept entry stored in EntryData
141
169
  * Contains the slot name, route to intercept, and handler
@@ -158,11 +186,9 @@ export type InterceptEntry = {
158
186
  };
159
187
 
160
188
  export interface ParallelEntryData
161
- extends EntryPropCommon, EntryPropDatas, EntryPropSegments {
189
+ extends EntryPropCommon, EntryPropDatas, EntryPropSegments, EntryPropRender {
162
190
  type: "parallel";
163
191
  handler: Record<`@${string}`, Handler<any, any, any> | ReactNode>;
164
- loading?: ReactNode | false;
165
- transition?: TransitionConfig;
166
192
  /** Set when any parallel slot is a Static definition */
167
193
  isStaticPrerender?: true;
168
194
  /** Per-slot static handler $$ids for build-time store lookup */
@@ -171,6 +197,13 @@ export interface ParallelEntryData
171
197
 
172
198
  export type ParallelEntries = Partial<Record<`@${string}`, ParallelEntryData>>;
173
199
 
200
+ /**
201
+ * This entry's own structural children plus its owned loaders. `loader` lives
202
+ * here (not in EntryPropDatas) because loaders are owned by the entry, not
203
+ * inherited from ancestors.
204
+ *
205
+ * @internal This type is an implementation detail and may change without notice.
206
+ */
174
207
  export type EntryPropSegments = {
175
208
  loader: LoaderEntry[];
176
209
  layout: EntryData[];
@@ -182,8 +215,6 @@ export type EntryData =
182
215
  | ({
183
216
  type: "route";
184
217
  handler: Handler<any, any, any>;
185
- loading?: ReactNode | false;
186
- transition?: TransitionConfig;
187
218
  /** URL pattern for this route (used by path() in urls()) */
188
219
  pattern?: string;
189
220
  /** Set when handler is a Prerender definition */
@@ -191,39 +222,49 @@ export type EntryData =
191
222
  /** Original PrerenderHandlerDefinition (for build-time getParams access) */
192
223
  prerenderDef?: {
193
224
  getParams?: (ctx: any) => Promise<any[]> | any[];
194
- options?: { passthrough?: boolean };
225
+ options?: { concurrency?: number };
195
226
  };
227
+ /** Set when route is wrapped with Passthrough() — has a separate live handler */
228
+ isPassthrough?: true;
229
+ /** Live handler for runtime fallback (only set on Passthrough routes) */
230
+ liveHandler?: Handler<any, any, any>;
196
231
  /** Set when handler is a Static definition (build-time only) */
197
232
  isStaticPrerender?: true;
198
233
  /** Static handler $$id for build-time store lookup */
199
234
  staticHandlerId?: string;
200
235
  /** Response type for non-RSC routes (json, text, image, any) */
201
236
  responseType?: string;
237
+ /**
238
+ * PPR (partial pre-rendering) opt-in from the path() `ppr` option. A
239
+ * document-level property of the page route: `true` uses the default
240
+ * shell policy, an object carries ttl/swr/tags. Read by the integrated
241
+ * PPR serve path (rsc/shell-serve.ts resolvePprConfig).
242
+ */
243
+ ppr?: boolean | import("../urls/pattern-types.js").PartialPrerenderProps;
202
244
  } & EntryPropCommon &
203
245
  EntryPropDatas &
204
- EntryPropSegments)
246
+ EntryPropSegments &
247
+ EntryPropRender)
205
248
  | ({
206
249
  type: "layout";
207
250
  handler: ReactNode | Handler<any, any, any>;
208
- loading?: ReactNode | false;
209
- transition?: TransitionConfig;
210
251
  /** Set when handler is a Static definition (build-time only) */
211
252
  isStaticPrerender?: true;
212
253
  /** Static handler $$id for build-time store lookup */
213
254
  staticHandlerId?: string;
214
255
  } & EntryPropCommon &
215
256
  EntryPropDatas &
216
- EntryPropSegments)
257
+ EntryPropSegments &
258
+ EntryPropRender)
217
259
  | ParallelEntryData
218
260
  | ({
219
261
  type: "cache";
220
262
  /** Cache entries create cache boundaries and render like layouts (with Outlet) */
221
263
  handler: ReactNode | Handler<any, any, any>;
222
- loading?: ReactNode | false;
223
- transition?: TransitionConfig;
224
264
  } & EntryPropCommon &
225
265
  EntryPropDatas &
226
- EntryPropSegments);
266
+ EntryPropSegments &
267
+ EntryPropRender);
227
268
 
228
269
  /**
229
270
  * Tracked include info for build-time manifest generation
@@ -236,6 +277,17 @@ export interface TrackedInclude {
236
277
  lazy: boolean;
237
278
  }
238
279
 
280
+ /**
281
+ * Cached response-header write scope (issue #713). `kind` selects the error
282
+ * wording; `routeKey` names the route in the error.
283
+ *
284
+ * @internal This type is an implementation detail and may change without notice.
285
+ */
286
+ export type CachedHeaderScope = {
287
+ kind: "cache" | "ppr";
288
+ routeKey?: string;
289
+ };
290
+
239
291
  /**
240
292
  * Context stored in AsyncLocalStorage
241
293
  */
@@ -246,6 +298,10 @@ interface HelperContext {
246
298
  counters: Record<string, number>;
247
299
  forRoute?: string;
248
300
  mountIndex?: number;
301
+ /** Owning router id, when known (threaded by generateManifestFull). Scopes
302
+ * the search-schema/root-scope registries so same-named routes in
303
+ * different routers don't clobber each other (route-map-builder.ts). */
304
+ routerId?: string;
249
305
  metrics?: MetricsStore;
250
306
  /** True when rendering for SSR (document requests) */
251
307
  isSSR?: boolean;
@@ -273,6 +329,32 @@ interface HelperContext {
273
329
  string,
274
330
  import("../cache/profile-registry.js").CacheProfile
275
331
  >;
332
+ /** True when resolving handlers inside a cache() DSL boundary.
333
+ * Read by ctx.get() to guard non-cacheable variable reads. */
334
+ insideCacheScope?: boolean;
335
+ /**
336
+ * RULE (issue #713): in any cached scenario ONLY MIDDLEWARE writes response
337
+ * headers. Latched by the segment funnels, consulted by
338
+ * assertCachedHeaderWriteAllowed(); full doctrine in
339
+ * docs/design/ppr-shell-resume.md "The header doctrine".
340
+ */
341
+ cachedHeaderScope?: CachedHeaderScope;
342
+ /**
343
+ * Include scope string applied to direct-descendant shortCodes.
344
+ *
345
+ * Each `include(...)` call allocates a sibling-positional token like `I0`,
346
+ * `I1` from its parent's include counter and stores the composed scope
347
+ * (`${parentScope}I${idx}`) in its lazyContext. When the include's handler
348
+ * evaluates lazily, the store's `includeScope` is set from that context so
349
+ * every direct-descendant shortCode is generated as
350
+ * `${parent.shortCode}${includeScope}${prefix}${index}` — preventing
351
+ * collisions with siblings declared outside the include.
352
+ *
353
+ * The scope is NOT propagated through `store.run(...)`, so layouts /
354
+ * parallels / caches inside the include absorb the scope into their own
355
+ * shortCodes and their children start fresh.
356
+ */
357
+ includeScope?: string;
276
358
  }
277
359
  // Use a global symbol key so the AsyncLocalStorage instance survives HMR
278
360
  // module re-evaluation. Without this, Vite's RSC module runner may create
@@ -280,10 +362,28 @@ interface HelperContext {
280
362
  // hold references to the old instance — causing getStore() to return
281
363
  // undefined even inside a run() callback.
282
364
  const RSC_CONTEXT_KEY = Symbol.for("rangojs-router:rsc-context");
283
- export const RSCRouterContext: AsyncLocalStorage<HelperContext> = ((
365
+ export const RangoContext: AsyncLocalStorage<HelperContext> = ((
284
366
  globalThis as any
285
367
  )[RSC_CONTEXT_KEY] ??= new AsyncLocalStorage<HelperContext>());
286
368
 
369
+ /** shortCode prefix letter per entry type (e.g. "L0", "R2", "M1C0"). */
370
+ const SHORT_CODE_PREFIX: Record<
371
+ "layout" | "parallel" | "route" | "loader" | "cache",
372
+ string
373
+ > = {
374
+ layout: "L",
375
+ parallel: "P",
376
+ route: "R",
377
+ loader: "D",
378
+ cache: "C",
379
+ };
380
+
381
+ /** Post-increment a named per-store counter, returning the prior value. */
382
+ function bumpCounter(store: HelperContext, key: string): number {
383
+ store.counters[key] ??= 0;
384
+ return store.counters[key]++;
385
+ }
386
+
287
387
  export const getContext = (): {
288
388
  context: AsyncLocalStorage<HelperContext>;
289
389
  getStore: () => HelperContext;
@@ -307,12 +407,12 @@ export const getContext = (): {
307
407
  callback: (...args: any[]) => T,
308
408
  ) => T;
309
409
  } => {
310
- const context = RSCRouterContext;
410
+ const context = RangoContext;
311
411
 
312
412
  return {
313
413
  context,
314
414
  getOrCreateStore: (forRoute?: string): HelperContext => {
315
- let store = RSCRouterContext.getStore();
415
+ let store = RangoContext.getStore();
316
416
  if (!store) {
317
417
  store = {
318
418
  manifest: new Map<string, EntryData>(),
@@ -332,7 +432,7 @@ export const getContext = (): {
332
432
  const store = context.getStore();
333
433
  if (!store) {
334
434
  throw new Error(
335
- "RSC Router context store is not available. Make sure to run within RSC Router context.",
435
+ "Rango context store is not available. Make sure to run within Rango context.",
336
436
  );
337
437
  }
338
438
  return store;
@@ -349,48 +449,36 @@ export const getContext = (): {
349
449
  type: (string & {}) | "layout" | "parallel" | "middleware" | "revalidate",
350
450
  ) => {
351
451
  const store = context.getStore();
352
- invariant(store, "No context RSCRouterContext available");
353
- store.counters[type] ??= 0;
354
- const index = store.counters[type];
355
- store.counters[type] = index + 1;
356
- return `$${type}.${index}`;
452
+ invariant(store, "No context RangoContext available");
453
+ return `$${type}.${bumpCounter(store, type)}`;
357
454
  },
358
455
  getShortCode: (
359
456
  type: "layout" | "parallel" | "route" | "loader" | "cache",
360
457
  ) => {
361
458
  const store = context.getStore();
362
- invariant(store, "No context RSCRouterContext available");
459
+ invariant(store, "No context RangoContext available");
363
460
 
364
461
  const parent = store.parent;
365
- const prefix =
366
- type === "layout"
367
- ? "L"
368
- : type === "parallel"
369
- ? "P"
370
- : type === "loader"
371
- ? "D"
372
- : type === "cache"
373
- ? "C"
374
- : "R";
462
+ const prefix = SHORT_CODE_PREFIX[type];
375
463
  const mountPrefix =
376
464
  store.mountIndex !== undefined ? `M${store.mountIndex}` : "";
377
465
 
466
+ const includeScope = store.includeScope ?? "";
467
+
378
468
  if (!parent) {
379
469
  // Root entry: prefix with mount index and use mount-scoped counter
380
470
  const counterKey = mountPrefix
381
471
  ? `${mountPrefix}_root_${type}`
382
472
  : `root_${type}`;
383
- store.counters[counterKey] ??= 0;
384
- const index = store.counters[counterKey];
385
- store.counters[counterKey] = index + 1;
386
- return `${mountPrefix}${prefix}${index}`;
473
+ return `${mountPrefix}${prefix}${bumpCounter(store, counterKey)}`;
387
474
  } else {
388
- // Child entry: use parent-scoped counter (parent already has M prefix)
389
- const counterKey = `${parent.shortCode}_${type}`;
390
- store.counters[counterKey] ??= 0;
391
- const index = store.counters[counterKey];
392
- store.counters[counterKey] = index + 1;
393
- return `${parent.shortCode}${prefix}${index}`;
475
+ // Child entry: use parent-scoped counter with includeScope appended.
476
+ // When we're evaluating a lazy include's direct children, includeScope
477
+ // is a per-include token like "I0" / "I1I0" that partitions the
478
+ // parent's counter namespace so routes inside one include cannot
479
+ // collide with siblings declared outside it.
480
+ const counterKey = `${parent.shortCode}${includeScope}_${type}`;
481
+ return `${parent.shortCode}${includeScope}${prefix}${bumpCounter(store, counterKey)}`;
394
482
  }
395
483
  },
396
484
  runWithStore: <T>(
@@ -407,6 +495,7 @@ export const getContext = (): {
407
495
  counters: store.counters,
408
496
  forRoute: store.forRoute,
409
497
  mountIndex: store.mountIndex,
498
+ routerId: store.routerId,
410
499
  metrics: store.metrics,
411
500
  isSSR: store.isSSR,
412
501
  patterns: store.patterns,
@@ -417,6 +506,10 @@ export const getContext = (): {
417
506
  rootScoped: store.rootScoped,
418
507
  trackedIncludes: store.trackedIncludes,
419
508
  cacheProfiles: store.cacheProfiles,
509
+ includeScope: store.includeScope,
510
+ // cachedHeaderScope (and insideCacheScope) deliberately NOT copied —
511
+ // the header guard's middleware exemption depends on the latch dying
512
+ // with the funnel scope (see assertCachedHeaderWriteAllowed).
420
513
  },
421
514
  callback,
422
515
  );
@@ -445,6 +538,7 @@ export const getContext = (): {
445
538
  counters,
446
539
  forRoute: store?.forRoute,
447
540
  mountIndex: store?.mountIndex,
541
+ routerId: store?.routerId,
448
542
  metrics: store?.metrics,
449
543
  isSSR: store?.isSSR,
450
544
  patterns,
@@ -463,6 +557,31 @@ export const getContext = (): {
463
557
  };
464
558
  };
465
559
 
560
+ /**
561
+ * Acquire the active DSL build context, throwing `message` if a helper was
562
+ * called outside a urls()/map() builder. Returns the store API and the live
563
+ * HelperContext so callers avoid a second getContext() lookup.
564
+ */
565
+ export function requireDslContext(message: string): {
566
+ store: ReturnType<typeof getContext>;
567
+ ctx: HelperContext;
568
+ } {
569
+ const store = getContext();
570
+ const ctx = store.context.getStore();
571
+ if (!ctx) {
572
+ // The only reason the store is absent here is that a route-definition helper
573
+ // ran with no active RangoContext — i.e. outside a urls()/map() builder.
574
+ // Record that as the cause so the throw is self-explanatory, not a bare
575
+ // "must be called inside urls()" with no indication of the mechanism.
576
+ throw new DslContextError(message, {
577
+ cause:
578
+ "RangoContext store is undefined: a route-definition helper was called " +
579
+ "outside an active urls()/map() builder.",
580
+ });
581
+ }
582
+ return { store, ctx };
583
+ }
584
+
466
585
  /**
467
586
  * Run a callback with specific URL and name prefixes
468
587
  * Used by include() to apply prefixes to nested patterns
@@ -472,7 +591,7 @@ export function runWithPrefixes<T>(
472
591
  namePrefix: string | undefined,
473
592
  callback: () => T,
474
593
  ): T {
475
- const store = RSCRouterContext.getStore();
594
+ const store = RangoContext.getStore();
476
595
  if (!store) {
477
596
  throw new Error("runWithPrefixes must be called within router context");
478
597
  }
@@ -517,7 +636,7 @@ export function runWithPrefixes<T>(
517
636
  ? (store.rootScoped ?? false)
518
637
  : store.rootScoped;
519
638
 
520
- return RSCRouterContext.run(
639
+ return RangoContext.run(
521
640
  {
522
641
  ...store,
523
642
  urlPrefix: combinedUrlPrefix,
@@ -532,7 +651,7 @@ export function runWithPrefixes<T>(
532
651
  * Get current URL prefix from context
533
652
  */
534
653
  export function getUrlPrefix(): string {
535
- const store = RSCRouterContext.getStore();
654
+ const store = RangoContext.getStore();
536
655
  return store?.urlPrefix || "";
537
656
  }
538
657
 
@@ -540,7 +659,7 @@ export function getUrlPrefix(): string {
540
659
  * Get current name prefix from context
541
660
  */
542
661
  export function getNamePrefix(): string | undefined {
543
- const store = RSCRouterContext.getStore();
662
+ const store = RangoContext.getStore();
544
663
  return store?.namePrefix;
545
664
  }
546
665
 
@@ -549,10 +668,32 @@ export function getNamePrefix(): string | undefined {
549
668
  * Returns true at root or inside { name: "" } includes, false inside named includes.
550
669
  */
551
670
  export function getRootScoped(): boolean {
552
- const store = RSCRouterContext.getStore();
671
+ const store = RangoContext.getStore();
553
672
  return store?.rootScoped ?? true;
554
673
  }
555
674
 
675
+ /**
676
+ * Stamp build-time scope identity onto a Static() definition at mount time.
677
+ * The bake collector (prerender-collection.ts) renders defs OUTSIDE any
678
+ * evaluation scope and used to iterate the registry first-non-null, so these
679
+ * are the ONLY reliable carriers of the def's owning router, root-scope, and
680
+ * full route name — a name-keyed registry lookup at bake time reproduces the
681
+ * cross-router collision #757/#762 fixed (and the collector's historical
682
+ * `$$routePrefix` argument is a name PREFIX, which the root-scope registry
683
+ * never contains, silently degrading to the dot-heuristic).
684
+ * A definition mounted more than once is stamped each time; the last mount wins.
685
+ */
686
+ export function stampStaticDefScope(
687
+ handler: unknown,
688
+ routeName?: string,
689
+ ): void {
690
+ const store = RangoContext.getStore();
691
+ const def = handler as Record<string, unknown>;
692
+ if (routeName !== undefined) def.$$routeName = routeName;
693
+ def.$$rootScoped = getRootScoped();
694
+ if (store?.routerId !== undefined) def.$$routerId = store.routerId;
695
+ }
696
+
556
697
  // Export HelperContext type for use in other modules
557
698
  export type { HelperContext };
558
699
 
@@ -646,7 +787,7 @@ export function getParallelSlotCount(
646
787
  * ```
647
788
  */
648
789
  export function track(label: string, depth?: number): () => void {
649
- const store = RSCRouterContext.getStore();
790
+ const store = RangoContext.getStore();
650
791
 
651
792
  // No-op if context unavailable or metrics not enabled
652
793
  if (!store?.metrics?.enabled) {
@@ -666,3 +807,295 @@ export function track(label: string, depth?: number): () => void {
666
807
  });
667
808
  };
668
809
  }
810
+
811
+ /**
812
+ * Separate ALS for tracking loader execution scope.
813
+ * Uses a dedicated ALS (not RangoContext) to avoid issues with
814
+ * nested RangoContext.run() calls in Vite's module runner.
815
+ */
816
+ const LOADER_SCOPE_KEY = Symbol.for("rangojs-router:loader-scope");
817
+ const loaderScopeALS: AsyncLocalStorage<{ active: true }> = ((
818
+ globalThis as any
819
+ )[LOADER_SCOPE_KEY] ??= new AsyncLocalStorage<{ active: true }>());
820
+
821
+ // Purity-only scope: marks that a loader FUNCTION BODY is executing, regardless
822
+ // of how the loader was invoked (DSL via runInsideLoaderScope, or handler-
823
+ // invoked via ctx.use). Consulted by isInsideCacheScope() to exempt
824
+ // request-scoped reads, by getCurrentLoaderBodyId() for guard-warning
825
+ // attribution, and by isInsideHandlerInvokedLoaderBody() for the
826
+ // consumption-lane rule (the shell-capture guard exemption). It deliberately
827
+ // does NOT affect isInsideLoaderScope(), so rendered()/barrier/deadlock
828
+ // gating (which must distinguish DSL from handler-invoked loaders) is
829
+ // unchanged.
830
+ const LOADER_BODY_SCOPE_KEY = Symbol.for("rangojs-router:loader-body-scope");
831
+ const loaderBodyScopeALS: AsyncLocalStorage<{
832
+ active: true;
833
+ loaderId?: string;
834
+ handlerInvoked?: boolean;
835
+ }> = ((globalThis as any)[LOADER_BODY_SCOPE_KEY] ??= new AsyncLocalStorage<{
836
+ active: true;
837
+ loaderId?: string;
838
+ handlerInvoked?: boolean;
839
+ }>());
840
+
841
+ /**
842
+ * Check if the current execution is inside a cache() DSL boundary.
843
+ * Returns false inside loader execution — loaders are always fresh
844
+ * (never cached), so non-cacheable reads are safe.
845
+ */
846
+ export function isInsideCacheScope(): boolean {
847
+ if (RangoContext.getStore()?.insideCacheScope !== true) return false;
848
+ // Request-scoped READS are exempt in any loader body — DSL loaders re-run on
849
+ // every request (including cache() HITs via resolveLoadersOnly), and a
850
+ // handler-invoked loader body, though skipped with its handler on a HIT,
851
+ // yields a BAKED shared copy in the cached artifact — an accepted
852
+ // consumption-lane tradeoff (#672/#674). This is deliberately BROADER than
853
+ // the WRITE guard (assertCachedHeaderWriteAllowed narrows the cache()
854
+ // exemption to DSL scope, #725): a read bakes-and-accepts, a Set-Cookie/header
855
+ // write drops-and-throws because it has no baked-copy semantics on a HIT.
856
+ if (isInsideAnyLoaderScope()) return false;
857
+ return true;
858
+ }
859
+
860
+ /**
861
+ * Check if the current execution is inside a DSL loader scope
862
+ * (wrapped by runInsideLoaderScope). Used by rendered() barrier
863
+ * to distinguish DSL loaders from handler-invoked loaders.
864
+ */
865
+ export function isInsideLoaderScope(): boolean {
866
+ return loaderScopeALS.getStore()?.active === true;
867
+ }
868
+
869
+ /**
870
+ * Latch the cached header-write scope for the current request. First latch
871
+ * wins: a ppr route latched at the funnel top is not downgraded by a nested
872
+ * cache() entry (the document-scoped wording is the more useful one).
873
+ * Takes scalars so the already-latched path allocates nothing.
874
+ */
875
+ export function latchCachedHeaderScope(
876
+ kind: CachedHeaderScope["kind"],
877
+ routeKey?: string,
878
+ ): void {
879
+ const store = RangoContext.getStore();
880
+ if (store && !store.cachedHeaderScope) {
881
+ store.cachedHeaderScope = { kind, routeKey };
882
+ }
883
+ }
884
+
885
+ /** True inside ANY loader execution — DSL loader scope or a loader body
886
+ * (however invoked). The "loaders always re-run fresh" exemptions key off
887
+ * this. */
888
+ function isInsideAnyLoaderScope(): boolean {
889
+ return (
890
+ loaderScopeALS.getStore()?.active === true ||
891
+ loaderBodyScopeALS.getStore()?.active === true
892
+ );
893
+ }
894
+
895
+ /**
896
+ * The one ppr opt-in predicate: a page route entry that DECLARED `ppr`
897
+ * (`false` and undefined mean plain axis 1). Shared by the serve path
898
+ * (rsc/shell-serve.ts resolvePprConfig) and the header-write latch below so
899
+ * the two layers can never drift on what counts as a ppr route.
900
+ */
901
+ export function isPprEntry(entry: EntryData): entry is EntryData & {
902
+ type: "route";
903
+ ppr: true | import("../urls/pattern-types.js").PartialPrerenderProps;
904
+ } {
905
+ return (
906
+ entry.type === "route" && entry.ppr !== undefined && entry.ppr !== false
907
+ );
908
+ }
909
+
910
+ /**
911
+ * Latch the ppr header-write scope when the entry chain about to resolve is a
912
+ * `ppr` page route's. Called at the TOP of every segment funnel — unlike
913
+ * cache() (positional: ancestors before the boundary stay writable), ppr is
914
+ * document-scoped: the root layout down to the page bakes into the shared
915
+ * shell, so the whole funnel is cached territory.
916
+ *
917
+ * Checks the LEAF entry only: `entries` is the traverseBack chain
918
+ * [root, ..., manifestEntry], and the serve path reads `ppr` off the same
919
+ * leaf (rsc-rendering.ts: resolvePprConfig(manifestEntry)) — guard and serve
920
+ * share the predicate (isPprEntry) AND the input, so they cannot drift.
921
+ */
922
+ export function latchPprHeaderScopeForEntries(
923
+ entries: EntryData[],
924
+ routeKey?: string,
925
+ ): void {
926
+ const store = RangoContext.getStore();
927
+ if (!store || store.cachedHeaderScope) return;
928
+ const leaf = entries[entries.length - 1];
929
+ if (leaf !== undefined && isPprEntry(leaf)) {
930
+ store.cachedHeaderScope = { kind: "ppr", routeKey };
931
+ }
932
+ }
933
+
934
+ /**
935
+ * Clear the ppr header-write latch for the remainder of this render (issue
936
+ * #735). Called by ctx.dynamic(): a dynamic() render opts off the SHELL axis
937
+ * (rsc-rendering.ts skips both the HIT commit and the MISS capture on
938
+ * `_dynamic`), so it is ALWAYS live — every request re-runs the handler and its
939
+ * header write lands identically each time. The guard's reason to forbid it
940
+ * (MISS/HIT divergence) evaporates, so the write is re-permitted.
941
+ *
942
+ * ONLY the ppr (shell) axis is dropped — dynamic() does NOT opt off the CACHE
943
+ * axis. Two cases:
944
+ * - Pure ppr funnel (no cache() boundary): clear the latch → writes re-permit.
945
+ * - ppr route nested under a cache() boundary: fresh.ts latches "ppr" at the
946
+ * funnel top (first-wins), which MASKS the positional cache() latch, but the
947
+ * handler still runs inside the cache scope (`insideCacheScope`). A cache()
948
+ * HIT skips that handler, so the write is still non-deterministic — UNMASK to
949
+ * "cache" instead of clearing, so the guard keeps throwing (accurate cache()
950
+ * wording). This is why the check keys off `insideCacheScope`, not just kind.
951
+ *
952
+ * A subsequent cache() entered AFTER dynamic() on a pure-ppr funnel re-latches
953
+ * "cache" via latchCachedHeaderScope's `!store.cachedHeaderScope` guard (the
954
+ * field is undefined again once cleared). No-op when there is no funnel store or
955
+ * no ppr latch (dynamic() from middleware runs outside the funnel Store.run
956
+ * scope, so nothing is latched — the middleware exemption is unchanged).
957
+ */
958
+ export function clearPprHeaderScope(): void {
959
+ const store = RangoContext.getStore();
960
+ if (store?.cachedHeaderScope?.kind !== "ppr") return;
961
+ store.cachedHeaderScope = store.insideCacheScope
962
+ ? { kind: "cache", routeKey: store.cachedHeaderScope.routeKey }
963
+ : undefined;
964
+ }
965
+
966
+ /**
967
+ * RULE (issue #713): in any cached scenario ONLY MIDDLEWARE writes response
968
+ * headers — handler and loader writes throw while a scope is latched; the one
969
+ * exemption is DSL (registered) loaders under plain cache(). A handler-invoked
970
+ * loader body (ctx.use from a handler, never registered with loader()) is
971
+ * skipped with its handler on a HIT and throws like a handler write (#725).
972
+ * A ctx.dynamic() render clears the ppr latch (clearPprHeaderScope, #735) so
973
+ * its always-live handler header writes are re-permitted. Full layer rules and
974
+ * rationale: docs/design/ppr-shell-resume.md "The header doctrine".
975
+ */
976
+ export function assertCachedHeaderWriteAllowed(
977
+ surface: string,
978
+ surfaceProp?: string | symbol,
979
+ ): void {
980
+ const scope = RangoContext.getStore()?.cachedHeaderScope;
981
+ if (!scope) return;
982
+ // Exempt DSL loaders (loaderScopeALS) ONLY. A registered loader re-runs on
983
+ // every cache HIT (fresh.ts runInsideLoaderScope -> cache-lookup.ts
984
+ // resolveLoadersOnly), so its header/cookie writes merge into every response
985
+ // with no MISS/HIT divergence. A handler-invoked loader body has
986
+ // loaderBodyScopeALS active but loaderScopeALS unset (loader-resolution.ts
987
+ // derives isDslLoader from isInsideLoaderScope()); on a HIT the handler is
988
+ // skipped so that loader never re-runs and its write would land only on the
989
+ // MISS — throw it. isInsideLoaderScope() (not isInsideAnyLoaderScope) is the
990
+ // discriminator; the DSL scope ALS survives nested ctx.use bodies, so a
991
+ // handler-invoked loader nested under a DSL loader stays exempt (its DSL
992
+ // parent re-invokes it on every HIT). This is the exempt fast path, so the
993
+ // broad predicate for the error label is deferred to the throw path below.
994
+ if (scope.kind === "cache" && isInsideLoaderScope()) return;
995
+ // Everything below runs only on the throw path — `surfaceProp` exists so
996
+ // callers pass constants and the success path allocates nothing (the full
997
+ // surface, e.g. "ctx.headers.set()", is assembled here). isInsideAnyLoaderScope
998
+ // (broad) labels a now-throwing handler-invoked loader body "loader".
999
+ const fullSurface =
1000
+ surfaceProp === undefined ? surface : `${surface}.${String(surfaceProp)}()`;
1001
+ const layer = isInsideAnyLoaderScope() ? "loader" : "handler";
1002
+ const route = scope.routeKey ? ` (route "${scope.routeKey}")` : "";
1003
+ const where =
1004
+ scope.kind === "ppr"
1005
+ ? `on a ppr route${route} — the document shell is cached and replayed`
1006
+ : `inside a cache() boundary${route}`;
1007
+ // ppr loader writes fail by physics (headers flush before loaders settle);
1008
+ // every other throw — a handler, or a handler-invoked loader under cache() —
1009
+ // fails because the handler is skipped on a HIT, so key the reason on the
1010
+ // scope kind, not the layer.
1011
+ const why =
1012
+ scope.kind === "ppr" && layer === "loader"
1013
+ ? "The response headers flush with the shell before loaders settle, so this write is dropped on cache hits."
1014
+ : "On a cache hit the handler is skipped, so this write would silently vanish.";
1015
+ throw new Error(
1016
+ `${fullSurface} cannot be called from a ${layer} ${where}. ${why} ` +
1017
+ "Set response headers in route middleware instead — middleware runs " +
1018
+ "on every request, including cache hits.",
1019
+ );
1020
+ }
1021
+
1022
+ /**
1023
+ * Run `fn` inside a loader scope. While active, cache-scope guards
1024
+ * are bypassed because loaders are always fresh (never cached) and
1025
+ * their side effects (setCookie, header, etc.) are safe.
1026
+ */
1027
+ export function runInsideLoaderScope<T>(fn: () => T): T {
1028
+ return loaderScopeALS.run({ active: true }, fn);
1029
+ }
1030
+
1031
+ /**
1032
+ * Run `fn` inside a loader BODY scope. Marks loader-function execution for the
1033
+ * cache-purity guard only (isInsideCacheScope), WITHOUT affecting
1034
+ * isInsideLoaderScope()/rendered() gating. Applied to every loader body (DSL
1035
+ * and handler-invoked via ctx.use) so request-scoped reads inside a loader
1036
+ * never trip the cache-scope guards — loaders always run fresh.
1037
+ */
1038
+ export function runInsideLoaderBodyScope<T>(
1039
+ fn: () => T,
1040
+ loaderId?: string,
1041
+ handlerInvoked?: boolean,
1042
+ ): T {
1043
+ return loaderBodyScopeALS.run({ active: true, loaderId, handlerInvoked }, fn);
1044
+ }
1045
+
1046
+ /**
1047
+ * The $$id of the loader whose body is currently executing, or undefined
1048
+ * outside any loader body. Used by the shell-capture identity guard
1049
+ * (cookie-store.ts) so its refusal warning can name the loader that read
1050
+ * cookies()/headers() instead of blaming a lane it cannot see — the old
1051
+ * hardcoded "bake-lane loader" text misled a live-lane debugging session
1052
+ * (issue #672, secondary).
1053
+ */
1054
+ export function getCurrentLoaderBodyId(): string | undefined {
1055
+ return loaderBodyScopeALS.getStore()?.loaderId;
1056
+ }
1057
+
1058
+ /**
1059
+ * True while a HANDLER-invoked loader body (`await ctx.use(Loader)` from a
1060
+ * handler, not the DSL segment funnel) is executing. The consumption-lane
1061
+ * rule keys off this: handler consumption yields a BAKED copy in every shared
1062
+ * artifact — cache(), "use cache", and the PPR shell — so the shell-capture
1063
+ * identity guard (cookie-store.ts) permits cookies()/headers() here, exactly
1064
+ * like the cache-purity guards do. DSL segment loaders (live lane masked at
1065
+ * capture, bake lane guarded) never set the flag.
1066
+ */
1067
+ export function isInsideHandlerInvokedLoaderBody(): boolean {
1068
+ return loaderBodyScopeALS.getStore()?.handlerInvoked === true;
1069
+ }
1070
+
1071
+ // Scope for handle PUSH CALLBACKS (push(() => ...), including async ones).
1072
+ // A push callback's value is stored as-is; if it is a promise it is NOT tracked
1073
+ // by handleStore.settled and does not block segment resolution, so a
1074
+ // ctx.use(loader) made from inside such a callback can never form a rendered()
1075
+ // deadlock. This is an ALS (not a plain boolean) so the exemption survives the
1076
+ // callback's own awaits — an async push callback that resumes after `await`
1077
+ // still reads as "inside a push callback" and stays out of the deadlock guard.
1078
+ const PUSH_CALLBACK_SCOPE_KEY = Symbol.for(
1079
+ "rangojs-router:push-callback-scope",
1080
+ );
1081
+ const pushCallbackScopeALS: AsyncLocalStorage<{ active: true }> = ((
1082
+ globalThis as any
1083
+ )[PUSH_CALLBACK_SCOPE_KEY] ??= new AsyncLocalStorage<{ active: true }>());
1084
+
1085
+ /**
1086
+ * Check if the current execution is inside a handle push callback (sync or an
1087
+ * async callback's continuation). Used by the handler-to-loader deadlock guard
1088
+ * to exempt push-callback continuations.
1089
+ */
1090
+ export function isInsidePushCallbackScope(): boolean {
1091
+ return pushCallbackScopeALS.getStore()?.active === true;
1092
+ }
1093
+
1094
+ /**
1095
+ * Run `fn` inside a push-callback scope. Wraps the invocation of a handle push
1096
+ * callback so that any ctx.use(loader) it makes — including after one of its own
1097
+ * awaits — is exempt from the deadlock guard.
1098
+ */
1099
+ export function runInsidePushCallbackScope<T>(fn: () => T): T {
1100
+ return pushCallbackScopeALS.run({ active: true }, fn);
1101
+ }