@rangojs/router 0.0.0-experimental.tapabs3 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1350) hide show
  1. package/dist/bin/rango.js +19 -41
  2. package/dist/types/__internal.d.ts +127 -0
  3. package/dist/types/bin/rango.d.ts +1 -0
  4. package/dist/types/browser/action-coordinator.d.ts +57 -0
  5. package/dist/types/browser/action-fence.d.ts +33 -0
  6. package/dist/types/browser/app-shell.d.ts +34 -0
  7. package/dist/types/browser/app-version.d.ts +6 -0
  8. package/dist/types/browser/connection-warmup.d.ts +31 -0
  9. package/dist/types/browser/cookie-name.d.ts +66 -0
  10. package/dist/types/browser/dev-discovery.d.ts +11 -0
  11. package/dist/types/browser/event-controller.d.ts +221 -0
  12. package/dist/types/browser/history-state.d.ts +26 -0
  13. package/dist/types/browser/index.d.ts +1 -0
  14. package/dist/types/browser/intercept-utils.d.ts +30 -0
  15. package/dist/types/browser/invalidate-client-cache.d.ts +17 -0
  16. package/dist/types/browser/link-interceptor.d.ts +43 -0
  17. package/dist/types/browser/logging.d.ts +33 -0
  18. package/dist/types/browser/merge-segment-loaders.d.ts +38 -0
  19. package/dist/types/browser/navigation-bridge.d.ts +27 -0
  20. package/dist/types/browser/navigation-client.d.ts +17 -0
  21. package/dist/types/browser/navigation-store-handle.d.ts +25 -0
  22. package/dist/types/browser/navigation-store.d.ts +85 -0
  23. package/dist/types/browser/navigation-transaction.d.ts +75 -0
  24. package/dist/types/browser/network-error-handler.d.ts +35 -0
  25. package/dist/types/browser/partial-update.d.ts +61 -0
  26. package/dist/types/browser/prefetch/cache.d.ts +183 -0
  27. package/dist/types/browser/prefetch/fetch.d.ts +52 -0
  28. package/dist/types/browser/prefetch/loader.d.ts +10 -0
  29. package/dist/types/browser/prefetch/observer.d.ts +27 -0
  30. package/dist/types/browser/prefetch/policy.d.ts +13 -0
  31. package/dist/types/browser/prefetch/queue.d.ts +48 -0
  32. package/dist/types/browser/prefetch/resource-ready.d.ts +28 -0
  33. package/dist/types/browser/prefetch/runtime.d.ts +3 -0
  34. package/dist/types/browser/rango-state.d.ts +52 -0
  35. package/dist/types/browser/react/Link.d.ts +140 -0
  36. package/dist/types/browser/react/NavigationProvider.d.ts +88 -0
  37. package/dist/types/browser/react/ScrollRestoration.d.ts +78 -0
  38. package/dist/types/browser/react/context.d.ts +54 -0
  39. package/dist/types/browser/react/filter-segment-order.d.ts +35 -0
  40. package/dist/types/browser/react/index.d.ts +1 -0
  41. package/dist/types/browser/react/location-state-shared.d.ts +162 -0
  42. package/dist/types/browser/react/location-state.d.ts +29 -0
  43. package/dist/types/browser/react/mount-context.d.ts +23 -0
  44. package/dist/types/browser/react/nonce-context.d.ts +14 -0
  45. package/dist/types/browser/react/shallow-equal.d.ts +5 -0
  46. package/dist/types/browser/react/use-action.d.ts +61 -0
  47. package/dist/types/browser/react/use-handle.d.ts +21 -0
  48. package/dist/types/browser/react/use-href.d.ts +32 -0
  49. package/dist/types/browser/react/use-link-status.d.ts +36 -0
  50. package/dist/types/browser/react/use-mount.d.ts +24 -0
  51. package/dist/types/browser/react/use-navigation.d.ts +15 -0
  52. package/dist/types/browser/react/use-params.d.ts +21 -0
  53. package/dist/types/browser/react/use-pathname.d.ts +13 -0
  54. package/dist/types/browser/react/use-reverse.d.ts +40 -0
  55. package/dist/types/browser/react/use-router.d.ts +23 -0
  56. package/dist/types/browser/react/use-search-params.d.ts +19 -0
  57. package/dist/types/browser/react/use-segments.d.ts +29 -0
  58. package/dist/types/browser/response-adapter.d.ts +58 -0
  59. package/dist/types/browser/rsc-router.d.ts +141 -0
  60. package/dist/types/browser/scroll-restoration.d.ts +103 -0
  61. package/dist/types/browser/segment-reconciler.d.ts +74 -0
  62. package/dist/types/browser/segment-structure-assert.d.ts +16 -0
  63. package/dist/types/browser/server-action-bridge.d.ts +29 -0
  64. package/dist/types/browser/types.d.ts +518 -0
  65. package/dist/types/browser/validate-redirect-origin.d.ts +28 -0
  66. package/dist/types/build/collect-fallback-refs.d.ts +5 -0
  67. package/dist/types/build/generate-manifest.d.ts +106 -0
  68. package/dist/types/build/generate-route-types.d.ts +8 -0
  69. package/dist/types/build/index.d.ts +21 -0
  70. package/dist/types/build/prefix-tree-utils.d.ts +56 -0
  71. package/dist/types/build/route-trie.d.ts +89 -0
  72. package/dist/types/build/route-types/ast-helpers.d.ts +3 -0
  73. package/dist/types/build/route-types/ast-route-extraction.d.ts +13 -0
  74. package/dist/types/build/route-types/codegen.d.ts +16 -0
  75. package/dist/types/build/route-types/include-resolution.d.ts +74 -0
  76. package/dist/types/build/route-types/param-extraction.d.ts +13 -0
  77. package/dist/types/build/route-types/per-module-writer.d.ts +18 -0
  78. package/dist/types/build/route-types/router-processing.d.ts +82 -0
  79. package/dist/types/build/route-types/scan-filter.d.ts +17 -0
  80. package/dist/types/build/route-types/source-scan.d.ts +13 -0
  81. package/dist/types/build/runtime-discovery.d.ts +24 -0
  82. package/dist/types/cache/background-task.d.ts +21 -0
  83. package/dist/types/cache/cache-error.d.ts +71 -0
  84. package/dist/types/cache/cache-key-utils.d.ts +35 -0
  85. package/dist/types/cache/cache-policy.d.ts +59 -0
  86. package/dist/types/cache/cache-runtime.d.ts +51 -0
  87. package/dist/types/cache/cache-scope.d.ts +136 -0
  88. package/dist/types/cache/cache-tag.d.ts +79 -0
  89. package/dist/types/cache/cf/cf-base64.d.ts +4 -0
  90. package/dist/types/cache/cf/cf-cache-constants.d.ts +105 -0
  91. package/dist/types/cache/cf/cf-cache-store.d.ts +589 -0
  92. package/dist/types/cache/cf/cf-cache-types.d.ts +363 -0
  93. package/dist/types/cache/cf/cf-kv-utils.d.ts +22 -0
  94. package/dist/types/cache/cf/cf-tag-marker-memo.d.ts +15 -0
  95. package/dist/types/cache/cf/cf-zone-purge.d.ts +31 -0
  96. package/dist/types/cache/cf/index.d.ts +4 -0
  97. package/dist/types/cache/document-cache.d.ts +69 -0
  98. package/dist/types/cache/handle-capture.d.ts +23 -0
  99. package/dist/types/cache/handle-snapshot.d.ts +39 -0
  100. package/dist/types/cache/index.d.ts +7 -0
  101. package/dist/types/cache/memory-segment-store.d.ts +163 -0
  102. package/dist/types/cache/profile-registry.d.ts +40 -0
  103. package/dist/types/cache/read-through-swr.d.ts +60 -0
  104. package/dist/types/cache/segment-codec.d.ts +78 -0
  105. package/dist/types/cache/shell-snapshot.d.ts +186 -0
  106. package/dist/types/cache/tag-invalidation.d.ts +74 -0
  107. package/dist/types/cache/taint.d.ts +71 -0
  108. package/dist/types/cache/types.d.ts +435 -0
  109. package/dist/types/cache/vercel/index.d.ts +1 -0
  110. package/dist/types/cache/vercel/vercel-cache-store.d.ts +268 -0
  111. package/dist/types/client.d.ts +184 -0
  112. package/dist/types/client.rsc.d.ts +39 -0
  113. package/dist/types/cloudflare/index.d.ts +7 -0
  114. package/dist/types/cloudflare/tracing.d.ts +53 -0
  115. package/dist/types/component-utils.d.ts +46 -0
  116. package/dist/types/components/DefaultDocument.d.ts +13 -0
  117. package/dist/types/context-var.d.ts +84 -0
  118. package/dist/types/debug.d.ts +57 -0
  119. package/dist/types/decode-loader-results.d.ts +5 -0
  120. package/dist/types/default-error-boundary.d.ts +10 -0
  121. package/dist/types/defer.d.ts +89 -0
  122. package/dist/types/deps/browser.d.ts +1 -0
  123. package/dist/types/deps/html-stream-client.d.ts +1 -0
  124. package/dist/types/deps/html-stream-server.d.ts +1 -0
  125. package/dist/types/deps/rsc.d.ts +1 -0
  126. package/dist/types/deps/ssr.d.ts +1 -0
  127. package/dist/types/dev-discovery-protocol.d.ts +5 -0
  128. package/dist/types/encode-kv.d.ts +35 -0
  129. package/dist/types/errors.d.ts +226 -0
  130. package/dist/types/escape-script.d.ts +44 -0
  131. package/dist/types/handle.d.ts +93 -0
  132. package/dist/types/handles/MetaTags.d.ts +17 -0
  133. package/dist/types/handles/Scripts.d.ts +38 -0
  134. package/dist/types/handles/breadcrumbs.d.ts +43 -0
  135. package/dist/types/handles/deferred-resolution.d.ts +53 -0
  136. package/dist/types/handles/is-thenable.d.ts +12 -0
  137. package/dist/types/handles/meta.d.ts +43 -0
  138. package/dist/types/handles/script.d.ts +139 -0
  139. package/dist/types/host/cookie-handler.d.ts +8 -0
  140. package/dist/types/host/errors.d.ts +40 -0
  141. package/dist/types/host/index.d.ts +33 -0
  142. package/dist/types/host/pattern-matcher.d.ts +30 -0
  143. package/dist/types/host/router.d.ts +12 -0
  144. package/dist/types/host/testing.d.ts +41 -0
  145. package/dist/types/host/types.d.ts +148 -0
  146. package/dist/types/host/utils.d.ts +20 -0
  147. package/dist/types/href-client.d.ts +214 -0
  148. package/dist/types/index.d.ts +112 -0
  149. package/dist/types/index.rsc.d.ts +51 -0
  150. package/dist/types/internal-debug.d.ts +1 -0
  151. package/dist/types/loader-store.d.ts +193 -0
  152. package/dist/types/loader.d.ts +18 -0
  153. package/dist/types/loader.rsc.d.ts +18 -0
  154. package/dist/types/missing-id-error.d.ts +1 -0
  155. package/dist/types/outlet-context.d.ts +12 -0
  156. package/dist/types/outlet-provider.d.ts +12 -0
  157. package/dist/types/prerender/build-shell-capture.d.ts +104 -0
  158. package/dist/types/prerender/param-hash.d.ts +6 -0
  159. package/dist/types/prerender/shell-manifest-key.d.ts +18 -0
  160. package/dist/types/prerender/store.d.ts +63 -0
  161. package/dist/types/prerender.d.ts +292 -0
  162. package/dist/types/redirect-origin.d.ts +67 -0
  163. package/dist/types/regex-escape.d.ts +6 -0
  164. package/dist/types/render-error-thrower.d.ts +13 -0
  165. package/dist/types/response-utils.d.ts +35 -0
  166. package/dist/types/reverse.d.ts +206 -0
  167. package/dist/types/root-error-boundary.d.ts +32 -0
  168. package/dist/types/route-content-wrapper.d.ts +40 -0
  169. package/dist/types/route-definition/dsl-helpers.d.ts +130 -0
  170. package/dist/types/route-definition/helper-factories.d.ts +22 -0
  171. package/dist/types/route-definition/helpers-types.d.ts +392 -0
  172. package/dist/types/route-definition/index.d.ts +7 -0
  173. package/dist/types/route-definition/redirect.d.ts +48 -0
  174. package/dist/types/route-definition/resolve-handler-use.d.ts +19 -0
  175. package/dist/types/route-definition/use-item-types.d.ts +1 -0
  176. package/dist/types/route-definition.d.ts +1 -0
  177. package/dist/types/route-map-builder.d.ts +102 -0
  178. package/dist/types/route-name.d.ts +27 -0
  179. package/dist/types/route-types.d.ts +172 -0
  180. package/dist/types/router/basename.d.ts +10 -0
  181. package/dist/types/router/content-negotiation.d.ts +91 -0
  182. package/dist/types/router/debug-manifest.d.ts +7 -0
  183. package/dist/types/router/error-handling.d.ts +76 -0
  184. package/dist/types/router/find-match.d.ts +19 -0
  185. package/dist/types/router/handler-context.d.ts +41 -0
  186. package/dist/types/router/instrument.d.ts +161 -0
  187. package/dist/types/router/intercept-resolution.d.ts +79 -0
  188. package/dist/types/router/lazy-includes.d.ts +26 -0
  189. package/dist/types/router/loader-resolution.d.ts +63 -0
  190. package/dist/types/router/logging.d.ts +41 -0
  191. package/dist/types/router/manifest.d.ts +8 -0
  192. package/dist/types/router/match-api.d.ts +19 -0
  193. package/dist/types/router/match-context.d.ts +184 -0
  194. package/dist/types/router/match-handlers.d.ts +49 -0
  195. package/dist/types/router/match-middleware/background-revalidation.d.ts +113 -0
  196. package/dist/types/router/match-middleware/cache-lookup.d.ts +113 -0
  197. package/dist/types/router/match-middleware/cache-store.d.ts +112 -0
  198. package/dist/types/router/match-middleware/index.d.ts +80 -0
  199. package/dist/types/router/match-middleware/intercept-resolution.d.ts +116 -0
  200. package/dist/types/router/match-middleware/segment-resolution.d.ts +94 -0
  201. package/dist/types/router/match-pipelines.d.ts +103 -0
  202. package/dist/types/router/match-result.d.ts +114 -0
  203. package/dist/types/router/metrics.d.ts +6 -0
  204. package/dist/types/router/middleware-types.d.ts +74 -0
  205. package/dist/types/router/middleware.d.ts +116 -0
  206. package/dist/types/router/navigation-snapshot.d.ts +22 -0
  207. package/dist/types/router/params-util.d.ts +8 -0
  208. package/dist/types/router/parse-pattern.d.ts +38 -0
  209. package/dist/types/router/pattern-matching.d.ts +169 -0
  210. package/dist/types/router/prefetch-cache-ttl.d.ts +27 -0
  211. package/dist/types/router/prefetch-limits.d.ts +20 -0
  212. package/dist/types/router/prerender-match.d.ts +53 -0
  213. package/dist/types/router/preview-match.d.ts +22 -0
  214. package/dist/types/router/request-classification.d.ts +104 -0
  215. package/dist/types/router/revalidation.d.ts +57 -0
  216. package/dist/types/router/route-snapshot.d.ts +112 -0
  217. package/dist/types/router/router-context.d.ts +137 -0
  218. package/dist/types/router/router-interfaces.d.ts +434 -0
  219. package/dist/types/router/router-options.d.ts +738 -0
  220. package/dist/types/router/router-registry.d.ts +15 -0
  221. package/dist/types/router/segment-resolution/fresh.d.ts +55 -0
  222. package/dist/types/router/segment-resolution/helpers.d.ts +93 -0
  223. package/dist/types/router/segment-resolution/loader-cache.d.ts +33 -0
  224. package/dist/types/router/segment-resolution/loader-mask.d.ts +44 -0
  225. package/dist/types/router/segment-resolution/loader-snapshot.d.ts +90 -0
  226. package/dist/types/router/segment-resolution/mask-nested.d.ts +53 -0
  227. package/dist/types/router/segment-resolution/revalidation.d.ts +85 -0
  228. package/dist/types/router/segment-resolution/static-store.d.ts +17 -0
  229. package/dist/types/router/segment-resolution/streamed-handler-telemetry.d.ts +16 -0
  230. package/dist/types/router/segment-resolution/view-transition-default.d.ts +28 -0
  231. package/dist/types/router/segment-resolution.d.ts +3 -0
  232. package/dist/types/router/segment-wrappers.d.ts +53 -0
  233. package/dist/types/router/state-cookie-name.d.ts +1 -0
  234. package/dist/types/router/substitute-pattern-params.d.ts +23 -0
  235. package/dist/types/router/telemetry-otel.d.ts +113 -0
  236. package/dist/types/router/telemetry.d.ts +216 -0
  237. package/dist/types/router/timeout.d.ts +96 -0
  238. package/dist/types/router/tracing.d.ts +125 -0
  239. package/dist/types/router/trie-matching.d.ts +32 -0
  240. package/dist/types/router/types.d.ts +98 -0
  241. package/dist/types/router/url-params.d.ts +26 -0
  242. package/dist/types/router.d.ts +7 -0
  243. package/dist/types/rsc/capture-queue.d.ts +6 -0
  244. package/dist/types/rsc/full-payload.d.ts +22 -0
  245. package/dist/types/rsc/handler-context.d.ts +32 -0
  246. package/dist/types/rsc/handler.d.ts +9 -0
  247. package/dist/types/rsc/helpers.d.ts +124 -0
  248. package/dist/types/rsc/index.d.ts +17 -0
  249. package/dist/types/rsc/json-route-result.d.ts +20 -0
  250. package/dist/types/rsc/loader-fetch.d.ts +14 -0
  251. package/dist/types/rsc/manifest-init.d.ts +18 -0
  252. package/dist/types/rsc/nonce.d.ts +28 -0
  253. package/dist/types/rsc/origin-guard.d.ts +50 -0
  254. package/dist/types/rsc/progressive-enhancement.d.ts +19 -0
  255. package/dist/types/rsc/redirect-guard.d.ts +37 -0
  256. package/dist/types/rsc/render-pipeline.d.ts +139 -0
  257. package/dist/types/rsc/response-cache-serve.d.ts +46 -0
  258. package/dist/types/rsc/response-error.d.ts +19 -0
  259. package/dist/types/rsc/response-route-handler.d.ts +29 -0
  260. package/dist/types/rsc/rsc-rendering.d.ts +18 -0
  261. package/dist/types/rsc/runtime-warnings.d.ts +22 -0
  262. package/dist/types/rsc/server-action.d.ts +68 -0
  263. package/dist/types/rsc/shell-build-manifest.d.ts +84 -0
  264. package/dist/types/rsc/shell-capture-constants.d.ts +27 -0
  265. package/dist/types/rsc/shell-capture.d.ts +370 -0
  266. package/dist/types/rsc/shell-serve.d.ts +174 -0
  267. package/dist/types/rsc/ssr-setup.d.ts +73 -0
  268. package/dist/types/rsc/transition-gate.d.ts +27 -0
  269. package/dist/types/rsc/types.d.ts +292 -0
  270. package/dist/types/runtime-env.d.ts +1 -0
  271. package/dist/types/search-params.d.ts +125 -0
  272. package/dist/types/segment-content-promise.d.ts +13 -0
  273. package/dist/types/segment-fragments.d.ts +56 -0
  274. package/dist/types/segment-loader-promise.d.ts +22 -0
  275. package/dist/types/segment-system.d.ts +84 -0
  276. package/dist/types/serialize.d.ts +164 -0
  277. package/dist/types/server/context.d.ts +510 -0
  278. package/dist/types/server/cookie-parse.d.ts +10 -0
  279. package/dist/types/server/cookie-store.d.ts +107 -0
  280. package/dist/types/server/fetchable-loader-store.d.ts +20 -0
  281. package/dist/types/server/handle-store.d.ts +100 -0
  282. package/dist/types/server/loader-registry.d.ts +32 -0
  283. package/dist/types/server/request-context.d.ts +628 -0
  284. package/dist/types/server/root-layout.d.ts +3 -0
  285. package/dist/types/server.d.ts +15 -0
  286. package/dist/types/ssr/index.d.ts +233 -0
  287. package/dist/types/ssr/inject-rsc-eager.d.ts +3 -0
  288. package/dist/types/ssr/preinit-client-references.d.ts +71 -0
  289. package/dist/types/ssr/ssr-root.d.ts +69 -0
  290. package/dist/types/static-handler.d.ts +57 -0
  291. package/dist/types/testing/cache-status.d.ts +63 -0
  292. package/dist/types/testing/collect-handle.d.ts +20 -0
  293. package/dist/types/testing/dispatch.d.ts +127 -0
  294. package/dist/types/testing/dom.entry.d.ts +15 -0
  295. package/dist/types/testing/e2e/fixture.d.ts +37 -0
  296. package/dist/types/testing/e2e/index.d.ts +31 -0
  297. package/dist/types/testing/e2e/matchers.d.ts +17 -0
  298. package/dist/types/testing/e2e/page-helpers.d.ts +62 -0
  299. package/dist/types/testing/e2e/parity.d.ts +111 -0
  300. package/dist/types/testing/e2e/server.d.ts +35 -0
  301. package/dist/types/testing/flight-matchers.d.ts +55 -0
  302. package/dist/types/testing/flight-normalize.d.ts +1 -0
  303. package/dist/types/testing/flight-tree.d.ts +192 -0
  304. package/dist/types/testing/flight.d.ts +115 -0
  305. package/dist/types/testing/flight.entry.d.ts +27 -0
  306. package/dist/types/testing/generated-routes.d.ts +66 -0
  307. package/dist/types/testing/index.d.ts +54 -0
  308. package/dist/types/testing/internal/context.d.ts +225 -0
  309. package/dist/types/testing/internal/flight-client-globals.d.ts +1 -0
  310. package/dist/types/testing/internal/seed-vars.d.ts +30 -0
  311. package/dist/types/testing/render-handler.d.ts +160 -0
  312. package/dist/types/testing/render-route.d.ts +246 -0
  313. package/dist/types/testing/run-loader.d.ts +186 -0
  314. package/dist/types/testing/run-middleware.d.ts +132 -0
  315. package/dist/types/testing/run-transition-when.d.ts +77 -0
  316. package/dist/types/testing/shell-status.d.ts +58 -0
  317. package/dist/types/testing/vitest-stubs/cloudflare-email.d.ts +6 -0
  318. package/dist/types/testing/vitest-stubs/cloudflare-workers.d.ts +13 -0
  319. package/dist/types/testing/vitest-stubs/plugin-rsc.d.ts +7 -0
  320. package/dist/types/testing/vitest-stubs/version.d.ts +1 -0
  321. package/dist/types/testing/vitest.d.ts +205 -0
  322. package/dist/types/theme/ThemeProvider.d.ts +13 -0
  323. package/dist/types/theme/ThemeScript.d.ts +45 -0
  324. package/dist/types/theme/constants.d.ts +39 -0
  325. package/dist/types/theme/index.d.ts +29 -0
  326. package/dist/types/theme/theme-context.d.ts +21 -0
  327. package/dist/types/theme/theme-script.d.ts +26 -0
  328. package/dist/types/theme/types.d.ts +162 -0
  329. package/dist/types/theme/use-theme.d.ts +8 -0
  330. package/dist/types/types/boundaries.d.ts +93 -0
  331. package/dist/types/types/cache-types.d.ts +191 -0
  332. package/dist/types/types/error-types.d.ts +114 -0
  333. package/dist/types/types/global-namespace.d.ts +90 -0
  334. package/dist/types/types/handler-context.d.ts +658 -0
  335. package/dist/types/types/index.d.ts +11 -0
  336. package/dist/types/types/loader-types.d.ts +182 -0
  337. package/dist/types/types/request-scope.d.ts +93 -0
  338. package/dist/types/types/route-config.d.ts +105 -0
  339. package/dist/types/types/route-entry.d.ts +98 -0
  340. package/dist/types/types/segments.d.ts +234 -0
  341. package/dist/types/types.d.ts +1 -0
  342. package/dist/types/urls/include-helper.d.ts +17 -0
  343. package/dist/types/urls/include-provider.d.ts +27 -0
  344. package/dist/types/urls/index.d.ts +6 -0
  345. package/dist/types/urls/path-helper-types.d.ts +197 -0
  346. package/dist/types/urls/path-helper.d.ts +12 -0
  347. package/dist/types/urls/pattern-types.d.ts +166 -0
  348. package/dist/types/urls/response-types.d.ts +67 -0
  349. package/dist/types/urls/type-extraction.d.ts +157 -0
  350. package/dist/types/urls/urls-function.d.ts +24 -0
  351. package/dist/types/urls.d.ts +1 -0
  352. package/dist/types/use-loader.d.ts +150 -0
  353. package/dist/types/vercel/index.d.ts +10 -0
  354. package/dist/types/vercel/tracing.d.ts +70 -0
  355. package/dist/types/vite/debug.d.ts +80 -0
  356. package/dist/types/vite/discovery/bundle-postprocess.d.ts +12 -0
  357. package/dist/types/vite/discovery/dev-prerender-cache.d.ts +65 -0
  358. package/dist/types/vite/discovery/discover-routers.d.ts +17 -0
  359. package/dist/types/vite/discovery/discovery-errors.d.ts +113 -0
  360. package/dist/types/vite/discovery/gate-state.d.ts +79 -0
  361. package/dist/types/vite/discovery/prerender-collection.d.ts +24 -0
  362. package/dist/types/vite/discovery/route-types-writer.d.ts +32 -0
  363. package/dist/types/vite/discovery/self-gen-tracking.d.ts +22 -0
  364. package/dist/types/vite/discovery/shell-prerender-phase.d.ts +40 -0
  365. package/dist/types/vite/discovery/state.d.ts +163 -0
  366. package/dist/types/vite/discovery/virtual-module-codegen.d.ts +15 -0
  367. package/dist/types/vite/index.d.ts +11 -0
  368. package/dist/types/vite/inject-client-debug.d.ts +56 -0
  369. package/dist/types/vite/plugin-types.d.ts +298 -0
  370. package/dist/types/vite/plugins/cjs-to-esm.d.ts +6 -0
  371. package/dist/types/vite/plugins/client-ref-dedup.d.ts +40 -0
  372. package/dist/types/vite/plugins/client-ref-hashing.d.ts +35 -0
  373. package/dist/types/vite/plugins/cloudflare-protocol-stub.d.ts +64 -0
  374. package/dist/types/vite/plugins/expose-action-id.d.ts +18 -0
  375. package/dist/types/vite/plugins/expose-id-utils.d.ts +37 -0
  376. package/dist/types/vite/plugins/expose-ids/export-analysis.d.ts +19 -0
  377. package/dist/types/vite/plugins/expose-ids/handler-transform.d.ts +10 -0
  378. package/dist/types/vite/plugins/expose-ids/loader-transform.d.ts +8 -0
  379. package/dist/types/vite/plugins/expose-ids/router-transform.d.ts +13 -0
  380. package/dist/types/vite/plugins/expose-ids/types.d.ts +29 -0
  381. package/dist/types/vite/plugins/expose-internal-ids.d.ts +6 -0
  382. package/dist/types/vite/plugins/performance-tracks.d.ts +25 -0
  383. package/dist/types/vite/plugins/refresh-cmd.d.ts +20 -0
  384. package/dist/types/vite/plugins/use-cache-transform.d.ts +20 -0
  385. package/dist/types/vite/plugins/vercel-output.d.ts +85 -0
  386. package/dist/types/vite/plugins/version-injector.d.ts +21 -0
  387. package/dist/types/vite/plugins/version-plugin.d.ts +19 -0
  388. package/dist/types/vite/plugins/virtual-entries.d.ts +36 -0
  389. package/dist/types/vite/plugins/virtual-stub-plugin.d.ts +7 -0
  390. package/dist/types/vite/rango.d.ts +29 -0
  391. package/dist/types/vite/router-discovery.d.ts +23 -0
  392. package/dist/types/vite/utils/ast-handler-extract.d.ts +64 -0
  393. package/dist/types/vite/utils/banner.d.ts +2 -0
  394. package/dist/types/vite/utils/bundle-analysis.d.ts +28 -0
  395. package/dist/types/vite/utils/client-chunks.d.ts +55 -0
  396. package/dist/types/vite/utils/directive-prologue.d.ts +16 -0
  397. package/dist/types/vite/utils/forward-user-plugins.d.ts +37 -0
  398. package/dist/types/vite/utils/manifest-utils.d.ts +7 -0
  399. package/dist/types/vite/utils/package-resolution.d.ts +6 -0
  400. package/dist/types/vite/utils/prerender-utils.d.ts +32 -0
  401. package/dist/types/vite/utils/shared-utils.d.ts +55 -0
  402. package/dist/vite/index.js +1208 -431
  403. package/package.json +45 -34
  404. package/skills/caching/SKILL.md +1 -1
  405. package/skills/catalog.json +6 -0
  406. package/skills/cloudflare/SKILL.md +149 -0
  407. package/skills/cloudflare/agents/openai.yaml +4 -0
  408. package/skills/cloudflare/references/d1-and-local-dev.md +131 -0
  409. package/skills/cloudflare/references/streaming-and-deploy.md +107 -0
  410. package/skills/cloudflare/references/webhooks-and-crypto.md +147 -0
  411. package/skills/composability/SKILL.md +14 -0
  412. package/skills/debug-manifest/SKILL.md +2 -10
  413. package/skills/links/SKILL.md +12 -0
  414. package/skills/middleware/SKILL.md +33 -0
  415. package/skills/migrate-nextjs/SKILL.md +65 -16
  416. package/skills/migrate-nextjs/backend-host-swap.md +120 -0
  417. package/skills/migrate-react-router/SKILL.md +6 -6
  418. package/skills/mime-routes/SKILL.md +25 -17
  419. package/skills/ppr/SKILL.md +148 -19
  420. package/skills/prerender/SKILL.md +44 -1
  421. package/skills/rango/SKILL.md +10 -10
  422. package/skills/response-routes/SKILL.md +41 -4
  423. package/skills/route/SKILL.md +6 -0
  424. package/skills/testing/SKILL.md +1 -0
  425. package/skills/testing/cache-prerender.md +43 -2
  426. package/skills/testing/response-routes.md +2 -2
  427. package/src/browser/dev-discovery.ts +66 -0
  428. package/src/browser/event-controller.ts +16 -2
  429. package/src/browser/navigation-client.ts +6 -0
  430. package/src/browser/navigation-store.ts +4 -271
  431. package/src/browser/partial-update.ts +7 -14
  432. package/src/browser/prefetch/cache.ts +1 -1
  433. package/src/browser/prefetch/loader.ts +110 -0
  434. package/src/browser/prefetch/runtime.ts +7 -0
  435. package/src/browser/react/Link.tsx +7 -10
  436. package/src/browser/react/NavigationProvider.tsx +1 -1
  437. package/src/browser/react/use-router.ts +1 -1
  438. package/src/browser/rsc-router.tsx +15 -2
  439. package/src/browser/types.ts +4 -27
  440. package/src/build/generate-manifest.ts +16 -36
  441. package/src/build/route-trie.ts +5 -50
  442. package/src/cache/cache-key-utils.ts +0 -1
  443. package/src/cache/cache-scope.ts +54 -5
  444. package/src/cache/cf/cf-cache-store.ts +522 -89
  445. package/src/cache/cf/cf-cache-types.ts +66 -0
  446. package/src/cache/cf/cf-tag-marker-memo.ts +5 -2
  447. package/src/cache/cf/cf-zone-purge.ts +101 -0
  448. package/src/cache/cf/index.ts +5 -0
  449. package/src/cache/handle-snapshot.ts +22 -1
  450. package/src/cache/index.ts +2 -0
  451. package/src/cache/memory-segment-store.ts +44 -1
  452. package/src/cache/segment-codec.ts +47 -0
  453. package/src/cache/shell-snapshot.ts +124 -29
  454. package/src/cache/types.ts +57 -2
  455. package/src/cache/vercel/vercel-cache-store.ts +113 -14
  456. package/src/deps/ssr.ts +4 -1
  457. package/src/dev-discovery-protocol.ts +11 -0
  458. package/src/index.rsc.ts +7 -0
  459. package/src/index.ts +1 -0
  460. package/src/prerender/build-shell-capture.ts +453 -0
  461. package/src/prerender/shell-manifest-key.ts +20 -0
  462. package/src/prerender/store.ts +15 -1
  463. package/src/prerender.ts +3 -3
  464. package/src/redirect-origin.ts +37 -8
  465. package/src/route-definition/dsl-helpers.ts +7 -2
  466. package/src/route-map-builder.ts +61 -54
  467. package/src/router/content-negotiation.ts +47 -5
  468. package/src/router/handler-context.ts +31 -15
  469. package/src/router/intercept-resolution.ts +30 -1
  470. package/src/router/lazy-includes.ts +1 -0
  471. package/src/router/loader-resolution.ts +16 -0
  472. package/src/router/match-api.ts +14 -3
  473. package/src/router/match-middleware/cache-lookup.ts +12 -1
  474. package/src/router/metrics.ts +17 -2
  475. package/src/router/middleware-types.ts +17 -0
  476. package/src/router/middleware.ts +4 -0
  477. package/src/router/prerender-match.ts +47 -2
  478. package/src/router/router-interfaces.ts +11 -6
  479. package/src/router/router-options.ts +13 -8
  480. package/src/router/segment-resolution/fresh.ts +21 -2
  481. package/src/router/segment-resolution/helpers.ts +1 -1
  482. package/src/router/segment-resolution/loader-cache.ts +38 -7
  483. package/src/router/segment-resolution/mask-nested.ts +19 -3
  484. package/src/router/segment-resolution/revalidation.ts +9 -0
  485. package/src/router/segment-resolution/static-store.ts +36 -10
  486. package/src/router/telemetry-otel.ts +11 -0
  487. package/src/router/telemetry.ts +1 -0
  488. package/src/router/timeout.ts +41 -1
  489. package/src/router.ts +39 -7
  490. package/src/rsc/capture-queue.ts +67 -0
  491. package/src/rsc/handler-context.ts +1 -0
  492. package/src/rsc/handler.ts +153 -77
  493. package/src/rsc/helpers.ts +67 -4
  494. package/src/rsc/loader-fetch.ts +2 -2
  495. package/src/rsc/manifest-init.ts +4 -11
  496. package/src/rsc/progressive-enhancement.ts +66 -54
  497. package/src/rsc/redirect-guard.ts +3 -1
  498. package/src/rsc/render-pipeline.ts +567 -0
  499. package/src/rsc/response-cache-serve.ts +39 -18
  500. package/src/rsc/response-route-handler.ts +9 -45
  501. package/src/rsc/rsc-rendering.ts +455 -194
  502. package/src/rsc/server-action.ts +50 -42
  503. package/src/rsc/shell-build-manifest.ts +316 -0
  504. package/src/rsc/shell-capture-constants.ts +27 -0
  505. package/src/rsc/shell-capture.ts +622 -73
  506. package/src/rsc/shell-serve.ts +133 -3
  507. package/src/rsc/ssr-setup.ts +102 -23
  508. package/src/rsc/types.ts +2 -0
  509. package/src/segment-fragments.ts +124 -0
  510. package/src/server/context.ts +212 -8
  511. package/src/server/request-context.ts +322 -48
  512. package/src/server.ts +0 -2
  513. package/src/ssr/index.tsx +167 -32
  514. package/src/ssr/preinit-client-references.ts +106 -0
  515. package/src/ssr/ssr-root.tsx +35 -2
  516. package/src/testing/dispatch.ts +133 -67
  517. package/src/testing/e2e/index.ts +8 -0
  518. package/src/testing/index.ts +9 -1
  519. package/src/testing/internal/context.ts +9 -0
  520. package/src/testing/render-handler.ts +15 -1
  521. package/src/testing/run-middleware.ts +14 -0
  522. package/src/testing/shell-status.ts +100 -0
  523. package/src/types/handler-context.ts +13 -2
  524. package/src/types/route-entry.ts +3 -0
  525. package/src/urls/include-helper.ts +1 -0
  526. package/src/urls/path-helper-types.ts +1 -1
  527. package/src/urls/path-helper.ts +8 -4
  528. package/src/urls/pattern-types.ts +29 -0
  529. package/src/vite/discovery/bundle-postprocess.ts +10 -7
  530. package/src/vite/discovery/discover-routers.ts +39 -79
  531. package/src/vite/discovery/prerender-collection.ts +29 -2
  532. package/src/vite/discovery/shell-prerender-phase.ts +397 -0
  533. package/src/vite/discovery/state.ts +48 -4
  534. package/src/vite/discovery/virtual-module-codegen.ts +201 -62
  535. package/src/vite/index.ts +1 -0
  536. package/src/vite/plugin-types.ts +33 -0
  537. package/src/vite/plugins/version-injector.ts +0 -1
  538. package/src/vite/plugins/version-plugin.ts +8 -0
  539. package/src/vite/plugins/virtual-entries.ts +48 -5
  540. package/src/vite/rango.ts +42 -2
  541. package/src/vite/router-discovery.ts +564 -43
  542. package/src/vite/utils/manifest-utils.ts +1 -4
  543. package/src/vite/utils/package-resolution.ts +1 -0
  544. package/src/vite/utils/prerender-utils.ts +25 -6
  545. package/src/vite/utils/shared-utils.ts +11 -2
  546. package/dist/__internal.d.ts +0 -83
  547. package/dist/__internal.d.ts.map +0 -1
  548. package/dist/__internal.js +0 -19
  549. package/dist/__internal.js.map +0 -1
  550. package/dist/__mocks__/version.d.ts +0 -7
  551. package/dist/__mocks__/version.d.ts.map +0 -1
  552. package/dist/__mocks__/version.js +0 -7
  553. package/dist/__mocks__/version.js.map +0 -1
  554. package/dist/__tests__/client-href.test.d.ts +0 -2
  555. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  556. package/dist/__tests__/client-href.test.js +0 -74
  557. package/dist/__tests__/client-href.test.js.map +0 -1
  558. package/dist/__tests__/component-utils.test.d.ts +0 -2
  559. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  560. package/dist/__tests__/component-utils.test.js +0 -51
  561. package/dist/__tests__/component-utils.test.js.map +0 -1
  562. package/dist/__tests__/event-controller.test.d.ts +0 -2
  563. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  564. package/dist/__tests__/event-controller.test.js +0 -538
  565. package/dist/__tests__/event-controller.test.js.map +0 -1
  566. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  567. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  568. package/dist/__tests__/helpers/route-tree.js +0 -374
  569. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  570. package/dist/__tests__/match-result.test.d.ts +0 -2
  571. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  572. package/dist/__tests__/match-result.test.js +0 -154
  573. package/dist/__tests__/match-result.test.js.map +0 -1
  574. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  575. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  576. package/dist/__tests__/navigation-store.test.js +0 -440
  577. package/dist/__tests__/navigation-store.test.js.map +0 -1
  578. package/dist/__tests__/partial-update.test.d.ts +0 -2
  579. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  580. package/dist/__tests__/partial-update.test.js +0 -1009
  581. package/dist/__tests__/partial-update.test.js.map +0 -1
  582. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  583. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  584. package/dist/__tests__/reverse-types.test.js +0 -656
  585. package/dist/__tests__/reverse-types.test.js.map +0 -1
  586. package/dist/__tests__/route-definition.test.d.ts +0 -2
  587. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  588. package/dist/__tests__/route-definition.test.js +0 -55
  589. package/dist/__tests__/route-definition.test.js.map +0 -1
  590. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  591. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  592. package/dist/__tests__/router-helpers.test.js +0 -377
  593. package/dist/__tests__/router-helpers.test.js.map +0 -1
  594. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  595. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  596. package/dist/__tests__/router-integration-2.test.js +0 -426
  597. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  598. package/dist/__tests__/router-integration.test.d.ts +0 -2
  599. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  600. package/dist/__tests__/router-integration.test.js +0 -1051
  601. package/dist/__tests__/router-integration.test.js.map +0 -1
  602. package/dist/__tests__/search-params.test.d.ts +0 -5
  603. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  604. package/dist/__tests__/search-params.test.js +0 -306
  605. package/dist/__tests__/search-params.test.js.map +0 -1
  606. package/dist/__tests__/segment-system.test.d.ts +0 -2
  607. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  608. package/dist/__tests__/segment-system.test.js +0 -627
  609. package/dist/__tests__/segment-system.test.js.map +0 -1
  610. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  611. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  612. package/dist/__tests__/static-handler-types.test.js +0 -63
  613. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  614. package/dist/__tests__/urls.test.d.ts +0 -2
  615. package/dist/__tests__/urls.test.d.ts.map +0 -1
  616. package/dist/__tests__/urls.test.js +0 -421
  617. package/dist/__tests__/urls.test.js.map +0 -1
  618. package/dist/__tests__/use-mount.test.d.ts +0 -2
  619. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  620. package/dist/__tests__/use-mount.test.js +0 -35
  621. package/dist/__tests__/use-mount.test.js.map +0 -1
  622. package/dist/bin/rango.d.ts +0 -2
  623. package/dist/bin/rango.d.ts.map +0 -1
  624. package/dist/bin/rango.js.map +0 -1
  625. package/dist/browser/event-controller.d.ts +0 -191
  626. package/dist/browser/event-controller.d.ts.map +0 -1
  627. package/dist/browser/event-controller.js +0 -559
  628. package/dist/browser/event-controller.js.map +0 -1
  629. package/dist/browser/index.d.ts +0 -2
  630. package/dist/browser/index.d.ts.map +0 -1
  631. package/dist/browser/index.js +0 -14
  632. package/dist/browser/index.js.map +0 -1
  633. package/dist/browser/link-interceptor.d.ts +0 -38
  634. package/dist/browser/link-interceptor.d.ts.map +0 -1
  635. package/dist/browser/link-interceptor.js +0 -99
  636. package/dist/browser/link-interceptor.js.map +0 -1
  637. package/dist/browser/logging.d.ts +0 -10
  638. package/dist/browser/logging.d.ts.map +0 -1
  639. package/dist/browser/logging.js +0 -29
  640. package/dist/browser/logging.js.map +0 -1
  641. package/dist/browser/lru-cache.d.ts +0 -17
  642. package/dist/browser/lru-cache.d.ts.map +0 -1
  643. package/dist/browser/lru-cache.js +0 -50
  644. package/dist/browser/lru-cache.js.map +0 -1
  645. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  646. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  647. package/dist/browser/merge-segment-loaders.js +0 -102
  648. package/dist/browser/merge-segment-loaders.js.map +0 -1
  649. package/dist/browser/navigation-bridge.d.ts +0 -102
  650. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  651. package/dist/browser/navigation-bridge.js +0 -708
  652. package/dist/browser/navigation-bridge.js.map +0 -1
  653. package/dist/browser/navigation-client.d.ts +0 -25
  654. package/dist/browser/navigation-client.d.ts.map +0 -1
  655. package/dist/browser/navigation-client.js +0 -157
  656. package/dist/browser/navigation-client.js.map +0 -1
  657. package/dist/browser/navigation-store.d.ts +0 -101
  658. package/dist/browser/navigation-store.d.ts.map +0 -1
  659. package/dist/browser/navigation-store.js +0 -625
  660. package/dist/browser/navigation-store.js.map +0 -1
  661. package/dist/browser/partial-update.d.ts +0 -75
  662. package/dist/browser/partial-update.d.ts.map +0 -1
  663. package/dist/browser/partial-update.js +0 -426
  664. package/dist/browser/partial-update.js.map +0 -1
  665. package/dist/browser/react/Link.d.ts +0 -86
  666. package/dist/browser/react/Link.d.ts.map +0 -1
  667. package/dist/browser/react/Link.js +0 -128
  668. package/dist/browser/react/Link.js.map +0 -1
  669. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  670. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  671. package/dist/browser/react/NavigationProvider.js +0 -216
  672. package/dist/browser/react/NavigationProvider.js.map +0 -1
  673. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  674. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  675. package/dist/browser/react/ScrollRestoration.js +0 -57
  676. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  677. package/dist/browser/react/context.d.ts +0 -46
  678. package/dist/browser/react/context.d.ts.map +0 -1
  679. package/dist/browser/react/context.js +0 -10
  680. package/dist/browser/react/context.js.map +0 -1
  681. package/dist/browser/react/index.d.ts +0 -11
  682. package/dist/browser/react/index.d.ts.map +0 -1
  683. package/dist/browser/react/index.js +0 -22
  684. package/dist/browser/react/index.js.map +0 -1
  685. package/dist/browser/react/location-state-shared.d.ts +0 -63
  686. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  687. package/dist/browser/react/location-state-shared.js +0 -81
  688. package/dist/browser/react/location-state-shared.js.map +0 -1
  689. package/dist/browser/react/location-state.d.ts +0 -23
  690. package/dist/browser/react/location-state.d.ts.map +0 -1
  691. package/dist/browser/react/location-state.js +0 -29
  692. package/dist/browser/react/location-state.js.map +0 -1
  693. package/dist/browser/react/mount-context.d.ts +0 -24
  694. package/dist/browser/react/mount-context.d.ts.map +0 -1
  695. package/dist/browser/react/mount-context.js +0 -24
  696. package/dist/browser/react/mount-context.js.map +0 -1
  697. package/dist/browser/react/use-action.d.ts +0 -64
  698. package/dist/browser/react/use-action.d.ts.map +0 -1
  699. package/dist/browser/react/use-action.js +0 -134
  700. package/dist/browser/react/use-action.js.map +0 -1
  701. package/dist/browser/react/use-client-cache.d.ts +0 -41
  702. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  703. package/dist/browser/react/use-client-cache.js +0 -39
  704. package/dist/browser/react/use-client-cache.js.map +0 -1
  705. package/dist/browser/react/use-handle.d.ts +0 -31
  706. package/dist/browser/react/use-handle.d.ts.map +0 -1
  707. package/dist/browser/react/use-handle.js +0 -144
  708. package/dist/browser/react/use-handle.js.map +0 -1
  709. package/dist/browser/react/use-href.d.ts +0 -33
  710. package/dist/browser/react/use-href.d.ts.map +0 -1
  711. package/dist/browser/react/use-href.js +0 -39
  712. package/dist/browser/react/use-href.js.map +0 -1
  713. package/dist/browser/react/use-link-status.d.ts +0 -37
  714. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  715. package/dist/browser/react/use-link-status.js +0 -99
  716. package/dist/browser/react/use-link-status.js.map +0 -1
  717. package/dist/browser/react/use-mount.d.ts +0 -25
  718. package/dist/browser/react/use-mount.d.ts.map +0 -1
  719. package/dist/browser/react/use-mount.js +0 -30
  720. package/dist/browser/react/use-mount.js.map +0 -1
  721. package/dist/browser/react/use-navigation.d.ts +0 -27
  722. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  723. package/dist/browser/react/use-navigation.js +0 -87
  724. package/dist/browser/react/use-navigation.js.map +0 -1
  725. package/dist/browser/react/use-segments.d.ts +0 -38
  726. package/dist/browser/react/use-segments.d.ts.map +0 -1
  727. package/dist/browser/react/use-segments.js +0 -130
  728. package/dist/browser/react/use-segments.js.map +0 -1
  729. package/dist/browser/request-controller.d.ts +0 -26
  730. package/dist/browser/request-controller.d.ts.map +0 -1
  731. package/dist/browser/request-controller.js +0 -147
  732. package/dist/browser/request-controller.js.map +0 -1
  733. package/dist/browser/rsc-router.d.ts +0 -129
  734. package/dist/browser/rsc-router.d.ts.map +0 -1
  735. package/dist/browser/rsc-router.js +0 -195
  736. package/dist/browser/rsc-router.js.map +0 -1
  737. package/dist/browser/scroll-restoration.d.ts +0 -93
  738. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  739. package/dist/browser/scroll-restoration.js +0 -321
  740. package/dist/browser/scroll-restoration.js.map +0 -1
  741. package/dist/browser/segment-structure-assert.d.ts +0 -17
  742. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  743. package/dist/browser/segment-structure-assert.js +0 -59
  744. package/dist/browser/segment-structure-assert.js.map +0 -1
  745. package/dist/browser/server-action-bridge.d.ts +0 -26
  746. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  747. package/dist/browser/server-action-bridge.js +0 -668
  748. package/dist/browser/server-action-bridge.js.map +0 -1
  749. package/dist/browser/shallow.d.ts +0 -12
  750. package/dist/browser/shallow.d.ts.map +0 -1
  751. package/dist/browser/shallow.js +0 -34
  752. package/dist/browser/shallow.js.map +0 -1
  753. package/dist/browser/types.d.ts +0 -369
  754. package/dist/browser/types.d.ts.map +0 -1
  755. package/dist/browser/types.js +0 -2
  756. package/dist/browser/types.js.map +0 -1
  757. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  758. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  759. package/dist/build/__tests__/generate-cli.test.js +0 -237
  760. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  761. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  762. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  763. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  764. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  765. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  766. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  767. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  768. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  769. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  770. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  771. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  772. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  773. package/dist/build/generate-manifest.d.ts +0 -81
  774. package/dist/build/generate-manifest.d.ts.map +0 -1
  775. package/dist/build/generate-manifest.js +0 -276
  776. package/dist/build/generate-manifest.js.map +0 -1
  777. package/dist/build/generate-route-types.d.ts +0 -115
  778. package/dist/build/generate-route-types.d.ts.map +0 -1
  779. package/dist/build/generate-route-types.js +0 -740
  780. package/dist/build/generate-route-types.js.map +0 -1
  781. package/dist/build/index.d.ts +0 -21
  782. package/dist/build/index.d.ts.map +0 -1
  783. package/dist/build/index.js +0 -21
  784. package/dist/build/index.js.map +0 -1
  785. package/dist/build/route-trie.d.ts +0 -71
  786. package/dist/build/route-trie.d.ts.map +0 -1
  787. package/dist/build/route-trie.js +0 -175
  788. package/dist/build/route-trie.js.map +0 -1
  789. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  790. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  791. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  792. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  793. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  794. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  795. package/dist/cache/__tests__/document-cache.test.js +0 -345
  796. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  797. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  798. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  799. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  800. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  801. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  802. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  803. package/dist/cache/__tests__/memory-store.test.js +0 -367
  804. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  805. package/dist/cache/cache-scope.d.ts +0 -102
  806. package/dist/cache/cache-scope.d.ts.map +0 -1
  807. package/dist/cache/cache-scope.js +0 -440
  808. package/dist/cache/cache-scope.js.map +0 -1
  809. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  810. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  811. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  812. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  813. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  814. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  815. package/dist/cache/cf/cf-cache-store.js +0 -242
  816. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  817. package/dist/cache/cf/index.d.ts +0 -14
  818. package/dist/cache/cf/index.d.ts.map +0 -1
  819. package/dist/cache/cf/index.js +0 -17
  820. package/dist/cache/cf/index.js.map +0 -1
  821. package/dist/cache/document-cache.d.ts +0 -64
  822. package/dist/cache/document-cache.d.ts.map +0 -1
  823. package/dist/cache/document-cache.js +0 -228
  824. package/dist/cache/document-cache.js.map +0 -1
  825. package/dist/cache/index.d.ts +0 -19
  826. package/dist/cache/index.d.ts.map +0 -1
  827. package/dist/cache/index.js +0 -21
  828. package/dist/cache/index.js.map +0 -1
  829. package/dist/cache/memory-segment-store.d.ts +0 -110
  830. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  831. package/dist/cache/memory-segment-store.js +0 -117
  832. package/dist/cache/memory-segment-store.js.map +0 -1
  833. package/dist/cache/memory-store.d.ts +0 -41
  834. package/dist/cache/memory-store.d.ts.map +0 -1
  835. package/dist/cache/memory-store.js +0 -191
  836. package/dist/cache/memory-store.js.map +0 -1
  837. package/dist/cache/types.d.ts +0 -317
  838. package/dist/cache/types.d.ts.map +0 -1
  839. package/dist/cache/types.js +0 -12
  840. package/dist/cache/types.js.map +0 -1
  841. package/dist/client.d.ts +0 -248
  842. package/dist/client.d.ts.map +0 -1
  843. package/dist/client.js +0 -367
  844. package/dist/client.js.map +0 -1
  845. package/dist/client.rsc.d.ts +0 -26
  846. package/dist/client.rsc.d.ts.map +0 -1
  847. package/dist/client.rsc.js +0 -46
  848. package/dist/client.rsc.js.map +0 -1
  849. package/dist/component-utils.d.ts +0 -36
  850. package/dist/component-utils.d.ts.map +0 -1
  851. package/dist/component-utils.js +0 -61
  852. package/dist/component-utils.js.map +0 -1
  853. package/dist/components/DefaultDocument.d.ts +0 -13
  854. package/dist/components/DefaultDocument.d.ts.map +0 -1
  855. package/dist/components/DefaultDocument.js +0 -15
  856. package/dist/components/DefaultDocument.js.map +0 -1
  857. package/dist/debug.d.ts +0 -58
  858. package/dist/debug.d.ts.map +0 -1
  859. package/dist/debug.js +0 -157
  860. package/dist/debug.js.map +0 -1
  861. package/dist/default-error-boundary.d.ts +0 -11
  862. package/dist/default-error-boundary.d.ts.map +0 -1
  863. package/dist/default-error-boundary.js +0 -45
  864. package/dist/default-error-boundary.js.map +0 -1
  865. package/dist/deps/browser.d.ts +0 -2
  866. package/dist/deps/browser.d.ts.map +0 -1
  867. package/dist/deps/browser.js +0 -3
  868. package/dist/deps/browser.js.map +0 -1
  869. package/dist/deps/html-stream-client.d.ts +0 -2
  870. package/dist/deps/html-stream-client.d.ts.map +0 -1
  871. package/dist/deps/html-stream-client.js +0 -3
  872. package/dist/deps/html-stream-client.js.map +0 -1
  873. package/dist/deps/html-stream-server.d.ts +0 -2
  874. package/dist/deps/html-stream-server.d.ts.map +0 -1
  875. package/dist/deps/html-stream-server.js +0 -3
  876. package/dist/deps/html-stream-server.js.map +0 -1
  877. package/dist/deps/rsc.d.ts +0 -2
  878. package/dist/deps/rsc.d.ts.map +0 -1
  879. package/dist/deps/rsc.js +0 -4
  880. package/dist/deps/rsc.js.map +0 -1
  881. package/dist/deps/ssr.d.ts +0 -2
  882. package/dist/deps/ssr.d.ts.map +0 -1
  883. package/dist/deps/ssr.js +0 -3
  884. package/dist/deps/ssr.js.map +0 -1
  885. package/dist/errors.d.ts +0 -174
  886. package/dist/errors.d.ts.map +0 -1
  887. package/dist/errors.js +0 -241
  888. package/dist/errors.js.map +0 -1
  889. package/dist/handle.d.ts +0 -78
  890. package/dist/handle.d.ts.map +0 -1
  891. package/dist/handle.js +0 -82
  892. package/dist/handle.js.map +0 -1
  893. package/dist/handles/MetaTags.d.ts +0 -14
  894. package/dist/handles/MetaTags.d.ts.map +0 -1
  895. package/dist/handles/MetaTags.js +0 -136
  896. package/dist/handles/MetaTags.js.map +0 -1
  897. package/dist/handles/index.d.ts +0 -6
  898. package/dist/handles/index.d.ts.map +0 -1
  899. package/dist/handles/index.js +0 -6
  900. package/dist/handles/index.js.map +0 -1
  901. package/dist/handles/meta.d.ts +0 -39
  902. package/dist/handles/meta.d.ts.map +0 -1
  903. package/dist/handles/meta.js +0 -202
  904. package/dist/handles/meta.js.map +0 -1
  905. package/dist/host/__tests__/errors.test.d.ts +0 -2
  906. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  907. package/dist/host/__tests__/errors.test.js +0 -76
  908. package/dist/host/__tests__/errors.test.js.map +0 -1
  909. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  910. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  911. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  912. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  913. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  914. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  915. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  916. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  917. package/dist/host/__tests__/router.test.d.ts +0 -2
  918. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  919. package/dist/host/__tests__/router.test.js +0 -241
  920. package/dist/host/__tests__/router.test.js.map +0 -1
  921. package/dist/host/__tests__/testing.test.d.ts +0 -2
  922. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  923. package/dist/host/__tests__/testing.test.js +0 -64
  924. package/dist/host/__tests__/testing.test.js.map +0 -1
  925. package/dist/host/__tests__/utils.test.d.ts +0 -2
  926. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  927. package/dist/host/__tests__/utils.test.js +0 -29
  928. package/dist/host/__tests__/utils.test.js.map +0 -1
  929. package/dist/host/cookie-handler.d.ts +0 -34
  930. package/dist/host/cookie-handler.d.ts.map +0 -1
  931. package/dist/host/cookie-handler.js +0 -124
  932. package/dist/host/cookie-handler.js.map +0 -1
  933. package/dist/host/errors.d.ts +0 -56
  934. package/dist/host/errors.d.ts.map +0 -1
  935. package/dist/host/errors.js +0 -79
  936. package/dist/host/errors.js.map +0 -1
  937. package/dist/host/index.d.ts +0 -29
  938. package/dist/host/index.d.ts.map +0 -1
  939. package/dist/host/index.js +0 -32
  940. package/dist/host/index.js.map +0 -1
  941. package/dist/host/pattern-matcher.d.ts +0 -36
  942. package/dist/host/pattern-matcher.d.ts.map +0 -1
  943. package/dist/host/pattern-matcher.js +0 -172
  944. package/dist/host/pattern-matcher.js.map +0 -1
  945. package/dist/host/router.d.ts +0 -26
  946. package/dist/host/router.d.ts.map +0 -1
  947. package/dist/host/router.js +0 -218
  948. package/dist/host/router.js.map +0 -1
  949. package/dist/host/testing.d.ts +0 -36
  950. package/dist/host/testing.d.ts.map +0 -1
  951. package/dist/host/testing.js +0 -55
  952. package/dist/host/testing.js.map +0 -1
  953. package/dist/host/types.d.ts +0 -115
  954. package/dist/host/types.d.ts.map +0 -1
  955. package/dist/host/types.js +0 -7
  956. package/dist/host/types.js.map +0 -1
  957. package/dist/host/utils.d.ts +0 -21
  958. package/dist/host/utils.d.ts.map +0 -1
  959. package/dist/host/utils.js +0 -23
  960. package/dist/host/utils.js.map +0 -1
  961. package/dist/href-client.d.ts +0 -131
  962. package/dist/href-client.d.ts.map +0 -1
  963. package/dist/href-client.js +0 -64
  964. package/dist/href-client.js.map +0 -1
  965. package/dist/href-context.d.ts +0 -29
  966. package/dist/href-context.d.ts.map +0 -1
  967. package/dist/href-context.js +0 -21
  968. package/dist/href-context.js.map +0 -1
  969. package/dist/index.d.ts +0 -73
  970. package/dist/index.d.ts.map +0 -1
  971. package/dist/index.js +0 -91
  972. package/dist/index.js.map +0 -1
  973. package/dist/index.rsc.d.ts +0 -32
  974. package/dist/index.rsc.d.ts.map +0 -1
  975. package/dist/index.rsc.js +0 -40
  976. package/dist/index.rsc.js.map +0 -1
  977. package/dist/internal-debug.d.ts +0 -2
  978. package/dist/internal-debug.d.ts.map +0 -1
  979. package/dist/internal-debug.js +0 -5
  980. package/dist/internal-debug.js.map +0 -1
  981. package/dist/loader.d.ts +0 -14
  982. package/dist/loader.d.ts.map +0 -1
  983. package/dist/loader.js +0 -20
  984. package/dist/loader.js.map +0 -1
  985. package/dist/loader.rsc.d.ts +0 -19
  986. package/dist/loader.rsc.d.ts.map +0 -1
  987. package/dist/loader.rsc.js +0 -99
  988. package/dist/loader.rsc.js.map +0 -1
  989. package/dist/network-error-thrower.d.ts +0 -17
  990. package/dist/network-error-thrower.d.ts.map +0 -1
  991. package/dist/network-error-thrower.js +0 -14
  992. package/dist/network-error-thrower.js.map +0 -1
  993. package/dist/outlet-context.d.ts +0 -13
  994. package/dist/outlet-context.d.ts.map +0 -1
  995. package/dist/outlet-context.js +0 -3
  996. package/dist/outlet-context.js.map +0 -1
  997. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  998. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  999. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  1000. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  1001. package/dist/prerender/param-hash.d.ts +0 -16
  1002. package/dist/prerender/param-hash.d.ts.map +0 -1
  1003. package/dist/prerender/param-hash.js +0 -36
  1004. package/dist/prerender/param-hash.js.map +0 -1
  1005. package/dist/prerender/store.d.ts +0 -38
  1006. package/dist/prerender/store.d.ts.map +0 -1
  1007. package/dist/prerender/store.js +0 -61
  1008. package/dist/prerender/store.js.map +0 -1
  1009. package/dist/prerender.d.ts +0 -66
  1010. package/dist/prerender.d.ts.map +0 -1
  1011. package/dist/prerender.js +0 -57
  1012. package/dist/prerender.js.map +0 -1
  1013. package/dist/reverse.d.ts +0 -196
  1014. package/dist/reverse.d.ts.map +0 -1
  1015. package/dist/reverse.js +0 -78
  1016. package/dist/reverse.js.map +0 -1
  1017. package/dist/root-error-boundary.d.ts +0 -33
  1018. package/dist/root-error-boundary.d.ts.map +0 -1
  1019. package/dist/root-error-boundary.js +0 -165
  1020. package/dist/root-error-boundary.js.map +0 -1
  1021. package/dist/route-content-wrapper.d.ts +0 -46
  1022. package/dist/route-content-wrapper.d.ts.map +0 -1
  1023. package/dist/route-content-wrapper.js +0 -77
  1024. package/dist/route-content-wrapper.js.map +0 -1
  1025. package/dist/route-definition.d.ts +0 -421
  1026. package/dist/route-definition.d.ts.map +0 -1
  1027. package/dist/route-definition.js +0 -868
  1028. package/dist/route-definition.js.map +0 -1
  1029. package/dist/route-map-builder.d.ts +0 -155
  1030. package/dist/route-map-builder.d.ts.map +0 -1
  1031. package/dist/route-map-builder.js +0 -237
  1032. package/dist/route-map-builder.js.map +0 -1
  1033. package/dist/route-types.d.ts +0 -165
  1034. package/dist/route-types.d.ts.map +0 -1
  1035. package/dist/route-types.js +0 -7
  1036. package/dist/route-types.js.map +0 -1
  1037. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  1038. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  1039. package/dist/router/__tests__/handler-context.test.js +0 -65
  1040. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  1041. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  1042. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  1043. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  1044. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  1045. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  1046. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  1047. package/dist/router/__tests__/match-context.test.js +0 -92
  1048. package/dist/router/__tests__/match-context.test.js.map +0 -1
  1049. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  1050. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  1051. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  1052. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  1053. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  1054. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  1055. package/dist/router/__tests__/match-result.test.js +0 -457
  1056. package/dist/router/__tests__/match-result.test.js.map +0 -1
  1057. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  1058. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  1059. package/dist/router/__tests__/on-error.test.js +0 -678
  1060. package/dist/router/__tests__/on-error.test.js.map +0 -1
  1061. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  1062. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  1063. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  1064. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  1065. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  1066. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  1067. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  1068. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  1069. package/dist/router/error-handling.d.ts +0 -77
  1070. package/dist/router/error-handling.d.ts.map +0 -1
  1071. package/dist/router/error-handling.js +0 -202
  1072. package/dist/router/error-handling.js.map +0 -1
  1073. package/dist/router/handler-context.d.ts +0 -20
  1074. package/dist/router/handler-context.d.ts.map +0 -1
  1075. package/dist/router/handler-context.js +0 -198
  1076. package/dist/router/handler-context.js.map +0 -1
  1077. package/dist/router/intercept-resolution.d.ts +0 -66
  1078. package/dist/router/intercept-resolution.d.ts.map +0 -1
  1079. package/dist/router/intercept-resolution.js +0 -246
  1080. package/dist/router/intercept-resolution.js.map +0 -1
  1081. package/dist/router/loader-resolution.d.ts +0 -64
  1082. package/dist/router/loader-resolution.d.ts.map +0 -1
  1083. package/dist/router/loader-resolution.js +0 -284
  1084. package/dist/router/loader-resolution.js.map +0 -1
  1085. package/dist/router/logging.d.ts +0 -15
  1086. package/dist/router/logging.d.ts.map +0 -1
  1087. package/dist/router/logging.js +0 -99
  1088. package/dist/router/logging.js.map +0 -1
  1089. package/dist/router/manifest.d.ts +0 -22
  1090. package/dist/router/manifest.d.ts.map +0 -1
  1091. package/dist/router/manifest.js +0 -181
  1092. package/dist/router/manifest.js.map +0 -1
  1093. package/dist/router/match-api.d.ts +0 -35
  1094. package/dist/router/match-api.d.ts.map +0 -1
  1095. package/dist/router/match-api.js +0 -406
  1096. package/dist/router/match-api.js.map +0 -1
  1097. package/dist/router/match-context.d.ts +0 -206
  1098. package/dist/router/match-context.d.ts.map +0 -1
  1099. package/dist/router/match-context.js +0 -17
  1100. package/dist/router/match-context.js.map +0 -1
  1101. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  1102. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  1103. package/dist/router/match-middleware/background-revalidation.js +0 -75
  1104. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  1105. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  1106. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  1107. package/dist/router/match-middleware/cache-lookup.js +0 -257
  1108. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  1109. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  1110. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  1111. package/dist/router/match-middleware/cache-store.js +0 -108
  1112. package/dist/router/match-middleware/cache-store.js.map +0 -1
  1113. package/dist/router/match-middleware/index.d.ts +0 -81
  1114. package/dist/router/match-middleware/index.d.ts.map +0 -1
  1115. package/dist/router/match-middleware/index.js +0 -80
  1116. package/dist/router/match-middleware/index.js.map +0 -1
  1117. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  1118. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  1119. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  1120. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  1121. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  1122. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  1123. package/dist/router/match-middleware/segment-resolution.js +0 -53
  1124. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  1125. package/dist/router/match-pipelines.d.ts +0 -147
  1126. package/dist/router/match-pipelines.d.ts.map +0 -1
  1127. package/dist/router/match-pipelines.js +0 -82
  1128. package/dist/router/match-pipelines.js.map +0 -1
  1129. package/dist/router/match-result.d.ts +0 -126
  1130. package/dist/router/match-result.d.ts.map +0 -1
  1131. package/dist/router/match-result.js +0 -93
  1132. package/dist/router/match-result.js.map +0 -1
  1133. package/dist/router/metrics.d.ts +0 -20
  1134. package/dist/router/metrics.d.ts.map +0 -1
  1135. package/dist/router/metrics.js +0 -47
  1136. package/dist/router/metrics.js.map +0 -1
  1137. package/dist/router/middleware.d.ts +0 -249
  1138. package/dist/router/middleware.d.ts.map +0 -1
  1139. package/dist/router/middleware.js +0 -434
  1140. package/dist/router/middleware.js.map +0 -1
  1141. package/dist/router/middleware.test.d.ts +0 -2
  1142. package/dist/router/middleware.test.d.ts.map +0 -1
  1143. package/dist/router/middleware.test.js +0 -816
  1144. package/dist/router/middleware.test.js.map +0 -1
  1145. package/dist/router/pattern-matching.d.ts +0 -149
  1146. package/dist/router/pattern-matching.d.ts.map +0 -1
  1147. package/dist/router/pattern-matching.js +0 -349
  1148. package/dist/router/pattern-matching.js.map +0 -1
  1149. package/dist/router/revalidation.d.ts +0 -44
  1150. package/dist/router/revalidation.d.ts.map +0 -1
  1151. package/dist/router/revalidation.js +0 -147
  1152. package/dist/router/revalidation.js.map +0 -1
  1153. package/dist/router/router-context.d.ts +0 -135
  1154. package/dist/router/router-context.d.ts.map +0 -1
  1155. package/dist/router/router-context.js +0 -36
  1156. package/dist/router/router-context.js.map +0 -1
  1157. package/dist/router/segment-resolution.d.ts +0 -127
  1158. package/dist/router/segment-resolution.d.ts.map +0 -1
  1159. package/dist/router/segment-resolution.js +0 -919
  1160. package/dist/router/segment-resolution.js.map +0 -1
  1161. package/dist/router/trie-matching.d.ts +0 -40
  1162. package/dist/router/trie-matching.d.ts.map +0 -1
  1163. package/dist/router/trie-matching.js +0 -127
  1164. package/dist/router/trie-matching.js.map +0 -1
  1165. package/dist/router/types.d.ts +0 -136
  1166. package/dist/router/types.d.ts.map +0 -1
  1167. package/dist/router/types.js +0 -7
  1168. package/dist/router/types.js.map +0 -1
  1169. package/dist/router.d.ts +0 -753
  1170. package/dist/router.d.ts.map +0 -1
  1171. package/dist/router.gen.d.ts +0 -6
  1172. package/dist/router.gen.d.ts.map +0 -1
  1173. package/dist/router.gen.js +0 -6
  1174. package/dist/router.gen.js.map +0 -1
  1175. package/dist/router.js +0 -1304
  1176. package/dist/router.js.map +0 -1
  1177. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  1178. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  1179. package/dist/rsc/__tests__/helpers.test.js +0 -140
  1180. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  1181. package/dist/rsc/handler.d.ts +0 -45
  1182. package/dist/rsc/handler.d.ts.map +0 -1
  1183. package/dist/rsc/handler.js +0 -1172
  1184. package/dist/rsc/handler.js.map +0 -1
  1185. package/dist/rsc/helpers.d.ts +0 -16
  1186. package/dist/rsc/helpers.d.ts.map +0 -1
  1187. package/dist/rsc/helpers.js +0 -55
  1188. package/dist/rsc/helpers.js.map +0 -1
  1189. package/dist/rsc/index.d.ts +0 -22
  1190. package/dist/rsc/index.d.ts.map +0 -1
  1191. package/dist/rsc/index.js +0 -23
  1192. package/dist/rsc/index.js.map +0 -1
  1193. package/dist/rsc/nonce.d.ts +0 -9
  1194. package/dist/rsc/nonce.d.ts.map +0 -1
  1195. package/dist/rsc/nonce.js +0 -18
  1196. package/dist/rsc/nonce.js.map +0 -1
  1197. package/dist/rsc/types.d.ts +0 -206
  1198. package/dist/rsc/types.d.ts.map +0 -1
  1199. package/dist/rsc/types.js +0 -8
  1200. package/dist/rsc/types.js.map +0 -1
  1201. package/dist/search-params.d.ts +0 -103
  1202. package/dist/search-params.d.ts.map +0 -1
  1203. package/dist/search-params.js +0 -74
  1204. package/dist/search-params.js.map +0 -1
  1205. package/dist/segment-system.d.ts +0 -75
  1206. package/dist/segment-system.d.ts.map +0 -1
  1207. package/dist/segment-system.js +0 -336
  1208. package/dist/segment-system.js.map +0 -1
  1209. package/dist/server/context.d.ts +0 -245
  1210. package/dist/server/context.d.ts.map +0 -1
  1211. package/dist/server/context.js +0 -197
  1212. package/dist/server/context.js.map +0 -1
  1213. package/dist/server/fetchable-loader-store.d.ts +0 -18
  1214. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  1215. package/dist/server/fetchable-loader-store.js +0 -18
  1216. package/dist/server/fetchable-loader-store.js.map +0 -1
  1217. package/dist/server/handle-store.d.ts +0 -85
  1218. package/dist/server/handle-store.d.ts.map +0 -1
  1219. package/dist/server/handle-store.js +0 -142
  1220. package/dist/server/handle-store.js.map +0 -1
  1221. package/dist/server/loader-registry.d.ts +0 -55
  1222. package/dist/server/loader-registry.d.ts.map +0 -1
  1223. package/dist/server/loader-registry.js +0 -132
  1224. package/dist/server/loader-registry.js.map +0 -1
  1225. package/dist/server/request-context.d.ts +0 -226
  1226. package/dist/server/request-context.d.ts.map +0 -1
  1227. package/dist/server/request-context.js +0 -290
  1228. package/dist/server/request-context.js.map +0 -1
  1229. package/dist/server/root-layout.d.ts +0 -4
  1230. package/dist/server/root-layout.d.ts.map +0 -1
  1231. package/dist/server/root-layout.js +0 -5
  1232. package/dist/server/root-layout.js.map +0 -1
  1233. package/dist/server.d.ts +0 -15
  1234. package/dist/server.d.ts.map +0 -1
  1235. package/dist/server.js +0 -20
  1236. package/dist/server.js.map +0 -1
  1237. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  1238. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  1239. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  1240. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  1241. package/dist/ssr/index.d.ts +0 -98
  1242. package/dist/ssr/index.d.ts.map +0 -1
  1243. package/dist/ssr/index.js +0 -158
  1244. package/dist/ssr/index.js.map +0 -1
  1245. package/dist/static-handler.d.ts +0 -50
  1246. package/dist/static-handler.d.ts.map +0 -1
  1247. package/dist/static-handler.gen.d.ts +0 -5
  1248. package/dist/static-handler.gen.d.ts.map +0 -1
  1249. package/dist/static-handler.gen.js +0 -5
  1250. package/dist/static-handler.gen.js.map +0 -1
  1251. package/dist/static-handler.js +0 -29
  1252. package/dist/static-handler.js.map +0 -1
  1253. package/dist/theme/ThemeProvider.d.ts +0 -20
  1254. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  1255. package/dist/theme/ThemeProvider.js +0 -240
  1256. package/dist/theme/ThemeProvider.js.map +0 -1
  1257. package/dist/theme/ThemeScript.d.ts +0 -48
  1258. package/dist/theme/ThemeScript.d.ts.map +0 -1
  1259. package/dist/theme/ThemeScript.js +0 -13
  1260. package/dist/theme/ThemeScript.js.map +0 -1
  1261. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  1262. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  1263. package/dist/theme/__tests__/theme.test.js +0 -103
  1264. package/dist/theme/__tests__/theme.test.js.map +0 -1
  1265. package/dist/theme/constants.d.ts +0 -29
  1266. package/dist/theme/constants.d.ts.map +0 -1
  1267. package/dist/theme/constants.js +0 -48
  1268. package/dist/theme/constants.js.map +0 -1
  1269. package/dist/theme/index.d.ts +0 -31
  1270. package/dist/theme/index.d.ts.map +0 -1
  1271. package/dist/theme/index.js +0 -36
  1272. package/dist/theme/index.js.map +0 -1
  1273. package/dist/theme/theme-context.d.ts +0 -40
  1274. package/dist/theme/theme-context.d.ts.map +0 -1
  1275. package/dist/theme/theme-context.js +0 -60
  1276. package/dist/theme/theme-context.js.map +0 -1
  1277. package/dist/theme/theme-script.d.ts +0 -27
  1278. package/dist/theme/theme-script.d.ts.map +0 -1
  1279. package/dist/theme/theme-script.js +0 -147
  1280. package/dist/theme/theme-script.js.map +0 -1
  1281. package/dist/theme/types.d.ts +0 -163
  1282. package/dist/theme/types.d.ts.map +0 -1
  1283. package/dist/theme/types.js +0 -11
  1284. package/dist/theme/types.js.map +0 -1
  1285. package/dist/theme/use-theme.d.ts +0 -12
  1286. package/dist/theme/use-theme.d.ts.map +0 -1
  1287. package/dist/theme/use-theme.js +0 -40
  1288. package/dist/theme/use-theme.js.map +0 -1
  1289. package/dist/types.d.ts +0 -1479
  1290. package/dist/types.d.ts.map +0 -1
  1291. package/dist/types.js +0 -10
  1292. package/dist/types.js.map +0 -1
  1293. package/dist/urls.d.ts +0 -441
  1294. package/dist/urls.d.ts.map +0 -1
  1295. package/dist/urls.gen.d.ts +0 -8
  1296. package/dist/urls.gen.d.ts.map +0 -1
  1297. package/dist/urls.gen.js +0 -8
  1298. package/dist/urls.gen.js.map +0 -1
  1299. package/dist/urls.js +0 -443
  1300. package/dist/urls.js.map +0 -1
  1301. package/dist/use-loader.d.ts +0 -127
  1302. package/dist/use-loader.d.ts.map +0 -1
  1303. package/dist/use-loader.js +0 -237
  1304. package/dist/use-loader.js.map +0 -1
  1305. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  1306. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  1307. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  1308. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  1309. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  1310. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  1311. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  1312. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  1313. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  1314. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  1315. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  1316. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  1317. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  1318. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  1319. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  1320. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  1321. package/dist/vite/ast-handler-extract.d.ts +0 -49
  1322. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  1323. package/dist/vite/ast-handler-extract.js +0 -249
  1324. package/dist/vite/ast-handler-extract.js.map +0 -1
  1325. package/dist/vite/expose-action-id.d.ts +0 -19
  1326. package/dist/vite/expose-action-id.d.ts.map +0 -1
  1327. package/dist/vite/expose-action-id.js +0 -250
  1328. package/dist/vite/expose-action-id.js.map +0 -1
  1329. package/dist/vite/expose-id-utils.d.ts +0 -69
  1330. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  1331. package/dist/vite/expose-id-utils.js +0 -289
  1332. package/dist/vite/expose-id-utils.js.map +0 -1
  1333. package/dist/vite/expose-internal-ids.d.ts +0 -22
  1334. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  1335. package/dist/vite/expose-internal-ids.js +0 -886
  1336. package/dist/vite/expose-internal-ids.js.map +0 -1
  1337. package/dist/vite/index.d.ts +0 -149
  1338. package/dist/vite/index.d.ts.map +0 -1
  1339. package/dist/vite/index.js.bak +0 -5448
  1340. package/dist/vite/index.js.map +0 -1
  1341. package/dist/vite/index.named-routes.gen.ts +0 -103
  1342. package/dist/vite/package-resolution.d.ts +0 -43
  1343. package/dist/vite/package-resolution.d.ts.map +0 -1
  1344. package/dist/vite/package-resolution.js +0 -112
  1345. package/dist/vite/package-resolution.js.map +0 -1
  1346. package/dist/vite/virtual-entries.d.ts +0 -25
  1347. package/dist/vite/virtual-entries.d.ts.map +0 -1
  1348. package/dist/vite/virtual-entries.js +0 -110
  1349. package/dist/vite/virtual-entries.js.map +0 -1
  1350. package/skills/migrate-react-router/cloudflare-workers.md +0 -129
@@ -14,6 +14,7 @@
14
14
  import type { ExecutionContext } from "../../types/request-scope.js";
15
15
  import type { CacheDefaults } from "../types.js";
16
16
  import type { RequestContext } from "../../server/request-context.js";
17
+ import type { CloudflareZonePurgeOptions } from "./cf-zone-purge.js";
17
18
 
18
19
  /**
19
20
  * Minimal Cloudflare KV Namespace interface.
@@ -197,6 +198,71 @@ export interface CFCacheStoreOptions<TEnv = unknown> {
197
198
  */
198
199
  onRevalidateTag?: (cacheTags: string[]) => Promise<void>;
199
200
 
201
+ /**
202
+ * Purge-based tag invalidation (purge mode). When configured, the store
203
+ * delegates L1 (Cache API) tag eviction to Cloudflare's purge-by-tag API
204
+ * instead of the per-read KV marker lookup.
205
+ *
206
+ * Two forms:
207
+ * - **Credentials object** (the normal wiring): `{ zoneId, apiToken }` — the
208
+ * store builds the purge client itself (createCloudflareZonePurge).
209
+ * `zoneId` is on the zone's dashboard overview; `apiToken` needs the
210
+ * `Zone.Cache Purge` permission for that zone — store it as a Worker
211
+ * secret. Validated at store construction (Workers run no code at deploy,
212
+ * so with the usual per-request cache factory this means the first request
213
+ * throws — loudly and on every request), rather than surfacing only when
214
+ * the first invalidation quietly rejects much later.
215
+ * - **Function** `(cacheTags) => Promise<void>` — an escape hatch for
216
+ * proxies, custom transports, or test stubs; receives the exact
217
+ * Cache-Tags to purge.
218
+ *
219
+ * Semantics:
220
+ * - Every tagged L1 entry carries a namespaced `Cache-Tag` header
221
+ * (`rg:{namespace}:e:{encodedTag}`, plus the broader `rg:{namespace}` /
222
+ * `rg:{namespace}:e` tiers for manual resets).
223
+ * - `updateTag()`/`revalidateTag()` AWAIT the purge with the exact Cache-Tags
224
+ * (one batched call per invalidation; entry tags, plus the lookup
225
+ * Cache-Tags when `tagCacheTtl > 0`).
226
+ * - L1 hits then skip the per-read marker lookup entirely: a surviving entry
227
+ * is trusted because an invalidated one would have been purged. Only the
228
+ * per-request memo is consulted (synchronously, no KV read), so a request
229
+ * that ran `updateTag()` still masks its own not-yet-purged entries
230
+ * (read-your-own-writes).
231
+ * - The KV tier and PPR shells still use the KV markers — those are written
232
+ * regardless, and purge cannot reach KV — so keep `kv` configured for L2.
233
+ * Without `kv`, purge mode is the ONLY tag invalidation and the store is
234
+ * L1-only: a supported configuration (previously tag invalidation without
235
+ * KV had no read-side effect at all). One KV-less caveat: an entry whose
236
+ * tag set overflows Cloudflare's 16 KB Cache-Tag header limit is NOT
237
+ * cached (it would be un-invalidatable — no tokens for the purge, no
238
+ * marker fallback); with `kv` such an entry caches and falls back to the
239
+ * marker check.
240
+ *
241
+ * Consistency trade-off vs the default marker mode: invalidation latency for
242
+ * concurrent requests becomes the purge propagation time (Cloudflare quotes
243
+ * sub-second "Instant Purge") instead of read-time KV consistency, and a
244
+ * purge failure leaves L1 stale until TTL — which is why a rejected hook
245
+ * makes `updateTag()` reject (retry the invalidation; markers and purge are
246
+ * both idempotent).
247
+ *
248
+ * Zone scoping: purge-by-tag clears YOUR zone. workers.dev / pages.dev
249
+ * previews have an inert Cache API (nothing to purge — the KV tier still
250
+ * invalidates via markers there); a preview on a SEPARATE zone needs its own
251
+ * purge credentials.
252
+ *
253
+ * @example
254
+ * ```ts
255
+ * new CFCacheStore({
256
+ * ctx,
257
+ * kv: env.CACHE_KV,
258
+ * tagPurge: { zoneId: env.CF_ZONE_ID, apiToken: env.CF_PURGE_TOKEN },
259
+ * })
260
+ * ```
261
+ */
262
+ tagPurge?:
263
+ | CloudflareZonePurgeOptions
264
+ | ((cacheTags: string[]) => Promise<void>);
265
+
200
266
  /**
201
267
  * Optional expiration (seconds) for tag-invalidation markers in KV. A marker
202
268
  * must outlive every entry tagged before the invalidation, so this MUST
@@ -38,8 +38,11 @@ export const TAG_MARKER_ABSENT = "none";
38
38
  * entry A's own KV says is invalidated. Keying by the instance isolates them;
39
39
  * two reads through the SAME store still share the memo. A read through one
40
40
  * store never populates another's memo, so each store always consults its own KV
41
- * binding. Markers are read only through isGloballyInvalidated(), which already
42
- * short-circuits when a store has no KV, so a store without KV never allocates.
41
+ * binding. Markers are read through isGloballyInvalidated(), which
42
+ * short-circuits when a store has no KV and, in purge mode, through
43
+ * isL1Invalidated(), which consults ONLY this memo on an L1 hit (no KV read),
44
+ * so a purge-mode store allocates the memo even without KV for same-request
45
+ * read-your-own-writes after updateTag().
43
46
  *
44
47
  * Without the memo, isGloballyInvalidated() issues a KV read per tag on every
45
48
  * tagged cache read, so a page composed of many segments/items sharing a tag
@@ -0,0 +1,101 @@
1
+ // ============================================================================
2
+ // Cloudflare zone purge-by-tag helper
3
+ // ============================================================================
4
+ //
5
+ // Ready-made `tagPurge` implementation for CFCacheStoreOptions: POSTs the
6
+ // Cache-Tags handed over by invalidateTags() to the zone purge endpoint.
7
+ // Kept transport-only (no store coupling) so it is unit-testable with an
8
+ // injected fetch and reusable for onRevalidateTag.
9
+
10
+ /**
11
+ * Tags per purge_cache API call. Cloudflare's documented purge-by-tag batch
12
+ * limit has historically been 30 tags per call (the newer all-plans limits
13
+ * page quotes 100 operations per request); chunking at 30 stays under both.
14
+ * @internal
15
+ */
16
+ export const PURGE_TAGS_PER_CALL = 30;
17
+
18
+ export interface CloudflareZonePurgeOptions {
19
+ /** Zone to purge (Cloudflare dashboard -> zone overview -> Zone ID). */
20
+ zoneId: string;
21
+ /** API token with the `Zone.Cache Purge` permission for that zone. */
22
+ apiToken: string;
23
+ /**
24
+ * API origin override, mainly for tests/proxies.
25
+ * Defaults to `https://api.cloudflare.com`.
26
+ */
27
+ apiBase?: string;
28
+ /** fetch override, mainly for tests. Defaults to the global fetch. */
29
+ fetch?: typeof fetch;
30
+ }
31
+
32
+ /**
33
+ * Create a purge-by-tag function for {@link CFCacheStoreOptions.tagPurge} (or
34
+ * `onRevalidateTag`). Chunks the tag list under the per-call API limit and
35
+ * rejects on any non-success response, so a failed purge surfaces through
36
+ * `updateTag()` instead of silently leaving L1 stale.
37
+ *
38
+ * Purge-by-tag is available on ALL Cloudflare plans (since April 2025), but
39
+ * account-level purge rate limits apply (Free: 5 calls/min) — keep invalidation
40
+ * tag batches small and low-frequency on lower plans.
41
+ */
42
+ export function createCloudflareZonePurge(
43
+ options: CloudflareZonePurgeOptions,
44
+ ): (cacheTags: string[]) => Promise<void> {
45
+ const { zoneId, apiToken } = options;
46
+ // Fail at construction, not at the first updateTag(): a store wired with an
47
+ // unset env var would otherwise report the misconfig only when the first
48
+ // invalidation rejects — long after deploy.
49
+ if (typeof zoneId !== "string" || zoneId.length === 0) {
50
+ throw new Error(
51
+ "[createCloudflareZonePurge] zoneId is required (Cloudflare dashboard " +
52
+ "-> zone overview -> Zone ID). Check the env var/secret it is read from.",
53
+ );
54
+ }
55
+ if (typeof apiToken !== "string" || apiToken.length === 0) {
56
+ throw new Error(
57
+ "[createCloudflareZonePurge] apiToken is required (an API token with " +
58
+ "the Zone.Cache Purge permission for the zone). Check the secret it " +
59
+ "is read from.",
60
+ );
61
+ }
62
+ const apiBase = options.apiBase ?? "https://api.cloudflare.com";
63
+ const fetchImpl = options.fetch ?? fetch;
64
+ const endpoint = `${apiBase}/client/v4/zones/${zoneId}/purge_cache`;
65
+
66
+ return async (cacheTags: string[]): Promise<void> => {
67
+ for (let i = 0; i < cacheTags.length; i += PURGE_TAGS_PER_CALL) {
68
+ const chunk = cacheTags.slice(i, i + PURGE_TAGS_PER_CALL);
69
+ const response = await fetchImpl(endpoint, {
70
+ method: "POST",
71
+ headers: {
72
+ Authorization: `Bearer ${apiToken}`,
73
+ "Content-Type": "application/json",
74
+ },
75
+ body: JSON.stringify({ tags: chunk }),
76
+ });
77
+ // The API reports failures both via HTTP status and a success flag.
78
+ // Require an EXPLICIT success: true — an empty body, an HTML error
79
+ // page, invalid JSON, or `{}` on a 2xx is NOT a confirmed purge, and
80
+ // purge mode trusts surviving L1 entries on the strength of this call,
81
+ // so an unconfirmed purge must reject rather than pass silently.
82
+ const body = (await response.json().catch(() => null)) as {
83
+ success?: boolean;
84
+ errors?: { code?: number; message?: string }[];
85
+ } | null;
86
+ if (!response.ok || body?.success !== true) {
87
+ const detail =
88
+ body?.errors
89
+ ?.map((e) => `${e.code ?? "?"}: ${e.message ?? "unknown"}`)
90
+ .join("; ") ??
91
+ (response.ok
92
+ ? `HTTP ${response.status} with a missing/invalid success body`
93
+ : `HTTP ${response.status}`);
94
+ throw new Error(
95
+ `[createCloudflareZonePurge] purge_cache failed for ${chunk.length} ` +
96
+ `tag(s): ${detail}`,
97
+ );
98
+ }
99
+ }
100
+ };
101
+ }
@@ -17,3 +17,8 @@ export {
17
17
  EDGE_READ_TIMEOUT_MS,
18
18
  KV_READ_TIMEOUT_MS,
19
19
  } from "./cf-cache-store.js";
20
+
21
+ export {
22
+ createCloudflareZonePurge,
23
+ type CloudflareZonePurgeOptions,
24
+ } from "./cf-zone-purge.js";
@@ -83,14 +83,35 @@ export async function decodeHandleValue<T>(encoded: string): Promise<T | null> {
83
83
  /**
84
84
  * Capture handle data for a set of segments from the handle store.
85
85
  * Used when caching segments to preserve their handle data.
86
+ *
87
+ * `exclude` (shell captures: RequestContext._shellCaptureLoaderHandleValues)
88
+ * drops DSL-loader-scoped push values from the CACHE WRITE only: loaders
89
+ * re-run fresh on every HIT, so replaying their captured values would
90
+ * duplicate the fresh push — and their masked nested promises would stall the
91
+ * Flight handle encode to its timeout. Threaded as an explicit argument so
92
+ * every other getDataForSegment consumer (the render-barrier snapshot,
93
+ * prerender) provably sees every push.
86
94
  */
87
95
  export function captureHandles(
88
96
  segments: ResolvedSegment[],
89
97
  handleStore: HandleStore,
98
+ exclude?: WeakSet<object>,
90
99
  ): Record<string, SegmentHandleData> {
91
100
  const handles: Record<string, SegmentHandleData> = {};
92
101
  for (const seg of segments) {
93
- handles[seg.id] = handleStore.getDataForSegment(seg.id);
102
+ const data = handleStore.getDataForSegment(seg.id);
103
+ if (!exclude) {
104
+ handles[seg.id] = data;
105
+ continue;
106
+ }
107
+ const filtered: SegmentHandleData = {};
108
+ for (const [handleName, values] of Object.entries(data)) {
109
+ const kept = values.filter(
110
+ (v) => typeof v !== "object" || v === null || !exclude.has(v),
111
+ );
112
+ if (kept.length > 0) filtered[handleName] = kept;
113
+ }
114
+ handles[seg.id] = filtered;
94
115
  }
95
116
  return handles;
96
117
  }
@@ -23,6 +23,8 @@ export {
23
23
  EDGE_LOOKUP_TIMEOUT_MS,
24
24
  EDGE_READ_TIMEOUT_MS,
25
25
  KV_READ_TIMEOUT_MS,
26
+ createCloudflareZonePurge,
27
+ type CloudflareZonePurgeOptions,
26
28
  } from "./cf/index.js";
27
29
 
28
30
  export {
@@ -30,6 +30,8 @@ const ITEM_CACHE_REGISTRY_KEY = "__rsc_router_item_cache_registry__";
30
30
  const SHELL_CACHE_REGISTRY_KEY = "__rsc_router_shell_cache_registry__";
31
31
  const TAG_INDEX_REGISTRY_KEY = "__rsc_router_tag_index_registry__";
32
32
  const KEY_TAGS_REGISTRY_KEY = "__rsc_router_key_tags_registry__";
33
+ const TAG_INVALIDATED_AT_REGISTRY_KEY =
34
+ "__rsc_router_tag_invalidated_at_registry__";
33
35
 
34
36
  /**
35
37
  * Get or create a named Map from a globalThis-backed registry.
@@ -186,6 +188,7 @@ const DEFAULT_MAX_ENTRIES = 1000;
186
188
  export class MemorySegmentCacheStore<
187
189
  TEnv = unknown,
188
190
  > implements SegmentCacheStore<TEnv> {
191
+ readonly supportsPassiveShellReads: true = true;
189
192
  private cache: Map<string, CachedEntryData>;
190
193
  private responseCache: Map<string, CachedResponseEntry>;
191
194
  private itemCache: Map<string, CachedItemEntry>;
@@ -194,6 +197,12 @@ export class MemorySegmentCacheStore<
194
197
  private tagIndex: Map<string, Set<string>>;
195
198
  /** prefixed cache key -> set of tags (reverse index for O(tags) unregister) */
196
199
  private keyTags: Map<string, Set<string>>;
200
+ /**
201
+ * tag -> epoch ms of its latest invalidateTags() call. Runtime capture races
202
+ * and immutable build shells are gated by comparing these markers with the
203
+ * shell generation start. Per-isolate, like every other map here.
204
+ */
205
+ private tagInvalidatedAt: Map<string, number>;
197
206
  readonly defaults?: CacheDefaults;
198
207
  readonly keyGenerator?: (
199
208
  ctx: RequestContext<TEnv>,
@@ -228,6 +237,10 @@ export class MemorySegmentCacheStore<
228
237
  KEY_TAGS_REGISTRY_KEY,
229
238
  options.name,
230
239
  );
240
+ this.tagInvalidatedAt = getNamedMap<number>(
241
+ TAG_INVALIDATED_AT_REGISTRY_KEY,
242
+ options.name,
243
+ );
231
244
  } else {
232
245
  this.cache = new Map<string, CachedEntryData>();
233
246
  this.responseCache = new Map<string, CachedResponseEntry>();
@@ -235,6 +248,7 @@ export class MemorySegmentCacheStore<
235
248
  this.shellCache = new Map<string, CachedShellEntry>();
236
249
  this.tagIndex = new Map<string, Set<string>>();
237
250
  this.keyTags = new Map<string, Set<string>>();
251
+ this.tagInvalidatedAt = new Map<string, number>();
238
252
  }
239
253
  this.defaults = options?.defaults;
240
254
  this.keyGenerator = options?.keyGenerator;
@@ -444,7 +458,14 @@ export class MemorySegmentCacheStore<
444
458
  ttlSeconds?: number,
445
459
  swrSeconds?: number,
446
460
  tags?: string[],
447
- ): Promise<void> {
461
+ ): Promise<"stored" | "invalidated"> {
462
+ if (
463
+ tags &&
464
+ tags.length > 0 &&
465
+ this.tagsInvalidatedSince(tags, entry.createdAt)
466
+ ) {
467
+ return "invalidated";
468
+ }
448
469
  const ttl = resolveTtl(ttlSeconds, this.defaults, DEFAULT_FUNCTION_TTL);
449
470
  const swrWindow = resolveSwrWindow(swrSeconds, this.defaults);
450
471
  const { staleAt, expiresAt } = computeExpiration(ttl, swrWindow);
@@ -455,10 +476,32 @@ export class MemorySegmentCacheStore<
455
476
  if (tags && tags.length > 0) {
456
477
  this.registerTags(tags, prefixedKey);
457
478
  }
479
+ return "stored";
480
+ }
481
+
482
+ async isTagsInvalidatedSince(
483
+ tags: string[],
484
+ sinceMs: number,
485
+ ): Promise<boolean> {
486
+ return this.tagsInvalidatedSince(tags, sinceMs);
487
+ }
488
+
489
+ private tagsInvalidatedSince(tags: string[], sinceMs: number): boolean {
490
+ for (const tag of tags) {
491
+ const at = this.tagInvalidatedAt.get(tag);
492
+ // >= so a same-millisecond invalidation wins (freshness over staleness),
493
+ // matching the CF marker comparison.
494
+ if (at !== undefined && at >= sinceMs) return true;
495
+ }
496
+ return false;
458
497
  }
459
498
 
460
499
  async invalidateTags(tags: string[]): Promise<void> {
500
+ const invalidatedAt = Date.now();
461
501
  for (const tag of tags) {
502
+ // Marker first: build-shell entries evict by marker comparison even when
503
+ // no runtime entry currently carries the tag (tagIndex miss below).
504
+ this.tagInvalidatedAt.set(tag, invalidatedAt);
462
505
  const keys = this.tagIndex.get(tag);
463
506
  if (!keys || keys.size === 0) continue;
464
507
 
@@ -11,6 +11,7 @@
11
11
  import type { ResolvedSegment } from "../types.js";
12
12
  import type { SerializedSegmentData } from "./types.js";
13
13
  import { INTERNAL_RANGO_DEBUG } from "../internal-debug.js";
14
+ import { segmentFragment } from "../segment-fragments.js";
14
15
  import {
15
16
  renderToReadableStream,
16
17
  createTemporaryReferenceSet,
@@ -206,6 +207,52 @@ export async function serializeSegments(
206
207
  );
207
208
  }
208
209
 
210
+ /**
211
+ * Build ResolvedSegments that carry the STORED fragment strings verbatim
212
+ * instead of decoding them (PPR fast-path payload splice, issue #700; see
213
+ * segment-fragments.ts). The ReactNode fields (component/layout/loading)
214
+ * become {@link segmentFragment} envelopes the outer Flight render serializes
215
+ * as a string copy; the CONSUMER (SSR resume + browser hydration) expands them
216
+ * through its own deserializer. Loader data fields are NOT enveloped — they
217
+ * are consumer data of any shape (a marker there could collide) and decode
218
+ * server-side exactly as deserializeSegments does; on the doc/prerender
219
+ * records this path serves they are absent in practice (loaders are never
220
+ * cached with the route record).
221
+ *
222
+ * The loading "null" sentinel decodes here (not on the consumer): loading:null
223
+ * must survive as null, and shipping the raw sentinel would change the
224
+ * deduplicateLoaderSegments loading-presence check.
225
+ */
226
+ export async function fragmentSegments(
227
+ data: SerializedSegmentData[],
228
+ ): Promise<ResolvedSegment[]> {
229
+ return Promise.all(
230
+ data.map(async (item): Promise<ResolvedSegment> => {
231
+ const loadingIsNullSentinel = item.encodedLoading === "null";
232
+ const [loaderData, loaderDataPromise] = await Promise.all([
233
+ rscDeserialize(item.encodedLoaderData),
234
+ rscDeserialize(item.encodedLoaderDataPromise),
235
+ ]);
236
+ return {
237
+ ...item.metadata,
238
+ // Envelopes ride ReactNode-typed fields; the consumer expansion pass
239
+ // (segment-fragments.ts) replaces them before any render reads them.
240
+ component: segmentFragment(item.encoded) as unknown,
241
+ layout: item.encodedLayout
242
+ ? (segmentFragment(item.encodedLayout) as unknown)
243
+ : undefined,
244
+ loading: loadingIsNullSentinel
245
+ ? null
246
+ : item.encodedLoading !== undefined
247
+ ? (segmentFragment(item.encodedLoading) as unknown)
248
+ : undefined,
249
+ loaderData,
250
+ loaderDataPromise,
251
+ } as ResolvedSegment;
252
+ }),
253
+ );
254
+ }
255
+
209
256
  /**
210
257
  * Deserialize segments from storage.
211
258
  * Reconstructs ResolvedSegment objects from RSC-serialized data.