@rangojs/router 0.0.0-experimental.tapabs3 → 0.1.1

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 (1350) hide show
  1. package/dist/bin/rango.js +19 -41
  2. package/dist/types/__internal.d.ts +127 -0
  3. package/dist/types/bin/rango.d.ts +1 -0
  4. package/dist/types/browser/action-coordinator.d.ts +57 -0
  5. package/dist/types/browser/action-fence.d.ts +33 -0
  6. package/dist/types/browser/app-shell.d.ts +34 -0
  7. package/dist/types/browser/app-version.d.ts +6 -0
  8. package/dist/types/browser/connection-warmup.d.ts +31 -0
  9. package/dist/types/browser/cookie-name.d.ts +66 -0
  10. package/dist/types/browser/dev-discovery.d.ts +11 -0
  11. package/dist/types/browser/event-controller.d.ts +221 -0
  12. package/dist/types/browser/history-state.d.ts +26 -0
  13. package/dist/types/browser/index.d.ts +1 -0
  14. package/dist/types/browser/intercept-utils.d.ts +30 -0
  15. package/dist/types/browser/invalidate-client-cache.d.ts +17 -0
  16. package/dist/types/browser/link-interceptor.d.ts +43 -0
  17. package/dist/types/browser/logging.d.ts +33 -0
  18. package/dist/types/browser/merge-segment-loaders.d.ts +38 -0
  19. package/dist/types/browser/navigation-bridge.d.ts +27 -0
  20. package/dist/types/browser/navigation-client.d.ts +17 -0
  21. package/dist/types/browser/navigation-store-handle.d.ts +25 -0
  22. package/dist/types/browser/navigation-store.d.ts +85 -0
  23. package/dist/types/browser/navigation-transaction.d.ts +75 -0
  24. package/dist/types/browser/network-error-handler.d.ts +35 -0
  25. package/dist/types/browser/partial-update.d.ts +61 -0
  26. package/dist/types/browser/prefetch/cache.d.ts +183 -0
  27. package/dist/types/browser/prefetch/fetch.d.ts +52 -0
  28. package/dist/types/browser/prefetch/loader.d.ts +10 -0
  29. package/dist/types/browser/prefetch/observer.d.ts +27 -0
  30. package/dist/types/browser/prefetch/policy.d.ts +13 -0
  31. package/dist/types/browser/prefetch/queue.d.ts +48 -0
  32. package/dist/types/browser/prefetch/resource-ready.d.ts +28 -0
  33. package/dist/types/browser/prefetch/runtime.d.ts +3 -0
  34. package/dist/types/browser/rango-state.d.ts +52 -0
  35. package/dist/types/browser/react/Link.d.ts +140 -0
  36. package/dist/types/browser/react/NavigationProvider.d.ts +88 -0
  37. package/dist/types/browser/react/ScrollRestoration.d.ts +78 -0
  38. package/dist/types/browser/react/context.d.ts +54 -0
  39. package/dist/types/browser/react/filter-segment-order.d.ts +35 -0
  40. package/dist/types/browser/react/index.d.ts +1 -0
  41. package/dist/types/browser/react/location-state-shared.d.ts +162 -0
  42. package/dist/types/browser/react/location-state.d.ts +29 -0
  43. package/dist/types/browser/react/mount-context.d.ts +23 -0
  44. package/dist/types/browser/react/nonce-context.d.ts +14 -0
  45. package/dist/types/browser/react/shallow-equal.d.ts +5 -0
  46. package/dist/types/browser/react/use-action.d.ts +61 -0
  47. package/dist/types/browser/react/use-handle.d.ts +21 -0
  48. package/dist/types/browser/react/use-href.d.ts +32 -0
  49. package/dist/types/browser/react/use-link-status.d.ts +36 -0
  50. package/dist/types/browser/react/use-mount.d.ts +24 -0
  51. package/dist/types/browser/react/use-navigation.d.ts +15 -0
  52. package/dist/types/browser/react/use-params.d.ts +21 -0
  53. package/dist/types/browser/react/use-pathname.d.ts +13 -0
  54. package/dist/types/browser/react/use-reverse.d.ts +40 -0
  55. package/dist/types/browser/react/use-router.d.ts +23 -0
  56. package/dist/types/browser/react/use-search-params.d.ts +19 -0
  57. package/dist/types/browser/react/use-segments.d.ts +29 -0
  58. package/dist/types/browser/response-adapter.d.ts +58 -0
  59. package/dist/types/browser/rsc-router.d.ts +141 -0
  60. package/dist/types/browser/scroll-restoration.d.ts +103 -0
  61. package/dist/types/browser/segment-reconciler.d.ts +74 -0
  62. package/dist/types/browser/segment-structure-assert.d.ts +16 -0
  63. package/dist/types/browser/server-action-bridge.d.ts +29 -0
  64. package/dist/types/browser/types.d.ts +518 -0
  65. package/dist/types/browser/validate-redirect-origin.d.ts +28 -0
  66. package/dist/types/build/collect-fallback-refs.d.ts +5 -0
  67. package/dist/types/build/generate-manifest.d.ts +106 -0
  68. package/dist/types/build/generate-route-types.d.ts +8 -0
  69. package/dist/types/build/index.d.ts +21 -0
  70. package/dist/types/build/prefix-tree-utils.d.ts +56 -0
  71. package/dist/types/build/route-trie.d.ts +89 -0
  72. package/dist/types/build/route-types/ast-helpers.d.ts +3 -0
  73. package/dist/types/build/route-types/ast-route-extraction.d.ts +13 -0
  74. package/dist/types/build/route-types/codegen.d.ts +16 -0
  75. package/dist/types/build/route-types/include-resolution.d.ts +74 -0
  76. package/dist/types/build/route-types/param-extraction.d.ts +13 -0
  77. package/dist/types/build/route-types/per-module-writer.d.ts +18 -0
  78. package/dist/types/build/route-types/router-processing.d.ts +82 -0
  79. package/dist/types/build/route-types/scan-filter.d.ts +17 -0
  80. package/dist/types/build/route-types/source-scan.d.ts +13 -0
  81. package/dist/types/build/runtime-discovery.d.ts +24 -0
  82. package/dist/types/cache/background-task.d.ts +21 -0
  83. package/dist/types/cache/cache-error.d.ts +71 -0
  84. package/dist/types/cache/cache-key-utils.d.ts +35 -0
  85. package/dist/types/cache/cache-policy.d.ts +59 -0
  86. package/dist/types/cache/cache-runtime.d.ts +51 -0
  87. package/dist/types/cache/cache-scope.d.ts +136 -0
  88. package/dist/types/cache/cache-tag.d.ts +79 -0
  89. package/dist/types/cache/cf/cf-base64.d.ts +4 -0
  90. package/dist/types/cache/cf/cf-cache-constants.d.ts +105 -0
  91. package/dist/types/cache/cf/cf-cache-store.d.ts +589 -0
  92. package/dist/types/cache/cf/cf-cache-types.d.ts +363 -0
  93. package/dist/types/cache/cf/cf-kv-utils.d.ts +22 -0
  94. package/dist/types/cache/cf/cf-tag-marker-memo.d.ts +15 -0
  95. package/dist/types/cache/cf/cf-zone-purge.d.ts +31 -0
  96. package/dist/types/cache/cf/index.d.ts +4 -0
  97. package/dist/types/cache/document-cache.d.ts +69 -0
  98. package/dist/types/cache/handle-capture.d.ts +23 -0
  99. package/dist/types/cache/handle-snapshot.d.ts +39 -0
  100. package/dist/types/cache/index.d.ts +7 -0
  101. package/dist/types/cache/memory-segment-store.d.ts +163 -0
  102. package/dist/types/cache/profile-registry.d.ts +40 -0
  103. package/dist/types/cache/read-through-swr.d.ts +60 -0
  104. package/dist/types/cache/segment-codec.d.ts +78 -0
  105. package/dist/types/cache/shell-snapshot.d.ts +186 -0
  106. package/dist/types/cache/tag-invalidation.d.ts +74 -0
  107. package/dist/types/cache/taint.d.ts +71 -0
  108. package/dist/types/cache/types.d.ts +435 -0
  109. package/dist/types/cache/vercel/index.d.ts +1 -0
  110. package/dist/types/cache/vercel/vercel-cache-store.d.ts +268 -0
  111. package/dist/types/client.d.ts +184 -0
  112. package/dist/types/client.rsc.d.ts +39 -0
  113. package/dist/types/cloudflare/index.d.ts +7 -0
  114. package/dist/types/cloudflare/tracing.d.ts +53 -0
  115. package/dist/types/component-utils.d.ts +46 -0
  116. package/dist/types/components/DefaultDocument.d.ts +13 -0
  117. package/dist/types/context-var.d.ts +84 -0
  118. package/dist/types/debug.d.ts +57 -0
  119. package/dist/types/decode-loader-results.d.ts +5 -0
  120. package/dist/types/default-error-boundary.d.ts +10 -0
  121. package/dist/types/defer.d.ts +89 -0
  122. package/dist/types/deps/browser.d.ts +1 -0
  123. package/dist/types/deps/html-stream-client.d.ts +1 -0
  124. package/dist/types/deps/html-stream-server.d.ts +1 -0
  125. package/dist/types/deps/rsc.d.ts +1 -0
  126. package/dist/types/deps/ssr.d.ts +1 -0
  127. package/dist/types/dev-discovery-protocol.d.ts +5 -0
  128. package/dist/types/encode-kv.d.ts +35 -0
  129. package/dist/types/errors.d.ts +226 -0
  130. package/dist/types/escape-script.d.ts +44 -0
  131. package/dist/types/handle.d.ts +93 -0
  132. package/dist/types/handles/MetaTags.d.ts +17 -0
  133. package/dist/types/handles/Scripts.d.ts +38 -0
  134. package/dist/types/handles/breadcrumbs.d.ts +43 -0
  135. package/dist/types/handles/deferred-resolution.d.ts +53 -0
  136. package/dist/types/handles/is-thenable.d.ts +12 -0
  137. package/dist/types/handles/meta.d.ts +43 -0
  138. package/dist/types/handles/script.d.ts +139 -0
  139. package/dist/types/host/cookie-handler.d.ts +8 -0
  140. package/dist/types/host/errors.d.ts +40 -0
  141. package/dist/types/host/index.d.ts +33 -0
  142. package/dist/types/host/pattern-matcher.d.ts +30 -0
  143. package/dist/types/host/router.d.ts +12 -0
  144. package/dist/types/host/testing.d.ts +41 -0
  145. package/dist/types/host/types.d.ts +148 -0
  146. package/dist/types/host/utils.d.ts +20 -0
  147. package/dist/types/href-client.d.ts +214 -0
  148. package/dist/types/index.d.ts +112 -0
  149. package/dist/types/index.rsc.d.ts +51 -0
  150. package/dist/types/internal-debug.d.ts +1 -0
  151. package/dist/types/loader-store.d.ts +193 -0
  152. package/dist/types/loader.d.ts +18 -0
  153. package/dist/types/loader.rsc.d.ts +18 -0
  154. package/dist/types/missing-id-error.d.ts +1 -0
  155. package/dist/types/outlet-context.d.ts +12 -0
  156. package/dist/types/outlet-provider.d.ts +12 -0
  157. package/dist/types/prerender/build-shell-capture.d.ts +104 -0
  158. package/dist/types/prerender/param-hash.d.ts +6 -0
  159. package/dist/types/prerender/shell-manifest-key.d.ts +18 -0
  160. package/dist/types/prerender/store.d.ts +63 -0
  161. package/dist/types/prerender.d.ts +292 -0
  162. package/dist/types/redirect-origin.d.ts +67 -0
  163. package/dist/types/regex-escape.d.ts +6 -0
  164. package/dist/types/render-error-thrower.d.ts +13 -0
  165. package/dist/types/response-utils.d.ts +35 -0
  166. package/dist/types/reverse.d.ts +206 -0
  167. package/dist/types/root-error-boundary.d.ts +32 -0
  168. package/dist/types/route-content-wrapper.d.ts +40 -0
  169. package/dist/types/route-definition/dsl-helpers.d.ts +130 -0
  170. package/dist/types/route-definition/helper-factories.d.ts +22 -0
  171. package/dist/types/route-definition/helpers-types.d.ts +392 -0
  172. package/dist/types/route-definition/index.d.ts +7 -0
  173. package/dist/types/route-definition/redirect.d.ts +48 -0
  174. package/dist/types/route-definition/resolve-handler-use.d.ts +19 -0
  175. package/dist/types/route-definition/use-item-types.d.ts +1 -0
  176. package/dist/types/route-definition.d.ts +1 -0
  177. package/dist/types/route-map-builder.d.ts +102 -0
  178. package/dist/types/route-name.d.ts +27 -0
  179. package/dist/types/route-types.d.ts +172 -0
  180. package/dist/types/router/basename.d.ts +10 -0
  181. package/dist/types/router/content-negotiation.d.ts +91 -0
  182. package/dist/types/router/debug-manifest.d.ts +7 -0
  183. package/dist/types/router/error-handling.d.ts +76 -0
  184. package/dist/types/router/find-match.d.ts +19 -0
  185. package/dist/types/router/handler-context.d.ts +41 -0
  186. package/dist/types/router/instrument.d.ts +161 -0
  187. package/dist/types/router/intercept-resolution.d.ts +79 -0
  188. package/dist/types/router/lazy-includes.d.ts +26 -0
  189. package/dist/types/router/loader-resolution.d.ts +63 -0
  190. package/dist/types/router/logging.d.ts +41 -0
  191. package/dist/types/router/manifest.d.ts +8 -0
  192. package/dist/types/router/match-api.d.ts +19 -0
  193. package/dist/types/router/match-context.d.ts +184 -0
  194. package/dist/types/router/match-handlers.d.ts +49 -0
  195. package/dist/types/router/match-middleware/background-revalidation.d.ts +113 -0
  196. package/dist/types/router/match-middleware/cache-lookup.d.ts +113 -0
  197. package/dist/types/router/match-middleware/cache-store.d.ts +112 -0
  198. package/dist/types/router/match-middleware/index.d.ts +80 -0
  199. package/dist/types/router/match-middleware/intercept-resolution.d.ts +116 -0
  200. package/dist/types/router/match-middleware/segment-resolution.d.ts +94 -0
  201. package/dist/types/router/match-pipelines.d.ts +103 -0
  202. package/dist/types/router/match-result.d.ts +114 -0
  203. package/dist/types/router/metrics.d.ts +6 -0
  204. package/dist/types/router/middleware-types.d.ts +74 -0
  205. package/dist/types/router/middleware.d.ts +116 -0
  206. package/dist/types/router/navigation-snapshot.d.ts +22 -0
  207. package/dist/types/router/params-util.d.ts +8 -0
  208. package/dist/types/router/parse-pattern.d.ts +38 -0
  209. package/dist/types/router/pattern-matching.d.ts +169 -0
  210. package/dist/types/router/prefetch-cache-ttl.d.ts +27 -0
  211. package/dist/types/router/prefetch-limits.d.ts +20 -0
  212. package/dist/types/router/prerender-match.d.ts +53 -0
  213. package/dist/types/router/preview-match.d.ts +22 -0
  214. package/dist/types/router/request-classification.d.ts +104 -0
  215. package/dist/types/router/revalidation.d.ts +57 -0
  216. package/dist/types/router/route-snapshot.d.ts +112 -0
  217. package/dist/types/router/router-context.d.ts +137 -0
  218. package/dist/types/router/router-interfaces.d.ts +434 -0
  219. package/dist/types/router/router-options.d.ts +738 -0
  220. package/dist/types/router/router-registry.d.ts +15 -0
  221. package/dist/types/router/segment-resolution/fresh.d.ts +55 -0
  222. package/dist/types/router/segment-resolution/helpers.d.ts +93 -0
  223. package/dist/types/router/segment-resolution/loader-cache.d.ts +33 -0
  224. package/dist/types/router/segment-resolution/loader-mask.d.ts +44 -0
  225. package/dist/types/router/segment-resolution/loader-snapshot.d.ts +90 -0
  226. package/dist/types/router/segment-resolution/mask-nested.d.ts +53 -0
  227. package/dist/types/router/segment-resolution/revalidation.d.ts +85 -0
  228. package/dist/types/router/segment-resolution/static-store.d.ts +17 -0
  229. package/dist/types/router/segment-resolution/streamed-handler-telemetry.d.ts +16 -0
  230. package/dist/types/router/segment-resolution/view-transition-default.d.ts +28 -0
  231. package/dist/types/router/segment-resolution.d.ts +3 -0
  232. package/dist/types/router/segment-wrappers.d.ts +53 -0
  233. package/dist/types/router/state-cookie-name.d.ts +1 -0
  234. package/dist/types/router/substitute-pattern-params.d.ts +23 -0
  235. package/dist/types/router/telemetry-otel.d.ts +113 -0
  236. package/dist/types/router/telemetry.d.ts +216 -0
  237. package/dist/types/router/timeout.d.ts +96 -0
  238. package/dist/types/router/tracing.d.ts +125 -0
  239. package/dist/types/router/trie-matching.d.ts +32 -0
  240. package/dist/types/router/types.d.ts +98 -0
  241. package/dist/types/router/url-params.d.ts +26 -0
  242. package/dist/types/router.d.ts +7 -0
  243. package/dist/types/rsc/capture-queue.d.ts +6 -0
  244. package/dist/types/rsc/full-payload.d.ts +22 -0
  245. package/dist/types/rsc/handler-context.d.ts +32 -0
  246. package/dist/types/rsc/handler.d.ts +9 -0
  247. package/dist/types/rsc/helpers.d.ts +124 -0
  248. package/dist/types/rsc/index.d.ts +17 -0
  249. package/dist/types/rsc/json-route-result.d.ts +20 -0
  250. package/dist/types/rsc/loader-fetch.d.ts +14 -0
  251. package/dist/types/rsc/manifest-init.d.ts +18 -0
  252. package/dist/types/rsc/nonce.d.ts +28 -0
  253. package/dist/types/rsc/origin-guard.d.ts +50 -0
  254. package/dist/types/rsc/progressive-enhancement.d.ts +19 -0
  255. package/dist/types/rsc/redirect-guard.d.ts +37 -0
  256. package/dist/types/rsc/render-pipeline.d.ts +139 -0
  257. package/dist/types/rsc/response-cache-serve.d.ts +46 -0
  258. package/dist/types/rsc/response-error.d.ts +19 -0
  259. package/dist/types/rsc/response-route-handler.d.ts +29 -0
  260. package/dist/types/rsc/rsc-rendering.d.ts +18 -0
  261. package/dist/types/rsc/runtime-warnings.d.ts +22 -0
  262. package/dist/types/rsc/server-action.d.ts +68 -0
  263. package/dist/types/rsc/shell-build-manifest.d.ts +84 -0
  264. package/dist/types/rsc/shell-capture-constants.d.ts +27 -0
  265. package/dist/types/rsc/shell-capture.d.ts +370 -0
  266. package/dist/types/rsc/shell-serve.d.ts +174 -0
  267. package/dist/types/rsc/ssr-setup.d.ts +73 -0
  268. package/dist/types/rsc/transition-gate.d.ts +27 -0
  269. package/dist/types/rsc/types.d.ts +292 -0
  270. package/dist/types/runtime-env.d.ts +1 -0
  271. package/dist/types/search-params.d.ts +125 -0
  272. package/dist/types/segment-content-promise.d.ts +13 -0
  273. package/dist/types/segment-fragments.d.ts +56 -0
  274. package/dist/types/segment-loader-promise.d.ts +22 -0
  275. package/dist/types/segment-system.d.ts +84 -0
  276. package/dist/types/serialize.d.ts +164 -0
  277. package/dist/types/server/context.d.ts +510 -0
  278. package/dist/types/server/cookie-parse.d.ts +10 -0
  279. package/dist/types/server/cookie-store.d.ts +107 -0
  280. package/dist/types/server/fetchable-loader-store.d.ts +20 -0
  281. package/dist/types/server/handle-store.d.ts +100 -0
  282. package/dist/types/server/loader-registry.d.ts +32 -0
  283. package/dist/types/server/request-context.d.ts +628 -0
  284. package/dist/types/server/root-layout.d.ts +3 -0
  285. package/dist/types/server.d.ts +15 -0
  286. package/dist/types/ssr/index.d.ts +233 -0
  287. package/dist/types/ssr/inject-rsc-eager.d.ts +3 -0
  288. package/dist/types/ssr/preinit-client-references.d.ts +71 -0
  289. package/dist/types/ssr/ssr-root.d.ts +69 -0
  290. package/dist/types/static-handler.d.ts +57 -0
  291. package/dist/types/testing/cache-status.d.ts +63 -0
  292. package/dist/types/testing/collect-handle.d.ts +20 -0
  293. package/dist/types/testing/dispatch.d.ts +127 -0
  294. package/dist/types/testing/dom.entry.d.ts +15 -0
  295. package/dist/types/testing/e2e/fixture.d.ts +37 -0
  296. package/dist/types/testing/e2e/index.d.ts +31 -0
  297. package/dist/types/testing/e2e/matchers.d.ts +17 -0
  298. package/dist/types/testing/e2e/page-helpers.d.ts +62 -0
  299. package/dist/types/testing/e2e/parity.d.ts +111 -0
  300. package/dist/types/testing/e2e/server.d.ts +35 -0
  301. package/dist/types/testing/flight-matchers.d.ts +55 -0
  302. package/dist/types/testing/flight-normalize.d.ts +1 -0
  303. package/dist/types/testing/flight-tree.d.ts +192 -0
  304. package/dist/types/testing/flight.d.ts +115 -0
  305. package/dist/types/testing/flight.entry.d.ts +27 -0
  306. package/dist/types/testing/generated-routes.d.ts +66 -0
  307. package/dist/types/testing/index.d.ts +54 -0
  308. package/dist/types/testing/internal/context.d.ts +225 -0
  309. package/dist/types/testing/internal/flight-client-globals.d.ts +1 -0
  310. package/dist/types/testing/internal/seed-vars.d.ts +30 -0
  311. package/dist/types/testing/render-handler.d.ts +160 -0
  312. package/dist/types/testing/render-route.d.ts +246 -0
  313. package/dist/types/testing/run-loader.d.ts +186 -0
  314. package/dist/types/testing/run-middleware.d.ts +132 -0
  315. package/dist/types/testing/run-transition-when.d.ts +77 -0
  316. package/dist/types/testing/shell-status.d.ts +58 -0
  317. package/dist/types/testing/vitest-stubs/cloudflare-email.d.ts +6 -0
  318. package/dist/types/testing/vitest-stubs/cloudflare-workers.d.ts +13 -0
  319. package/dist/types/testing/vitest-stubs/plugin-rsc.d.ts +7 -0
  320. package/dist/types/testing/vitest-stubs/version.d.ts +1 -0
  321. package/dist/types/testing/vitest.d.ts +205 -0
  322. package/dist/types/theme/ThemeProvider.d.ts +13 -0
  323. package/dist/types/theme/ThemeScript.d.ts +45 -0
  324. package/dist/types/theme/constants.d.ts +39 -0
  325. package/dist/types/theme/index.d.ts +29 -0
  326. package/dist/types/theme/theme-context.d.ts +21 -0
  327. package/dist/types/theme/theme-script.d.ts +26 -0
  328. package/dist/types/theme/types.d.ts +162 -0
  329. package/dist/types/theme/use-theme.d.ts +8 -0
  330. package/dist/types/types/boundaries.d.ts +93 -0
  331. package/dist/types/types/cache-types.d.ts +191 -0
  332. package/dist/types/types/error-types.d.ts +114 -0
  333. package/dist/types/types/global-namespace.d.ts +90 -0
  334. package/dist/types/types/handler-context.d.ts +658 -0
  335. package/dist/types/types/index.d.ts +11 -0
  336. package/dist/types/types/loader-types.d.ts +182 -0
  337. package/dist/types/types/request-scope.d.ts +93 -0
  338. package/dist/types/types/route-config.d.ts +105 -0
  339. package/dist/types/types/route-entry.d.ts +98 -0
  340. package/dist/types/types/segments.d.ts +234 -0
  341. package/dist/types/types.d.ts +1 -0
  342. package/dist/types/urls/include-helper.d.ts +17 -0
  343. package/dist/types/urls/include-provider.d.ts +27 -0
  344. package/dist/types/urls/index.d.ts +6 -0
  345. package/dist/types/urls/path-helper-types.d.ts +197 -0
  346. package/dist/types/urls/path-helper.d.ts +12 -0
  347. package/dist/types/urls/pattern-types.d.ts +166 -0
  348. package/dist/types/urls/response-types.d.ts +67 -0
  349. package/dist/types/urls/type-extraction.d.ts +157 -0
  350. package/dist/types/urls/urls-function.d.ts +24 -0
  351. package/dist/types/urls.d.ts +1 -0
  352. package/dist/types/use-loader.d.ts +150 -0
  353. package/dist/types/vercel/index.d.ts +10 -0
  354. package/dist/types/vercel/tracing.d.ts +70 -0
  355. package/dist/types/vite/debug.d.ts +80 -0
  356. package/dist/types/vite/discovery/bundle-postprocess.d.ts +12 -0
  357. package/dist/types/vite/discovery/dev-prerender-cache.d.ts +65 -0
  358. package/dist/types/vite/discovery/discover-routers.d.ts +17 -0
  359. package/dist/types/vite/discovery/discovery-errors.d.ts +113 -0
  360. package/dist/types/vite/discovery/gate-state.d.ts +79 -0
  361. package/dist/types/vite/discovery/prerender-collection.d.ts +24 -0
  362. package/dist/types/vite/discovery/route-types-writer.d.ts +32 -0
  363. package/dist/types/vite/discovery/self-gen-tracking.d.ts +22 -0
  364. package/dist/types/vite/discovery/shell-prerender-phase.d.ts +40 -0
  365. package/dist/types/vite/discovery/state.d.ts +163 -0
  366. package/dist/types/vite/discovery/virtual-module-codegen.d.ts +15 -0
  367. package/dist/types/vite/index.d.ts +11 -0
  368. package/dist/types/vite/inject-client-debug.d.ts +56 -0
  369. package/dist/types/vite/plugin-types.d.ts +298 -0
  370. package/dist/types/vite/plugins/cjs-to-esm.d.ts +6 -0
  371. package/dist/types/vite/plugins/client-ref-dedup.d.ts +40 -0
  372. package/dist/types/vite/plugins/client-ref-hashing.d.ts +35 -0
  373. package/dist/types/vite/plugins/cloudflare-protocol-stub.d.ts +64 -0
  374. package/dist/types/vite/plugins/expose-action-id.d.ts +18 -0
  375. package/dist/types/vite/plugins/expose-id-utils.d.ts +37 -0
  376. package/dist/types/vite/plugins/expose-ids/export-analysis.d.ts +19 -0
  377. package/dist/types/vite/plugins/expose-ids/handler-transform.d.ts +10 -0
  378. package/dist/types/vite/plugins/expose-ids/loader-transform.d.ts +8 -0
  379. package/dist/types/vite/plugins/expose-ids/router-transform.d.ts +13 -0
  380. package/dist/types/vite/plugins/expose-ids/types.d.ts +29 -0
  381. package/dist/types/vite/plugins/expose-internal-ids.d.ts +6 -0
  382. package/dist/types/vite/plugins/performance-tracks.d.ts +25 -0
  383. package/dist/types/vite/plugins/refresh-cmd.d.ts +20 -0
  384. package/dist/types/vite/plugins/use-cache-transform.d.ts +20 -0
  385. package/dist/types/vite/plugins/vercel-output.d.ts +85 -0
  386. package/dist/types/vite/plugins/version-injector.d.ts +21 -0
  387. package/dist/types/vite/plugins/version-plugin.d.ts +19 -0
  388. package/dist/types/vite/plugins/virtual-entries.d.ts +36 -0
  389. package/dist/types/vite/plugins/virtual-stub-plugin.d.ts +7 -0
  390. package/dist/types/vite/rango.d.ts +29 -0
  391. package/dist/types/vite/router-discovery.d.ts +23 -0
  392. package/dist/types/vite/utils/ast-handler-extract.d.ts +64 -0
  393. package/dist/types/vite/utils/banner.d.ts +2 -0
  394. package/dist/types/vite/utils/bundle-analysis.d.ts +28 -0
  395. package/dist/types/vite/utils/client-chunks.d.ts +55 -0
  396. package/dist/types/vite/utils/directive-prologue.d.ts +16 -0
  397. package/dist/types/vite/utils/forward-user-plugins.d.ts +37 -0
  398. package/dist/types/vite/utils/manifest-utils.d.ts +7 -0
  399. package/dist/types/vite/utils/package-resolution.d.ts +6 -0
  400. package/dist/types/vite/utils/prerender-utils.d.ts +32 -0
  401. package/dist/types/vite/utils/shared-utils.d.ts +55 -0
  402. package/dist/vite/index.js +1208 -431
  403. package/package.json +45 -34
  404. package/skills/caching/SKILL.md +1 -1
  405. package/skills/catalog.json +6 -0
  406. package/skills/cloudflare/SKILL.md +149 -0
  407. package/skills/cloudflare/agents/openai.yaml +4 -0
  408. package/skills/cloudflare/references/d1-and-local-dev.md +131 -0
  409. package/skills/cloudflare/references/streaming-and-deploy.md +107 -0
  410. package/skills/cloudflare/references/webhooks-and-crypto.md +147 -0
  411. package/skills/composability/SKILL.md +14 -0
  412. package/skills/debug-manifest/SKILL.md +2 -10
  413. package/skills/links/SKILL.md +12 -0
  414. package/skills/middleware/SKILL.md +33 -0
  415. package/skills/migrate-nextjs/SKILL.md +65 -16
  416. package/skills/migrate-nextjs/backend-host-swap.md +120 -0
  417. package/skills/migrate-react-router/SKILL.md +6 -6
  418. package/skills/mime-routes/SKILL.md +25 -17
  419. package/skills/ppr/SKILL.md +148 -19
  420. package/skills/prerender/SKILL.md +44 -1
  421. package/skills/rango/SKILL.md +10 -10
  422. package/skills/response-routes/SKILL.md +41 -4
  423. package/skills/route/SKILL.md +6 -0
  424. package/skills/testing/SKILL.md +1 -0
  425. package/skills/testing/cache-prerender.md +43 -2
  426. package/skills/testing/response-routes.md +2 -2
  427. package/src/browser/dev-discovery.ts +66 -0
  428. package/src/browser/event-controller.ts +16 -2
  429. package/src/browser/navigation-client.ts +6 -0
  430. package/src/browser/navigation-store.ts +4 -271
  431. package/src/browser/partial-update.ts +7 -14
  432. package/src/browser/prefetch/cache.ts +1 -1
  433. package/src/browser/prefetch/loader.ts +110 -0
  434. package/src/browser/prefetch/runtime.ts +7 -0
  435. package/src/browser/react/Link.tsx +7 -10
  436. package/src/browser/react/NavigationProvider.tsx +1 -1
  437. package/src/browser/react/use-router.ts +1 -1
  438. package/src/browser/rsc-router.tsx +15 -2
  439. package/src/browser/types.ts +4 -27
  440. package/src/build/generate-manifest.ts +16 -36
  441. package/src/build/route-trie.ts +5 -50
  442. package/src/cache/cache-key-utils.ts +0 -1
  443. package/src/cache/cache-scope.ts +54 -5
  444. package/src/cache/cf/cf-cache-store.ts +522 -89
  445. package/src/cache/cf/cf-cache-types.ts +66 -0
  446. package/src/cache/cf/cf-tag-marker-memo.ts +5 -2
  447. package/src/cache/cf/cf-zone-purge.ts +101 -0
  448. package/src/cache/cf/index.ts +5 -0
  449. package/src/cache/handle-snapshot.ts +22 -1
  450. package/src/cache/index.ts +2 -0
  451. package/src/cache/memory-segment-store.ts +44 -1
  452. package/src/cache/segment-codec.ts +47 -0
  453. package/src/cache/shell-snapshot.ts +124 -29
  454. package/src/cache/types.ts +57 -2
  455. package/src/cache/vercel/vercel-cache-store.ts +113 -14
  456. package/src/deps/ssr.ts +4 -1
  457. package/src/dev-discovery-protocol.ts +11 -0
  458. package/src/index.rsc.ts +7 -0
  459. package/src/index.ts +1 -0
  460. package/src/prerender/build-shell-capture.ts +453 -0
  461. package/src/prerender/shell-manifest-key.ts +20 -0
  462. package/src/prerender/store.ts +15 -1
  463. package/src/prerender.ts +3 -3
  464. package/src/redirect-origin.ts +37 -8
  465. package/src/route-definition/dsl-helpers.ts +7 -2
  466. package/src/route-map-builder.ts +61 -54
  467. package/src/router/content-negotiation.ts +47 -5
  468. package/src/router/handler-context.ts +31 -15
  469. package/src/router/intercept-resolution.ts +30 -1
  470. package/src/router/lazy-includes.ts +1 -0
  471. package/src/router/loader-resolution.ts +16 -0
  472. package/src/router/match-api.ts +14 -3
  473. package/src/router/match-middleware/cache-lookup.ts +12 -1
  474. package/src/router/metrics.ts +17 -2
  475. package/src/router/middleware-types.ts +17 -0
  476. package/src/router/middleware.ts +4 -0
  477. package/src/router/prerender-match.ts +47 -2
  478. package/src/router/router-interfaces.ts +11 -6
  479. package/src/router/router-options.ts +13 -8
  480. package/src/router/segment-resolution/fresh.ts +21 -2
  481. package/src/router/segment-resolution/helpers.ts +1 -1
  482. package/src/router/segment-resolution/loader-cache.ts +38 -7
  483. package/src/router/segment-resolution/mask-nested.ts +19 -3
  484. package/src/router/segment-resolution/revalidation.ts +9 -0
  485. package/src/router/segment-resolution/static-store.ts +36 -10
  486. package/src/router/telemetry-otel.ts +11 -0
  487. package/src/router/telemetry.ts +1 -0
  488. package/src/router/timeout.ts +41 -1
  489. package/src/router.ts +39 -7
  490. package/src/rsc/capture-queue.ts +67 -0
  491. package/src/rsc/handler-context.ts +1 -0
  492. package/src/rsc/handler.ts +153 -77
  493. package/src/rsc/helpers.ts +67 -4
  494. package/src/rsc/loader-fetch.ts +2 -2
  495. package/src/rsc/manifest-init.ts +4 -11
  496. package/src/rsc/progressive-enhancement.ts +66 -54
  497. package/src/rsc/redirect-guard.ts +3 -1
  498. package/src/rsc/render-pipeline.ts +567 -0
  499. package/src/rsc/response-cache-serve.ts +39 -18
  500. package/src/rsc/response-route-handler.ts +9 -45
  501. package/src/rsc/rsc-rendering.ts +455 -194
  502. package/src/rsc/server-action.ts +50 -42
  503. package/src/rsc/shell-build-manifest.ts +316 -0
  504. package/src/rsc/shell-capture-constants.ts +27 -0
  505. package/src/rsc/shell-capture.ts +622 -73
  506. package/src/rsc/shell-serve.ts +133 -3
  507. package/src/rsc/ssr-setup.ts +102 -23
  508. package/src/rsc/types.ts +2 -0
  509. package/src/segment-fragments.ts +124 -0
  510. package/src/server/context.ts +212 -8
  511. package/src/server/request-context.ts +322 -48
  512. package/src/server.ts +0 -2
  513. package/src/ssr/index.tsx +167 -32
  514. package/src/ssr/preinit-client-references.ts +106 -0
  515. package/src/ssr/ssr-root.tsx +35 -2
  516. package/src/testing/dispatch.ts +133 -67
  517. package/src/testing/e2e/index.ts +8 -0
  518. package/src/testing/index.ts +9 -1
  519. package/src/testing/internal/context.ts +9 -0
  520. package/src/testing/render-handler.ts +15 -1
  521. package/src/testing/run-middleware.ts +14 -0
  522. package/src/testing/shell-status.ts +100 -0
  523. package/src/types/handler-context.ts +13 -2
  524. package/src/types/route-entry.ts +3 -0
  525. package/src/urls/include-helper.ts +1 -0
  526. package/src/urls/path-helper-types.ts +1 -1
  527. package/src/urls/path-helper.ts +8 -4
  528. package/src/urls/pattern-types.ts +29 -0
  529. package/src/vite/discovery/bundle-postprocess.ts +10 -7
  530. package/src/vite/discovery/discover-routers.ts +39 -79
  531. package/src/vite/discovery/prerender-collection.ts +29 -2
  532. package/src/vite/discovery/shell-prerender-phase.ts +397 -0
  533. package/src/vite/discovery/state.ts +48 -4
  534. package/src/vite/discovery/virtual-module-codegen.ts +201 -62
  535. package/src/vite/index.ts +1 -0
  536. package/src/vite/plugin-types.ts +33 -0
  537. package/src/vite/plugins/version-injector.ts +0 -1
  538. package/src/vite/plugins/version-plugin.ts +8 -0
  539. package/src/vite/plugins/virtual-entries.ts +48 -5
  540. package/src/vite/rango.ts +42 -2
  541. package/src/vite/router-discovery.ts +564 -43
  542. package/src/vite/utils/manifest-utils.ts +1 -4
  543. package/src/vite/utils/package-resolution.ts +1 -0
  544. package/src/vite/utils/prerender-utils.ts +25 -6
  545. package/src/vite/utils/shared-utils.ts +11 -2
  546. package/dist/__internal.d.ts +0 -83
  547. package/dist/__internal.d.ts.map +0 -1
  548. package/dist/__internal.js +0 -19
  549. package/dist/__internal.js.map +0 -1
  550. package/dist/__mocks__/version.d.ts +0 -7
  551. package/dist/__mocks__/version.d.ts.map +0 -1
  552. package/dist/__mocks__/version.js +0 -7
  553. package/dist/__mocks__/version.js.map +0 -1
  554. package/dist/__tests__/client-href.test.d.ts +0 -2
  555. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  556. package/dist/__tests__/client-href.test.js +0 -74
  557. package/dist/__tests__/client-href.test.js.map +0 -1
  558. package/dist/__tests__/component-utils.test.d.ts +0 -2
  559. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  560. package/dist/__tests__/component-utils.test.js +0 -51
  561. package/dist/__tests__/component-utils.test.js.map +0 -1
  562. package/dist/__tests__/event-controller.test.d.ts +0 -2
  563. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  564. package/dist/__tests__/event-controller.test.js +0 -538
  565. package/dist/__tests__/event-controller.test.js.map +0 -1
  566. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  567. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  568. package/dist/__tests__/helpers/route-tree.js +0 -374
  569. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  570. package/dist/__tests__/match-result.test.d.ts +0 -2
  571. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  572. package/dist/__tests__/match-result.test.js +0 -154
  573. package/dist/__tests__/match-result.test.js.map +0 -1
  574. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  575. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  576. package/dist/__tests__/navigation-store.test.js +0 -440
  577. package/dist/__tests__/navigation-store.test.js.map +0 -1
  578. package/dist/__tests__/partial-update.test.d.ts +0 -2
  579. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  580. package/dist/__tests__/partial-update.test.js +0 -1009
  581. package/dist/__tests__/partial-update.test.js.map +0 -1
  582. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  583. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  584. package/dist/__tests__/reverse-types.test.js +0 -656
  585. package/dist/__tests__/reverse-types.test.js.map +0 -1
  586. package/dist/__tests__/route-definition.test.d.ts +0 -2
  587. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  588. package/dist/__tests__/route-definition.test.js +0 -55
  589. package/dist/__tests__/route-definition.test.js.map +0 -1
  590. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  591. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  592. package/dist/__tests__/router-helpers.test.js +0 -377
  593. package/dist/__tests__/router-helpers.test.js.map +0 -1
  594. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  595. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  596. package/dist/__tests__/router-integration-2.test.js +0 -426
  597. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  598. package/dist/__tests__/router-integration.test.d.ts +0 -2
  599. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  600. package/dist/__tests__/router-integration.test.js +0 -1051
  601. package/dist/__tests__/router-integration.test.js.map +0 -1
  602. package/dist/__tests__/search-params.test.d.ts +0 -5
  603. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  604. package/dist/__tests__/search-params.test.js +0 -306
  605. package/dist/__tests__/search-params.test.js.map +0 -1
  606. package/dist/__tests__/segment-system.test.d.ts +0 -2
  607. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  608. package/dist/__tests__/segment-system.test.js +0 -627
  609. package/dist/__tests__/segment-system.test.js.map +0 -1
  610. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  611. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  612. package/dist/__tests__/static-handler-types.test.js +0 -63
  613. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  614. package/dist/__tests__/urls.test.d.ts +0 -2
  615. package/dist/__tests__/urls.test.d.ts.map +0 -1
  616. package/dist/__tests__/urls.test.js +0 -421
  617. package/dist/__tests__/urls.test.js.map +0 -1
  618. package/dist/__tests__/use-mount.test.d.ts +0 -2
  619. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  620. package/dist/__tests__/use-mount.test.js +0 -35
  621. package/dist/__tests__/use-mount.test.js.map +0 -1
  622. package/dist/bin/rango.d.ts +0 -2
  623. package/dist/bin/rango.d.ts.map +0 -1
  624. package/dist/bin/rango.js.map +0 -1
  625. package/dist/browser/event-controller.d.ts +0 -191
  626. package/dist/browser/event-controller.d.ts.map +0 -1
  627. package/dist/browser/event-controller.js +0 -559
  628. package/dist/browser/event-controller.js.map +0 -1
  629. package/dist/browser/index.d.ts +0 -2
  630. package/dist/browser/index.d.ts.map +0 -1
  631. package/dist/browser/index.js +0 -14
  632. package/dist/browser/index.js.map +0 -1
  633. package/dist/browser/link-interceptor.d.ts +0 -38
  634. package/dist/browser/link-interceptor.d.ts.map +0 -1
  635. package/dist/browser/link-interceptor.js +0 -99
  636. package/dist/browser/link-interceptor.js.map +0 -1
  637. package/dist/browser/logging.d.ts +0 -10
  638. package/dist/browser/logging.d.ts.map +0 -1
  639. package/dist/browser/logging.js +0 -29
  640. package/dist/browser/logging.js.map +0 -1
  641. package/dist/browser/lru-cache.d.ts +0 -17
  642. package/dist/browser/lru-cache.d.ts.map +0 -1
  643. package/dist/browser/lru-cache.js +0 -50
  644. package/dist/browser/lru-cache.js.map +0 -1
  645. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  646. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  647. package/dist/browser/merge-segment-loaders.js +0 -102
  648. package/dist/browser/merge-segment-loaders.js.map +0 -1
  649. package/dist/browser/navigation-bridge.d.ts +0 -102
  650. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  651. package/dist/browser/navigation-bridge.js +0 -708
  652. package/dist/browser/navigation-bridge.js.map +0 -1
  653. package/dist/browser/navigation-client.d.ts +0 -25
  654. package/dist/browser/navigation-client.d.ts.map +0 -1
  655. package/dist/browser/navigation-client.js +0 -157
  656. package/dist/browser/navigation-client.js.map +0 -1
  657. package/dist/browser/navigation-store.d.ts +0 -101
  658. package/dist/browser/navigation-store.d.ts.map +0 -1
  659. package/dist/browser/navigation-store.js +0 -625
  660. package/dist/browser/navigation-store.js.map +0 -1
  661. package/dist/browser/partial-update.d.ts +0 -75
  662. package/dist/browser/partial-update.d.ts.map +0 -1
  663. package/dist/browser/partial-update.js +0 -426
  664. package/dist/browser/partial-update.js.map +0 -1
  665. package/dist/browser/react/Link.d.ts +0 -86
  666. package/dist/browser/react/Link.d.ts.map +0 -1
  667. package/dist/browser/react/Link.js +0 -128
  668. package/dist/browser/react/Link.js.map +0 -1
  669. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  670. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  671. package/dist/browser/react/NavigationProvider.js +0 -216
  672. package/dist/browser/react/NavigationProvider.js.map +0 -1
  673. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  674. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  675. package/dist/browser/react/ScrollRestoration.js +0 -57
  676. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  677. package/dist/browser/react/context.d.ts +0 -46
  678. package/dist/browser/react/context.d.ts.map +0 -1
  679. package/dist/browser/react/context.js +0 -10
  680. package/dist/browser/react/context.js.map +0 -1
  681. package/dist/browser/react/index.d.ts +0 -11
  682. package/dist/browser/react/index.d.ts.map +0 -1
  683. package/dist/browser/react/index.js +0 -22
  684. package/dist/browser/react/index.js.map +0 -1
  685. package/dist/browser/react/location-state-shared.d.ts +0 -63
  686. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  687. package/dist/browser/react/location-state-shared.js +0 -81
  688. package/dist/browser/react/location-state-shared.js.map +0 -1
  689. package/dist/browser/react/location-state.d.ts +0 -23
  690. package/dist/browser/react/location-state.d.ts.map +0 -1
  691. package/dist/browser/react/location-state.js +0 -29
  692. package/dist/browser/react/location-state.js.map +0 -1
  693. package/dist/browser/react/mount-context.d.ts +0 -24
  694. package/dist/browser/react/mount-context.d.ts.map +0 -1
  695. package/dist/browser/react/mount-context.js +0 -24
  696. package/dist/browser/react/mount-context.js.map +0 -1
  697. package/dist/browser/react/use-action.d.ts +0 -64
  698. package/dist/browser/react/use-action.d.ts.map +0 -1
  699. package/dist/browser/react/use-action.js +0 -134
  700. package/dist/browser/react/use-action.js.map +0 -1
  701. package/dist/browser/react/use-client-cache.d.ts +0 -41
  702. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  703. package/dist/browser/react/use-client-cache.js +0 -39
  704. package/dist/browser/react/use-client-cache.js.map +0 -1
  705. package/dist/browser/react/use-handle.d.ts +0 -31
  706. package/dist/browser/react/use-handle.d.ts.map +0 -1
  707. package/dist/browser/react/use-handle.js +0 -144
  708. package/dist/browser/react/use-handle.js.map +0 -1
  709. package/dist/browser/react/use-href.d.ts +0 -33
  710. package/dist/browser/react/use-href.d.ts.map +0 -1
  711. package/dist/browser/react/use-href.js +0 -39
  712. package/dist/browser/react/use-href.js.map +0 -1
  713. package/dist/browser/react/use-link-status.d.ts +0 -37
  714. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  715. package/dist/browser/react/use-link-status.js +0 -99
  716. package/dist/browser/react/use-link-status.js.map +0 -1
  717. package/dist/browser/react/use-mount.d.ts +0 -25
  718. package/dist/browser/react/use-mount.d.ts.map +0 -1
  719. package/dist/browser/react/use-mount.js +0 -30
  720. package/dist/browser/react/use-mount.js.map +0 -1
  721. package/dist/browser/react/use-navigation.d.ts +0 -27
  722. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  723. package/dist/browser/react/use-navigation.js +0 -87
  724. package/dist/browser/react/use-navigation.js.map +0 -1
  725. package/dist/browser/react/use-segments.d.ts +0 -38
  726. package/dist/browser/react/use-segments.d.ts.map +0 -1
  727. package/dist/browser/react/use-segments.js +0 -130
  728. package/dist/browser/react/use-segments.js.map +0 -1
  729. package/dist/browser/request-controller.d.ts +0 -26
  730. package/dist/browser/request-controller.d.ts.map +0 -1
  731. package/dist/browser/request-controller.js +0 -147
  732. package/dist/browser/request-controller.js.map +0 -1
  733. package/dist/browser/rsc-router.d.ts +0 -129
  734. package/dist/browser/rsc-router.d.ts.map +0 -1
  735. package/dist/browser/rsc-router.js +0 -195
  736. package/dist/browser/rsc-router.js.map +0 -1
  737. package/dist/browser/scroll-restoration.d.ts +0 -93
  738. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  739. package/dist/browser/scroll-restoration.js +0 -321
  740. package/dist/browser/scroll-restoration.js.map +0 -1
  741. package/dist/browser/segment-structure-assert.d.ts +0 -17
  742. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  743. package/dist/browser/segment-structure-assert.js +0 -59
  744. package/dist/browser/segment-structure-assert.js.map +0 -1
  745. package/dist/browser/server-action-bridge.d.ts +0 -26
  746. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  747. package/dist/browser/server-action-bridge.js +0 -668
  748. package/dist/browser/server-action-bridge.js.map +0 -1
  749. package/dist/browser/shallow.d.ts +0 -12
  750. package/dist/browser/shallow.d.ts.map +0 -1
  751. package/dist/browser/shallow.js +0 -34
  752. package/dist/browser/shallow.js.map +0 -1
  753. package/dist/browser/types.d.ts +0 -369
  754. package/dist/browser/types.d.ts.map +0 -1
  755. package/dist/browser/types.js +0 -2
  756. package/dist/browser/types.js.map +0 -1
  757. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  758. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  759. package/dist/build/__tests__/generate-cli.test.js +0 -237
  760. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  761. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  762. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  763. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  764. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  765. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  766. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  767. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  768. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  769. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  770. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  771. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  772. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  773. package/dist/build/generate-manifest.d.ts +0 -81
  774. package/dist/build/generate-manifest.d.ts.map +0 -1
  775. package/dist/build/generate-manifest.js +0 -276
  776. package/dist/build/generate-manifest.js.map +0 -1
  777. package/dist/build/generate-route-types.d.ts +0 -115
  778. package/dist/build/generate-route-types.d.ts.map +0 -1
  779. package/dist/build/generate-route-types.js +0 -740
  780. package/dist/build/generate-route-types.js.map +0 -1
  781. package/dist/build/index.d.ts +0 -21
  782. package/dist/build/index.d.ts.map +0 -1
  783. package/dist/build/index.js +0 -21
  784. package/dist/build/index.js.map +0 -1
  785. package/dist/build/route-trie.d.ts +0 -71
  786. package/dist/build/route-trie.d.ts.map +0 -1
  787. package/dist/build/route-trie.js +0 -175
  788. package/dist/build/route-trie.js.map +0 -1
  789. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  790. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  791. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  792. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  793. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  794. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  795. package/dist/cache/__tests__/document-cache.test.js +0 -345
  796. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  797. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  798. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  799. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  800. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  801. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  802. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  803. package/dist/cache/__tests__/memory-store.test.js +0 -367
  804. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  805. package/dist/cache/cache-scope.d.ts +0 -102
  806. package/dist/cache/cache-scope.d.ts.map +0 -1
  807. package/dist/cache/cache-scope.js +0 -440
  808. package/dist/cache/cache-scope.js.map +0 -1
  809. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  810. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  811. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  812. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  813. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  814. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  815. package/dist/cache/cf/cf-cache-store.js +0 -242
  816. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  817. package/dist/cache/cf/index.d.ts +0 -14
  818. package/dist/cache/cf/index.d.ts.map +0 -1
  819. package/dist/cache/cf/index.js +0 -17
  820. package/dist/cache/cf/index.js.map +0 -1
  821. package/dist/cache/document-cache.d.ts +0 -64
  822. package/dist/cache/document-cache.d.ts.map +0 -1
  823. package/dist/cache/document-cache.js +0 -228
  824. package/dist/cache/document-cache.js.map +0 -1
  825. package/dist/cache/index.d.ts +0 -19
  826. package/dist/cache/index.d.ts.map +0 -1
  827. package/dist/cache/index.js +0 -21
  828. package/dist/cache/index.js.map +0 -1
  829. package/dist/cache/memory-segment-store.d.ts +0 -110
  830. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  831. package/dist/cache/memory-segment-store.js +0 -117
  832. package/dist/cache/memory-segment-store.js.map +0 -1
  833. package/dist/cache/memory-store.d.ts +0 -41
  834. package/dist/cache/memory-store.d.ts.map +0 -1
  835. package/dist/cache/memory-store.js +0 -191
  836. package/dist/cache/memory-store.js.map +0 -1
  837. package/dist/cache/types.d.ts +0 -317
  838. package/dist/cache/types.d.ts.map +0 -1
  839. package/dist/cache/types.js +0 -12
  840. package/dist/cache/types.js.map +0 -1
  841. package/dist/client.d.ts +0 -248
  842. package/dist/client.d.ts.map +0 -1
  843. package/dist/client.js +0 -367
  844. package/dist/client.js.map +0 -1
  845. package/dist/client.rsc.d.ts +0 -26
  846. package/dist/client.rsc.d.ts.map +0 -1
  847. package/dist/client.rsc.js +0 -46
  848. package/dist/client.rsc.js.map +0 -1
  849. package/dist/component-utils.d.ts +0 -36
  850. package/dist/component-utils.d.ts.map +0 -1
  851. package/dist/component-utils.js +0 -61
  852. package/dist/component-utils.js.map +0 -1
  853. package/dist/components/DefaultDocument.d.ts +0 -13
  854. package/dist/components/DefaultDocument.d.ts.map +0 -1
  855. package/dist/components/DefaultDocument.js +0 -15
  856. package/dist/components/DefaultDocument.js.map +0 -1
  857. package/dist/debug.d.ts +0 -58
  858. package/dist/debug.d.ts.map +0 -1
  859. package/dist/debug.js +0 -157
  860. package/dist/debug.js.map +0 -1
  861. package/dist/default-error-boundary.d.ts +0 -11
  862. package/dist/default-error-boundary.d.ts.map +0 -1
  863. package/dist/default-error-boundary.js +0 -45
  864. package/dist/default-error-boundary.js.map +0 -1
  865. package/dist/deps/browser.d.ts +0 -2
  866. package/dist/deps/browser.d.ts.map +0 -1
  867. package/dist/deps/browser.js +0 -3
  868. package/dist/deps/browser.js.map +0 -1
  869. package/dist/deps/html-stream-client.d.ts +0 -2
  870. package/dist/deps/html-stream-client.d.ts.map +0 -1
  871. package/dist/deps/html-stream-client.js +0 -3
  872. package/dist/deps/html-stream-client.js.map +0 -1
  873. package/dist/deps/html-stream-server.d.ts +0 -2
  874. package/dist/deps/html-stream-server.d.ts.map +0 -1
  875. package/dist/deps/html-stream-server.js +0 -3
  876. package/dist/deps/html-stream-server.js.map +0 -1
  877. package/dist/deps/rsc.d.ts +0 -2
  878. package/dist/deps/rsc.d.ts.map +0 -1
  879. package/dist/deps/rsc.js +0 -4
  880. package/dist/deps/rsc.js.map +0 -1
  881. package/dist/deps/ssr.d.ts +0 -2
  882. package/dist/deps/ssr.d.ts.map +0 -1
  883. package/dist/deps/ssr.js +0 -3
  884. package/dist/deps/ssr.js.map +0 -1
  885. package/dist/errors.d.ts +0 -174
  886. package/dist/errors.d.ts.map +0 -1
  887. package/dist/errors.js +0 -241
  888. package/dist/errors.js.map +0 -1
  889. package/dist/handle.d.ts +0 -78
  890. package/dist/handle.d.ts.map +0 -1
  891. package/dist/handle.js +0 -82
  892. package/dist/handle.js.map +0 -1
  893. package/dist/handles/MetaTags.d.ts +0 -14
  894. package/dist/handles/MetaTags.d.ts.map +0 -1
  895. package/dist/handles/MetaTags.js +0 -136
  896. package/dist/handles/MetaTags.js.map +0 -1
  897. package/dist/handles/index.d.ts +0 -6
  898. package/dist/handles/index.d.ts.map +0 -1
  899. package/dist/handles/index.js +0 -6
  900. package/dist/handles/index.js.map +0 -1
  901. package/dist/handles/meta.d.ts +0 -39
  902. package/dist/handles/meta.d.ts.map +0 -1
  903. package/dist/handles/meta.js +0 -202
  904. package/dist/handles/meta.js.map +0 -1
  905. package/dist/host/__tests__/errors.test.d.ts +0 -2
  906. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  907. package/dist/host/__tests__/errors.test.js +0 -76
  908. package/dist/host/__tests__/errors.test.js.map +0 -1
  909. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  910. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  911. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  912. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  913. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  914. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  915. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  916. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  917. package/dist/host/__tests__/router.test.d.ts +0 -2
  918. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  919. package/dist/host/__tests__/router.test.js +0 -241
  920. package/dist/host/__tests__/router.test.js.map +0 -1
  921. package/dist/host/__tests__/testing.test.d.ts +0 -2
  922. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  923. package/dist/host/__tests__/testing.test.js +0 -64
  924. package/dist/host/__tests__/testing.test.js.map +0 -1
  925. package/dist/host/__tests__/utils.test.d.ts +0 -2
  926. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  927. package/dist/host/__tests__/utils.test.js +0 -29
  928. package/dist/host/__tests__/utils.test.js.map +0 -1
  929. package/dist/host/cookie-handler.d.ts +0 -34
  930. package/dist/host/cookie-handler.d.ts.map +0 -1
  931. package/dist/host/cookie-handler.js +0 -124
  932. package/dist/host/cookie-handler.js.map +0 -1
  933. package/dist/host/errors.d.ts +0 -56
  934. package/dist/host/errors.d.ts.map +0 -1
  935. package/dist/host/errors.js +0 -79
  936. package/dist/host/errors.js.map +0 -1
  937. package/dist/host/index.d.ts +0 -29
  938. package/dist/host/index.d.ts.map +0 -1
  939. package/dist/host/index.js +0 -32
  940. package/dist/host/index.js.map +0 -1
  941. package/dist/host/pattern-matcher.d.ts +0 -36
  942. package/dist/host/pattern-matcher.d.ts.map +0 -1
  943. package/dist/host/pattern-matcher.js +0 -172
  944. package/dist/host/pattern-matcher.js.map +0 -1
  945. package/dist/host/router.d.ts +0 -26
  946. package/dist/host/router.d.ts.map +0 -1
  947. package/dist/host/router.js +0 -218
  948. package/dist/host/router.js.map +0 -1
  949. package/dist/host/testing.d.ts +0 -36
  950. package/dist/host/testing.d.ts.map +0 -1
  951. package/dist/host/testing.js +0 -55
  952. package/dist/host/testing.js.map +0 -1
  953. package/dist/host/types.d.ts +0 -115
  954. package/dist/host/types.d.ts.map +0 -1
  955. package/dist/host/types.js +0 -7
  956. package/dist/host/types.js.map +0 -1
  957. package/dist/host/utils.d.ts +0 -21
  958. package/dist/host/utils.d.ts.map +0 -1
  959. package/dist/host/utils.js +0 -23
  960. package/dist/host/utils.js.map +0 -1
  961. package/dist/href-client.d.ts +0 -131
  962. package/dist/href-client.d.ts.map +0 -1
  963. package/dist/href-client.js +0 -64
  964. package/dist/href-client.js.map +0 -1
  965. package/dist/href-context.d.ts +0 -29
  966. package/dist/href-context.d.ts.map +0 -1
  967. package/dist/href-context.js +0 -21
  968. package/dist/href-context.js.map +0 -1
  969. package/dist/index.d.ts +0 -73
  970. package/dist/index.d.ts.map +0 -1
  971. package/dist/index.js +0 -91
  972. package/dist/index.js.map +0 -1
  973. package/dist/index.rsc.d.ts +0 -32
  974. package/dist/index.rsc.d.ts.map +0 -1
  975. package/dist/index.rsc.js +0 -40
  976. package/dist/index.rsc.js.map +0 -1
  977. package/dist/internal-debug.d.ts +0 -2
  978. package/dist/internal-debug.d.ts.map +0 -1
  979. package/dist/internal-debug.js +0 -5
  980. package/dist/internal-debug.js.map +0 -1
  981. package/dist/loader.d.ts +0 -14
  982. package/dist/loader.d.ts.map +0 -1
  983. package/dist/loader.js +0 -20
  984. package/dist/loader.js.map +0 -1
  985. package/dist/loader.rsc.d.ts +0 -19
  986. package/dist/loader.rsc.d.ts.map +0 -1
  987. package/dist/loader.rsc.js +0 -99
  988. package/dist/loader.rsc.js.map +0 -1
  989. package/dist/network-error-thrower.d.ts +0 -17
  990. package/dist/network-error-thrower.d.ts.map +0 -1
  991. package/dist/network-error-thrower.js +0 -14
  992. package/dist/network-error-thrower.js.map +0 -1
  993. package/dist/outlet-context.d.ts +0 -13
  994. package/dist/outlet-context.d.ts.map +0 -1
  995. package/dist/outlet-context.js +0 -3
  996. package/dist/outlet-context.js.map +0 -1
  997. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  998. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  999. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  1000. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  1001. package/dist/prerender/param-hash.d.ts +0 -16
  1002. package/dist/prerender/param-hash.d.ts.map +0 -1
  1003. package/dist/prerender/param-hash.js +0 -36
  1004. package/dist/prerender/param-hash.js.map +0 -1
  1005. package/dist/prerender/store.d.ts +0 -38
  1006. package/dist/prerender/store.d.ts.map +0 -1
  1007. package/dist/prerender/store.js +0 -61
  1008. package/dist/prerender/store.js.map +0 -1
  1009. package/dist/prerender.d.ts +0 -66
  1010. package/dist/prerender.d.ts.map +0 -1
  1011. package/dist/prerender.js +0 -57
  1012. package/dist/prerender.js.map +0 -1
  1013. package/dist/reverse.d.ts +0 -196
  1014. package/dist/reverse.d.ts.map +0 -1
  1015. package/dist/reverse.js +0 -78
  1016. package/dist/reverse.js.map +0 -1
  1017. package/dist/root-error-boundary.d.ts +0 -33
  1018. package/dist/root-error-boundary.d.ts.map +0 -1
  1019. package/dist/root-error-boundary.js +0 -165
  1020. package/dist/root-error-boundary.js.map +0 -1
  1021. package/dist/route-content-wrapper.d.ts +0 -46
  1022. package/dist/route-content-wrapper.d.ts.map +0 -1
  1023. package/dist/route-content-wrapper.js +0 -77
  1024. package/dist/route-content-wrapper.js.map +0 -1
  1025. package/dist/route-definition.d.ts +0 -421
  1026. package/dist/route-definition.d.ts.map +0 -1
  1027. package/dist/route-definition.js +0 -868
  1028. package/dist/route-definition.js.map +0 -1
  1029. package/dist/route-map-builder.d.ts +0 -155
  1030. package/dist/route-map-builder.d.ts.map +0 -1
  1031. package/dist/route-map-builder.js +0 -237
  1032. package/dist/route-map-builder.js.map +0 -1
  1033. package/dist/route-types.d.ts +0 -165
  1034. package/dist/route-types.d.ts.map +0 -1
  1035. package/dist/route-types.js +0 -7
  1036. package/dist/route-types.js.map +0 -1
  1037. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  1038. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  1039. package/dist/router/__tests__/handler-context.test.js +0 -65
  1040. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  1041. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  1042. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  1043. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  1044. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  1045. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  1046. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  1047. package/dist/router/__tests__/match-context.test.js +0 -92
  1048. package/dist/router/__tests__/match-context.test.js.map +0 -1
  1049. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  1050. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  1051. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  1052. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  1053. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  1054. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  1055. package/dist/router/__tests__/match-result.test.js +0 -457
  1056. package/dist/router/__tests__/match-result.test.js.map +0 -1
  1057. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  1058. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  1059. package/dist/router/__tests__/on-error.test.js +0 -678
  1060. package/dist/router/__tests__/on-error.test.js.map +0 -1
  1061. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  1062. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  1063. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  1064. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  1065. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  1066. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  1067. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  1068. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  1069. package/dist/router/error-handling.d.ts +0 -77
  1070. package/dist/router/error-handling.d.ts.map +0 -1
  1071. package/dist/router/error-handling.js +0 -202
  1072. package/dist/router/error-handling.js.map +0 -1
  1073. package/dist/router/handler-context.d.ts +0 -20
  1074. package/dist/router/handler-context.d.ts.map +0 -1
  1075. package/dist/router/handler-context.js +0 -198
  1076. package/dist/router/handler-context.js.map +0 -1
  1077. package/dist/router/intercept-resolution.d.ts +0 -66
  1078. package/dist/router/intercept-resolution.d.ts.map +0 -1
  1079. package/dist/router/intercept-resolution.js +0 -246
  1080. package/dist/router/intercept-resolution.js.map +0 -1
  1081. package/dist/router/loader-resolution.d.ts +0 -64
  1082. package/dist/router/loader-resolution.d.ts.map +0 -1
  1083. package/dist/router/loader-resolution.js +0 -284
  1084. package/dist/router/loader-resolution.js.map +0 -1
  1085. package/dist/router/logging.d.ts +0 -15
  1086. package/dist/router/logging.d.ts.map +0 -1
  1087. package/dist/router/logging.js +0 -99
  1088. package/dist/router/logging.js.map +0 -1
  1089. package/dist/router/manifest.d.ts +0 -22
  1090. package/dist/router/manifest.d.ts.map +0 -1
  1091. package/dist/router/manifest.js +0 -181
  1092. package/dist/router/manifest.js.map +0 -1
  1093. package/dist/router/match-api.d.ts +0 -35
  1094. package/dist/router/match-api.d.ts.map +0 -1
  1095. package/dist/router/match-api.js +0 -406
  1096. package/dist/router/match-api.js.map +0 -1
  1097. package/dist/router/match-context.d.ts +0 -206
  1098. package/dist/router/match-context.d.ts.map +0 -1
  1099. package/dist/router/match-context.js +0 -17
  1100. package/dist/router/match-context.js.map +0 -1
  1101. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  1102. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  1103. package/dist/router/match-middleware/background-revalidation.js +0 -75
  1104. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  1105. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  1106. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  1107. package/dist/router/match-middleware/cache-lookup.js +0 -257
  1108. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  1109. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  1110. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  1111. package/dist/router/match-middleware/cache-store.js +0 -108
  1112. package/dist/router/match-middleware/cache-store.js.map +0 -1
  1113. package/dist/router/match-middleware/index.d.ts +0 -81
  1114. package/dist/router/match-middleware/index.d.ts.map +0 -1
  1115. package/dist/router/match-middleware/index.js +0 -80
  1116. package/dist/router/match-middleware/index.js.map +0 -1
  1117. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  1118. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  1119. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  1120. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  1121. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  1122. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  1123. package/dist/router/match-middleware/segment-resolution.js +0 -53
  1124. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  1125. package/dist/router/match-pipelines.d.ts +0 -147
  1126. package/dist/router/match-pipelines.d.ts.map +0 -1
  1127. package/dist/router/match-pipelines.js +0 -82
  1128. package/dist/router/match-pipelines.js.map +0 -1
  1129. package/dist/router/match-result.d.ts +0 -126
  1130. package/dist/router/match-result.d.ts.map +0 -1
  1131. package/dist/router/match-result.js +0 -93
  1132. package/dist/router/match-result.js.map +0 -1
  1133. package/dist/router/metrics.d.ts +0 -20
  1134. package/dist/router/metrics.d.ts.map +0 -1
  1135. package/dist/router/metrics.js +0 -47
  1136. package/dist/router/metrics.js.map +0 -1
  1137. package/dist/router/middleware.d.ts +0 -249
  1138. package/dist/router/middleware.d.ts.map +0 -1
  1139. package/dist/router/middleware.js +0 -434
  1140. package/dist/router/middleware.js.map +0 -1
  1141. package/dist/router/middleware.test.d.ts +0 -2
  1142. package/dist/router/middleware.test.d.ts.map +0 -1
  1143. package/dist/router/middleware.test.js +0 -816
  1144. package/dist/router/middleware.test.js.map +0 -1
  1145. package/dist/router/pattern-matching.d.ts +0 -149
  1146. package/dist/router/pattern-matching.d.ts.map +0 -1
  1147. package/dist/router/pattern-matching.js +0 -349
  1148. package/dist/router/pattern-matching.js.map +0 -1
  1149. package/dist/router/revalidation.d.ts +0 -44
  1150. package/dist/router/revalidation.d.ts.map +0 -1
  1151. package/dist/router/revalidation.js +0 -147
  1152. package/dist/router/revalidation.js.map +0 -1
  1153. package/dist/router/router-context.d.ts +0 -135
  1154. package/dist/router/router-context.d.ts.map +0 -1
  1155. package/dist/router/router-context.js +0 -36
  1156. package/dist/router/router-context.js.map +0 -1
  1157. package/dist/router/segment-resolution.d.ts +0 -127
  1158. package/dist/router/segment-resolution.d.ts.map +0 -1
  1159. package/dist/router/segment-resolution.js +0 -919
  1160. package/dist/router/segment-resolution.js.map +0 -1
  1161. package/dist/router/trie-matching.d.ts +0 -40
  1162. package/dist/router/trie-matching.d.ts.map +0 -1
  1163. package/dist/router/trie-matching.js +0 -127
  1164. package/dist/router/trie-matching.js.map +0 -1
  1165. package/dist/router/types.d.ts +0 -136
  1166. package/dist/router/types.d.ts.map +0 -1
  1167. package/dist/router/types.js +0 -7
  1168. package/dist/router/types.js.map +0 -1
  1169. package/dist/router.d.ts +0 -753
  1170. package/dist/router.d.ts.map +0 -1
  1171. package/dist/router.gen.d.ts +0 -6
  1172. package/dist/router.gen.d.ts.map +0 -1
  1173. package/dist/router.gen.js +0 -6
  1174. package/dist/router.gen.js.map +0 -1
  1175. package/dist/router.js +0 -1304
  1176. package/dist/router.js.map +0 -1
  1177. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  1178. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  1179. package/dist/rsc/__tests__/helpers.test.js +0 -140
  1180. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  1181. package/dist/rsc/handler.d.ts +0 -45
  1182. package/dist/rsc/handler.d.ts.map +0 -1
  1183. package/dist/rsc/handler.js +0 -1172
  1184. package/dist/rsc/handler.js.map +0 -1
  1185. package/dist/rsc/helpers.d.ts +0 -16
  1186. package/dist/rsc/helpers.d.ts.map +0 -1
  1187. package/dist/rsc/helpers.js +0 -55
  1188. package/dist/rsc/helpers.js.map +0 -1
  1189. package/dist/rsc/index.d.ts +0 -22
  1190. package/dist/rsc/index.d.ts.map +0 -1
  1191. package/dist/rsc/index.js +0 -23
  1192. package/dist/rsc/index.js.map +0 -1
  1193. package/dist/rsc/nonce.d.ts +0 -9
  1194. package/dist/rsc/nonce.d.ts.map +0 -1
  1195. package/dist/rsc/nonce.js +0 -18
  1196. package/dist/rsc/nonce.js.map +0 -1
  1197. package/dist/rsc/types.d.ts +0 -206
  1198. package/dist/rsc/types.d.ts.map +0 -1
  1199. package/dist/rsc/types.js +0 -8
  1200. package/dist/rsc/types.js.map +0 -1
  1201. package/dist/search-params.d.ts +0 -103
  1202. package/dist/search-params.d.ts.map +0 -1
  1203. package/dist/search-params.js +0 -74
  1204. package/dist/search-params.js.map +0 -1
  1205. package/dist/segment-system.d.ts +0 -75
  1206. package/dist/segment-system.d.ts.map +0 -1
  1207. package/dist/segment-system.js +0 -336
  1208. package/dist/segment-system.js.map +0 -1
  1209. package/dist/server/context.d.ts +0 -245
  1210. package/dist/server/context.d.ts.map +0 -1
  1211. package/dist/server/context.js +0 -197
  1212. package/dist/server/context.js.map +0 -1
  1213. package/dist/server/fetchable-loader-store.d.ts +0 -18
  1214. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  1215. package/dist/server/fetchable-loader-store.js +0 -18
  1216. package/dist/server/fetchable-loader-store.js.map +0 -1
  1217. package/dist/server/handle-store.d.ts +0 -85
  1218. package/dist/server/handle-store.d.ts.map +0 -1
  1219. package/dist/server/handle-store.js +0 -142
  1220. package/dist/server/handle-store.js.map +0 -1
  1221. package/dist/server/loader-registry.d.ts +0 -55
  1222. package/dist/server/loader-registry.d.ts.map +0 -1
  1223. package/dist/server/loader-registry.js +0 -132
  1224. package/dist/server/loader-registry.js.map +0 -1
  1225. package/dist/server/request-context.d.ts +0 -226
  1226. package/dist/server/request-context.d.ts.map +0 -1
  1227. package/dist/server/request-context.js +0 -290
  1228. package/dist/server/request-context.js.map +0 -1
  1229. package/dist/server/root-layout.d.ts +0 -4
  1230. package/dist/server/root-layout.d.ts.map +0 -1
  1231. package/dist/server/root-layout.js +0 -5
  1232. package/dist/server/root-layout.js.map +0 -1
  1233. package/dist/server.d.ts +0 -15
  1234. package/dist/server.d.ts.map +0 -1
  1235. package/dist/server.js +0 -20
  1236. package/dist/server.js.map +0 -1
  1237. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  1238. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  1239. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  1240. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  1241. package/dist/ssr/index.d.ts +0 -98
  1242. package/dist/ssr/index.d.ts.map +0 -1
  1243. package/dist/ssr/index.js +0 -158
  1244. package/dist/ssr/index.js.map +0 -1
  1245. package/dist/static-handler.d.ts +0 -50
  1246. package/dist/static-handler.d.ts.map +0 -1
  1247. package/dist/static-handler.gen.d.ts +0 -5
  1248. package/dist/static-handler.gen.d.ts.map +0 -1
  1249. package/dist/static-handler.gen.js +0 -5
  1250. package/dist/static-handler.gen.js.map +0 -1
  1251. package/dist/static-handler.js +0 -29
  1252. package/dist/static-handler.js.map +0 -1
  1253. package/dist/theme/ThemeProvider.d.ts +0 -20
  1254. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  1255. package/dist/theme/ThemeProvider.js +0 -240
  1256. package/dist/theme/ThemeProvider.js.map +0 -1
  1257. package/dist/theme/ThemeScript.d.ts +0 -48
  1258. package/dist/theme/ThemeScript.d.ts.map +0 -1
  1259. package/dist/theme/ThemeScript.js +0 -13
  1260. package/dist/theme/ThemeScript.js.map +0 -1
  1261. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  1262. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  1263. package/dist/theme/__tests__/theme.test.js +0 -103
  1264. package/dist/theme/__tests__/theme.test.js.map +0 -1
  1265. package/dist/theme/constants.d.ts +0 -29
  1266. package/dist/theme/constants.d.ts.map +0 -1
  1267. package/dist/theme/constants.js +0 -48
  1268. package/dist/theme/constants.js.map +0 -1
  1269. package/dist/theme/index.d.ts +0 -31
  1270. package/dist/theme/index.d.ts.map +0 -1
  1271. package/dist/theme/index.js +0 -36
  1272. package/dist/theme/index.js.map +0 -1
  1273. package/dist/theme/theme-context.d.ts +0 -40
  1274. package/dist/theme/theme-context.d.ts.map +0 -1
  1275. package/dist/theme/theme-context.js +0 -60
  1276. package/dist/theme/theme-context.js.map +0 -1
  1277. package/dist/theme/theme-script.d.ts +0 -27
  1278. package/dist/theme/theme-script.d.ts.map +0 -1
  1279. package/dist/theme/theme-script.js +0 -147
  1280. package/dist/theme/theme-script.js.map +0 -1
  1281. package/dist/theme/types.d.ts +0 -163
  1282. package/dist/theme/types.d.ts.map +0 -1
  1283. package/dist/theme/types.js +0 -11
  1284. package/dist/theme/types.js.map +0 -1
  1285. package/dist/theme/use-theme.d.ts +0 -12
  1286. package/dist/theme/use-theme.d.ts.map +0 -1
  1287. package/dist/theme/use-theme.js +0 -40
  1288. package/dist/theme/use-theme.js.map +0 -1
  1289. package/dist/types.d.ts +0 -1479
  1290. package/dist/types.d.ts.map +0 -1
  1291. package/dist/types.js +0 -10
  1292. package/dist/types.js.map +0 -1
  1293. package/dist/urls.d.ts +0 -441
  1294. package/dist/urls.d.ts.map +0 -1
  1295. package/dist/urls.gen.d.ts +0 -8
  1296. package/dist/urls.gen.d.ts.map +0 -1
  1297. package/dist/urls.gen.js +0 -8
  1298. package/dist/urls.gen.js.map +0 -1
  1299. package/dist/urls.js +0 -443
  1300. package/dist/urls.js.map +0 -1
  1301. package/dist/use-loader.d.ts +0 -127
  1302. package/dist/use-loader.d.ts.map +0 -1
  1303. package/dist/use-loader.js +0 -237
  1304. package/dist/use-loader.js.map +0 -1
  1305. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  1306. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  1307. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  1308. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  1309. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  1310. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  1311. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  1312. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  1313. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  1314. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  1315. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  1316. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  1317. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  1318. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  1319. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  1320. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  1321. package/dist/vite/ast-handler-extract.d.ts +0 -49
  1322. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  1323. package/dist/vite/ast-handler-extract.js +0 -249
  1324. package/dist/vite/ast-handler-extract.js.map +0 -1
  1325. package/dist/vite/expose-action-id.d.ts +0 -19
  1326. package/dist/vite/expose-action-id.d.ts.map +0 -1
  1327. package/dist/vite/expose-action-id.js +0 -250
  1328. package/dist/vite/expose-action-id.js.map +0 -1
  1329. package/dist/vite/expose-id-utils.d.ts +0 -69
  1330. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  1331. package/dist/vite/expose-id-utils.js +0 -289
  1332. package/dist/vite/expose-id-utils.js.map +0 -1
  1333. package/dist/vite/expose-internal-ids.d.ts +0 -22
  1334. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  1335. package/dist/vite/expose-internal-ids.js +0 -886
  1336. package/dist/vite/expose-internal-ids.js.map +0 -1
  1337. package/dist/vite/index.d.ts +0 -149
  1338. package/dist/vite/index.d.ts.map +0 -1
  1339. package/dist/vite/index.js.bak +0 -5448
  1340. package/dist/vite/index.js.map +0 -1
  1341. package/dist/vite/index.named-routes.gen.ts +0 -103
  1342. package/dist/vite/package-resolution.d.ts +0 -43
  1343. package/dist/vite/package-resolution.d.ts.map +0 -1
  1344. package/dist/vite/package-resolution.js +0 -112
  1345. package/dist/vite/package-resolution.js.map +0 -1
  1346. package/dist/vite/virtual-entries.d.ts +0 -25
  1347. package/dist/vite/virtual-entries.d.ts.map +0 -1
  1348. package/dist/vite/virtual-entries.js +0 -110
  1349. package/dist/vite/virtual-entries.js.map +0 -1
  1350. package/skills/migrate-react-router/cloudflare-workers.md +0 -129
@@ -17,7 +17,7 @@
17
17
  */
18
18
 
19
19
  import React from "react";
20
- import type { EntryData } from "../server/context.js";
20
+ import { isPprEntry, type EntryData } from "../server/context.js";
21
21
  import { sortedSearchString } from "../cache/cache-key-utils.js";
22
22
  import type { ShellCacheEntry, SegmentCacheStore } from "../cache/types.js";
23
23
 
@@ -30,11 +30,47 @@ export const SHELL_STATUS_HEADER = "x-rango-shell";
30
30
  */
31
31
  export const DEFAULT_PPR_TTL_SECONDS = 300;
32
32
 
33
+ /**
34
+ * Timeout for the dev /__rsc_shell endpoint's sequential /__rsc_prerender
35
+ * pre-flight probe (vite/router-discovery.ts). Hoisted here so the client-side
36
+ * fetch bound (shell-build-manifest.ts devShellFetchTimeoutMs) enumerates the
37
+ * SAME term of the endpoint's worst-case envelope — the two cannot drift.
38
+ */
39
+ export const DEV_SHELL_PROBE_TIMEOUT_MS: number = 10_000;
40
+
33
41
  /** The route's ppr option normalized to a concrete policy. */
34
42
  export interface ResolvedPprConfig {
35
43
  ttl: number;
36
44
  swr?: number;
37
45
  tags?: string[];
46
+ /**
47
+ * Snapshot size cap, passed through undefaulted (like swr/tags): the single
48
+ * defaulting site is captureAndStoreShell (DEFAULT_PPR_MAX_SNAPSHOT_BYTES in
49
+ * shell-capture.ts), so direct descriptor callers and resolved configs
50
+ * cannot drift.
51
+ */
52
+ maxSnapshotBytes?: number;
53
+ /**
54
+ * Capture settle budget in ms (`ppr.captureTimeout`). Undefined = the
55
+ * capture default (SHELL_CAPTURE_MAX_WAIT_MS, 15_000) — the default's single
56
+ * owner stays shell-capture.ts so build/runtime producers cannot drift.
57
+ */
58
+ captureTimeout?: number;
59
+ }
60
+
61
+ /**
62
+ * Validate the raw `ppr.captureTimeout` option: a finite number >= 1ms passes
63
+ * through; anything else (including 0/negative/NaN/Infinity/non-number)
64
+ * resolves to undefined, which means "use the capture default" downstream.
65
+ * Mirrors the prefetch-limit option policy: invalid values silently fall back
66
+ * to the default rather than throwing at request time. Also the boundary
67
+ * re-normalizer for the dev /__rsc_shell endpoint (vite/router-discovery.ts),
68
+ * whose param crossed an HTTP query string.
69
+ */
70
+ export function normalizeCaptureTimeout(value: unknown): number | undefined {
71
+ return typeof value === "number" && Number.isFinite(value) && value >= 1
72
+ ? value
73
+ : undefined;
38
74
  }
39
75
 
40
76
  /**
@@ -42,20 +78,29 @@ export interface ResolvedPprConfig {
42
78
  * route does not declare `ppr` (or declares `ppr: false`) — the caller then does
43
79
  * NOTHING: no store read, no capture, no logs. Pure axis 1, zero cost.
44
80
  *
81
+ * The route's NAME is irrelevant here (and everywhere on the shell lane):
82
+ * nameless `path()` routes register their EntryData under a synthesized
83
+ * `$path_*` manifest key with the `ppr` option intact (urls/path-helper.ts),
84
+ * so a nameless entry resolves exactly like a named one — pinned by the
85
+ * nameless-ppr e2e in both apps (issue #714).
86
+ *
45
87
  * PPR is a DOCUMENT-level property of the page route; there is no subtree
46
88
  * inheritance (declaring it on a layout is not supported — a follow-up).
47
89
  */
48
90
  export function resolvePprConfig(
49
91
  entry: EntryData | undefined | null,
50
92
  ): ResolvedPprConfig | null {
51
- if (!entry || entry.type !== "route") return null;
93
+ // isPprEntry (server/context.ts) is the ONE opt-in predicate — shared with
94
+ // the header-write latch so serve and guard can never drift.
95
+ if (!entry || !isPprEntry(entry)) return null;
52
96
  const ppr = entry.ppr;
53
- if (ppr === undefined || ppr === false) return null;
54
97
  if (ppr === true) return { ttl: DEFAULT_PPR_TTL_SECONDS };
55
98
  return {
56
99
  ttl: ppr.ttl ?? DEFAULT_PPR_TTL_SECONDS,
57
100
  swr: ppr.swr,
58
101
  tags: ppr.tags,
102
+ maxSnapshotBytes: ppr.maxSnapshotBytes,
103
+ captureTimeout: normalizeCaptureTimeout(ppr.captureTimeout),
59
104
  };
60
105
  }
61
106
 
@@ -133,6 +178,91 @@ export function hasShellFamily(
133
178
  return !!store?.getShell && !!store?.putShell;
134
179
  }
135
180
 
181
+ /**
182
+ * Per-stage timing of one shell-HIT tail, all offsets in ms from the response
183
+ * commit (prelude flush). The HIT commits its 200 + headers BEFORE the live
184
+ * tail runs, so Server-Timing on the HIT response structurally cannot carry
185
+ * these numbers — they ride the dev mirror below instead (same doctrine as
186
+ * the ppr:capture mirror in rsc-rendering.ts, issue #651).
187
+ */
188
+ export interface ShellTailTiming {
189
+ key: string;
190
+ outcome: "complete" | "redirect" | "error";
191
+ /** Loader-family seed decode (only when the entry carried a snapshot). */
192
+ seedMs?: number;
193
+ /** Tail router.match() settled. */
194
+ matchMs?: number;
195
+ /** Tail stream (resume output) handed to the response stream. */
196
+ handoverMs?: number;
197
+ /** First resumed-HTML byte enqueued on the wire. */
198
+ firstHtmlMs?: number;
199
+ /** Tail fully drained (last hole settled and flushed). */
200
+ completeMs?: number;
201
+ /** Prelude size flushed at commit (decoded bytes). */
202
+ preludeBytes?: number;
203
+ /** Total tail bytes streamed behind the prelude. */
204
+ tailBytes?: number;
205
+ }
206
+
207
+ /**
208
+ * Compact single-line form for the console log and the dev Server-Timing
209
+ * mirror's `desc`. Plain alphanumerics/`=`/`-` only — no quoted-string
210
+ * escaping needed.
211
+ */
212
+ export function describeShellTailTiming(timing: ShellTailTiming): string {
213
+ const parts: string[] = [timing.outcome];
214
+ if (timing.seedMs !== undefined) parts.push(`seed=${timing.seedMs}ms`);
215
+ if (timing.matchMs !== undefined) parts.push(`match=${timing.matchMs}ms`);
216
+ if (timing.handoverMs !== undefined) {
217
+ parts.push(`handover=${timing.handoverMs}ms`);
218
+ }
219
+ if (timing.firstHtmlMs !== undefined) {
220
+ parts.push(`first-html=${timing.firstHtmlMs}ms`);
221
+ }
222
+ if (timing.completeMs !== undefined) {
223
+ parts.push(`complete=${timing.completeMs}ms`);
224
+ }
225
+ if (timing.preludeBytes !== undefined) {
226
+ parts.push(`prelude=${timing.preludeBytes}b`);
227
+ }
228
+ if (timing.tailBytes !== undefined) parts.push(`tail=${timing.tailBytes}b`);
229
+ return parts.join(" ");
230
+ }
231
+
232
+ /**
233
+ * Dev-only last-tail-per-key buffer backing the `ppr:tail` Server-Timing
234
+ * mirror: a HIT's tail finishes after its own headers are long gone, so its
235
+ * per-stage numbers ride the NEXT ppr GET for the key when the metrics
236
+ * surface is active (debugPerformance). Same shape and FIFO cap as the
237
+ * capture mirror (shell-capture.ts lastCaptureEventsForTiming); dev-only so
238
+ * production isolates never grow the map.
239
+ */
240
+ const lastTailTimingsForServerTiming = new Map<string, ShellTailTiming>();
241
+ const MAX_TAIL_TIMING_KEYS = 100;
242
+
243
+ /** Buffer one terminal tail timing for the dev Server-Timing mirror. */
244
+ export function publishShellTailTiming(timing: ShellTailTiming): void {
245
+ if (process.env.NODE_ENV === "production") return;
246
+ lastTailTimingsForServerTiming.delete(timing.key);
247
+ if (lastTailTimingsForServerTiming.size >= MAX_TAIL_TIMING_KEYS) {
248
+ const oldest = lastTailTimingsForServerTiming.keys().next().value;
249
+ if (oldest !== undefined) lastTailTimingsForServerTiming.delete(oldest);
250
+ }
251
+ lastTailTimingsForServerTiming.set(timing.key, timing);
252
+ }
253
+
254
+ /**
255
+ * Consume (read-and-clear) the buffered tail timing for `key`, so one tail
256
+ * reports into exactly one later response's Server-Timing.
257
+ */
258
+ export function takeShellTailTimingForServerTiming(
259
+ key: string,
260
+ ): ShellTailTiming | undefined {
261
+ const timing = lastTailTimingsForServerTiming.get(key);
262
+ if (timing) lastTailTimingsForServerTiming.delete(key);
263
+ return timing;
264
+ }
265
+
136
266
  /** Keys already warned about a missing shell store family (once per key). */
137
267
  const warnedMissingStore = new Set<string>();
138
268
 
@@ -7,10 +7,19 @@
7
7
  */
8
8
 
9
9
  import type { HandlerContext } from "./handler-context.js";
10
- import type { SSRModule } from "./types.js";
10
+ import type { SSRModule, SSRRenderOptions } from "./types.js";
11
11
  import type { SSRStreamMode } from "../router/router-options.js";
12
12
  import type { MetricsStore } from "../server/context.js";
13
+ import type {
14
+ RscFlightStage,
15
+ RscPreparedHtmlRender,
16
+ } from "./render-pipeline.js";
13
17
  import { appendMetric } from "../router/metrics.js";
18
+ import {
19
+ parseAcceptTypes,
20
+ prefersFlightRepresentation,
21
+ RSC_WIRE_MIME,
22
+ } from "../router/content-negotiation.js";
14
23
  import { _getRequestContext } from "../server/request-context.js";
15
24
 
16
25
  export type SSRSetup = readonly [SSRModule, SSRStreamMode];
@@ -65,6 +74,49 @@ export function startSSRSetup<TEnv>(
65
74
  ]);
66
75
  }
67
76
 
77
+ export interface SsrHtmlStageOptions<TEnv> {
78
+ ctx: HandlerContext<TEnv>;
79
+ request: Request;
80
+ env: TEnv;
81
+ url: URL;
82
+ /** Metrics store for ssr:module-load / ssr:stream-mode timing (per call site). */
83
+ metricsStore: MetricsStore | undefined;
84
+ /**
85
+ * renderHTML options minus streamMode (the stage resolves streamMode). Carries
86
+ * the per-site nonce and, for the PE action re-render, formState. Spread
87
+ * verbatim so each call site's exact key set is preserved.
88
+ */
89
+ render: Omit<SSRRenderOptions, "streamMode">;
90
+ /** ResponseInit merged into the prepared render (e.g. content-type). */
91
+ init?: ResponseInit;
92
+ }
93
+
94
+ /**
95
+ * Build the `html` stage callback renderRscResponse drives: await the (possibly
96
+ * early-kicked-off) SSR setup, then renderHTML over the Flight stream. The four
97
+ * render paths (rsc-rendering full/partial, 404, PE, PE-error) differ only in
98
+ * metricsStore, render options (nonce/formState), and init — threaded here so
99
+ * the getSSRSetup + renderHTML wiring lives in one place.
100
+ */
101
+ export function createSsrHtmlStage<TEnv>(
102
+ options: SsrHtmlStageOptions<TEnv>,
103
+ ): (flight: RscFlightStage) => Promise<RscPreparedHtmlRender> {
104
+ return async (flight) => {
105
+ const [ssrModule, streamMode] = await getSSRSetup(
106
+ options.ctx,
107
+ options.request,
108
+ options.env,
109
+ options.url,
110
+ options.metricsStore,
111
+ );
112
+ return {
113
+ render: () =>
114
+ ssrModule.renderHTML(flight.stream, { ...options.render, streamMode }),
115
+ ...(options.init && { init: options.init }),
116
+ };
117
+ };
118
+ }
119
+
68
120
  /**
69
121
  * Retrieve the SSR setup result. Returns the early-kicked-off promise
70
122
  * when available (stashed on request variables), otherwise starts a
@@ -90,12 +142,42 @@ export function getSSRSetup<TEnv>(
90
142
  );
91
143
  }
92
144
 
145
+ /**
146
+ * Accept-based flight opt-in: the client explicitly listed the RSC wire
147
+ * format (text/x-component) in Accept, ranked above the HTML document, and
148
+ * did not override with __html.
149
+ *
150
+ * The flight stream is an internal transport representation — it is served
151
+ * ONLY on explicit opt-in (this Accept value, or the _rsc_ / __rsc transport
152
+ * params). Everything else (missing Accept, wildcards, application/json,
153
+ * browser Accept strings) gets the HTML document, per RFC 9110: a missing
154
+ * Accept is equivalent to a full wildcard, and a wildcard gets the server's
155
+ * canonical representation. The old rule ("no text/html substring → flight")
156
+ * handed the wire format to every generic client — curl, health checks,
157
+ * link unfurlers.
158
+ *
159
+ * The includes() guard is a parse-skipping fast path: the bulk of traffic
160
+ * (browsers, curl, monitors) never mentions the wire format and pays no
161
+ * parseAcceptTypes allocation. Ranking lives in prefersFlightRepresentation
162
+ * (router/content-negotiation.ts), co-located with the candidate MIME set.
163
+ */
164
+ function acceptsFlightExplicitly(request: Request, url: URL): boolean {
165
+ if (url.searchParams.has("__html")) return false;
166
+ const accept = request.headers.get("accept");
167
+ if (accept === null || !accept.includes(RSC_WIRE_MIME)) return false;
168
+ return prefersFlightRepresentation(parseAcceptTypes(accept));
169
+ }
170
+
93
171
  /**
94
172
  * Classify whether a request may require SSR (HTML rendering).
95
173
  *
96
- * Returns false for requests that are definitively RSC-only, loader fetches,
97
- * prerender collection, or Accept-based RSC (no text/html). This mirrors
98
- * the isRscRequest decision in rsc-rendering.ts.
174
+ * Returns false for requests that are definitively RSC-only: transport
175
+ * params (partial/action/loader/__rsc), prerender collection, or an explicit
176
+ * Accept: text/x-component. Must never return false for a request whose
177
+ * render-time decision (isRscRequest) will be HTML — the two share
178
+ * acceptsFlightExplicitly so the Accept rule cannot drift. document-cache.ts
179
+ * keys its HTML/RSC response slots off this function, so any divergence from
180
+ * the render decision poisons a cache slot with the wrong representation.
99
181
  *
100
182
  * Note: response/mime routes are excluded by the caller — this function
101
183
  * runs after classifyRequest() determines the request mode.
@@ -112,24 +194,21 @@ export function mayNeedSSR(request: Request, url: URL): boolean {
112
194
  return false;
113
195
  }
114
196
 
115
- // Mirror the Accept-based RSC decision from rsc-rendering.ts:
116
- // if Accept is present and does not include text/html (and no __html override),
117
- // the response will be RSC, not HTML.
118
- const accept = request.headers.get("accept");
119
- if (
120
- accept &&
121
- !accept.includes("text/html") &&
122
- !url.searchParams.has("__html")
123
- ) {
124
- return false;
125
- }
126
-
127
- return true;
197
+ return !acceptsFlightExplicitly(request, url);
128
198
  }
129
199
 
130
- // Final render-time decision: is the response an RSC stream (vs HTML)? Distinct
131
- // from mayNeedSSR, which is a conservative pre-classifier (it treats a missing
132
- // Accept header as needing SSR; this treats it as RSC).
200
+ // Final render-time decision: is the response an RSC stream (vs HTML)?
201
+ // Flight requires explicit opt-in: the partial transport param, __rsc, or
202
+ // Accept: text/x-component. mayNeedSSR is the coarse pre-filter over the
203
+ // transport params; both delegate the Accept call to acceptsFlightExplicitly.
204
+ //
205
+ // _rsc_partial is read from the URL in addition to the plan-derived isPartial
206
+ // flag: the 404 fallback plan hardcodes mode "full-render" even for partial
207
+ // navigations (handler.ts RouteNotFoundError catch), so a partial 404 reaches
208
+ // this decision with isPartial=false. The old Accept rule masked that by
209
+ // classifying */* as flight; without the URL check a client-side navigation
210
+ // to a missing route received an HTML 404 it cannot apply, and the
211
+ // navigation never committed (multi-router soft-404, popstate not-found).
133
212
  export function isRscRequest(
134
213
  request: Request,
135
214
  url: URL,
@@ -137,8 +216,8 @@ export function isRscRequest(
137
216
  ): boolean {
138
217
  return (
139
218
  isPartial ||
140
- (!request.headers.get("accept")?.includes("text/html") &&
141
- !url.searchParams.has("__html")) ||
142
- url.searchParams.has("__rsc")
219
+ url.searchParams.has("_rsc_partial") ||
220
+ url.searchParams.has("__rsc") ||
221
+ acceptsFlightExplicitly(request, url)
143
222
  );
144
223
  }
package/src/rsc/types.ts CHANGED
@@ -41,6 +41,8 @@ export interface RscPayload {
41
41
  handles?: AsyncGenerator<HandleData, void, unknown>;
42
42
  /** RSC version string for cache invalidation */
43
43
  version?: string;
44
+ /** Cloudflare dev worker generation used for stale-document convergence. */
45
+ devDiscoveryEpoch?: number;
44
46
  /** TTL in milliseconds for the client-side in-memory prefetch cache */
45
47
  prefetchCacheTTL?: number;
46
48
  /** Max entries in the client-side in-memory prefetch cache (FIFO eviction) */
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Segment Flight-fragment envelopes (PPR fast-path payload splice, issue #700).
3
+ *
4
+ * On a shell-HIT tail, replayed (baked) segments do NOT round-trip through the
5
+ * server codec (deserialize -> re-serialize) per request. The stored RSC
6
+ * fragment STRINGS ride the outgoing payload verbatim inside these envelopes
7
+ * — the outer Flight render copies a string instead of re-serializing a whole
8
+ * element tree — and the CONSUMER expands each envelope through its own Flight
9
+ * deserializer: the SSR resume pass (ssr/ssr-root.tsx) and browser hydration
10
+ * (browser/rsc-router.tsx). Each fragment is its own row space, decoded
11
+ * independently, exactly like the segment codec's per-record decode — so
12
+ * there is no Flight row-id collision or shared-row dedupe hazard.
13
+ *
14
+ * Envelopes appear ONLY on fields that hold ReactNodes (component / layout /
15
+ * loading). A plain object is never a valid ReactNode, so the marker cannot
16
+ * collide with legitimate segment content; loader data fields (consumer data,
17
+ * any shape) are never enveloped.
18
+ *
19
+ * This module is shared client/server code (browser + SSR + RSC import it) —
20
+ * it must stay dependency-free: no plugin-rsc, no request-context.
21
+ */
22
+
23
+ import type { ResolvedSegment } from "./types.js";
24
+
25
+ /**
26
+ * One RSC-encoded fragment traveling inside an RscPayload segment field.
27
+ * `f` is the stored Flight document (segment-codec output) for that field.
28
+ */
29
+ export interface SegmentFlightFragment {
30
+ __rangoFragment: 1;
31
+ f: string;
32
+ }
33
+
34
+ /** Wrap a stored fragment string for the wire. */
35
+ export function segmentFragment(encoded: string): SegmentFlightFragment {
36
+ return { __rangoFragment: 1, f: encoded };
37
+ }
38
+
39
+ /** True iff `value` is a fragment envelope (see collision note in the header). */
40
+ export function isSegmentFragment(
41
+ value: unknown,
42
+ ): value is SegmentFlightFragment {
43
+ return (
44
+ typeof value === "object" &&
45
+ value !== null &&
46
+ (value as { __rangoFragment?: unknown }).__rangoFragment === 1 &&
47
+ typeof (value as { f?: unknown }).f === "string"
48
+ );
49
+ }
50
+
51
+ /**
52
+ * A consumer-side Flight deserializer: the browser's or the SSR runtime's
53
+ * createFromReadableStream (each resolves client references through its own
54
+ * module map, exactly as it does for the outer payload stream). Non-generic
55
+ * so both environments' generic createFromReadableStream signatures assign
56
+ * directly.
57
+ */
58
+ export type FragmentDecoder = (
59
+ stream: ReadableStream<Uint8Array>,
60
+ ) => Promise<unknown>;
61
+
62
+ /** One-chunk byte stream over an encoded fragment (local: this module must not
63
+ * import segment-codec, which pulls plugin-rsc into client bundles). */
64
+ function fragmentToStream(encoded: string): ReadableStream<Uint8Array> {
65
+ const bytes = new TextEncoder().encode(encoded);
66
+ return new ReadableStream<Uint8Array>({
67
+ start(controller) {
68
+ controller.enqueue(bytes);
69
+ controller.close();
70
+ },
71
+ });
72
+ }
73
+
74
+ /** The segment fields that may carry an envelope (ReactNode fields only). */
75
+ const FRAGMENT_FIELDS = ["component", "layout", "loading"] as const;
76
+
77
+ /**
78
+ * Expand every fragment envelope in `segments` IN PLACE via `decode`,
79
+ * in parallel. A payload with no envelopes (every non-shell-HIT payload) costs
80
+ * one synchronous field scan. A failing fragment decode rejects the whole
81
+ * expansion: the caller's payload promise rejects, which on the SSR side
82
+ * errors the HIT tail (serveShellHit then schedules the healing recapture) —
83
+ * the same posture as a parseable-but-mismatched postponed blob.
84
+ */
85
+ export async function expandSegmentFragments(
86
+ segments: ResolvedSegment[] | undefined,
87
+ decode: FragmentDecoder,
88
+ ): Promise<void> {
89
+ if (!segments || segments.length === 0) return;
90
+ const decodes: Promise<void>[] = [];
91
+ for (const segment of segments) {
92
+ for (const field of FRAGMENT_FIELDS) {
93
+ const value = segment[field];
94
+ if (isSegmentFragment(value)) {
95
+ // Promise.resolve() adoption is load-bearing: some deserializers
96
+ // (react-server-dom's Flight client) return a THENABLE Chunk whose
97
+ // .then returns undefined — chaining directly would push undefined
98
+ // into the barrier and Promise.all would not wait for the decode.
99
+ decodes.push(
100
+ Promise.resolve(decode(fragmentToStream(value.f))).then((node) => {
101
+ segment[field] = node as ResolvedSegment[typeof field];
102
+ }),
103
+ );
104
+ }
105
+ }
106
+ }
107
+ if (decodes.length > 0) await Promise.all(decodes);
108
+ }
109
+
110
+ /**
111
+ * True when any segment carries an unexpanded envelope. Cheap scan used by
112
+ * consumers that only need to know whether an expansion pass is required.
113
+ */
114
+ export function hasSegmentFragments(
115
+ segments: ResolvedSegment[] | undefined,
116
+ ): boolean {
117
+ if (!segments) return false;
118
+ for (const segment of segments) {
119
+ for (const field of FRAGMENT_FIELDS) {
120
+ if (isSegmentFragment(segment[field])) return true;
121
+ }
122
+ }
123
+ return false;
124
+ }