@rangojs/router 0.0.0-experimental.tapabs3 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1319) hide show
  1. package/dist/bin/rango.js +8 -40
  2. package/dist/types/__internal.d.ts +127 -0
  3. package/dist/types/bin/rango.d.ts +1 -0
  4. package/dist/types/browser/action-coordinator.d.ts +57 -0
  5. package/dist/types/browser/action-fence.d.ts +33 -0
  6. package/dist/types/browser/app-shell.d.ts +34 -0
  7. package/dist/types/browser/app-version.d.ts +6 -0
  8. package/dist/types/browser/connection-warmup.d.ts +31 -0
  9. package/dist/types/browser/cookie-name.d.ts +66 -0
  10. package/dist/types/browser/event-controller.d.ts +221 -0
  11. package/dist/types/browser/history-state.d.ts +26 -0
  12. package/dist/types/browser/index.d.ts +1 -0
  13. package/dist/types/browser/intercept-utils.d.ts +30 -0
  14. package/dist/types/browser/invalidate-client-cache.d.ts +17 -0
  15. package/dist/types/browser/link-interceptor.d.ts +43 -0
  16. package/dist/types/browser/logging.d.ts +33 -0
  17. package/dist/types/browser/merge-segment-loaders.d.ts +38 -0
  18. package/dist/types/browser/navigation-bridge.d.ts +27 -0
  19. package/dist/types/browser/navigation-client.d.ts +17 -0
  20. package/dist/types/browser/navigation-store-handle.d.ts +25 -0
  21. package/dist/types/browser/navigation-store.d.ts +95 -0
  22. package/dist/types/browser/navigation-transaction.d.ts +75 -0
  23. package/dist/types/browser/network-error-handler.d.ts +35 -0
  24. package/dist/types/browser/partial-update.d.ts +61 -0
  25. package/dist/types/browser/prefetch/cache.d.ts +183 -0
  26. package/dist/types/browser/prefetch/fetch.d.ts +52 -0
  27. package/dist/types/browser/prefetch/observer.d.ts +27 -0
  28. package/dist/types/browser/prefetch/policy.d.ts +13 -0
  29. package/dist/types/browser/prefetch/queue.d.ts +48 -0
  30. package/dist/types/browser/prefetch/resource-ready.d.ts +28 -0
  31. package/dist/types/browser/rango-state.d.ts +52 -0
  32. package/dist/types/browser/react/Link.d.ts +140 -0
  33. package/dist/types/browser/react/NavigationProvider.d.ts +88 -0
  34. package/dist/types/browser/react/ScrollRestoration.d.ts +78 -0
  35. package/dist/types/browser/react/context.d.ts +54 -0
  36. package/dist/types/browser/react/filter-segment-order.d.ts +35 -0
  37. package/dist/types/browser/react/index.d.ts +1 -0
  38. package/dist/types/browser/react/location-state-shared.d.ts +162 -0
  39. package/dist/types/browser/react/location-state.d.ts +29 -0
  40. package/dist/types/browser/react/mount-context.d.ts +23 -0
  41. package/dist/types/browser/react/nonce-context.d.ts +14 -0
  42. package/dist/types/browser/react/shallow-equal.d.ts +5 -0
  43. package/dist/types/browser/react/use-action.d.ts +61 -0
  44. package/dist/types/browser/react/use-handle.d.ts +21 -0
  45. package/dist/types/browser/react/use-href.d.ts +32 -0
  46. package/dist/types/browser/react/use-link-status.d.ts +36 -0
  47. package/dist/types/browser/react/use-mount.d.ts +24 -0
  48. package/dist/types/browser/react/use-navigation.d.ts +15 -0
  49. package/dist/types/browser/react/use-params.d.ts +21 -0
  50. package/dist/types/browser/react/use-pathname.d.ts +13 -0
  51. package/dist/types/browser/react/use-reverse.d.ts +40 -0
  52. package/dist/types/browser/react/use-router.d.ts +23 -0
  53. package/dist/types/browser/react/use-search-params.d.ts +19 -0
  54. package/dist/types/browser/react/use-segments.d.ts +29 -0
  55. package/dist/types/browser/response-adapter.d.ts +58 -0
  56. package/dist/types/browser/rsc-router.d.ts +141 -0
  57. package/dist/types/browser/scroll-restoration.d.ts +103 -0
  58. package/dist/types/browser/segment-reconciler.d.ts +74 -0
  59. package/dist/types/browser/segment-structure-assert.d.ts +16 -0
  60. package/dist/types/browser/server-action-bridge.d.ts +29 -0
  61. package/dist/types/browser/types.d.ts +530 -0
  62. package/dist/types/browser/validate-redirect-origin.d.ts +28 -0
  63. package/dist/types/build/collect-fallback-refs.d.ts +5 -0
  64. package/dist/types/build/generate-manifest.d.ts +100 -0
  65. package/dist/types/build/generate-route-types.d.ts +8 -0
  66. package/dist/types/build/index.d.ts +21 -0
  67. package/dist/types/build/prefix-tree-utils.d.ts +56 -0
  68. package/dist/types/build/route-trie.d.ts +89 -0
  69. package/dist/types/build/route-types/ast-helpers.d.ts +3 -0
  70. package/dist/types/build/route-types/ast-route-extraction.d.ts +13 -0
  71. package/dist/types/build/route-types/codegen.d.ts +16 -0
  72. package/dist/types/build/route-types/include-resolution.d.ts +74 -0
  73. package/dist/types/build/route-types/param-extraction.d.ts +13 -0
  74. package/dist/types/build/route-types/per-module-writer.d.ts +18 -0
  75. package/dist/types/build/route-types/router-processing.d.ts +82 -0
  76. package/dist/types/build/route-types/scan-filter.d.ts +17 -0
  77. package/dist/types/build/route-types/source-scan.d.ts +13 -0
  78. package/dist/types/build/runtime-discovery.d.ts +24 -0
  79. package/dist/types/cache/background-task.d.ts +21 -0
  80. package/dist/types/cache/cache-error.d.ts +71 -0
  81. package/dist/types/cache/cache-key-utils.d.ts +35 -0
  82. package/dist/types/cache/cache-policy.d.ts +59 -0
  83. package/dist/types/cache/cache-runtime.d.ts +51 -0
  84. package/dist/types/cache/cache-scope.d.ts +134 -0
  85. package/dist/types/cache/cache-tag.d.ts +79 -0
  86. package/dist/types/cache/cf/cf-base64.d.ts +4 -0
  87. package/dist/types/cache/cf/cf-cache-constants.d.ts +105 -0
  88. package/dist/types/cache/cf/cf-cache-store.d.ts +588 -0
  89. package/dist/types/cache/cf/cf-cache-types.d.ts +363 -0
  90. package/dist/types/cache/cf/cf-kv-utils.d.ts +22 -0
  91. package/dist/types/cache/cf/cf-tag-marker-memo.d.ts +15 -0
  92. package/dist/types/cache/cf/cf-zone-purge.d.ts +31 -0
  93. package/dist/types/cache/cf/index.d.ts +4 -0
  94. package/dist/types/cache/document-cache.d.ts +69 -0
  95. package/dist/types/cache/handle-capture.d.ts +23 -0
  96. package/dist/types/cache/handle-snapshot.d.ts +39 -0
  97. package/dist/types/cache/index.d.ts +7 -0
  98. package/dist/types/cache/memory-segment-store.d.ts +163 -0
  99. package/dist/types/cache/profile-registry.d.ts +40 -0
  100. package/dist/types/cache/read-through-swr.d.ts +60 -0
  101. package/dist/types/cache/segment-codec.d.ts +78 -0
  102. package/dist/types/cache/shell-snapshot.d.ts +173 -0
  103. package/dist/types/cache/tag-invalidation.d.ts +74 -0
  104. package/dist/types/cache/taint.d.ts +71 -0
  105. package/dist/types/cache/types.d.ts +418 -0
  106. package/dist/types/cache/vercel/index.d.ts +1 -0
  107. package/dist/types/cache/vercel/vercel-cache-store.d.ts +267 -0
  108. package/dist/types/client.d.ts +184 -0
  109. package/dist/types/client.rsc.d.ts +39 -0
  110. package/dist/types/cloudflare/index.d.ts +7 -0
  111. package/dist/types/cloudflare/tracing.d.ts +53 -0
  112. package/dist/types/component-utils.d.ts +46 -0
  113. package/dist/types/components/DefaultDocument.d.ts +13 -0
  114. package/dist/types/context-var.d.ts +84 -0
  115. package/dist/types/debug.d.ts +57 -0
  116. package/dist/types/decode-loader-results.d.ts +5 -0
  117. package/dist/types/default-error-boundary.d.ts +10 -0
  118. package/dist/types/defer.d.ts +89 -0
  119. package/dist/types/deps/browser.d.ts +1 -0
  120. package/dist/types/deps/html-stream-client.d.ts +1 -0
  121. package/dist/types/deps/html-stream-server.d.ts +1 -0
  122. package/dist/types/deps/rsc.d.ts +1 -0
  123. package/dist/types/deps/ssr.d.ts +1 -0
  124. package/dist/types/encode-kv.d.ts +35 -0
  125. package/dist/types/errors.d.ts +226 -0
  126. package/dist/types/escape-script.d.ts +44 -0
  127. package/dist/types/handle.d.ts +93 -0
  128. package/dist/types/handles/MetaTags.d.ts +17 -0
  129. package/dist/types/handles/Scripts.d.ts +38 -0
  130. package/dist/types/handles/breadcrumbs.d.ts +43 -0
  131. package/dist/types/handles/deferred-resolution.d.ts +53 -0
  132. package/dist/types/handles/is-thenable.d.ts +12 -0
  133. package/dist/types/handles/meta.d.ts +43 -0
  134. package/dist/types/handles/script.d.ts +139 -0
  135. package/dist/types/host/cookie-handler.d.ts +8 -0
  136. package/dist/types/host/errors.d.ts +40 -0
  137. package/dist/types/host/index.d.ts +33 -0
  138. package/dist/types/host/pattern-matcher.d.ts +30 -0
  139. package/dist/types/host/router.d.ts +12 -0
  140. package/dist/types/host/testing.d.ts +41 -0
  141. package/dist/types/host/types.d.ts +148 -0
  142. package/dist/types/host/utils.d.ts +20 -0
  143. package/dist/types/href-client.d.ts +214 -0
  144. package/dist/types/index.d.ts +112 -0
  145. package/dist/types/index.rsc.d.ts +51 -0
  146. package/dist/types/internal-debug.d.ts +1 -0
  147. package/dist/types/loader-store.d.ts +193 -0
  148. package/dist/types/loader.d.ts +18 -0
  149. package/dist/types/loader.rsc.d.ts +18 -0
  150. package/dist/types/missing-id-error.d.ts +1 -0
  151. package/dist/types/outlet-context.d.ts +12 -0
  152. package/dist/types/outlet-provider.d.ts +12 -0
  153. package/dist/types/prerender/build-shell-capture.d.ts +104 -0
  154. package/dist/types/prerender/param-hash.d.ts +6 -0
  155. package/dist/types/prerender/shell-manifest-key.d.ts +18 -0
  156. package/dist/types/prerender/store.d.ts +62 -0
  157. package/dist/types/prerender.d.ts +292 -0
  158. package/dist/types/redirect-origin.d.ts +67 -0
  159. package/dist/types/regex-escape.d.ts +6 -0
  160. package/dist/types/render-error-thrower.d.ts +13 -0
  161. package/dist/types/response-utils.d.ts +35 -0
  162. package/dist/types/reverse.d.ts +206 -0
  163. package/dist/types/root-error-boundary.d.ts +32 -0
  164. package/dist/types/route-content-wrapper.d.ts +40 -0
  165. package/dist/types/route-definition/dsl-helpers.d.ts +130 -0
  166. package/dist/types/route-definition/helper-factories.d.ts +22 -0
  167. package/dist/types/route-definition/helpers-types.d.ts +392 -0
  168. package/dist/types/route-definition/index.d.ts +7 -0
  169. package/dist/types/route-definition/redirect.d.ts +48 -0
  170. package/dist/types/route-definition/resolve-handler-use.d.ts +19 -0
  171. package/dist/types/route-definition/use-item-types.d.ts +1 -0
  172. package/dist/types/route-definition.d.ts +1 -0
  173. package/dist/types/route-map-builder.d.ts +127 -0
  174. package/dist/types/route-name.d.ts +27 -0
  175. package/dist/types/route-types.d.ts +172 -0
  176. package/dist/types/router/basename.d.ts +10 -0
  177. package/dist/types/router/content-negotiation.d.ts +91 -0
  178. package/dist/types/router/debug-manifest.d.ts +7 -0
  179. package/dist/types/router/error-handling.d.ts +76 -0
  180. package/dist/types/router/find-match.d.ts +19 -0
  181. package/dist/types/router/handler-context.d.ts +41 -0
  182. package/dist/types/router/instrument.d.ts +161 -0
  183. package/dist/types/router/intercept-resolution.d.ts +79 -0
  184. package/dist/types/router/lazy-includes.d.ts +26 -0
  185. package/dist/types/router/loader-resolution.d.ts +63 -0
  186. package/dist/types/router/logging.d.ts +41 -0
  187. package/dist/types/router/manifest.d.ts +8 -0
  188. package/dist/types/router/match-api.d.ts +19 -0
  189. package/dist/types/router/match-context.d.ts +184 -0
  190. package/dist/types/router/match-handlers.d.ts +49 -0
  191. package/dist/types/router/match-middleware/background-revalidation.d.ts +113 -0
  192. package/dist/types/router/match-middleware/cache-lookup.d.ts +113 -0
  193. package/dist/types/router/match-middleware/cache-store.d.ts +112 -0
  194. package/dist/types/router/match-middleware/index.d.ts +80 -0
  195. package/dist/types/router/match-middleware/intercept-resolution.d.ts +116 -0
  196. package/dist/types/router/match-middleware/segment-resolution.d.ts +94 -0
  197. package/dist/types/router/match-pipelines.d.ts +103 -0
  198. package/dist/types/router/match-result.d.ts +114 -0
  199. package/dist/types/router/metrics.d.ts +6 -0
  200. package/dist/types/router/middleware-types.d.ts +74 -0
  201. package/dist/types/router/middleware.d.ts +116 -0
  202. package/dist/types/router/navigation-snapshot.d.ts +22 -0
  203. package/dist/types/router/params-util.d.ts +8 -0
  204. package/dist/types/router/parse-pattern.d.ts +38 -0
  205. package/dist/types/router/pattern-matching.d.ts +169 -0
  206. package/dist/types/router/prefetch-cache-ttl.d.ts +27 -0
  207. package/dist/types/router/prefetch-limits.d.ts +20 -0
  208. package/dist/types/router/prerender-match.d.ts +50 -0
  209. package/dist/types/router/preview-match.d.ts +22 -0
  210. package/dist/types/router/request-classification.d.ts +104 -0
  211. package/dist/types/router/revalidation.d.ts +57 -0
  212. package/dist/types/router/route-snapshot.d.ts +112 -0
  213. package/dist/types/router/router-context.d.ts +137 -0
  214. package/dist/types/router/router-interfaces.d.ts +432 -0
  215. package/dist/types/router/router-options.d.ts +738 -0
  216. package/dist/types/router/router-registry.d.ts +15 -0
  217. package/dist/types/router/segment-resolution/fresh.d.ts +55 -0
  218. package/dist/types/router/segment-resolution/helpers.d.ts +93 -0
  219. package/dist/types/router/segment-resolution/loader-cache.d.ts +33 -0
  220. package/dist/types/router/segment-resolution/loader-mask.d.ts +44 -0
  221. package/dist/types/router/segment-resolution/loader-snapshot.d.ts +90 -0
  222. package/dist/types/router/segment-resolution/mask-nested.d.ts +53 -0
  223. package/dist/types/router/segment-resolution/revalidation.d.ts +85 -0
  224. package/dist/types/router/segment-resolution/static-store.d.ts +17 -0
  225. package/dist/types/router/segment-resolution/streamed-handler-telemetry.d.ts +16 -0
  226. package/dist/types/router/segment-resolution/view-transition-default.d.ts +28 -0
  227. package/dist/types/router/segment-resolution.d.ts +3 -0
  228. package/dist/types/router/segment-wrappers.d.ts +53 -0
  229. package/dist/types/router/state-cookie-name.d.ts +1 -0
  230. package/dist/types/router/substitute-pattern-params.d.ts +23 -0
  231. package/dist/types/router/telemetry-otel.d.ts +113 -0
  232. package/dist/types/router/telemetry.d.ts +216 -0
  233. package/dist/types/router/timeout.d.ts +96 -0
  234. package/dist/types/router/tracing.d.ts +125 -0
  235. package/dist/types/router/trie-matching.d.ts +32 -0
  236. package/dist/types/router/types.d.ts +98 -0
  237. package/dist/types/router/url-params.d.ts +26 -0
  238. package/dist/types/router.d.ts +7 -0
  239. package/dist/types/rsc/capture-queue.d.ts +6 -0
  240. package/dist/types/rsc/full-payload.d.ts +22 -0
  241. package/dist/types/rsc/handler-context.d.ts +31 -0
  242. package/dist/types/rsc/handler.d.ts +9 -0
  243. package/dist/types/rsc/helpers.d.ts +124 -0
  244. package/dist/types/rsc/index.d.ts +17 -0
  245. package/dist/types/rsc/json-route-result.d.ts +20 -0
  246. package/dist/types/rsc/loader-fetch.d.ts +14 -0
  247. package/dist/types/rsc/manifest-init.d.ts +18 -0
  248. package/dist/types/rsc/nonce.d.ts +28 -0
  249. package/dist/types/rsc/origin-guard.d.ts +50 -0
  250. package/dist/types/rsc/progressive-enhancement.d.ts +19 -0
  251. package/dist/types/rsc/redirect-guard.d.ts +37 -0
  252. package/dist/types/rsc/render-pipeline.d.ts +138 -0
  253. package/dist/types/rsc/response-cache-serve.d.ts +46 -0
  254. package/dist/types/rsc/response-error.d.ts +19 -0
  255. package/dist/types/rsc/response-route-handler.d.ts +29 -0
  256. package/dist/types/rsc/rsc-rendering.d.ts +23 -0
  257. package/dist/types/rsc/runtime-warnings.d.ts +22 -0
  258. package/dist/types/rsc/server-action.d.ts +68 -0
  259. package/dist/types/rsc/shell-build-manifest.d.ts +84 -0
  260. package/dist/types/rsc/shell-capture-constants.d.ts +27 -0
  261. package/dist/types/rsc/shell-capture.d.ts +374 -0
  262. package/dist/types/rsc/shell-serve.d.ts +174 -0
  263. package/dist/types/rsc/ssr-setup.d.ts +73 -0
  264. package/dist/types/rsc/transition-gate.d.ts +27 -0
  265. package/dist/types/rsc/types.d.ts +290 -0
  266. package/dist/types/runtime-env.d.ts +1 -0
  267. package/dist/types/search-params.d.ts +125 -0
  268. package/dist/types/segment-content-promise.d.ts +13 -0
  269. package/dist/types/segment-fragments.d.ts +56 -0
  270. package/dist/types/segment-loader-promise.d.ts +22 -0
  271. package/dist/types/segment-system.d.ts +84 -0
  272. package/dist/types/serialize.d.ts +164 -0
  273. package/dist/types/server/context.d.ts +494 -0
  274. package/dist/types/server/cookie-parse.d.ts +10 -0
  275. package/dist/types/server/cookie-store.d.ts +107 -0
  276. package/dist/types/server/fetchable-loader-store.d.ts +20 -0
  277. package/dist/types/server/handle-store.d.ts +100 -0
  278. package/dist/types/server/loader-registry.d.ts +32 -0
  279. package/dist/types/server/request-context.d.ts +618 -0
  280. package/dist/types/server/root-layout.d.ts +3 -0
  281. package/dist/types/server.d.ts +15 -0
  282. package/dist/types/ssr/index.d.ts +233 -0
  283. package/dist/types/ssr/inject-rsc-eager.d.ts +3 -0
  284. package/dist/types/ssr/preinit-client-references.d.ts +71 -0
  285. package/dist/types/ssr/ssr-root.d.ts +69 -0
  286. package/dist/types/static-handler.d.ts +57 -0
  287. package/dist/types/testing/cache-status.d.ts +63 -0
  288. package/dist/types/testing/collect-handle.d.ts +20 -0
  289. package/dist/types/testing/dispatch.d.ts +127 -0
  290. package/dist/types/testing/dom.entry.d.ts +15 -0
  291. package/dist/types/testing/e2e/fixture.d.ts +37 -0
  292. package/dist/types/testing/e2e/index.d.ts +31 -0
  293. package/dist/types/testing/e2e/matchers.d.ts +17 -0
  294. package/dist/types/testing/e2e/page-helpers.d.ts +62 -0
  295. package/dist/types/testing/e2e/parity.d.ts +111 -0
  296. package/dist/types/testing/e2e/server.d.ts +35 -0
  297. package/dist/types/testing/flight-matchers.d.ts +55 -0
  298. package/dist/types/testing/flight-normalize.d.ts +1 -0
  299. package/dist/types/testing/flight-tree.d.ts +192 -0
  300. package/dist/types/testing/flight.d.ts +115 -0
  301. package/dist/types/testing/flight.entry.d.ts +27 -0
  302. package/dist/types/testing/generated-routes.d.ts +66 -0
  303. package/dist/types/testing/index.d.ts +54 -0
  304. package/dist/types/testing/internal/context.d.ts +225 -0
  305. package/dist/types/testing/internal/flight-client-globals.d.ts +1 -0
  306. package/dist/types/testing/internal/seed-vars.d.ts +30 -0
  307. package/dist/types/testing/render-handler.d.ts +160 -0
  308. package/dist/types/testing/render-route.d.ts +246 -0
  309. package/dist/types/testing/run-loader.d.ts +186 -0
  310. package/dist/types/testing/run-middleware.d.ts +132 -0
  311. package/dist/types/testing/run-transition-when.d.ts +77 -0
  312. package/dist/types/testing/shell-status.d.ts +58 -0
  313. package/dist/types/testing/vitest-stubs/cloudflare-email.d.ts +6 -0
  314. package/dist/types/testing/vitest-stubs/cloudflare-workers.d.ts +13 -0
  315. package/dist/types/testing/vitest-stubs/plugin-rsc.d.ts +7 -0
  316. package/dist/types/testing/vitest-stubs/version.d.ts +1 -0
  317. package/dist/types/testing/vitest.d.ts +205 -0
  318. package/dist/types/theme/ThemeProvider.d.ts +13 -0
  319. package/dist/types/theme/ThemeScript.d.ts +45 -0
  320. package/dist/types/theme/constants.d.ts +39 -0
  321. package/dist/types/theme/index.d.ts +29 -0
  322. package/dist/types/theme/theme-context.d.ts +21 -0
  323. package/dist/types/theme/theme-script.d.ts +26 -0
  324. package/dist/types/theme/types.d.ts +162 -0
  325. package/dist/types/theme/use-theme.d.ts +8 -0
  326. package/dist/types/types/boundaries.d.ts +93 -0
  327. package/dist/types/types/cache-types.d.ts +191 -0
  328. package/dist/types/types/error-types.d.ts +114 -0
  329. package/dist/types/types/global-namespace.d.ts +90 -0
  330. package/dist/types/types/handler-context.d.ts +658 -0
  331. package/dist/types/types/index.d.ts +11 -0
  332. package/dist/types/types/loader-types.d.ts +182 -0
  333. package/dist/types/types/request-scope.d.ts +93 -0
  334. package/dist/types/types/route-config.d.ts +105 -0
  335. package/dist/types/types/route-entry.d.ts +95 -0
  336. package/dist/types/types/segments.d.ts +234 -0
  337. package/dist/types/types.d.ts +1 -0
  338. package/dist/types/urls/include-helper.d.ts +17 -0
  339. package/dist/types/urls/include-provider.d.ts +27 -0
  340. package/dist/types/urls/index.d.ts +6 -0
  341. package/dist/types/urls/path-helper-types.d.ts +197 -0
  342. package/dist/types/urls/path-helper.d.ts +12 -0
  343. package/dist/types/urls/pattern-types.d.ts +166 -0
  344. package/dist/types/urls/response-types.d.ts +67 -0
  345. package/dist/types/urls/type-extraction.d.ts +157 -0
  346. package/dist/types/urls/urls-function.d.ts +24 -0
  347. package/dist/types/urls.d.ts +1 -0
  348. package/dist/types/use-loader.d.ts +150 -0
  349. package/dist/types/vercel/index.d.ts +10 -0
  350. package/dist/types/vercel/tracing.d.ts +70 -0
  351. package/dist/types/vite/debug.d.ts +80 -0
  352. package/dist/types/vite/discovery/bundle-postprocess.d.ts +12 -0
  353. package/dist/types/vite/discovery/dev-prerender-cache.d.ts +65 -0
  354. package/dist/types/vite/discovery/discover-routers.d.ts +17 -0
  355. package/dist/types/vite/discovery/discovery-errors.d.ts +113 -0
  356. package/dist/types/vite/discovery/gate-state.d.ts +79 -0
  357. package/dist/types/vite/discovery/prerender-collection.d.ts +24 -0
  358. package/dist/types/vite/discovery/route-types-writer.d.ts +32 -0
  359. package/dist/types/vite/discovery/self-gen-tracking.d.ts +22 -0
  360. package/dist/types/vite/discovery/shell-prerender-phase.d.ts +40 -0
  361. package/dist/types/vite/discovery/state.d.ts +162 -0
  362. package/dist/types/vite/discovery/virtual-module-codegen.d.ts +15 -0
  363. package/dist/types/vite/index.d.ts +11 -0
  364. package/dist/types/vite/inject-client-debug.d.ts +56 -0
  365. package/dist/types/vite/plugin-types.d.ts +298 -0
  366. package/dist/types/vite/plugins/cjs-to-esm.d.ts +6 -0
  367. package/dist/types/vite/plugins/client-ref-dedup.d.ts +40 -0
  368. package/dist/types/vite/plugins/client-ref-hashing.d.ts +35 -0
  369. package/dist/types/vite/plugins/cloudflare-protocol-stub.d.ts +64 -0
  370. package/dist/types/vite/plugins/expose-action-id.d.ts +18 -0
  371. package/dist/types/vite/plugins/expose-id-utils.d.ts +37 -0
  372. package/dist/types/vite/plugins/expose-ids/export-analysis.d.ts +19 -0
  373. package/dist/types/vite/plugins/expose-ids/handler-transform.d.ts +10 -0
  374. package/dist/types/vite/plugins/expose-ids/loader-transform.d.ts +8 -0
  375. package/dist/types/vite/plugins/expose-ids/router-transform.d.ts +13 -0
  376. package/dist/types/vite/plugins/expose-ids/types.d.ts +29 -0
  377. package/dist/types/vite/plugins/expose-internal-ids.d.ts +6 -0
  378. package/dist/types/vite/plugins/performance-tracks.d.ts +25 -0
  379. package/dist/types/vite/plugins/refresh-cmd.d.ts +20 -0
  380. package/dist/types/vite/plugins/use-cache-transform.d.ts +20 -0
  381. package/dist/types/vite/plugins/vercel-output.d.ts +85 -0
  382. package/dist/types/vite/plugins/version-injector.d.ts +21 -0
  383. package/dist/types/vite/plugins/version-plugin.d.ts +19 -0
  384. package/dist/types/vite/plugins/virtual-entries.d.ts +36 -0
  385. package/dist/types/vite/plugins/virtual-stub-plugin.d.ts +7 -0
  386. package/dist/types/vite/rango.d.ts +29 -0
  387. package/dist/types/vite/router-discovery.d.ts +23 -0
  388. package/dist/types/vite/utils/ast-handler-extract.d.ts +64 -0
  389. package/dist/types/vite/utils/banner.d.ts +2 -0
  390. package/dist/types/vite/utils/bundle-analysis.d.ts +28 -0
  391. package/dist/types/vite/utils/client-chunks.d.ts +55 -0
  392. package/dist/types/vite/utils/directive-prologue.d.ts +16 -0
  393. package/dist/types/vite/utils/forward-user-plugins.d.ts +37 -0
  394. package/dist/types/vite/utils/manifest-utils.d.ts +7 -0
  395. package/dist/types/vite/utils/package-resolution.d.ts +6 -0
  396. package/dist/types/vite/utils/prerender-utils.d.ts +32 -0
  397. package/dist/types/vite/utils/shared-utils.d.ts +55 -0
  398. package/dist/vite/index.js +1051 -361
  399. package/package.json +39 -33
  400. package/skills/catalog.json +6 -0
  401. package/skills/cloudflare/SKILL.md +149 -0
  402. package/skills/cloudflare/agents/openai.yaml +4 -0
  403. package/skills/cloudflare/references/d1-and-local-dev.md +131 -0
  404. package/skills/cloudflare/references/streaming-and-deploy.md +107 -0
  405. package/skills/cloudflare/references/webhooks-and-crypto.md +147 -0
  406. package/skills/composability/SKILL.md +14 -0
  407. package/skills/debug-manifest/SKILL.md +2 -10
  408. package/skills/links/SKILL.md +12 -0
  409. package/skills/middleware/SKILL.md +33 -0
  410. package/skills/migrate-nextjs/SKILL.md +65 -16
  411. package/skills/migrate-nextjs/backend-host-swap.md +120 -0
  412. package/skills/migrate-react-router/SKILL.md +6 -6
  413. package/skills/mime-routes/SKILL.md +25 -17
  414. package/skills/ppr/SKILL.md +100 -15
  415. package/skills/prerender/SKILL.md +44 -1
  416. package/skills/rango/SKILL.md +10 -10
  417. package/skills/response-routes/SKILL.md +41 -4
  418. package/skills/route/SKILL.md +6 -0
  419. package/skills/testing/SKILL.md +1 -0
  420. package/skills/testing/cache-prerender.md +43 -2
  421. package/skills/testing/response-routes.md +2 -2
  422. package/src/browser/event-controller.ts +16 -2
  423. package/src/browser/rsc-router.tsx +11 -0
  424. package/src/build/generate-manifest.ts +5 -36
  425. package/src/build/route-trie.ts +5 -50
  426. package/src/cache/cache-key-utils.ts +0 -1
  427. package/src/cache/cache-scope.ts +41 -3
  428. package/src/cache/cf/cf-cache-store.ts +465 -56
  429. package/src/cache/cf/cf-cache-types.ts +66 -0
  430. package/src/cache/cf/cf-tag-marker-memo.ts +5 -2
  431. package/src/cache/cf/cf-zone-purge.ts +101 -0
  432. package/src/cache/cf/index.ts +5 -0
  433. package/src/cache/handle-snapshot.ts +22 -1
  434. package/src/cache/index.ts +2 -0
  435. package/src/cache/memory-segment-store.ts +32 -0
  436. package/src/cache/segment-codec.ts +47 -0
  437. package/src/cache/shell-snapshot.ts +79 -14
  438. package/src/cache/types.ts +38 -0
  439. package/src/cache/vercel/vercel-cache-store.ts +71 -2
  440. package/src/deps/ssr.ts +4 -1
  441. package/src/index.rsc.ts +7 -0
  442. package/src/index.ts +1 -0
  443. package/src/prerender/build-shell-capture.ts +447 -0
  444. package/src/prerender/shell-manifest-key.ts +20 -0
  445. package/src/prerender/store.ts +10 -1
  446. package/src/prerender.ts +3 -3
  447. package/src/redirect-origin.ts +37 -8
  448. package/src/route-map-builder.ts +8 -8
  449. package/src/router/content-negotiation.ts +47 -5
  450. package/src/router/handler-context.ts +18 -10
  451. package/src/router/intercept-resolution.ts +30 -1
  452. package/src/router/loader-resolution.ts +16 -0
  453. package/src/router/match-api.ts +9 -2
  454. package/src/router/match-middleware/cache-lookup.ts +12 -1
  455. package/src/router/metrics.ts +17 -2
  456. package/src/router/middleware-types.ts +17 -0
  457. package/src/router/middleware.ts +4 -0
  458. package/src/router/prerender-match.ts +28 -0
  459. package/src/router/router-interfaces.ts +7 -6
  460. package/src/router/router-options.ts +13 -8
  461. package/src/router/segment-resolution/fresh.ts +21 -2
  462. package/src/router/segment-resolution/helpers.ts +1 -1
  463. package/src/router/segment-resolution/loader-cache.ts +38 -7
  464. package/src/router/segment-resolution/mask-nested.ts +19 -3
  465. package/src/router/segment-resolution/revalidation.ts +9 -0
  466. package/src/router/telemetry-otel.ts +11 -0
  467. package/src/router/telemetry.ts +1 -0
  468. package/src/router/timeout.ts +41 -1
  469. package/src/router.ts +5 -4
  470. package/src/rsc/capture-queue.ts +67 -0
  471. package/src/rsc/handler.ts +151 -77
  472. package/src/rsc/helpers.ts +67 -4
  473. package/src/rsc/progressive-enhancement.ts +66 -54
  474. package/src/rsc/redirect-guard.ts +3 -1
  475. package/src/rsc/render-pipeline.ts +559 -0
  476. package/src/rsc/response-cache-serve.ts +39 -18
  477. package/src/rsc/response-route-handler.ts +9 -45
  478. package/src/rsc/rsc-rendering.ts +303 -103
  479. package/src/rsc/server-action.ts +50 -42
  480. package/src/rsc/shell-build-manifest.ts +316 -0
  481. package/src/rsc/shell-capture-constants.ts +27 -0
  482. package/src/rsc/shell-capture.ts +595 -69
  483. package/src/rsc/shell-serve.ts +133 -3
  484. package/src/rsc/ssr-setup.ts +102 -23
  485. package/src/segment-fragments.ts +124 -0
  486. package/src/server/context.ts +184 -8
  487. package/src/server/request-context.ts +297 -45
  488. package/src/ssr/index.tsx +167 -32
  489. package/src/ssr/preinit-client-references.ts +106 -0
  490. package/src/ssr/ssr-root.tsx +35 -2
  491. package/src/testing/dispatch.ts +132 -67
  492. package/src/testing/e2e/index.ts +8 -0
  493. package/src/testing/index.ts +9 -1
  494. package/src/testing/internal/context.ts +9 -0
  495. package/src/testing/render-handler.ts +15 -1
  496. package/src/testing/run-middleware.ts +14 -0
  497. package/src/testing/shell-status.ts +100 -0
  498. package/src/types/handler-context.ts +13 -2
  499. package/src/urls/path-helper-types.ts +1 -1
  500. package/src/urls/pattern-types.ts +29 -0
  501. package/src/vite/discovery/discover-routers.ts +71 -52
  502. package/src/vite/discovery/prerender-collection.ts +16 -0
  503. package/src/vite/discovery/shell-prerender-phase.ts +397 -0
  504. package/src/vite/discovery/state.ts +44 -0
  505. package/src/vite/discovery/virtual-module-codegen.ts +126 -20
  506. package/src/vite/index.ts +1 -0
  507. package/src/vite/plugin-types.ts +33 -0
  508. package/src/vite/plugins/version-plugin.ts +8 -0
  509. package/src/vite/plugins/virtual-entries.ts +37 -4
  510. package/src/vite/rango.ts +42 -2
  511. package/src/vite/router-discovery.ts +432 -21
  512. package/src/vite/utils/package-resolution.ts +1 -0
  513. package/src/vite/utils/prerender-utils.ts +25 -6
  514. package/src/vite/utils/shared-utils.ts +4 -2
  515. package/dist/__internal.d.ts +0 -83
  516. package/dist/__internal.d.ts.map +0 -1
  517. package/dist/__internal.js +0 -19
  518. package/dist/__internal.js.map +0 -1
  519. package/dist/__mocks__/version.d.ts +0 -7
  520. package/dist/__mocks__/version.d.ts.map +0 -1
  521. package/dist/__mocks__/version.js +0 -7
  522. package/dist/__mocks__/version.js.map +0 -1
  523. package/dist/__tests__/client-href.test.d.ts +0 -2
  524. package/dist/__tests__/client-href.test.d.ts.map +0 -1
  525. package/dist/__tests__/client-href.test.js +0 -74
  526. package/dist/__tests__/client-href.test.js.map +0 -1
  527. package/dist/__tests__/component-utils.test.d.ts +0 -2
  528. package/dist/__tests__/component-utils.test.d.ts.map +0 -1
  529. package/dist/__tests__/component-utils.test.js +0 -51
  530. package/dist/__tests__/component-utils.test.js.map +0 -1
  531. package/dist/__tests__/event-controller.test.d.ts +0 -2
  532. package/dist/__tests__/event-controller.test.d.ts.map +0 -1
  533. package/dist/__tests__/event-controller.test.js +0 -538
  534. package/dist/__tests__/event-controller.test.js.map +0 -1
  535. package/dist/__tests__/helpers/route-tree.d.ts +0 -118
  536. package/dist/__tests__/helpers/route-tree.d.ts.map +0 -1
  537. package/dist/__tests__/helpers/route-tree.js +0 -374
  538. package/dist/__tests__/helpers/route-tree.js.map +0 -1
  539. package/dist/__tests__/match-result.test.d.ts +0 -2
  540. package/dist/__tests__/match-result.test.d.ts.map +0 -1
  541. package/dist/__tests__/match-result.test.js +0 -154
  542. package/dist/__tests__/match-result.test.js.map +0 -1
  543. package/dist/__tests__/navigation-store.test.d.ts +0 -2
  544. package/dist/__tests__/navigation-store.test.d.ts.map +0 -1
  545. package/dist/__tests__/navigation-store.test.js +0 -440
  546. package/dist/__tests__/navigation-store.test.js.map +0 -1
  547. package/dist/__tests__/partial-update.test.d.ts +0 -2
  548. package/dist/__tests__/partial-update.test.d.ts.map +0 -1
  549. package/dist/__tests__/partial-update.test.js +0 -1009
  550. package/dist/__tests__/partial-update.test.js.map +0 -1
  551. package/dist/__tests__/reverse-types.test.d.ts +0 -8
  552. package/dist/__tests__/reverse-types.test.d.ts.map +0 -1
  553. package/dist/__tests__/reverse-types.test.js +0 -656
  554. package/dist/__tests__/reverse-types.test.js.map +0 -1
  555. package/dist/__tests__/route-definition.test.d.ts +0 -2
  556. package/dist/__tests__/route-definition.test.d.ts.map +0 -1
  557. package/dist/__tests__/route-definition.test.js +0 -55
  558. package/dist/__tests__/route-definition.test.js.map +0 -1
  559. package/dist/__tests__/router-helpers.test.d.ts +0 -2
  560. package/dist/__tests__/router-helpers.test.d.ts.map +0 -1
  561. package/dist/__tests__/router-helpers.test.js +0 -377
  562. package/dist/__tests__/router-helpers.test.js.map +0 -1
  563. package/dist/__tests__/router-integration-2.test.d.ts +0 -2
  564. package/dist/__tests__/router-integration-2.test.d.ts.map +0 -1
  565. package/dist/__tests__/router-integration-2.test.js +0 -426
  566. package/dist/__tests__/router-integration-2.test.js.map +0 -1
  567. package/dist/__tests__/router-integration.test.d.ts +0 -2
  568. package/dist/__tests__/router-integration.test.d.ts.map +0 -1
  569. package/dist/__tests__/router-integration.test.js +0 -1051
  570. package/dist/__tests__/router-integration.test.js.map +0 -1
  571. package/dist/__tests__/search-params.test.d.ts +0 -5
  572. package/dist/__tests__/search-params.test.d.ts.map +0 -1
  573. package/dist/__tests__/search-params.test.js +0 -306
  574. package/dist/__tests__/search-params.test.js.map +0 -1
  575. package/dist/__tests__/segment-system.test.d.ts +0 -2
  576. package/dist/__tests__/segment-system.test.d.ts.map +0 -1
  577. package/dist/__tests__/segment-system.test.js +0 -627
  578. package/dist/__tests__/segment-system.test.js.map +0 -1
  579. package/dist/__tests__/static-handler-types.test.d.ts +0 -8
  580. package/dist/__tests__/static-handler-types.test.d.ts.map +0 -1
  581. package/dist/__tests__/static-handler-types.test.js +0 -63
  582. package/dist/__tests__/static-handler-types.test.js.map +0 -1
  583. package/dist/__tests__/urls.test.d.ts +0 -2
  584. package/dist/__tests__/urls.test.d.ts.map +0 -1
  585. package/dist/__tests__/urls.test.js +0 -421
  586. package/dist/__tests__/urls.test.js.map +0 -1
  587. package/dist/__tests__/use-mount.test.d.ts +0 -2
  588. package/dist/__tests__/use-mount.test.d.ts.map +0 -1
  589. package/dist/__tests__/use-mount.test.js +0 -35
  590. package/dist/__tests__/use-mount.test.js.map +0 -1
  591. package/dist/bin/rango.d.ts +0 -2
  592. package/dist/bin/rango.d.ts.map +0 -1
  593. package/dist/bin/rango.js.map +0 -1
  594. package/dist/browser/event-controller.d.ts +0 -191
  595. package/dist/browser/event-controller.d.ts.map +0 -1
  596. package/dist/browser/event-controller.js +0 -559
  597. package/dist/browser/event-controller.js.map +0 -1
  598. package/dist/browser/index.d.ts +0 -2
  599. package/dist/browser/index.d.ts.map +0 -1
  600. package/dist/browser/index.js +0 -14
  601. package/dist/browser/index.js.map +0 -1
  602. package/dist/browser/link-interceptor.d.ts +0 -38
  603. package/dist/browser/link-interceptor.d.ts.map +0 -1
  604. package/dist/browser/link-interceptor.js +0 -99
  605. package/dist/browser/link-interceptor.js.map +0 -1
  606. package/dist/browser/logging.d.ts +0 -10
  607. package/dist/browser/logging.d.ts.map +0 -1
  608. package/dist/browser/logging.js +0 -29
  609. package/dist/browser/logging.js.map +0 -1
  610. package/dist/browser/lru-cache.d.ts +0 -17
  611. package/dist/browser/lru-cache.d.ts.map +0 -1
  612. package/dist/browser/lru-cache.js +0 -50
  613. package/dist/browser/lru-cache.js.map +0 -1
  614. package/dist/browser/merge-segment-loaders.d.ts +0 -39
  615. package/dist/browser/merge-segment-loaders.d.ts.map +0 -1
  616. package/dist/browser/merge-segment-loaders.js +0 -102
  617. package/dist/browser/merge-segment-loaders.js.map +0 -1
  618. package/dist/browser/navigation-bridge.d.ts +0 -102
  619. package/dist/browser/navigation-bridge.d.ts.map +0 -1
  620. package/dist/browser/navigation-bridge.js +0 -708
  621. package/dist/browser/navigation-bridge.js.map +0 -1
  622. package/dist/browser/navigation-client.d.ts +0 -25
  623. package/dist/browser/navigation-client.d.ts.map +0 -1
  624. package/dist/browser/navigation-client.js +0 -157
  625. package/dist/browser/navigation-client.js.map +0 -1
  626. package/dist/browser/navigation-store.d.ts +0 -101
  627. package/dist/browser/navigation-store.d.ts.map +0 -1
  628. package/dist/browser/navigation-store.js +0 -625
  629. package/dist/browser/navigation-store.js.map +0 -1
  630. package/dist/browser/partial-update.d.ts +0 -75
  631. package/dist/browser/partial-update.d.ts.map +0 -1
  632. package/dist/browser/partial-update.js +0 -426
  633. package/dist/browser/partial-update.js.map +0 -1
  634. package/dist/browser/react/Link.d.ts +0 -86
  635. package/dist/browser/react/Link.d.ts.map +0 -1
  636. package/dist/browser/react/Link.js +0 -128
  637. package/dist/browser/react/Link.js.map +0 -1
  638. package/dist/browser/react/NavigationProvider.d.ts +0 -63
  639. package/dist/browser/react/NavigationProvider.d.ts.map +0 -1
  640. package/dist/browser/react/NavigationProvider.js +0 -216
  641. package/dist/browser/react/NavigationProvider.js.map +0 -1
  642. package/dist/browser/react/ScrollRestoration.d.ts +0 -75
  643. package/dist/browser/react/ScrollRestoration.d.ts.map +0 -1
  644. package/dist/browser/react/ScrollRestoration.js +0 -57
  645. package/dist/browser/react/ScrollRestoration.js.map +0 -1
  646. package/dist/browser/react/context.d.ts +0 -46
  647. package/dist/browser/react/context.d.ts.map +0 -1
  648. package/dist/browser/react/context.js +0 -10
  649. package/dist/browser/react/context.js.map +0 -1
  650. package/dist/browser/react/index.d.ts +0 -11
  651. package/dist/browser/react/index.d.ts.map +0 -1
  652. package/dist/browser/react/index.js +0 -22
  653. package/dist/browser/react/index.js.map +0 -1
  654. package/dist/browser/react/location-state-shared.d.ts +0 -63
  655. package/dist/browser/react/location-state-shared.d.ts.map +0 -1
  656. package/dist/browser/react/location-state-shared.js +0 -81
  657. package/dist/browser/react/location-state-shared.js.map +0 -1
  658. package/dist/browser/react/location-state.d.ts +0 -23
  659. package/dist/browser/react/location-state.d.ts.map +0 -1
  660. package/dist/browser/react/location-state.js +0 -29
  661. package/dist/browser/react/location-state.js.map +0 -1
  662. package/dist/browser/react/mount-context.d.ts +0 -24
  663. package/dist/browser/react/mount-context.d.ts.map +0 -1
  664. package/dist/browser/react/mount-context.js +0 -24
  665. package/dist/browser/react/mount-context.js.map +0 -1
  666. package/dist/browser/react/use-action.d.ts +0 -64
  667. package/dist/browser/react/use-action.d.ts.map +0 -1
  668. package/dist/browser/react/use-action.js +0 -134
  669. package/dist/browser/react/use-action.js.map +0 -1
  670. package/dist/browser/react/use-client-cache.d.ts +0 -41
  671. package/dist/browser/react/use-client-cache.d.ts.map +0 -1
  672. package/dist/browser/react/use-client-cache.js +0 -39
  673. package/dist/browser/react/use-client-cache.js.map +0 -1
  674. package/dist/browser/react/use-handle.d.ts +0 -31
  675. package/dist/browser/react/use-handle.d.ts.map +0 -1
  676. package/dist/browser/react/use-handle.js +0 -144
  677. package/dist/browser/react/use-handle.js.map +0 -1
  678. package/dist/browser/react/use-href.d.ts +0 -33
  679. package/dist/browser/react/use-href.d.ts.map +0 -1
  680. package/dist/browser/react/use-href.js +0 -39
  681. package/dist/browser/react/use-href.js.map +0 -1
  682. package/dist/browser/react/use-link-status.d.ts +0 -37
  683. package/dist/browser/react/use-link-status.d.ts.map +0 -1
  684. package/dist/browser/react/use-link-status.js +0 -99
  685. package/dist/browser/react/use-link-status.js.map +0 -1
  686. package/dist/browser/react/use-mount.d.ts +0 -25
  687. package/dist/browser/react/use-mount.d.ts.map +0 -1
  688. package/dist/browser/react/use-mount.js +0 -30
  689. package/dist/browser/react/use-mount.js.map +0 -1
  690. package/dist/browser/react/use-navigation.d.ts +0 -27
  691. package/dist/browser/react/use-navigation.d.ts.map +0 -1
  692. package/dist/browser/react/use-navigation.js +0 -87
  693. package/dist/browser/react/use-navigation.js.map +0 -1
  694. package/dist/browser/react/use-segments.d.ts +0 -38
  695. package/dist/browser/react/use-segments.d.ts.map +0 -1
  696. package/dist/browser/react/use-segments.js +0 -130
  697. package/dist/browser/react/use-segments.js.map +0 -1
  698. package/dist/browser/request-controller.d.ts +0 -26
  699. package/dist/browser/request-controller.d.ts.map +0 -1
  700. package/dist/browser/request-controller.js +0 -147
  701. package/dist/browser/request-controller.js.map +0 -1
  702. package/dist/browser/rsc-router.d.ts +0 -129
  703. package/dist/browser/rsc-router.d.ts.map +0 -1
  704. package/dist/browser/rsc-router.js +0 -195
  705. package/dist/browser/rsc-router.js.map +0 -1
  706. package/dist/browser/scroll-restoration.d.ts +0 -93
  707. package/dist/browser/scroll-restoration.d.ts.map +0 -1
  708. package/dist/browser/scroll-restoration.js +0 -321
  709. package/dist/browser/scroll-restoration.js.map +0 -1
  710. package/dist/browser/segment-structure-assert.d.ts +0 -17
  711. package/dist/browser/segment-structure-assert.d.ts.map +0 -1
  712. package/dist/browser/segment-structure-assert.js +0 -59
  713. package/dist/browser/segment-structure-assert.js.map +0 -1
  714. package/dist/browser/server-action-bridge.d.ts +0 -26
  715. package/dist/browser/server-action-bridge.d.ts.map +0 -1
  716. package/dist/browser/server-action-bridge.js +0 -668
  717. package/dist/browser/server-action-bridge.js.map +0 -1
  718. package/dist/browser/shallow.d.ts +0 -12
  719. package/dist/browser/shallow.d.ts.map +0 -1
  720. package/dist/browser/shallow.js +0 -34
  721. package/dist/browser/shallow.js.map +0 -1
  722. package/dist/browser/types.d.ts +0 -369
  723. package/dist/browser/types.d.ts.map +0 -1
  724. package/dist/browser/types.js +0 -2
  725. package/dist/browser/types.js.map +0 -1
  726. package/dist/build/__tests__/generate-cli.test.d.ts +0 -2
  727. package/dist/build/__tests__/generate-cli.test.d.ts.map +0 -1
  728. package/dist/build/__tests__/generate-cli.test.js +0 -237
  729. package/dist/build/__tests__/generate-cli.test.js.map +0 -1
  730. package/dist/build/__tests__/generate-manifest.test.d.ts +0 -2
  731. package/dist/build/__tests__/generate-manifest.test.d.ts.map +0 -1
  732. package/dist/build/__tests__/generate-manifest.test.js +0 -119
  733. package/dist/build/__tests__/generate-manifest.test.js.map +0 -1
  734. package/dist/build/__tests__/generate-route-types.test.d.ts +0 -2
  735. package/dist/build/__tests__/generate-route-types.test.d.ts.map +0 -1
  736. package/dist/build/__tests__/generate-route-types.test.js +0 -620
  737. package/dist/build/__tests__/generate-route-types.test.js.map +0 -1
  738. package/dist/build/__tests__/per-router-manifest.test.d.ts +0 -2
  739. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +0 -1
  740. package/dist/build/__tests__/per-router-manifest.test.js +0 -308
  741. package/dist/build/__tests__/per-router-manifest.test.js.map +0 -1
  742. package/dist/build/generate-manifest.d.ts +0 -81
  743. package/dist/build/generate-manifest.d.ts.map +0 -1
  744. package/dist/build/generate-manifest.js +0 -276
  745. package/dist/build/generate-manifest.js.map +0 -1
  746. package/dist/build/generate-route-types.d.ts +0 -115
  747. package/dist/build/generate-route-types.d.ts.map +0 -1
  748. package/dist/build/generate-route-types.js +0 -740
  749. package/dist/build/generate-route-types.js.map +0 -1
  750. package/dist/build/index.d.ts +0 -21
  751. package/dist/build/index.d.ts.map +0 -1
  752. package/dist/build/index.js +0 -21
  753. package/dist/build/index.js.map +0 -1
  754. package/dist/build/route-trie.d.ts +0 -71
  755. package/dist/build/route-trie.d.ts.map +0 -1
  756. package/dist/build/route-trie.js +0 -175
  757. package/dist/build/route-trie.js.map +0 -1
  758. package/dist/cache/__tests__/cache-scope.test.d.ts +0 -2
  759. package/dist/cache/__tests__/cache-scope.test.d.ts.map +0 -1
  760. package/dist/cache/__tests__/cache-scope.test.js +0 -208
  761. package/dist/cache/__tests__/cache-scope.test.js.map +0 -1
  762. package/dist/cache/__tests__/document-cache.test.d.ts +0 -2
  763. package/dist/cache/__tests__/document-cache.test.d.ts.map +0 -1
  764. package/dist/cache/__tests__/document-cache.test.js +0 -345
  765. package/dist/cache/__tests__/document-cache.test.js.map +0 -1
  766. package/dist/cache/__tests__/memory-segment-store.test.d.ts +0 -2
  767. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +0 -1
  768. package/dist/cache/__tests__/memory-segment-store.test.js +0 -425
  769. package/dist/cache/__tests__/memory-segment-store.test.js.map +0 -1
  770. package/dist/cache/__tests__/memory-store.test.d.ts +0 -2
  771. package/dist/cache/__tests__/memory-store.test.d.ts.map +0 -1
  772. package/dist/cache/__tests__/memory-store.test.js +0 -367
  773. package/dist/cache/__tests__/memory-store.test.js.map +0 -1
  774. package/dist/cache/cache-scope.d.ts +0 -102
  775. package/dist/cache/cache-scope.d.ts.map +0 -1
  776. package/dist/cache/cache-scope.js +0 -440
  777. package/dist/cache/cache-scope.js.map +0 -1
  778. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +0 -2
  779. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +0 -1
  780. package/dist/cache/cf/__tests__/cf-cache-store.test.js +0 -330
  781. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +0 -1
  782. package/dist/cache/cf/cf-cache-store.d.ts +0 -165
  783. package/dist/cache/cf/cf-cache-store.d.ts.map +0 -1
  784. package/dist/cache/cf/cf-cache-store.js +0 -242
  785. package/dist/cache/cf/cf-cache-store.js.map +0 -1
  786. package/dist/cache/cf/index.d.ts +0 -14
  787. package/dist/cache/cf/index.d.ts.map +0 -1
  788. package/dist/cache/cf/index.js +0 -17
  789. package/dist/cache/cf/index.js.map +0 -1
  790. package/dist/cache/document-cache.d.ts +0 -64
  791. package/dist/cache/document-cache.d.ts.map +0 -1
  792. package/dist/cache/document-cache.js +0 -228
  793. package/dist/cache/document-cache.js.map +0 -1
  794. package/dist/cache/index.d.ts +0 -19
  795. package/dist/cache/index.d.ts.map +0 -1
  796. package/dist/cache/index.js +0 -21
  797. package/dist/cache/index.js.map +0 -1
  798. package/dist/cache/memory-segment-store.d.ts +0 -110
  799. package/dist/cache/memory-segment-store.d.ts.map +0 -1
  800. package/dist/cache/memory-segment-store.js +0 -117
  801. package/dist/cache/memory-segment-store.js.map +0 -1
  802. package/dist/cache/memory-store.d.ts +0 -41
  803. package/dist/cache/memory-store.d.ts.map +0 -1
  804. package/dist/cache/memory-store.js +0 -191
  805. package/dist/cache/memory-store.js.map +0 -1
  806. package/dist/cache/types.d.ts +0 -317
  807. package/dist/cache/types.d.ts.map +0 -1
  808. package/dist/cache/types.js +0 -12
  809. package/dist/cache/types.js.map +0 -1
  810. package/dist/client.d.ts +0 -248
  811. package/dist/client.d.ts.map +0 -1
  812. package/dist/client.js +0 -367
  813. package/dist/client.js.map +0 -1
  814. package/dist/client.rsc.d.ts +0 -26
  815. package/dist/client.rsc.d.ts.map +0 -1
  816. package/dist/client.rsc.js +0 -46
  817. package/dist/client.rsc.js.map +0 -1
  818. package/dist/component-utils.d.ts +0 -36
  819. package/dist/component-utils.d.ts.map +0 -1
  820. package/dist/component-utils.js +0 -61
  821. package/dist/component-utils.js.map +0 -1
  822. package/dist/components/DefaultDocument.d.ts +0 -13
  823. package/dist/components/DefaultDocument.d.ts.map +0 -1
  824. package/dist/components/DefaultDocument.js +0 -15
  825. package/dist/components/DefaultDocument.js.map +0 -1
  826. package/dist/debug.d.ts +0 -58
  827. package/dist/debug.d.ts.map +0 -1
  828. package/dist/debug.js +0 -157
  829. package/dist/debug.js.map +0 -1
  830. package/dist/default-error-boundary.d.ts +0 -11
  831. package/dist/default-error-boundary.d.ts.map +0 -1
  832. package/dist/default-error-boundary.js +0 -45
  833. package/dist/default-error-boundary.js.map +0 -1
  834. package/dist/deps/browser.d.ts +0 -2
  835. package/dist/deps/browser.d.ts.map +0 -1
  836. package/dist/deps/browser.js +0 -3
  837. package/dist/deps/browser.js.map +0 -1
  838. package/dist/deps/html-stream-client.d.ts +0 -2
  839. package/dist/deps/html-stream-client.d.ts.map +0 -1
  840. package/dist/deps/html-stream-client.js +0 -3
  841. package/dist/deps/html-stream-client.js.map +0 -1
  842. package/dist/deps/html-stream-server.d.ts +0 -2
  843. package/dist/deps/html-stream-server.d.ts.map +0 -1
  844. package/dist/deps/html-stream-server.js +0 -3
  845. package/dist/deps/html-stream-server.js.map +0 -1
  846. package/dist/deps/rsc.d.ts +0 -2
  847. package/dist/deps/rsc.d.ts.map +0 -1
  848. package/dist/deps/rsc.js +0 -4
  849. package/dist/deps/rsc.js.map +0 -1
  850. package/dist/deps/ssr.d.ts +0 -2
  851. package/dist/deps/ssr.d.ts.map +0 -1
  852. package/dist/deps/ssr.js +0 -3
  853. package/dist/deps/ssr.js.map +0 -1
  854. package/dist/errors.d.ts +0 -174
  855. package/dist/errors.d.ts.map +0 -1
  856. package/dist/errors.js +0 -241
  857. package/dist/errors.js.map +0 -1
  858. package/dist/handle.d.ts +0 -78
  859. package/dist/handle.d.ts.map +0 -1
  860. package/dist/handle.js +0 -82
  861. package/dist/handle.js.map +0 -1
  862. package/dist/handles/MetaTags.d.ts +0 -14
  863. package/dist/handles/MetaTags.d.ts.map +0 -1
  864. package/dist/handles/MetaTags.js +0 -136
  865. package/dist/handles/MetaTags.js.map +0 -1
  866. package/dist/handles/index.d.ts +0 -6
  867. package/dist/handles/index.d.ts.map +0 -1
  868. package/dist/handles/index.js +0 -6
  869. package/dist/handles/index.js.map +0 -1
  870. package/dist/handles/meta.d.ts +0 -39
  871. package/dist/handles/meta.d.ts.map +0 -1
  872. package/dist/handles/meta.js +0 -202
  873. package/dist/handles/meta.js.map +0 -1
  874. package/dist/host/__tests__/errors.test.d.ts +0 -2
  875. package/dist/host/__tests__/errors.test.d.ts.map +0 -1
  876. package/dist/host/__tests__/errors.test.js +0 -76
  877. package/dist/host/__tests__/errors.test.js.map +0 -1
  878. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +0 -2
  879. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +0 -1
  880. package/dist/host/__tests__/pattern-comprehensive.test.js +0 -732
  881. package/dist/host/__tests__/pattern-comprehensive.test.js.map +0 -1
  882. package/dist/host/__tests__/pattern-matcher.test.d.ts +0 -2
  883. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +0 -1
  884. package/dist/host/__tests__/pattern-matcher.test.js +0 -251
  885. package/dist/host/__tests__/pattern-matcher.test.js.map +0 -1
  886. package/dist/host/__tests__/router.test.d.ts +0 -2
  887. package/dist/host/__tests__/router.test.d.ts.map +0 -1
  888. package/dist/host/__tests__/router.test.js +0 -241
  889. package/dist/host/__tests__/router.test.js.map +0 -1
  890. package/dist/host/__tests__/testing.test.d.ts +0 -2
  891. package/dist/host/__tests__/testing.test.d.ts.map +0 -1
  892. package/dist/host/__tests__/testing.test.js +0 -64
  893. package/dist/host/__tests__/testing.test.js.map +0 -1
  894. package/dist/host/__tests__/utils.test.d.ts +0 -2
  895. package/dist/host/__tests__/utils.test.d.ts.map +0 -1
  896. package/dist/host/__tests__/utils.test.js +0 -29
  897. package/dist/host/__tests__/utils.test.js.map +0 -1
  898. package/dist/host/cookie-handler.d.ts +0 -34
  899. package/dist/host/cookie-handler.d.ts.map +0 -1
  900. package/dist/host/cookie-handler.js +0 -124
  901. package/dist/host/cookie-handler.js.map +0 -1
  902. package/dist/host/errors.d.ts +0 -56
  903. package/dist/host/errors.d.ts.map +0 -1
  904. package/dist/host/errors.js +0 -79
  905. package/dist/host/errors.js.map +0 -1
  906. package/dist/host/index.d.ts +0 -29
  907. package/dist/host/index.d.ts.map +0 -1
  908. package/dist/host/index.js +0 -32
  909. package/dist/host/index.js.map +0 -1
  910. package/dist/host/pattern-matcher.d.ts +0 -36
  911. package/dist/host/pattern-matcher.d.ts.map +0 -1
  912. package/dist/host/pattern-matcher.js +0 -172
  913. package/dist/host/pattern-matcher.js.map +0 -1
  914. package/dist/host/router.d.ts +0 -26
  915. package/dist/host/router.d.ts.map +0 -1
  916. package/dist/host/router.js +0 -218
  917. package/dist/host/router.js.map +0 -1
  918. package/dist/host/testing.d.ts +0 -36
  919. package/dist/host/testing.d.ts.map +0 -1
  920. package/dist/host/testing.js +0 -55
  921. package/dist/host/testing.js.map +0 -1
  922. package/dist/host/types.d.ts +0 -115
  923. package/dist/host/types.d.ts.map +0 -1
  924. package/dist/host/types.js +0 -7
  925. package/dist/host/types.js.map +0 -1
  926. package/dist/host/utils.d.ts +0 -21
  927. package/dist/host/utils.d.ts.map +0 -1
  928. package/dist/host/utils.js +0 -23
  929. package/dist/host/utils.js.map +0 -1
  930. package/dist/href-client.d.ts +0 -131
  931. package/dist/href-client.d.ts.map +0 -1
  932. package/dist/href-client.js +0 -64
  933. package/dist/href-client.js.map +0 -1
  934. package/dist/href-context.d.ts +0 -29
  935. package/dist/href-context.d.ts.map +0 -1
  936. package/dist/href-context.js +0 -21
  937. package/dist/href-context.js.map +0 -1
  938. package/dist/index.d.ts +0 -73
  939. package/dist/index.d.ts.map +0 -1
  940. package/dist/index.js +0 -91
  941. package/dist/index.js.map +0 -1
  942. package/dist/index.rsc.d.ts +0 -32
  943. package/dist/index.rsc.d.ts.map +0 -1
  944. package/dist/index.rsc.js +0 -40
  945. package/dist/index.rsc.js.map +0 -1
  946. package/dist/internal-debug.d.ts +0 -2
  947. package/dist/internal-debug.d.ts.map +0 -1
  948. package/dist/internal-debug.js +0 -5
  949. package/dist/internal-debug.js.map +0 -1
  950. package/dist/loader.d.ts +0 -14
  951. package/dist/loader.d.ts.map +0 -1
  952. package/dist/loader.js +0 -20
  953. package/dist/loader.js.map +0 -1
  954. package/dist/loader.rsc.d.ts +0 -19
  955. package/dist/loader.rsc.d.ts.map +0 -1
  956. package/dist/loader.rsc.js +0 -99
  957. package/dist/loader.rsc.js.map +0 -1
  958. package/dist/network-error-thrower.d.ts +0 -17
  959. package/dist/network-error-thrower.d.ts.map +0 -1
  960. package/dist/network-error-thrower.js +0 -14
  961. package/dist/network-error-thrower.js.map +0 -1
  962. package/dist/outlet-context.d.ts +0 -13
  963. package/dist/outlet-context.d.ts.map +0 -1
  964. package/dist/outlet-context.js +0 -3
  965. package/dist/outlet-context.js.map +0 -1
  966. package/dist/prerender/__tests__/param-hash.test.d.ts +0 -2
  967. package/dist/prerender/__tests__/param-hash.test.d.ts.map +0 -1
  968. package/dist/prerender/__tests__/param-hash.test.js +0 -148
  969. package/dist/prerender/__tests__/param-hash.test.js.map +0 -1
  970. package/dist/prerender/param-hash.d.ts +0 -16
  971. package/dist/prerender/param-hash.d.ts.map +0 -1
  972. package/dist/prerender/param-hash.js +0 -36
  973. package/dist/prerender/param-hash.js.map +0 -1
  974. package/dist/prerender/store.d.ts +0 -38
  975. package/dist/prerender/store.d.ts.map +0 -1
  976. package/dist/prerender/store.js +0 -61
  977. package/dist/prerender/store.js.map +0 -1
  978. package/dist/prerender.d.ts +0 -66
  979. package/dist/prerender.d.ts.map +0 -1
  980. package/dist/prerender.js +0 -57
  981. package/dist/prerender.js.map +0 -1
  982. package/dist/reverse.d.ts +0 -196
  983. package/dist/reverse.d.ts.map +0 -1
  984. package/dist/reverse.js +0 -78
  985. package/dist/reverse.js.map +0 -1
  986. package/dist/root-error-boundary.d.ts +0 -33
  987. package/dist/root-error-boundary.d.ts.map +0 -1
  988. package/dist/root-error-boundary.js +0 -165
  989. package/dist/root-error-boundary.js.map +0 -1
  990. package/dist/route-content-wrapper.d.ts +0 -46
  991. package/dist/route-content-wrapper.d.ts.map +0 -1
  992. package/dist/route-content-wrapper.js +0 -77
  993. package/dist/route-content-wrapper.js.map +0 -1
  994. package/dist/route-definition.d.ts +0 -421
  995. package/dist/route-definition.d.ts.map +0 -1
  996. package/dist/route-definition.js +0 -868
  997. package/dist/route-definition.js.map +0 -1
  998. package/dist/route-map-builder.d.ts +0 -155
  999. package/dist/route-map-builder.d.ts.map +0 -1
  1000. package/dist/route-map-builder.js +0 -237
  1001. package/dist/route-map-builder.js.map +0 -1
  1002. package/dist/route-types.d.ts +0 -165
  1003. package/dist/route-types.d.ts.map +0 -1
  1004. package/dist/route-types.js +0 -7
  1005. package/dist/route-types.js.map +0 -1
  1006. package/dist/router/__tests__/handler-context.test.d.ts +0 -2
  1007. package/dist/router/__tests__/handler-context.test.d.ts.map +0 -1
  1008. package/dist/router/__tests__/handler-context.test.js +0 -65
  1009. package/dist/router/__tests__/handler-context.test.js.map +0 -1
  1010. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +0 -2
  1011. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +0 -1
  1012. package/dist/router/__tests__/loader-cycle-detection.test.js +0 -221
  1013. package/dist/router/__tests__/loader-cycle-detection.test.js.map +0 -1
  1014. package/dist/router/__tests__/match-context.test.d.ts +0 -2
  1015. package/dist/router/__tests__/match-context.test.d.ts.map +0 -1
  1016. package/dist/router/__tests__/match-context.test.js +0 -92
  1017. package/dist/router/__tests__/match-context.test.js.map +0 -1
  1018. package/dist/router/__tests__/match-pipelines.test.d.ts +0 -2
  1019. package/dist/router/__tests__/match-pipelines.test.d.ts.map +0 -1
  1020. package/dist/router/__tests__/match-pipelines.test.js +0 -417
  1021. package/dist/router/__tests__/match-pipelines.test.js.map +0 -1
  1022. package/dist/router/__tests__/match-result.test.d.ts +0 -2
  1023. package/dist/router/__tests__/match-result.test.d.ts.map +0 -1
  1024. package/dist/router/__tests__/match-result.test.js +0 -457
  1025. package/dist/router/__tests__/match-result.test.js.map +0 -1
  1026. package/dist/router/__tests__/on-error.test.d.ts +0 -2
  1027. package/dist/router/__tests__/on-error.test.d.ts.map +0 -1
  1028. package/dist/router/__tests__/on-error.test.js +0 -678
  1029. package/dist/router/__tests__/on-error.test.js.map +0 -1
  1030. package/dist/router/__tests__/pattern-matching.test.d.ts +0 -2
  1031. package/dist/router/__tests__/pattern-matching.test.d.ts.map +0 -1
  1032. package/dist/router/__tests__/pattern-matching.test.js +0 -629
  1033. package/dist/router/__tests__/pattern-matching.test.js.map +0 -1
  1034. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +0 -2
  1035. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +0 -1
  1036. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +0 -155
  1037. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +0 -1
  1038. package/dist/router/error-handling.d.ts +0 -77
  1039. package/dist/router/error-handling.d.ts.map +0 -1
  1040. package/dist/router/error-handling.js +0 -202
  1041. package/dist/router/error-handling.js.map +0 -1
  1042. package/dist/router/handler-context.d.ts +0 -20
  1043. package/dist/router/handler-context.d.ts.map +0 -1
  1044. package/dist/router/handler-context.js +0 -198
  1045. package/dist/router/handler-context.js.map +0 -1
  1046. package/dist/router/intercept-resolution.d.ts +0 -66
  1047. package/dist/router/intercept-resolution.d.ts.map +0 -1
  1048. package/dist/router/intercept-resolution.js +0 -246
  1049. package/dist/router/intercept-resolution.js.map +0 -1
  1050. package/dist/router/loader-resolution.d.ts +0 -64
  1051. package/dist/router/loader-resolution.d.ts.map +0 -1
  1052. package/dist/router/loader-resolution.js +0 -284
  1053. package/dist/router/loader-resolution.js.map +0 -1
  1054. package/dist/router/logging.d.ts +0 -15
  1055. package/dist/router/logging.d.ts.map +0 -1
  1056. package/dist/router/logging.js +0 -99
  1057. package/dist/router/logging.js.map +0 -1
  1058. package/dist/router/manifest.d.ts +0 -22
  1059. package/dist/router/manifest.d.ts.map +0 -1
  1060. package/dist/router/manifest.js +0 -181
  1061. package/dist/router/manifest.js.map +0 -1
  1062. package/dist/router/match-api.d.ts +0 -35
  1063. package/dist/router/match-api.d.ts.map +0 -1
  1064. package/dist/router/match-api.js +0 -406
  1065. package/dist/router/match-api.js.map +0 -1
  1066. package/dist/router/match-context.d.ts +0 -206
  1067. package/dist/router/match-context.d.ts.map +0 -1
  1068. package/dist/router/match-context.js +0 -17
  1069. package/dist/router/match-context.js.map +0 -1
  1070. package/dist/router/match-middleware/background-revalidation.d.ts +0 -127
  1071. package/dist/router/match-middleware/background-revalidation.d.ts.map +0 -1
  1072. package/dist/router/match-middleware/background-revalidation.js +0 -75
  1073. package/dist/router/match-middleware/background-revalidation.js.map +0 -1
  1074. package/dist/router/match-middleware/cache-lookup.d.ts +0 -112
  1075. package/dist/router/match-middleware/cache-lookup.d.ts.map +0 -1
  1076. package/dist/router/match-middleware/cache-lookup.js +0 -257
  1077. package/dist/router/match-middleware/cache-lookup.js.map +0 -1
  1078. package/dist/router/match-middleware/cache-store.d.ts +0 -113
  1079. package/dist/router/match-middleware/cache-store.d.ts.map +0 -1
  1080. package/dist/router/match-middleware/cache-store.js +0 -108
  1081. package/dist/router/match-middleware/cache-store.js.map +0 -1
  1082. package/dist/router/match-middleware/index.d.ts +0 -81
  1083. package/dist/router/match-middleware/index.d.ts.map +0 -1
  1084. package/dist/router/match-middleware/index.js +0 -80
  1085. package/dist/router/match-middleware/index.js.map +0 -1
  1086. package/dist/router/match-middleware/intercept-resolution.d.ts +0 -117
  1087. package/dist/router/match-middleware/intercept-resolution.d.ts.map +0 -1
  1088. package/dist/router/match-middleware/intercept-resolution.js +0 -134
  1089. package/dist/router/match-middleware/intercept-resolution.js.map +0 -1
  1090. package/dist/router/match-middleware/segment-resolution.d.ts +0 -99
  1091. package/dist/router/match-middleware/segment-resolution.d.ts.map +0 -1
  1092. package/dist/router/match-middleware/segment-resolution.js +0 -53
  1093. package/dist/router/match-middleware/segment-resolution.js.map +0 -1
  1094. package/dist/router/match-pipelines.d.ts +0 -147
  1095. package/dist/router/match-pipelines.d.ts.map +0 -1
  1096. package/dist/router/match-pipelines.js +0 -82
  1097. package/dist/router/match-pipelines.js.map +0 -1
  1098. package/dist/router/match-result.d.ts +0 -126
  1099. package/dist/router/match-result.d.ts.map +0 -1
  1100. package/dist/router/match-result.js +0 -93
  1101. package/dist/router/match-result.js.map +0 -1
  1102. package/dist/router/metrics.d.ts +0 -20
  1103. package/dist/router/metrics.d.ts.map +0 -1
  1104. package/dist/router/metrics.js +0 -47
  1105. package/dist/router/metrics.js.map +0 -1
  1106. package/dist/router/middleware.d.ts +0 -249
  1107. package/dist/router/middleware.d.ts.map +0 -1
  1108. package/dist/router/middleware.js +0 -434
  1109. package/dist/router/middleware.js.map +0 -1
  1110. package/dist/router/middleware.test.d.ts +0 -2
  1111. package/dist/router/middleware.test.d.ts.map +0 -1
  1112. package/dist/router/middleware.test.js +0 -816
  1113. package/dist/router/middleware.test.js.map +0 -1
  1114. package/dist/router/pattern-matching.d.ts +0 -149
  1115. package/dist/router/pattern-matching.d.ts.map +0 -1
  1116. package/dist/router/pattern-matching.js +0 -349
  1117. package/dist/router/pattern-matching.js.map +0 -1
  1118. package/dist/router/revalidation.d.ts +0 -44
  1119. package/dist/router/revalidation.d.ts.map +0 -1
  1120. package/dist/router/revalidation.js +0 -147
  1121. package/dist/router/revalidation.js.map +0 -1
  1122. package/dist/router/router-context.d.ts +0 -135
  1123. package/dist/router/router-context.d.ts.map +0 -1
  1124. package/dist/router/router-context.js +0 -36
  1125. package/dist/router/router-context.js.map +0 -1
  1126. package/dist/router/segment-resolution.d.ts +0 -127
  1127. package/dist/router/segment-resolution.d.ts.map +0 -1
  1128. package/dist/router/segment-resolution.js +0 -919
  1129. package/dist/router/segment-resolution.js.map +0 -1
  1130. package/dist/router/trie-matching.d.ts +0 -40
  1131. package/dist/router/trie-matching.d.ts.map +0 -1
  1132. package/dist/router/trie-matching.js +0 -127
  1133. package/dist/router/trie-matching.js.map +0 -1
  1134. package/dist/router/types.d.ts +0 -136
  1135. package/dist/router/types.d.ts.map +0 -1
  1136. package/dist/router/types.js +0 -7
  1137. package/dist/router/types.js.map +0 -1
  1138. package/dist/router.d.ts +0 -753
  1139. package/dist/router.d.ts.map +0 -1
  1140. package/dist/router.gen.d.ts +0 -6
  1141. package/dist/router.gen.d.ts.map +0 -1
  1142. package/dist/router.gen.js +0 -6
  1143. package/dist/router.gen.js.map +0 -1
  1144. package/dist/router.js +0 -1304
  1145. package/dist/router.js.map +0 -1
  1146. package/dist/rsc/__tests__/helpers.test.d.ts +0 -2
  1147. package/dist/rsc/__tests__/helpers.test.d.ts.map +0 -1
  1148. package/dist/rsc/__tests__/helpers.test.js +0 -140
  1149. package/dist/rsc/__tests__/helpers.test.js.map +0 -1
  1150. package/dist/rsc/handler.d.ts +0 -45
  1151. package/dist/rsc/handler.d.ts.map +0 -1
  1152. package/dist/rsc/handler.js +0 -1172
  1153. package/dist/rsc/handler.js.map +0 -1
  1154. package/dist/rsc/helpers.d.ts +0 -16
  1155. package/dist/rsc/helpers.d.ts.map +0 -1
  1156. package/dist/rsc/helpers.js +0 -55
  1157. package/dist/rsc/helpers.js.map +0 -1
  1158. package/dist/rsc/index.d.ts +0 -22
  1159. package/dist/rsc/index.d.ts.map +0 -1
  1160. package/dist/rsc/index.js +0 -23
  1161. package/dist/rsc/index.js.map +0 -1
  1162. package/dist/rsc/nonce.d.ts +0 -9
  1163. package/dist/rsc/nonce.d.ts.map +0 -1
  1164. package/dist/rsc/nonce.js +0 -18
  1165. package/dist/rsc/nonce.js.map +0 -1
  1166. package/dist/rsc/types.d.ts +0 -206
  1167. package/dist/rsc/types.d.ts.map +0 -1
  1168. package/dist/rsc/types.js +0 -8
  1169. package/dist/rsc/types.js.map +0 -1
  1170. package/dist/search-params.d.ts +0 -103
  1171. package/dist/search-params.d.ts.map +0 -1
  1172. package/dist/search-params.js +0 -74
  1173. package/dist/search-params.js.map +0 -1
  1174. package/dist/segment-system.d.ts +0 -75
  1175. package/dist/segment-system.d.ts.map +0 -1
  1176. package/dist/segment-system.js +0 -336
  1177. package/dist/segment-system.js.map +0 -1
  1178. package/dist/server/context.d.ts +0 -245
  1179. package/dist/server/context.d.ts.map +0 -1
  1180. package/dist/server/context.js +0 -197
  1181. package/dist/server/context.js.map +0 -1
  1182. package/dist/server/fetchable-loader-store.d.ts +0 -18
  1183. package/dist/server/fetchable-loader-store.d.ts.map +0 -1
  1184. package/dist/server/fetchable-loader-store.js +0 -18
  1185. package/dist/server/fetchable-loader-store.js.map +0 -1
  1186. package/dist/server/handle-store.d.ts +0 -85
  1187. package/dist/server/handle-store.d.ts.map +0 -1
  1188. package/dist/server/handle-store.js +0 -142
  1189. package/dist/server/handle-store.js.map +0 -1
  1190. package/dist/server/loader-registry.d.ts +0 -55
  1191. package/dist/server/loader-registry.d.ts.map +0 -1
  1192. package/dist/server/loader-registry.js +0 -132
  1193. package/dist/server/loader-registry.js.map +0 -1
  1194. package/dist/server/request-context.d.ts +0 -226
  1195. package/dist/server/request-context.d.ts.map +0 -1
  1196. package/dist/server/request-context.js +0 -290
  1197. package/dist/server/request-context.js.map +0 -1
  1198. package/dist/server/root-layout.d.ts +0 -4
  1199. package/dist/server/root-layout.d.ts.map +0 -1
  1200. package/dist/server/root-layout.js +0 -5
  1201. package/dist/server/root-layout.js.map +0 -1
  1202. package/dist/server.d.ts +0 -15
  1203. package/dist/server.d.ts.map +0 -1
  1204. package/dist/server.js +0 -20
  1205. package/dist/server.js.map +0 -1
  1206. package/dist/ssr/__tests__/ssr-handler.test.d.ts +0 -2
  1207. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +0 -1
  1208. package/dist/ssr/__tests__/ssr-handler.test.js +0 -132
  1209. package/dist/ssr/__tests__/ssr-handler.test.js.map +0 -1
  1210. package/dist/ssr/index.d.ts +0 -98
  1211. package/dist/ssr/index.d.ts.map +0 -1
  1212. package/dist/ssr/index.js +0 -158
  1213. package/dist/ssr/index.js.map +0 -1
  1214. package/dist/static-handler.d.ts +0 -50
  1215. package/dist/static-handler.d.ts.map +0 -1
  1216. package/dist/static-handler.gen.d.ts +0 -5
  1217. package/dist/static-handler.gen.d.ts.map +0 -1
  1218. package/dist/static-handler.gen.js +0 -5
  1219. package/dist/static-handler.gen.js.map +0 -1
  1220. package/dist/static-handler.js +0 -29
  1221. package/dist/static-handler.js.map +0 -1
  1222. package/dist/theme/ThemeProvider.d.ts +0 -20
  1223. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  1224. package/dist/theme/ThemeProvider.js +0 -240
  1225. package/dist/theme/ThemeProvider.js.map +0 -1
  1226. package/dist/theme/ThemeScript.d.ts +0 -48
  1227. package/dist/theme/ThemeScript.d.ts.map +0 -1
  1228. package/dist/theme/ThemeScript.js +0 -13
  1229. package/dist/theme/ThemeScript.js.map +0 -1
  1230. package/dist/theme/__tests__/theme.test.d.ts +0 -2
  1231. package/dist/theme/__tests__/theme.test.d.ts.map +0 -1
  1232. package/dist/theme/__tests__/theme.test.js +0 -103
  1233. package/dist/theme/__tests__/theme.test.js.map +0 -1
  1234. package/dist/theme/constants.d.ts +0 -29
  1235. package/dist/theme/constants.d.ts.map +0 -1
  1236. package/dist/theme/constants.js +0 -48
  1237. package/dist/theme/constants.js.map +0 -1
  1238. package/dist/theme/index.d.ts +0 -31
  1239. package/dist/theme/index.d.ts.map +0 -1
  1240. package/dist/theme/index.js +0 -36
  1241. package/dist/theme/index.js.map +0 -1
  1242. package/dist/theme/theme-context.d.ts +0 -40
  1243. package/dist/theme/theme-context.d.ts.map +0 -1
  1244. package/dist/theme/theme-context.js +0 -60
  1245. package/dist/theme/theme-context.js.map +0 -1
  1246. package/dist/theme/theme-script.d.ts +0 -27
  1247. package/dist/theme/theme-script.d.ts.map +0 -1
  1248. package/dist/theme/theme-script.js +0 -147
  1249. package/dist/theme/theme-script.js.map +0 -1
  1250. package/dist/theme/types.d.ts +0 -163
  1251. package/dist/theme/types.d.ts.map +0 -1
  1252. package/dist/theme/types.js +0 -11
  1253. package/dist/theme/types.js.map +0 -1
  1254. package/dist/theme/use-theme.d.ts +0 -12
  1255. package/dist/theme/use-theme.d.ts.map +0 -1
  1256. package/dist/theme/use-theme.js +0 -40
  1257. package/dist/theme/use-theme.js.map +0 -1
  1258. package/dist/types.d.ts +0 -1479
  1259. package/dist/types.d.ts.map +0 -1
  1260. package/dist/types.js +0 -10
  1261. package/dist/types.js.map +0 -1
  1262. package/dist/urls.d.ts +0 -441
  1263. package/dist/urls.d.ts.map +0 -1
  1264. package/dist/urls.gen.d.ts +0 -8
  1265. package/dist/urls.gen.d.ts.map +0 -1
  1266. package/dist/urls.gen.js +0 -8
  1267. package/dist/urls.gen.js.map +0 -1
  1268. package/dist/urls.js +0 -443
  1269. package/dist/urls.js.map +0 -1
  1270. package/dist/use-loader.d.ts +0 -127
  1271. package/dist/use-loader.d.ts.map +0 -1
  1272. package/dist/use-loader.js +0 -237
  1273. package/dist/use-loader.js.map +0 -1
  1274. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +0 -2
  1275. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +0 -1
  1276. package/dist/vite/__tests__/ast-handler-extract.test.js +0 -294
  1277. package/dist/vite/__tests__/ast-handler-extract.test.js.map +0 -1
  1278. package/dist/vite/__tests__/expose-id-utils.test.d.ts +0 -2
  1279. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +0 -1
  1280. package/dist/vite/__tests__/expose-id-utils.test.js +0 -224
  1281. package/dist/vite/__tests__/expose-id-utils.test.js.map +0 -1
  1282. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +0 -2
  1283. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +0 -1
  1284. package/dist/vite/__tests__/expose-internal-ids.test.js +0 -647
  1285. package/dist/vite/__tests__/expose-internal-ids.test.js.map +0 -1
  1286. package/dist/vite/__tests__/expose-router-id.test.d.ts +0 -2
  1287. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +0 -1
  1288. package/dist/vite/__tests__/expose-router-id.test.js +0 -39
  1289. package/dist/vite/__tests__/expose-router-id.test.js.map +0 -1
  1290. package/dist/vite/ast-handler-extract.d.ts +0 -49
  1291. package/dist/vite/ast-handler-extract.d.ts.map +0 -1
  1292. package/dist/vite/ast-handler-extract.js +0 -249
  1293. package/dist/vite/ast-handler-extract.js.map +0 -1
  1294. package/dist/vite/expose-action-id.d.ts +0 -19
  1295. package/dist/vite/expose-action-id.d.ts.map +0 -1
  1296. package/dist/vite/expose-action-id.js +0 -250
  1297. package/dist/vite/expose-action-id.js.map +0 -1
  1298. package/dist/vite/expose-id-utils.d.ts +0 -69
  1299. package/dist/vite/expose-id-utils.d.ts.map +0 -1
  1300. package/dist/vite/expose-id-utils.js +0 -289
  1301. package/dist/vite/expose-id-utils.js.map +0 -1
  1302. package/dist/vite/expose-internal-ids.d.ts +0 -22
  1303. package/dist/vite/expose-internal-ids.d.ts.map +0 -1
  1304. package/dist/vite/expose-internal-ids.js +0 -886
  1305. package/dist/vite/expose-internal-ids.js.map +0 -1
  1306. package/dist/vite/index.d.ts +0 -149
  1307. package/dist/vite/index.d.ts.map +0 -1
  1308. package/dist/vite/index.js.bak +0 -5448
  1309. package/dist/vite/index.js.map +0 -1
  1310. package/dist/vite/index.named-routes.gen.ts +0 -103
  1311. package/dist/vite/package-resolution.d.ts +0 -43
  1312. package/dist/vite/package-resolution.d.ts.map +0 -1
  1313. package/dist/vite/package-resolution.js +0 -112
  1314. package/dist/vite/package-resolution.js.map +0 -1
  1315. package/dist/vite/virtual-entries.d.ts +0 -25
  1316. package/dist/vite/virtual-entries.d.ts.map +0 -1
  1317. package/dist/vite/virtual-entries.js +0 -110
  1318. package/dist/vite/virtual-entries.js.map +0 -1
  1319. package/skills/migrate-react-router/cloudflare-workers.md +0 -129
@@ -127,7 +127,18 @@ const REVALIDATION_LOCK_MS = 30_000;
127
127
  /** Family prefixes that keep the value tiers from colliding in the single Vercel
128
128
  * keyspace. The router's own semantic prefixes (doc:/partial:/use-cache:) become
129
129
  * the suffix; `rg:` namespaces every Rango entry. `h` is the PPR shell tier. */
130
- type CacheFamily = "s" | "i" | "r" | "h";
130
+ type CacheFamily = "s" | "i" | "r" | "h" | "tm";
131
+
132
+ /**
133
+ * TTL for tag-invalidation marker entries ("tm" family), written by
134
+ * invalidateTags for the build-shell read-through's isTagsInvalidatedSince
135
+ * gate. The platform's expireTag() DELETES tagged entries (no queryable
136
+ * history), so the markers are rango's own record of "tag X was invalidated
137
+ * at T". One year: markers must outlive any build's shell entries (which the
138
+ * buildVersion gate retires on the next deploy anyway); an expired marker
139
+ * would silently resurrect an updateTag()-evicted build shell.
140
+ */
141
+ const TAG_MARKER_TTL_SECONDS = 365 * 24 * 60 * 60;
131
142
 
132
143
  /** Stored envelope for a segment-tree entry (get/set). */
133
144
  interface VercelSegmentEnvelope {
@@ -191,6 +202,13 @@ interface VercelShellEnvelope {
191
202
  i?: string;
192
203
  /** Capture data snapshot: recorded cache-store hits/writes for HIT parity. */
193
204
  sn?: ShellSnapshotRecord[];
205
+ /**
206
+ * ShellCacheEntry.handlerLiveHoles. Must round-trip: the serve side arms the
207
+ * handler-free fast path on `!entry.handlerLiveHoles`, so dropping the flag
208
+ * here silently fast-pathed handler-live entries after a store round trip —
209
+ * their holes only a handler re-run can fill.
210
+ */
211
+ lh?: boolean;
194
212
  }
195
213
 
196
214
  /** Read-path outcome for the debug sink. */
@@ -781,6 +799,7 @@ export class VercelCacheStore<
781
799
  buildVersion: env.bv,
782
800
  initialTheme: env.i,
783
801
  snapshot: env.sn,
802
+ handlerLiveHoles: env.lh,
784
803
  createdAt: env.c,
785
804
  },
786
805
  shouldRevalidate,
@@ -815,6 +834,7 @@ export class VercelCacheStore<
815
834
  t: safeTags.length > 0 ? safeTags : undefined,
816
835
  i: entry.initialTheme,
817
836
  sn: entry.snapshot,
837
+ lh: entry.handlerLiveHoles,
818
838
  };
819
839
  // write() enforces the 2 MB per-item ceiling (withinSizeLimit): an
820
840
  // oversized shell prelude is reported and skipped (fail-open to a full
@@ -833,6 +853,40 @@ export class VercelCacheStore<
833
853
 
834
854
  // --- Tags ---
835
855
 
856
+ /**
857
+ * Build-shell read-through gate (SegmentCacheStore.isTagsInvalidatedSince).
858
+ * The platform's expireTag() DELETES tagged entries and keeps no queryable
859
+ * history, so invalidateTags() below writes its own "tm" marker entries and
860
+ * this compares them against the baked entry's build-time createdAt
861
+ * (>= so a same-millisecond invalidation wins). Fails open to `false` on
862
+ * read errors — the same posture as the CF marker check.
863
+ */
864
+ async isTagsInvalidatedSince(
865
+ tags: string[],
866
+ sinceMs: number,
867
+ ): Promise<boolean> {
868
+ try {
869
+ const markers = await Promise.all(
870
+ tags.map((tag) => this.cache.get(this.toStoreKey(tag, "tm"))),
871
+ );
872
+ for (const raw of markers) {
873
+ if (raw == null) continue;
874
+ const decoded = this.decodeRaw(raw) as { at?: unknown } | null;
875
+ const at =
876
+ decoded && typeof decoded.at === "number" ? decoded.at : null;
877
+ if (at !== null && at >= sinceMs) return true;
878
+ }
879
+ return false;
880
+ } catch (error) {
881
+ reportCacheError(
882
+ error,
883
+ "cache-read",
884
+ "[VercelCacheStore] tag invalidation check",
885
+ );
886
+ return false;
887
+ }
888
+ }
889
+
836
890
  async invalidateTags(tags: string[]): Promise<void> {
837
891
  if (!tags || tags.length === 0) return;
838
892
  // No per-item cap here: an invalidation must reach every requested tag.
@@ -842,6 +896,20 @@ export class VercelCacheStore<
842
896
  "cache-invalidate",
843
897
  );
844
898
  if (safe.length === 0) return;
899
+ // Marker writes FIRST, and strict: isTagsInvalidatedSince() is how an
900
+ // updateTag() reaches a build-time shell entry (expireTag cannot delete
901
+ // what lives in the build manifest), so a failed marker write must reject
902
+ // like a failed expireTag — silently resolving would report success while
903
+ // the baked shell keeps serving.
904
+ await Promise.all(
905
+ safe.map((tag) =>
906
+ this.cache.set(
907
+ this.toStoreKey(tag, "tm"),
908
+ JSON.stringify({ at: Date.now() }),
909
+ { ttl: TAG_MARKER_TTL_SECONDS },
910
+ ),
911
+ ),
912
+ );
845
913
  try {
846
914
  await this.cache.expireTag(safe);
847
915
  } catch (error) {
@@ -1095,7 +1163,7 @@ export class VercelCacheStore<
1095
1163
 
1096
1164
  private asShellEnvelope(raw: unknown): VercelShellEnvelope | null {
1097
1165
  if (!isRecord(raw)) return null;
1098
- const { p, po, rv, bv, c, s, e, t, i, sn } = raw;
1166
+ const { p, po, rv, bv, c, s, e, t, i, sn, lh } = raw;
1099
1167
  if (typeof p !== "string" || typeof rv !== "string") return null;
1100
1168
  if (po !== null && typeof po !== "string") return null;
1101
1169
  if (typeof c !== "number") return null;
@@ -1111,6 +1179,7 @@ export class VercelCacheStore<
1111
1179
  t: Array.isArray(t) ? (t as string[]) : undefined,
1112
1180
  i: typeof i === "string" ? i : undefined,
1113
1181
  sn: Array.isArray(sn) ? (sn as ShellSnapshotRecord[]) : undefined,
1182
+ lh: lh === true ? true : undefined,
1114
1183
  };
1115
1184
  }
1116
1185
 
package/src/deps/ssr.ts CHANGED
@@ -1 +1,4 @@
1
- export { createFromReadableStream } from "@vitejs/plugin-rsc/ssr";
1
+ export {
2
+ createFromReadableStream,
3
+ setOnClientReference,
4
+ } from "@vitejs/plugin-rsc/ssr";
package/src/index.rsc.ts CHANGED
@@ -88,6 +88,12 @@ export type {
88
88
  OriginCheckPhase,
89
89
  } from "./rsc/origin-guard.js";
90
90
 
91
+ // PPR shell-capture debug sink types (RangoOptions.debugShellCapture)
92
+ export type {
93
+ ShellCaptureDebug,
94
+ ShellCaptureDebugEvent,
95
+ } from "./rsc/shell-capture.js";
96
+
91
97
  // Server-side createLoader and redirect
92
98
  export {
93
99
  createLoader,
@@ -317,4 +323,5 @@ export type {
317
323
  RouterTimeouts,
318
324
  TimeoutPhase,
319
325
  TimeoutContext,
326
+ RenderTimeoutContext,
320
327
  } from "./router/timeout.js";
package/src/index.ts CHANGED
@@ -398,4 +398,5 @@ export type {
398
398
  RouterTimeouts,
399
399
  TimeoutPhase,
400
400
  TimeoutContext,
401
+ RenderTimeoutContext,
401
402
  } from "./router/timeout.js";
@@ -0,0 +1,447 @@
1
+ /**
2
+ * Producer B: build-time PPR shell capture for Prerender+ppr routes (#699).
3
+ *
4
+ * Runs in the RSC realm of the build's temp server, AFTER all bundles are
5
+ * written (the prelude embeds built client asset URLs — bootstrap module,
6
+ * chunk preloads — that only exist post-client-build). The capture core is
7
+ * producer A's, verbatim: deriveShellCaptureContext (mask funnel, liveness,
8
+ * snapshot recording, implicit doc-cache scope) + captureAndStoreShell (gates,
9
+ * quiesce, tags union, putShell barrier). Build capture first replays global
10
+ * and route middleware with a synthetic build request context
11
+ * (`ctx.build === true`, inert `ctx.waitUntil()`); middleware can seed vars or
12
+ * call `ctx.dynamic()` to skip this URL. The sink is an entry collector instead
13
+ * of a runtime store.
14
+ *
15
+ * The capture's match() re-enters withCacheLookup, HITs the in-realm prerender
16
+ * store seeded from the just-collected Flight payloads, and REPLAYS the
17
+ * build-time segments — no handler execution, exactly the runtime composition
18
+ * path (#697). Live-lane loaders mask into holes; bake-lane loaders execute
19
+ * under the build context and refuse the capture if they reject or read
20
+ * identity, the same eligibility rules as at runtime.
21
+ */
22
+
23
+ import type { ShellCacheEntry } from "../cache/types.js";
24
+ import { MemorySegmentCacheStore } from "../cache/memory-segment-store.js";
25
+ import {
26
+ createRequestContext,
27
+ runWithRequestContext,
28
+ setRequestContextParams,
29
+ type RequestContext,
30
+ } from "../server/request-context.js";
31
+ import {
32
+ deriveShellCaptureContext,
33
+ captureAndStoreShell,
34
+ delay,
35
+ SHELL_CAPTURE_RETRY_DELAY_MS,
36
+ type ShellCaptureDescriptor,
37
+ } from "../rsc/shell-capture.js";
38
+ import { buildFullPayload } from "../rsc/full-payload.js";
39
+ import { buildRouteMiddlewareEntries } from "../rsc/helpers.js";
40
+ import type { RscPayload, SSRModule } from "../rsc/types.js";
41
+ import type { HandlerContext } from "../rsc/handler-context.js";
42
+ import { renderToReadableStream } from "../deps/rsc.js";
43
+ import { isRouteNotFoundError } from "../errors.js";
44
+ import { createReverseFunction } from "../router/handler-context.js";
45
+ import { executeMiddleware, matchMiddleware } from "../router/middleware.js";
46
+ import type { MiddlewareEntry } from "../router/middleware.js";
47
+ import { getGlobalRouteMap } from "../route-map-builder.js";
48
+ import {
49
+ resolvePprConfig,
50
+ type ResolvedPprConfig,
51
+ } from "../rsc/shell-serve.js";
52
+
53
+ /**
54
+ * Normalize a collected truthy `ppr` path option into the SAME concrete
55
+ * policy the runtime serve path derives — through resolvePprConfig itself,
56
+ * over a synthetic route entry — so the build-stamped ttl default can never
57
+ * drift from the serve-side one.
58
+ */
59
+ export function resolveBuildPprConfig(
60
+ ppr:
61
+ | true
62
+ | { ttl?: number; swr?: number; tags?: string[]; captureTimeout?: number },
63
+ ): ResolvedPprConfig {
64
+ const resolved = resolvePprConfig({ type: "route", ppr } as any);
65
+ // resolvePprConfig returns null only for undefined/false ppr; the collector
66
+ // filtered those out. Guard for the type only.
67
+ if (!resolved) throw new Error("[rango] unreachable: ppr option was falsy");
68
+ return resolved;
69
+ }
70
+
71
+ export interface BuildShellCaptureOptions {
72
+ /** The router instance (from RouterRegistry in the same realm). */
73
+ router: any;
74
+ /** Concrete URL path to capture (e.g. "/pp/alpha"). */
75
+ urlPath: string;
76
+ /**
77
+ * The candidate's trie route key. The capture's match() must land on THIS
78
+ * route: the phase sweeps every registered router, and a router that does
79
+ * not own the URL matches something else (its catch-all, a 404 shape) —
80
+ * that capture must not be baked.
81
+ */
82
+ routeName: string;
83
+ /** Shell store key to stamp into the descriptor (host-free at build). */
84
+ key: string;
85
+ ttl?: number;
86
+ swr?: number;
87
+ /** The route's static ppr.tags (the capture unions render-recorded tags). */
88
+ tags?: string[];
89
+ /**
90
+ * The route's resolved snapshot size cap (ResolvedPprConfig.maxSnapshotBytes)
91
+ * — build captures apply the same over-cap skip as runtime captures, so a
92
+ * raised per-route cap behaves identically across both producers.
93
+ */
94
+ maxSnapshotBytes?: number;
95
+ /**
96
+ * The route's `ppr.captureTimeout` (ms) — producer B honors the same settle
97
+ * budget as the runtime capture. Build has no waitUntil lifetime bound, so
98
+ * the option is the only ceiling here.
99
+ */
100
+ captureTimeout?: number;
101
+ /** Build-time env bindings (rango plugin buildEnv), if configured. */
102
+ buildEnv?: unknown;
103
+ /**
104
+ * The MAIN build's version (the version plugin's value folded into the
105
+ * shipped worker) — NOT the temp server's own version-plugin value. The
106
+ * serve-side isValidShellHit gate compares entry.buildVersion against the
107
+ * running worker's ctx.version; stamping the temp server's would make every
108
+ * build entry an eternal MISS.
109
+ */
110
+ buildVersion: string;
111
+ /**
112
+ * The SSR half, composed by the plugin from the temp server's SSR
113
+ * environment runner (react-dom/static prerender + Flight client), with the
114
+ * bootstrap script content overridden to the BUILT client entry URL.
115
+ */
116
+ captureShellHTML: NonNullable<SSRModule["captureShellHTML"]>;
117
+ /** Verbose per-attempt breadcrumbs (build log). */
118
+ debug?: boolean;
119
+ }
120
+
121
+ export interface BuildShellCaptureResult {
122
+ outcome:
123
+ | "stored"
124
+ | "no-shell"
125
+ | "redirect"
126
+ | "refused"
127
+ /** Middleware/handler opted this URL out of PPR shell capture. */
128
+ | "dynamic"
129
+ /** The router swept does not own this URL — try the next one. */
130
+ | "route-mismatch";
131
+ /** Present iff outcome === "stored". */
132
+ entry?: ShellCacheEntry;
133
+ /** The putShell-barrier tag union (static ppr.tags + render-recorded). */
134
+ tags?: string[];
135
+ /** On route-mismatch: what this router's match actually landed on. */
136
+ matchedRouteName?: string;
137
+ }
138
+
139
+ /**
140
+ * Capture the PPR shell for one prerendered URL at build time. Retries once
141
+ * in place on `no-shell` (the first attempt warms the temp server's SSR/Flight
142
+ * transform graph, mirroring producer A's cold-start retry — same delay).
143
+ */
144
+ export async function captureShellForBuild(
145
+ opts: BuildShellCaptureOptions,
146
+ ): Promise<BuildShellCaptureResult> {
147
+ const first = await attemptBuildCapture(opts);
148
+ if (first.outcome !== "no-shell") return first;
149
+ if (opts.debug) {
150
+ console.log(
151
+ `[rango] shell capture attempt 1/2 for ${opts.urlPath} produced no shell (cold graph?) — retrying`,
152
+ );
153
+ }
154
+ await delay(SHELL_CAPTURE_RETRY_DELAY_MS);
155
+ return attemptBuildCapture(opts);
156
+ }
157
+
158
+ /** One attempt: fresh base context, fresh derivation, fresh render. */
159
+ async function attemptBuildCapture(
160
+ opts: BuildShellCaptureOptions,
161
+ ): Promise<BuildShellCaptureResult> {
162
+ const router = opts.router;
163
+ const url = new URL(opts.urlPath, "http://build.invalid");
164
+ const request = new Request(url, { method: "GET" });
165
+ const env = (opts.buildEnv ?? {}) as any;
166
+ const variables: Record<string, any> = {};
167
+
168
+ // Synthetic build request context: same factory the runtime handler uses,
169
+ // so the capture's ALS surface (cookie machinery, variables, waitUntil,
170
+ // theme resolution) is production-shaped. No cookie header → theme resolves
171
+ // to the app default, exactly like a first anonymous visitor's capture.
172
+ const baseCtx = createRequestContext({
173
+ env,
174
+ request,
175
+ url,
176
+ variables,
177
+ build: true,
178
+ // Fresh empty store per attempt: cache()/"use cache" reads MISS, execute,
179
+ // and are recorded into the snapshot by the derivation's RecordingShell
180
+ // wrapper — the entry pins its own generation, nothing preexisting leaks.
181
+ cacheStore: new MemorySegmentCacheStore(),
182
+ themeConfig: router.themeConfig ?? null,
183
+ stateCookieName: router.resolvedStateCookieName,
184
+ version: opts.buildVersion,
185
+ });
186
+
187
+ // Entry collector: captureAndStoreShell's sink. putShell never fails here,
188
+ // so a "stored" outcome always carries the entry.
189
+ let collected: { entry: ShellCacheEntry; tags?: string[] } | null = null;
190
+ const collector = {
191
+ putShell: async (
192
+ _key: string,
193
+ entry: ShellCacheEntry,
194
+ _ttl?: number,
195
+ _swr?: number,
196
+ tags?: string[],
197
+ ): Promise<void> => {
198
+ collected = { entry, tags };
199
+ },
200
+ };
201
+
202
+ const descriptor: ShellCaptureDescriptor = {
203
+ key: opts.key,
204
+ buildVersion: opts.buildVersion,
205
+ ttl: opts.ttl,
206
+ swr: opts.swr,
207
+ tags: opts.tags,
208
+ captureTimeout: opts.captureTimeout,
209
+ store: collector as any,
210
+ debug: opts.debug,
211
+ maxSnapshotBytes: opts.maxSnapshotBytes,
212
+ };
213
+
214
+ let mismatchedRouteName: string | undefined;
215
+ const result = await runWithRequestContext(baseCtx, async () => {
216
+ const preview =
217
+ typeof router.previewMatch === "function"
218
+ ? await router.previewMatch(request, { env })
219
+ : undefined;
220
+ // These preview-based mismatches exit before any middleware/envelope runs,
221
+ // so nothing consumes a response — only result.outcome is read below.
222
+ if (preview === null) {
223
+ return { outcome: "route-mismatch" } as const;
224
+ }
225
+ if (preview?.routeKey && preview.routeKey !== opts.routeName) {
226
+ mismatchedRouteName = preview.routeKey;
227
+ return { outcome: "route-mismatch" } as const;
228
+ }
229
+
230
+ if (preview?.routeKey) {
231
+ setRequestContextParams(preview.params ?? {}, preview.routeKey);
232
+ }
233
+
234
+ const routeReverse = createReverseFunction(
235
+ getGlobalRouteMap(),
236
+ preview?.routeKey,
237
+ preview?.params ?? {},
238
+ );
239
+
240
+ const runCapture = () =>
241
+ runBuildCaptureFinal({
242
+ baseCtx,
243
+ descriptor,
244
+ env,
245
+ opts,
246
+ request,
247
+ router,
248
+ url,
249
+ setMismatchedRouteName: (routeName) => {
250
+ mismatchedRouteName = routeName;
251
+ },
252
+ });
253
+
254
+ const routeMiddleware =
255
+ preview?.routeMiddleware && preview.routeMiddleware.length > 0
256
+ ? buildRouteMiddlewareEntries(preview.routeMiddleware)
257
+ : [];
258
+ const runRouteMiddleware = () =>
259
+ runBuildMiddlewareEnvelope(
260
+ routeMiddleware,
261
+ request,
262
+ env,
263
+ variables,
264
+ runCapture,
265
+ routeReverse,
266
+ baseCtx,
267
+ );
268
+
269
+ const globalMiddleware = Array.isArray(router.middleware)
270
+ ? matchMiddleware(url.pathname, router.middleware)
271
+ : [];
272
+ return runBuildMiddlewareEnvelope(
273
+ globalMiddleware,
274
+ request,
275
+ env,
276
+ variables,
277
+ runRouteMiddleware,
278
+ routeReverse,
279
+ baseCtx,
280
+ );
281
+ });
282
+
283
+ const outcome = result.outcome;
284
+ if (outcome === "stored" && collected !== null) {
285
+ const hit: { entry: ShellCacheEntry; tags?: string[] } = collected;
286
+ return { outcome, entry: hit.entry, tags: hit.tags };
287
+ }
288
+ if (outcome === "route-mismatch") {
289
+ return { outcome, matchedRouteName: mismatchedRouteName };
290
+ }
291
+ return { outcome };
292
+ }
293
+
294
+ type BuildShellCaptureOutcome = BuildShellCaptureResult["outcome"];
295
+
296
+ interface BuildCaptureRunResult {
297
+ outcome: BuildShellCaptureOutcome;
298
+ response: Response;
299
+ }
300
+
301
+ interface BuildCaptureFinalOptions {
302
+ baseCtx: RequestContext<any>;
303
+ descriptor: ShellCaptureDescriptor;
304
+ env: any;
305
+ opts: BuildShellCaptureOptions;
306
+ request: Request;
307
+ router: any;
308
+ url: URL;
309
+ setMismatchedRouteName(routeName: string | undefined): void;
310
+ }
311
+
312
+ async function runBuildMiddlewareEnvelope<TEnv>(
313
+ middlewares: Array<{
314
+ entry: MiddlewareEntry<TEnv>;
315
+ params: Record<string, string>;
316
+ }>,
317
+ request: Request,
318
+ env: TEnv,
319
+ variables: Record<string, any>,
320
+ finalHandler: () => Promise<BuildCaptureRunResult>,
321
+ reverse: (
322
+ name: string,
323
+ params?: Record<string, string>,
324
+ search?: Record<string, unknown>,
325
+ ) => string,
326
+ baseCtx: RequestContext<any>,
327
+ ): Promise<BuildCaptureRunResult> {
328
+ let downstream: BuildCaptureRunResult | undefined;
329
+ const response = await executeMiddleware(
330
+ middlewares,
331
+ request,
332
+ env,
333
+ variables,
334
+ async () => {
335
+ downstream = baseCtx._dynamic
336
+ ? {
337
+ outcome: "dynamic",
338
+ response: responseForBuildCaptureOutcome("dynamic"),
339
+ }
340
+ : await finalHandler();
341
+ return downstream.response;
342
+ },
343
+ reverse,
344
+ );
345
+
346
+ if (baseCtx._dynamic) {
347
+ return { outcome: "dynamic", response };
348
+ }
349
+ if (response.status >= 300 && response.status < 400) {
350
+ return { outcome: "redirect", response };
351
+ }
352
+ return (
353
+ downstream ?? {
354
+ outcome: "no-shell",
355
+ response,
356
+ }
357
+ );
358
+ }
359
+
360
+ async function runBuildCaptureFinal(
361
+ options: BuildCaptureFinalOptions,
362
+ ): Promise<BuildCaptureRunResult> {
363
+ const { baseCtx, descriptor, env, opts, request, router, url } = options;
364
+ // No baseCtx._dynamic recheck here: the only caller is the route envelope's
365
+ // finalHandler wrapper, which already short-circuits to "dynamic" without
366
+ // invoking this when baseCtx._dynamic is set. A loader/handler opting out
367
+ // DURING the capture render is caught by the derivedCtx._dynamic check below.
368
+
369
+ const { derivedCtx, freshHandleStore } = deriveShellCaptureContext(baseCtx, {
370
+ ttl: opts.ttl,
371
+ swr: opts.swr,
372
+ });
373
+
374
+ const outcome = await runWithRequestContext(derivedCtx, async () => {
375
+ let match;
376
+ try {
377
+ match = await router.match(request, { env });
378
+ } catch (error) {
379
+ if (isPlainPathMiss(error, opts.urlPath)) {
380
+ return "route-mismatch" as const;
381
+ }
382
+ throw error;
383
+ }
384
+ if (match.routeName !== opts.routeName) {
385
+ options.setMismatchedRouteName(match.routeName);
386
+ return "route-mismatch" as const;
387
+ }
388
+ if (match.redirect) return "redirect" as const;
389
+
390
+ setRequestContextParams(match.params, match.routeName);
391
+
392
+ const payload = buildFullPayload(
393
+ match,
394
+ // buildFullPayload reads only ctx.router.* and ctx.version.
395
+ { router, version: opts.buildVersion } as unknown as HandlerContext<any>,
396
+ url,
397
+ derivedCtx,
398
+ freshHandleStore,
399
+ );
400
+ const rscStream = renderToReadableStream<RscPayload>(payload, {
401
+ onError: (error: unknown) => {
402
+ if (opts.debug) {
403
+ console.warn(
404
+ `[rango] shell capture render error for ${opts.urlPath}:`,
405
+ error,
406
+ );
407
+ }
408
+ },
409
+ });
410
+
411
+ const captureOutcome = await captureAndStoreShell(
412
+ { captureShellHTML: opts.captureShellHTML } as SSRModule,
413
+ rscStream,
414
+ freshHandleStore,
415
+ derivedCtx,
416
+ descriptor,
417
+ );
418
+ return derivedCtx._dynamic ? "dynamic" : captureOutcome;
419
+ });
420
+
421
+ return {
422
+ outcome,
423
+ response: responseForBuildCaptureOutcome(outcome),
424
+ };
425
+ }
426
+
427
+ function responseForBuildCaptureOutcome(
428
+ outcome: BuildShellCaptureOutcome,
429
+ ): Response {
430
+ if (outcome === "redirect") {
431
+ return new Response(null, {
432
+ status: 302,
433
+ headers: { location: "http://build.invalid/" },
434
+ });
435
+ }
436
+ return new Response(null, { status: 204 });
437
+ }
438
+
439
+ function isPlainPathMiss(error: unknown, pathname: string): boolean {
440
+ if (!isRouteNotFoundError(error)) return false;
441
+ const cause = (error as { cause?: unknown }).cause;
442
+ return (
443
+ cause !== null &&
444
+ typeof cause === "object" &&
445
+ (cause as { pathname?: unknown }).pathname === pathname
446
+ );
447
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Build shell manifest key, shared by the producer (the build's shell
3
+ * prerender phase, vite/discovery/shell-prerender-phase.ts) and the consumer
4
+ * (the runtime read-through, rsc/shell-build-manifest.ts) so the format
5
+ * cannot drift. Dependency-free: the producer runs node-side in the plugin,
6
+ * the consumer in the RSC runtime.
7
+ *
8
+ * PATHNAME-ONLY by design. Host-free because the build knows no request
9
+ * host. Router-free because the router id ($$id) is a hash of
10
+ * filePath:lineNumber of the TRANSFORMED source, which differs between the
11
+ * discovery temp server's dev-style transform chain and the main build's —
12
+ * a temp-realm router id can never be looked up by the shipped worker. The
13
+ * producer instead detects pathname collisions across routers at build time
14
+ * and declines both entries (loudly), keeping the key unambiguous. This is
15
+ * a manifest namespace, never a store keyspace: the runtime shell key
16
+ * (host + pathname + search + ":shell") stays untouched.
17
+ */
18
+ export function buildShellManifestKey(pathname: string): string {
19
+ return pathname;
20
+ }
@@ -73,7 +73,16 @@ export function createDevPrerenderStore(devUrl: string): PrerenderStore {
73
73
  if (isIntercept) url += "&intercept=1";
74
74
  if (meta.isPassthroughRoute) url += "&passthrough=1";
75
75
  try {
76
- const res = await fetch(url);
76
+ // Bounded: this fetch also runs inside the PPR shell capture (a
77
+ // workerd waitUntil task), where an unsettled fetch does not reject —
78
+ // it pends until the task is torn down. Unbounded, one pending fetch
79
+ // wedged the per-isolate capture queue on GH runners (rotating dev
80
+ // capture failures; endpoint instrumentation showed 3-4ms memo HITs,
81
+ // so latency was never the issue — settlement was). On timeout the
82
+ // catch degrades to a store miss and the pipeline falls through to
83
+ // the live handler render (the documented dev fall-through), so the
84
+ // capture still lands with live content.
85
+ const res = await fetch(url, { signal: AbortSignal.timeout(10_000) });
77
86
  if (!res.ok) return null;
78
87
  return res.json();
79
88
  } catch {
package/src/prerender.ts CHANGED
@@ -540,7 +540,7 @@ export interface PassthroughHandlerDefinition<
540
540
  /** Live handler for runtime fallback on unknown params. */
541
541
  liveHandler: (
542
542
  ctx: HandlerContext<TParams, TEnv>,
543
- ) => ReactNode | Promise<ReactNode> | Response | Promise<Response>;
543
+ ) => ReactNode | Response | Promise<ReactNode | Response>;
544
544
  /** Composable default DSL items merged when the handler is mounted. */
545
545
  use?: () => UseItems<HandlerUseItem>;
546
546
  }
@@ -552,7 +552,7 @@ export function Passthrough<
552
552
  prerenderDef: PrerenderHandlerDefinition<TParams>,
553
553
  liveHandler: (
554
554
  ctx: HandlerContext<TParams, TEnv>,
555
- ) => ReactNode | Promise<ReactNode> | Response | Promise<Response>,
555
+ ) => ReactNode | Response | Promise<ReactNode | Response>,
556
556
  ): PassthroughHandlerDefinition<TParams, TEnv>;
557
557
 
558
558
  // Implementation
@@ -563,7 +563,7 @@ export function Passthrough<
563
563
  prerenderDef: PrerenderHandlerDefinition<TParams>,
564
564
  liveHandler: (
565
565
  ctx: HandlerContext<TParams, TEnv>,
566
- ) => ReactNode | Promise<ReactNode> | Response | Promise<Response>,
566
+ ) => ReactNode | Response | Promise<ReactNode | Response>,
567
567
  ): PassthroughHandlerDefinition<TParams, TEnv> {
568
568
  if (!isPrerenderHandler(prerenderDef)) {
569
569
  throw new Error(