@rangojs/router 0.0.0-experimental.39 → 0.0.0-experimental.39528925

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 (1697) hide show
  1. package/AGENTS.md +8 -4
  2. package/README.md +320 -735
  3. package/dist/bin/rango.js +721 -197
  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 +524 -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/prefix-tree-utils.d.ts +56 -0
  77. package/dist/types/build/route-trie.d.ts +89 -0
  78. package/dist/types/build/route-types/ast-helpers.d.ts +3 -0
  79. package/dist/types/build/route-types/ast-route-extraction.d.ts +13 -0
  80. package/dist/types/build/route-types/codegen.d.ts +16 -0
  81. package/dist/types/build/route-types/include-resolution.d.ts +74 -0
  82. package/dist/types/build/route-types/param-extraction.d.ts +13 -0
  83. package/dist/types/build/route-types/per-module-writer.d.ts +18 -0
  84. package/dist/types/build/route-types/router-processing.d.ts +82 -0
  85. package/dist/types/build/route-types/scan-filter.d.ts +17 -0
  86. package/dist/types/build/route-types/source-scan.d.ts +13 -0
  87. package/dist/types/build/runtime-discovery.d.ts +24 -0
  88. package/dist/types/cache/background-task.d.ts +21 -0
  89. package/dist/types/cache/cache-error.d.ts +71 -0
  90. package/dist/types/cache/cache-key-utils.d.ts +43 -0
  91. package/dist/types/cache/cache-policy.d.ts +59 -0
  92. package/dist/types/cache/cache-runtime.d.ts +51 -0
  93. package/dist/types/cache/cache-scope.d.ts +215 -0
  94. package/dist/types/cache/cache-tag.d.ts +79 -0
  95. package/dist/types/cache/cf/cf-base64.d.ts +4 -0
  96. package/dist/types/cache/cf/cf-cache-constants.d.ts +112 -0
  97. package/dist/types/cache/cf/cf-cache-store.d.ts +616 -0
  98. package/dist/types/cache/cf/cf-cache-types.d.ts +365 -0
  99. package/dist/types/cache/cf/cf-kv-utils.d.ts +43 -0
  100. package/dist/types/cache/cf/cf-tag-marker-memo.d.ts +15 -0
  101. package/dist/types/cache/cf/cf-zone-purge.d.ts +31 -0
  102. package/dist/types/cache/cf/index.d.ts +4 -0
  103. package/dist/types/cache/document-cache.d.ts +71 -0
  104. package/dist/types/cache/handle-capture.d.ts +23 -0
  105. package/dist/types/cache/handle-snapshot.d.ts +39 -0
  106. package/dist/types/cache/index.d.ts +9 -0
  107. package/dist/types/cache/memory-segment-store.d.ts +163 -0
  108. package/dist/types/cache/profile-registry.d.ts +40 -0
  109. package/dist/types/cache/read-through-swr.d.ts +61 -0
  110. package/dist/types/cache/search-params-filter.d.ts +64 -0
  111. package/dist/types/cache/segment-codec.d.ts +78 -0
  112. package/dist/types/cache/shell-snapshot.d.ts +186 -0
  113. package/dist/types/cache/tag-invalidation.d.ts +74 -0
  114. package/dist/types/cache/taint.d.ts +71 -0
  115. package/dist/types/cache/types.d.ts +503 -0
  116. package/dist/types/cache/vercel/index.d.ts +1 -0
  117. package/dist/types/cache/vercel/vercel-cache-store.d.ts +268 -0
  118. package/dist/types/client.d.ts +184 -0
  119. package/dist/types/client.rsc.d.ts +39 -0
  120. package/dist/types/cloudflare/index.d.ts +7 -0
  121. package/dist/types/cloudflare/tracing.d.ts +57 -0
  122. package/dist/types/component-utils.d.ts +46 -0
  123. package/dist/types/components/DefaultDocument.d.ts +13 -0
  124. package/dist/types/context-var.d.ts +84 -0
  125. package/dist/types/debug.d.ts +57 -0
  126. package/dist/types/decode-loader-results.d.ts +5 -0
  127. package/dist/types/default-error-boundary.d.ts +10 -0
  128. package/dist/types/defer.d.ts +89 -0
  129. package/dist/types/deps/browser.d.ts +1 -0
  130. package/dist/types/deps/html-stream-client.d.ts +1 -0
  131. package/dist/types/deps/html-stream-server.d.ts +1 -0
  132. package/dist/types/deps/rsc.d.ts +1 -0
  133. package/dist/types/deps/ssr.d.ts +1 -0
  134. package/dist/types/dev-discovery-protocol.d.ts +5 -0
  135. package/dist/types/encode-kv.d.ts +35 -0
  136. package/dist/types/errors.d.ts +226 -0
  137. package/dist/types/escape-script.d.ts +44 -0
  138. package/dist/types/handle.d.ts +93 -0
  139. package/dist/types/handles/MetaTags.d.ts +17 -0
  140. package/dist/types/handles/Scripts.d.ts +38 -0
  141. package/dist/types/handles/breadcrumbs.d.ts +43 -0
  142. package/dist/types/handles/deferred-resolution.d.ts +53 -0
  143. package/dist/types/handles/is-thenable.d.ts +10 -0
  144. package/dist/types/handles/meta.d.ts +43 -0
  145. package/dist/types/handles/script.d.ts +139 -0
  146. package/dist/types/host/cookie-handler.d.ts +8 -0
  147. package/dist/types/host/errors.d.ts +40 -0
  148. package/dist/types/host/index.d.ts +33 -0
  149. package/dist/types/host/pattern-matcher.d.ts +30 -0
  150. package/dist/types/host/router.d.ts +12 -0
  151. package/dist/types/host/testing.d.ts +41 -0
  152. package/dist/types/host/types.d.ts +148 -0
  153. package/dist/types/host/utils.d.ts +20 -0
  154. package/dist/types/href-client.d.ts +214 -0
  155. package/dist/types/index.d.ts +113 -0
  156. package/dist/types/index.rsc.d.ts +52 -0
  157. package/dist/types/internal-debug.d.ts +1 -0
  158. package/dist/types/loader-store.d.ts +193 -0
  159. package/dist/types/loader.d.ts +18 -0
  160. package/dist/types/loader.rsc.d.ts +18 -0
  161. package/dist/types/missing-id-error.d.ts +1 -0
  162. package/dist/types/outlet-context.d.ts +12 -0
  163. package/dist/types/outlet-provider.d.ts +12 -0
  164. package/dist/types/prerender/build-shell-capture.d.ts +104 -0
  165. package/dist/types/prerender/param-hash.d.ts +6 -0
  166. package/dist/types/prerender/shell-manifest-key.d.ts +18 -0
  167. package/dist/types/prerender/store.d.ts +63 -0
  168. package/dist/types/prerender.d.ts +292 -0
  169. package/dist/types/redirect-origin.d.ts +67 -0
  170. package/dist/types/regex-escape.d.ts +6 -0
  171. package/dist/types/render-error-thrower.d.ts +13 -0
  172. package/dist/types/response-utils.d.ts +35 -0
  173. package/dist/types/reverse.d.ts +206 -0
  174. package/dist/types/root-error-boundary.d.ts +32 -0
  175. package/dist/types/route-content-wrapper.d.ts +40 -0
  176. package/dist/types/route-definition/dsl-helpers.d.ts +130 -0
  177. package/dist/types/route-definition/helper-factories.d.ts +22 -0
  178. package/dist/types/route-definition/helpers-types.d.ts +393 -0
  179. package/dist/types/route-definition/index.d.ts +7 -0
  180. package/dist/types/route-definition/redirect.d.ts +48 -0
  181. package/dist/types/route-definition/resolve-handler-use.d.ts +19 -0
  182. package/dist/types/route-definition/use-item-types.d.ts +1 -0
  183. package/dist/types/route-definition.d.ts +1 -0
  184. package/dist/types/route-map-builder.d.ts +102 -0
  185. package/dist/types/route-name.d.ts +27 -0
  186. package/dist/types/route-types.d.ts +172 -0
  187. package/dist/types/router/basename.d.ts +10 -0
  188. package/dist/types/router/content-negotiation.d.ts +91 -0
  189. package/dist/types/router/debug-manifest.d.ts +7 -0
  190. package/dist/types/router/error-handling.d.ts +76 -0
  191. package/dist/types/router/find-match.d.ts +19 -0
  192. package/dist/types/router/handler-context.d.ts +41 -0
  193. package/dist/types/router/instrument.d.ts +191 -0
  194. package/dist/types/router/intercept-resolution.d.ts +79 -0
  195. package/dist/types/router/lazy-includes.d.ts +26 -0
  196. package/dist/types/router/loader-resolution.d.ts +63 -0
  197. package/dist/types/router/logging.d.ts +41 -0
  198. package/dist/types/router/manifest.d.ts +8 -0
  199. package/dist/types/router/match-api.d.ts +19 -0
  200. package/dist/types/router/match-context.d.ts +184 -0
  201. package/dist/types/router/match-handlers.d.ts +48 -0
  202. package/dist/types/router/match-middleware/background-revalidation.d.ts +113 -0
  203. package/dist/types/router/match-middleware/cache-lookup.d.ts +126 -0
  204. package/dist/types/router/match-middleware/cache-store.d.ts +112 -0
  205. package/dist/types/router/match-middleware/index.d.ts +80 -0
  206. package/dist/types/router/match-middleware/intercept-resolution.d.ts +116 -0
  207. package/dist/types/router/match-middleware/segment-resolution.d.ts +94 -0
  208. package/dist/types/router/match-pipelines.d.ts +103 -0
  209. package/dist/types/router/match-result.d.ts +114 -0
  210. package/dist/types/router/metrics.d.ts +6 -0
  211. package/dist/types/router/middleware-types.d.ts +74 -0
  212. package/dist/types/router/middleware.d.ts +116 -0
  213. package/dist/types/router/navigation-snapshot.d.ts +51 -0
  214. package/dist/types/router/params-util.d.ts +8 -0
  215. package/dist/types/router/parse-pattern.d.ts +38 -0
  216. package/dist/types/router/pattern-matching.d.ts +169 -0
  217. package/dist/types/router/prefetch-cache-ttl.d.ts +27 -0
  218. package/dist/types/router/prefetch-default.d.ts +28 -0
  219. package/dist/types/router/prefetch-limits.d.ts +20 -0
  220. package/dist/types/router/prerender-match.d.ts +53 -0
  221. package/dist/types/router/preview-match.d.ts +22 -0
  222. package/dist/types/router/request-classification.d.ts +104 -0
  223. package/dist/types/router/revalidation.d.ts +57 -0
  224. package/dist/types/router/route-snapshot.d.ts +112 -0
  225. package/dist/types/router/router-context.d.ts +137 -0
  226. package/dist/types/router/router-interfaces.d.ts +441 -0
  227. package/dist/types/router/router-options.d.ts +792 -0
  228. package/dist/types/router/router-registry.d.ts +15 -0
  229. package/dist/types/router/segment-resolution/fresh.d.ts +55 -0
  230. package/dist/types/router/segment-resolution/helpers.d.ts +93 -0
  231. package/dist/types/router/segment-resolution/loader-cache.d.ts +33 -0
  232. package/dist/types/router/segment-resolution/loader-mask.d.ts +44 -0
  233. package/dist/types/router/segment-resolution/loader-snapshot.d.ts +90 -0
  234. package/dist/types/router/segment-resolution/mask-nested.d.ts +53 -0
  235. package/dist/types/router/segment-resolution/revalidation.d.ts +85 -0
  236. package/dist/types/router/segment-resolution/static-store.d.ts +17 -0
  237. package/dist/types/router/segment-resolution/streamed-handler-telemetry.d.ts +16 -0
  238. package/dist/types/router/segment-resolution/view-transition-default.d.ts +27 -0
  239. package/dist/types/router/segment-resolution.d.ts +3 -0
  240. package/dist/types/router/segment-wrappers.d.ts +53 -0
  241. package/dist/types/router/state-cookie-name.d.ts +1 -0
  242. package/dist/types/router/substitute-pattern-params.d.ts +23 -0
  243. package/dist/types/router/telemetry-otel.d.ts +113 -0
  244. package/dist/types/router/telemetry.d.ts +216 -0
  245. package/dist/types/router/timeout.d.ts +107 -0
  246. package/dist/types/router/tracing.d.ts +139 -0
  247. package/dist/types/router/transition-when.d.ts +13 -0
  248. package/dist/types/router/trie-matching.d.ts +32 -0
  249. package/dist/types/router/types.d.ts +98 -0
  250. package/dist/types/router/url-params.d.ts +26 -0
  251. package/dist/types/router.d.ts +7 -0
  252. package/dist/types/rsc/capture-queue.d.ts +49 -0
  253. package/dist/types/rsc/full-payload.d.ts +22 -0
  254. package/dist/types/rsc/handler-context.d.ts +32 -0
  255. package/dist/types/rsc/handler.d.ts +9 -0
  256. package/dist/types/rsc/helpers.d.ts +127 -0
  257. package/dist/types/rsc/index.d.ts +17 -0
  258. package/dist/types/rsc/json-route-result.d.ts +20 -0
  259. package/dist/types/rsc/loader-fetch.d.ts +14 -0
  260. package/dist/types/rsc/manifest-init.d.ts +18 -0
  261. package/dist/types/rsc/nonce.d.ts +28 -0
  262. package/dist/types/rsc/origin-guard.d.ts +50 -0
  263. package/dist/types/rsc/progressive-enhancement.d.ts +19 -0
  264. package/dist/types/rsc/redirect-guard.d.ts +37 -0
  265. package/dist/types/rsc/render-pipeline.d.ts +148 -0
  266. package/dist/types/rsc/response-cache-serve.d.ts +46 -0
  267. package/dist/types/rsc/response-error.d.ts +19 -0
  268. package/dist/types/rsc/response-route-handler.d.ts +29 -0
  269. package/dist/types/rsc/routine-plan.d.ts +124 -0
  270. package/dist/types/rsc/rsc-rendering.d.ts +18 -0
  271. package/dist/types/rsc/runtime-warnings.d.ts +22 -0
  272. package/dist/types/rsc/server-action.d.ts +68 -0
  273. package/dist/types/rsc/shell-build-manifest.d.ts +90 -0
  274. package/dist/types/rsc/shell-capture-constants.d.ts +44 -0
  275. package/dist/types/rsc/shell-capture.d.ts +406 -0
  276. package/dist/types/rsc/shell-serve.d.ts +189 -0
  277. package/dist/types/rsc/ssr-setup.d.ts +73 -0
  278. package/dist/types/rsc/stream-idle.d.ts +60 -0
  279. package/dist/types/rsc/transition-gate.d.ts +23 -0
  280. package/dist/types/rsc/types.d.ts +311 -0
  281. package/dist/types/runtime-env.d.ts +1 -0
  282. package/dist/types/search-params.d.ts +125 -0
  283. package/dist/types/segment-content-promise.d.ts +13 -0
  284. package/dist/types/segment-fragments.d.ts +79 -0
  285. package/dist/types/segment-loader-promise.d.ts +22 -0
  286. package/dist/types/segment-system.d.ts +84 -0
  287. package/dist/types/serialize.d.ts +164 -0
  288. package/dist/types/server/context.d.ts +510 -0
  289. package/dist/types/server/cookie-parse.d.ts +10 -0
  290. package/dist/types/server/cookie-store.d.ts +107 -0
  291. package/dist/types/server/fetchable-loader-store.d.ts +20 -0
  292. package/dist/types/server/handle-store.d.ts +100 -0
  293. package/dist/types/server/loader-registry.d.ts +32 -0
  294. package/dist/types/server/request-context.d.ts +707 -0
  295. package/dist/types/server/root-layout.d.ts +3 -0
  296. package/dist/types/server.d.ts +15 -0
  297. package/dist/types/ssr/index.d.ts +233 -0
  298. package/dist/types/ssr/inject-rsc-eager.d.ts +3 -0
  299. package/dist/types/ssr/preinit-client-references.d.ts +71 -0
  300. package/dist/types/ssr/ssr-root.d.ts +69 -0
  301. package/dist/types/static-handler.d.ts +71 -0
  302. package/dist/types/testing/cache-status.d.ts +63 -0
  303. package/dist/types/testing/collect-handle.d.ts +20 -0
  304. package/dist/types/testing/dispatch.d.ts +127 -0
  305. package/dist/types/testing/dom.entry.d.ts +15 -0
  306. package/dist/types/testing/e2e/fixture.d.ts +37 -0
  307. package/dist/types/testing/e2e/index.d.ts +31 -0
  308. package/dist/types/testing/e2e/matchers.d.ts +17 -0
  309. package/dist/types/testing/e2e/page-helpers.d.ts +86 -0
  310. package/dist/types/testing/e2e/parity.d.ts +111 -0
  311. package/dist/types/testing/e2e/server.d.ts +35 -0
  312. package/dist/types/testing/flight-matchers.d.ts +55 -0
  313. package/dist/types/testing/flight-normalize.d.ts +1 -0
  314. package/dist/types/testing/flight-tree.d.ts +192 -0
  315. package/dist/types/testing/flight.d.ts +115 -0
  316. package/dist/types/testing/flight.entry.d.ts +27 -0
  317. package/dist/types/testing/generated-routes.d.ts +66 -0
  318. package/dist/types/testing/index.d.ts +54 -0
  319. package/dist/types/testing/internal/context.d.ts +225 -0
  320. package/dist/types/testing/internal/flight-client-globals.d.ts +1 -0
  321. package/dist/types/testing/internal/seed-vars.d.ts +30 -0
  322. package/dist/types/testing/render-handler.d.ts +160 -0
  323. package/dist/types/testing/render-route.d.ts +255 -0
  324. package/dist/types/testing/run-loader.d.ts +186 -0
  325. package/dist/types/testing/run-middleware.d.ts +132 -0
  326. package/dist/types/testing/run-transition-when.d.ts +78 -0
  327. package/dist/types/testing/shell-status.d.ts +81 -0
  328. package/dist/types/testing/vitest-stubs/cloudflare-email.d.ts +6 -0
  329. package/dist/types/testing/vitest-stubs/cloudflare-workers.d.ts +13 -0
  330. package/dist/types/testing/vitest-stubs/plugin-rsc.d.ts +7 -0
  331. package/dist/types/testing/vitest-stubs/version.d.ts +1 -0
  332. package/dist/types/testing/vitest.d.ts +205 -0
  333. package/dist/types/theme/ThemeProvider.d.ts +13 -0
  334. package/dist/types/theme/ThemeScript.d.ts +45 -0
  335. package/dist/types/theme/constants.d.ts +39 -0
  336. package/dist/types/theme/index.d.ts +29 -0
  337. package/dist/types/theme/theme-context.d.ts +21 -0
  338. package/dist/types/theme/theme-script.d.ts +26 -0
  339. package/dist/types/theme/types.d.ts +162 -0
  340. package/dist/types/theme/use-theme.d.ts +8 -0
  341. package/dist/types/types/boundaries.d.ts +93 -0
  342. package/dist/types/types/cache-types.d.ts +191 -0
  343. package/dist/types/types/error-types.d.ts +114 -0
  344. package/dist/types/types/global-namespace.d.ts +90 -0
  345. package/dist/types/types/handler-context.d.ts +658 -0
  346. package/dist/types/types/index.d.ts +11 -0
  347. package/dist/types/types/loader-types.d.ts +182 -0
  348. package/dist/types/types/request-scope.d.ts +93 -0
  349. package/dist/types/types/route-config.d.ts +105 -0
  350. package/dist/types/types/route-entry.d.ts +98 -0
  351. package/dist/types/types/segments.d.ts +239 -0
  352. package/dist/types/types.d.ts +1 -0
  353. package/dist/types/urls/include-helper.d.ts +17 -0
  354. package/dist/types/urls/include-provider.d.ts +27 -0
  355. package/dist/types/urls/index.d.ts +6 -0
  356. package/dist/types/urls/path-helper-types.d.ts +197 -0
  357. package/dist/types/urls/path-helper.d.ts +12 -0
  358. package/dist/types/urls/pattern-types.d.ts +166 -0
  359. package/dist/types/urls/response-types.d.ts +67 -0
  360. package/dist/types/urls/type-extraction.d.ts +157 -0
  361. package/dist/types/urls/urls-function.d.ts +24 -0
  362. package/dist/types/urls.d.ts +1 -0
  363. package/dist/types/use-loader.d.ts +150 -0
  364. package/dist/types/vercel/index.d.ts +10 -0
  365. package/dist/types/vercel/tracing.d.ts +71 -0
  366. package/dist/types/vite/debug.d.ts +80 -0
  367. package/dist/types/vite/discovery/bundle-postprocess.d.ts +12 -0
  368. package/dist/types/vite/discovery/dev-prerender-cache.d.ts +65 -0
  369. package/dist/types/vite/discovery/discover-routers.d.ts +17 -0
  370. package/dist/types/vite/discovery/discovery-errors.d.ts +113 -0
  371. package/dist/types/vite/discovery/gate-state.d.ts +79 -0
  372. package/dist/types/vite/discovery/prerender-collection.d.ts +24 -0
  373. package/dist/types/vite/discovery/route-types-writer.d.ts +32 -0
  374. package/dist/types/vite/discovery/self-gen-tracking.d.ts +22 -0
  375. package/dist/types/vite/discovery/shell-prerender-phase.d.ts +40 -0
  376. package/dist/types/vite/discovery/state.d.ts +163 -0
  377. package/dist/types/vite/discovery/virtual-module-codegen.d.ts +15 -0
  378. package/dist/types/vite/encryption-key.d.ts +2 -0
  379. package/dist/types/vite/index.d.ts +11 -0
  380. package/dist/types/vite/inject-client-debug.d.ts +56 -0
  381. package/dist/types/vite/plugin-types.d.ts +298 -0
  382. package/dist/types/vite/plugins/cjs-to-esm.d.ts +6 -0
  383. package/dist/types/vite/plugins/client-ref-dedup.d.ts +40 -0
  384. package/dist/types/vite/plugins/client-ref-hashing.d.ts +35 -0
  385. package/dist/types/vite/plugins/cloudflare-protocol-stub.d.ts +64 -0
  386. package/dist/types/vite/plugins/expose-action-id.d.ts +18 -0
  387. package/dist/types/vite/plugins/expose-id-utils.d.ts +37 -0
  388. package/dist/types/vite/plugins/expose-ids/export-analysis.d.ts +19 -0
  389. package/dist/types/vite/plugins/expose-ids/handler-transform.d.ts +10 -0
  390. package/dist/types/vite/plugins/expose-ids/loader-transform.d.ts +8 -0
  391. package/dist/types/vite/plugins/expose-ids/router-transform.d.ts +13 -0
  392. package/dist/types/vite/plugins/expose-ids/types.d.ts +29 -0
  393. package/dist/types/vite/plugins/expose-internal-ids.d.ts +16 -0
  394. package/dist/types/vite/plugins/performance-tracks.d.ts +25 -0
  395. package/dist/types/vite/plugins/refresh-cmd.d.ts +20 -0
  396. package/dist/types/vite/plugins/server-ref-hashing.d.ts +24 -0
  397. package/dist/types/vite/plugins/server-reference-pattern.d.ts +1 -0
  398. package/dist/types/vite/plugins/use-cache-transform.d.ts +20 -0
  399. package/dist/types/vite/plugins/vercel-output.d.ts +85 -0
  400. package/dist/types/vite/plugins/version-injector.d.ts +21 -0
  401. package/dist/types/vite/plugins/version-plugin.d.ts +19 -0
  402. package/dist/types/vite/plugins/virtual-entries.d.ts +36 -0
  403. package/dist/types/vite/plugins/virtual-stub-plugin.d.ts +7 -0
  404. package/dist/types/vite/rango.d.ts +29 -0
  405. package/dist/types/vite/router-discovery.d.ts +23 -0
  406. package/dist/types/vite/utils/ast-handler-extract.d.ts +64 -0
  407. package/dist/types/vite/utils/banner.d.ts +2 -0
  408. package/dist/types/vite/utils/bundle-analysis.d.ts +28 -0
  409. package/dist/types/vite/utils/client-chunks.d.ts +55 -0
  410. package/dist/types/vite/utils/directive-prologue.d.ts +16 -0
  411. package/dist/types/vite/utils/forward-user-plugins.d.ts +37 -0
  412. package/dist/types/vite/utils/manifest-utils.d.ts +7 -0
  413. package/dist/types/vite/utils/package-resolution.d.ts +6 -0
  414. package/dist/types/vite/utils/prerender-utils.d.ts +32 -0
  415. package/dist/types/vite/utils/shared-utils.d.ts +67 -0
  416. package/dist/vite/index.js +5410 -1524
  417. package/dist/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  418. package/package.json +120 -38
  419. package/skills/api-client/SKILL.md +211 -0
  420. package/skills/breadcrumbs/SKILL.md +85 -6
  421. package/skills/bundle-analysis/SKILL.md +159 -0
  422. package/skills/cache-guide/SKILL.md +255 -25
  423. package/skills/caching/SKILL.md +414 -17
  424. package/skills/catalog.json +283 -0
  425. package/skills/cloudflare/SKILL.md +151 -0
  426. package/skills/cloudflare/agents/openai.yaml +4 -0
  427. package/skills/cloudflare/references/d1-and-local-dev.md +131 -0
  428. package/skills/cloudflare/references/streaming-and-deploy.md +107 -0
  429. package/skills/cloudflare/references/webhooks-and-crypto.md +147 -0
  430. package/skills/comparison/SKILL.md +50 -0
  431. package/skills/comparison/agents/openai.yaml +4 -0
  432. package/skills/comparison/references/framework-comparison.md +844 -0
  433. package/skills/composability/SKILL.md +124 -4
  434. package/skills/css/SKILL.md +76 -0
  435. package/skills/debug-manifest/SKILL.md +5 -11
  436. package/skills/defer-hydration/SKILL.md +235 -0
  437. package/skills/deployment-caching/SKILL.md +176 -0
  438. package/skills/document-cache/SKILL.md +116 -58
  439. package/skills/fonts/SKILL.md +1 -1
  440. package/skills/handler-use/SKILL.md +364 -0
  441. package/skills/hooks/SKILL.md +73 -691
  442. package/skills/hooks/data.md +273 -0
  443. package/skills/hooks/handle-and-actions.md +103 -0
  444. package/skills/hooks/navigation.md +110 -0
  445. package/skills/hooks/outlets.md +41 -0
  446. package/skills/hooks/state.md +228 -0
  447. package/skills/hooks/urls.md +135 -0
  448. package/skills/host-router/SKILL.md +129 -27
  449. package/skills/i18n/SKILL.md +276 -0
  450. package/skills/intercept/SKILL.md +94 -18
  451. package/skills/layout/SKILL.md +62 -19
  452. package/skills/links/SKILL.md +285 -17
  453. package/skills/loader/SKILL.md +302 -54
  454. package/skills/middleware/SKILL.md +92 -16
  455. package/skills/migrate-nextjs/SKILL.md +794 -0
  456. package/skills/migrate-nextjs/backend-host-swap.md +120 -0
  457. package/skills/migrate-react-router/SKILL.md +153 -0
  458. package/skills/migrate-react-router/component-migration.md +196 -0
  459. package/skills/migrate-react-router/data-and-actions.md +225 -0
  460. package/skills/migrate-react-router/route-mapping.md +271 -0
  461. package/skills/mime-routes/SKILL.md +55 -18
  462. package/skills/observability/SKILL.md +231 -0
  463. package/skills/parallel/SKILL.md +225 -10
  464. package/skills/ppr/SKILL.md +904 -0
  465. package/skills/prerender/SKILL.md +236 -132
  466. package/skills/rango/SKILL.md +321 -24
  467. package/skills/react-compiler/SKILL.md +168 -0
  468. package/skills/response-routes/SKILL.md +180 -52
  469. package/skills/route/SKILL.md +178 -9
  470. package/skills/router-setup/SKILL.md +140 -11
  471. package/skills/scripts/SKILL.md +179 -0
  472. package/skills/server-actions/SKILL.md +776 -0
  473. package/skills/shell-manifest/SKILL.md +185 -0
  474. package/skills/streams-and-websockets/SKILL.md +283 -0
  475. package/skills/tailwind/SKILL.md +28 -4
  476. package/skills/testing/SKILL.md +131 -0
  477. package/skills/testing/bindings.md +103 -0
  478. package/skills/testing/cache-prerender.md +172 -0
  479. package/skills/testing/client-components.md +125 -0
  480. package/skills/testing/e2e-parity.md +125 -0
  481. package/skills/testing/flight.md +91 -0
  482. package/skills/testing/handles.md +131 -0
  483. package/skills/testing/loader.md +128 -0
  484. package/skills/testing/middleware.md +99 -0
  485. package/skills/testing/render-handler.md +122 -0
  486. package/skills/testing/response-routes.md +95 -0
  487. package/skills/testing/reverse-and-types.md +85 -0
  488. package/skills/testing/server-actions.md +107 -0
  489. package/skills/testing/server-tree.md +128 -0
  490. package/skills/testing/setup.md +123 -0
  491. package/skills/theme/SKILL.md +1 -1
  492. package/skills/typesafety/SKILL.md +45 -616
  493. package/skills/typesafety/env-and-bindings.md +254 -0
  494. package/skills/typesafety/generated-files-and-cli.md +342 -0
  495. package/skills/typesafety/params-and-search.md +153 -0
  496. package/skills/typesafety/route-types.md +213 -0
  497. package/skills/use-cache/SKILL.md +121 -15
  498. package/skills/vercel/SKILL.md +149 -0
  499. package/skills/view-transitions/SKILL.md +341 -0
  500. package/src/__augment-tests__/augment.ts +81 -0
  501. package/src/__augment-tests__/augmented.check.ts +116 -0
  502. package/src/__internal.ts +1 -66
  503. package/src/browser/action-coordinator.ts +53 -36
  504. package/src/browser/action-fence.ts +47 -0
  505. package/src/browser/app-shell.ts +39 -0
  506. package/src/browser/app-version.ts +14 -0
  507. package/src/browser/connection-warmup.ts +134 -0
  508. package/src/browser/cookie-name.ts +140 -0
  509. package/src/browser/dev-discovery.ts +66 -0
  510. package/src/browser/event-controller.ts +405 -168
  511. package/src/browser/history-state.ts +21 -0
  512. package/src/browser/index.ts +3 -3
  513. package/src/browser/invalidate-client-cache.ts +52 -0
  514. package/src/browser/link-interceptor.ts +469 -20
  515. package/src/browser/logging.ts +28 -0
  516. package/src/browser/merge-segment-loaders.ts +6 -4
  517. package/src/browser/navigation-bridge.ts +202 -36
  518. package/src/browser/navigation-client.ts +279 -73
  519. package/src/browser/navigation-store-handle.ts +38 -0
  520. package/src/browser/navigation-store.ts +208 -329
  521. package/src/browser/navigation-transaction.ts +18 -66
  522. package/src/browser/network-error-handler.ts +34 -7
  523. package/src/browser/notify-listeners.ts +22 -0
  524. package/src/browser/partial-update.ts +249 -127
  525. package/src/browser/prefetch/cache.ts +354 -51
  526. package/src/browser/prefetch/default-strategy.ts +74 -0
  527. package/src/browser/prefetch/fetch.ts +453 -40
  528. package/src/browser/prefetch/invalidation.ts +30 -0
  529. package/src/browser/prefetch/loader.ts +111 -0
  530. package/src/browser/prefetch/observer.ts +50 -22
  531. package/src/browser/prefetch/queue.ts +144 -23
  532. package/src/browser/prefetch/resource-ready.ts +77 -0
  533. package/src/browser/prefetch/runtime.ts +6 -0
  534. package/src/browser/rango-state.ts +178 -75
  535. package/src/browser/react/Link.tsx +187 -75
  536. package/src/browser/react/NavigationProvider.tsx +249 -123
  537. package/src/browser/react/ScrollRestoration.tsx +10 -6
  538. package/src/browser/react/context.ts +11 -2
  539. package/src/browser/react/filter-segment-order.ts +66 -7
  540. package/src/browser/react/index.ts +0 -48
  541. package/src/browser/react/location-state-shared.ts +178 -8
  542. package/src/browser/react/location-state.ts +39 -14
  543. package/src/browser/react/use-action.ts +6 -15
  544. package/src/browser/react/use-handle.ts +23 -69
  545. package/src/browser/react/use-href.tsx +8 -1
  546. package/src/browser/react/use-link-status.ts +33 -8
  547. package/src/browser/react/use-navigation.ts +32 -7
  548. package/src/browser/react/use-params.ts +20 -10
  549. package/src/browser/react/use-reverse.ts +106 -0
  550. package/src/browser/react/use-router.ts +47 -12
  551. package/src/browser/react/use-search-params.ts +0 -5
  552. package/src/browser/react/use-segments.ts +11 -21
  553. package/src/browser/response-adapter.ts +99 -8
  554. package/src/browser/rsc-router.tsx +316 -84
  555. package/src/browser/scroll-restoration.ts +61 -47
  556. package/src/browser/segment-reconciler.ts +44 -7
  557. package/src/browser/segment-structure-assert.ts +2 -2
  558. package/src/browser/server-action-bridge.ts +244 -71
  559. package/src/browser/types.ts +144 -37
  560. package/src/browser/validate-redirect-origin.ts +43 -16
  561. package/src/build/collect-fallback-refs.ts +107 -0
  562. package/src/build/generate-manifest.ts +217 -188
  563. package/src/build/generate-route-types.ts +6 -1
  564. package/src/build/index.ts +11 -3
  565. package/src/build/prefix-tree-utils.ts +123 -0
  566. package/src/build/route-trie.ts +196 -84
  567. package/src/build/route-types/ast-route-extraction.ts +15 -8
  568. package/src/build/route-types/codegen.ts +16 -5
  569. package/src/build/route-types/include-resolution.ts +464 -63
  570. package/src/build/route-types/param-extraction.ts +6 -3
  571. package/src/build/route-types/per-module-writer.ts +22 -6
  572. package/src/build/route-types/router-processing.ts +336 -110
  573. package/src/build/route-types/scan-filter.ts +9 -2
  574. package/src/build/route-types/source-scan.ts +216 -0
  575. package/src/build/runtime-discovery.ts +13 -21
  576. package/src/cache/cache-error.ts +104 -0
  577. package/src/cache/cache-key-utils.ts +73 -15
  578. package/src/cache/cache-policy.ts +108 -34
  579. package/src/cache/cache-runtime.ts +558 -108
  580. package/src/cache/cache-scope.ts +431 -112
  581. package/src/cache/cache-tag.ts +149 -0
  582. package/src/cache/cf/cf-base64.ts +33 -0
  583. package/src/cache/cf/cf-cache-constants.ts +134 -0
  584. package/src/cache/cf/cf-cache-store.ts +3250 -173
  585. package/src/cache/cf/cf-cache-types.ts +417 -0
  586. package/src/cache/cf/cf-kv-utils.ts +84 -0
  587. package/src/cache/cf/cf-tag-marker-memo.ts +108 -0
  588. package/src/cache/cf/cf-zone-purge.ts +101 -0
  589. package/src/cache/cf/index.ts +16 -17
  590. package/src/cache/document-cache.ts +202 -61
  591. package/src/cache/handle-snapshot.ts +92 -1
  592. package/src/cache/index.ts +33 -20
  593. package/src/cache/memory-segment-store.ts +286 -37
  594. package/src/cache/profile-registry.ts +46 -31
  595. package/src/cache/read-through-swr.ts +66 -16
  596. package/src/cache/search-params-filter.ts +118 -0
  597. package/src/cache/segment-codec.ts +80 -25
  598. package/src/cache/shell-snapshot.ts +516 -0
  599. package/src/cache/tag-invalidation.ts +230 -0
  600. package/src/cache/taint.ts +55 -0
  601. package/src/cache/types.ts +323 -100
  602. package/src/cache/vercel/index.ts +11 -0
  603. package/src/cache/vercel/vercel-cache-store.ts +1264 -0
  604. package/src/client.rsc.tsx +41 -21
  605. package/src/client.tsx +116 -290
  606. package/src/cloudflare/index.ts +11 -0
  607. package/src/cloudflare/tracing.ts +112 -0
  608. package/src/component-utils.ts +19 -0
  609. package/src/components/DefaultDocument.tsx +8 -2
  610. package/src/context-var.ts +84 -2
  611. package/src/debug.ts +2 -2
  612. package/src/decode-loader-results.ts +52 -0
  613. package/src/defer.ts +185 -0
  614. package/src/deps/ssr.ts +4 -2
  615. package/src/dev-discovery-protocol.ts +11 -0
  616. package/src/encode-kv.ts +49 -0
  617. package/src/errors.ts +30 -4
  618. package/src/escape-script.ts +52 -0
  619. package/src/handle.ts +104 -34
  620. package/src/handles/MetaTags.tsx +24 -53
  621. package/src/handles/Scripts.tsx +183 -0
  622. package/src/handles/breadcrumbs.ts +35 -8
  623. package/src/handles/deferred-resolution.ts +127 -0
  624. package/src/handles/is-thenable.ts +16 -0
  625. package/src/handles/meta.ts +14 -40
  626. package/src/handles/script.ts +244 -0
  627. package/src/host/cookie-handler.ts +9 -60
  628. package/src/host/errors.ts +13 -22
  629. package/src/host/index.ts +9 -2
  630. package/src/host/pattern-matcher.ts +23 -52
  631. package/src/host/router.ts +107 -99
  632. package/src/host/testing.ts +40 -27
  633. package/src/host/types.ts +37 -4
  634. package/src/host/utils.ts +1 -1
  635. package/src/href-client.ts +137 -22
  636. package/src/index.rsc.ts +111 -13
  637. package/src/index.ts +150 -19
  638. package/src/internal-debug.ts +11 -10
  639. package/src/loader-store.ts +500 -0
  640. package/src/loader.rsc.ts +20 -13
  641. package/src/loader.ts +12 -11
  642. package/src/missing-id-error.ts +68 -0
  643. package/src/outlet-context.ts +1 -1
  644. package/src/outlet-provider.tsx +1 -5
  645. package/src/prerender/build-shell-capture.ts +453 -0
  646. package/src/prerender/param-hash.ts +16 -16
  647. package/src/prerender/shell-manifest-key.ts +20 -0
  648. package/src/prerender/store.ts +52 -42
  649. package/src/prerender.ts +215 -86
  650. package/src/redirect-origin.ts +143 -0
  651. package/src/regex-escape.ts +8 -0
  652. package/src/render-error-thrower.tsx +20 -0
  653. package/src/response-utils.ts +62 -0
  654. package/src/reverse.ts +65 -15
  655. package/src/root-error-boundary.tsx +1 -19
  656. package/src/route-content-wrapper.tsx +19 -77
  657. package/src/route-definition/dsl-helpers.ts +492 -305
  658. package/src/route-definition/helper-factories.ts +28 -140
  659. package/src/route-definition/helpers-types.ts +156 -78
  660. package/src/route-definition/index.ts +4 -2
  661. package/src/route-definition/redirect.ts +53 -12
  662. package/src/route-definition/resolve-handler-use.ts +160 -0
  663. package/src/route-definition/use-item-types.ts +29 -0
  664. package/src/route-map-builder.ts +102 -68
  665. package/src/route-types.ts +37 -46
  666. package/src/router/basename.ts +14 -0
  667. package/src/router/content-negotiation.ts +211 -22
  668. package/src/router/error-handling.ts +45 -18
  669. package/src/router/find-match.ts +130 -29
  670. package/src/router/handler-context.ts +105 -45
  671. package/src/router/instrument.ts +401 -0
  672. package/src/router/intercept-resolution.ts +79 -24
  673. package/src/router/lazy-includes.ts +90 -63
  674. package/src/router/loader-resolution.ts +302 -56
  675. package/src/router/logging.ts +5 -8
  676. package/src/router/manifest.ts +105 -56
  677. package/src/router/match-api.ts +190 -219
  678. package/src/router/match-context.ts +0 -22
  679. package/src/router/match-handlers.ts +268 -171
  680. package/src/router/match-middleware/background-revalidation.ts +66 -22
  681. package/src/router/match-middleware/cache-lookup.ts +368 -277
  682. package/src/router/match-middleware/cache-store.ts +175 -50
  683. package/src/router/match-middleware/intercept-resolution.ts +8 -28
  684. package/src/router/match-middleware/segment-resolution.ts +52 -18
  685. package/src/router/match-pipelines.ts +1 -42
  686. package/src/router/match-result.ts +128 -44
  687. package/src/router/metrics.ts +22 -36
  688. package/src/router/middleware-types.ts +26 -138
  689. package/src/router/middleware.ts +305 -177
  690. package/src/router/navigation-snapshot.ts +173 -0
  691. package/src/router/params-util.ts +23 -0
  692. package/src/router/parse-pattern.ts +115 -0
  693. package/src/router/pattern-matching.ts +181 -150
  694. package/src/router/prefetch-cache-ttl.ts +51 -0
  695. package/src/router/prefetch-default.ts +59 -0
  696. package/src/router/prefetch-limits.ts +37 -0
  697. package/src/router/prerender-match.ts +250 -60
  698. package/src/router/preview-match.ts +35 -103
  699. package/src/router/request-classification.ts +291 -0
  700. package/src/router/revalidation.ts +123 -73
  701. package/src/router/route-snapshot.ts +256 -0
  702. package/src/router/router-context.ts +11 -29
  703. package/src/router/router-interfaces.ts +162 -38
  704. package/src/router/router-options.ts +271 -21
  705. package/src/router/router-registry.ts +2 -5
  706. package/src/router/segment-resolution/fresh.ts +320 -78
  707. package/src/router/segment-resolution/helpers.ts +116 -31
  708. package/src/router/segment-resolution/loader-cache.ts +198 -39
  709. package/src/router/segment-resolution/loader-mask.ts +60 -0
  710. package/src/router/segment-resolution/loader-snapshot.ts +259 -0
  711. package/src/router/segment-resolution/mask-nested.ts +99 -0
  712. package/src/router/segment-resolution/revalidation.ts +501 -385
  713. package/src/router/segment-resolution/static-store.ts +55 -15
  714. package/src/router/segment-resolution/streamed-handler-telemetry.ts +52 -0
  715. package/src/router/segment-resolution/view-transition-default.ts +60 -0
  716. package/src/router/segment-resolution.ts +5 -1
  717. package/src/router/segment-wrappers.ts +8 -5
  718. package/src/router/state-cookie-name.ts +33 -0
  719. package/src/router/substitute-pattern-params.ts +75 -0
  720. package/src/router/telemetry-otel.ts +171 -200
  721. package/src/router/telemetry.ts +106 -20
  722. package/src/router/timeout.ts +53 -22
  723. package/src/router/tracing.ts +235 -0
  724. package/src/router/transition-when.ts +76 -0
  725. package/src/router/trie-matching.ts +171 -59
  726. package/src/router/types.ts +10 -63
  727. package/src/router/url-params.ts +57 -0
  728. package/src/router.ts +256 -78
  729. package/src/rsc/capture-queue.ts +218 -0
  730. package/src/rsc/full-payload.ts +71 -0
  731. package/src/rsc/handler-context.ts +4 -2
  732. package/src/rsc/handler.ts +896 -517
  733. package/src/rsc/helpers.ts +245 -47
  734. package/src/rsc/index.ts +2 -5
  735. package/src/rsc/json-route-result.ts +38 -0
  736. package/src/rsc/loader-fetch.ts +129 -33
  737. package/src/rsc/manifest-init.ts +32 -48
  738. package/src/rsc/nonce.ts +10 -1
  739. package/src/rsc/origin-guard.ts +39 -25
  740. package/src/rsc/progressive-enhancement.ts +381 -74
  741. package/src/rsc/redirect-guard.ts +102 -0
  742. package/src/rsc/render-pipeline.ts +611 -0
  743. package/src/rsc/response-cache-serve.ts +259 -0
  744. package/src/rsc/response-error.ts +79 -12
  745. package/src/rsc/response-route-handler.ts +80 -206
  746. package/src/rsc/routine-plan.ts +359 -0
  747. package/src/rsc/rsc-rendering.ts +1624 -156
  748. package/src/rsc/runtime-warnings.ts +23 -10
  749. package/src/rsc/server-action.ts +424 -133
  750. package/src/rsc/shell-build-manifest.ts +336 -0
  751. package/src/rsc/shell-capture-constants.ts +45 -0
  752. package/src/rsc/shell-capture.ts +2063 -0
  753. package/src/rsc/shell-serve.ts +337 -0
  754. package/src/rsc/ssr-setup.ts +113 -18
  755. package/src/rsc/stream-idle.ts +137 -0
  756. package/src/rsc/transition-gate.ts +86 -0
  757. package/src/rsc/types.ts +83 -6
  758. package/src/runtime-env.ts +18 -0
  759. package/src/search-params.ts +35 -30
  760. package/src/segment-content-promise.ts +67 -0
  761. package/src/segment-fragments.ts +165 -0
  762. package/src/segment-loader-promise.ts +167 -0
  763. package/src/segment-system.tsx +449 -132
  764. package/src/serialize.ts +243 -0
  765. package/src/server/context.ts +571 -61
  766. package/src/server/cookie-parse.ts +32 -0
  767. package/src/server/cookie-store.ts +152 -5
  768. package/src/server/handle-store.ts +40 -38
  769. package/src/server/loader-registry.ts +38 -46
  770. package/src/server/request-context.ts +933 -182
  771. package/src/server.ts +0 -2
  772. package/src/ssr/index.tsx +631 -179
  773. package/src/ssr/inject-rsc-eager.ts +167 -0
  774. package/src/ssr/preinit-client-references.ts +106 -0
  775. package/src/ssr/ssr-root.tsx +262 -0
  776. package/src/static-handler.ts +45 -20
  777. package/src/testing/cache-status.ts +162 -0
  778. package/src/testing/collect-handle.ts +46 -0
  779. package/src/testing/dispatch.ts +951 -0
  780. package/src/testing/dom.entry.ts +22 -0
  781. package/src/testing/e2e/fixture.ts +188 -0
  782. package/src/testing/e2e/index.ts +147 -0
  783. package/src/testing/e2e/matchers.ts +35 -0
  784. package/src/testing/e2e/page-helpers.ts +319 -0
  785. package/src/testing/e2e/parity.ts +400 -0
  786. package/src/testing/e2e/server.ts +195 -0
  787. package/src/testing/flight-matchers.ts +97 -0
  788. package/src/testing/flight-normalize.ts +11 -0
  789. package/src/testing/flight-runtime.d.ts +57 -0
  790. package/src/testing/flight-tree.ts +682 -0
  791. package/src/testing/flight.entry.ts +52 -0
  792. package/src/testing/flight.ts +257 -0
  793. package/src/testing/generated-routes.ts +199 -0
  794. package/src/testing/index.ts +121 -0
  795. package/src/testing/internal/context.ts +380 -0
  796. package/src/testing/internal/flight-client-globals.ts +30 -0
  797. package/src/testing/internal/seed-vars.ts +54 -0
  798. package/src/testing/render-handler.ts +371 -0
  799. package/src/testing/render-route.tsx +653 -0
  800. package/src/testing/run-loader.ts +385 -0
  801. package/src/testing/run-middleware.ts +219 -0
  802. package/src/testing/run-transition-when.ts +197 -0
  803. package/src/testing/shell-status.ts +206 -0
  804. package/src/testing/vitest-stubs/cloudflare-email.ts +9 -0
  805. package/src/testing/vitest-stubs/cloudflare-workers.ts +21 -0
  806. package/src/testing/vitest-stubs/plugin-rsc.ts +16 -0
  807. package/src/testing/vitest-stubs/version.ts +5 -0
  808. package/src/testing/vitest.ts +305 -0
  809. package/src/theme/ThemeProvider.tsx +56 -84
  810. package/src/theme/ThemeScript.tsx +7 -9
  811. package/src/theme/constants.ts +52 -13
  812. package/src/theme/index.ts +0 -7
  813. package/src/theme/theme-context.ts +1 -5
  814. package/src/theme/theme-script.ts +22 -21
  815. package/src/theme/use-theme.ts +0 -3
  816. package/src/types/boundaries.ts +0 -35
  817. package/src/types/cache-types.ts +17 -8
  818. package/src/types/error-types.ts +30 -90
  819. package/src/types/global-namespace.ts +54 -41
  820. package/src/types/handler-context.ts +244 -81
  821. package/src/types/index.ts +3 -10
  822. package/src/types/loader-types.ts +44 -15
  823. package/src/types/request-scope.ts +112 -0
  824. package/src/types/route-config.ts +20 -52
  825. package/src/types/route-entry.ts +22 -7
  826. package/src/types/segments.ts +142 -14
  827. package/src/urls/include-helper.ts +41 -75
  828. package/src/urls/include-provider.ts +71 -0
  829. package/src/urls/index.ts +2 -11
  830. package/src/urls/path-helper-types.ts +104 -25
  831. package/src/urls/path-helper.ts +70 -115
  832. package/src/urls/pattern-types.ts +113 -19
  833. package/src/urls/response-types.ts +25 -22
  834. package/src/urls/type-extraction.ts +98 -154
  835. package/src/urls/urls-function.ts +1 -19
  836. package/src/use-loader.tsx +346 -89
  837. package/src/vercel/index.ts +11 -0
  838. package/src/vercel/tracing.ts +89 -0
  839. package/src/vite/debug.ts +185 -0
  840. package/src/vite/discovery/bundle-postprocess.ts +46 -45
  841. package/src/vite/discovery/dev-prerender-cache.ts +117 -0
  842. package/src/vite/discovery/discover-routers.ts +149 -144
  843. package/src/vite/discovery/discovery-errors.ts +255 -0
  844. package/src/vite/discovery/gate-state.ts +171 -0
  845. package/src/vite/discovery/prerender-collection.ts +243 -134
  846. package/src/vite/discovery/route-types-writer.ts +40 -84
  847. package/src/vite/discovery/self-gen-tracking.ts +27 -1
  848. package/src/vite/discovery/shell-prerender-phase.ts +397 -0
  849. package/src/vite/discovery/state.ts +105 -10
  850. package/src/vite/discovery/virtual-module-codegen.ts +206 -87
  851. package/src/vite/encryption-key.ts +29 -0
  852. package/src/vite/index.ts +16 -0
  853. package/src/vite/inject-client-debug.ts +88 -0
  854. package/src/vite/plugin-types.ts +267 -62
  855. package/src/vite/plugins/cjs-to-esm.ts +16 -19
  856. package/src/vite/plugins/client-ref-dedup.ts +16 -11
  857. package/src/vite/plugins/client-ref-hashing.ts +28 -15
  858. package/src/vite/plugins/cloudflare-protocol-loader-hook.d.mts +23 -0
  859. package/src/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  860. package/src/vite/plugins/cloudflare-protocol-stub.ts +194 -0
  861. package/src/vite/plugins/expose-action-id.ts +51 -100
  862. package/src/vite/plugins/expose-id-utils.ts +96 -51
  863. package/src/vite/plugins/expose-ids/export-analysis.ts +101 -34
  864. package/src/vite/plugins/expose-ids/handler-transform.ts +15 -64
  865. package/src/vite/plugins/expose-ids/loader-transform.ts +14 -24
  866. package/src/vite/plugins/expose-ids/router-transform.ts +118 -29
  867. package/src/vite/plugins/expose-internal-ids.ts +599 -317
  868. package/src/vite/plugins/performance-tracks.ts +89 -0
  869. package/src/vite/plugins/refresh-cmd.ts +89 -27
  870. package/src/vite/plugins/server-ref-hashing.ts +74 -0
  871. package/src/vite/plugins/server-reference-pattern.ts +10 -0
  872. package/src/vite/plugins/use-cache-transform.ts +73 -83
  873. package/src/vite/plugins/vercel-output.ts +384 -0
  874. package/src/vite/plugins/version-injector.ts +39 -29
  875. package/src/vite/plugins/version-plugin.ts +54 -37
  876. package/src/vite/plugins/virtual-entries.ts +183 -29
  877. package/src/vite/rango.ts +403 -304
  878. package/src/vite/router-discovery.ts +1651 -187
  879. package/src/vite/utils/ast-handler-extract.ts +26 -35
  880. package/src/vite/utils/banner.ts +4 -4
  881. package/src/vite/utils/bundle-analysis.ts +10 -15
  882. package/src/vite/utils/client-chunks.ts +184 -0
  883. package/src/vite/utils/directive-prologue.ts +40 -0
  884. package/src/vite/utils/forward-user-plugins.ts +171 -0
  885. package/src/vite/utils/manifest-utils.ts +1 -59
  886. package/src/vite/utils/package-resolution.ts +21 -52
  887. package/src/vite/utils/prerender-utils.ts +123 -44
  888. package/src/vite/utils/shared-utils.ts +158 -44
  889. package/dist/__internal.d.ts +0 -83
  890. package/dist/__internal.d.ts.map +0 -1
  891. package/dist/__internal.js +0 -19
  892. package/dist/__internal.js.map +0 -1
  893. package/dist/__mocks__/version.d.ts +0 -7
  894. package/dist/__mocks__/version.d.ts.map +0 -1
  895. package/dist/__mocks__/version.js +0 -7
  896. package/dist/__mocks__/version.js.map +0 -1
  897. package/dist/__tests__/client-href.test.d.ts +0 -2
  898. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  899. package/dist/__tests__/client-href.test.js +0 -74
  900. package/dist/__tests__/client-href.test.js.map +0 -1
  901. package/dist/__tests__/component-utils.test.d.ts +0 -2
  902. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  903. package/dist/__tests__/component-utils.test.js +0 -51
  904. package/dist/__tests__/component-utils.test.js.map +0 -1
  905. package/dist/__tests__/event-controller.test.d.ts +0 -2
  906. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  907. package/dist/__tests__/event-controller.test.js +0 -538
  908. package/dist/__tests__/event-controller.test.js.map +0 -1
  909. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  910. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  911. package/dist/__tests__/helpers/route-tree.js +0 -374
  912. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  913. package/dist/__tests__/match-result.test.d.ts +0 -2
  914. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  915. package/dist/__tests__/match-result.test.js +0 -154
  916. package/dist/__tests__/match-result.test.js.map +0 -1
  917. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  918. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  919. package/dist/__tests__/navigation-store.test.js +0 -440
  920. package/dist/__tests__/navigation-store.test.js.map +0 -1
  921. package/dist/__tests__/partial-update.test.d.ts +0 -2
  922. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  923. package/dist/__tests__/partial-update.test.js +0 -1009
  924. package/dist/__tests__/partial-update.test.js.map +0 -1
  925. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  926. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  927. package/dist/__tests__/reverse-types.test.js +0 -656
  928. package/dist/__tests__/reverse-types.test.js.map +0 -1
  929. package/dist/__tests__/route-definition.test.d.ts +0 -2
  930. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  931. package/dist/__tests__/route-definition.test.js +0 -55
  932. package/dist/__tests__/route-definition.test.js.map +0 -1
  933. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  934. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  935. package/dist/__tests__/router-helpers.test.js +0 -377
  936. package/dist/__tests__/router-helpers.test.js.map +0 -1
  937. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  938. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  939. package/dist/__tests__/router-integration-2.test.js +0 -426
  940. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  941. package/dist/__tests__/router-integration.test.d.ts +0 -2
  942. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  943. package/dist/__tests__/router-integration.test.js +0 -1051
  944. package/dist/__tests__/router-integration.test.js.map +0 -1
  945. package/dist/__tests__/search-params.test.d.ts +0 -5
  946. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  947. package/dist/__tests__/search-params.test.js +0 -306
  948. package/dist/__tests__/search-params.test.js.map +0 -1
  949. package/dist/__tests__/segment-system.test.d.ts +0 -2
  950. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  951. package/dist/__tests__/segment-system.test.js +0 -627
  952. package/dist/__tests__/segment-system.test.js.map +0 -1
  953. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  954. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  955. package/dist/__tests__/static-handler-types.test.js +0 -63
  956. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  957. package/dist/__tests__/urls.test.d.ts +0 -2
  958. package/dist/__tests__/urls.test.d.ts.map +0 -1
  959. package/dist/__tests__/urls.test.js +0 -421
  960. package/dist/__tests__/urls.test.js.map +0 -1
  961. package/dist/__tests__/use-mount.test.d.ts +0 -2
  962. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  963. package/dist/__tests__/use-mount.test.js +0 -35
  964. package/dist/__tests__/use-mount.test.js.map +0 -1
  965. package/dist/bin/rango.d.ts +0 -2
  966. package/dist/bin/rango.d.ts.map +0 -1
  967. package/dist/bin/rango.js.map +0 -1
  968. package/dist/browser/event-controller.d.ts +0 -191
  969. package/dist/browser/event-controller.d.ts.map +0 -1
  970. package/dist/browser/event-controller.js +0 -559
  971. package/dist/browser/event-controller.js.map +0 -1
  972. package/dist/browser/index.d.ts +0 -2
  973. package/dist/browser/index.d.ts.map +0 -1
  974. package/dist/browser/index.js +0 -14
  975. package/dist/browser/index.js.map +0 -1
  976. package/dist/browser/link-interceptor.d.ts +0 -38
  977. package/dist/browser/link-interceptor.d.ts.map +0 -1
  978. package/dist/browser/link-interceptor.js +0 -99
  979. package/dist/browser/link-interceptor.js.map +0 -1
  980. package/dist/browser/logging.d.ts +0 -10
  981. package/dist/browser/logging.d.ts.map +0 -1
  982. package/dist/browser/logging.js +0 -29
  983. package/dist/browser/logging.js.map +0 -1
  984. package/dist/browser/lru-cache.d.ts +0 -17
  985. package/dist/browser/lru-cache.d.ts.map +0 -1
  986. package/dist/browser/lru-cache.js +0 -50
  987. package/dist/browser/lru-cache.js.map +0 -1
  988. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  989. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  990. package/dist/browser/merge-segment-loaders.js +0 -102
  991. package/dist/browser/merge-segment-loaders.js.map +0 -1
  992. package/dist/browser/navigation-bridge.d.ts +0 -102
  993. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  994. package/dist/browser/navigation-bridge.js +0 -708
  995. package/dist/browser/navigation-bridge.js.map +0 -1
  996. package/dist/browser/navigation-client.d.ts +0 -25
  997. package/dist/browser/navigation-client.d.ts.map +0 -1
  998. package/dist/browser/navigation-client.js +0 -157
  999. package/dist/browser/navigation-client.js.map +0 -1
  1000. package/dist/browser/navigation-store.d.ts +0 -101
  1001. package/dist/browser/navigation-store.d.ts.map +0 -1
  1002. package/dist/browser/navigation-store.js +0 -625
  1003. package/dist/browser/navigation-store.js.map +0 -1
  1004. package/dist/browser/partial-update.d.ts +0 -75
  1005. package/dist/browser/partial-update.d.ts.map +0 -1
  1006. package/dist/browser/partial-update.js +0 -426
  1007. package/dist/browser/partial-update.js.map +0 -1
  1008. package/dist/browser/react/Link.d.ts +0 -86
  1009. package/dist/browser/react/Link.d.ts.map +0 -1
  1010. package/dist/browser/react/Link.js +0 -128
  1011. package/dist/browser/react/Link.js.map +0 -1
  1012. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  1013. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  1014. package/dist/browser/react/NavigationProvider.js +0 -216
  1015. package/dist/browser/react/NavigationProvider.js.map +0 -1
  1016. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  1017. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  1018. package/dist/browser/react/ScrollRestoration.js +0 -57
  1019. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  1020. package/dist/browser/react/context.d.ts +0 -46
  1021. package/dist/browser/react/context.d.ts.map +0 -1
  1022. package/dist/browser/react/context.js +0 -10
  1023. package/dist/browser/react/context.js.map +0 -1
  1024. package/dist/browser/react/index.d.ts +0 -11
  1025. package/dist/browser/react/index.d.ts.map +0 -1
  1026. package/dist/browser/react/index.js +0 -22
  1027. package/dist/browser/react/index.js.map +0 -1
  1028. package/dist/browser/react/location-state-shared.d.ts +0 -63
  1029. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  1030. package/dist/browser/react/location-state-shared.js +0 -81
  1031. package/dist/browser/react/location-state-shared.js.map +0 -1
  1032. package/dist/browser/react/location-state.d.ts +0 -23
  1033. package/dist/browser/react/location-state.d.ts.map +0 -1
  1034. package/dist/browser/react/location-state.js +0 -29
  1035. package/dist/browser/react/location-state.js.map +0 -1
  1036. package/dist/browser/react/mount-context.d.ts +0 -24
  1037. package/dist/browser/react/mount-context.d.ts.map +0 -1
  1038. package/dist/browser/react/mount-context.js +0 -24
  1039. package/dist/browser/react/mount-context.js.map +0 -1
  1040. package/dist/browser/react/use-action.d.ts +0 -64
  1041. package/dist/browser/react/use-action.d.ts.map +0 -1
  1042. package/dist/browser/react/use-action.js +0 -134
  1043. package/dist/browser/react/use-action.js.map +0 -1
  1044. package/dist/browser/react/use-client-cache.d.ts +0 -41
  1045. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  1046. package/dist/browser/react/use-client-cache.js +0 -39
  1047. package/dist/browser/react/use-client-cache.js.map +0 -1
  1048. package/dist/browser/react/use-handle.d.ts +0 -31
  1049. package/dist/browser/react/use-handle.d.ts.map +0 -1
  1050. package/dist/browser/react/use-handle.js +0 -144
  1051. package/dist/browser/react/use-handle.js.map +0 -1
  1052. package/dist/browser/react/use-href.d.ts +0 -33
  1053. package/dist/browser/react/use-href.d.ts.map +0 -1
  1054. package/dist/browser/react/use-href.js +0 -39
  1055. package/dist/browser/react/use-href.js.map +0 -1
  1056. package/dist/browser/react/use-link-status.d.ts +0 -37
  1057. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  1058. package/dist/browser/react/use-link-status.js +0 -99
  1059. package/dist/browser/react/use-link-status.js.map +0 -1
  1060. package/dist/browser/react/use-mount.d.ts +0 -25
  1061. package/dist/browser/react/use-mount.d.ts.map +0 -1
  1062. package/dist/browser/react/use-mount.js +0 -30
  1063. package/dist/browser/react/use-mount.js.map +0 -1
  1064. package/dist/browser/react/use-navigation.d.ts +0 -27
  1065. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  1066. package/dist/browser/react/use-navigation.js +0 -87
  1067. package/dist/browser/react/use-navigation.js.map +0 -1
  1068. package/dist/browser/react/use-segments.d.ts +0 -38
  1069. package/dist/browser/react/use-segments.d.ts.map +0 -1
  1070. package/dist/browser/react/use-segments.js +0 -130
  1071. package/dist/browser/react/use-segments.js.map +0 -1
  1072. package/dist/browser/request-controller.d.ts +0 -26
  1073. package/dist/browser/request-controller.d.ts.map +0 -1
  1074. package/dist/browser/request-controller.js +0 -147
  1075. package/dist/browser/request-controller.js.map +0 -1
  1076. package/dist/browser/rsc-router.d.ts +0 -129
  1077. package/dist/browser/rsc-router.d.ts.map +0 -1
  1078. package/dist/browser/rsc-router.js +0 -195
  1079. package/dist/browser/rsc-router.js.map +0 -1
  1080. package/dist/browser/scroll-restoration.d.ts +0 -93
  1081. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  1082. package/dist/browser/scroll-restoration.js +0 -321
  1083. package/dist/browser/scroll-restoration.js.map +0 -1
  1084. package/dist/browser/segment-structure-assert.d.ts +0 -17
  1085. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  1086. package/dist/browser/segment-structure-assert.js +0 -59
  1087. package/dist/browser/segment-structure-assert.js.map +0 -1
  1088. package/dist/browser/server-action-bridge.d.ts +0 -26
  1089. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  1090. package/dist/browser/server-action-bridge.js +0 -668
  1091. package/dist/browser/server-action-bridge.js.map +0 -1
  1092. package/dist/browser/shallow.d.ts +0 -12
  1093. package/dist/browser/shallow.d.ts.map +0 -1
  1094. package/dist/browser/shallow.js +0 -34
  1095. package/dist/browser/shallow.js.map +0 -1
  1096. package/dist/browser/types.d.ts +0 -369
  1097. package/dist/browser/types.d.ts.map +0 -1
  1098. package/dist/browser/types.js +0 -2
  1099. package/dist/browser/types.js.map +0 -1
  1100. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  1101. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  1102. package/dist/build/__tests__/generate-cli.test.js +0 -237
  1103. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  1104. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  1105. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  1106. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  1107. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  1108. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  1109. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  1110. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  1111. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  1112. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  1113. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  1114. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  1115. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  1116. package/dist/build/generate-manifest.d.ts +0 -81
  1117. package/dist/build/generate-manifest.d.ts.map +0 -1
  1118. package/dist/build/generate-manifest.js +0 -276
  1119. package/dist/build/generate-manifest.js.map +0 -1
  1120. package/dist/build/generate-route-types.d.ts +0 -115
  1121. package/dist/build/generate-route-types.d.ts.map +0 -1
  1122. package/dist/build/generate-route-types.js +0 -740
  1123. package/dist/build/generate-route-types.js.map +0 -1
  1124. package/dist/build/index.d.ts +0 -21
  1125. package/dist/build/index.d.ts.map +0 -1
  1126. package/dist/build/index.js +0 -21
  1127. package/dist/build/index.js.map +0 -1
  1128. package/dist/build/route-trie.d.ts +0 -71
  1129. package/dist/build/route-trie.d.ts.map +0 -1
  1130. package/dist/build/route-trie.js +0 -175
  1131. package/dist/build/route-trie.js.map +0 -1
  1132. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  1133. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  1134. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  1135. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  1136. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  1137. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  1138. package/dist/cache/__tests__/document-cache.test.js +0 -345
  1139. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  1140. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  1141. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  1142. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  1143. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  1144. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  1145. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  1146. package/dist/cache/__tests__/memory-store.test.js +0 -367
  1147. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  1148. package/dist/cache/cache-scope.d.ts +0 -102
  1149. package/dist/cache/cache-scope.d.ts.map +0 -1
  1150. package/dist/cache/cache-scope.js +0 -440
  1151. package/dist/cache/cache-scope.js.map +0 -1
  1152. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  1153. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  1154. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  1155. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  1156. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  1157. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  1158. package/dist/cache/cf/cf-cache-store.js +0 -242
  1159. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  1160. package/dist/cache/cf/index.d.ts +0 -14
  1161. package/dist/cache/cf/index.d.ts.map +0 -1
  1162. package/dist/cache/cf/index.js +0 -17
  1163. package/dist/cache/cf/index.js.map +0 -1
  1164. package/dist/cache/document-cache.d.ts +0 -64
  1165. package/dist/cache/document-cache.d.ts.map +0 -1
  1166. package/dist/cache/document-cache.js +0 -228
  1167. package/dist/cache/document-cache.js.map +0 -1
  1168. package/dist/cache/index.d.ts +0 -19
  1169. package/dist/cache/index.d.ts.map +0 -1
  1170. package/dist/cache/index.js +0 -21
  1171. package/dist/cache/index.js.map +0 -1
  1172. package/dist/cache/memory-segment-store.d.ts +0 -110
  1173. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  1174. package/dist/cache/memory-segment-store.js +0 -117
  1175. package/dist/cache/memory-segment-store.js.map +0 -1
  1176. package/dist/cache/memory-store.d.ts +0 -41
  1177. package/dist/cache/memory-store.d.ts.map +0 -1
  1178. package/dist/cache/memory-store.js +0 -191
  1179. package/dist/cache/memory-store.js.map +0 -1
  1180. package/dist/cache/types.d.ts +0 -317
  1181. package/dist/cache/types.d.ts.map +0 -1
  1182. package/dist/cache/types.js +0 -12
  1183. package/dist/cache/types.js.map +0 -1
  1184. package/dist/client.d.ts +0 -248
  1185. package/dist/client.d.ts.map +0 -1
  1186. package/dist/client.js +0 -367
  1187. package/dist/client.js.map +0 -1
  1188. package/dist/client.rsc.d.ts +0 -26
  1189. package/dist/client.rsc.d.ts.map +0 -1
  1190. package/dist/client.rsc.js +0 -46
  1191. package/dist/client.rsc.js.map +0 -1
  1192. package/dist/component-utils.d.ts +0 -36
  1193. package/dist/component-utils.d.ts.map +0 -1
  1194. package/dist/component-utils.js +0 -61
  1195. package/dist/component-utils.js.map +0 -1
  1196. package/dist/components/DefaultDocument.d.ts +0 -13
  1197. package/dist/components/DefaultDocument.d.ts.map +0 -1
  1198. package/dist/components/DefaultDocument.js +0 -15
  1199. package/dist/components/DefaultDocument.js.map +0 -1
  1200. package/dist/debug.d.ts +0 -58
  1201. package/dist/debug.d.ts.map +0 -1
  1202. package/dist/debug.js +0 -157
  1203. package/dist/debug.js.map +0 -1
  1204. package/dist/default-error-boundary.d.ts +0 -11
  1205. package/dist/default-error-boundary.d.ts.map +0 -1
  1206. package/dist/default-error-boundary.js +0 -45
  1207. package/dist/default-error-boundary.js.map +0 -1
  1208. package/dist/deps/browser.d.ts +0 -2
  1209. package/dist/deps/browser.d.ts.map +0 -1
  1210. package/dist/deps/browser.js +0 -3
  1211. package/dist/deps/browser.js.map +0 -1
  1212. package/dist/deps/html-stream-client.d.ts +0 -2
  1213. package/dist/deps/html-stream-client.d.ts.map +0 -1
  1214. package/dist/deps/html-stream-client.js +0 -3
  1215. package/dist/deps/html-stream-client.js.map +0 -1
  1216. package/dist/deps/html-stream-server.d.ts +0 -2
  1217. package/dist/deps/html-stream-server.d.ts.map +0 -1
  1218. package/dist/deps/html-stream-server.js +0 -3
  1219. package/dist/deps/html-stream-server.js.map +0 -1
  1220. package/dist/deps/rsc.d.ts +0 -2
  1221. package/dist/deps/rsc.d.ts.map +0 -1
  1222. package/dist/deps/rsc.js +0 -4
  1223. package/dist/deps/rsc.js.map +0 -1
  1224. package/dist/deps/ssr.d.ts +0 -2
  1225. package/dist/deps/ssr.d.ts.map +0 -1
  1226. package/dist/deps/ssr.js +0 -3
  1227. package/dist/deps/ssr.js.map +0 -1
  1228. package/dist/errors.d.ts +0 -174
  1229. package/dist/errors.d.ts.map +0 -1
  1230. package/dist/errors.js +0 -241
  1231. package/dist/errors.js.map +0 -1
  1232. package/dist/handle.d.ts +0 -78
  1233. package/dist/handle.d.ts.map +0 -1
  1234. package/dist/handle.js +0 -82
  1235. package/dist/handle.js.map +0 -1
  1236. package/dist/handles/MetaTags.d.ts +0 -14
  1237. package/dist/handles/MetaTags.d.ts.map +0 -1
  1238. package/dist/handles/MetaTags.js +0 -136
  1239. package/dist/handles/MetaTags.js.map +0 -1
  1240. package/dist/handles/index.d.ts +0 -6
  1241. package/dist/handles/index.d.ts.map +0 -1
  1242. package/dist/handles/index.js +0 -6
  1243. package/dist/handles/index.js.map +0 -1
  1244. package/dist/handles/meta.d.ts +0 -39
  1245. package/dist/handles/meta.d.ts.map +0 -1
  1246. package/dist/handles/meta.js +0 -202
  1247. package/dist/handles/meta.js.map +0 -1
  1248. package/dist/host/__tests__/errors.test.d.ts +0 -2
  1249. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  1250. package/dist/host/__tests__/errors.test.js +0 -76
  1251. package/dist/host/__tests__/errors.test.js.map +0 -1
  1252. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  1253. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  1254. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  1255. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  1256. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  1257. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  1258. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  1259. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  1260. package/dist/host/__tests__/router.test.d.ts +0 -2
  1261. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  1262. package/dist/host/__tests__/router.test.js +0 -241
  1263. package/dist/host/__tests__/router.test.js.map +0 -1
  1264. package/dist/host/__tests__/testing.test.d.ts +0 -2
  1265. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  1266. package/dist/host/__tests__/testing.test.js +0 -64
  1267. package/dist/host/__tests__/testing.test.js.map +0 -1
  1268. package/dist/host/__tests__/utils.test.d.ts +0 -2
  1269. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  1270. package/dist/host/__tests__/utils.test.js +0 -29
  1271. package/dist/host/__tests__/utils.test.js.map +0 -1
  1272. package/dist/host/cookie-handler.d.ts +0 -34
  1273. package/dist/host/cookie-handler.d.ts.map +0 -1
  1274. package/dist/host/cookie-handler.js +0 -124
  1275. package/dist/host/cookie-handler.js.map +0 -1
  1276. package/dist/host/errors.d.ts +0 -56
  1277. package/dist/host/errors.d.ts.map +0 -1
  1278. package/dist/host/errors.js +0 -79
  1279. package/dist/host/errors.js.map +0 -1
  1280. package/dist/host/index.d.ts +0 -29
  1281. package/dist/host/index.d.ts.map +0 -1
  1282. package/dist/host/index.js +0 -32
  1283. package/dist/host/index.js.map +0 -1
  1284. package/dist/host/pattern-matcher.d.ts +0 -36
  1285. package/dist/host/pattern-matcher.d.ts.map +0 -1
  1286. package/dist/host/pattern-matcher.js +0 -172
  1287. package/dist/host/pattern-matcher.js.map +0 -1
  1288. package/dist/host/router.d.ts +0 -26
  1289. package/dist/host/router.d.ts.map +0 -1
  1290. package/dist/host/router.js +0 -218
  1291. package/dist/host/router.js.map +0 -1
  1292. package/dist/host/testing.d.ts +0 -36
  1293. package/dist/host/testing.d.ts.map +0 -1
  1294. package/dist/host/testing.js +0 -55
  1295. package/dist/host/testing.js.map +0 -1
  1296. package/dist/host/types.d.ts +0 -115
  1297. package/dist/host/types.d.ts.map +0 -1
  1298. package/dist/host/types.js +0 -7
  1299. package/dist/host/types.js.map +0 -1
  1300. package/dist/host/utils.d.ts +0 -21
  1301. package/dist/host/utils.d.ts.map +0 -1
  1302. package/dist/host/utils.js +0 -23
  1303. package/dist/host/utils.js.map +0 -1
  1304. package/dist/href-client.d.ts +0 -131
  1305. package/dist/href-client.d.ts.map +0 -1
  1306. package/dist/href-client.js +0 -64
  1307. package/dist/href-client.js.map +0 -1
  1308. package/dist/href-context.d.ts +0 -29
  1309. package/dist/href-context.d.ts.map +0 -1
  1310. package/dist/href-context.js +0 -21
  1311. package/dist/href-context.js.map +0 -1
  1312. package/dist/index.d.ts +0 -73
  1313. package/dist/index.d.ts.map +0 -1
  1314. package/dist/index.js +0 -91
  1315. package/dist/index.js.map +0 -1
  1316. package/dist/index.rsc.d.ts +0 -32
  1317. package/dist/index.rsc.d.ts.map +0 -1
  1318. package/dist/index.rsc.js +0 -40
  1319. package/dist/index.rsc.js.map +0 -1
  1320. package/dist/internal-debug.d.ts +0 -2
  1321. package/dist/internal-debug.d.ts.map +0 -1
  1322. package/dist/internal-debug.js +0 -5
  1323. package/dist/internal-debug.js.map +0 -1
  1324. package/dist/loader.d.ts +0 -14
  1325. package/dist/loader.d.ts.map +0 -1
  1326. package/dist/loader.js +0 -20
  1327. package/dist/loader.js.map +0 -1
  1328. package/dist/loader.rsc.d.ts +0 -19
  1329. package/dist/loader.rsc.d.ts.map +0 -1
  1330. package/dist/loader.rsc.js +0 -99
  1331. package/dist/loader.rsc.js.map +0 -1
  1332. package/dist/network-error-thrower.d.ts +0 -17
  1333. package/dist/network-error-thrower.d.ts.map +0 -1
  1334. package/dist/network-error-thrower.js +0 -14
  1335. package/dist/network-error-thrower.js.map +0 -1
  1336. package/dist/outlet-context.d.ts +0 -13
  1337. package/dist/outlet-context.d.ts.map +0 -1
  1338. package/dist/outlet-context.js +0 -3
  1339. package/dist/outlet-context.js.map +0 -1
  1340. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  1341. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  1342. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  1343. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  1344. package/dist/prerender/param-hash.d.ts +0 -16
  1345. package/dist/prerender/param-hash.d.ts.map +0 -1
  1346. package/dist/prerender/param-hash.js +0 -36
  1347. package/dist/prerender/param-hash.js.map +0 -1
  1348. package/dist/prerender/store.d.ts +0 -38
  1349. package/dist/prerender/store.d.ts.map +0 -1
  1350. package/dist/prerender/store.js +0 -61
  1351. package/dist/prerender/store.js.map +0 -1
  1352. package/dist/prerender.d.ts +0 -66
  1353. package/dist/prerender.d.ts.map +0 -1
  1354. package/dist/prerender.js +0 -57
  1355. package/dist/prerender.js.map +0 -1
  1356. package/dist/reverse.d.ts +0 -196
  1357. package/dist/reverse.d.ts.map +0 -1
  1358. package/dist/reverse.js +0 -78
  1359. package/dist/reverse.js.map +0 -1
  1360. package/dist/root-error-boundary.d.ts +0 -33
  1361. package/dist/root-error-boundary.d.ts.map +0 -1
  1362. package/dist/root-error-boundary.js +0 -165
  1363. package/dist/root-error-boundary.js.map +0 -1
  1364. package/dist/route-content-wrapper.d.ts +0 -46
  1365. package/dist/route-content-wrapper.d.ts.map +0 -1
  1366. package/dist/route-content-wrapper.js +0 -77
  1367. package/dist/route-content-wrapper.js.map +0 -1
  1368. package/dist/route-definition.d.ts +0 -421
  1369. package/dist/route-definition.d.ts.map +0 -1
  1370. package/dist/route-definition.js +0 -868
  1371. package/dist/route-definition.js.map +0 -1
  1372. package/dist/route-map-builder.d.ts +0 -155
  1373. package/dist/route-map-builder.d.ts.map +0 -1
  1374. package/dist/route-map-builder.js +0 -237
  1375. package/dist/route-map-builder.js.map +0 -1
  1376. package/dist/route-types.d.ts +0 -165
  1377. package/dist/route-types.d.ts.map +0 -1
  1378. package/dist/route-types.js +0 -7
  1379. package/dist/route-types.js.map +0 -1
  1380. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  1381. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  1382. package/dist/router/__tests__/handler-context.test.js +0 -65
  1383. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  1384. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  1385. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  1386. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  1387. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  1388. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  1389. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  1390. package/dist/router/__tests__/match-context.test.js +0 -92
  1391. package/dist/router/__tests__/match-context.test.js.map +0 -1
  1392. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  1393. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  1394. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  1395. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  1396. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  1397. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  1398. package/dist/router/__tests__/match-result.test.js +0 -457
  1399. package/dist/router/__tests__/match-result.test.js.map +0 -1
  1400. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  1401. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  1402. package/dist/router/__tests__/on-error.test.js +0 -678
  1403. package/dist/router/__tests__/on-error.test.js.map +0 -1
  1404. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  1405. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  1406. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  1407. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  1408. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  1409. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  1410. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  1411. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  1412. package/dist/router/error-handling.d.ts +0 -77
  1413. package/dist/router/error-handling.d.ts.map +0 -1
  1414. package/dist/router/error-handling.js +0 -202
  1415. package/dist/router/error-handling.js.map +0 -1
  1416. package/dist/router/handler-context.d.ts +0 -20
  1417. package/dist/router/handler-context.d.ts.map +0 -1
  1418. package/dist/router/handler-context.js +0 -198
  1419. package/dist/router/handler-context.js.map +0 -1
  1420. package/dist/router/intercept-resolution.d.ts +0 -66
  1421. package/dist/router/intercept-resolution.d.ts.map +0 -1
  1422. package/dist/router/intercept-resolution.js +0 -246
  1423. package/dist/router/intercept-resolution.js.map +0 -1
  1424. package/dist/router/loader-resolution.d.ts +0 -64
  1425. package/dist/router/loader-resolution.d.ts.map +0 -1
  1426. package/dist/router/loader-resolution.js +0 -284
  1427. package/dist/router/loader-resolution.js.map +0 -1
  1428. package/dist/router/logging.d.ts +0 -15
  1429. package/dist/router/logging.d.ts.map +0 -1
  1430. package/dist/router/logging.js +0 -99
  1431. package/dist/router/logging.js.map +0 -1
  1432. package/dist/router/manifest.d.ts +0 -22
  1433. package/dist/router/manifest.d.ts.map +0 -1
  1434. package/dist/router/manifest.js +0 -181
  1435. package/dist/router/manifest.js.map +0 -1
  1436. package/dist/router/match-api.d.ts +0 -35
  1437. package/dist/router/match-api.d.ts.map +0 -1
  1438. package/dist/router/match-api.js +0 -406
  1439. package/dist/router/match-api.js.map +0 -1
  1440. package/dist/router/match-context.d.ts +0 -206
  1441. package/dist/router/match-context.d.ts.map +0 -1
  1442. package/dist/router/match-context.js +0 -17
  1443. package/dist/router/match-context.js.map +0 -1
  1444. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  1445. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  1446. package/dist/router/match-middleware/background-revalidation.js +0 -75
  1447. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  1448. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  1449. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  1450. package/dist/router/match-middleware/cache-lookup.js +0 -257
  1451. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  1452. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  1453. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  1454. package/dist/router/match-middleware/cache-store.js +0 -108
  1455. package/dist/router/match-middleware/cache-store.js.map +0 -1
  1456. package/dist/router/match-middleware/index.d.ts +0 -81
  1457. package/dist/router/match-middleware/index.d.ts.map +0 -1
  1458. package/dist/router/match-middleware/index.js +0 -80
  1459. package/dist/router/match-middleware/index.js.map +0 -1
  1460. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  1461. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  1462. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  1463. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  1464. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  1465. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  1466. package/dist/router/match-middleware/segment-resolution.js +0 -53
  1467. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  1468. package/dist/router/match-pipelines.d.ts +0 -147
  1469. package/dist/router/match-pipelines.d.ts.map +0 -1
  1470. package/dist/router/match-pipelines.js +0 -82
  1471. package/dist/router/match-pipelines.js.map +0 -1
  1472. package/dist/router/match-result.d.ts +0 -126
  1473. package/dist/router/match-result.d.ts.map +0 -1
  1474. package/dist/router/match-result.js +0 -93
  1475. package/dist/router/match-result.js.map +0 -1
  1476. package/dist/router/metrics.d.ts +0 -20
  1477. package/dist/router/metrics.d.ts.map +0 -1
  1478. package/dist/router/metrics.js +0 -47
  1479. package/dist/router/metrics.js.map +0 -1
  1480. package/dist/router/middleware.d.ts +0 -249
  1481. package/dist/router/middleware.d.ts.map +0 -1
  1482. package/dist/router/middleware.js +0 -434
  1483. package/dist/router/middleware.js.map +0 -1
  1484. package/dist/router/middleware.test.d.ts +0 -2
  1485. package/dist/router/middleware.test.d.ts.map +0 -1
  1486. package/dist/router/middleware.test.js +0 -816
  1487. package/dist/router/middleware.test.js.map +0 -1
  1488. package/dist/router/pattern-matching.d.ts +0 -149
  1489. package/dist/router/pattern-matching.d.ts.map +0 -1
  1490. package/dist/router/pattern-matching.js +0 -349
  1491. package/dist/router/pattern-matching.js.map +0 -1
  1492. package/dist/router/revalidation.d.ts +0 -44
  1493. package/dist/router/revalidation.d.ts.map +0 -1
  1494. package/dist/router/revalidation.js +0 -147
  1495. package/dist/router/revalidation.js.map +0 -1
  1496. package/dist/router/router-context.d.ts +0 -135
  1497. package/dist/router/router-context.d.ts.map +0 -1
  1498. package/dist/router/router-context.js +0 -36
  1499. package/dist/router/router-context.js.map +0 -1
  1500. package/dist/router/segment-resolution.d.ts +0 -127
  1501. package/dist/router/segment-resolution.d.ts.map +0 -1
  1502. package/dist/router/segment-resolution.js +0 -919
  1503. package/dist/router/segment-resolution.js.map +0 -1
  1504. package/dist/router/trie-matching.d.ts +0 -40
  1505. package/dist/router/trie-matching.d.ts.map +0 -1
  1506. package/dist/router/trie-matching.js +0 -127
  1507. package/dist/router/trie-matching.js.map +0 -1
  1508. package/dist/router/types.d.ts +0 -136
  1509. package/dist/router/types.d.ts.map +0 -1
  1510. package/dist/router/types.js +0 -7
  1511. package/dist/router/types.js.map +0 -1
  1512. package/dist/router.d.ts +0 -753
  1513. package/dist/router.d.ts.map +0 -1
  1514. package/dist/router.gen.d.ts +0 -6
  1515. package/dist/router.gen.d.ts.map +0 -1
  1516. package/dist/router.gen.js +0 -6
  1517. package/dist/router.gen.js.map +0 -1
  1518. package/dist/router.js +0 -1304
  1519. package/dist/router.js.map +0 -1
  1520. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  1521. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  1522. package/dist/rsc/__tests__/helpers.test.js +0 -140
  1523. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  1524. package/dist/rsc/handler.d.ts +0 -45
  1525. package/dist/rsc/handler.d.ts.map +0 -1
  1526. package/dist/rsc/handler.js +0 -1172
  1527. package/dist/rsc/handler.js.map +0 -1
  1528. package/dist/rsc/helpers.d.ts +0 -16
  1529. package/dist/rsc/helpers.d.ts.map +0 -1
  1530. package/dist/rsc/helpers.js +0 -55
  1531. package/dist/rsc/helpers.js.map +0 -1
  1532. package/dist/rsc/index.d.ts +0 -22
  1533. package/dist/rsc/index.d.ts.map +0 -1
  1534. package/dist/rsc/index.js +0 -23
  1535. package/dist/rsc/index.js.map +0 -1
  1536. package/dist/rsc/nonce.d.ts +0 -9
  1537. package/dist/rsc/nonce.d.ts.map +0 -1
  1538. package/dist/rsc/nonce.js +0 -18
  1539. package/dist/rsc/nonce.js.map +0 -1
  1540. package/dist/rsc/types.d.ts +0 -206
  1541. package/dist/rsc/types.d.ts.map +0 -1
  1542. package/dist/rsc/types.js +0 -8
  1543. package/dist/rsc/types.js.map +0 -1
  1544. package/dist/search-params.d.ts +0 -103
  1545. package/dist/search-params.d.ts.map +0 -1
  1546. package/dist/search-params.js +0 -74
  1547. package/dist/search-params.js.map +0 -1
  1548. package/dist/segment-system.d.ts +0 -75
  1549. package/dist/segment-system.d.ts.map +0 -1
  1550. package/dist/segment-system.js +0 -336
  1551. package/dist/segment-system.js.map +0 -1
  1552. package/dist/server/context.d.ts +0 -245
  1553. package/dist/server/context.d.ts.map +0 -1
  1554. package/dist/server/context.js +0 -197
  1555. package/dist/server/context.js.map +0 -1
  1556. package/dist/server/fetchable-loader-store.d.ts +0 -18
  1557. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  1558. package/dist/server/fetchable-loader-store.js +0 -18
  1559. package/dist/server/fetchable-loader-store.js.map +0 -1
  1560. package/dist/server/handle-store.d.ts +0 -85
  1561. package/dist/server/handle-store.d.ts.map +0 -1
  1562. package/dist/server/handle-store.js +0 -142
  1563. package/dist/server/handle-store.js.map +0 -1
  1564. package/dist/server/loader-registry.d.ts +0 -55
  1565. package/dist/server/loader-registry.d.ts.map +0 -1
  1566. package/dist/server/loader-registry.js +0 -132
  1567. package/dist/server/loader-registry.js.map +0 -1
  1568. package/dist/server/request-context.d.ts +0 -226
  1569. package/dist/server/request-context.d.ts.map +0 -1
  1570. package/dist/server/request-context.js +0 -290
  1571. package/dist/server/request-context.js.map +0 -1
  1572. package/dist/server/root-layout.d.ts +0 -4
  1573. package/dist/server/root-layout.d.ts.map +0 -1
  1574. package/dist/server/root-layout.js +0 -5
  1575. package/dist/server/root-layout.js.map +0 -1
  1576. package/dist/server.d.ts +0 -15
  1577. package/dist/server.d.ts.map +0 -1
  1578. package/dist/server.js +0 -20
  1579. package/dist/server.js.map +0 -1
  1580. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  1581. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  1582. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  1583. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  1584. package/dist/ssr/index.d.ts +0 -98
  1585. package/dist/ssr/index.d.ts.map +0 -1
  1586. package/dist/ssr/index.js +0 -158
  1587. package/dist/ssr/index.js.map +0 -1
  1588. package/dist/static-handler.d.ts +0 -50
  1589. package/dist/static-handler.d.ts.map +0 -1
  1590. package/dist/static-handler.gen.d.ts +0 -5
  1591. package/dist/static-handler.gen.d.ts.map +0 -1
  1592. package/dist/static-handler.gen.js +0 -5
  1593. package/dist/static-handler.gen.js.map +0 -1
  1594. package/dist/static-handler.js +0 -29
  1595. package/dist/static-handler.js.map +0 -1
  1596. package/dist/theme/ThemeProvider.d.ts +0 -20
  1597. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  1598. package/dist/theme/ThemeProvider.js +0 -240
  1599. package/dist/theme/ThemeProvider.js.map +0 -1
  1600. package/dist/theme/ThemeScript.d.ts +0 -48
  1601. package/dist/theme/ThemeScript.d.ts.map +0 -1
  1602. package/dist/theme/ThemeScript.js +0 -13
  1603. package/dist/theme/ThemeScript.js.map +0 -1
  1604. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  1605. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  1606. package/dist/theme/__tests__/theme.test.js +0 -103
  1607. package/dist/theme/__tests__/theme.test.js.map +0 -1
  1608. package/dist/theme/constants.d.ts +0 -29
  1609. package/dist/theme/constants.d.ts.map +0 -1
  1610. package/dist/theme/constants.js +0 -48
  1611. package/dist/theme/constants.js.map +0 -1
  1612. package/dist/theme/index.d.ts +0 -31
  1613. package/dist/theme/index.d.ts.map +0 -1
  1614. package/dist/theme/index.js +0 -36
  1615. package/dist/theme/index.js.map +0 -1
  1616. package/dist/theme/theme-context.d.ts +0 -40
  1617. package/dist/theme/theme-context.d.ts.map +0 -1
  1618. package/dist/theme/theme-context.js +0 -60
  1619. package/dist/theme/theme-context.js.map +0 -1
  1620. package/dist/theme/theme-script.d.ts +0 -27
  1621. package/dist/theme/theme-script.d.ts.map +0 -1
  1622. package/dist/theme/theme-script.js +0 -147
  1623. package/dist/theme/theme-script.js.map +0 -1
  1624. package/dist/theme/types.d.ts +0 -163
  1625. package/dist/theme/types.d.ts.map +0 -1
  1626. package/dist/theme/types.js +0 -11
  1627. package/dist/theme/types.js.map +0 -1
  1628. package/dist/theme/use-theme.d.ts +0 -12
  1629. package/dist/theme/use-theme.d.ts.map +0 -1
  1630. package/dist/theme/use-theme.js +0 -40
  1631. package/dist/theme/use-theme.js.map +0 -1
  1632. package/dist/types.d.ts +0 -1479
  1633. package/dist/types.d.ts.map +0 -1
  1634. package/dist/types.js +0 -10
  1635. package/dist/types.js.map +0 -1
  1636. package/dist/urls.d.ts +0 -441
  1637. package/dist/urls.d.ts.map +0 -1
  1638. package/dist/urls.gen.d.ts +0 -8
  1639. package/dist/urls.gen.d.ts.map +0 -1
  1640. package/dist/urls.gen.js +0 -8
  1641. package/dist/urls.gen.js.map +0 -1
  1642. package/dist/urls.js +0 -443
  1643. package/dist/urls.js.map +0 -1
  1644. package/dist/use-loader.d.ts +0 -127
  1645. package/dist/use-loader.d.ts.map +0 -1
  1646. package/dist/use-loader.js +0 -237
  1647. package/dist/use-loader.js.map +0 -1
  1648. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  1649. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  1650. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  1651. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  1652. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  1653. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  1654. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  1655. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  1656. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  1657. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  1658. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  1659. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  1660. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  1661. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  1662. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  1663. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  1664. package/dist/vite/ast-handler-extract.d.ts +0 -49
  1665. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  1666. package/dist/vite/ast-handler-extract.js +0 -249
  1667. package/dist/vite/ast-handler-extract.js.map +0 -1
  1668. package/dist/vite/expose-action-id.d.ts +0 -19
  1669. package/dist/vite/expose-action-id.d.ts.map +0 -1
  1670. package/dist/vite/expose-action-id.js +0 -250
  1671. package/dist/vite/expose-action-id.js.map +0 -1
  1672. package/dist/vite/expose-id-utils.d.ts +0 -69
  1673. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  1674. package/dist/vite/expose-id-utils.js +0 -289
  1675. package/dist/vite/expose-id-utils.js.map +0 -1
  1676. package/dist/vite/expose-internal-ids.d.ts +0 -22
  1677. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  1678. package/dist/vite/expose-internal-ids.js +0 -886
  1679. package/dist/vite/expose-internal-ids.js.map +0 -1
  1680. package/dist/vite/index.d.ts +0 -149
  1681. package/dist/vite/index.d.ts.map +0 -1
  1682. package/dist/vite/index.js.map +0 -1
  1683. package/dist/vite/index.named-routes.gen.ts +0 -103
  1684. package/dist/vite/package-resolution.d.ts +0 -43
  1685. package/dist/vite/package-resolution.d.ts.map +0 -1
  1686. package/dist/vite/package-resolution.js +0 -112
  1687. package/dist/vite/package-resolution.js.map +0 -1
  1688. package/dist/vite/virtual-entries.d.ts +0 -25
  1689. package/dist/vite/virtual-entries.d.ts.map +0 -1
  1690. package/dist/vite/virtual-entries.js +0 -110
  1691. package/dist/vite/virtual-entries.js.map +0 -1
  1692. package/src/browser/action-response-classifier.ts +0 -99
  1693. package/src/browser/react/use-client-cache.ts +0 -58
  1694. package/src/browser/shallow.ts +0 -40
  1695. package/src/handles/index.ts +0 -7
  1696. package/src/network-error-thrower.tsx +0 -23
  1697. package/src/router/middleware-cookies.ts +0 -55
@@ -0,0 +1,74 @@
1
+ import type { ResolvedSegment } from "./types.js";
2
+ /**
3
+ * Determines the merging behavior for segment reconciliation.
4
+ *
5
+ * - 'action': From server-action-bridge's own merge. Always merges loaders,
6
+ * always preserves cached loading (even undefined), never clears cached
7
+ * segment loading.
8
+ * - 'navigation': From partial-update during normal navigation. Does NOT merge
9
+ * loaders, preserves cached loading only when defined, clears truthy loading
10
+ * on cached segments not in server diff.
11
+ * - 'stale-revalidation': From partial-update during stale revalidation or
12
+ * action-triggered refetch. Merges loaders, always preserves cached loading
13
+ * (same as action), clears truthy loading on cached segments not in server diff.
14
+ */
15
+ export type ReconcileActor = "navigation" | "action" | "stale-revalidation";
16
+ export interface ReconcileInput {
17
+ actor: ReconcileActor;
18
+ /** All segment IDs the server expects the client to have (matched array) */
19
+ matched: string[];
20
+ /** Segment IDs that changed (diff array) */
21
+ diff: string[];
22
+ /** Segments returned from server (raw array, keyed internally by ID) */
23
+ serverSegments: ResolvedSegment[];
24
+ /** Cached segments from current page (raw array, keyed internally by ID) */
25
+ cachedSegments: ResolvedSegment[];
26
+ /** When true, diff segments not in matched are inserted after their parent
27
+ * layout. Used during navigation when consolidation fetch returns loader
28
+ * segments that aren't in the matched array. */
29
+ insertMissingDiff?: boolean;
30
+ }
31
+ export interface ReconcileResult {
32
+ /** All merged segments in matched order (for caching and committing) */
33
+ segments: ResolvedSegment[];
34
+ /** Main segments excluding intercepts (for rendering) */
35
+ mainSegments: ResolvedSegment[];
36
+ /** Intercept segments only (passed via render options) */
37
+ interceptSegments: ResolvedSegment[];
38
+ }
39
+ /**
40
+ * Single source of truth for merging server segments with cached segments.
41
+ *
42
+ * Replaces the duplicated merge loops in server-action-bridge.ts and
43
+ * partial-update.ts. The actor parameter controls the subtle behavioral
44
+ * differences between action and navigation merging:
45
+ *
46
+ * Loading preservation:
47
+ * - action/stale-revalidation: Always preserves cached loading value when it
48
+ * differs from server (even when cached is undefined). This prevents tree
49
+ * structure changes that would remount components and destroy useActionState
50
+ * during action revalidation or action-triggered refetch.
51
+ * - navigation: Preserves cached loading only when the cached value is defined
52
+ * (not undefined). When cached is undefined, lets server value through
53
+ * because we're building a new tree.
54
+ *
55
+ * Loader merging:
56
+ * - action/stale-revalidation: Merges partial loader data when server returns
57
+ * fewer loaders than cached (revalidation only updated some loaders).
58
+ * - navigation: Does not merge (full navigation fetches complete data).
59
+ *
60
+ * Cached segment handling (segments in matched but not in server response):
61
+ * - action: Returns cached segment as-is (preserve tree structure).
62
+ * - navigation/stale-revalidation: Clears truthy loading to undefined
63
+ * (prevents showing stale skeletons), but preserves loading=false
64
+ * (suppressed boundary is structural).
65
+ */
66
+ export declare function reconcileSegments(input: ReconcileInput): ReconcileResult;
67
+ /**
68
+ * Reconcile error segments with cached segments.
69
+ *
70
+ * For error responses, the server returns the error boundary segment.
71
+ * This function overlays error segments onto the full cached tree,
72
+ * preserving sibling layouts that aren't in the error parent chain.
73
+ */
74
+ export declare function reconcileErrorSegments(cachedSegments: ResolvedSegment[], errorSegments: ResolvedSegment[]): ReconcileResult;
@@ -0,0 +1,16 @@
1
+ import type { ResolvedSegment } from "./types.js";
2
+ /**
3
+ * Assert that merging a server segment with a cached segment won't change
4
+ * the React tree structure. Logs a warning in development when a mismatch
5
+ * is detected.
6
+ *
7
+ * This catches the class of bugs where `loading()` with `{ ssr: false }`
8
+ * produces `loading=false` on SSR but `loading=<skeleton>` on actions,
9
+ * causing React to remount LoaderBoundary/RouteContentWrapper and destroy
10
+ * client state (useActionState, refs, etc.).
11
+ *
12
+ * @param cached - The currently cached segment
13
+ * @param incoming - The new segment from server
14
+ * @param context - Where this merge is happening (for the warning message)
15
+ */
16
+ export declare function assertSegmentStructure(cached: ResolvedSegment, incoming: ResolvedSegment, context: string): void;
@@ -0,0 +1,29 @@
1
+ import type { ServerActionBridge, ServerActionBridgeConfig } from "./types.js";
2
+ import type { EventController } from "./event-controller.js";
3
+ /**
4
+ * Extended configuration for server action bridge with event controller
5
+ */
6
+ export interface ServerActionBridgeConfigWithController extends ServerActionBridgeConfig {
7
+ eventController: EventController;
8
+ /** Callback to trigger SPA navigation (for action redirects) */
9
+ onNavigate?: (url: string, options?: {
10
+ state?: unknown;
11
+ replace?: boolean;
12
+ _skipCache?: boolean;
13
+ }) => Promise<void>;
14
+ }
15
+ /**
16
+ * Create a server action bridge for handling RSC server actions
17
+ *
18
+ * The bridge registers a callback with the RSC runtime that handles:
19
+ * - Encoding action arguments
20
+ * - Sending action requests to the server
21
+ * - Processing responses and updating UI
22
+ * - Managing concurrent action requests via event controller
23
+ * - HMR resilience (refetching if segments are missing)
24
+ *
25
+ * @param config - Bridge configuration
26
+ * @returns ServerActionBridge instance
27
+ */
28
+ export declare function createServerActionBridge(config: ServerActionBridgeConfigWithController): ServerActionBridge;
29
+ export { createServerActionBridge as default };
@@ -0,0 +1,524 @@
1
+ import type { ReactNode, ComponentType } from "react";
2
+ import type { ResolvedSegment, SlotState } from "../types.js";
3
+ import type { ResolvedThemeConfig, Theme } from "../theme/types.js";
4
+ import type { RenderSegmentsOptions } from "../segment-system.js";
5
+ /**
6
+ * RSC payload received from server.
7
+ * The tree is reconstructed from metadata.segments by the browser bridges.
8
+ */
9
+ export interface RscPayload<TMetadata = RscMetadata> {
10
+ metadata?: TMetadata;
11
+ returnValue?: ActionResult;
12
+ }
13
+ /**
14
+ * Handle data structure: handleName -> segmentId -> entries[]
15
+ *
16
+ * @internal This type is an implementation detail and may change without notice.
17
+ */
18
+ export type HandleData = Record<string, Record<string, unknown[]>>;
19
+ /**
20
+ * Metadata included in RSC responses
21
+ *
22
+ * @internal This type is an implementation detail and may change without notice.
23
+ */
24
+ export interface RscMetadata {
25
+ pathname: string;
26
+ segments: ResolvedSegment[];
27
+ /** Router instance ID — the current app's identity. A mismatch with the
28
+ * client's id (sent as _rsc_rid) is detected server-side and answered with
29
+ * X-RSC-Reload (full document load), so the client never swaps apps
30
+ * in-session; within a session this always equals the current app. */
31
+ routerId?: string;
32
+ isPartial?: boolean;
33
+ isError?: boolean;
34
+ matched?: string[];
35
+ diff?: string[];
36
+ /**
37
+ * All segment ids re-resolved on the server, including null-component
38
+ * ones excluded from `segments`/`diff`. Drives client-side handle-bucket
39
+ * cleanup. Superset of `diff`. See MatchResult.resolvedIds.
40
+ */
41
+ resolvedIds?: string[];
42
+ /** Merged route params from the matched route */
43
+ params?: Record<string, string>;
44
+ /**
45
+ * State of named slots for this route match
46
+ * Key is slot name (e.g., "@modal"), value is slot state
47
+ * Slots are used for intercepting routes during soft navigation
48
+ */
49
+ slots?: Record<string, SlotState>;
50
+ /** Root layout component for browser-side re-renders */
51
+ rootLayout?: ComponentType<{
52
+ children: ReactNode;
53
+ }>;
54
+ /** Handle data accumulated across route segments (async generator that yields on each push) */
55
+ handles?: AsyncGenerator<HandleData, void, unknown>;
56
+ /** Cached handle data (for back/forward navigation from cache) */
57
+ cachedHandleData?: HandleData;
58
+ /**
59
+ * RSC version string from the server.
60
+ * Used to detect version mismatches after HMR/deployment.
61
+ */
62
+ version?: string;
63
+ /** Cloudflare dev worker generation used for stale-document convergence. */
64
+ devDiscoveryEpoch?: number;
65
+ /**
66
+ * TTL in milliseconds for the client-side in-memory prefetch cache.
67
+ * Sent on initial render so the browser can configure its cache duration.
68
+ */
69
+ prefetchCacheTTL?: number;
70
+ /**
71
+ * Max entries in the client-side in-memory prefetch cache (FIFO eviction).
72
+ * Sent on initial render so the browser can configure its cache capacity.
73
+ */
74
+ prefetchCacheSize?: number;
75
+ /**
76
+ * Max concurrent speculative prefetch requests on the client.
77
+ * Sent on initial render so the browser can configure its prefetch queue.
78
+ */
79
+ prefetchConcurrency?: number;
80
+ /**
81
+ * Router-wide default prefetch strategy for Links without a `prefetch` prop.
82
+ * Sent on initial render; applied once at init (default-strategy.ts).
83
+ */
84
+ defaultPrefetch?: import("../router/prefetch-default.js").PrefetchStrategy;
85
+ /**
86
+ * Server-resolved rango state cookie name (`{prefix}_{routerId}`). The client
87
+ * reads it verbatim and binds the rango state cookie to it; composition
88
+ * happens only server-side.
89
+ */
90
+ stateCookieName?: string;
91
+ /**
92
+ * Theme configuration from router.
93
+ * Included when theme is enabled in router config.
94
+ */
95
+ themeConfig?: ResolvedThemeConfig | null;
96
+ /**
97
+ * Initial theme from cookie (for SSR hydration).
98
+ * Included when theme is enabled in router config.
99
+ */
100
+ initialTheme?: Theme;
101
+ /** URL prefix for all routes (from createRouter({ basename })). */
102
+ basename?: string;
103
+ /** Whether connection warmup is enabled */
104
+ warmupEnabled?: boolean;
105
+ /**
106
+ * Whether the client should hydrate inside React.StrictMode. Carried on the
107
+ * initial full-render payload only; the browser entry reads it once at
108
+ * hydration. Defaults to true on the client when omitted.
109
+ */
110
+ strictMode?: boolean;
111
+ /**
112
+ * Server-side redirect with optional state (for partial requests).
113
+ * `external: true` (from redirect(url, { external: true })) tells the client
114
+ * to hard-navigate to an off-host target instead of validating same-origin.
115
+ */
116
+ redirect?: {
117
+ url: string;
118
+ external?: boolean;
119
+ };
120
+ /** Server-set location state to include in history.pushState */
121
+ locationState?: Record<string, unknown>;
122
+ }
123
+ /**
124
+ * Result from server action execution
125
+ *
126
+ * @internal This type is an implementation detail and may change without notice.
127
+ */
128
+ export interface ActionResult {
129
+ ok: boolean;
130
+ data: unknown;
131
+ }
132
+ /**
133
+ * Location object representing current URL
134
+ * Uses URL for full URL parsing (origin, host, hostname, port, protocol, searchParams, etc.)
135
+ */
136
+ export type NavigationLocation = URL;
137
+ /**
138
+ * Inflight server action being tracked
139
+ *
140
+ * @internal This type is an implementation detail and may change without notice.
141
+ */
142
+ export interface InflightAction {
143
+ /** Unique identifier for this action invocation */
144
+ id: string;
145
+ /** Server action function ID */
146
+ actionId: string;
147
+ /** Action arguments */
148
+ payload: unknown[];
149
+ /** Timestamp when action started */
150
+ startedAt: number;
151
+ }
152
+ /**
153
+ * Internal navigation state (includes inflight actions for store use)
154
+ *
155
+ * @internal This type is an implementation detail. Use PublicNavigationState instead.
156
+ */
157
+ export interface NavigationState {
158
+ /** Navigation lifecycle state (idle or loading during navigation) */
159
+ state: "idle" | "loading";
160
+ /** Whether RSC data is currently streaming (initial load or navigation) */
161
+ isStreaming: boolean;
162
+ /** Current location */
163
+ location: NavigationLocation;
164
+ /** URL being navigated to (null when idle) */
165
+ pendingUrl: string | null;
166
+ /** List of inflight server actions (internal use only) */
167
+ inflightActions: InflightAction[];
168
+ }
169
+ /**
170
+ * Public navigation state exposed via useNavigation hook
171
+ * Excludes internal properties like inflightActions
172
+ */
173
+ export type PublicNavigationState = Omit<NavigationState, "inflightActions">;
174
+ /**
175
+ * Action lifecycle state
176
+ */
177
+ export type ActionLifecycleState = "idle" | "loading" | "streaming";
178
+ /**
179
+ * State for a tracked server action
180
+ * Used by useAction hook to observe action lifecycle
181
+ *
182
+ * @internal This type is an implementation detail and may change without notice.
183
+ */
184
+ export interface TrackedActionState {
185
+ /** Current lifecycle state of the action */
186
+ state: ActionLifecycleState;
187
+ /** Server action function ID (e.g., "addToCart") */
188
+ actionId: string | null;
189
+ /** Action arguments (array for JSON, FormData for form submissions) */
190
+ payload: unknown[] | FormData | null;
191
+ /** Error if action failed */
192
+ error: unknown | null;
193
+ /** Result data from the action (preserved after completion) */
194
+ result: unknown | null;
195
+ }
196
+ /**
197
+ * The value returned by {@link useAction} when called without a selector.
198
+ *
199
+ * This is the stable, public name for the action-state shape; consumers can
200
+ * name it in their own signatures (e.g. a wrapper hook). It aliases the
201
+ * internal {@link TrackedActionState}.
202
+ */
203
+ export type ActionState = TrackedActionState;
204
+ /**
205
+ * Listener for action state changes
206
+ *
207
+ * @internal This type is an implementation detail and may change without notice.
208
+ */
209
+ export type ActionStateListener = (state: TrackedActionState) => void;
210
+ /**
211
+ * Cache interface for storing segments
212
+ * Compatible with Map
213
+ *
214
+ * @internal This type is an implementation detail and may change without notice.
215
+ */
216
+ export interface SegmentCache {
217
+ get(key: string): ResolvedSegment | undefined;
218
+ set(key: string, value: ResolvedSegment): void;
219
+ has(key: string): boolean;
220
+ delete(key: string): boolean;
221
+ keys(): IterableIterator<string>;
222
+ readonly size: number;
223
+ }
224
+ /**
225
+ * Internal segment state managed by the store
226
+ *
227
+ * @internal This type is an implementation detail and may change without notice.
228
+ */
229
+ export interface SegmentState {
230
+ path: string;
231
+ currentUrl: string;
232
+ currentSegmentIds: string[];
233
+ }
234
+ /**
235
+ * Navigation update emitted when UI should re-render
236
+ *
237
+ * @internal This type is an implementation detail and may change without notice.
238
+ */
239
+ export interface NavigationUpdate {
240
+ root: ReactNode | Promise<ReactNode>;
241
+ metadata: RscMetadata;
242
+ /** Scroll behavior to apply after React commits this update */
243
+ scroll?: {
244
+ /** For back/forward: restore saved position */
245
+ restore?: boolean;
246
+ /** Set to false to disable scrolling entirely */
247
+ enabled?: boolean;
248
+ /** Function to check if streaming is in progress */
249
+ isStreaming?: () => boolean;
250
+ };
251
+ }
252
+ /**
253
+ * State value for navigate/Link
254
+ * - LocationStateEntry[]: Type-safe state entries (recommended)
255
+ * - unknown: Plain state format (object or getter function)
256
+ */
257
+ export type HistoryState = import("./react/location-state-shared.js").LocationStateEntry[] | unknown;
258
+ /**
259
+ * Options for navigation operations
260
+ */
261
+ export interface NavigateOptions {
262
+ replace?: boolean;
263
+ scroll?: boolean;
264
+ /**
265
+ * Whether to revalidate server data on navigation.
266
+ * Set to `false` to skip the RSC server fetch and only update the URL.
267
+ *
268
+ * Only takes effect when the pathname stays the same (search param / hash changes).
269
+ * If the pathname changes, this option is ignored and a full navigation occurs.
270
+ *
271
+ * All location-aware hooks (`useSearchParams`, `useNavigation`, etc.) still update.
272
+ * Server components do not re-render.
273
+ *
274
+ * @default true
275
+ *
276
+ * @example
277
+ * ```tsx
278
+ * router.push("/products?color=blue", { revalidate: false });
279
+ * router.replace("/products?page=3", { revalidate: false });
280
+ * ```
281
+ */
282
+ revalidate?: boolean;
283
+ /**
284
+ * State to pass to history.pushState/replaceState
285
+ * Accessible via useLocationState() hook.
286
+ *
287
+ * @example
288
+ * ```tsx
289
+ * // Type-safe state (recommended)
290
+ * const ProductState = createLocationState<{ name: string }>();
291
+ * navigate("/product/123", { state: [ProductState({ name: "Widget" })] });
292
+ *
293
+ * // Type-safe just-in-time state (getter called at navigation time)
294
+ * navigate("/product/123", {
295
+ * state: [ProductState(() => ({ name: computeName() }))],
296
+ * });
297
+ *
298
+ * // Multiple states
299
+ * navigate("/checkout", { state: [ProductState(p), CartState(c)] });
300
+ *
301
+ * // Plain static state
302
+ * navigate("/product", { state: { from: "list" } });
303
+ *
304
+ * // Plain just-in-time state
305
+ * navigate("/product", { state: () => ({ from: window.location.pathname }) });
306
+ * ```
307
+ */
308
+ state?: HistoryState;
309
+ }
310
+ /** @internal Extended options used only within the navigation bridge */
311
+ export interface NavigateOptionsInternal extends NavigateOptions {
312
+ /** Skip segment cache (used by redirect-with-state to force re-render) */
313
+ _skipCache?: boolean;
314
+ }
315
+ /**
316
+ * Options for useRouter push/replace methods.
317
+ * Same as NavigateOptions but without `replace` (implicit in push vs replace).
318
+ */
319
+ export type RouterNavigateOptions = Omit<NavigateOptions, "replace">;
320
+ /**
321
+ * Router instance returned by useRouter hook.
322
+ * Provides stable action methods that never cause re-renders.
323
+ */
324
+ export interface RouterInstance {
325
+ /** Navigate to a URL, pushing a new entry to the history stack */
326
+ push(url: string, options?: RouterNavigateOptions): Promise<void>;
327
+ /** Navigate to a URL, replacing the current history entry */
328
+ replace(url: string, options?: RouterNavigateOptions): Promise<void>;
329
+ /** Refresh the current route (re-fetch server data, preserve client state) */
330
+ refresh(): Promise<void>;
331
+ /**
332
+ * Prefetch a URL for faster client-side transition.
333
+ *
334
+ * Pass `{ key: ":source" }` to source-scope the prefetch cache entry (parity
335
+ * with `<Link prefetchKey=":source">`) when the target's response can differ
336
+ * by source page.
337
+ */
338
+ prefetch(url: string, options?: {
339
+ key?: ":source";
340
+ }): void;
341
+ /** Go back in browser history */
342
+ back(): void;
343
+ /** Go forward in browser history */
344
+ forward(): void;
345
+ }
346
+ /**
347
+ * URLSearchParams without mutation methods.
348
+ * Matches Next.js convention for useSearchParams return type.
349
+ */
350
+ export type ReadonlyURLSearchParams = Omit<URLSearchParams, "append" | "delete" | "set" | "sort">;
351
+ /**
352
+ * RSC runtime functions from @vitejs/plugin-rsc/browser
353
+ *
354
+ * These are injected as dependencies to avoid direct coupling
355
+ * to the RSC runtime implementation.
356
+ */
357
+ export interface RscBrowserDependencies {
358
+ createFromFetch: <T>(response: Promise<Response>, options?: {
359
+ temporaryReferences?: any;
360
+ findSourceMapURL?: (filename: string, environmentName: string) => string | null;
361
+ }) => Promise<T>;
362
+ createFromReadableStream: <T>(stream: ReadableStream) => Promise<T>;
363
+ encodeReply: (args: any[], options?: {
364
+ temporaryReferences?: any;
365
+ }) => Promise<FormData | string>;
366
+ setServerCallback: (callback: (id: string, args: any[]) => Promise<any>) => void;
367
+ createTemporaryReferenceSet: () => any;
368
+ }
369
+ /**
370
+ * Update subscriber callback for UI updates
371
+ */
372
+ export type UpdateSubscriber = (update: NavigationUpdate) => void;
373
+ /**
374
+ * State change listener for useNavigation hook subscriptions
375
+ */
376
+ export type StateListener = () => void;
377
+ /**
378
+ * Navigation store interface
379
+ *
380
+ * Owns segment state, history snapshots, and partial-update notifications.
381
+ * EventController owns the public navigation lifecycle exposed by hooks.
382
+ */
383
+ export interface NavigationStore {
384
+ getSegmentState(): SegmentState;
385
+ setPath(path: string): void;
386
+ setCurrentUrl(url: string): void;
387
+ setSegmentIds(ids: string[]): void;
388
+ getHistoryKey(): string;
389
+ setHistoryKey(key: string): void;
390
+ /** Monotonic token of the most recently committed navigation. */
391
+ getNavInstance(): number;
392
+ cacheSegmentsForHistory(historyKey: string, segments: ResolvedSegment[], handleData?: HandleData): void;
393
+ getCachedSegments(historyKey: string): {
394
+ segments: ResolvedSegment[];
395
+ stale: boolean;
396
+ handleData?: HandleData;
397
+ routerId?: string;
398
+ /**
399
+ * True when the entry's handle data is incomplete (a deferred Meta was
400
+ * still pending at navigate-away). A popstate return must revalidate with
401
+ * a FULL re-render so the server re-streams handles.
402
+ */
403
+ handlesPending?: boolean;
404
+ } | undefined;
405
+ hasHistoryCache(historyKey: string): boolean;
406
+ /**
407
+ * Update only the handleData (and optionally the stale / handlesPending flags)
408
+ * of an existing cache entry. When a flag is omitted the entry's current value
409
+ * is preserved. `stale=true` marks a single entry stale so a popstate return
410
+ * revalidates it; `handlesPending=true` additionally forces that revalidation
411
+ * to be a full re-render (so a deferred Meta re-streams).
412
+ */
413
+ updateCacheHandleData(historyKey: string, handleData: HandleData, stale?: boolean, handlesPending?: boolean): void;
414
+ /**
415
+ * Owner-guarded variant of updateCacheHandleData: writes only when the entry
416
+ * is still owned by `ownerInstance`. Folds the caller's separate ownership
417
+ * probe and write into one historyCache scan for the per-yield streaming path.
418
+ */
419
+ updateCacheHandleDataIfOwned(historyKey: string, handleData: HandleData, ownerInstance: number, stale?: boolean, handlesPending?: boolean): void;
420
+ markHistoryCacheStale(): void;
421
+ markCacheAsStaleAndBroadcast(): void;
422
+ clearHistoryCache(): void;
423
+ setCrossTabRefreshCallback(callback: () => void): void;
424
+ getInterceptSourceUrl(): string | null;
425
+ setInterceptSourceUrl(url: string | null): void;
426
+ getRouterId?(): string | undefined;
427
+ setRouterId?(id: string): void;
428
+ onUpdate(callback: UpdateSubscriber): () => void;
429
+ emitUpdate(update: NavigationUpdate): void;
430
+ }
431
+ /**
432
+ * Options for partial navigation fetch
433
+ */
434
+ export interface FetchPartialOptions {
435
+ targetUrl: string;
436
+ segmentIds: string[];
437
+ previousUrl: string;
438
+ signal?: AbortSignal;
439
+ /** If true, this is a stale cache revalidation request - server should force revalidators */
440
+ staleRevalidation?: boolean;
441
+ interceptSourceUrl?: string;
442
+ /** RSC version for cache invalidation detection */
443
+ version?: string;
444
+ /** Current router ID — server detects app switch and returns full response */
445
+ routerId?: string;
446
+ /** If true, this is an HMR refetch - server should invalidate manifest cache */
447
+ hmr?: boolean;
448
+ }
449
+ /**
450
+ * Result of a partial fetch including stream completion tracking
451
+ */
452
+ export interface FetchPartialResult {
453
+ payload: RscPayload;
454
+ /** Promise that resolves when the response stream is fully consumed */
455
+ streamComplete: Promise<void>;
456
+ /**
457
+ * True only when this payload came from a prefetch-cache hit whose stream had
458
+ * ALREADY fully drained at fetch time (the route was fully prefetched). The
459
+ * commit then runs in a startTransition so loading()/Suspense content — already
460
+ * resolved — swaps in directly without flashing a fallback. A partially-warmed
461
+ * (still-streaming) prefetch hit and a cold fetch leave this false so their
462
+ * fallbacks stream as usual.
463
+ */
464
+ fullyPrefetched?: boolean;
465
+ }
466
+ /**
467
+ * Navigation client for fetching RSC payloads
468
+ */
469
+ export interface NavigationClient {
470
+ fetchPartial(options: FetchPartialOptions): Promise<FetchPartialResult>;
471
+ }
472
+ /**
473
+ * Options for link interception
474
+ */
475
+ export interface LinkInterceptorOptions {
476
+ shouldIntercept?: (link: HTMLAnchorElement) => boolean;
477
+ }
478
+ /**
479
+ * Server action bridge for handling server actions
480
+ */
481
+ export interface ServerActionBridge {
482
+ register(): void;
483
+ }
484
+ /**
485
+ * Configuration for server action bridge
486
+ */
487
+ export interface ServerActionBridgeConfig {
488
+ store: NavigationStore;
489
+ client: NavigationClient;
490
+ deps: RscBrowserDependencies;
491
+ onUpdate: UpdateSubscriber;
492
+ renderSegments: (segments: ResolvedSegment[], options?: RenderSegmentsOptions) => Promise<ReactNode> | ReactNode;
493
+ }
494
+ /**
495
+ * Navigation bridge for handling client-side navigation
496
+ */
497
+ export interface NavigationBridge {
498
+ navigate(url: string, options?: NavigateOptions): Promise<void>;
499
+ refresh(): Promise<void>;
500
+ handlePopstate(): Promise<void>;
501
+ registerLinkInterception(): () => void;
502
+ registerDelegatedPrefetch(): () => void;
503
+ /** Current RSC version (live, reflects the latest updateVersion). */
504
+ getVersion(): string | undefined;
505
+ /** Update the RSC version (e.g. after HMR). Clears prefetch cache. */
506
+ updateVersion(newVersion: string): void;
507
+ }
508
+ /**
509
+ * Configuration for navigation bridge
510
+ */
511
+ export interface NavigationBridgeConfig {
512
+ store: NavigationStore;
513
+ client: NavigationClient;
514
+ onUpdate: UpdateSubscriber;
515
+ renderSegments: (segments: ResolvedSegment[], options?: RenderSegmentsOptions) => Promise<ReactNode> | ReactNode;
516
+ }
517
+ export type { ResolvedSegment };
518
+ /**
519
+ * Token for tracking an active stream.
520
+ * Call end() when the stream completes.
521
+ */
522
+ export interface StreamingToken {
523
+ end(): void;
524
+ }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Validate that a client-consumed redirect URL (from headers or Flight payload)
3
+ * targets the same origin as the current page. Prevents open-redirect attacks
4
+ * via crafted responses.
5
+ *
6
+ * Thin wrapper over the shared {@link resolveSameOriginRedirect} rule (also used
7
+ * by the server guard in `rsc/redirect-guard.ts`) so client and server enforce
8
+ * the identical same-origin contract. Adds the client-side `console.error` on a
9
+ * block; the resolver itself stays pure.
10
+ *
11
+ * @returns The canonical (normalized) URL string on success, or null if blocked.
12
+ */
13
+ export declare function validateRedirectOrigin(url: string, currentOrigin: string): string | null;
14
+ /**
15
+ * Validate an explicit off-origin redirect (`redirect(url, { external: true })`)
16
+ * the client is about to hard-navigate to via `window.location.assign()`.
17
+ *
18
+ * Thin wrapper over the shared {@link resolveExternalRedirect} rule (also used by
19
+ * the server guard in `rsc/redirect-guard.ts`) so client and server enforce the
20
+ * identical contract: `external` allows an off-origin target but only an
21
+ * http(s) scheme. This stops a forged or mistaken external payload carrying a
22
+ * `javascript:`/`data:` URL from turning `location.assign` into a scriptable
23
+ * navigation. Adds the client-side `console.error` on a block; the resolver
24
+ * itself stays pure.
25
+ *
26
+ * @returns The normalized URL string on success, or null if blocked.
27
+ */
28
+ export declare function validateExternalRedirect(url: string, currentOrigin: string): string | null;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Report every `"use client"` client-reference key reachable from a single
3
+ * error/notFound boundary registration (handler function or element tree).
4
+ */
5
+ export declare function collectFallbackClientRefs(boundary: unknown, report: (refKey: string) => void): void;