@rangojs/router 0.0.0-experimental.tapabs2 → 0.1.0

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 (1320) hide show
  1. package/dist/bin/rango.js +8 -40
  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/event-controller.d.ts +221 -0
  11. package/dist/types/browser/history-state.d.ts +26 -0
  12. package/dist/types/browser/index.d.ts +1 -0
  13. package/dist/types/browser/intercept-utils.d.ts +30 -0
  14. package/dist/types/browser/invalidate-client-cache.d.ts +17 -0
  15. package/dist/types/browser/link-interceptor.d.ts +43 -0
  16. package/dist/types/browser/logging.d.ts +33 -0
  17. package/dist/types/browser/merge-segment-loaders.d.ts +38 -0
  18. package/dist/types/browser/navigation-bridge.d.ts +27 -0
  19. package/dist/types/browser/navigation-client.d.ts +17 -0
  20. package/dist/types/browser/navigation-store-handle.d.ts +25 -0
  21. package/dist/types/browser/navigation-store.d.ts +95 -0
  22. package/dist/types/browser/navigation-transaction.d.ts +75 -0
  23. package/dist/types/browser/network-error-handler.d.ts +35 -0
  24. package/dist/types/browser/partial-update.d.ts +61 -0
  25. package/dist/types/browser/prefetch/cache.d.ts +183 -0
  26. package/dist/types/browser/prefetch/fetch.d.ts +52 -0
  27. package/dist/types/browser/prefetch/observer.d.ts +27 -0
  28. package/dist/types/browser/prefetch/policy.d.ts +13 -0
  29. package/dist/types/browser/prefetch/queue.d.ts +48 -0
  30. package/dist/types/browser/prefetch/resource-ready.d.ts +28 -0
  31. package/dist/types/browser/rango-state.d.ts +52 -0
  32. package/dist/types/browser/react/Link.d.ts +140 -0
  33. package/dist/types/browser/react/NavigationProvider.d.ts +88 -0
  34. package/dist/types/browser/react/ScrollRestoration.d.ts +78 -0
  35. package/dist/types/browser/react/context.d.ts +54 -0
  36. package/dist/types/browser/react/filter-segment-order.d.ts +35 -0
  37. package/dist/types/browser/react/index.d.ts +1 -0
  38. package/dist/types/browser/react/location-state-shared.d.ts +162 -0
  39. package/dist/types/browser/react/location-state.d.ts +29 -0
  40. package/dist/types/browser/react/mount-context.d.ts +23 -0
  41. package/dist/types/browser/react/nonce-context.d.ts +14 -0
  42. package/dist/types/browser/react/shallow-equal.d.ts +5 -0
  43. package/dist/types/browser/react/use-action.d.ts +61 -0
  44. package/dist/types/browser/react/use-handle.d.ts +21 -0
  45. package/dist/types/browser/react/use-href.d.ts +32 -0
  46. package/dist/types/browser/react/use-link-status.d.ts +36 -0
  47. package/dist/types/browser/react/use-mount.d.ts +24 -0
  48. package/dist/types/browser/react/use-navigation.d.ts +15 -0
  49. package/dist/types/browser/react/use-params.d.ts +21 -0
  50. package/dist/types/browser/react/use-pathname.d.ts +13 -0
  51. package/dist/types/browser/react/use-reverse.d.ts +40 -0
  52. package/dist/types/browser/react/use-router.d.ts +23 -0
  53. package/dist/types/browser/react/use-search-params.d.ts +19 -0
  54. package/dist/types/browser/react/use-segments.d.ts +29 -0
  55. package/dist/types/browser/response-adapter.d.ts +58 -0
  56. package/dist/types/browser/rsc-router.d.ts +141 -0
  57. package/dist/types/browser/scroll-restoration.d.ts +103 -0
  58. package/dist/types/browser/segment-reconciler.d.ts +74 -0
  59. package/dist/types/browser/segment-structure-assert.d.ts +16 -0
  60. package/dist/types/browser/server-action-bridge.d.ts +29 -0
  61. package/dist/types/browser/types.d.ts +530 -0
  62. package/dist/types/browser/validate-redirect-origin.d.ts +28 -0
  63. package/dist/types/build/collect-fallback-refs.d.ts +5 -0
  64. package/dist/types/build/generate-manifest.d.ts +100 -0
  65. package/dist/types/build/generate-route-types.d.ts +8 -0
  66. package/dist/types/build/index.d.ts +21 -0
  67. package/dist/types/build/prefix-tree-utils.d.ts +56 -0
  68. package/dist/types/build/route-trie.d.ts +89 -0
  69. package/dist/types/build/route-types/ast-helpers.d.ts +3 -0
  70. package/dist/types/build/route-types/ast-route-extraction.d.ts +13 -0
  71. package/dist/types/build/route-types/codegen.d.ts +16 -0
  72. package/dist/types/build/route-types/include-resolution.d.ts +74 -0
  73. package/dist/types/build/route-types/param-extraction.d.ts +13 -0
  74. package/dist/types/build/route-types/per-module-writer.d.ts +18 -0
  75. package/dist/types/build/route-types/router-processing.d.ts +82 -0
  76. package/dist/types/build/route-types/scan-filter.d.ts +17 -0
  77. package/dist/types/build/route-types/source-scan.d.ts +13 -0
  78. package/dist/types/build/runtime-discovery.d.ts +24 -0
  79. package/dist/types/cache/background-task.d.ts +21 -0
  80. package/dist/types/cache/cache-error.d.ts +71 -0
  81. package/dist/types/cache/cache-key-utils.d.ts +35 -0
  82. package/dist/types/cache/cache-policy.d.ts +59 -0
  83. package/dist/types/cache/cache-runtime.d.ts +51 -0
  84. package/dist/types/cache/cache-scope.d.ts +134 -0
  85. package/dist/types/cache/cache-tag.d.ts +79 -0
  86. package/dist/types/cache/cf/cf-base64.d.ts +4 -0
  87. package/dist/types/cache/cf/cf-cache-constants.d.ts +105 -0
  88. package/dist/types/cache/cf/cf-cache-store.d.ts +588 -0
  89. package/dist/types/cache/cf/cf-cache-types.d.ts +363 -0
  90. package/dist/types/cache/cf/cf-kv-utils.d.ts +22 -0
  91. package/dist/types/cache/cf/cf-tag-marker-memo.d.ts +15 -0
  92. package/dist/types/cache/cf/cf-zone-purge.d.ts +31 -0
  93. package/dist/types/cache/cf/index.d.ts +4 -0
  94. package/dist/types/cache/document-cache.d.ts +69 -0
  95. package/dist/types/cache/handle-capture.d.ts +23 -0
  96. package/dist/types/cache/handle-snapshot.d.ts +39 -0
  97. package/dist/types/cache/index.d.ts +7 -0
  98. package/dist/types/cache/memory-segment-store.d.ts +163 -0
  99. package/dist/types/cache/profile-registry.d.ts +40 -0
  100. package/dist/types/cache/read-through-swr.d.ts +60 -0
  101. package/dist/types/cache/segment-codec.d.ts +78 -0
  102. package/dist/types/cache/shell-snapshot.d.ts +173 -0
  103. package/dist/types/cache/tag-invalidation.d.ts +74 -0
  104. package/dist/types/cache/taint.d.ts +71 -0
  105. package/dist/types/cache/types.d.ts +418 -0
  106. package/dist/types/cache/vercel/index.d.ts +1 -0
  107. package/dist/types/cache/vercel/vercel-cache-store.d.ts +267 -0
  108. package/dist/types/client.d.ts +184 -0
  109. package/dist/types/client.rsc.d.ts +39 -0
  110. package/dist/types/cloudflare/index.d.ts +7 -0
  111. package/dist/types/cloudflare/tracing.d.ts +53 -0
  112. package/dist/types/component-utils.d.ts +46 -0
  113. package/dist/types/components/DefaultDocument.d.ts +13 -0
  114. package/dist/types/context-var.d.ts +84 -0
  115. package/dist/types/debug.d.ts +57 -0
  116. package/dist/types/decode-loader-results.d.ts +5 -0
  117. package/dist/types/default-error-boundary.d.ts +10 -0
  118. package/dist/types/defer.d.ts +89 -0
  119. package/dist/types/deps/browser.d.ts +1 -0
  120. package/dist/types/deps/html-stream-client.d.ts +1 -0
  121. package/dist/types/deps/html-stream-server.d.ts +1 -0
  122. package/dist/types/deps/rsc.d.ts +1 -0
  123. package/dist/types/deps/ssr.d.ts +1 -0
  124. package/dist/types/encode-kv.d.ts +35 -0
  125. package/dist/types/errors.d.ts +226 -0
  126. package/dist/types/escape-script.d.ts +44 -0
  127. package/dist/types/handle.d.ts +93 -0
  128. package/dist/types/handles/MetaTags.d.ts +17 -0
  129. package/dist/types/handles/Scripts.d.ts +38 -0
  130. package/dist/types/handles/breadcrumbs.d.ts +43 -0
  131. package/dist/types/handles/deferred-resolution.d.ts +53 -0
  132. package/dist/types/handles/is-thenable.d.ts +12 -0
  133. package/dist/types/handles/meta.d.ts +43 -0
  134. package/dist/types/handles/script.d.ts +139 -0
  135. package/dist/types/host/cookie-handler.d.ts +8 -0
  136. package/dist/types/host/errors.d.ts +40 -0
  137. package/dist/types/host/index.d.ts +33 -0
  138. package/dist/types/host/pattern-matcher.d.ts +30 -0
  139. package/dist/types/host/router.d.ts +12 -0
  140. package/dist/types/host/testing.d.ts +41 -0
  141. package/dist/types/host/types.d.ts +148 -0
  142. package/dist/types/host/utils.d.ts +20 -0
  143. package/dist/types/href-client.d.ts +214 -0
  144. package/dist/types/index.d.ts +112 -0
  145. package/dist/types/index.rsc.d.ts +51 -0
  146. package/dist/types/internal-debug.d.ts +1 -0
  147. package/dist/types/loader-store.d.ts +193 -0
  148. package/dist/types/loader.d.ts +18 -0
  149. package/dist/types/loader.rsc.d.ts +18 -0
  150. package/dist/types/missing-id-error.d.ts +1 -0
  151. package/dist/types/outlet-context.d.ts +12 -0
  152. package/dist/types/outlet-provider.d.ts +12 -0
  153. package/dist/types/prerender/build-shell-capture.d.ts +104 -0
  154. package/dist/types/prerender/param-hash.d.ts +6 -0
  155. package/dist/types/prerender/shell-manifest-key.d.ts +18 -0
  156. package/dist/types/prerender/store.d.ts +62 -0
  157. package/dist/types/prerender.d.ts +292 -0
  158. package/dist/types/redirect-origin.d.ts +67 -0
  159. package/dist/types/regex-escape.d.ts +6 -0
  160. package/dist/types/render-error-thrower.d.ts +13 -0
  161. package/dist/types/response-utils.d.ts +35 -0
  162. package/dist/types/reverse.d.ts +206 -0
  163. package/dist/types/root-error-boundary.d.ts +32 -0
  164. package/dist/types/route-content-wrapper.d.ts +40 -0
  165. package/dist/types/route-definition/dsl-helpers.d.ts +130 -0
  166. package/dist/types/route-definition/helper-factories.d.ts +22 -0
  167. package/dist/types/route-definition/helpers-types.d.ts +392 -0
  168. package/dist/types/route-definition/index.d.ts +7 -0
  169. package/dist/types/route-definition/redirect.d.ts +48 -0
  170. package/dist/types/route-definition/resolve-handler-use.d.ts +19 -0
  171. package/dist/types/route-definition/use-item-types.d.ts +1 -0
  172. package/dist/types/route-definition.d.ts +1 -0
  173. package/dist/types/route-map-builder.d.ts +127 -0
  174. package/dist/types/route-name.d.ts +27 -0
  175. package/dist/types/route-types.d.ts +172 -0
  176. package/dist/types/router/basename.d.ts +10 -0
  177. package/dist/types/router/content-negotiation.d.ts +91 -0
  178. package/dist/types/router/debug-manifest.d.ts +7 -0
  179. package/dist/types/router/error-handling.d.ts +76 -0
  180. package/dist/types/router/find-match.d.ts +19 -0
  181. package/dist/types/router/handler-context.d.ts +41 -0
  182. package/dist/types/router/instrument.d.ts +161 -0
  183. package/dist/types/router/intercept-resolution.d.ts +79 -0
  184. package/dist/types/router/lazy-includes.d.ts +26 -0
  185. package/dist/types/router/loader-resolution.d.ts +63 -0
  186. package/dist/types/router/logging.d.ts +41 -0
  187. package/dist/types/router/manifest.d.ts +8 -0
  188. package/dist/types/router/match-api.d.ts +19 -0
  189. package/dist/types/router/match-context.d.ts +184 -0
  190. package/dist/types/router/match-handlers.d.ts +49 -0
  191. package/dist/types/router/match-middleware/background-revalidation.d.ts +113 -0
  192. package/dist/types/router/match-middleware/cache-lookup.d.ts +113 -0
  193. package/dist/types/router/match-middleware/cache-store.d.ts +112 -0
  194. package/dist/types/router/match-middleware/index.d.ts +80 -0
  195. package/dist/types/router/match-middleware/intercept-resolution.d.ts +116 -0
  196. package/dist/types/router/match-middleware/segment-resolution.d.ts +94 -0
  197. package/dist/types/router/match-pipelines.d.ts +103 -0
  198. package/dist/types/router/match-result.d.ts +114 -0
  199. package/dist/types/router/metrics.d.ts +6 -0
  200. package/dist/types/router/middleware-types.d.ts +74 -0
  201. package/dist/types/router/middleware.d.ts +116 -0
  202. package/dist/types/router/navigation-snapshot.d.ts +22 -0
  203. package/dist/types/router/params-util.d.ts +8 -0
  204. package/dist/types/router/parse-pattern.d.ts +38 -0
  205. package/dist/types/router/pattern-matching.d.ts +169 -0
  206. package/dist/types/router/prefetch-cache-ttl.d.ts +27 -0
  207. package/dist/types/router/prefetch-limits.d.ts +20 -0
  208. package/dist/types/router/prerender-match.d.ts +50 -0
  209. package/dist/types/router/preview-match.d.ts +22 -0
  210. package/dist/types/router/request-classification.d.ts +104 -0
  211. package/dist/types/router/revalidation.d.ts +57 -0
  212. package/dist/types/router/route-snapshot.d.ts +112 -0
  213. package/dist/types/router/router-context.d.ts +137 -0
  214. package/dist/types/router/router-interfaces.d.ts +432 -0
  215. package/dist/types/router/router-options.d.ts +738 -0
  216. package/dist/types/router/router-registry.d.ts +15 -0
  217. package/dist/types/router/segment-resolution/fresh.d.ts +55 -0
  218. package/dist/types/router/segment-resolution/helpers.d.ts +93 -0
  219. package/dist/types/router/segment-resolution/loader-cache.d.ts +33 -0
  220. package/dist/types/router/segment-resolution/loader-mask.d.ts +44 -0
  221. package/dist/types/router/segment-resolution/loader-snapshot.d.ts +90 -0
  222. package/dist/types/router/segment-resolution/mask-nested.d.ts +53 -0
  223. package/dist/types/router/segment-resolution/revalidation.d.ts +85 -0
  224. package/dist/types/router/segment-resolution/static-store.d.ts +17 -0
  225. package/dist/types/router/segment-resolution/streamed-handler-telemetry.d.ts +16 -0
  226. package/dist/types/router/segment-resolution/view-transition-default.d.ts +28 -0
  227. package/dist/types/router/segment-resolution.d.ts +3 -0
  228. package/dist/types/router/segment-wrappers.d.ts +53 -0
  229. package/dist/types/router/state-cookie-name.d.ts +1 -0
  230. package/dist/types/router/substitute-pattern-params.d.ts +23 -0
  231. package/dist/types/router/telemetry-otel.d.ts +113 -0
  232. package/dist/types/router/telemetry.d.ts +216 -0
  233. package/dist/types/router/timeout.d.ts +96 -0
  234. package/dist/types/router/tracing.d.ts +125 -0
  235. package/dist/types/router/trie-matching.d.ts +32 -0
  236. package/dist/types/router/types.d.ts +98 -0
  237. package/dist/types/router/url-params.d.ts +26 -0
  238. package/dist/types/router.d.ts +7 -0
  239. package/dist/types/rsc/capture-queue.d.ts +6 -0
  240. package/dist/types/rsc/full-payload.d.ts +22 -0
  241. package/dist/types/rsc/handler-context.d.ts +31 -0
  242. package/dist/types/rsc/handler.d.ts +9 -0
  243. package/dist/types/rsc/helpers.d.ts +124 -0
  244. package/dist/types/rsc/index.d.ts +17 -0
  245. package/dist/types/rsc/json-route-result.d.ts +20 -0
  246. package/dist/types/rsc/loader-fetch.d.ts +14 -0
  247. package/dist/types/rsc/manifest-init.d.ts +18 -0
  248. package/dist/types/rsc/nonce.d.ts +28 -0
  249. package/dist/types/rsc/origin-guard.d.ts +50 -0
  250. package/dist/types/rsc/progressive-enhancement.d.ts +19 -0
  251. package/dist/types/rsc/redirect-guard.d.ts +37 -0
  252. package/dist/types/rsc/render-pipeline.d.ts +138 -0
  253. package/dist/types/rsc/response-cache-serve.d.ts +46 -0
  254. package/dist/types/rsc/response-error.d.ts +19 -0
  255. package/dist/types/rsc/response-route-handler.d.ts +29 -0
  256. package/dist/types/rsc/rsc-rendering.d.ts +23 -0
  257. package/dist/types/rsc/runtime-warnings.d.ts +22 -0
  258. package/dist/types/rsc/server-action.d.ts +68 -0
  259. package/dist/types/rsc/shell-build-manifest.d.ts +84 -0
  260. package/dist/types/rsc/shell-capture-constants.d.ts +27 -0
  261. package/dist/types/rsc/shell-capture.d.ts +374 -0
  262. package/dist/types/rsc/shell-serve.d.ts +174 -0
  263. package/dist/types/rsc/ssr-setup.d.ts +73 -0
  264. package/dist/types/rsc/transition-gate.d.ts +27 -0
  265. package/dist/types/rsc/types.d.ts +290 -0
  266. package/dist/types/runtime-env.d.ts +1 -0
  267. package/dist/types/search-params.d.ts +125 -0
  268. package/dist/types/segment-content-promise.d.ts +13 -0
  269. package/dist/types/segment-fragments.d.ts +56 -0
  270. package/dist/types/segment-loader-promise.d.ts +22 -0
  271. package/dist/types/segment-system.d.ts +84 -0
  272. package/dist/types/serialize.d.ts +164 -0
  273. package/dist/types/server/context.d.ts +494 -0
  274. package/dist/types/server/cookie-parse.d.ts +10 -0
  275. package/dist/types/server/cookie-store.d.ts +107 -0
  276. package/dist/types/server/fetchable-loader-store.d.ts +20 -0
  277. package/dist/types/server/handle-store.d.ts +100 -0
  278. package/dist/types/server/loader-registry.d.ts +32 -0
  279. package/dist/types/server/request-context.d.ts +618 -0
  280. package/dist/types/server/root-layout.d.ts +3 -0
  281. package/dist/types/server.d.ts +15 -0
  282. package/dist/types/ssr/index.d.ts +233 -0
  283. package/dist/types/ssr/inject-rsc-eager.d.ts +3 -0
  284. package/dist/types/ssr/preinit-client-references.d.ts +71 -0
  285. package/dist/types/ssr/ssr-root.d.ts +69 -0
  286. package/dist/types/static-handler.d.ts +57 -0
  287. package/dist/types/testing/cache-status.d.ts +63 -0
  288. package/dist/types/testing/collect-handle.d.ts +20 -0
  289. package/dist/types/testing/dispatch.d.ts +127 -0
  290. package/dist/types/testing/dom.entry.d.ts +15 -0
  291. package/dist/types/testing/e2e/fixture.d.ts +37 -0
  292. package/dist/types/testing/e2e/index.d.ts +31 -0
  293. package/dist/types/testing/e2e/matchers.d.ts +17 -0
  294. package/dist/types/testing/e2e/page-helpers.d.ts +62 -0
  295. package/dist/types/testing/e2e/parity.d.ts +111 -0
  296. package/dist/types/testing/e2e/server.d.ts +35 -0
  297. package/dist/types/testing/flight-matchers.d.ts +55 -0
  298. package/dist/types/testing/flight-normalize.d.ts +1 -0
  299. package/dist/types/testing/flight-tree.d.ts +192 -0
  300. package/dist/types/testing/flight.d.ts +115 -0
  301. package/dist/types/testing/flight.entry.d.ts +27 -0
  302. package/dist/types/testing/generated-routes.d.ts +66 -0
  303. package/dist/types/testing/index.d.ts +54 -0
  304. package/dist/types/testing/internal/context.d.ts +225 -0
  305. package/dist/types/testing/internal/flight-client-globals.d.ts +1 -0
  306. package/dist/types/testing/internal/seed-vars.d.ts +30 -0
  307. package/dist/types/testing/render-handler.d.ts +160 -0
  308. package/dist/types/testing/render-route.d.ts +246 -0
  309. package/dist/types/testing/run-loader.d.ts +186 -0
  310. package/dist/types/testing/run-middleware.d.ts +132 -0
  311. package/dist/types/testing/run-transition-when.d.ts +77 -0
  312. package/dist/types/testing/shell-status.d.ts +58 -0
  313. package/dist/types/testing/vitest-stubs/cloudflare-email.d.ts +6 -0
  314. package/dist/types/testing/vitest-stubs/cloudflare-workers.d.ts +13 -0
  315. package/dist/types/testing/vitest-stubs/plugin-rsc.d.ts +7 -0
  316. package/dist/types/testing/vitest-stubs/version.d.ts +1 -0
  317. package/dist/types/testing/vitest.d.ts +205 -0
  318. package/dist/types/theme/ThemeProvider.d.ts +13 -0
  319. package/dist/types/theme/ThemeScript.d.ts +45 -0
  320. package/dist/types/theme/constants.d.ts +39 -0
  321. package/dist/types/theme/index.d.ts +29 -0
  322. package/dist/types/theme/theme-context.d.ts +21 -0
  323. package/dist/types/theme/theme-script.d.ts +26 -0
  324. package/dist/types/theme/types.d.ts +162 -0
  325. package/dist/types/theme/use-theme.d.ts +8 -0
  326. package/dist/types/types/boundaries.d.ts +93 -0
  327. package/dist/types/types/cache-types.d.ts +191 -0
  328. package/dist/types/types/error-types.d.ts +114 -0
  329. package/dist/types/types/global-namespace.d.ts +90 -0
  330. package/dist/types/types/handler-context.d.ts +658 -0
  331. package/dist/types/types/index.d.ts +11 -0
  332. package/dist/types/types/loader-types.d.ts +182 -0
  333. package/dist/types/types/request-scope.d.ts +93 -0
  334. package/dist/types/types/route-config.d.ts +105 -0
  335. package/dist/types/types/route-entry.d.ts +95 -0
  336. package/dist/types/types/segments.d.ts +234 -0
  337. package/dist/types/types.d.ts +1 -0
  338. package/dist/types/urls/include-helper.d.ts +17 -0
  339. package/dist/types/urls/include-provider.d.ts +27 -0
  340. package/dist/types/urls/index.d.ts +6 -0
  341. package/dist/types/urls/path-helper-types.d.ts +197 -0
  342. package/dist/types/urls/path-helper.d.ts +12 -0
  343. package/dist/types/urls/pattern-types.d.ts +166 -0
  344. package/dist/types/urls/response-types.d.ts +67 -0
  345. package/dist/types/urls/type-extraction.d.ts +157 -0
  346. package/dist/types/urls/urls-function.d.ts +24 -0
  347. package/dist/types/urls.d.ts +1 -0
  348. package/dist/types/use-loader.d.ts +150 -0
  349. package/dist/types/vercel/index.d.ts +10 -0
  350. package/dist/types/vercel/tracing.d.ts +70 -0
  351. package/dist/types/vite/debug.d.ts +80 -0
  352. package/dist/types/vite/discovery/bundle-postprocess.d.ts +12 -0
  353. package/dist/types/vite/discovery/dev-prerender-cache.d.ts +65 -0
  354. package/dist/types/vite/discovery/discover-routers.d.ts +17 -0
  355. package/dist/types/vite/discovery/discovery-errors.d.ts +113 -0
  356. package/dist/types/vite/discovery/gate-state.d.ts +79 -0
  357. package/dist/types/vite/discovery/prerender-collection.d.ts +24 -0
  358. package/dist/types/vite/discovery/route-types-writer.d.ts +32 -0
  359. package/dist/types/vite/discovery/self-gen-tracking.d.ts +22 -0
  360. package/dist/types/vite/discovery/shell-prerender-phase.d.ts +40 -0
  361. package/dist/types/vite/discovery/state.d.ts +162 -0
  362. package/dist/types/vite/discovery/virtual-module-codegen.d.ts +15 -0
  363. package/dist/types/vite/index.d.ts +11 -0
  364. package/dist/types/vite/inject-client-debug.d.ts +56 -0
  365. package/dist/types/vite/plugin-types.d.ts +298 -0
  366. package/dist/types/vite/plugins/cjs-to-esm.d.ts +6 -0
  367. package/dist/types/vite/plugins/client-ref-dedup.d.ts +40 -0
  368. package/dist/types/vite/plugins/client-ref-hashing.d.ts +35 -0
  369. package/dist/types/vite/plugins/cloudflare-protocol-stub.d.ts +64 -0
  370. package/dist/types/vite/plugins/expose-action-id.d.ts +18 -0
  371. package/dist/types/vite/plugins/expose-id-utils.d.ts +37 -0
  372. package/dist/types/vite/plugins/expose-ids/export-analysis.d.ts +19 -0
  373. package/dist/types/vite/plugins/expose-ids/handler-transform.d.ts +10 -0
  374. package/dist/types/vite/plugins/expose-ids/loader-transform.d.ts +8 -0
  375. package/dist/types/vite/plugins/expose-ids/router-transform.d.ts +13 -0
  376. package/dist/types/vite/plugins/expose-ids/types.d.ts +29 -0
  377. package/dist/types/vite/plugins/expose-internal-ids.d.ts +6 -0
  378. package/dist/types/vite/plugins/performance-tracks.d.ts +25 -0
  379. package/dist/types/vite/plugins/refresh-cmd.d.ts +20 -0
  380. package/dist/types/vite/plugins/use-cache-transform.d.ts +20 -0
  381. package/dist/types/vite/plugins/vercel-output.d.ts +85 -0
  382. package/dist/types/vite/plugins/version-injector.d.ts +21 -0
  383. package/dist/types/vite/plugins/version-plugin.d.ts +19 -0
  384. package/dist/types/vite/plugins/virtual-entries.d.ts +36 -0
  385. package/dist/types/vite/plugins/virtual-stub-plugin.d.ts +7 -0
  386. package/dist/types/vite/rango.d.ts +29 -0
  387. package/dist/types/vite/router-discovery.d.ts +23 -0
  388. package/dist/types/vite/utils/ast-handler-extract.d.ts +64 -0
  389. package/dist/types/vite/utils/banner.d.ts +2 -0
  390. package/dist/types/vite/utils/bundle-analysis.d.ts +28 -0
  391. package/dist/types/vite/utils/client-chunks.d.ts +55 -0
  392. package/dist/types/vite/utils/directive-prologue.d.ts +16 -0
  393. package/dist/types/vite/utils/forward-user-plugins.d.ts +37 -0
  394. package/dist/types/vite/utils/manifest-utils.d.ts +7 -0
  395. package/dist/types/vite/utils/package-resolution.d.ts +6 -0
  396. package/dist/types/vite/utils/prerender-utils.d.ts +32 -0
  397. package/dist/types/vite/utils/shared-utils.d.ts +55 -0
  398. package/dist/vite/index.js +1051 -361
  399. package/package.json +39 -33
  400. package/skills/catalog.json +6 -0
  401. package/skills/cloudflare/SKILL.md +149 -0
  402. package/skills/cloudflare/agents/openai.yaml +4 -0
  403. package/skills/cloudflare/references/d1-and-local-dev.md +131 -0
  404. package/skills/cloudflare/references/streaming-and-deploy.md +107 -0
  405. package/skills/cloudflare/references/webhooks-and-crypto.md +147 -0
  406. package/skills/composability/SKILL.md +14 -0
  407. package/skills/debug-manifest/SKILL.md +2 -10
  408. package/skills/links/SKILL.md +12 -0
  409. package/skills/middleware/SKILL.md +33 -0
  410. package/skills/migrate-nextjs/SKILL.md +65 -16
  411. package/skills/migrate-nextjs/backend-host-swap.md +120 -0
  412. package/skills/migrate-react-router/SKILL.md +6 -6
  413. package/skills/mime-routes/SKILL.md +25 -17
  414. package/skills/ppr/SKILL.md +100 -15
  415. package/skills/prerender/SKILL.md +44 -1
  416. package/skills/rango/SKILL.md +10 -10
  417. package/skills/response-routes/SKILL.md +41 -4
  418. package/skills/route/SKILL.md +6 -0
  419. package/skills/testing/SKILL.md +1 -0
  420. package/skills/testing/cache-prerender.md +43 -2
  421. package/skills/testing/response-routes.md +2 -2
  422. package/src/browser/event-controller.ts +16 -2
  423. package/src/browser/rsc-router.tsx +11 -0
  424. package/src/build/generate-manifest.ts +5 -36
  425. package/src/build/route-trie.ts +5 -50
  426. package/src/cache/cache-key-utils.ts +0 -1
  427. package/src/cache/cache-scope.ts +41 -3
  428. package/src/cache/cf/cf-cache-store.ts +465 -56
  429. package/src/cache/cf/cf-cache-types.ts +66 -0
  430. package/src/cache/cf/cf-tag-marker-memo.ts +5 -2
  431. package/src/cache/cf/cf-zone-purge.ts +101 -0
  432. package/src/cache/cf/index.ts +5 -0
  433. package/src/cache/handle-snapshot.ts +22 -1
  434. package/src/cache/index.ts +2 -0
  435. package/src/cache/memory-segment-store.ts +32 -0
  436. package/src/cache/segment-codec.ts +47 -0
  437. package/src/cache/shell-snapshot.ts +79 -14
  438. package/src/cache/types.ts +38 -0
  439. package/src/cache/vercel/vercel-cache-store.ts +71 -2
  440. package/src/deps/ssr.ts +4 -1
  441. package/src/index.rsc.ts +7 -0
  442. package/src/index.ts +1 -0
  443. package/src/prerender/build-shell-capture.ts +447 -0
  444. package/src/prerender/shell-manifest-key.ts +20 -0
  445. package/src/prerender/store.ts +10 -1
  446. package/src/prerender.ts +3 -3
  447. package/src/redirect-origin.ts +37 -8
  448. package/src/route-map-builder.ts +8 -8
  449. package/src/router/content-negotiation.ts +47 -5
  450. package/src/router/handler-context.ts +18 -10
  451. package/src/router/intercept-resolution.ts +30 -1
  452. package/src/router/loader-resolution.ts +16 -0
  453. package/src/router/match-api.ts +9 -2
  454. package/src/router/match-handlers.ts +13 -0
  455. package/src/router/match-middleware/cache-lookup.ts +12 -1
  456. package/src/router/metrics.ts +17 -2
  457. package/src/router/middleware-types.ts +17 -0
  458. package/src/router/middleware.ts +4 -0
  459. package/src/router/prerender-match.ts +28 -0
  460. package/src/router/router-interfaces.ts +7 -6
  461. package/src/router/router-options.ts +13 -8
  462. package/src/router/segment-resolution/fresh.ts +21 -2
  463. package/src/router/segment-resolution/helpers.ts +1 -1
  464. package/src/router/segment-resolution/loader-cache.ts +38 -7
  465. package/src/router/segment-resolution/mask-nested.ts +19 -3
  466. package/src/router/segment-resolution/revalidation.ts +9 -0
  467. package/src/router/telemetry-otel.ts +11 -0
  468. package/src/router/telemetry.ts +1 -0
  469. package/src/router/timeout.ts +41 -1
  470. package/src/router.ts +5 -4
  471. package/src/rsc/capture-queue.ts +67 -0
  472. package/src/rsc/handler.ts +151 -77
  473. package/src/rsc/helpers.ts +67 -4
  474. package/src/rsc/progressive-enhancement.ts +66 -54
  475. package/src/rsc/redirect-guard.ts +3 -1
  476. package/src/rsc/render-pipeline.ts +559 -0
  477. package/src/rsc/response-cache-serve.ts +39 -18
  478. package/src/rsc/response-route-handler.ts +9 -45
  479. package/src/rsc/rsc-rendering.ts +303 -103
  480. package/src/rsc/server-action.ts +50 -42
  481. package/src/rsc/shell-build-manifest.ts +316 -0
  482. package/src/rsc/shell-capture-constants.ts +27 -0
  483. package/src/rsc/shell-capture.ts +595 -69
  484. package/src/rsc/shell-serve.ts +133 -3
  485. package/src/rsc/ssr-setup.ts +102 -23
  486. package/src/segment-fragments.ts +124 -0
  487. package/src/server/context.ts +184 -8
  488. package/src/server/request-context.ts +297 -45
  489. package/src/ssr/index.tsx +167 -32
  490. package/src/ssr/preinit-client-references.ts +106 -0
  491. package/src/ssr/ssr-root.tsx +35 -2
  492. package/src/testing/dispatch.ts +132 -67
  493. package/src/testing/e2e/index.ts +8 -0
  494. package/src/testing/index.ts +9 -1
  495. package/src/testing/internal/context.ts +9 -0
  496. package/src/testing/render-handler.ts +15 -1
  497. package/src/testing/run-middleware.ts +14 -0
  498. package/src/testing/shell-status.ts +100 -0
  499. package/src/types/handler-context.ts +13 -2
  500. package/src/urls/path-helper-types.ts +1 -1
  501. package/src/urls/pattern-types.ts +29 -0
  502. package/src/vite/discovery/discover-routers.ts +71 -52
  503. package/src/vite/discovery/prerender-collection.ts +16 -0
  504. package/src/vite/discovery/shell-prerender-phase.ts +397 -0
  505. package/src/vite/discovery/state.ts +44 -0
  506. package/src/vite/discovery/virtual-module-codegen.ts +126 -20
  507. package/src/vite/index.ts +1 -0
  508. package/src/vite/plugin-types.ts +33 -0
  509. package/src/vite/plugins/version-plugin.ts +8 -0
  510. package/src/vite/plugins/virtual-entries.ts +37 -4
  511. package/src/vite/rango.ts +42 -2
  512. package/src/vite/router-discovery.ts +432 -21
  513. package/src/vite/utils/package-resolution.ts +1 -0
  514. package/src/vite/utils/prerender-utils.ts +25 -6
  515. package/src/vite/utils/shared-utils.ts +4 -2
  516. package/dist/__internal.d.ts +0 -83
  517. package/dist/__internal.d.ts.map +0 -1
  518. package/dist/__internal.js +0 -19
  519. package/dist/__internal.js.map +0 -1
  520. package/dist/__mocks__/version.d.ts +0 -7
  521. package/dist/__mocks__/version.d.ts.map +0 -1
  522. package/dist/__mocks__/version.js +0 -7
  523. package/dist/__mocks__/version.js.map +0 -1
  524. package/dist/__tests__/client-href.test.d.ts +0 -2
  525. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  526. package/dist/__tests__/client-href.test.js +0 -74
  527. package/dist/__tests__/client-href.test.js.map +0 -1
  528. package/dist/__tests__/component-utils.test.d.ts +0 -2
  529. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  530. package/dist/__tests__/component-utils.test.js +0 -51
  531. package/dist/__tests__/component-utils.test.js.map +0 -1
  532. package/dist/__tests__/event-controller.test.d.ts +0 -2
  533. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  534. package/dist/__tests__/event-controller.test.js +0 -538
  535. package/dist/__tests__/event-controller.test.js.map +0 -1
  536. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  537. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  538. package/dist/__tests__/helpers/route-tree.js +0 -374
  539. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  540. package/dist/__tests__/match-result.test.d.ts +0 -2
  541. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  542. package/dist/__tests__/match-result.test.js +0 -154
  543. package/dist/__tests__/match-result.test.js.map +0 -1
  544. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  545. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  546. package/dist/__tests__/navigation-store.test.js +0 -440
  547. package/dist/__tests__/navigation-store.test.js.map +0 -1
  548. package/dist/__tests__/partial-update.test.d.ts +0 -2
  549. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  550. package/dist/__tests__/partial-update.test.js +0 -1009
  551. package/dist/__tests__/partial-update.test.js.map +0 -1
  552. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  553. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  554. package/dist/__tests__/reverse-types.test.js +0 -656
  555. package/dist/__tests__/reverse-types.test.js.map +0 -1
  556. package/dist/__tests__/route-definition.test.d.ts +0 -2
  557. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  558. package/dist/__tests__/route-definition.test.js +0 -55
  559. package/dist/__tests__/route-definition.test.js.map +0 -1
  560. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  561. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  562. package/dist/__tests__/router-helpers.test.js +0 -377
  563. package/dist/__tests__/router-helpers.test.js.map +0 -1
  564. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  565. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  566. package/dist/__tests__/router-integration-2.test.js +0 -426
  567. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  568. package/dist/__tests__/router-integration.test.d.ts +0 -2
  569. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  570. package/dist/__tests__/router-integration.test.js +0 -1051
  571. package/dist/__tests__/router-integration.test.js.map +0 -1
  572. package/dist/__tests__/search-params.test.d.ts +0 -5
  573. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  574. package/dist/__tests__/search-params.test.js +0 -306
  575. package/dist/__tests__/search-params.test.js.map +0 -1
  576. package/dist/__tests__/segment-system.test.d.ts +0 -2
  577. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  578. package/dist/__tests__/segment-system.test.js +0 -627
  579. package/dist/__tests__/segment-system.test.js.map +0 -1
  580. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  581. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  582. package/dist/__tests__/static-handler-types.test.js +0 -63
  583. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  584. package/dist/__tests__/urls.test.d.ts +0 -2
  585. package/dist/__tests__/urls.test.d.ts.map +0 -1
  586. package/dist/__tests__/urls.test.js +0 -421
  587. package/dist/__tests__/urls.test.js.map +0 -1
  588. package/dist/__tests__/use-mount.test.d.ts +0 -2
  589. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  590. package/dist/__tests__/use-mount.test.js +0 -35
  591. package/dist/__tests__/use-mount.test.js.map +0 -1
  592. package/dist/bin/rango.d.ts +0 -2
  593. package/dist/bin/rango.d.ts.map +0 -1
  594. package/dist/bin/rango.js.map +0 -1
  595. package/dist/browser/event-controller.d.ts +0 -191
  596. package/dist/browser/event-controller.d.ts.map +0 -1
  597. package/dist/browser/event-controller.js +0 -559
  598. package/dist/browser/event-controller.js.map +0 -1
  599. package/dist/browser/index.d.ts +0 -2
  600. package/dist/browser/index.d.ts.map +0 -1
  601. package/dist/browser/index.js +0 -14
  602. package/dist/browser/index.js.map +0 -1
  603. package/dist/browser/link-interceptor.d.ts +0 -38
  604. package/dist/browser/link-interceptor.d.ts.map +0 -1
  605. package/dist/browser/link-interceptor.js +0 -99
  606. package/dist/browser/link-interceptor.js.map +0 -1
  607. package/dist/browser/logging.d.ts +0 -10
  608. package/dist/browser/logging.d.ts.map +0 -1
  609. package/dist/browser/logging.js +0 -29
  610. package/dist/browser/logging.js.map +0 -1
  611. package/dist/browser/lru-cache.d.ts +0 -17
  612. package/dist/browser/lru-cache.d.ts.map +0 -1
  613. package/dist/browser/lru-cache.js +0 -50
  614. package/dist/browser/lru-cache.js.map +0 -1
  615. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  616. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  617. package/dist/browser/merge-segment-loaders.js +0 -102
  618. package/dist/browser/merge-segment-loaders.js.map +0 -1
  619. package/dist/browser/navigation-bridge.d.ts +0 -102
  620. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  621. package/dist/browser/navigation-bridge.js +0 -708
  622. package/dist/browser/navigation-bridge.js.map +0 -1
  623. package/dist/browser/navigation-client.d.ts +0 -25
  624. package/dist/browser/navigation-client.d.ts.map +0 -1
  625. package/dist/browser/navigation-client.js +0 -157
  626. package/dist/browser/navigation-client.js.map +0 -1
  627. package/dist/browser/navigation-store.d.ts +0 -101
  628. package/dist/browser/navigation-store.d.ts.map +0 -1
  629. package/dist/browser/navigation-store.js +0 -625
  630. package/dist/browser/navigation-store.js.map +0 -1
  631. package/dist/browser/partial-update.d.ts +0 -75
  632. package/dist/browser/partial-update.d.ts.map +0 -1
  633. package/dist/browser/partial-update.js +0 -426
  634. package/dist/browser/partial-update.js.map +0 -1
  635. package/dist/browser/react/Link.d.ts +0 -86
  636. package/dist/browser/react/Link.d.ts.map +0 -1
  637. package/dist/browser/react/Link.js +0 -128
  638. package/dist/browser/react/Link.js.map +0 -1
  639. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  640. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  641. package/dist/browser/react/NavigationProvider.js +0 -216
  642. package/dist/browser/react/NavigationProvider.js.map +0 -1
  643. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  644. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  645. package/dist/browser/react/ScrollRestoration.js +0 -57
  646. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  647. package/dist/browser/react/context.d.ts +0 -46
  648. package/dist/browser/react/context.d.ts.map +0 -1
  649. package/dist/browser/react/context.js +0 -10
  650. package/dist/browser/react/context.js.map +0 -1
  651. package/dist/browser/react/index.d.ts +0 -11
  652. package/dist/browser/react/index.d.ts.map +0 -1
  653. package/dist/browser/react/index.js +0 -22
  654. package/dist/browser/react/index.js.map +0 -1
  655. package/dist/browser/react/location-state-shared.d.ts +0 -63
  656. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  657. package/dist/browser/react/location-state-shared.js +0 -81
  658. package/dist/browser/react/location-state-shared.js.map +0 -1
  659. package/dist/browser/react/location-state.d.ts +0 -23
  660. package/dist/browser/react/location-state.d.ts.map +0 -1
  661. package/dist/browser/react/location-state.js +0 -29
  662. package/dist/browser/react/location-state.js.map +0 -1
  663. package/dist/browser/react/mount-context.d.ts +0 -24
  664. package/dist/browser/react/mount-context.d.ts.map +0 -1
  665. package/dist/browser/react/mount-context.js +0 -24
  666. package/dist/browser/react/mount-context.js.map +0 -1
  667. package/dist/browser/react/use-action.d.ts +0 -64
  668. package/dist/browser/react/use-action.d.ts.map +0 -1
  669. package/dist/browser/react/use-action.js +0 -134
  670. package/dist/browser/react/use-action.js.map +0 -1
  671. package/dist/browser/react/use-client-cache.d.ts +0 -41
  672. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  673. package/dist/browser/react/use-client-cache.js +0 -39
  674. package/dist/browser/react/use-client-cache.js.map +0 -1
  675. package/dist/browser/react/use-handle.d.ts +0 -31
  676. package/dist/browser/react/use-handle.d.ts.map +0 -1
  677. package/dist/browser/react/use-handle.js +0 -144
  678. package/dist/browser/react/use-handle.js.map +0 -1
  679. package/dist/browser/react/use-href.d.ts +0 -33
  680. package/dist/browser/react/use-href.d.ts.map +0 -1
  681. package/dist/browser/react/use-href.js +0 -39
  682. package/dist/browser/react/use-href.js.map +0 -1
  683. package/dist/browser/react/use-link-status.d.ts +0 -37
  684. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  685. package/dist/browser/react/use-link-status.js +0 -99
  686. package/dist/browser/react/use-link-status.js.map +0 -1
  687. package/dist/browser/react/use-mount.d.ts +0 -25
  688. package/dist/browser/react/use-mount.d.ts.map +0 -1
  689. package/dist/browser/react/use-mount.js +0 -30
  690. package/dist/browser/react/use-mount.js.map +0 -1
  691. package/dist/browser/react/use-navigation.d.ts +0 -27
  692. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  693. package/dist/browser/react/use-navigation.js +0 -87
  694. package/dist/browser/react/use-navigation.js.map +0 -1
  695. package/dist/browser/react/use-segments.d.ts +0 -38
  696. package/dist/browser/react/use-segments.d.ts.map +0 -1
  697. package/dist/browser/react/use-segments.js +0 -130
  698. package/dist/browser/react/use-segments.js.map +0 -1
  699. package/dist/browser/request-controller.d.ts +0 -26
  700. package/dist/browser/request-controller.d.ts.map +0 -1
  701. package/dist/browser/request-controller.js +0 -147
  702. package/dist/browser/request-controller.js.map +0 -1
  703. package/dist/browser/rsc-router.d.ts +0 -129
  704. package/dist/browser/rsc-router.d.ts.map +0 -1
  705. package/dist/browser/rsc-router.js +0 -195
  706. package/dist/browser/rsc-router.js.map +0 -1
  707. package/dist/browser/scroll-restoration.d.ts +0 -93
  708. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  709. package/dist/browser/scroll-restoration.js +0 -321
  710. package/dist/browser/scroll-restoration.js.map +0 -1
  711. package/dist/browser/segment-structure-assert.d.ts +0 -17
  712. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  713. package/dist/browser/segment-structure-assert.js +0 -59
  714. package/dist/browser/segment-structure-assert.js.map +0 -1
  715. package/dist/browser/server-action-bridge.d.ts +0 -26
  716. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  717. package/dist/browser/server-action-bridge.js +0 -668
  718. package/dist/browser/server-action-bridge.js.map +0 -1
  719. package/dist/browser/shallow.d.ts +0 -12
  720. package/dist/browser/shallow.d.ts.map +0 -1
  721. package/dist/browser/shallow.js +0 -34
  722. package/dist/browser/shallow.js.map +0 -1
  723. package/dist/browser/types.d.ts +0 -369
  724. package/dist/browser/types.d.ts.map +0 -1
  725. package/dist/browser/types.js +0 -2
  726. package/dist/browser/types.js.map +0 -1
  727. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  728. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  729. package/dist/build/__tests__/generate-cli.test.js +0 -237
  730. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  731. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  732. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  733. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  734. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  735. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  736. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  737. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  738. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  739. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  740. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  741. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  742. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  743. package/dist/build/generate-manifest.d.ts +0 -81
  744. package/dist/build/generate-manifest.d.ts.map +0 -1
  745. package/dist/build/generate-manifest.js +0 -276
  746. package/dist/build/generate-manifest.js.map +0 -1
  747. package/dist/build/generate-route-types.d.ts +0 -115
  748. package/dist/build/generate-route-types.d.ts.map +0 -1
  749. package/dist/build/generate-route-types.js +0 -740
  750. package/dist/build/generate-route-types.js.map +0 -1
  751. package/dist/build/index.d.ts +0 -21
  752. package/dist/build/index.d.ts.map +0 -1
  753. package/dist/build/index.js +0 -21
  754. package/dist/build/index.js.map +0 -1
  755. package/dist/build/route-trie.d.ts +0 -71
  756. package/dist/build/route-trie.d.ts.map +0 -1
  757. package/dist/build/route-trie.js +0 -175
  758. package/dist/build/route-trie.js.map +0 -1
  759. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  760. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  761. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  762. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  763. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  764. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  765. package/dist/cache/__tests__/document-cache.test.js +0 -345
  766. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  767. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  768. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  769. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  770. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  771. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  772. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  773. package/dist/cache/__tests__/memory-store.test.js +0 -367
  774. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  775. package/dist/cache/cache-scope.d.ts +0 -102
  776. package/dist/cache/cache-scope.d.ts.map +0 -1
  777. package/dist/cache/cache-scope.js +0 -440
  778. package/dist/cache/cache-scope.js.map +0 -1
  779. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  780. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  781. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  782. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  783. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  784. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  785. package/dist/cache/cf/cf-cache-store.js +0 -242
  786. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  787. package/dist/cache/cf/index.d.ts +0 -14
  788. package/dist/cache/cf/index.d.ts.map +0 -1
  789. package/dist/cache/cf/index.js +0 -17
  790. package/dist/cache/cf/index.js.map +0 -1
  791. package/dist/cache/document-cache.d.ts +0 -64
  792. package/dist/cache/document-cache.d.ts.map +0 -1
  793. package/dist/cache/document-cache.js +0 -228
  794. package/dist/cache/document-cache.js.map +0 -1
  795. package/dist/cache/index.d.ts +0 -19
  796. package/dist/cache/index.d.ts.map +0 -1
  797. package/dist/cache/index.js +0 -21
  798. package/dist/cache/index.js.map +0 -1
  799. package/dist/cache/memory-segment-store.d.ts +0 -110
  800. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  801. package/dist/cache/memory-segment-store.js +0 -117
  802. package/dist/cache/memory-segment-store.js.map +0 -1
  803. package/dist/cache/memory-store.d.ts +0 -41
  804. package/dist/cache/memory-store.d.ts.map +0 -1
  805. package/dist/cache/memory-store.js +0 -191
  806. package/dist/cache/memory-store.js.map +0 -1
  807. package/dist/cache/types.d.ts +0 -317
  808. package/dist/cache/types.d.ts.map +0 -1
  809. package/dist/cache/types.js +0 -12
  810. package/dist/cache/types.js.map +0 -1
  811. package/dist/client.d.ts +0 -248
  812. package/dist/client.d.ts.map +0 -1
  813. package/dist/client.js +0 -367
  814. package/dist/client.js.map +0 -1
  815. package/dist/client.rsc.d.ts +0 -26
  816. package/dist/client.rsc.d.ts.map +0 -1
  817. package/dist/client.rsc.js +0 -46
  818. package/dist/client.rsc.js.map +0 -1
  819. package/dist/component-utils.d.ts +0 -36
  820. package/dist/component-utils.d.ts.map +0 -1
  821. package/dist/component-utils.js +0 -61
  822. package/dist/component-utils.js.map +0 -1
  823. package/dist/components/DefaultDocument.d.ts +0 -13
  824. package/dist/components/DefaultDocument.d.ts.map +0 -1
  825. package/dist/components/DefaultDocument.js +0 -15
  826. package/dist/components/DefaultDocument.js.map +0 -1
  827. package/dist/debug.d.ts +0 -58
  828. package/dist/debug.d.ts.map +0 -1
  829. package/dist/debug.js +0 -157
  830. package/dist/debug.js.map +0 -1
  831. package/dist/default-error-boundary.d.ts +0 -11
  832. package/dist/default-error-boundary.d.ts.map +0 -1
  833. package/dist/default-error-boundary.js +0 -45
  834. package/dist/default-error-boundary.js.map +0 -1
  835. package/dist/deps/browser.d.ts +0 -2
  836. package/dist/deps/browser.d.ts.map +0 -1
  837. package/dist/deps/browser.js +0 -3
  838. package/dist/deps/browser.js.map +0 -1
  839. package/dist/deps/html-stream-client.d.ts +0 -2
  840. package/dist/deps/html-stream-client.d.ts.map +0 -1
  841. package/dist/deps/html-stream-client.js +0 -3
  842. package/dist/deps/html-stream-client.js.map +0 -1
  843. package/dist/deps/html-stream-server.d.ts +0 -2
  844. package/dist/deps/html-stream-server.d.ts.map +0 -1
  845. package/dist/deps/html-stream-server.js +0 -3
  846. package/dist/deps/html-stream-server.js.map +0 -1
  847. package/dist/deps/rsc.d.ts +0 -2
  848. package/dist/deps/rsc.d.ts.map +0 -1
  849. package/dist/deps/rsc.js +0 -4
  850. package/dist/deps/rsc.js.map +0 -1
  851. package/dist/deps/ssr.d.ts +0 -2
  852. package/dist/deps/ssr.d.ts.map +0 -1
  853. package/dist/deps/ssr.js +0 -3
  854. package/dist/deps/ssr.js.map +0 -1
  855. package/dist/errors.d.ts +0 -174
  856. package/dist/errors.d.ts.map +0 -1
  857. package/dist/errors.js +0 -241
  858. package/dist/errors.js.map +0 -1
  859. package/dist/handle.d.ts +0 -78
  860. package/dist/handle.d.ts.map +0 -1
  861. package/dist/handle.js +0 -82
  862. package/dist/handle.js.map +0 -1
  863. package/dist/handles/MetaTags.d.ts +0 -14
  864. package/dist/handles/MetaTags.d.ts.map +0 -1
  865. package/dist/handles/MetaTags.js +0 -136
  866. package/dist/handles/MetaTags.js.map +0 -1
  867. package/dist/handles/index.d.ts +0 -6
  868. package/dist/handles/index.d.ts.map +0 -1
  869. package/dist/handles/index.js +0 -6
  870. package/dist/handles/index.js.map +0 -1
  871. package/dist/handles/meta.d.ts +0 -39
  872. package/dist/handles/meta.d.ts.map +0 -1
  873. package/dist/handles/meta.js +0 -202
  874. package/dist/handles/meta.js.map +0 -1
  875. package/dist/host/__tests__/errors.test.d.ts +0 -2
  876. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  877. package/dist/host/__tests__/errors.test.js +0 -76
  878. package/dist/host/__tests__/errors.test.js.map +0 -1
  879. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  880. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  881. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  882. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  883. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  884. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  885. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  886. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  887. package/dist/host/__tests__/router.test.d.ts +0 -2
  888. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  889. package/dist/host/__tests__/router.test.js +0 -241
  890. package/dist/host/__tests__/router.test.js.map +0 -1
  891. package/dist/host/__tests__/testing.test.d.ts +0 -2
  892. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  893. package/dist/host/__tests__/testing.test.js +0 -64
  894. package/dist/host/__tests__/testing.test.js.map +0 -1
  895. package/dist/host/__tests__/utils.test.d.ts +0 -2
  896. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  897. package/dist/host/__tests__/utils.test.js +0 -29
  898. package/dist/host/__tests__/utils.test.js.map +0 -1
  899. package/dist/host/cookie-handler.d.ts +0 -34
  900. package/dist/host/cookie-handler.d.ts.map +0 -1
  901. package/dist/host/cookie-handler.js +0 -124
  902. package/dist/host/cookie-handler.js.map +0 -1
  903. package/dist/host/errors.d.ts +0 -56
  904. package/dist/host/errors.d.ts.map +0 -1
  905. package/dist/host/errors.js +0 -79
  906. package/dist/host/errors.js.map +0 -1
  907. package/dist/host/index.d.ts +0 -29
  908. package/dist/host/index.d.ts.map +0 -1
  909. package/dist/host/index.js +0 -32
  910. package/dist/host/index.js.map +0 -1
  911. package/dist/host/pattern-matcher.d.ts +0 -36
  912. package/dist/host/pattern-matcher.d.ts.map +0 -1
  913. package/dist/host/pattern-matcher.js +0 -172
  914. package/dist/host/pattern-matcher.js.map +0 -1
  915. package/dist/host/router.d.ts +0 -26
  916. package/dist/host/router.d.ts.map +0 -1
  917. package/dist/host/router.js +0 -218
  918. package/dist/host/router.js.map +0 -1
  919. package/dist/host/testing.d.ts +0 -36
  920. package/dist/host/testing.d.ts.map +0 -1
  921. package/dist/host/testing.js +0 -55
  922. package/dist/host/testing.js.map +0 -1
  923. package/dist/host/types.d.ts +0 -115
  924. package/dist/host/types.d.ts.map +0 -1
  925. package/dist/host/types.js +0 -7
  926. package/dist/host/types.js.map +0 -1
  927. package/dist/host/utils.d.ts +0 -21
  928. package/dist/host/utils.d.ts.map +0 -1
  929. package/dist/host/utils.js +0 -23
  930. package/dist/host/utils.js.map +0 -1
  931. package/dist/href-client.d.ts +0 -131
  932. package/dist/href-client.d.ts.map +0 -1
  933. package/dist/href-client.js +0 -64
  934. package/dist/href-client.js.map +0 -1
  935. package/dist/href-context.d.ts +0 -29
  936. package/dist/href-context.d.ts.map +0 -1
  937. package/dist/href-context.js +0 -21
  938. package/dist/href-context.js.map +0 -1
  939. package/dist/index.d.ts +0 -73
  940. package/dist/index.d.ts.map +0 -1
  941. package/dist/index.js +0 -91
  942. package/dist/index.js.map +0 -1
  943. package/dist/index.rsc.d.ts +0 -32
  944. package/dist/index.rsc.d.ts.map +0 -1
  945. package/dist/index.rsc.js +0 -40
  946. package/dist/index.rsc.js.map +0 -1
  947. package/dist/internal-debug.d.ts +0 -2
  948. package/dist/internal-debug.d.ts.map +0 -1
  949. package/dist/internal-debug.js +0 -5
  950. package/dist/internal-debug.js.map +0 -1
  951. package/dist/loader.d.ts +0 -14
  952. package/dist/loader.d.ts.map +0 -1
  953. package/dist/loader.js +0 -20
  954. package/dist/loader.js.map +0 -1
  955. package/dist/loader.rsc.d.ts +0 -19
  956. package/dist/loader.rsc.d.ts.map +0 -1
  957. package/dist/loader.rsc.js +0 -99
  958. package/dist/loader.rsc.js.map +0 -1
  959. package/dist/network-error-thrower.d.ts +0 -17
  960. package/dist/network-error-thrower.d.ts.map +0 -1
  961. package/dist/network-error-thrower.js +0 -14
  962. package/dist/network-error-thrower.js.map +0 -1
  963. package/dist/outlet-context.d.ts +0 -13
  964. package/dist/outlet-context.d.ts.map +0 -1
  965. package/dist/outlet-context.js +0 -3
  966. package/dist/outlet-context.js.map +0 -1
  967. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  968. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  969. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  970. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  971. package/dist/prerender/param-hash.d.ts +0 -16
  972. package/dist/prerender/param-hash.d.ts.map +0 -1
  973. package/dist/prerender/param-hash.js +0 -36
  974. package/dist/prerender/param-hash.js.map +0 -1
  975. package/dist/prerender/store.d.ts +0 -38
  976. package/dist/prerender/store.d.ts.map +0 -1
  977. package/dist/prerender/store.js +0 -61
  978. package/dist/prerender/store.js.map +0 -1
  979. package/dist/prerender.d.ts +0 -66
  980. package/dist/prerender.d.ts.map +0 -1
  981. package/dist/prerender.js +0 -57
  982. package/dist/prerender.js.map +0 -1
  983. package/dist/reverse.d.ts +0 -196
  984. package/dist/reverse.d.ts.map +0 -1
  985. package/dist/reverse.js +0 -78
  986. package/dist/reverse.js.map +0 -1
  987. package/dist/root-error-boundary.d.ts +0 -33
  988. package/dist/root-error-boundary.d.ts.map +0 -1
  989. package/dist/root-error-boundary.js +0 -165
  990. package/dist/root-error-boundary.js.map +0 -1
  991. package/dist/route-content-wrapper.d.ts +0 -46
  992. package/dist/route-content-wrapper.d.ts.map +0 -1
  993. package/dist/route-content-wrapper.js +0 -77
  994. package/dist/route-content-wrapper.js.map +0 -1
  995. package/dist/route-definition.d.ts +0 -421
  996. package/dist/route-definition.d.ts.map +0 -1
  997. package/dist/route-definition.js +0 -868
  998. package/dist/route-definition.js.map +0 -1
  999. package/dist/route-map-builder.d.ts +0 -155
  1000. package/dist/route-map-builder.d.ts.map +0 -1
  1001. package/dist/route-map-builder.js +0 -237
  1002. package/dist/route-map-builder.js.map +0 -1
  1003. package/dist/route-types.d.ts +0 -165
  1004. package/dist/route-types.d.ts.map +0 -1
  1005. package/dist/route-types.js +0 -7
  1006. package/dist/route-types.js.map +0 -1
  1007. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  1008. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  1009. package/dist/router/__tests__/handler-context.test.js +0 -65
  1010. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  1011. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  1012. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  1013. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  1014. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  1015. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  1016. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  1017. package/dist/router/__tests__/match-context.test.js +0 -92
  1018. package/dist/router/__tests__/match-context.test.js.map +0 -1
  1019. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  1020. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  1021. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  1022. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  1023. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  1024. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  1025. package/dist/router/__tests__/match-result.test.js +0 -457
  1026. package/dist/router/__tests__/match-result.test.js.map +0 -1
  1027. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  1028. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  1029. package/dist/router/__tests__/on-error.test.js +0 -678
  1030. package/dist/router/__tests__/on-error.test.js.map +0 -1
  1031. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  1032. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  1033. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  1034. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  1035. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  1036. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  1037. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  1038. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  1039. package/dist/router/error-handling.d.ts +0 -77
  1040. package/dist/router/error-handling.d.ts.map +0 -1
  1041. package/dist/router/error-handling.js +0 -202
  1042. package/dist/router/error-handling.js.map +0 -1
  1043. package/dist/router/handler-context.d.ts +0 -20
  1044. package/dist/router/handler-context.d.ts.map +0 -1
  1045. package/dist/router/handler-context.js +0 -198
  1046. package/dist/router/handler-context.js.map +0 -1
  1047. package/dist/router/intercept-resolution.d.ts +0 -66
  1048. package/dist/router/intercept-resolution.d.ts.map +0 -1
  1049. package/dist/router/intercept-resolution.js +0 -246
  1050. package/dist/router/intercept-resolution.js.map +0 -1
  1051. package/dist/router/loader-resolution.d.ts +0 -64
  1052. package/dist/router/loader-resolution.d.ts.map +0 -1
  1053. package/dist/router/loader-resolution.js +0 -284
  1054. package/dist/router/loader-resolution.js.map +0 -1
  1055. package/dist/router/logging.d.ts +0 -15
  1056. package/dist/router/logging.d.ts.map +0 -1
  1057. package/dist/router/logging.js +0 -99
  1058. package/dist/router/logging.js.map +0 -1
  1059. package/dist/router/manifest.d.ts +0 -22
  1060. package/dist/router/manifest.d.ts.map +0 -1
  1061. package/dist/router/manifest.js +0 -181
  1062. package/dist/router/manifest.js.map +0 -1
  1063. package/dist/router/match-api.d.ts +0 -35
  1064. package/dist/router/match-api.d.ts.map +0 -1
  1065. package/dist/router/match-api.js +0 -406
  1066. package/dist/router/match-api.js.map +0 -1
  1067. package/dist/router/match-context.d.ts +0 -206
  1068. package/dist/router/match-context.d.ts.map +0 -1
  1069. package/dist/router/match-context.js +0 -17
  1070. package/dist/router/match-context.js.map +0 -1
  1071. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  1072. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  1073. package/dist/router/match-middleware/background-revalidation.js +0 -75
  1074. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  1075. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  1076. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  1077. package/dist/router/match-middleware/cache-lookup.js +0 -257
  1078. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  1079. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  1080. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  1081. package/dist/router/match-middleware/cache-store.js +0 -108
  1082. package/dist/router/match-middleware/cache-store.js.map +0 -1
  1083. package/dist/router/match-middleware/index.d.ts +0 -81
  1084. package/dist/router/match-middleware/index.d.ts.map +0 -1
  1085. package/dist/router/match-middleware/index.js +0 -80
  1086. package/dist/router/match-middleware/index.js.map +0 -1
  1087. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  1088. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  1089. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  1090. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  1091. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  1092. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  1093. package/dist/router/match-middleware/segment-resolution.js +0 -53
  1094. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  1095. package/dist/router/match-pipelines.d.ts +0 -147
  1096. package/dist/router/match-pipelines.d.ts.map +0 -1
  1097. package/dist/router/match-pipelines.js +0 -82
  1098. package/dist/router/match-pipelines.js.map +0 -1
  1099. package/dist/router/match-result.d.ts +0 -126
  1100. package/dist/router/match-result.d.ts.map +0 -1
  1101. package/dist/router/match-result.js +0 -93
  1102. package/dist/router/match-result.js.map +0 -1
  1103. package/dist/router/metrics.d.ts +0 -20
  1104. package/dist/router/metrics.d.ts.map +0 -1
  1105. package/dist/router/metrics.js +0 -47
  1106. package/dist/router/metrics.js.map +0 -1
  1107. package/dist/router/middleware.d.ts +0 -249
  1108. package/dist/router/middleware.d.ts.map +0 -1
  1109. package/dist/router/middleware.js +0 -434
  1110. package/dist/router/middleware.js.map +0 -1
  1111. package/dist/router/middleware.test.d.ts +0 -2
  1112. package/dist/router/middleware.test.d.ts.map +0 -1
  1113. package/dist/router/middleware.test.js +0 -816
  1114. package/dist/router/middleware.test.js.map +0 -1
  1115. package/dist/router/pattern-matching.d.ts +0 -149
  1116. package/dist/router/pattern-matching.d.ts.map +0 -1
  1117. package/dist/router/pattern-matching.js +0 -349
  1118. package/dist/router/pattern-matching.js.map +0 -1
  1119. package/dist/router/revalidation.d.ts +0 -44
  1120. package/dist/router/revalidation.d.ts.map +0 -1
  1121. package/dist/router/revalidation.js +0 -147
  1122. package/dist/router/revalidation.js.map +0 -1
  1123. package/dist/router/router-context.d.ts +0 -135
  1124. package/dist/router/router-context.d.ts.map +0 -1
  1125. package/dist/router/router-context.js +0 -36
  1126. package/dist/router/router-context.js.map +0 -1
  1127. package/dist/router/segment-resolution.d.ts +0 -127
  1128. package/dist/router/segment-resolution.d.ts.map +0 -1
  1129. package/dist/router/segment-resolution.js +0 -919
  1130. package/dist/router/segment-resolution.js.map +0 -1
  1131. package/dist/router/trie-matching.d.ts +0 -40
  1132. package/dist/router/trie-matching.d.ts.map +0 -1
  1133. package/dist/router/trie-matching.js +0 -127
  1134. package/dist/router/trie-matching.js.map +0 -1
  1135. package/dist/router/types.d.ts +0 -136
  1136. package/dist/router/types.d.ts.map +0 -1
  1137. package/dist/router/types.js +0 -7
  1138. package/dist/router/types.js.map +0 -1
  1139. package/dist/router.d.ts +0 -753
  1140. package/dist/router.d.ts.map +0 -1
  1141. package/dist/router.gen.d.ts +0 -6
  1142. package/dist/router.gen.d.ts.map +0 -1
  1143. package/dist/router.gen.js +0 -6
  1144. package/dist/router.gen.js.map +0 -1
  1145. package/dist/router.js +0 -1304
  1146. package/dist/router.js.map +0 -1
  1147. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  1148. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  1149. package/dist/rsc/__tests__/helpers.test.js +0 -140
  1150. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  1151. package/dist/rsc/handler.d.ts +0 -45
  1152. package/dist/rsc/handler.d.ts.map +0 -1
  1153. package/dist/rsc/handler.js +0 -1172
  1154. package/dist/rsc/handler.js.map +0 -1
  1155. package/dist/rsc/helpers.d.ts +0 -16
  1156. package/dist/rsc/helpers.d.ts.map +0 -1
  1157. package/dist/rsc/helpers.js +0 -55
  1158. package/dist/rsc/helpers.js.map +0 -1
  1159. package/dist/rsc/index.d.ts +0 -22
  1160. package/dist/rsc/index.d.ts.map +0 -1
  1161. package/dist/rsc/index.js +0 -23
  1162. package/dist/rsc/index.js.map +0 -1
  1163. package/dist/rsc/nonce.d.ts +0 -9
  1164. package/dist/rsc/nonce.d.ts.map +0 -1
  1165. package/dist/rsc/nonce.js +0 -18
  1166. package/dist/rsc/nonce.js.map +0 -1
  1167. package/dist/rsc/types.d.ts +0 -206
  1168. package/dist/rsc/types.d.ts.map +0 -1
  1169. package/dist/rsc/types.js +0 -8
  1170. package/dist/rsc/types.js.map +0 -1
  1171. package/dist/search-params.d.ts +0 -103
  1172. package/dist/search-params.d.ts.map +0 -1
  1173. package/dist/search-params.js +0 -74
  1174. package/dist/search-params.js.map +0 -1
  1175. package/dist/segment-system.d.ts +0 -75
  1176. package/dist/segment-system.d.ts.map +0 -1
  1177. package/dist/segment-system.js +0 -336
  1178. package/dist/segment-system.js.map +0 -1
  1179. package/dist/server/context.d.ts +0 -245
  1180. package/dist/server/context.d.ts.map +0 -1
  1181. package/dist/server/context.js +0 -197
  1182. package/dist/server/context.js.map +0 -1
  1183. package/dist/server/fetchable-loader-store.d.ts +0 -18
  1184. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  1185. package/dist/server/fetchable-loader-store.js +0 -18
  1186. package/dist/server/fetchable-loader-store.js.map +0 -1
  1187. package/dist/server/handle-store.d.ts +0 -85
  1188. package/dist/server/handle-store.d.ts.map +0 -1
  1189. package/dist/server/handle-store.js +0 -142
  1190. package/dist/server/handle-store.js.map +0 -1
  1191. package/dist/server/loader-registry.d.ts +0 -55
  1192. package/dist/server/loader-registry.d.ts.map +0 -1
  1193. package/dist/server/loader-registry.js +0 -132
  1194. package/dist/server/loader-registry.js.map +0 -1
  1195. package/dist/server/request-context.d.ts +0 -226
  1196. package/dist/server/request-context.d.ts.map +0 -1
  1197. package/dist/server/request-context.js +0 -290
  1198. package/dist/server/request-context.js.map +0 -1
  1199. package/dist/server/root-layout.d.ts +0 -4
  1200. package/dist/server/root-layout.d.ts.map +0 -1
  1201. package/dist/server/root-layout.js +0 -5
  1202. package/dist/server/root-layout.js.map +0 -1
  1203. package/dist/server.d.ts +0 -15
  1204. package/dist/server.d.ts.map +0 -1
  1205. package/dist/server.js +0 -20
  1206. package/dist/server.js.map +0 -1
  1207. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  1208. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  1209. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  1210. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  1211. package/dist/ssr/index.d.ts +0 -98
  1212. package/dist/ssr/index.d.ts.map +0 -1
  1213. package/dist/ssr/index.js +0 -158
  1214. package/dist/ssr/index.js.map +0 -1
  1215. package/dist/static-handler.d.ts +0 -50
  1216. package/dist/static-handler.d.ts.map +0 -1
  1217. package/dist/static-handler.gen.d.ts +0 -5
  1218. package/dist/static-handler.gen.d.ts.map +0 -1
  1219. package/dist/static-handler.gen.js +0 -5
  1220. package/dist/static-handler.gen.js.map +0 -1
  1221. package/dist/static-handler.js +0 -29
  1222. package/dist/static-handler.js.map +0 -1
  1223. package/dist/theme/ThemeProvider.d.ts +0 -20
  1224. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  1225. package/dist/theme/ThemeProvider.js +0 -240
  1226. package/dist/theme/ThemeProvider.js.map +0 -1
  1227. package/dist/theme/ThemeScript.d.ts +0 -48
  1228. package/dist/theme/ThemeScript.d.ts.map +0 -1
  1229. package/dist/theme/ThemeScript.js +0 -13
  1230. package/dist/theme/ThemeScript.js.map +0 -1
  1231. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  1232. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  1233. package/dist/theme/__tests__/theme.test.js +0 -103
  1234. package/dist/theme/__tests__/theme.test.js.map +0 -1
  1235. package/dist/theme/constants.d.ts +0 -29
  1236. package/dist/theme/constants.d.ts.map +0 -1
  1237. package/dist/theme/constants.js +0 -48
  1238. package/dist/theme/constants.js.map +0 -1
  1239. package/dist/theme/index.d.ts +0 -31
  1240. package/dist/theme/index.d.ts.map +0 -1
  1241. package/dist/theme/index.js +0 -36
  1242. package/dist/theme/index.js.map +0 -1
  1243. package/dist/theme/theme-context.d.ts +0 -40
  1244. package/dist/theme/theme-context.d.ts.map +0 -1
  1245. package/dist/theme/theme-context.js +0 -60
  1246. package/dist/theme/theme-context.js.map +0 -1
  1247. package/dist/theme/theme-script.d.ts +0 -27
  1248. package/dist/theme/theme-script.d.ts.map +0 -1
  1249. package/dist/theme/theme-script.js +0 -147
  1250. package/dist/theme/theme-script.js.map +0 -1
  1251. package/dist/theme/types.d.ts +0 -163
  1252. package/dist/theme/types.d.ts.map +0 -1
  1253. package/dist/theme/types.js +0 -11
  1254. package/dist/theme/types.js.map +0 -1
  1255. package/dist/theme/use-theme.d.ts +0 -12
  1256. package/dist/theme/use-theme.d.ts.map +0 -1
  1257. package/dist/theme/use-theme.js +0 -40
  1258. package/dist/theme/use-theme.js.map +0 -1
  1259. package/dist/types.d.ts +0 -1479
  1260. package/dist/types.d.ts.map +0 -1
  1261. package/dist/types.js +0 -10
  1262. package/dist/types.js.map +0 -1
  1263. package/dist/urls.d.ts +0 -441
  1264. package/dist/urls.d.ts.map +0 -1
  1265. package/dist/urls.gen.d.ts +0 -8
  1266. package/dist/urls.gen.d.ts.map +0 -1
  1267. package/dist/urls.gen.js +0 -8
  1268. package/dist/urls.gen.js.map +0 -1
  1269. package/dist/urls.js +0 -443
  1270. package/dist/urls.js.map +0 -1
  1271. package/dist/use-loader.d.ts +0 -127
  1272. package/dist/use-loader.d.ts.map +0 -1
  1273. package/dist/use-loader.js +0 -237
  1274. package/dist/use-loader.js.map +0 -1
  1275. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  1276. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  1277. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  1278. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  1279. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  1280. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  1281. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  1282. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  1283. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  1284. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  1285. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  1286. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  1287. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  1288. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  1289. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  1290. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  1291. package/dist/vite/ast-handler-extract.d.ts +0 -49
  1292. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  1293. package/dist/vite/ast-handler-extract.js +0 -249
  1294. package/dist/vite/ast-handler-extract.js.map +0 -1
  1295. package/dist/vite/expose-action-id.d.ts +0 -19
  1296. package/dist/vite/expose-action-id.d.ts.map +0 -1
  1297. package/dist/vite/expose-action-id.js +0 -250
  1298. package/dist/vite/expose-action-id.js.map +0 -1
  1299. package/dist/vite/expose-id-utils.d.ts +0 -69
  1300. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  1301. package/dist/vite/expose-id-utils.js +0 -289
  1302. package/dist/vite/expose-id-utils.js.map +0 -1
  1303. package/dist/vite/expose-internal-ids.d.ts +0 -22
  1304. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  1305. package/dist/vite/expose-internal-ids.js +0 -886
  1306. package/dist/vite/expose-internal-ids.js.map +0 -1
  1307. package/dist/vite/index.d.ts +0 -149
  1308. package/dist/vite/index.d.ts.map +0 -1
  1309. package/dist/vite/index.js.bak +0 -5448
  1310. package/dist/vite/index.js.map +0 -1
  1311. package/dist/vite/index.named-routes.gen.ts +0 -103
  1312. package/dist/vite/package-resolution.d.ts +0 -43
  1313. package/dist/vite/package-resolution.d.ts.map +0 -1
  1314. package/dist/vite/package-resolution.js +0 -112
  1315. package/dist/vite/package-resolution.js.map +0 -1
  1316. package/dist/vite/virtual-entries.d.ts +0 -25
  1317. package/dist/vite/virtual-entries.d.ts.map +0 -1
  1318. package/dist/vite/virtual-entries.js +0 -110
  1319. package/dist/vite/virtual-entries.js.map +0 -1
  1320. package/skills/migrate-react-router/cloudflare-workers.md +0 -129
@@ -2,12 +2,13 @@
2
2
  * Runtime-neutral same-origin redirect rule.
3
3
  *
4
4
  * Shared by the client redirect guard (`browser/validate-redirect-origin.ts`,
5
- * which validates redirect targets the client JS is about to navigate to) and
6
- * the server outgoing-redirect guard (`rsc/redirect-guard.ts`, which validates
7
- * every browser-followed `Location` header before it leaves the handler). Kept
8
- * at the `src/` root so both layers import the ONE rule and cannot drift -- a
5
+ * which validates redirect targets the client JS is about to navigate to), the
6
+ * server outgoing 3xx guard (`rsc/redirect-guard.ts`, which validates every
7
+ * browser-followed `Location` header before it leaves the handler), and soft
8
+ * Flight / `X-RSC-Redirect` construction (`resolveSoftRedirectUrl`). Kept at
9
+ * the `src/` root so every layer imports the ONE rule and cannot drift -- a
9
10
  * cross-origin target blocked on the JS/fetch path is blocked identically on the
10
- * no-JS (PE) and full-page document paths.
11
+ * no-JS (PE), full-page document, and soft SPA channels.
11
12
  */
12
13
 
13
14
  /**
@@ -66,14 +67,42 @@ export function resolveExternalRedirect(
66
67
  * Every guard that neutralizes a cross-origin/unsafe redirect target sends the
67
68
  * browser here instead: the app's basename root, or `"/"` when unset. Kept
68
69
  * beside the resolvers so the "where does a blocked redirect go" answer lives
69
- * in ONE place -- the server 3xx guard (`rsc/redirect-guard.ts`) and the
70
- * shell-HIT degradation path (`rsc/rsc-rendering.ts`) must agree, or a blocked
71
- * redirect lands differently depending on which exit it took.
70
+ * in ONE place -- the server 3xx guard (`rsc/redirect-guard.ts`), the
71
+ * shell-HIT degradation path (`rsc/rsc-rendering.ts`), and soft Flight/
72
+ * X-RSC-Redirect construction must agree, or a blocked redirect lands
73
+ * differently depending on which exit it took.
72
74
  */
73
75
  export function safeSameOriginLanding(basename: string | undefined): string {
74
76
  return basename && basename !== "/" ? basename : "/";
75
77
  }
76
78
 
79
+ /**
80
+ * Resolve a soft (SPA/Flight) redirect target before it leaves the server.
81
+ *
82
+ * Soft redirects are 200/204 (`X-RSC-Redirect` / `metadata.redirect`), not 3xx,
83
+ * so they never hit `guardOutgoingRedirect`. This applies the same policy the
84
+ * 3xx guard uses: same-origin by default, `external` opts into http(s)-only
85
+ * off-host, anything else lands on {@link safeSameOriginLanding}. Returns the
86
+ * URL that should be written into the soft-redirect wire fields.
87
+ */
88
+ export function resolveSoftRedirectUrl(
89
+ url: string,
90
+ requestOrigin: string,
91
+ basename: string | undefined,
92
+ external?: boolean,
93
+ ): string {
94
+ if (external) {
95
+ return (
96
+ resolveExternalRedirect(url, requestOrigin) ??
97
+ safeSameOriginLanding(basename)
98
+ );
99
+ }
100
+ return (
101
+ resolveSameOriginRedirect(url, requestOrigin) ??
102
+ safeSameOriginLanding(basename)
103
+ );
104
+ }
105
+
77
106
  /**
78
107
  * Out-of-band brand for `redirect(url, { external: true })`.
79
108
  *
@@ -225,17 +225,17 @@ export function registerRouterManifestLoader(
225
225
  }
226
226
 
227
227
  export async function ensureRouterManifest(routerId: string): Promise<void> {
228
- // Check both manifest AND trie. The virtual module's setRouterManifest()
229
- // pre-sets the manifest at startup, but the per-router trie is only
230
- // available from the lazy loader. Without this, the lazy loader never
231
- // runs and findMatch falls back to the global merged trie — which
232
- // contains routes from ALL routers and breaks multi-router setups.
233
- if (perRouterManifestMap.has(routerId) && perRouterTrieMap.has(routerId))
234
- return;
228
+ // Gate on the trie: it is the only data the lazy loader supplies (the
229
+ // name->path map is pre-set by the eager virtual module's
230
+ // setRouterManifest() and never comes from the loader). Gating on the
231
+ // manifest instead would let the loader be skipped while the per-router
232
+ // trie is missing, and findMatch would fall back to the global merged
233
+ // trie which contains routes from ALL routers and breaks multi-router
234
+ // setups.
235
+ if (perRouterTrieMap.has(routerId)) return;
235
236
  const loader = routerManifestLoaders.get(routerId);
236
237
  if (loader) {
237
238
  const mod = await loader();
238
- if (mod.manifest) perRouterManifestMap.set(routerId, mod.manifest);
239
239
  if (mod.trie) {
240
240
  perRouterTrieMap.set(routerId, mod.trie);
241
241
  // A trie serialized into the build manifest comes from complete
@@ -76,6 +76,46 @@ export function parseAcceptTypes(accept: string): AcceptEntry[] {
76
76
 
77
77
  export const RSC_RESPONSE_TYPE = "__rsc__";
78
78
 
79
+ /** RSC wire-format MIME type; explicit-opt-in flight transport. */
80
+ export const RSC_WIRE_MIME = "text/x-component";
81
+
82
+ /**
83
+ * The two representations an RSC route serves, in canonical-first order:
84
+ * text/html (the document) and text/x-component (the flight wire format).
85
+ * Both register as negotiation candidates in pickNegotiateVariant; without
86
+ * the wire-format entry, an explicit Accept: text/x-component fell through
87
+ * to the definition-order fallback — a JSON-first route answered a
88
+ * wire-format request with JSON. Which representation an RSC win actually
89
+ * renders is decided by prefersFlightRepresentation below, from the same
90
+ * Accept header (wired in via isRscRequest, rsc/ssr-setup.ts).
91
+ */
92
+ const RSC_MIMES: readonly string[] = ["text/html", RSC_WIRE_MIME];
93
+
94
+ /**
95
+ * Rank the RSC route's two representations against a parsed Accept list:
96
+ * true when the flight wire format outranks the HTML document. Wildcard
97
+ * entries count for the HTML side — they express "anything", and the
98
+ * canonical representation of anything is the document. Co-located with
99
+ * RSC_MIMES so the candidate registration and the representation choice
100
+ * cannot drift.
101
+ */
102
+ export function prefersFlightRepresentation(
103
+ acceptEntries: AcceptEntry[],
104
+ ): boolean {
105
+ for (const entry of acceptEntries) {
106
+ if (entry.q === 0) continue;
107
+ if (entry.mime === RSC_WIRE_MIME) return true;
108
+ if (
109
+ entry.mime === "text/html" ||
110
+ entry.mime === "text/*" ||
111
+ entry.mime === "*/*"
112
+ ) {
113
+ return false;
114
+ }
115
+ }
116
+ return false;
117
+ }
118
+
79
119
  /**
80
120
  * Pick the best negotiate variant by walking the client's sorted Accept list.
81
121
  * For each accepted MIME type (in q-value/order priority), check if any
@@ -87,12 +127,14 @@ export function pickNegotiateVariant<
87
127
  >(acceptEntries: AcceptEntry[], candidates: T[]): T {
88
128
  const byCandidateMime = new Map<string, T>();
89
129
  for (const c of candidates) {
90
- const mime =
130
+ const mimes =
91
131
  c.responseType === RSC_RESPONSE_TYPE
92
- ? "text/html"
93
- : RESPONSE_TYPE_MIME[c.responseType];
94
- if (mime && !byCandidateMime.has(mime)) {
95
- byCandidateMime.set(mime, c);
132
+ ? RSC_MIMES
133
+ : [RESPONSE_TYPE_MIME[c.responseType]];
134
+ for (const mime of mimes) {
135
+ if (mime && !byCandidateMime.has(mime)) {
136
+ byCandidateMime.set(mime, c);
137
+ }
96
138
  }
97
139
  }
98
140
 
@@ -14,7 +14,10 @@ import {
14
14
  isNonCacheable,
15
15
  type ContextSetOptions,
16
16
  } from "../context-var.js";
17
- import { isInsideCacheScope } from "../server/context.js";
17
+ import {
18
+ assertCachedHeaderWriteAllowed,
19
+ isInsideCacheScope,
20
+ } from "../server/context.js";
18
21
  import { NOCACHE_SYMBOL, assertNotInsideCacheExec } from "../cache/taint.js";
19
22
  import { isAutoGeneratedRouteName } from "../route-name.js";
20
23
  import { PRERENDER_PASSTHROUGH } from "../prerender.js";
@@ -214,7 +217,9 @@ export function createHandlerContext<TEnv>(
214
217
  const stubResponse =
215
218
  requestContext?.res ?? new Response(null, { status: 200 });
216
219
 
217
- // Guard mutating Headers methods so they throw inside "use cache" or cache() scope.
220
+ // Guard mutating Headers methods so they throw inside "use cache" scope or
221
+ // cached header-write territory (cache() boundary / ppr route render —
222
+ // assertCachedHeaderWriteAllowed, the unified #713 guard).
218
223
  // Uses lazy `ctx` reference (assigned below) — only the specific handler ctx
219
224
  // is stamped by cache-runtime, not the shared request context.
220
225
  // MUTATING_HEADERS_METHODS is hoisted to module scope (constant, read-only).
@@ -226,13 +231,7 @@ export function createHandlerContext<TEnv>(
226
231
  if (MUTATING_HEADERS_METHODS.has(prop as string)) {
227
232
  return (...args: any[]) => {
228
233
  assertNotInsideCacheExec(ctx, "headers");
229
- if (isInsideCacheScope()) {
230
- throw new Error(
231
- `ctx.headers.${String(prop)}() cannot be called inside a cache() boundary. ` +
232
- `On cache hit the handler is skipped, so this side effect would be lost. ` +
233
- `Move header mutations to a middleware or layout outside the cache() scope.`,
234
- );
235
- }
234
+ assertCachedHeaderWriteAllowed("ctx.headers", prop);
236
235
  return value.apply(target, args);
237
236
  };
238
237
  }
@@ -244,7 +243,10 @@ export function createHandlerContext<TEnv>(
244
243
 
245
244
  ctx = {
246
245
  params,
247
- build: false,
246
+ build: requestContext?.build ?? false,
247
+ dynamic(): void {
248
+ requestContext?.dynamic();
249
+ },
248
250
  dev: false,
249
251
  request,
250
252
  searchParams,
@@ -345,6 +347,9 @@ export function createPrerenderContext<TEnv>(
345
347
  return {
346
348
  params,
347
349
  build: true,
350
+ // Inert here: prerender/static contexts have no live PPR-shell decision to
351
+ // gate. dynamic() only reaches the shell axis on a live request or capture.
352
+ dynamic: () => {},
348
353
  dev: devMode ?? false,
349
354
  get request(): Request {
350
355
  return throwUnavailable("request");
@@ -430,6 +435,9 @@ export function createStaticContext<TEnv>(
430
435
  return throwUnavailable("params");
431
436
  },
432
437
  build: true,
438
+ // Inert here: prerender/static contexts have no live PPR-shell decision to
439
+ // gate. dynamic() only reaches the shell axis on a live request or capture.
440
+ dynamic: () => {},
433
441
  dev: devMode ?? false,
434
442
  get request(): Request {
435
443
  return throwUnavailable("request");
@@ -28,7 +28,32 @@ import {
28
28
  } from "./segment-resolution.js";
29
29
  import type { SegmentResolutionDeps } from "./types.js";
30
30
  import { debugLog } from "./logging.js";
31
- import { runInsideLoaderScope } from "../server/context.js";
31
+ import {
32
+ RangoContext,
33
+ latchPprHeaderScopeForEntries,
34
+ runInsideLoaderScope,
35
+ } from "../server/context.js";
36
+
37
+ /**
38
+ * Header-guard latch for the intercept funnels (issue #713). ppr and
39
+ * intercepts do not compose on the shell path — shells are captured/served
40
+ * only for document requests and withInterceptResolution skips intercepts on
41
+ * full matches — so this is defense in depth: a partial nav CAN render an
42
+ * intercept over a ppr-declared target route, in its own store scope where
43
+ * the main funnel's latch does not apply. Latch by declaration, off the
44
+ * target route's manifest entry (same leaf input as the segment funnels).
45
+ * Called AFTER intercept middleware runs — middleware stays the live lane.
46
+ */
47
+ function latchPprHeaderScopeForInterceptTarget(
48
+ interceptEntry: InterceptEntry,
49
+ ): void {
50
+ const targetEntry = RangoContext.getStore()?.manifest.get(
51
+ interceptEntry.routeName,
52
+ );
53
+ if (targetEntry) {
54
+ latchPprHeaderScopeForEntries([targetEntry], interceptEntry.routeName);
55
+ }
56
+ }
32
57
 
33
58
  /**
34
59
  * Check if an intercept's when conditions are satisfied.
@@ -150,6 +175,8 @@ export async function resolveInterceptEntry<TEnv>(
150
175
  if (middlewareResponse) throw middlewareResponse;
151
176
  }
152
177
 
178
+ latchPprHeaderScopeForInterceptTarget(interceptEntry);
179
+
153
180
  const loaderPromises: Promise<any>[] = [];
154
181
  const loaderIds: string[] = [];
155
182
 
@@ -328,6 +355,8 @@ export async function resolveInterceptLoadersOnly<TEnv>(
328
355
  return null;
329
356
  }
330
357
 
358
+ latchPprHeaderScopeForInterceptTarget(interceptEntry);
359
+
331
360
  const loaderPromises: Promise<any>[] = [];
332
361
  const loaderIds: string[] = [];
333
362
 
@@ -430,6 +430,22 @@ function createLoaderExecutor<TEnv>(
430
430
  // nested deps inherit isDslLoader=false only when the CHAIN started in a
431
431
  // handler; a chain started by the segment funnel stays DSL (the loader
432
432
  // scope ALS survives the body's awaits).
433
+ // Shell fast path eligibility: a HANDLER-invoked loader executing during a
434
+ // capture is handler-layer dynamism — on a handler-free (replayed) HIT it
435
+ // would never re-run, freezing its consumption-lane value (#672's "fresh
436
+ // per serve" slot shape). Mark the capture; the entry declines the fast
437
+ // path and keeps the full tail. DSL loaders re-run on every HIT and never
438
+ // set this.
439
+ if (!isDslLoader) {
440
+ const captureCtx = _getRequestContext();
441
+ if (
442
+ captureCtx?._shellCaptureRun &&
443
+ captureCtx._shellCaptureHandleLiveness
444
+ ) {
445
+ captureCtx._shellCaptureHandleLiveness.handlerInvokedLoader = true;
446
+ }
447
+ }
448
+
433
449
  const promise = observePhase(PHASES.loader(loader.$$id), () =>
434
450
  Promise.resolve(
435
451
  runInsideLoaderBodyScope(
@@ -1,4 +1,8 @@
1
- import { CacheScope, createCacheScope } from "../cache/cache-scope.js";
1
+ import {
2
+ CacheScope,
3
+ createCacheScope,
4
+ resolveShellImplicitCacheScope,
5
+ } from "../cache/cache-scope.js";
2
6
  import { RouteNotFoundError } from "../errors";
3
7
  import {
4
8
  createErrorInfo,
@@ -180,7 +184,10 @@ export async function createMatchContextForFull<TEnv>(
180
184
  },
181
185
  isSameRouteNavigation: false,
182
186
  interceptResult: null,
183
- cacheScope: snapshot.cacheScope,
187
+ // Shell fast path: a capture or an eligible HIT tail may substitute an
188
+ // implicit doc-level scope (marker-gated; a route-derived scope wins).
189
+ // Full matches only — partial navigations never serve a shell.
190
+ cacheScope: resolveShellImplicitCacheScope(snapshot.cacheScope),
184
191
  isIntercept: false,
185
192
  actionContext: undefined,
186
193
  isAction: false,
@@ -1,4 +1,5 @@
1
1
  import type { ReactNode } from "react";
2
+ import { INTERNAL_RANGO_DEBUG } from "../internal-debug.js";
2
3
  import { sanitizeError } from "../errors";
3
4
  import type { ErrorInfo, ErrorPhase, MatchResult } from "../types";
4
5
  import type {
@@ -291,7 +292,13 @@ export function createMatchHandlers<TEnv = any>(
291
292
  });
292
293
  emitter.start();
293
294
 
295
+ const ctxBuildStart = INTERNAL_RANGO_DEBUG ? performance.now() : 0;
294
296
  const result = await createMatchContextForFull(request, env);
297
+ if (INTERNAL_RANGO_DEBUG) {
298
+ console.log(
299
+ `[Server][match] context built +${Math.round(performance.now() - ctxBuildStart)}ms (abs ${Math.round(performance.now())})`,
300
+ );
301
+ }
295
302
 
296
303
  if ("type" in result && result.type === "redirect") {
297
304
  emitter.end(0, false);
@@ -310,7 +317,13 @@ export function createMatchHandlers<TEnv = any>(
310
317
  try {
311
318
  const state = createPipelineState();
312
319
  const pipeline = createMatchPartialPipeline(ctx, state);
320
+ const pipeStart = INTERNAL_RANGO_DEBUG ? performance.now() : 0;
313
321
  const matchResult = await collectMatchResult(pipeline, ctx, state);
322
+ if (INTERNAL_RANGO_DEBUG) {
323
+ console.log(
324
+ `[Server][match] pipeline collected +${Math.round(performance.now() - pipeStart)}ms (abs ${Math.round(performance.now())})`,
325
+ );
326
+ }
314
327
  if (hasTelemetry || cacheSignalEnabled) {
315
328
  const signalSegments = buildSignal(ctx.routeKey, state);
316
329
  recordSignalIfEnabled(signalSegments);
@@ -112,6 +112,9 @@ let prerenderStoreInstance: PrerenderStore | null | undefined;
112
112
  let _deserializeSegments:
113
113
  | typeof import("../../cache/segment-codec.js").deserializeSegments
114
114
  | undefined;
115
+ let _fragmentSegments:
116
+ | typeof import("../../cache/segment-codec.js").fragmentSegments
117
+ | undefined;
115
118
  let _restoreHandles:
116
119
  | typeof import("../../cache/handle-snapshot.js").restoreHandles
117
120
  | undefined;
@@ -135,6 +138,7 @@ async function ensurePrerenderDeps() {
135
138
  import("../../prerender/store.js"),
136
139
  ]);
137
140
  _deserializeSegments = codec.deserializeSegments;
141
+ _fragmentSegments = codec.fragmentSegments;
138
142
  _restoreHandles = snapshot.restoreHandles;
139
143
  _decodeHandles = snapshot.decodeHandles;
140
144
  _hashParams = paramHash.hashParams;
@@ -237,6 +241,7 @@ async function* yieldFromStore<TEnv>(
237
241
 
238
242
  if (
239
243
  !_deserializeSegments ||
244
+ !_fragmentSegments ||
240
245
  !_restoreHandles ||
241
246
  !_decodeHandles ||
242
247
  !_hashParams ||
@@ -245,7 +250,13 @@ async function* yieldFromStore<TEnv>(
245
250
  throw new Error("yieldFromStore called before ensurePrerenderDeps");
246
251
  }
247
252
 
248
- const segments = await _deserializeSegments(entry.segments);
253
+ // Shell-HIT tail (issue #700): a Prerender+ppr route's tail serves from THIS
254
+ // store (the prerender lookup runs before the cache scope), so the fragment
255
+ // splice must apply here too — otherwise producer B entries re-serialize the
256
+ // whole tree per request while producer A entries do not.
257
+ const segments = _getRequestContext()?._shellFragmentPayload
258
+ ? await _fragmentSegments(entry.segments)
259
+ : await _deserializeSegments(entry.segments);
249
260
 
250
261
  // Replay handle data (same as runtime cache hit path). entry.handles is a
251
262
  // Flight-encoded string ("" when none) — decode before restore so
@@ -79,6 +79,7 @@ export function appendMetric(
79
79
  start: number,
80
80
  duration: number,
81
81
  depth?: number,
82
+ desc?: string,
82
83
  ): void {
83
84
  if (!metricsStore) return;
84
85
  metricsStore.metrics.push({
@@ -86,6 +87,7 @@ export function appendMetric(
86
87
  duration,
87
88
  startTime: start - metricsStore.requestStart,
88
89
  depth,
90
+ desc,
89
91
  });
90
92
  }
91
93
 
@@ -104,6 +106,7 @@ interface DisplayRow {
104
106
  startTime: number;
105
107
  duration: number;
106
108
  depth: number | undefined;
109
+ desc: string | undefined;
107
110
  spans: Span[];
108
111
  }
109
112
 
@@ -137,6 +140,7 @@ function buildDisplayRows(sorted: PerformanceMetric[]): DisplayRow[] {
137
140
  startTime: m.startTime,
138
141
  duration: m.duration + post.duration,
139
142
  depth: m.depth,
143
+ desc: m.desc,
140
144
  spans: [
141
145
  { startTime: m.startTime, duration: m.duration },
142
146
  { startTime: post.startTime, duration: post.duration },
@@ -151,6 +155,7 @@ function buildDisplayRows(sorted: PerformanceMetric[]): DisplayRow[] {
151
155
  startTime: m.startTime,
152
156
  duration: m.duration,
153
157
  depth: m.depth,
158
+ desc: m.desc,
154
159
  spans: [{ startTime: m.startTime, duration: m.duration }],
155
160
  });
156
161
  continue;
@@ -169,6 +174,7 @@ function buildDisplayRows(sorted: PerformanceMetric[]): DisplayRow[] {
169
174
  startTime: m.startTime,
170
175
  duration: m.duration,
171
176
  depth: m.depth,
177
+ desc: m.desc,
172
178
  spans: [{ startTime: m.startTime, duration: m.duration }],
173
179
  });
174
180
  continue;
@@ -180,6 +186,7 @@ function buildDisplayRows(sorted: PerformanceMetric[]): DisplayRow[] {
180
186
  startTime: m.startTime,
181
187
  duration: m.duration,
182
188
  depth: m.depth,
189
+ desc: m.desc,
183
190
  spans: [{ startTime: m.startTime, duration: m.duration }],
184
191
  });
185
192
  }
@@ -199,7 +206,9 @@ export function logMetrics(
199
206
 
200
207
  const labels = displayRows.map(
201
208
  (r) =>
202
- `${" ".repeat(BASE_INDENT + (r.depth ?? 0) * DEPTH_INDENT)}${r.label}`,
209
+ `${" ".repeat(BASE_INDENT + (r.depth ?? 0) * DEPTH_INDENT)}${r.label}${
210
+ r.desc ? ` (${r.desc})` : ""
211
+ }`,
203
212
  );
204
213
  const startValues = displayRows.map((r) => formatMs(r.startTime));
205
214
  const durationValues = displayRows.map((r) => formatMs(r.duration));
@@ -247,7 +256,13 @@ export function generateServerTiming(metricsStore: MetricsStore): string {
247
256
  .replace(/[^a-zA-Z0-9-]/g, "")
248
257
  .toLowerCase();
249
258
  const name = m.depth ? `d${m.depth}-${base}` : base;
250
- return `${name};dur=${m.duration.toFixed(2)}`;
259
+ // desc is a quoted-string: backslash-escape the two delimiters; our
260
+ // producers emit plain printable text, so nothing else needs stripping.
261
+ const desc =
262
+ m.desc !== undefined
263
+ ? `;desc="${m.desc.replace(/[\\"]/g, "\\$&")}"`
264
+ : "";
265
+ return `${name};dur=${m.duration.toFixed(2)}${desc}`;
251
266
  })
252
267
  .join(", ");
253
268
  }
@@ -39,6 +39,23 @@ export interface MiddlewareContext<
39
39
  > extends RequestScope<TEnv> {
40
40
  params: TParams;
41
41
 
42
+ /**
43
+ * True for build-time render/capture requests. Live requests use false.
44
+ * Build-time PPR shell capture sets this while replaying middleware.
45
+ */
46
+ readonly build: boolean;
47
+
48
+ /**
49
+ * Opt this request out of PPR shell serving/capture.
50
+ * During middleware this runs before the shell HIT commit point, so it can
51
+ * force the request onto the dynamic axis.
52
+ *
53
+ * Scope: the PPR SHELL axis only. It does NOT disable prerender B-segment
54
+ * (Prerender/Static) serving — a Prerender() route still replays its
55
+ * build-baked segments at runtime.
56
+ */
57
+ dynamic(): void;
58
+
42
59
  readonly headers: Headers;
43
60
 
44
61
  get: GetVariableFn;
@@ -238,6 +238,10 @@ export function createMiddlewareContext<TEnv>(
238
238
  searchParams: url.searchParams,
239
239
  env: env as MiddlewareContext<TEnv>["env"],
240
240
  params,
241
+ build: reqCtx?.build ?? false,
242
+ dynamic(): void {
243
+ reqCtx?.dynamic();
244
+ },
241
245
  executionContext: reqCtx?.executionContext,
242
246
  waitUntil: reqCtx ? reqCtx.waitUntil.bind(reqCtx) : fireAndForgetWaitUntil,
243
247
  // Getter: re-derives from request context on each access so that global
@@ -21,6 +21,7 @@ import type { RouterContext } from "./router-context.js";
21
21
  import type { ResolveSegmentOptions } from "./segment-resolution.js";
22
22
  import { runWithRouterContext } from "./router-context.js";
23
23
  import type { EntryData, InterceptEntry } from "../server/context";
24
+ import type { PartialPrerenderProps } from "../urls/pattern-types.js";
24
25
  import type {
25
26
  HandlerContext,
26
27
  InternalHandlerContext,
@@ -74,6 +75,13 @@ export async function matchForPrerender<TEnv = any>(
74
75
  * the sinks store it as-is (no longer merge raw records). */
75
76
  interceptHandles?: string;
76
77
  passthrough?: true;
78
+ /**
79
+ * The matched route entry's `ppr` path option, surfaced so the build
80
+ * collection can flag Prerender+ppr routes as build-time shell candidates
81
+ * (issue #699 producer B). Runtime-only today; the build otherwise never
82
+ * sees the option (it lives on EntryData, not the trie).
83
+ */
84
+ ppr?: boolean | PartialPrerenderProps;
77
85
  } | null> {
78
86
  // 1. Find the matching route entry
79
87
  const matched = await deps.findMatch(pathname);
@@ -198,6 +206,11 @@ export async function matchForPrerender<TEnv = any>(
198
206
  pathname,
199
207
  searchParams: new URLSearchParams(),
200
208
  _variables: variables,
209
+ build: true,
210
+ // Inert here: the prerender-collect / static-render pass has no live
211
+ // PPR-shell decision to gate; dynamic() reaches the shell axis only on a
212
+ // live request or a shell capture.
213
+ dynamic: () => {},
201
214
  get: ((keyOrVar: any) => contextGet(variables, keyOrVar)) as any,
202
215
  set: ((keyOrVar: any, value: any) => {
203
216
  contextSet(variables, keyOrVar, value);
@@ -306,6 +319,18 @@ export async function matchForPrerender<TEnv = any>(
306
319
  // Use the trie-level route key (e.g., "docs", "docs.article")
307
320
  const routeName = matched.routeKey;
308
321
 
322
+ // Surface the matched route entry's ppr option for the build collection
323
+ // (leaf-first: the deepest type:"route" entry in the ancestor chain is
324
+ // the matched page route; ancestors are layouts/includes).
325
+ let routePpr: boolean | PartialPrerenderProps | undefined;
326
+ for (let i = entries.length - 1; i >= 0; i--) {
327
+ const e = entries[i]!;
328
+ if (e.type === "route") {
329
+ routePpr = e.ppr;
330
+ break;
331
+ }
332
+ }
333
+
309
334
  // 14. Resolve intercept segments for this route (if any ancestor defines
310
335
  // an intercept targeting this route). At build time we skip when()
311
336
  // evaluation -- we pre-render all intercepts unconditionally and let
@@ -420,6 +445,7 @@ export async function matchForPrerender<TEnv = any>(
420
445
  params: matchedParams,
421
446
  interceptSegments,
422
447
  interceptHandles,
448
+ ppr: routePpr,
423
449
  };
424
450
  });
425
451
  });
@@ -455,6 +481,8 @@ export async function renderStaticSegment<TEnv = any>(
455
481
  pathname: "/",
456
482
  searchParams: syntheticUrl.searchParams,
457
483
  _variables: {},
484
+ build: true,
485
+ dynamic: () => {},
458
486
  get: () => undefined as any,
459
487
  set: () => {},
460
488
  params: {},
@@ -6,6 +6,7 @@ import type { UrlBuilder, EnvCompatible } from "../urls/pattern-types.js";
6
6
  import type { EntryData } from "../server/context";
7
7
  import type { ErrorInfo, MatchResult } from "../types";
8
8
  import type { NonceProvider } from "../rsc/types.js";
9
+ import type { ShellCaptureDebug } from "../rsc/shell-capture.js";
9
10
  import type { ExecutionContext } from "../server/request-context.js";
10
11
  import type { SerializedSegmentData } from "../cache/types.js";
11
12
  import type { MiddlewareEntry, MiddlewareFn } from "./middleware.js";
@@ -344,6 +345,12 @@ export interface RangoInternal<
344
345
  */
345
346
  readonly debugPerformance?: boolean;
346
347
 
348
+ /**
349
+ * PPR shell-capture debug sink (createRouter({ debugShellCapture })), read
350
+ * by rsc-rendering when it builds the capture descriptor for a ppr route.
351
+ */
352
+ readonly debugShellCapture?: ShellCaptureDebug;
353
+
347
354
  /**
348
355
  * Resolved platform phase-span tracing (Cloudflare custom spans or OTel), or
349
356
  * undefined when off. Threaded onto the request context and read at each
@@ -359,12 +366,6 @@ export interface RangoInternal<
359
366
  */
360
367
  readonly telemetry?: TelemetrySink;
361
368
 
362
- /**
363
- * Whether ?__debug_manifest is allowed in production.
364
- * Always enabled in development.
365
- */
366
- readonly allowDebugManifest: boolean;
367
-
368
369
  /**
369
370
  * Resolved timeout configuration (merged from shorthand + structured).
370
371
  */
@@ -6,6 +6,7 @@ import type {
6
6
  OnErrorCallback,
7
7
  } from "../types";
8
8
  import type { NonceProvider } from "../rsc/types.js";
9
+ import type { ShellCaptureDebug } from "../rsc/shell-capture.js";
9
10
  import type { ExecutionContext } from "../server/request-context.js";
10
11
  import type { UrlPatterns } from "../urls.js";
11
12
  import type { UrlBuilder } from "../urls/pattern-types.js";
@@ -125,14 +126,6 @@ export interface RangoOptions<TEnv = any> {
125
126
  */
126
127
  debugPerformance?: boolean;
127
128
 
128
- /**
129
- * Allow the `?__debug_manifest` query parameter to return route manifest data as JSON.
130
- * In development mode this is always enabled regardless of this setting.
131
- * Defaults to false. Set to true to enable in production.
132
- * @internal
133
- */
134
- allowDebugManifest?: boolean;
135
-
136
129
  /**
137
130
  * DEVELOPMENT/TEST ONLY. Emit an `X-Rango-Cache` response header describing
138
131
  * the cache status of the matched route, for use by testing primitives such
@@ -148,6 +141,18 @@ export interface RangoOptions<TEnv = any> {
148
141
  */
149
142
  debugCacheSignal?: boolean;
150
143
 
144
+ /**
145
+ * Debug sink for the PPR shell-capture pipeline (routes with the `ppr` path
146
+ * option). `true` logs one structured line per capture attempt/skip to
147
+ * console (visible via `wrangler tail`); a function receives each
148
+ * `ShellCaptureDebugEvent` (outcome per attempt, snapshot bytes,
149
+ * write-barrier wait, backoff state) for programmatic capture. Off by
150
+ * default; the events also mirror into the dev Server-Timing surface when
151
+ * `debugPerformance` is on. Intended for validating capture behavior on a
152
+ * real deployment, not steady-state production.
153
+ */
154
+ debugShellCapture?: ShellCaptureDebug;
155
+
151
156
  /**
152
157
  * Document component that wraps the entire application.
153
158
  *