@rangojs/router 0.0.0-experimental.80 → 0.0.0-experimental.80daa23e

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 (1717) hide show
  1. package/AGENTS.md +8 -4
  2. package/README.md +318 -791
  3. package/dist/__internal.d.ts +83 -0
  4. package/dist/__internal.d.ts.map +1 -0
  5. package/dist/__internal.js +19 -0
  6. package/dist/__internal.js.map +1 -0
  7. package/dist/__mocks__/version.d.ts +7 -0
  8. package/dist/__mocks__/version.d.ts.map +1 -0
  9. package/dist/__mocks__/version.js +7 -0
  10. package/dist/__mocks__/version.js.map +1 -0
  11. package/dist/__tests__/client-href.test.d.ts +2 -0
  12. package/dist/__tests__/client-href.test.d.ts.map +1 -0
  13. package/dist/__tests__/client-href.test.js +74 -0
  14. package/dist/__tests__/client-href.test.js.map +1 -0
  15. package/dist/__tests__/component-utils.test.d.ts +2 -0
  16. package/dist/__tests__/component-utils.test.d.ts.map +1 -0
  17. package/dist/__tests__/component-utils.test.js +51 -0
  18. package/dist/__tests__/component-utils.test.js.map +1 -0
  19. package/dist/__tests__/event-controller.test.d.ts +2 -0
  20. package/dist/__tests__/event-controller.test.d.ts.map +1 -0
  21. package/dist/__tests__/event-controller.test.js +538 -0
  22. package/dist/__tests__/event-controller.test.js.map +1 -0
  23. package/dist/__tests__/helpers/route-tree.d.ts +118 -0
  24. package/dist/__tests__/helpers/route-tree.d.ts.map +1 -0
  25. package/dist/__tests__/helpers/route-tree.js +374 -0
  26. package/dist/__tests__/helpers/route-tree.js.map +1 -0
  27. package/dist/__tests__/match-result.test.d.ts +2 -0
  28. package/dist/__tests__/match-result.test.d.ts.map +1 -0
  29. package/dist/__tests__/match-result.test.js +154 -0
  30. package/dist/__tests__/match-result.test.js.map +1 -0
  31. package/dist/__tests__/navigation-store.test.d.ts +2 -0
  32. package/dist/__tests__/navigation-store.test.d.ts.map +1 -0
  33. package/dist/__tests__/navigation-store.test.js +440 -0
  34. package/dist/__tests__/navigation-store.test.js.map +1 -0
  35. package/dist/__tests__/partial-update.test.d.ts +2 -0
  36. package/dist/__tests__/partial-update.test.d.ts.map +1 -0
  37. package/dist/__tests__/partial-update.test.js +1009 -0
  38. package/dist/__tests__/partial-update.test.js.map +1 -0
  39. package/dist/__tests__/reverse-types.test.d.ts +8 -0
  40. package/dist/__tests__/reverse-types.test.d.ts.map +1 -0
  41. package/dist/__tests__/reverse-types.test.js +656 -0
  42. package/dist/__tests__/reverse-types.test.js.map +1 -0
  43. package/dist/__tests__/route-definition.test.d.ts +2 -0
  44. package/dist/__tests__/route-definition.test.d.ts.map +1 -0
  45. package/dist/__tests__/route-definition.test.js +55 -0
  46. package/dist/__tests__/route-definition.test.js.map +1 -0
  47. package/dist/__tests__/router-helpers.test.d.ts +2 -0
  48. package/dist/__tests__/router-helpers.test.d.ts.map +1 -0
  49. package/dist/__tests__/router-helpers.test.js +377 -0
  50. package/dist/__tests__/router-helpers.test.js.map +1 -0
  51. package/dist/__tests__/router-integration-2.test.d.ts +2 -0
  52. package/dist/__tests__/router-integration-2.test.d.ts.map +1 -0
  53. package/dist/__tests__/router-integration-2.test.js +426 -0
  54. package/dist/__tests__/router-integration-2.test.js.map +1 -0
  55. package/dist/__tests__/router-integration.test.d.ts +2 -0
  56. package/dist/__tests__/router-integration.test.d.ts.map +1 -0
  57. package/dist/__tests__/router-integration.test.js +1051 -0
  58. package/dist/__tests__/router-integration.test.js.map +1 -0
  59. package/dist/__tests__/search-params.test.d.ts +5 -0
  60. package/dist/__tests__/search-params.test.d.ts.map +1 -0
  61. package/dist/__tests__/search-params.test.js +306 -0
  62. package/dist/__tests__/search-params.test.js.map +1 -0
  63. package/dist/__tests__/segment-system.test.d.ts +2 -0
  64. package/dist/__tests__/segment-system.test.d.ts.map +1 -0
  65. package/dist/__tests__/segment-system.test.js +627 -0
  66. package/dist/__tests__/segment-system.test.js.map +1 -0
  67. package/dist/__tests__/static-handler-types.test.d.ts +8 -0
  68. package/dist/__tests__/static-handler-types.test.d.ts.map +1 -0
  69. package/dist/__tests__/static-handler-types.test.js +63 -0
  70. package/dist/__tests__/static-handler-types.test.js.map +1 -0
  71. package/dist/__tests__/urls.test.d.ts +2 -0
  72. package/dist/__tests__/urls.test.d.ts.map +1 -0
  73. package/dist/__tests__/urls.test.js +421 -0
  74. package/dist/__tests__/urls.test.js.map +1 -0
  75. package/dist/__tests__/use-mount.test.d.ts +2 -0
  76. package/dist/__tests__/use-mount.test.d.ts.map +1 -0
  77. package/dist/__tests__/use-mount.test.js +35 -0
  78. package/dist/__tests__/use-mount.test.js.map +1 -0
  79. package/dist/bin/rango.d.ts +2 -0
  80. package/dist/bin/rango.d.ts.map +1 -0
  81. package/dist/bin/rango.js +927 -273
  82. package/dist/bin/rango.js.map +1 -0
  83. package/dist/browser/event-controller.d.ts +191 -0
  84. package/dist/browser/event-controller.d.ts.map +1 -0
  85. package/dist/browser/event-controller.js +559 -0
  86. package/dist/browser/event-controller.js.map +1 -0
  87. package/dist/browser/index.d.ts +2 -0
  88. package/dist/browser/index.d.ts.map +1 -0
  89. package/dist/browser/index.js +14 -0
  90. package/dist/browser/index.js.map +1 -0
  91. package/dist/browser/link-interceptor.d.ts +38 -0
  92. package/dist/browser/link-interceptor.d.ts.map +1 -0
  93. package/dist/browser/link-interceptor.js +99 -0
  94. package/dist/browser/link-interceptor.js.map +1 -0
  95. package/dist/browser/logging.d.ts +10 -0
  96. package/dist/browser/logging.d.ts.map +1 -0
  97. package/dist/browser/logging.js +29 -0
  98. package/dist/browser/logging.js.map +1 -0
  99. package/dist/browser/lru-cache.d.ts +17 -0
  100. package/dist/browser/lru-cache.d.ts.map +1 -0
  101. package/dist/browser/lru-cache.js +50 -0
  102. package/dist/browser/lru-cache.js.map +1 -0
  103. package/dist/browser/merge-segment-loaders.d.ts +39 -0
  104. package/dist/browser/merge-segment-loaders.d.ts.map +1 -0
  105. package/dist/browser/merge-segment-loaders.js +102 -0
  106. package/dist/browser/merge-segment-loaders.js.map +1 -0
  107. package/dist/browser/navigation-bridge.d.ts +102 -0
  108. package/dist/browser/navigation-bridge.d.ts.map +1 -0
  109. package/dist/browser/navigation-bridge.js +708 -0
  110. package/dist/browser/navigation-bridge.js.map +1 -0
  111. package/dist/browser/navigation-client.d.ts +25 -0
  112. package/dist/browser/navigation-client.d.ts.map +1 -0
  113. package/dist/browser/navigation-client.js +157 -0
  114. package/dist/browser/navigation-client.js.map +1 -0
  115. package/dist/browser/navigation-store.d.ts +101 -0
  116. package/dist/browser/navigation-store.d.ts.map +1 -0
  117. package/dist/browser/navigation-store.js +625 -0
  118. package/dist/browser/navigation-store.js.map +1 -0
  119. package/dist/browser/partial-update.d.ts +75 -0
  120. package/dist/browser/partial-update.d.ts.map +1 -0
  121. package/dist/browser/partial-update.js +426 -0
  122. package/dist/browser/partial-update.js.map +1 -0
  123. package/dist/browser/react/Link.d.ts +86 -0
  124. package/dist/browser/react/Link.d.ts.map +1 -0
  125. package/dist/browser/react/Link.js +128 -0
  126. package/dist/browser/react/Link.js.map +1 -0
  127. package/dist/browser/react/NavigationProvider.d.ts +63 -0
  128. package/dist/browser/react/NavigationProvider.d.ts.map +1 -0
  129. package/dist/browser/react/NavigationProvider.js +216 -0
  130. package/dist/browser/react/NavigationProvider.js.map +1 -0
  131. package/dist/browser/react/ScrollRestoration.d.ts +75 -0
  132. package/dist/browser/react/ScrollRestoration.d.ts.map +1 -0
  133. package/dist/browser/react/ScrollRestoration.js +57 -0
  134. package/dist/browser/react/ScrollRestoration.js.map +1 -0
  135. package/dist/browser/react/context.d.ts +46 -0
  136. package/dist/browser/react/context.d.ts.map +1 -0
  137. package/dist/browser/react/context.js +10 -0
  138. package/dist/browser/react/context.js.map +1 -0
  139. package/dist/browser/react/index.d.ts +11 -0
  140. package/dist/browser/react/index.d.ts.map +1 -0
  141. package/dist/browser/react/index.js +22 -0
  142. package/dist/browser/react/index.js.map +1 -0
  143. package/dist/browser/react/location-state-shared.d.ts +63 -0
  144. package/dist/browser/react/location-state-shared.d.ts.map +1 -0
  145. package/dist/browser/react/location-state-shared.js +81 -0
  146. package/dist/browser/react/location-state-shared.js.map +1 -0
  147. package/dist/browser/react/location-state.d.ts +23 -0
  148. package/dist/browser/react/location-state.d.ts.map +1 -0
  149. package/dist/browser/react/location-state.js +29 -0
  150. package/dist/browser/react/location-state.js.map +1 -0
  151. package/dist/browser/react/mount-context.d.ts +24 -0
  152. package/dist/browser/react/mount-context.d.ts.map +1 -0
  153. package/dist/browser/react/mount-context.js +24 -0
  154. package/dist/browser/react/mount-context.js.map +1 -0
  155. package/dist/browser/react/use-action.d.ts +64 -0
  156. package/dist/browser/react/use-action.d.ts.map +1 -0
  157. package/dist/browser/react/use-action.js +134 -0
  158. package/dist/browser/react/use-action.js.map +1 -0
  159. package/dist/browser/react/use-client-cache.d.ts +41 -0
  160. package/dist/browser/react/use-client-cache.d.ts.map +1 -0
  161. package/{src/browser/react/use-client-cache.ts → dist/browser/react/use-client-cache.js} +9 -28
  162. package/dist/browser/react/use-client-cache.js.map +1 -0
  163. package/dist/browser/react/use-handle.d.ts +31 -0
  164. package/dist/browser/react/use-handle.d.ts.map +1 -0
  165. package/dist/browser/react/use-handle.js +144 -0
  166. package/dist/browser/react/use-handle.js.map +1 -0
  167. package/dist/browser/react/use-href.d.ts +33 -0
  168. package/dist/browser/react/use-href.d.ts.map +1 -0
  169. package/dist/browser/react/use-href.js +39 -0
  170. package/dist/browser/react/use-href.js.map +1 -0
  171. package/dist/browser/react/use-link-status.d.ts +37 -0
  172. package/dist/browser/react/use-link-status.d.ts.map +1 -0
  173. package/dist/browser/react/use-link-status.js +99 -0
  174. package/dist/browser/react/use-link-status.js.map +1 -0
  175. package/dist/browser/react/use-mount.d.ts +25 -0
  176. package/dist/browser/react/use-mount.d.ts.map +1 -0
  177. package/dist/browser/react/use-mount.js +30 -0
  178. package/dist/browser/react/use-mount.js.map +1 -0
  179. package/dist/browser/react/use-navigation.d.ts +27 -0
  180. package/dist/browser/react/use-navigation.d.ts.map +1 -0
  181. package/dist/browser/react/use-navigation.js +87 -0
  182. package/dist/browser/react/use-navigation.js.map +1 -0
  183. package/dist/browser/react/use-segments.d.ts +38 -0
  184. package/dist/browser/react/use-segments.d.ts.map +1 -0
  185. package/dist/browser/react/use-segments.js +130 -0
  186. package/dist/browser/react/use-segments.js.map +1 -0
  187. package/dist/browser/request-controller.d.ts +26 -0
  188. package/dist/browser/request-controller.d.ts.map +1 -0
  189. package/dist/browser/request-controller.js +147 -0
  190. package/dist/browser/request-controller.js.map +1 -0
  191. package/dist/browser/rsc-router.d.ts +129 -0
  192. package/dist/browser/rsc-router.d.ts.map +1 -0
  193. package/dist/browser/rsc-router.js +195 -0
  194. package/dist/browser/rsc-router.js.map +1 -0
  195. package/dist/browser/scroll-restoration.d.ts +93 -0
  196. package/dist/browser/scroll-restoration.d.ts.map +1 -0
  197. package/dist/browser/scroll-restoration.js +321 -0
  198. package/dist/browser/scroll-restoration.js.map +1 -0
  199. package/dist/browser/segment-structure-assert.d.ts +17 -0
  200. package/dist/browser/segment-structure-assert.d.ts.map +1 -0
  201. package/dist/browser/segment-structure-assert.js +59 -0
  202. package/dist/browser/segment-structure-assert.js.map +1 -0
  203. package/dist/browser/server-action-bridge.d.ts +26 -0
  204. package/dist/browser/server-action-bridge.d.ts.map +1 -0
  205. package/dist/browser/server-action-bridge.js +668 -0
  206. package/dist/browser/server-action-bridge.js.map +1 -0
  207. package/dist/browser/shallow.d.ts +12 -0
  208. package/dist/browser/shallow.d.ts.map +1 -0
  209. package/dist/browser/shallow.js +34 -0
  210. package/dist/browser/shallow.js.map +1 -0
  211. package/dist/browser/types.d.ts +369 -0
  212. package/dist/browser/types.d.ts.map +1 -0
  213. package/dist/browser/types.js +2 -0
  214. package/dist/browser/types.js.map +1 -0
  215. package/dist/build/__tests__/generate-cli.test.d.ts +2 -0
  216. package/dist/build/__tests__/generate-cli.test.d.ts.map +1 -0
  217. package/dist/build/__tests__/generate-cli.test.js +237 -0
  218. package/dist/build/__tests__/generate-cli.test.js.map +1 -0
  219. package/dist/build/__tests__/generate-manifest.test.d.ts +2 -0
  220. package/dist/build/__tests__/generate-manifest.test.d.ts.map +1 -0
  221. package/dist/build/__tests__/generate-manifest.test.js +119 -0
  222. package/dist/build/__tests__/generate-manifest.test.js.map +1 -0
  223. package/dist/build/__tests__/generate-route-types.test.d.ts +2 -0
  224. package/dist/build/__tests__/generate-route-types.test.d.ts.map +1 -0
  225. package/dist/build/__tests__/generate-route-types.test.js +620 -0
  226. package/dist/build/__tests__/generate-route-types.test.js.map +1 -0
  227. package/dist/build/__tests__/per-router-manifest.test.d.ts +2 -0
  228. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +1 -0
  229. package/dist/build/__tests__/per-router-manifest.test.js +308 -0
  230. package/dist/build/__tests__/per-router-manifest.test.js.map +1 -0
  231. package/dist/build/generate-manifest.d.ts +81 -0
  232. package/dist/build/generate-manifest.d.ts.map +1 -0
  233. package/dist/build/generate-manifest.js +276 -0
  234. package/dist/build/generate-manifest.js.map +1 -0
  235. package/dist/build/generate-route-types.d.ts +115 -0
  236. package/dist/build/generate-route-types.d.ts.map +1 -0
  237. package/dist/build/generate-route-types.js +740 -0
  238. package/dist/build/generate-route-types.js.map +1 -0
  239. package/dist/build/index.d.ts +21 -0
  240. package/dist/build/index.d.ts.map +1 -0
  241. package/dist/build/index.js +21 -0
  242. package/dist/build/index.js.map +1 -0
  243. package/dist/build/route-trie.d.ts +71 -0
  244. package/dist/build/route-trie.d.ts.map +1 -0
  245. package/dist/build/route-trie.js +175 -0
  246. package/dist/build/route-trie.js.map +1 -0
  247. package/dist/cache/__tests__/cache-scope.test.d.ts +2 -0
  248. package/dist/cache/__tests__/cache-scope.test.d.ts.map +1 -0
  249. package/dist/cache/__tests__/cache-scope.test.js +208 -0
  250. package/dist/cache/__tests__/cache-scope.test.js.map +1 -0
  251. package/dist/cache/__tests__/document-cache.test.d.ts +2 -0
  252. package/dist/cache/__tests__/document-cache.test.d.ts.map +1 -0
  253. package/dist/cache/__tests__/document-cache.test.js +345 -0
  254. package/dist/cache/__tests__/document-cache.test.js.map +1 -0
  255. package/dist/cache/__tests__/memory-segment-store.test.d.ts +2 -0
  256. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +1 -0
  257. package/dist/cache/__tests__/memory-segment-store.test.js +425 -0
  258. package/dist/cache/__tests__/memory-segment-store.test.js.map +1 -0
  259. package/dist/cache/__tests__/memory-store.test.d.ts +2 -0
  260. package/dist/cache/__tests__/memory-store.test.d.ts.map +1 -0
  261. package/dist/cache/__tests__/memory-store.test.js +367 -0
  262. package/dist/cache/__tests__/memory-store.test.js.map +1 -0
  263. package/dist/cache/cache-scope.d.ts +102 -0
  264. package/dist/cache/cache-scope.d.ts.map +1 -0
  265. package/dist/cache/cache-scope.js +440 -0
  266. package/dist/cache/cache-scope.js.map +1 -0
  267. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +2 -0
  268. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +1 -0
  269. package/dist/cache/cf/__tests__/cf-cache-store.test.js +330 -0
  270. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +1 -0
  271. package/dist/cache/cf/cf-cache-store.d.ts +165 -0
  272. package/dist/cache/cf/cf-cache-store.d.ts.map +1 -0
  273. package/dist/cache/cf/cf-cache-store.js +242 -0
  274. package/dist/cache/cf/cf-cache-store.js.map +1 -0
  275. package/dist/cache/cf/index.d.ts +14 -0
  276. package/dist/cache/cf/index.d.ts.map +1 -0
  277. package/dist/cache/cf/index.js +17 -0
  278. package/dist/cache/cf/index.js.map +1 -0
  279. package/dist/cache/document-cache.d.ts +64 -0
  280. package/dist/cache/document-cache.d.ts.map +1 -0
  281. package/dist/cache/document-cache.js +228 -0
  282. package/dist/cache/document-cache.js.map +1 -0
  283. package/dist/cache/index.d.ts +19 -0
  284. package/dist/cache/index.d.ts.map +1 -0
  285. package/dist/cache/index.js +21 -0
  286. package/dist/cache/index.js.map +1 -0
  287. package/dist/cache/memory-segment-store.d.ts +110 -0
  288. package/dist/cache/memory-segment-store.d.ts.map +1 -0
  289. package/dist/cache/memory-segment-store.js +117 -0
  290. package/dist/cache/memory-segment-store.js.map +1 -0
  291. package/dist/cache/memory-store.d.ts +41 -0
  292. package/dist/cache/memory-store.d.ts.map +1 -0
  293. package/dist/cache/memory-store.js +191 -0
  294. package/dist/cache/memory-store.js.map +1 -0
  295. package/dist/cache/types.d.ts +317 -0
  296. package/dist/cache/types.d.ts.map +1 -0
  297. package/dist/cache/types.js +12 -0
  298. package/dist/cache/types.js.map +1 -0
  299. package/dist/client.d.ts +248 -0
  300. package/dist/client.d.ts.map +1 -0
  301. package/dist/client.js +367 -0
  302. package/dist/client.js.map +1 -0
  303. package/dist/client.rsc.d.ts +26 -0
  304. package/dist/client.rsc.d.ts.map +1 -0
  305. package/dist/client.rsc.js +46 -0
  306. package/dist/client.rsc.js.map +1 -0
  307. package/dist/component-utils.d.ts +36 -0
  308. package/dist/component-utils.d.ts.map +1 -0
  309. package/dist/component-utils.js +61 -0
  310. package/dist/component-utils.js.map +1 -0
  311. package/dist/components/DefaultDocument.d.ts +13 -0
  312. package/dist/components/DefaultDocument.d.ts.map +1 -0
  313. package/dist/components/DefaultDocument.js +15 -0
  314. package/dist/components/DefaultDocument.js.map +1 -0
  315. package/dist/debug.d.ts +58 -0
  316. package/dist/debug.d.ts.map +1 -0
  317. package/dist/debug.js +157 -0
  318. package/dist/debug.js.map +1 -0
  319. package/dist/default-error-boundary.d.ts +11 -0
  320. package/dist/default-error-boundary.d.ts.map +1 -0
  321. package/dist/default-error-boundary.js +45 -0
  322. package/dist/default-error-boundary.js.map +1 -0
  323. package/dist/deps/browser.d.ts +2 -0
  324. package/dist/deps/browser.d.ts.map +1 -0
  325. package/dist/deps/browser.js +3 -0
  326. package/dist/deps/browser.js.map +1 -0
  327. package/dist/deps/html-stream-client.d.ts +2 -0
  328. package/dist/deps/html-stream-client.d.ts.map +1 -0
  329. package/dist/deps/html-stream-client.js +3 -0
  330. package/dist/deps/html-stream-client.js.map +1 -0
  331. package/dist/deps/html-stream-server.d.ts +2 -0
  332. package/dist/deps/html-stream-server.d.ts.map +1 -0
  333. package/dist/deps/html-stream-server.js +3 -0
  334. package/dist/deps/html-stream-server.js.map +1 -0
  335. package/dist/deps/rsc.d.ts +2 -0
  336. package/dist/deps/rsc.d.ts.map +1 -0
  337. package/dist/deps/rsc.js +4 -0
  338. package/dist/deps/rsc.js.map +1 -0
  339. package/dist/deps/ssr.d.ts +2 -0
  340. package/dist/deps/ssr.d.ts.map +1 -0
  341. package/dist/deps/ssr.js +3 -0
  342. package/dist/deps/ssr.js.map +1 -0
  343. package/dist/errors.d.ts +174 -0
  344. package/dist/errors.d.ts.map +1 -0
  345. package/dist/errors.js +241 -0
  346. package/dist/errors.js.map +1 -0
  347. package/dist/handle.d.ts +78 -0
  348. package/dist/handle.d.ts.map +1 -0
  349. package/dist/handle.js +82 -0
  350. package/dist/handle.js.map +1 -0
  351. package/dist/handles/MetaTags.d.ts +14 -0
  352. package/dist/handles/MetaTags.d.ts.map +1 -0
  353. package/dist/handles/MetaTags.js +136 -0
  354. package/dist/handles/MetaTags.js.map +1 -0
  355. package/{src/handles/index.ts → dist/handles/index.d.ts} +1 -2
  356. package/dist/handles/index.d.ts.map +1 -0
  357. package/dist/handles/index.js +6 -0
  358. package/dist/handles/index.js.map +1 -0
  359. package/dist/handles/meta.d.ts +39 -0
  360. package/dist/handles/meta.d.ts.map +1 -0
  361. package/dist/handles/meta.js +202 -0
  362. package/dist/handles/meta.js.map +1 -0
  363. package/dist/host/__tests__/errors.test.d.ts +2 -0
  364. package/dist/host/__tests__/errors.test.d.ts.map +1 -0
  365. package/dist/host/__tests__/errors.test.js +76 -0
  366. package/dist/host/__tests__/errors.test.js.map +1 -0
  367. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +2 -0
  368. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +1 -0
  369. package/dist/host/__tests__/pattern-comprehensive.test.js +732 -0
  370. package/dist/host/__tests__/pattern-comprehensive.test.js.map +1 -0
  371. package/dist/host/__tests__/pattern-matcher.test.d.ts +2 -0
  372. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +1 -0
  373. package/dist/host/__tests__/pattern-matcher.test.js +251 -0
  374. package/dist/host/__tests__/pattern-matcher.test.js.map +1 -0
  375. package/dist/host/__tests__/router.test.d.ts +2 -0
  376. package/dist/host/__tests__/router.test.d.ts.map +1 -0
  377. package/dist/host/__tests__/router.test.js +241 -0
  378. package/dist/host/__tests__/router.test.js.map +1 -0
  379. package/dist/host/__tests__/testing.test.d.ts +2 -0
  380. package/dist/host/__tests__/testing.test.d.ts.map +1 -0
  381. package/dist/host/__tests__/testing.test.js +64 -0
  382. package/dist/host/__tests__/testing.test.js.map +1 -0
  383. package/dist/host/__tests__/utils.test.d.ts +2 -0
  384. package/dist/host/__tests__/utils.test.d.ts.map +1 -0
  385. package/dist/host/__tests__/utils.test.js +29 -0
  386. package/dist/host/__tests__/utils.test.js.map +1 -0
  387. package/dist/host/cookie-handler.d.ts +34 -0
  388. package/dist/host/cookie-handler.d.ts.map +1 -0
  389. package/dist/host/cookie-handler.js +124 -0
  390. package/dist/host/cookie-handler.js.map +1 -0
  391. package/dist/host/errors.d.ts +56 -0
  392. package/dist/host/errors.d.ts.map +1 -0
  393. package/dist/host/errors.js +79 -0
  394. package/dist/host/errors.js.map +1 -0
  395. package/dist/host/index.d.ts +29 -0
  396. package/dist/host/index.d.ts.map +1 -0
  397. package/dist/host/index.js +32 -0
  398. package/dist/host/index.js.map +1 -0
  399. package/dist/host/pattern-matcher.d.ts +36 -0
  400. package/dist/host/pattern-matcher.d.ts.map +1 -0
  401. package/dist/host/pattern-matcher.js +172 -0
  402. package/dist/host/pattern-matcher.js.map +1 -0
  403. package/dist/host/router.d.ts +26 -0
  404. package/dist/host/router.d.ts.map +1 -0
  405. package/dist/host/router.js +218 -0
  406. package/dist/host/router.js.map +1 -0
  407. package/dist/host/testing.d.ts +36 -0
  408. package/dist/host/testing.d.ts.map +1 -0
  409. package/dist/host/testing.js +55 -0
  410. package/dist/host/testing.js.map +1 -0
  411. package/dist/host/types.d.ts +115 -0
  412. package/dist/host/types.d.ts.map +1 -0
  413. package/dist/host/types.js +7 -0
  414. package/dist/host/types.js.map +1 -0
  415. package/dist/host/utils.d.ts +21 -0
  416. package/dist/host/utils.d.ts.map +1 -0
  417. package/dist/host/utils.js +23 -0
  418. package/dist/host/utils.js.map +1 -0
  419. package/dist/href-client.d.ts +131 -0
  420. package/dist/href-client.d.ts.map +1 -0
  421. package/dist/href-client.js +64 -0
  422. package/dist/href-client.js.map +1 -0
  423. package/dist/href-context.d.ts +29 -0
  424. package/dist/href-context.d.ts.map +1 -0
  425. package/dist/href-context.js +21 -0
  426. package/dist/href-context.js.map +1 -0
  427. package/dist/index.d.ts +73 -0
  428. package/dist/index.d.ts.map +1 -0
  429. package/dist/index.js +91 -0
  430. package/dist/index.js.map +1 -0
  431. package/dist/index.rsc.d.ts +32 -0
  432. package/dist/index.rsc.d.ts.map +1 -0
  433. package/dist/index.rsc.js +40 -0
  434. package/dist/index.rsc.js.map +1 -0
  435. package/dist/internal-debug.d.ts +2 -0
  436. package/dist/internal-debug.d.ts.map +1 -0
  437. package/dist/internal-debug.js +5 -0
  438. package/dist/internal-debug.js.map +1 -0
  439. package/dist/loader.d.ts +14 -0
  440. package/dist/loader.d.ts.map +1 -0
  441. package/dist/loader.js +20 -0
  442. package/dist/loader.js.map +1 -0
  443. package/dist/loader.rsc.d.ts +19 -0
  444. package/dist/loader.rsc.d.ts.map +1 -0
  445. package/dist/loader.rsc.js +99 -0
  446. package/dist/loader.rsc.js.map +1 -0
  447. package/{src/network-error-thrower.tsx → dist/network-error-thrower.d.ts} +4 -10
  448. package/dist/network-error-thrower.d.ts.map +1 -0
  449. package/dist/network-error-thrower.js +14 -0
  450. package/dist/network-error-thrower.js.map +1 -0
  451. package/dist/outlet-context.d.ts +13 -0
  452. package/dist/outlet-context.d.ts.map +1 -0
  453. package/dist/outlet-context.js +3 -0
  454. package/dist/outlet-context.js.map +1 -0
  455. package/dist/prerender/__tests__/param-hash.test.d.ts +2 -0
  456. package/dist/prerender/__tests__/param-hash.test.d.ts.map +1 -0
  457. package/dist/prerender/__tests__/param-hash.test.js +148 -0
  458. package/dist/prerender/__tests__/param-hash.test.js.map +1 -0
  459. package/dist/prerender/param-hash.d.ts +16 -0
  460. package/dist/prerender/param-hash.d.ts.map +1 -0
  461. package/dist/prerender/param-hash.js +36 -0
  462. package/dist/prerender/param-hash.js.map +1 -0
  463. package/dist/prerender/store.d.ts +38 -0
  464. package/dist/prerender/store.d.ts.map +1 -0
  465. package/dist/prerender/store.js +61 -0
  466. package/dist/prerender/store.js.map +1 -0
  467. package/dist/prerender.d.ts +66 -0
  468. package/dist/prerender.d.ts.map +1 -0
  469. package/dist/prerender.js +57 -0
  470. package/dist/prerender.js.map +1 -0
  471. package/dist/reverse.d.ts +196 -0
  472. package/dist/reverse.d.ts.map +1 -0
  473. package/dist/reverse.js +78 -0
  474. package/dist/reverse.js.map +1 -0
  475. package/dist/root-error-boundary.d.ts +33 -0
  476. package/dist/root-error-boundary.d.ts.map +1 -0
  477. package/dist/root-error-boundary.js +165 -0
  478. package/dist/root-error-boundary.js.map +1 -0
  479. package/dist/route-content-wrapper.d.ts +46 -0
  480. package/dist/route-content-wrapper.d.ts.map +1 -0
  481. package/dist/route-content-wrapper.js +77 -0
  482. package/dist/route-content-wrapper.js.map +1 -0
  483. package/dist/route-definition.d.ts +421 -0
  484. package/dist/route-definition.d.ts.map +1 -0
  485. package/dist/route-definition.js +868 -0
  486. package/dist/route-definition.js.map +1 -0
  487. package/dist/route-map-builder.d.ts +155 -0
  488. package/dist/route-map-builder.d.ts.map +1 -0
  489. package/dist/route-map-builder.js +237 -0
  490. package/dist/route-map-builder.js.map +1 -0
  491. package/dist/route-types.d.ts +165 -0
  492. package/dist/route-types.d.ts.map +1 -0
  493. package/dist/route-types.js +7 -0
  494. package/dist/route-types.js.map +1 -0
  495. package/dist/router/__tests__/handler-context.test.d.ts +2 -0
  496. package/dist/router/__tests__/handler-context.test.d.ts.map +1 -0
  497. package/dist/router/__tests__/handler-context.test.js +65 -0
  498. package/dist/router/__tests__/handler-context.test.js.map +1 -0
  499. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +2 -0
  500. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +1 -0
  501. package/dist/router/__tests__/loader-cycle-detection.test.js +221 -0
  502. package/dist/router/__tests__/loader-cycle-detection.test.js.map +1 -0
  503. package/dist/router/__tests__/match-context.test.d.ts +2 -0
  504. package/dist/router/__tests__/match-context.test.d.ts.map +1 -0
  505. package/dist/router/__tests__/match-context.test.js +92 -0
  506. package/dist/router/__tests__/match-context.test.js.map +1 -0
  507. package/dist/router/__tests__/match-pipelines.test.d.ts +2 -0
  508. package/dist/router/__tests__/match-pipelines.test.d.ts.map +1 -0
  509. package/dist/router/__tests__/match-pipelines.test.js +417 -0
  510. package/dist/router/__tests__/match-pipelines.test.js.map +1 -0
  511. package/dist/router/__tests__/match-result.test.d.ts +2 -0
  512. package/dist/router/__tests__/match-result.test.d.ts.map +1 -0
  513. package/dist/router/__tests__/match-result.test.js +457 -0
  514. package/dist/router/__tests__/match-result.test.js.map +1 -0
  515. package/dist/router/__tests__/on-error.test.d.ts +2 -0
  516. package/dist/router/__tests__/on-error.test.d.ts.map +1 -0
  517. package/dist/router/__tests__/on-error.test.js +678 -0
  518. package/dist/router/__tests__/on-error.test.js.map +1 -0
  519. package/dist/router/__tests__/pattern-matching.test.d.ts +2 -0
  520. package/dist/router/__tests__/pattern-matching.test.d.ts.map +1 -0
  521. package/dist/router/__tests__/pattern-matching.test.js +629 -0
  522. package/dist/router/__tests__/pattern-matching.test.js.map +1 -0
  523. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +2 -0
  524. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +1 -0
  525. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +155 -0
  526. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +1 -0
  527. package/dist/router/error-handling.d.ts +77 -0
  528. package/dist/router/error-handling.d.ts.map +1 -0
  529. package/dist/router/error-handling.js +202 -0
  530. package/dist/router/error-handling.js.map +1 -0
  531. package/dist/router/handler-context.d.ts +20 -0
  532. package/dist/router/handler-context.d.ts.map +1 -0
  533. package/dist/router/handler-context.js +198 -0
  534. package/dist/router/handler-context.js.map +1 -0
  535. package/dist/router/intercept-resolution.d.ts +66 -0
  536. package/dist/router/intercept-resolution.d.ts.map +1 -0
  537. package/dist/router/intercept-resolution.js +246 -0
  538. package/dist/router/intercept-resolution.js.map +1 -0
  539. package/dist/router/loader-resolution.d.ts +64 -0
  540. package/dist/router/loader-resolution.d.ts.map +1 -0
  541. package/dist/router/loader-resolution.js +284 -0
  542. package/dist/router/loader-resolution.js.map +1 -0
  543. package/dist/router/logging.d.ts +15 -0
  544. package/dist/router/logging.d.ts.map +1 -0
  545. package/dist/router/logging.js +99 -0
  546. package/dist/router/logging.js.map +1 -0
  547. package/dist/router/manifest.d.ts +22 -0
  548. package/dist/router/manifest.d.ts.map +1 -0
  549. package/dist/router/manifest.js +181 -0
  550. package/dist/router/manifest.js.map +1 -0
  551. package/dist/router/match-api.d.ts +35 -0
  552. package/dist/router/match-api.d.ts.map +1 -0
  553. package/dist/router/match-api.js +406 -0
  554. package/dist/router/match-api.js.map +1 -0
  555. package/dist/router/match-context.d.ts +206 -0
  556. package/dist/router/match-context.d.ts.map +1 -0
  557. package/dist/router/match-context.js +17 -0
  558. package/dist/router/match-context.js.map +1 -0
  559. package/dist/router/match-middleware/background-revalidation.d.ts +127 -0
  560. package/dist/router/match-middleware/background-revalidation.d.ts.map +1 -0
  561. package/dist/router/match-middleware/background-revalidation.js +75 -0
  562. package/dist/router/match-middleware/background-revalidation.js.map +1 -0
  563. package/dist/router/match-middleware/cache-lookup.d.ts +112 -0
  564. package/dist/router/match-middleware/cache-lookup.d.ts.map +1 -0
  565. package/dist/router/match-middleware/cache-lookup.js +257 -0
  566. package/dist/router/match-middleware/cache-lookup.js.map +1 -0
  567. package/dist/router/match-middleware/cache-store.d.ts +113 -0
  568. package/dist/router/match-middleware/cache-store.d.ts.map +1 -0
  569. package/dist/router/match-middleware/cache-store.js +108 -0
  570. package/dist/router/match-middleware/cache-store.js.map +1 -0
  571. package/dist/router/match-middleware/index.d.ts +81 -0
  572. package/dist/router/match-middleware/index.d.ts.map +1 -0
  573. package/dist/router/match-middleware/index.js +80 -0
  574. package/dist/router/match-middleware/index.js.map +1 -0
  575. package/dist/router/match-middleware/intercept-resolution.d.ts +117 -0
  576. package/dist/router/match-middleware/intercept-resolution.d.ts.map +1 -0
  577. package/dist/router/match-middleware/intercept-resolution.js +134 -0
  578. package/dist/router/match-middleware/intercept-resolution.js.map +1 -0
  579. package/dist/router/match-middleware/segment-resolution.d.ts +99 -0
  580. package/dist/router/match-middleware/segment-resolution.d.ts.map +1 -0
  581. package/dist/router/match-middleware/segment-resolution.js +53 -0
  582. package/dist/router/match-middleware/segment-resolution.js.map +1 -0
  583. package/dist/router/match-pipelines.d.ts +147 -0
  584. package/dist/router/match-pipelines.d.ts.map +1 -0
  585. package/dist/router/match-pipelines.js +82 -0
  586. package/dist/router/match-pipelines.js.map +1 -0
  587. package/dist/router/match-result.d.ts +126 -0
  588. package/dist/router/match-result.d.ts.map +1 -0
  589. package/dist/router/match-result.js +93 -0
  590. package/dist/router/match-result.js.map +1 -0
  591. package/dist/router/metrics.d.ts +20 -0
  592. package/dist/router/metrics.d.ts.map +1 -0
  593. package/dist/router/metrics.js +47 -0
  594. package/dist/router/metrics.js.map +1 -0
  595. package/dist/router/middleware.d.ts +249 -0
  596. package/dist/router/middleware.d.ts.map +1 -0
  597. package/dist/router/middleware.js +434 -0
  598. package/dist/router/middleware.js.map +1 -0
  599. package/dist/router/middleware.test.d.ts +2 -0
  600. package/dist/router/middleware.test.d.ts.map +1 -0
  601. package/dist/router/middleware.test.js +816 -0
  602. package/dist/router/middleware.test.js.map +1 -0
  603. package/dist/router/pattern-matching.d.ts +149 -0
  604. package/dist/router/pattern-matching.d.ts.map +1 -0
  605. package/dist/router/pattern-matching.js +349 -0
  606. package/dist/router/pattern-matching.js.map +1 -0
  607. package/dist/router/revalidation.d.ts +44 -0
  608. package/dist/router/revalidation.d.ts.map +1 -0
  609. package/dist/router/revalidation.js +147 -0
  610. package/dist/router/revalidation.js.map +1 -0
  611. package/dist/router/router-context.d.ts +135 -0
  612. package/dist/router/router-context.d.ts.map +1 -0
  613. package/dist/router/router-context.js +36 -0
  614. package/dist/router/router-context.js.map +1 -0
  615. package/dist/router/segment-resolution.d.ts +127 -0
  616. package/dist/router/segment-resolution.d.ts.map +1 -0
  617. package/dist/router/segment-resolution.js +919 -0
  618. package/dist/router/segment-resolution.js.map +1 -0
  619. package/dist/router/trie-matching.d.ts +40 -0
  620. package/dist/router/trie-matching.d.ts.map +1 -0
  621. package/dist/router/trie-matching.js +127 -0
  622. package/dist/router/trie-matching.js.map +1 -0
  623. package/dist/router/types.d.ts +136 -0
  624. package/dist/router/types.d.ts.map +1 -0
  625. package/dist/router/types.js +7 -0
  626. package/dist/router/types.js.map +1 -0
  627. package/dist/router.d.ts +753 -0
  628. package/dist/router.d.ts.map +1 -0
  629. package/dist/router.gen.d.ts +6 -0
  630. package/dist/router.gen.d.ts.map +1 -0
  631. package/dist/router.gen.js +6 -0
  632. package/dist/router.gen.js.map +1 -0
  633. package/dist/router.js +1304 -0
  634. package/dist/router.js.map +1 -0
  635. package/dist/rsc/__tests__/helpers.test.d.ts +2 -0
  636. package/dist/rsc/__tests__/helpers.test.d.ts.map +1 -0
  637. package/dist/rsc/__tests__/helpers.test.js +140 -0
  638. package/dist/rsc/__tests__/helpers.test.js.map +1 -0
  639. package/dist/rsc/handler.d.ts +45 -0
  640. package/dist/rsc/handler.d.ts.map +1 -0
  641. package/dist/rsc/handler.js +1172 -0
  642. package/dist/rsc/handler.js.map +1 -0
  643. package/dist/rsc/helpers.d.ts +16 -0
  644. package/dist/rsc/helpers.d.ts.map +1 -0
  645. package/dist/rsc/helpers.js +55 -0
  646. package/dist/rsc/helpers.js.map +1 -0
  647. package/dist/rsc/index.d.ts +22 -0
  648. package/dist/rsc/index.d.ts.map +1 -0
  649. package/dist/rsc/index.js +23 -0
  650. package/dist/rsc/index.js.map +1 -0
  651. package/dist/rsc/nonce.d.ts +9 -0
  652. package/dist/rsc/nonce.d.ts.map +1 -0
  653. package/dist/rsc/nonce.js +18 -0
  654. package/dist/rsc/nonce.js.map +1 -0
  655. package/dist/rsc/types.d.ts +206 -0
  656. package/dist/rsc/types.d.ts.map +1 -0
  657. package/dist/rsc/types.js +8 -0
  658. package/dist/rsc/types.js.map +1 -0
  659. package/dist/search-params.d.ts +103 -0
  660. package/dist/search-params.d.ts.map +1 -0
  661. package/dist/search-params.js +74 -0
  662. package/dist/search-params.js.map +1 -0
  663. package/dist/segment-system.d.ts +75 -0
  664. package/dist/segment-system.d.ts.map +1 -0
  665. package/dist/segment-system.js +336 -0
  666. package/dist/segment-system.js.map +1 -0
  667. package/dist/server/context.d.ts +245 -0
  668. package/dist/server/context.d.ts.map +1 -0
  669. package/dist/server/context.js +197 -0
  670. package/dist/server/context.js.map +1 -0
  671. package/dist/server/fetchable-loader-store.d.ts +18 -0
  672. package/dist/server/fetchable-loader-store.d.ts.map +1 -0
  673. package/dist/server/fetchable-loader-store.js +18 -0
  674. package/dist/server/fetchable-loader-store.js.map +1 -0
  675. package/dist/server/handle-store.d.ts +85 -0
  676. package/dist/server/handle-store.d.ts.map +1 -0
  677. package/dist/server/handle-store.js +142 -0
  678. package/dist/server/handle-store.js.map +1 -0
  679. package/dist/server/loader-registry.d.ts +55 -0
  680. package/dist/server/loader-registry.d.ts.map +1 -0
  681. package/dist/server/loader-registry.js +132 -0
  682. package/dist/server/loader-registry.js.map +1 -0
  683. package/dist/server/request-context.d.ts +226 -0
  684. package/dist/server/request-context.d.ts.map +1 -0
  685. package/dist/server/request-context.js +290 -0
  686. package/dist/server/request-context.js.map +1 -0
  687. package/dist/server/root-layout.d.ts +4 -0
  688. package/dist/server/root-layout.d.ts.map +1 -0
  689. package/dist/server/root-layout.js +5 -0
  690. package/dist/server/root-layout.js.map +1 -0
  691. package/dist/server.d.ts +15 -0
  692. package/dist/server.d.ts.map +1 -0
  693. package/dist/server.js +20 -0
  694. package/dist/server.js.map +1 -0
  695. package/dist/ssr/__tests__/ssr-handler.test.d.ts +2 -0
  696. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +1 -0
  697. package/dist/ssr/__tests__/ssr-handler.test.js +132 -0
  698. package/dist/ssr/__tests__/ssr-handler.test.js.map +1 -0
  699. package/dist/ssr/index.d.ts +98 -0
  700. package/dist/ssr/index.d.ts.map +1 -0
  701. package/dist/ssr/index.js +158 -0
  702. package/dist/ssr/index.js.map +1 -0
  703. package/dist/static-handler.d.ts +50 -0
  704. package/dist/static-handler.d.ts.map +1 -0
  705. package/dist/static-handler.gen.d.ts +5 -0
  706. package/dist/static-handler.gen.d.ts.map +1 -0
  707. package/dist/static-handler.gen.js +5 -0
  708. package/dist/static-handler.gen.js.map +1 -0
  709. package/dist/static-handler.js +29 -0
  710. package/dist/static-handler.js.map +1 -0
  711. package/dist/testing/vitest.js +82 -0
  712. package/dist/theme/ThemeProvider.d.ts +20 -0
  713. package/dist/theme/ThemeProvider.d.ts.map +1 -0
  714. package/dist/theme/ThemeProvider.js +240 -0
  715. package/dist/theme/ThemeProvider.js.map +1 -0
  716. package/dist/theme/ThemeScript.d.ts +48 -0
  717. package/dist/theme/ThemeScript.d.ts.map +1 -0
  718. package/dist/theme/ThemeScript.js +13 -0
  719. package/dist/theme/ThemeScript.js.map +1 -0
  720. package/dist/theme/__tests__/theme.test.d.ts +2 -0
  721. package/dist/theme/__tests__/theme.test.d.ts.map +1 -0
  722. package/dist/theme/__tests__/theme.test.js +103 -0
  723. package/dist/theme/__tests__/theme.test.js.map +1 -0
  724. package/dist/theme/constants.d.ts +29 -0
  725. package/dist/theme/constants.d.ts.map +1 -0
  726. package/dist/theme/constants.js +48 -0
  727. package/dist/theme/constants.js.map +1 -0
  728. package/dist/theme/index.d.ts +31 -0
  729. package/dist/theme/index.d.ts.map +1 -0
  730. package/dist/theme/index.js +36 -0
  731. package/dist/theme/index.js.map +1 -0
  732. package/dist/theme/theme-context.d.ts +40 -0
  733. package/dist/theme/theme-context.d.ts.map +1 -0
  734. package/dist/theme/theme-context.js +60 -0
  735. package/dist/theme/theme-context.js.map +1 -0
  736. package/dist/theme/theme-script.d.ts +27 -0
  737. package/dist/theme/theme-script.d.ts.map +1 -0
  738. package/dist/theme/theme-script.js +147 -0
  739. package/dist/theme/theme-script.js.map +1 -0
  740. package/dist/theme/types.d.ts +163 -0
  741. package/dist/theme/types.d.ts.map +1 -0
  742. package/dist/theme/types.js +11 -0
  743. package/dist/theme/types.js.map +1 -0
  744. package/dist/theme/use-theme.d.ts +12 -0
  745. package/dist/theme/use-theme.d.ts.map +1 -0
  746. package/dist/theme/use-theme.js +40 -0
  747. package/dist/theme/use-theme.js.map +1 -0
  748. package/dist/types/__internal.d.ts +127 -0
  749. package/dist/types/bin/rango.d.ts +1 -0
  750. package/dist/types/browser/action-coordinator.d.ts +57 -0
  751. package/dist/types/browser/action-fence.d.ts +33 -0
  752. package/dist/types/browser/app-shell.d.ts +34 -0
  753. package/dist/types/browser/app-version.d.ts +6 -0
  754. package/dist/types/browser/connection-warmup.d.ts +31 -0
  755. package/dist/types/browser/cookie-name.d.ts +66 -0
  756. package/dist/types/browser/dev-discovery.d.ts +11 -0
  757. package/dist/types/browser/event-controller.d.ts +231 -0
  758. package/dist/types/browser/history-state.d.ts +26 -0
  759. package/dist/types/browser/index.d.ts +1 -0
  760. package/dist/types/browser/intercept-utils.d.ts +30 -0
  761. package/dist/types/browser/invalidate-client-cache.d.ts +17 -0
  762. package/dist/types/browser/link-interceptor.d.ts +53 -0
  763. package/dist/types/browser/logging.d.ts +33 -0
  764. package/dist/types/browser/merge-segment-loaders.d.ts +38 -0
  765. package/dist/types/browser/navigation-bridge.d.ts +39 -0
  766. package/dist/types/browser/navigation-client.d.ts +17 -0
  767. package/dist/types/browser/navigation-store-handle.d.ts +25 -0
  768. package/dist/types/browser/navigation-store.d.ts +85 -0
  769. package/dist/types/browser/navigation-transaction.d.ts +75 -0
  770. package/dist/types/browser/network-error-handler.d.ts +35 -0
  771. package/dist/types/browser/notify-listeners.d.ts +2 -0
  772. package/dist/types/browser/partial-update.d.ts +61 -0
  773. package/dist/types/browser/prefetch/cache.d.ts +224 -0
  774. package/dist/types/browser/prefetch/default-strategy.d.ts +31 -0
  775. package/dist/types/browser/prefetch/fetch.d.ts +52 -0
  776. package/dist/types/browser/prefetch/invalidation.d.ts +6 -0
  777. package/dist/types/browser/prefetch/loader.d.ts +12 -0
  778. package/dist/types/browser/prefetch/observer.d.ts +24 -0
  779. package/dist/types/browser/prefetch/policy.d.ts +13 -0
  780. package/dist/types/browser/prefetch/queue.d.ts +48 -0
  781. package/dist/types/browser/prefetch/resource-ready.d.ts +28 -0
  782. package/dist/types/browser/prefetch/runtime.d.ts +2 -0
  783. package/dist/types/browser/rango-state.d.ts +56 -0
  784. package/dist/types/browser/react/Link.d.ts +132 -0
  785. package/dist/types/browser/react/NavigationProvider.d.ts +88 -0
  786. package/dist/types/browser/react/ScrollRestoration.d.ts +78 -0
  787. package/dist/types/browser/react/context.d.ts +57 -0
  788. package/dist/types/browser/react/filter-segment-order.d.ts +35 -0
  789. package/dist/types/browser/react/index.d.ts +1 -0
  790. package/dist/types/browser/react/location-state-shared.d.ts +162 -0
  791. package/dist/types/browser/react/location-state.d.ts +29 -0
  792. package/dist/types/browser/react/mount-context.d.ts +23 -0
  793. package/dist/types/browser/react/nonce-context.d.ts +14 -0
  794. package/dist/types/browser/react/shallow-equal.d.ts +5 -0
  795. package/dist/types/browser/react/use-action.d.ts +61 -0
  796. package/dist/types/browser/react/use-handle.d.ts +21 -0
  797. package/dist/types/browser/react/use-href.d.ts +32 -0
  798. package/dist/types/browser/react/use-link-status.d.ts +36 -0
  799. package/dist/types/browser/react/use-mount.d.ts +24 -0
  800. package/dist/types/browser/react/use-navigation.d.ts +15 -0
  801. package/dist/types/browser/react/use-params.d.ts +21 -0
  802. package/dist/types/browser/react/use-pathname.d.ts +13 -0
  803. package/dist/types/browser/react/use-reverse.d.ts +40 -0
  804. package/dist/types/browser/react/use-router.d.ts +30 -0
  805. package/dist/types/browser/react/use-search-params.d.ts +66 -0
  806. package/dist/types/browser/react/use-segments.d.ts +29 -0
  807. package/dist/types/browser/response-adapter.d.ts +58 -0
  808. package/dist/types/browser/rsc-router.d.ts +146 -0
  809. package/dist/types/browser/scroll-restoration.d.ts +103 -0
  810. package/dist/types/browser/segment-reconciler.d.ts +74 -0
  811. package/dist/types/browser/segment-structure-assert.d.ts +16 -0
  812. package/dist/types/browser/server-action-bridge.d.ts +29 -0
  813. package/dist/types/browser/types.d.ts +546 -0
  814. package/dist/types/browser/validate-redirect-origin.d.ts +28 -0
  815. package/dist/types/build/collect-fallback-refs.d.ts +5 -0
  816. package/dist/types/build/generate-manifest.d.ts +106 -0
  817. package/dist/types/build/generate-route-types.d.ts +8 -0
  818. package/dist/types/build/index.d.ts +21 -0
  819. package/dist/types/build/merge-full-manifests.d.ts +3 -0
  820. package/dist/types/build/prefix-tree-utils.d.ts +56 -0
  821. package/dist/types/build/route-trie.d.ts +20 -0
  822. package/dist/types/build/route-types/ast-helpers.d.ts +3 -0
  823. package/dist/types/build/route-types/ast-route-extraction.d.ts +13 -0
  824. package/dist/types/build/route-types/codegen.d.ts +16 -0
  825. package/dist/types/build/route-types/include-resolution.d.ts +74 -0
  826. package/dist/types/build/route-types/param-extraction.d.ts +13 -0
  827. package/dist/types/build/route-types/per-module-writer.d.ts +20 -0
  828. package/dist/types/build/route-types/router-processing.d.ts +81 -0
  829. package/dist/types/build/route-types/scan-filter.d.ts +17 -0
  830. package/dist/types/build/route-types/source-scan.d.ts +13 -0
  831. package/dist/types/build/runtime-discovery.d.ts +24 -0
  832. package/dist/types/cache/background-task.d.ts +21 -0
  833. package/dist/types/cache/cache-error.d.ts +71 -0
  834. package/dist/types/cache/cache-exec-scope.d.ts +31 -0
  835. package/dist/types/cache/cache-key-utils.d.ts +43 -0
  836. package/dist/types/cache/cache-policy.d.ts +59 -0
  837. package/dist/types/cache/cache-runtime.d.ts +51 -0
  838. package/dist/types/cache/cache-scope.d.ts +215 -0
  839. package/dist/types/cache/cache-tag.d.ts +79 -0
  840. package/dist/types/cache/cf/cf-base64.d.ts +4 -0
  841. package/dist/types/cache/cf/cf-cache-constants.d.ts +112 -0
  842. package/dist/types/cache/cf/cf-cache-store.d.ts +630 -0
  843. package/dist/types/cache/cf/cf-cache-types.d.ts +365 -0
  844. package/dist/types/cache/cf/cf-kv-utils.d.ts +43 -0
  845. package/dist/types/cache/cf/cf-tag-marker-memo.d.ts +15 -0
  846. package/dist/types/cache/cf/cf-zone-purge.d.ts +31 -0
  847. package/dist/types/cache/cf/index.d.ts +4 -0
  848. package/dist/types/cache/document-cache.d.ts +71 -0
  849. package/dist/types/cache/handle-capture.d.ts +23 -0
  850. package/dist/types/cache/handle-snapshot.d.ts +39 -0
  851. package/dist/types/cache/index.d.ts +9 -0
  852. package/dist/types/cache/memory-segment-store.d.ts +163 -0
  853. package/dist/types/cache/profile-registry.d.ts +40 -0
  854. package/dist/types/cache/read-through-swr.d.ts +61 -0
  855. package/dist/types/cache/search-params-filter.d.ts +64 -0
  856. package/dist/types/cache/segment-codec.d.ts +78 -0
  857. package/dist/types/cache/shell-snapshot.d.ts +186 -0
  858. package/dist/types/cache/tag-invalidation.d.ts +74 -0
  859. package/dist/types/cache/taint.d.ts +77 -0
  860. package/dist/types/cache/types.d.ts +522 -0
  861. package/dist/types/cache/vercel/index.d.ts +1 -0
  862. package/dist/types/cache/vercel/vercel-cache-store.d.ts +268 -0
  863. package/dist/types/client-urls/client-root.d.ts +38 -0
  864. package/dist/types/client-urls/client-urls.d.ts +5 -0
  865. package/dist/types/client-urls/navigation.d.ts +38 -0
  866. package/dist/types/client-urls/revalidation-protocol.d.ts +25 -0
  867. package/dist/types/client-urls/server-projection.d.ts +71 -0
  868. package/dist/types/client-urls/types.d.ts +148 -0
  869. package/dist/types/client.d.ts +192 -0
  870. package/dist/types/client.rsc.d.ts +42 -0
  871. package/dist/types/cloudflare/index.d.ts +7 -0
  872. package/dist/types/cloudflare/tracing.d.ts +57 -0
  873. package/dist/types/component-utils.d.ts +46 -0
  874. package/dist/types/components/DefaultDocument.d.ts +13 -0
  875. package/dist/types/context-var.d.ts +84 -0
  876. package/dist/types/debug.d.ts +57 -0
  877. package/dist/types/decode-loader-results.d.ts +42 -0
  878. package/dist/types/default-error-boundary.d.ts +10 -0
  879. package/dist/types/defer.d.ts +89 -0
  880. package/dist/types/deps/browser.d.ts +1 -0
  881. package/dist/types/deps/html-stream-client.d.ts +1 -0
  882. package/dist/types/deps/html-stream-server.d.ts +1 -0
  883. package/dist/types/deps/rsc.d.ts +1 -0
  884. package/dist/types/deps/ssr.d.ts +1 -0
  885. package/dist/types/dev-discovery-protocol.d.ts +5 -0
  886. package/dist/types/encode-kv.d.ts +35 -0
  887. package/dist/types/errors.d.ts +227 -0
  888. package/dist/types/escape-script.d.ts +44 -0
  889. package/dist/types/handle.d.ts +93 -0
  890. package/dist/types/handles/MetaTags.d.ts +17 -0
  891. package/dist/types/handles/Scripts.d.ts +38 -0
  892. package/dist/types/handles/breadcrumbs.d.ts +43 -0
  893. package/dist/types/handles/deferred-resolution.d.ts +53 -0
  894. package/dist/types/handles/is-thenable.d.ts +10 -0
  895. package/dist/types/handles/meta.d.ts +43 -0
  896. package/dist/types/handles/script.d.ts +139 -0
  897. package/dist/types/host/cookie-handler.d.ts +8 -0
  898. package/dist/types/host/errors.d.ts +40 -0
  899. package/dist/types/host/index.d.ts +33 -0
  900. package/dist/types/host/pattern-matcher.d.ts +30 -0
  901. package/dist/types/host/router.d.ts +12 -0
  902. package/dist/types/host/testing.d.ts +41 -0
  903. package/dist/types/host/types.d.ts +148 -0
  904. package/dist/types/host/utils.d.ts +20 -0
  905. package/dist/types/href-client.d.ts +214 -0
  906. package/dist/types/index.d.ts +113 -0
  907. package/dist/types/index.rsc.d.ts +52 -0
  908. package/dist/types/internal-debug.d.ts +1 -0
  909. package/dist/types/loader-redirect.d.ts +27 -0
  910. package/dist/types/loader-store.d.ts +193 -0
  911. package/dist/types/loader.d.ts +18 -0
  912. package/dist/types/loader.rsc.d.ts +18 -0
  913. package/dist/types/missing-id-error.d.ts +1 -0
  914. package/dist/types/outlet-context.d.ts +32 -0
  915. package/dist/types/outlet-provider.d.ts +15 -0
  916. package/dist/types/prerender/build-shell-capture.d.ts +104 -0
  917. package/dist/types/prerender/param-hash.d.ts +6 -0
  918. package/dist/types/prerender/shell-manifest-key.d.ts +18 -0
  919. package/dist/types/prerender/store.d.ts +63 -0
  920. package/dist/types/prerender.d.ts +292 -0
  921. package/dist/types/redirect-origin.d.ts +71 -0
  922. package/dist/types/regex-escape.d.ts +6 -0
  923. package/dist/types/render-error-thrower.d.ts +13 -0
  924. package/dist/types/response-utils.d.ts +35 -0
  925. package/dist/types/reverse.d.ts +206 -0
  926. package/dist/types/root-error-boundary.d.ts +32 -0
  927. package/dist/types/route-content-wrapper.d.ts +84 -0
  928. package/dist/types/route-definition/dsl-helpers.d.ts +130 -0
  929. package/dist/types/route-definition/helper-factories.d.ts +22 -0
  930. package/dist/types/route-definition/helpers-types.d.ts +405 -0
  931. package/dist/types/route-definition/index.d.ts +7 -0
  932. package/dist/types/route-definition/redirect.d.ts +48 -0
  933. package/dist/types/route-definition/resolve-handler-use.d.ts +19 -0
  934. package/dist/types/route-definition/use-item-types.d.ts +1 -0
  935. package/dist/types/route-definition.d.ts +1 -0
  936. package/dist/types/route-map-builder.d.ts +102 -0
  937. package/dist/types/route-name.d.ts +27 -0
  938. package/dist/types/route-types.d.ts +172 -0
  939. package/dist/types/router/basename.d.ts +10 -0
  940. package/dist/types/router/content-negotiation.d.ts +91 -0
  941. package/dist/types/router/debug-manifest.d.ts +7 -0
  942. package/dist/types/router/error-handling.d.ts +110 -0
  943. package/dist/types/router/find-match.d.ts +19 -0
  944. package/dist/types/router/handler-context.d.ts +41 -0
  945. package/dist/types/router/instrument.d.ts +191 -0
  946. package/dist/types/router/intercept-resolution.d.ts +91 -0
  947. package/dist/types/router/lazy-includes.d.ts +26 -0
  948. package/dist/types/router/loader-resolution.d.ts +85 -0
  949. package/dist/types/router/logging.d.ts +41 -0
  950. package/dist/types/router/manifest.d.ts +8 -0
  951. package/dist/types/router/match-api.d.ts +19 -0
  952. package/dist/types/router/match-context.d.ts +184 -0
  953. package/dist/types/router/match-handlers.d.ts +48 -0
  954. package/dist/types/router/match-middleware/background-revalidation.d.ts +113 -0
  955. package/dist/types/router/match-middleware/cache-lookup.d.ts +126 -0
  956. package/dist/types/router/match-middleware/cache-store.d.ts +112 -0
  957. package/dist/types/router/match-middleware/index.d.ts +80 -0
  958. package/dist/types/router/match-middleware/intercept-resolution.d.ts +116 -0
  959. package/dist/types/router/match-middleware/segment-resolution.d.ts +94 -0
  960. package/dist/types/router/match-pipelines.d.ts +103 -0
  961. package/dist/types/router/match-result.d.ts +114 -0
  962. package/dist/types/router/metrics.d.ts +6 -0
  963. package/dist/types/router/middleware-types.d.ts +74 -0
  964. package/dist/types/router/middleware.d.ts +116 -0
  965. package/dist/types/router/navigation-snapshot.d.ts +51 -0
  966. package/dist/types/router/params-util.d.ts +8 -0
  967. package/dist/types/router/parse-pattern.d.ts +38 -0
  968. package/dist/types/router/pattern-matching.d.ts +169 -0
  969. package/dist/types/router/prefetch-cache-ttl.d.ts +27 -0
  970. package/dist/types/router/prefetch-default.d.ts +28 -0
  971. package/dist/types/router/prefetch-limits.d.ts +20 -0
  972. package/dist/types/router/prerender-match.d.ts +53 -0
  973. package/dist/types/router/preview-match.d.ts +22 -0
  974. package/dist/types/router/request-classification.d.ts +104 -0
  975. package/dist/types/router/revalidation.d.ts +64 -0
  976. package/dist/types/router/route-snapshot.d.ts +112 -0
  977. package/dist/types/router/route-trie-builder.d.ts +77 -0
  978. package/dist/types/router/router-context.d.ts +137 -0
  979. package/dist/types/router/router-interfaces.d.ts +461 -0
  980. package/dist/types/router/router-options.d.ts +792 -0
  981. package/dist/types/router/router-registry.d.ts +15 -0
  982. package/dist/types/router/segment-resolution/fresh.d.ts +55 -0
  983. package/dist/types/router/segment-resolution/helpers.d.ts +93 -0
  984. package/dist/types/router/segment-resolution/loader-cache.d.ts +33 -0
  985. package/dist/types/router/segment-resolution/loader-mask.d.ts +44 -0
  986. package/dist/types/router/segment-resolution/loader-snapshot.d.ts +90 -0
  987. package/dist/types/router/segment-resolution/mask-nested.d.ts +53 -0
  988. package/dist/types/router/segment-resolution/revalidation.d.ts +85 -0
  989. package/dist/types/router/segment-resolution/static-store.d.ts +17 -0
  990. package/dist/types/router/segment-resolution/streamed-handler-telemetry.d.ts +16 -0
  991. package/dist/types/router/segment-resolution/view-transition-default.d.ts +27 -0
  992. package/dist/types/router/segment-resolution.d.ts +3 -0
  993. package/dist/types/router/segment-wrappers.d.ts +53 -0
  994. package/dist/types/router/state-cookie-name.d.ts +1 -0
  995. package/dist/types/router/substitute-pattern-params.d.ts +23 -0
  996. package/dist/types/router/telemetry-otel.d.ts +113 -0
  997. package/dist/types/router/telemetry.d.ts +216 -0
  998. package/dist/types/router/timeout.d.ts +107 -0
  999. package/dist/types/router/tracing.d.ts +139 -0
  1000. package/dist/types/router/transition-when.d.ts +13 -0
  1001. package/dist/types/router/trie-matching.d.ts +32 -0
  1002. package/dist/types/router/types.d.ts +98 -0
  1003. package/dist/types/router/url-params.d.ts +26 -0
  1004. package/dist/types/router.d.ts +7 -0
  1005. package/dist/types/rsc/capture-queue.d.ts +49 -0
  1006. package/dist/types/rsc/full-payload.d.ts +22 -0
  1007. package/dist/types/rsc/handler-context.d.ts +32 -0
  1008. package/dist/types/rsc/handler.d.ts +9 -0
  1009. package/dist/types/rsc/helpers.d.ts +127 -0
  1010. package/dist/types/rsc/index.d.ts +17 -0
  1011. package/dist/types/rsc/json-route-result.d.ts +20 -0
  1012. package/dist/types/rsc/loader-fetch.d.ts +14 -0
  1013. package/dist/types/rsc/manifest-init.d.ts +18 -0
  1014. package/dist/types/rsc/nonce.d.ts +38 -0
  1015. package/dist/types/rsc/origin-guard.d.ts +50 -0
  1016. package/dist/types/rsc/progressive-enhancement.d.ts +19 -0
  1017. package/dist/types/rsc/redirect-guard.d.ts +37 -0
  1018. package/dist/types/rsc/render-pipeline.d.ts +148 -0
  1019. package/dist/types/rsc/response-cache-serve.d.ts +46 -0
  1020. package/dist/types/rsc/response-error.d.ts +19 -0
  1021. package/dist/types/rsc/response-route-handler.d.ts +29 -0
  1022. package/dist/types/rsc/routine-plan.d.ts +124 -0
  1023. package/dist/types/rsc/rsc-rendering.d.ts +18 -0
  1024. package/dist/types/rsc/runtime-warnings.d.ts +22 -0
  1025. package/dist/types/rsc/server-action.d.ts +68 -0
  1026. package/dist/types/rsc/shell-build-manifest.d.ts +90 -0
  1027. package/dist/types/rsc/shell-capture-constants.d.ts +44 -0
  1028. package/dist/types/rsc/shell-capture.d.ts +425 -0
  1029. package/dist/types/rsc/shell-serve.d.ts +200 -0
  1030. package/dist/types/rsc/ssr-setup.d.ts +73 -0
  1031. package/dist/types/rsc/stream-idle.d.ts +60 -0
  1032. package/dist/types/rsc/transition-gate.d.ts +23 -0
  1033. package/dist/types/rsc/types.d.ts +353 -0
  1034. package/dist/types/runtime-env.d.ts +1 -0
  1035. package/dist/types/search-params.d.ts +125 -0
  1036. package/dist/types/segment-content-promise.d.ts +13 -0
  1037. package/dist/types/segment-fragments.d.ts +79 -0
  1038. package/dist/types/segment-loader-promise.d.ts +22 -0
  1039. package/dist/types/segment-system.d.ts +86 -0
  1040. package/dist/types/serialize.d.ts +164 -0
  1041. package/dist/types/server/context.d.ts +520 -0
  1042. package/dist/types/server/cookie-parse.d.ts +10 -0
  1043. package/dist/types/server/cookie-store.d.ts +107 -0
  1044. package/dist/types/server/fetchable-loader-store.d.ts +20 -0
  1045. package/dist/types/server/handle-store.d.ts +131 -0
  1046. package/dist/types/server/loader-registry.d.ts +32 -0
  1047. package/dist/types/server/request-context.d.ts +717 -0
  1048. package/dist/types/server/root-layout.d.ts +3 -0
  1049. package/dist/types/server.d.ts +16 -0
  1050. package/dist/types/ssr/index.d.ts +271 -0
  1051. package/dist/types/ssr/inject-rsc-eager.d.ts +3 -0
  1052. package/dist/types/ssr/preinit-client-references.d.ts +71 -0
  1053. package/dist/types/ssr/ssr-root.d.ts +84 -0
  1054. package/dist/types/ssr-suspension-warning.d.ts +19 -0
  1055. package/dist/types/static-handler.d.ts +71 -0
  1056. package/dist/types/testing/cache-status.d.ts +63 -0
  1057. package/dist/types/testing/collect-handle.d.ts +20 -0
  1058. package/dist/types/testing/dispatch.d.ts +127 -0
  1059. package/dist/types/testing/dom.entry.d.ts +15 -0
  1060. package/dist/types/testing/e2e/fixture.d.ts +37 -0
  1061. package/dist/types/testing/e2e/index.d.ts +31 -0
  1062. package/dist/types/testing/e2e/matchers.d.ts +17 -0
  1063. package/dist/types/testing/e2e/page-helpers.d.ts +86 -0
  1064. package/dist/types/testing/e2e/parity.d.ts +111 -0
  1065. package/dist/types/testing/e2e/server.d.ts +35 -0
  1066. package/dist/types/testing/flight-matchers.d.ts +55 -0
  1067. package/dist/types/testing/flight-normalize.d.ts +1 -0
  1068. package/dist/types/testing/flight-tree.d.ts +192 -0
  1069. package/dist/types/testing/flight.d.ts +115 -0
  1070. package/dist/types/testing/flight.entry.d.ts +27 -0
  1071. package/dist/types/testing/generated-routes.d.ts +66 -0
  1072. package/dist/types/testing/index.d.ts +54 -0
  1073. package/dist/types/testing/internal/context.d.ts +225 -0
  1074. package/dist/types/testing/internal/flight-client-globals.d.ts +1 -0
  1075. package/dist/types/testing/internal/seed-vars.d.ts +30 -0
  1076. package/dist/types/testing/render-handler.d.ts +160 -0
  1077. package/dist/types/testing/render-route.d.ts +265 -0
  1078. package/dist/types/testing/run-loader.d.ts +195 -0
  1079. package/dist/types/testing/run-middleware.d.ts +132 -0
  1080. package/dist/types/testing/run-transition-when.d.ts +78 -0
  1081. package/dist/types/testing/shell-status.d.ts +81 -0
  1082. package/dist/types/testing/vitest-stubs/cloudflare-email.d.ts +6 -0
  1083. package/dist/types/testing/vitest-stubs/cloudflare-workers.d.ts +13 -0
  1084. package/dist/types/testing/vitest-stubs/plugin-rsc.d.ts +7 -0
  1085. package/dist/types/testing/vitest-stubs/version.d.ts +1 -0
  1086. package/dist/types/testing/vitest.d.ts +205 -0
  1087. package/dist/types/theme/ThemeProvider.d.ts +13 -0
  1088. package/dist/types/theme/ThemeScript.d.ts +45 -0
  1089. package/dist/types/theme/constants.d.ts +39 -0
  1090. package/dist/types/theme/index.d.ts +29 -0
  1091. package/dist/types/theme/theme-context.d.ts +21 -0
  1092. package/dist/types/theme/theme-script.d.ts +26 -0
  1093. package/dist/types/theme/types.d.ts +162 -0
  1094. package/dist/types/theme/use-theme.d.ts +8 -0
  1095. package/dist/types/types/boundaries.d.ts +115 -0
  1096. package/dist/types/types/cache-types.d.ts +191 -0
  1097. package/dist/types/types/error-types.d.ts +114 -0
  1098. package/dist/types/types/global-namespace.d.ts +90 -0
  1099. package/dist/types/types/handler-context.d.ts +658 -0
  1100. package/dist/types/types/index.d.ts +11 -0
  1101. package/dist/types/types/loader-types.d.ts +240 -0
  1102. package/dist/types/types/request-scope.d.ts +93 -0
  1103. package/dist/types/types/route-config.d.ts +105 -0
  1104. package/dist/types/types/route-entry.d.ts +98 -0
  1105. package/dist/types/types/segments.d.ts +254 -0
  1106. package/dist/types/types.d.ts +1 -0
  1107. package/dist/types/urls/include-helper.d.ts +17 -0
  1108. package/dist/types/urls/include-provider.d.ts +27 -0
  1109. package/dist/types/urls/index.d.ts +6 -0
  1110. package/dist/types/urls/path-helper-types.d.ts +207 -0
  1111. package/dist/types/urls/path-helper.d.ts +12 -0
  1112. package/dist/types/urls/pattern-types.d.ts +166 -0
  1113. package/dist/types/urls/response-types.d.ts +67 -0
  1114. package/dist/types/urls/type-extraction.d.ts +157 -0
  1115. package/dist/types/urls/urls-function.d.ts +24 -0
  1116. package/dist/types/urls.d.ts +1 -0
  1117. package/dist/types/use-loader.d.ts +150 -0
  1118. package/dist/types/vercel/index.d.ts +10 -0
  1119. package/dist/types/vercel/tracing.d.ts +71 -0
  1120. package/dist/types/vite/debug.d.ts +80 -0
  1121. package/dist/types/vite/discovery/bundle-postprocess.d.ts +12 -0
  1122. package/dist/types/vite/discovery/client-urls-projection.d.ts +53 -0
  1123. package/dist/types/vite/discovery/dev-prerender-cache.d.ts +65 -0
  1124. package/dist/types/vite/discovery/discover-routers.d.ts +17 -0
  1125. package/dist/types/vite/discovery/discovery-errors.d.ts +113 -0
  1126. package/dist/types/vite/discovery/gate-state.d.ts +79 -0
  1127. package/dist/types/vite/discovery/prerender-collection.d.ts +24 -0
  1128. package/dist/types/vite/discovery/route-types-writer.d.ts +32 -0
  1129. package/dist/types/vite/discovery/self-gen-tracking.d.ts +22 -0
  1130. package/dist/types/vite/discovery/shell-prerender-phase.d.ts +40 -0
  1131. package/dist/types/vite/discovery/state.d.ts +170 -0
  1132. package/dist/types/vite/discovery/virtual-module-codegen.d.ts +15 -0
  1133. package/dist/types/vite/encryption-key.d.ts +2 -0
  1134. package/dist/types/vite/index.d.ts +11 -0
  1135. package/dist/types/vite/inject-client-debug.d.ts +56 -0
  1136. package/dist/types/vite/plugin-types.d.ts +298 -0
  1137. package/dist/types/vite/plugins/cjs-to-esm.d.ts +6 -0
  1138. package/dist/types/vite/plugins/client-ref-dedup.d.ts +29 -0
  1139. package/dist/types/vite/plugins/client-ref-hashing.d.ts +35 -0
  1140. package/dist/types/vite/plugins/cloudflare-protocol-stub.d.ts +64 -0
  1141. package/dist/types/vite/plugins/expose-action-id.d.ts +18 -0
  1142. package/dist/types/vite/plugins/expose-id-utils.d.ts +37 -0
  1143. package/dist/types/vite/plugins/expose-ids/export-analysis.d.ts +19 -0
  1144. package/dist/types/vite/plugins/expose-ids/handler-transform.d.ts +10 -0
  1145. package/dist/types/vite/plugins/expose-ids/loader-transform.d.ts +8 -0
  1146. package/dist/types/vite/plugins/expose-ids/router-transform.d.ts +13 -0
  1147. package/dist/types/vite/plugins/expose-ids/types.d.ts +29 -0
  1148. package/dist/types/vite/plugins/expose-internal-ids.d.ts +16 -0
  1149. package/dist/types/vite/plugins/performance-tracks.d.ts +25 -0
  1150. package/dist/types/vite/plugins/refresh-cmd.d.ts +20 -0
  1151. package/dist/types/vite/plugins/server-ref-hashing.d.ts +24 -0
  1152. package/dist/types/vite/plugins/server-reference-pattern.d.ts +1 -0
  1153. package/dist/types/vite/plugins/use-cache-transform.d.ts +20 -0
  1154. package/dist/types/vite/plugins/vercel-output.d.ts +85 -0
  1155. package/dist/types/vite/plugins/version-injector.d.ts +21 -0
  1156. package/dist/types/vite/plugins/version-plugin.d.ts +19 -0
  1157. package/dist/types/vite/plugins/virtual-entries.d.ts +36 -0
  1158. package/dist/types/vite/plugins/virtual-stub-plugin.d.ts +7 -0
  1159. package/dist/types/vite/rango.d.ts +29 -0
  1160. package/dist/types/vite/router-discovery.d.ts +23 -0
  1161. package/dist/types/vite/utils/ast-handler-extract.d.ts +64 -0
  1162. package/dist/types/vite/utils/banner.d.ts +2 -0
  1163. package/dist/types/vite/utils/bundle-analysis.d.ts +28 -0
  1164. package/dist/types/vite/utils/client-chunks.d.ts +55 -0
  1165. package/dist/types/vite/utils/directive-prologue.d.ts +16 -0
  1166. package/dist/types/vite/utils/forward-user-plugins.d.ts +37 -0
  1167. package/dist/types/vite/utils/manifest-utils.d.ts +7 -0
  1168. package/dist/types/vite/utils/package-resolution.d.ts +6 -0
  1169. package/dist/types/vite/utils/prerender-utils.d.ts +32 -0
  1170. package/dist/types/vite/utils/shared-utils.d.ts +67 -0
  1171. package/dist/types.d.ts +1479 -0
  1172. package/dist/types.d.ts.map +1 -0
  1173. package/dist/types.js +10 -0
  1174. package/dist/types.js.map +1 -0
  1175. package/dist/urls.d.ts +441 -0
  1176. package/dist/urls.d.ts.map +1 -0
  1177. package/dist/urls.gen.d.ts +8 -0
  1178. package/dist/urls.gen.d.ts.map +1 -0
  1179. package/dist/urls.gen.js +8 -0
  1180. package/dist/urls.gen.js.map +1 -0
  1181. package/dist/urls.js +443 -0
  1182. package/dist/urls.js.map +1 -0
  1183. package/dist/use-loader.d.ts +127 -0
  1184. package/dist/use-loader.d.ts.map +1 -0
  1185. package/dist/use-loader.js +237 -0
  1186. package/dist/use-loader.js.map +1 -0
  1187. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +2 -0
  1188. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +1 -0
  1189. package/dist/vite/__tests__/ast-handler-extract.test.js +294 -0
  1190. package/dist/vite/__tests__/ast-handler-extract.test.js.map +1 -0
  1191. package/dist/vite/__tests__/expose-id-utils.test.d.ts +2 -0
  1192. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +1 -0
  1193. package/dist/vite/__tests__/expose-id-utils.test.js +224 -0
  1194. package/dist/vite/__tests__/expose-id-utils.test.js.map +1 -0
  1195. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +2 -0
  1196. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +1 -0
  1197. package/dist/vite/__tests__/expose-internal-ids.test.js +647 -0
  1198. package/dist/vite/__tests__/expose-internal-ids.test.js.map +1 -0
  1199. package/dist/vite/__tests__/expose-router-id.test.d.ts +2 -0
  1200. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +1 -0
  1201. package/dist/vite/__tests__/expose-router-id.test.js +39 -0
  1202. package/dist/vite/__tests__/expose-router-id.test.js.map +1 -0
  1203. package/dist/vite/ast-handler-extract.d.ts +49 -0
  1204. package/dist/vite/ast-handler-extract.d.ts.map +1 -0
  1205. package/dist/vite/ast-handler-extract.js +249 -0
  1206. package/dist/vite/ast-handler-extract.js.map +1 -0
  1207. package/dist/vite/expose-action-id.d.ts +19 -0
  1208. package/dist/vite/expose-action-id.d.ts.map +1 -0
  1209. package/dist/vite/expose-action-id.js +250 -0
  1210. package/dist/vite/expose-action-id.js.map +1 -0
  1211. package/dist/vite/expose-id-utils.d.ts +69 -0
  1212. package/dist/vite/expose-id-utils.d.ts.map +1 -0
  1213. package/dist/vite/expose-id-utils.js +289 -0
  1214. package/dist/vite/expose-id-utils.js.map +1 -0
  1215. package/dist/vite/expose-internal-ids.d.ts +22 -0
  1216. package/dist/vite/expose-internal-ids.d.ts.map +1 -0
  1217. package/dist/vite/expose-internal-ids.js +886 -0
  1218. package/dist/vite/expose-internal-ids.js.map +1 -0
  1219. package/dist/vite/index.d.ts +149 -0
  1220. package/dist/vite/index.d.ts.map +1 -0
  1221. package/dist/vite/index.js +10793 -4122
  1222. package/dist/vite/index.js.bak +5448 -0
  1223. package/dist/vite/index.js.map +1 -0
  1224. package/dist/vite/index.named-routes.gen.ts +103 -0
  1225. package/dist/vite/package-resolution.d.ts +43 -0
  1226. package/dist/vite/package-resolution.d.ts.map +1 -0
  1227. package/dist/vite/package-resolution.js +112 -0
  1228. package/dist/vite/package-resolution.js.map +1 -0
  1229. package/dist/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  1230. package/dist/vite/virtual-entries.d.ts +25 -0
  1231. package/dist/vite/virtual-entries.d.ts.map +1 -0
  1232. package/dist/vite/virtual-entries.js +110 -0
  1233. package/dist/vite/virtual-entries.js.map +1 -0
  1234. package/package.json +121 -38
  1235. package/skills/api-client/SKILL.md +211 -0
  1236. package/skills/breadcrumbs/SKILL.md +117 -8
  1237. package/skills/bundle-analysis/SKILL.md +159 -0
  1238. package/skills/cache-guide/SKILL.md +232 -34
  1239. package/skills/caching/SKILL.md +375 -19
  1240. package/skills/catalog.json +289 -0
  1241. package/skills/client-urls/SKILL.md +339 -0
  1242. package/skills/cloudflare/SKILL.md +153 -0
  1243. package/skills/cloudflare/agents/openai.yaml +4 -0
  1244. package/skills/cloudflare/references/d1-and-local-dev.md +131 -0
  1245. package/skills/cloudflare/references/streaming-and-deploy.md +107 -0
  1246. package/skills/cloudflare/references/webhooks-and-crypto.md +147 -0
  1247. package/skills/comparison/SKILL.md +50 -0
  1248. package/skills/comparison/agents/openai.yaml +4 -0
  1249. package/skills/comparison/references/framework-comparison.md +858 -0
  1250. package/skills/composability/SKILL.md +124 -4
  1251. package/skills/css/SKILL.md +76 -0
  1252. package/skills/debug-manifest/SKILL.md +5 -11
  1253. package/skills/defer-hydration/SKILL.md +235 -0
  1254. package/skills/deployment-caching/SKILL.md +176 -0
  1255. package/skills/document-cache/SKILL.md +116 -58
  1256. package/skills/fonts/SKILL.md +1 -1
  1257. package/skills/handler-use/SKILL.md +12 -10
  1258. package/skills/hooks/SKILL.md +73 -691
  1259. package/skills/hooks/data.md +282 -0
  1260. package/skills/hooks/handle-and-actions.md +110 -0
  1261. package/skills/hooks/navigation.md +110 -0
  1262. package/skills/hooks/outlets.md +62 -0
  1263. package/skills/hooks/state.md +228 -0
  1264. package/skills/hooks/urls.md +172 -0
  1265. package/skills/host-router/SKILL.md +129 -27
  1266. package/skills/i18n/SKILL.md +276 -0
  1267. package/skills/intercept/SKILL.md +75 -19
  1268. package/skills/layout/SKILL.md +40 -19
  1269. package/skills/links/SKILL.md +283 -17
  1270. package/skills/loader/SKILL.md +362 -11
  1271. package/skills/middleware/SKILL.md +58 -13
  1272. package/skills/migrate-nextjs/SKILL.md +336 -42
  1273. package/skills/migrate-nextjs/backend-host-swap.md +120 -0
  1274. package/skills/migrate-react-router/SKILL.md +95 -670
  1275. package/skills/migrate-react-router/component-migration.md +201 -0
  1276. package/skills/migrate-react-router/data-and-actions.md +236 -0
  1277. package/skills/migrate-react-router/route-mapping.md +284 -0
  1278. package/skills/mime-routes/SKILL.md +55 -18
  1279. package/skills/observability/SKILL.md +231 -0
  1280. package/skills/parallel/SKILL.md +72 -11
  1281. package/skills/ppr/SKILL.md +918 -0
  1282. package/skills/prerender/SKILL.md +137 -71
  1283. package/skills/rango/SKILL.md +325 -26
  1284. package/skills/react-compiler/SKILL.md +168 -0
  1285. package/skills/response-routes/SKILL.md +180 -52
  1286. package/skills/route/SKILL.md +126 -9
  1287. package/skills/router-setup/SKILL.md +69 -11
  1288. package/skills/scripts/SKILL.md +189 -0
  1289. package/skills/server-actions/SKILL.md +776 -0
  1290. package/skills/shell-manifest/SKILL.md +194 -0
  1291. package/skills/streams-and-websockets/SKILL.md +283 -0
  1292. package/skills/tailwind/SKILL.md +28 -4
  1293. package/skills/testing/SKILL.md +131 -0
  1294. package/skills/testing/bindings.md +103 -0
  1295. package/skills/testing/cache-prerender.md +172 -0
  1296. package/skills/testing/client-components.md +131 -0
  1297. package/skills/testing/e2e-parity.md +125 -0
  1298. package/skills/testing/flight.md +91 -0
  1299. package/skills/testing/handles.md +153 -0
  1300. package/skills/testing/loader.md +130 -0
  1301. package/skills/testing/middleware.md +99 -0
  1302. package/skills/testing/render-handler.md +122 -0
  1303. package/skills/testing/response-routes.md +95 -0
  1304. package/skills/testing/reverse-and-types.md +85 -0
  1305. package/skills/testing/server-actions.md +107 -0
  1306. package/skills/testing/server-tree.md +128 -0
  1307. package/skills/testing/setup.md +123 -0
  1308. package/skills/theme/SKILL.md +9 -6
  1309. package/skills/typesafety/SKILL.md +45 -626
  1310. package/skills/typesafety/env-and-bindings.md +254 -0
  1311. package/skills/typesafety/generated-files-and-cli.md +342 -0
  1312. package/skills/typesafety/params-and-search.md +153 -0
  1313. package/skills/typesafety/route-types.md +213 -0
  1314. package/skills/use-cache/SKILL.md +121 -15
  1315. package/skills/vercel/SKILL.md +149 -0
  1316. package/skills/view-transitions/SKILL.md +341 -0
  1317. package/src/__augment-tests__/augment.ts +81 -0
  1318. package/src/__augment-tests__/augmented.check.ts +116 -0
  1319. package/src/__internal.ts +0 -65
  1320. package/src/bin/rango.ts +7 -3
  1321. package/src/browser/action-coordinator.ts +53 -36
  1322. package/src/browser/action-fence.ts +47 -0
  1323. package/src/browser/app-shell.ts +39 -0
  1324. package/src/browser/connection-warmup.ts +134 -0
  1325. package/src/browser/cookie-name.ts +140 -0
  1326. package/src/browser/dev-discovery.ts +66 -0
  1327. package/src/browser/event-controller.ts +400 -168
  1328. package/src/browser/history-state.ts +21 -0
  1329. package/src/browser/index.ts +3 -3
  1330. package/src/browser/invalidate-client-cache.ts +52 -0
  1331. package/src/browser/link-interceptor.ts +469 -20
  1332. package/src/browser/logging.ts +28 -0
  1333. package/src/browser/merge-segment-loaders.ts +6 -4
  1334. package/src/browser/navigation-bridge.ts +171 -27
  1335. package/src/browser/navigation-client.ts +216 -90
  1336. package/src/browser/navigation-store-handle.ts +38 -0
  1337. package/src/browser/navigation-store.ts +167 -323
  1338. package/src/browser/navigation-transaction.ts +9 -59
  1339. package/src/browser/network-error-handler.ts +34 -7
  1340. package/src/browser/notify-listeners.ts +22 -0
  1341. package/src/browser/partial-update.ts +243 -144
  1342. package/src/browser/prefetch/cache.ts +325 -84
  1343. package/src/browser/prefetch/default-strategy.ts +74 -0
  1344. package/src/browser/prefetch/fetch.ts +411 -69
  1345. package/src/browser/prefetch/invalidation.ts +30 -0
  1346. package/src/browser/prefetch/loader.ts +111 -0
  1347. package/src/browser/prefetch/observer.ts +50 -22
  1348. package/src/browser/prefetch/queue.ts +61 -12
  1349. package/src/browser/prefetch/runtime.ts +6 -0
  1350. package/src/browser/rango-state.ts +178 -75
  1351. package/src/browser/react/Link.tsx +160 -92
  1352. package/src/browser/react/NavigationProvider.tsx +211 -121
  1353. package/src/browser/react/ScrollRestoration.tsx +10 -6
  1354. package/src/browser/react/context.ts +4 -0
  1355. package/src/browser/react/filter-segment-order.ts +66 -7
  1356. package/src/browser/react/index.ts +0 -48
  1357. package/src/browser/react/location-state-shared.ts +178 -8
  1358. package/src/browser/react/location-state.ts +39 -14
  1359. package/src/browser/react/use-action.ts +6 -15
  1360. package/src/browser/react/use-handle.ts +17 -14
  1361. package/src/browser/react/use-href.tsx +8 -1
  1362. package/src/browser/react/use-link-status.ts +33 -8
  1363. package/src/browser/react/use-navigation.ts +10 -5
  1364. package/src/browser/react/use-params.ts +20 -10
  1365. package/src/browser/react/use-reverse.ts +106 -0
  1366. package/src/browser/react/use-router.ts +62 -11
  1367. package/src/browser/react/use-search-params.ts +140 -22
  1368. package/src/browser/react/use-segments.ts +11 -21
  1369. package/src/browser/response-adapter.ts +99 -8
  1370. package/src/browser/rsc-router.tsx +248 -32
  1371. package/src/browser/scroll-restoration.ts +37 -22
  1372. package/src/browser/segment-reconciler.ts +31 -21
  1373. package/src/browser/segment-structure-assert.ts +2 -2
  1374. package/src/browser/server-action-bridge.ts +262 -65
  1375. package/src/browser/types.ts +132 -34
  1376. package/src/browser/validate-redirect-origin.ts +43 -16
  1377. package/src/build/collect-fallback-refs.ts +107 -0
  1378. package/src/build/generate-manifest.ts +213 -184
  1379. package/src/build/generate-route-types.ts +3 -1
  1380. package/src/build/index.ts +11 -3
  1381. package/src/build/merge-full-manifests.ts +161 -0
  1382. package/src/build/prefix-tree-utils.ts +123 -0
  1383. package/src/build/route-trie.ts +43 -280
  1384. package/src/build/route-types/ast-route-extraction.ts +15 -8
  1385. package/src/build/route-types/codegen.ts +16 -5
  1386. package/src/build/route-types/include-resolution.ts +513 -64
  1387. package/src/build/route-types/param-extraction.ts +6 -3
  1388. package/src/build/route-types/per-module-writer.ts +33 -12
  1389. package/src/build/route-types/router-processing.ts +312 -204
  1390. package/src/build/route-types/scan-filter.ts +1 -1
  1391. package/src/build/route-types/source-scan.ts +216 -0
  1392. package/src/build/runtime-discovery.ts +32 -29
  1393. package/src/cache/cache-error.ts +104 -0
  1394. package/src/cache/cache-exec-scope.ts +47 -0
  1395. package/src/cache/cache-key-utils.ts +73 -15
  1396. package/src/cache/cache-policy.ts +108 -34
  1397. package/src/cache/cache-runtime.ts +566 -121
  1398. package/src/cache/cache-scope.ts +383 -105
  1399. package/src/cache/cache-tag.ts +149 -0
  1400. package/src/cache/cf/cf-base64.ts +33 -0
  1401. package/src/cache/cf/cf-cache-constants.ts +134 -0
  1402. package/src/cache/cf/cf-cache-store.ts +3083 -392
  1403. package/src/cache/cf/cf-cache-types.ts +417 -0
  1404. package/src/cache/cf/cf-kv-utils.ts +84 -0
  1405. package/src/cache/cf/cf-tag-marker-memo.ts +108 -0
  1406. package/src/cache/cf/cf-zone-purge.ts +101 -0
  1407. package/src/cache/cf/index.ts +11 -16
  1408. package/src/cache/document-cache.ts +184 -53
  1409. package/src/cache/handle-snapshot.ts +92 -1
  1410. package/src/cache/index.ts +32 -20
  1411. package/src/cache/memory-segment-store.ts +286 -37
  1412. package/src/cache/profile-registry.ts +46 -31
  1413. package/src/cache/read-through-swr.ts +66 -16
  1414. package/src/cache/search-params-filter.ts +118 -0
  1415. package/src/cache/segment-codec.ts +80 -25
  1416. package/src/cache/shell-snapshot.ts +516 -0
  1417. package/src/cache/tag-invalidation.ts +230 -0
  1418. package/src/cache/taint.ts +28 -9
  1419. package/src/cache/types.ts +343 -100
  1420. package/src/cache/vercel/index.ts +11 -0
  1421. package/src/cache/vercel/vercel-cache-store.ts +1264 -0
  1422. package/src/client-urls/client-root.tsx +168 -0
  1423. package/src/client-urls/client-urls.ts +779 -0
  1424. package/src/client-urls/navigation.ts +237 -0
  1425. package/src/client-urls/revalidation-protocol.ts +56 -0
  1426. package/src/client-urls/server-projection.ts +670 -0
  1427. package/src/client-urls/types.ts +202 -0
  1428. package/src/client.rsc.tsx +53 -21
  1429. package/src/client.tsx +82 -67
  1430. package/src/cloudflare/index.ts +11 -0
  1431. package/src/cloudflare/tracing.ts +112 -0
  1432. package/src/component-utils.ts +19 -0
  1433. package/src/components/DefaultDocument.tsx +8 -2
  1434. package/src/context-var.ts +18 -6
  1435. package/src/decode-loader-results.ts +165 -0
  1436. package/src/defer.ts +185 -0
  1437. package/src/deps/ssr.ts +4 -2
  1438. package/src/dev-discovery-protocol.ts +11 -0
  1439. package/src/encode-kv.ts +49 -0
  1440. package/src/errors.ts +44 -4
  1441. package/src/escape-script.ts +52 -0
  1442. package/src/handle.ts +67 -37
  1443. package/src/handles/MetaTags.tsx +24 -53
  1444. package/src/handles/Scripts.tsx +183 -0
  1445. package/src/handles/breadcrumbs.ts +35 -8
  1446. package/src/handles/deferred-resolution.ts +134 -0
  1447. package/src/handles/is-thenable.ts +16 -0
  1448. package/src/handles/meta.ts +14 -40
  1449. package/src/handles/script.ts +244 -0
  1450. package/src/host/cookie-handler.ts +9 -60
  1451. package/src/host/errors.ts +13 -22
  1452. package/src/host/index.ts +9 -2
  1453. package/src/host/pattern-matcher.ts +23 -52
  1454. package/src/host/router.ts +107 -99
  1455. package/src/host/testing.ts +40 -27
  1456. package/src/host/types.ts +37 -4
  1457. package/src/host/utils.ts +1 -1
  1458. package/src/href-client.ts +137 -22
  1459. package/src/index.rsc.ts +108 -12
  1460. package/src/index.ts +106 -14
  1461. package/src/internal-debug.ts +11 -10
  1462. package/src/loader-redirect.tsx +64 -0
  1463. package/src/loader-store.ts +500 -0
  1464. package/src/loader.rsc.ts +20 -13
  1465. package/src/loader.ts +12 -11
  1466. package/src/missing-id-error.ts +68 -0
  1467. package/src/outlet-context.ts +21 -1
  1468. package/src/outlet-provider.tsx +20 -6
  1469. package/src/prerender/build-shell-capture.ts +453 -0
  1470. package/src/prerender/param-hash.ts +16 -16
  1471. package/src/prerender/shell-manifest-key.ts +20 -0
  1472. package/src/prerender/store.ts +47 -38
  1473. package/src/prerender.ts +81 -13
  1474. package/src/redirect-origin.ts +172 -0
  1475. package/src/regex-escape.ts +8 -0
  1476. package/src/render-error-thrower.tsx +20 -0
  1477. package/src/response-utils.ts +62 -0
  1478. package/src/reverse.ts +65 -39
  1479. package/src/root-error-boundary.tsx +1 -19
  1480. package/src/route-content-wrapper.tsx +120 -78
  1481. package/src/route-definition/dsl-helpers.ts +342 -313
  1482. package/src/route-definition/helper-factories.ts +28 -140
  1483. package/src/route-definition/helpers-types.ts +106 -62
  1484. package/src/route-definition/index.ts +1 -2
  1485. package/src/route-definition/redirect.ts +60 -28
  1486. package/src/route-definition/resolve-handler-use.ts +12 -1
  1487. package/src/route-definition/use-item-types.ts +29 -0
  1488. package/src/route-map-builder.ts +102 -74
  1489. package/src/route-types.ts +19 -46
  1490. package/src/router/basename.ts +14 -0
  1491. package/src/router/content-negotiation.ts +120 -30
  1492. package/src/router/error-handling.ts +110 -29
  1493. package/src/router/find-match.ts +129 -30
  1494. package/src/router/handler-context.ts +58 -57
  1495. package/src/router/instrument.ts +401 -0
  1496. package/src/router/intercept-resolution.ts +98 -21
  1497. package/src/router/lazy-includes.ts +83 -59
  1498. package/src/router/loader-resolution.ts +429 -85
  1499. package/src/router/logging.ts +0 -6
  1500. package/src/router/manifest.ts +74 -40
  1501. package/src/router/match-api.ts +94 -58
  1502. package/src/router/match-context.ts +0 -22
  1503. package/src/router/match-handlers.ts +268 -171
  1504. package/src/router/match-middleware/background-revalidation.ts +40 -24
  1505. package/src/router/match-middleware/cache-lookup.ts +316 -302
  1506. package/src/router/match-middleware/cache-store.ts +134 -52
  1507. package/src/router/match-middleware/intercept-resolution.ts +0 -22
  1508. package/src/router/match-middleware/segment-resolution.ts +0 -22
  1509. package/src/router/match-pipelines.ts +1 -42
  1510. package/src/router/match-result.ts +76 -79
  1511. package/src/router/metrics.ts +17 -36
  1512. package/src/router/middleware-types.ts +20 -130
  1513. package/src/router/middleware.ts +302 -172
  1514. package/src/router/navigation-snapshot.ts +51 -60
  1515. package/src/router/params-util.ts +23 -0
  1516. package/src/router/parse-pattern.ts +115 -0
  1517. package/src/router/pattern-matching.ts +181 -150
  1518. package/src/router/prefetch-cache-ttl.ts +51 -0
  1519. package/src/router/prefetch-default.ts +59 -0
  1520. package/src/router/prefetch-limits.ts +37 -0
  1521. package/src/router/prerender-match.ts +159 -69
  1522. package/src/router/preview-match.ts +6 -2
  1523. package/src/router/request-classification.ts +50 -69
  1524. package/src/router/revalidation.ts +146 -83
  1525. package/src/router/route-snapshot.ts +14 -3
  1526. package/src/router/route-trie-builder.ts +334 -0
  1527. package/src/router/router-context.ts +6 -29
  1528. package/src/router/router-interfaces.ts +168 -38
  1529. package/src/router/router-options.ts +235 -11
  1530. package/src/router/router-registry.ts +2 -5
  1531. package/src/router/segment-resolution/fresh.ts +219 -88
  1532. package/src/router/segment-resolution/helpers.ts +96 -18
  1533. package/src/router/segment-resolution/loader-cache.ts +208 -39
  1534. package/src/router/segment-resolution/loader-mask.ts +60 -0
  1535. package/src/router/segment-resolution/loader-snapshot.ts +259 -0
  1536. package/src/router/segment-resolution/mask-nested.ts +99 -0
  1537. package/src/router/segment-resolution/revalidation.ts +318 -321
  1538. package/src/router/segment-resolution/static-store.ts +55 -15
  1539. package/src/router/segment-resolution/streamed-handler-telemetry.ts +52 -0
  1540. package/src/router/segment-resolution/view-transition-default.ts +60 -0
  1541. package/src/router/segment-resolution.ts +5 -1
  1542. package/src/router/segment-wrappers.ts +6 -5
  1543. package/src/router/state-cookie-name.ts +33 -0
  1544. package/src/router/substitute-pattern-params.ts +75 -0
  1545. package/src/router/telemetry-otel.ts +171 -200
  1546. package/src/router/telemetry.ts +106 -20
  1547. package/src/router/timeout.ts +53 -22
  1548. package/src/router/tracing.ts +235 -0
  1549. package/src/router/transition-when.ts +76 -0
  1550. package/src/router/trie-matching.ts +171 -59
  1551. package/src/router/types.ts +9 -63
  1552. package/src/router/url-params.ts +57 -0
  1553. package/src/router.ts +249 -79
  1554. package/src/rsc/capture-queue.ts +218 -0
  1555. package/src/rsc/full-payload.ts +77 -0
  1556. package/src/rsc/handler-context.ts +4 -2
  1557. package/src/rsc/handler.ts +570 -288
  1558. package/src/rsc/helpers.ts +245 -47
  1559. package/src/rsc/index.ts +2 -5
  1560. package/src/rsc/json-route-result.ts +38 -0
  1561. package/src/rsc/loader-fetch.ts +116 -40
  1562. package/src/rsc/manifest-init.ts +55 -56
  1563. package/src/rsc/nonce.ts +26 -1
  1564. package/src/rsc/origin-guard.ts +39 -25
  1565. package/src/rsc/progressive-enhancement.ts +378 -83
  1566. package/src/rsc/redirect-guard.ts +102 -0
  1567. package/src/rsc/render-pipeline.ts +611 -0
  1568. package/src/rsc/response-cache-serve.ts +259 -0
  1569. package/src/rsc/response-error.ts +79 -12
  1570. package/src/rsc/response-route-handler.ts +80 -206
  1571. package/src/rsc/routine-plan.ts +359 -0
  1572. package/src/rsc/rsc-rendering.ts +1647 -164
  1573. package/src/rsc/runtime-warnings.ts +23 -10
  1574. package/src/rsc/server-action.ts +421 -138
  1575. package/src/rsc/shell-build-manifest.ts +343 -0
  1576. package/src/rsc/shell-capture-constants.ts +45 -0
  1577. package/src/rsc/shell-capture.ts +2135 -0
  1578. package/src/rsc/shell-serve.ts +350 -0
  1579. package/src/rsc/ssr-setup.ts +124 -16
  1580. package/src/rsc/stream-idle.ts +137 -0
  1581. package/src/rsc/transition-gate.ts +86 -0
  1582. package/src/rsc/types.ts +125 -7
  1583. package/src/runtime-env.ts +18 -0
  1584. package/src/search-params.ts +35 -30
  1585. package/src/segment-fragments.ts +165 -0
  1586. package/src/segment-loader-promise.ts +49 -4
  1587. package/src/segment-system.tsx +463 -153
  1588. package/src/serialize.ts +243 -0
  1589. package/src/server/context.ts +426 -55
  1590. package/src/server/cookie-parse.ts +32 -0
  1591. package/src/server/cookie-store.ts +162 -15
  1592. package/src/server/handle-store.ts +190 -70
  1593. package/src/server/loader-registry.ts +33 -42
  1594. package/src/server/request-context.ts +824 -215
  1595. package/src/server.ts +7 -2
  1596. package/src/ssr/index.tsx +687 -184
  1597. package/src/ssr/inject-rsc-eager.ts +167 -0
  1598. package/src/ssr/preinit-client-references.ts +106 -0
  1599. package/src/ssr/ssr-root.tsx +305 -0
  1600. package/src/ssr-suspension-warning.ts +67 -0
  1601. package/src/static-handler.ts +28 -15
  1602. package/src/testing/cache-status.ts +162 -0
  1603. package/src/testing/collect-handle.ts +46 -0
  1604. package/src/testing/dispatch.ts +951 -0
  1605. package/src/testing/dom.entry.ts +22 -0
  1606. package/src/testing/e2e/fixture.ts +188 -0
  1607. package/src/testing/e2e/index.ts +147 -0
  1608. package/src/testing/e2e/matchers.ts +35 -0
  1609. package/src/testing/e2e/page-helpers.ts +319 -0
  1610. package/src/testing/e2e/parity.ts +400 -0
  1611. package/src/testing/e2e/server.ts +195 -0
  1612. package/src/testing/flight-matchers.ts +97 -0
  1613. package/src/testing/flight-normalize.ts +11 -0
  1614. package/src/testing/flight-runtime.d.ts +57 -0
  1615. package/src/testing/flight-tree.ts +682 -0
  1616. package/src/testing/flight.entry.ts +52 -0
  1617. package/src/testing/flight.ts +257 -0
  1618. package/src/testing/generated-routes.ts +199 -0
  1619. package/src/testing/index.ts +121 -0
  1620. package/src/testing/internal/context.ts +380 -0
  1621. package/src/testing/internal/flight-client-globals.ts +30 -0
  1622. package/src/testing/internal/seed-vars.ts +54 -0
  1623. package/src/testing/render-handler.ts +371 -0
  1624. package/src/testing/render-route.tsx +667 -0
  1625. package/src/testing/run-loader.ts +423 -0
  1626. package/src/testing/run-middleware.ts +219 -0
  1627. package/src/testing/run-transition-when.ts +197 -0
  1628. package/src/testing/shell-status.ts +206 -0
  1629. package/src/testing/vitest-stubs/cloudflare-email.ts +9 -0
  1630. package/src/testing/vitest-stubs/cloudflare-workers.ts +21 -0
  1631. package/src/testing/vitest-stubs/plugin-rsc.ts +16 -0
  1632. package/src/testing/vitest-stubs/version.ts +5 -0
  1633. package/src/testing/vitest.ts +305 -0
  1634. package/src/theme/ThemeProvider.tsx +56 -84
  1635. package/src/theme/ThemeScript.tsx +7 -9
  1636. package/src/theme/constants.ts +52 -13
  1637. package/src/theme/index.ts +0 -7
  1638. package/src/theme/theme-context.ts +1 -5
  1639. package/src/theme/theme-script.ts +22 -21
  1640. package/src/theme/use-theme.ts +0 -3
  1641. package/src/types/boundaries.ts +19 -35
  1642. package/src/types/cache-types.ts +13 -4
  1643. package/src/types/error-types.ts +30 -90
  1644. package/src/types/global-namespace.ts +54 -41
  1645. package/src/types/handler-context.ts +123 -64
  1646. package/src/types/index.ts +4 -10
  1647. package/src/types/loader-types.ts +76 -13
  1648. package/src/types/request-scope.ts +112 -0
  1649. package/src/types/route-config.ts +20 -52
  1650. package/src/types/route-entry.ts +3 -6
  1651. package/src/types/segments.ts +155 -14
  1652. package/src/urls/include-helper.ts +38 -64
  1653. package/src/urls/include-provider.ts +71 -0
  1654. package/src/urls/index.ts +2 -11
  1655. package/src/urls/path-helper-types.ts +88 -25
  1656. package/src/urls/path-helper.ts +30 -110
  1657. package/src/urls/pattern-types.ts +101 -19
  1658. package/src/urls/response-types.ts +22 -29
  1659. package/src/urls/type-extraction.ts +98 -154
  1660. package/src/urls/urls-function.ts +1 -19
  1661. package/src/use-loader.tsx +379 -110
  1662. package/src/vercel/index.ts +11 -0
  1663. package/src/vercel/tracing.ts +89 -0
  1664. package/src/vite/debug.ts +185 -0
  1665. package/src/vite/discovery/bundle-postprocess.ts +18 -14
  1666. package/src/vite/discovery/client-urls-projection.ts +322 -0
  1667. package/src/vite/discovery/dev-prerender-cache.ts +117 -0
  1668. package/src/vite/discovery/discover-routers.ts +178 -151
  1669. package/src/vite/discovery/discovery-errors.ts +255 -0
  1670. package/src/vite/discovery/gate-state.ts +171 -0
  1671. package/src/vite/discovery/prerender-collection.ts +125 -70
  1672. package/src/vite/discovery/route-types-writer.ts +40 -84
  1673. package/src/vite/discovery/self-gen-tracking.ts +27 -1
  1674. package/src/vite/discovery/shell-prerender-phase.ts +397 -0
  1675. package/src/vite/discovery/state.ts +104 -6
  1676. package/src/vite/discovery/virtual-module-codegen.ts +226 -87
  1677. package/src/vite/encryption-key.ts +29 -0
  1678. package/src/vite/index.ts +12 -0
  1679. package/src/vite/inject-client-debug.ts +88 -0
  1680. package/src/vite/plugin-types.ts +243 -10
  1681. package/src/vite/plugins/cjs-to-esm.ts +16 -19
  1682. package/src/vite/plugins/client-ref-dedup.ts +296 -29
  1683. package/src/vite/plugins/client-ref-hashing.ts +28 -15
  1684. package/src/vite/plugins/cloudflare-protocol-loader-hook.d.mts +23 -0
  1685. package/src/vite/plugins/cloudflare-protocol-loader-hook.mjs +76 -0
  1686. package/src/vite/plugins/cloudflare-protocol-stub.ts +194 -0
  1687. package/src/vite/plugins/expose-action-id.ts +95 -120
  1688. package/src/vite/plugins/expose-id-utils.ts +88 -55
  1689. package/src/vite/plugins/expose-ids/export-analysis.ts +101 -34
  1690. package/src/vite/plugins/expose-ids/handler-transform.ts +11 -90
  1691. package/src/vite/plugins/expose-ids/loader-transform.ts +14 -24
  1692. package/src/vite/plugins/expose-ids/router-transform.ts +118 -29
  1693. package/src/vite/plugins/expose-internal-ids.ts +551 -486
  1694. package/src/vite/plugins/performance-tracks.ts +26 -25
  1695. package/src/vite/plugins/refresh-cmd.ts +1 -1
  1696. package/src/vite/plugins/server-ref-hashing.ts +74 -0
  1697. package/src/vite/plugins/server-reference-pattern.ts +10 -0
  1698. package/src/vite/plugins/use-cache-transform.ts +73 -83
  1699. package/src/vite/plugins/vercel-output.ts +384 -0
  1700. package/src/vite/plugins/version-injector.ts +39 -29
  1701. package/src/vite/plugins/version-plugin.ts +45 -40
  1702. package/src/vite/plugins/virtual-entries.ts +193 -30
  1703. package/src/vite/rango.ts +287 -140
  1704. package/src/vite/router-discovery.ts +1639 -157
  1705. package/src/vite/utils/ast-handler-extract.ts +26 -35
  1706. package/src/vite/utils/banner.ts +1 -1
  1707. package/src/vite/utils/bundle-analysis.ts +10 -15
  1708. package/src/vite/utils/client-chunks.ts +184 -0
  1709. package/src/vite/utils/directive-prologue.ts +40 -0
  1710. package/src/vite/utils/forward-user-plugins.ts +171 -0
  1711. package/src/vite/utils/manifest-utils.ts +1 -59
  1712. package/src/vite/utils/package-resolution.ts +21 -52
  1713. package/src/vite/utils/prerender-utils.ts +96 -49
  1714. package/src/vite/utils/shared-utils.ts +156 -43
  1715. package/src/browser/action-response-classifier.ts +0 -99
  1716. package/src/browser/shallow.ts +0 -40
  1717. package/src/router/middleware-cookies.ts +0 -55
@@ -14,6 +14,7 @@ import {
14
14
  getParallelEntries,
15
15
  getParallelSlotEntries,
16
16
  type EntryData,
17
+ type ParallelEntryData,
17
18
  } from "../../server/context";
18
19
  import type {
19
20
  HandlerContext,
@@ -32,60 +33,46 @@ import {
32
33
  isTraceActive,
33
34
  } from "../logging.js";
34
35
  import { resolveLoaderData } from "./loader-cache.js";
36
+ import { entryLoadingMasksLoaders } from "./loader-mask.js";
35
37
  import {
36
38
  handleHandlerResult,
39
+ warnOnStreamedResponse,
37
40
  tryStaticHandler,
38
41
  tryStaticSlot,
39
42
  resolveLayoutComponent,
40
43
  resolveWithErrorBoundary,
44
+ buildLoaderErrorContext,
41
45
  } from "./helpers.js";
46
+ import { applyViewTransitionDefault } from "./view-transition-default.js";
42
47
  import { getRouterContext } from "../router-context.js";
43
- import { resolveSink, safeEmit } from "../telemetry.js";
48
+ import { observeEvent, observeHandler } from "../instrument.js";
49
+ import { observeStreamedHandler } from "./streamed-handler-telemetry.js";
44
50
  import {
45
51
  track,
46
- RSCRouterContext,
52
+ RangoContext,
47
53
  runInsideLoaderScope,
54
+ latchCachedHeaderScope,
55
+ latchPprHeaderScopeForEntries,
48
56
  } from "../../server/context.js";
49
57
 
50
- // ---------------------------------------------------------------------------
51
- // Telemetry helpers
52
- // ---------------------------------------------------------------------------
53
-
54
58
  /**
55
- * Attach a fire-and-forget rejection observer to a streamed handler promise.
56
- * Silently no-ops when called outside RouterContext (e.g. in unit tests).
59
+ * Trace a parallel slot that's being force-rendered on a full refetch (client
60
+ * has no cached state). User revalidate fns are bypassed in this case — see
61
+ * the call sites for the load-bearing rationale.
57
62
  */
58
- function observeStreamedHandler(
59
- promise: Promise<ReactNode>,
60
- segmentId: string,
61
- segmentType: string,
62
- pathname?: string,
63
- routeKey?: string,
64
- params?: Record<string, string>,
63
+ function traceFullRefetchedParallelSlot(
64
+ parallelId: string,
65
+ belongsToRoute: boolean,
65
66
  ): void {
66
- let routerCtx;
67
- try {
68
- routerCtx = getRouterContext();
69
- } catch {
70
- return;
71
- }
72
- if (!routerCtx?.telemetry) return;
73
- const sink = resolveSink(routerCtx.telemetry);
74
- const reqId = routerCtx.requestId;
75
- promise.catch((err: unknown) => {
76
- const errorObj = err instanceof Error ? err : new Error(String(err));
77
- safeEmit(sink, {
78
- type: "handler.error",
79
- timestamp: performance.now(),
80
- requestId: reqId,
81
- segmentId,
82
- segmentType,
83
- error: errorObj,
84
- handledByBoundary: true,
85
- pathname,
86
- routeKey,
87
- params,
88
- });
67
+ if (!isTraceActive()) return;
68
+ pushRevalidationTraceEntry({
69
+ segmentId: parallelId,
70
+ segmentType: "parallel",
71
+ belongsToRoute,
72
+ source: "parallel",
73
+ defaultShouldRevalidate: true,
74
+ finalShouldRevalidate: true,
75
+ reason: "full-refetch",
89
76
  });
90
77
  }
91
78
 
@@ -104,23 +91,14 @@ function emitRevalidationDecision(
104
91
  routeKey: string,
105
92
  shouldRevalidate: boolean,
106
93
  ): void {
107
- let routerCtx;
108
- try {
109
- routerCtx = getRouterContext();
110
- } catch {
111
- return;
112
- }
113
- if (routerCtx?.telemetry) {
114
- safeEmit(resolveSink(routerCtx.telemetry), {
115
- type: "revalidation.decision",
116
- timestamp: performance.now(),
117
- requestId: routerCtx.requestId,
118
- segmentId,
119
- pathname,
120
- routeKey,
121
- shouldRevalidate,
122
- });
123
- }
94
+ observeEvent({
95
+ type: "revalidation.decision",
96
+ timestamp: performance.now(),
97
+ segmentId,
98
+ pathname,
99
+ routeKey,
100
+ shouldRevalidate,
101
+ });
124
102
  }
125
103
 
126
104
  // ---------------------------------------------------------------------------
@@ -151,6 +129,14 @@ export async function resolveLoadersWithRevalidation<TEnv>(
151
129
 
152
130
  const shortCode = shortCodeOverride ?? entry.shortCode;
153
131
 
132
+ // Pin `_currentSegmentId` to the OWNING entry before the kickoffs below —
133
+ // createLoaderExecutor captures it synchronously for ctx.use(Handle) push
134
+ // attribution. Same pin as resolveLoaders (fresh.ts); this REVALIDATION
135
+ // funnel is the navigation/action lane's kickoff site, where nothing else
136
+ // assigns the id first (pushes silently vanished: an id outside
137
+ // matched/segmentOrder is dropped by collectHandleData).
138
+ (ctx as InternalHandlerContext<any, TEnv>)._currentSegmentId = shortCode;
139
+
154
140
  const loaderMeta = loaderEntries.map((loaderEntry, i) => ({
155
141
  loaderEntry,
156
142
  loader: loaderEntry.loader,
@@ -225,6 +211,19 @@ export async function resolveLoadersWithRevalidation<TEnv>(
225
211
  ),
226
212
  );
227
213
 
214
+ // Partial (revalidation) render path: a throwing DSL loader must still fire
215
+ // onError/loader.error. isPartial flags the reporting phase accordingly.
216
+ const errorContext = { ...buildLoaderErrorContext(ctx), isPartial: true };
217
+
218
+ // PPR lane decision, same rule as the fresh funnel (fresh.ts): an entry
219
+ // without renderable loading() puts its loaders on the BAKE lane. The key
220
+ // must thread through EVERY resolveLoaderData funnel — omitting it here made
221
+ // a capture-active context whole-container-mask every loader on this path
222
+ // (a never-settling promise for a loader that should have executed).
223
+ // Outside capture the key only activates the _shellLoaderSeed overlay,
224
+ // which document-only serveShellHit seeds — inert for partial requests.
225
+ const bakeLane = !entryLoadingMasksLoaders(entry.loading);
226
+
228
227
  const loadersToRun = revalidationChecks.filter((c) => c.shouldRun);
229
228
  const segments: ResolvedSegment[] = loadersToRun.map(
230
229
  ({ loaderEntry, loader, segmentId, index }) => ({
@@ -237,11 +236,19 @@ export async function resolveLoadersWithRevalidation<TEnv>(
237
236
  loaderId: loader.$$id,
238
237
  loaderData: deps.wrapLoaderPromise(
239
238
  runInsideLoaderScope(() =>
240
- resolveLoaderData(loaderEntry, ctx, ctx.pathname),
239
+ resolveLoaderData(
240
+ loaderEntry,
241
+ ctx,
242
+ ctx.pathname,
243
+ bakeLane || loaderEntry.awaitBeforeFlush === true
244
+ ? segmentId
245
+ : null,
246
+ ),
241
247
  ),
242
248
  entry,
243
249
  segmentId,
244
250
  ctx.pathname,
251
+ errorContext,
245
252
  ),
246
253
  belongsToRoute,
247
254
  }),
@@ -270,6 +277,9 @@ export async function resolveLoadersOnlyWithRevalidation<TEnv>(
270
277
  const allMatchedIds: string[] = [];
271
278
  const seenIds = new Set<string>();
272
279
 
280
+ // ppr header-write guard latch — see resolveAllSegments (fresh.ts).
281
+ latchPprHeaderScopeForEntries(entries, routeKey);
282
+
273
283
  async function collectEntryLoaders(
274
284
  entry: EntryData,
275
285
  belongsToRoute: boolean,
@@ -404,6 +414,97 @@ export function buildEntryRevalidateMap(
404
414
  return map;
405
415
  }
406
416
 
417
+ /**
418
+ * Resolve the component for a single parallel slot on the revalidation path.
419
+ * Pure component resolution shared verbatim by
420
+ * resolveParallelSegmentsWithRevalidation and the orphan-inlined loop in
421
+ * resolveOrphanLayoutWithRevalidation: try the static slot cache, else run the
422
+ * slot handler (pinning _currentSegmentId to the slot id so handle pushes land
423
+ * in the slot's own bucket, and wrapping a streamed handler). Returns the
424
+ * resolved component and whether the handler actually ran. Does NOT touch the
425
+ * revalidate-default policy (the caller decides shouldResolve, including the
426
+ * orphan-vs-main defaultOverride divergence) or loader-resolution ordering.
427
+ */
428
+ async function resolveParallelSlotComponent<TEnv>(args: {
429
+ shouldResolve: boolean;
430
+ parallelEntry: ParallelEntryData;
431
+ slot: string;
432
+ parallelId: string;
433
+ handler:
434
+ | ((ctx: HandlerContext<any, TEnv>) => ReactNode | Promise<ReactNode>)
435
+ | ReactNode
436
+ | undefined;
437
+ context: HandlerContext<any, TEnv>;
438
+ deps: SegmentResolutionDeps<TEnv>;
439
+ routeKey: string;
440
+ params: Record<string, string>;
441
+ }): Promise<{ component: ReactNode | undefined; handlerRan: boolean }> {
442
+ const {
443
+ shouldResolve,
444
+ parallelEntry,
445
+ slot,
446
+ parallelId,
447
+ handler,
448
+ context,
449
+ deps,
450
+ routeKey,
451
+ params,
452
+ } = args;
453
+
454
+ let component: ReactNode | undefined;
455
+ let handlerRan = false;
456
+ if (shouldResolve) {
457
+ component = await tryStaticSlot(parallelEntry, slot, parallelId);
458
+ // tryStaticSlot returning a value means the static cache supplied the
459
+ // component — handler did NOT run. handlerRan stays false.
460
+ }
461
+ if (component === undefined) {
462
+ const hasLoadingFallback =
463
+ parallelEntry.loading !== undefined && parallelEntry.loading !== false;
464
+ if (!shouldResolve) {
465
+ component = null;
466
+ } else if (handler === undefined) {
467
+ // Handler evicted (production static slot) but static lookup missed.
468
+ // Nothing to render — use null so the client keeps its cached version.
469
+ component = null;
470
+ } else {
471
+ // Slot-keyed pushes — slot owns its own bucket, parent layout owns its
472
+ // own. On slot-only revalidations the partial merge updates only the
473
+ // slot's bucket; the parent's bucket stays intact.
474
+ (context as InternalHandlerContext<any, TEnv>)._currentSegmentId =
475
+ parallelId;
476
+ handlerRan = true;
477
+ if (hasLoadingFallback) {
478
+ const result =
479
+ typeof handler === "function" ? handler(context) : handler;
480
+ if (result instanceof Promise) {
481
+ warnOnStreamedResponse(result, parallelId);
482
+ const tracked = deps.trackHandler(result, {
483
+ segmentId: parallelId,
484
+ segmentType: "parallel",
485
+ });
486
+ observeStreamedHandler(
487
+ tracked,
488
+ parallelId,
489
+ "parallel",
490
+ context.pathname,
491
+ routeKey,
492
+ params,
493
+ );
494
+ component = tracked as ReactNode;
495
+ } else {
496
+ component = result as ReactNode;
497
+ }
498
+ } else {
499
+ component =
500
+ typeof handler === "function" ? await handler(context) : handler;
501
+ }
502
+ }
503
+ }
504
+
505
+ return { component, handlerRan };
506
+ }
507
+
407
508
  /**
408
509
  * Resolve parallel segments with revalidation.
409
510
  */
@@ -421,9 +522,30 @@ export async function resolveParallelSegmentsWithRevalidation<TEnv>(
421
522
  deps: SegmentResolutionDeps<TEnv>,
422
523
  actionContext?: ActionContext,
423
524
  stale?: boolean,
525
+ options?: {
526
+ /**
527
+ * Seed for an unknown parent-chain slot (slot not in clientSegmentIds) when
528
+ * there are no deciding revalidate fns. "type-derived" (default, main path):
529
+ * `belongsToRoute || isNewParent`. "force-render" (orphan path): always
530
+ * `true` — orphan parallels always belong to the route and must render
531
+ * unless the user opts out via revalidate(); the #482 blank-parent-chain-
532
+ * slot guard.
533
+ */
534
+ parentChainDefault?: "type-derived" | "force-render";
535
+ /**
536
+ * When a slot's loaders are resolved relative to the slot segment push.
537
+ * "after" (default, main path) pushes the slot segment first; "before"
538
+ * (orphan path) resolves loaders first. This only changes the
539
+ * segments/matchedIds emission ORDER (the client reconciler is insensitive
540
+ * to it: loader sub-ids are filtered out and slots are re-grouped by parent).
541
+ */
542
+ loaderOrder?: "after" | "before";
543
+ },
424
544
  ): Promise<SegmentRevalidationResult> {
425
545
  const segments: ResolvedSegment[] = [];
426
546
  const matchedIds: string[] = [];
547
+ const parentChainDefault = options?.parentChainDefault ?? "type-derived";
548
+ const loaderOrder = options?.loaderOrder ?? "after";
427
549
 
428
550
  const resolvedParallelEntries = new Set<string>();
429
551
  for (const { slot, entry: parallelEntry } of getParallelSlotEntries(
@@ -448,44 +570,72 @@ export async function resolveParallelSegmentsWithRevalidation<TEnv>(
448
570
 
449
571
  const isFullRefetch = clientSegmentIds.size === 0;
450
572
  const isNewParent = !clientSegmentIds.has(entry.shortCode);
451
- if (
452
- isFullRefetch ||
453
- clientSegmentIds.has(parallelId) ||
454
- belongsToRoute ||
455
- isNewParent
456
- ) {
457
- matchedIds.push(parallelId);
573
+
574
+ // A slot's loaders (never cached) are deduped per parallel entry and
575
+ // emitted either before or after the slot segment per loaderOrder.
576
+ const resolveSlotLoaders = async () => {
577
+ if (resolvedParallelEntries.has(parallelEntry.id)) return;
578
+ const loaderResult = await resolveLoadersWithRevalidation(
579
+ parallelEntry,
580
+ context,
581
+ belongsToRoute,
582
+ clientSegmentIds,
583
+ prevParams,
584
+ request,
585
+ prevUrl,
586
+ nextUrl,
587
+ routeKey,
588
+ deps,
589
+ actionContext,
590
+ entry.shortCode,
591
+ stale,
592
+ );
593
+ segments.push(...loaderResult.segments);
594
+ matchedIds.push(...loaderResult.matchedIds);
595
+ resolvedParallelEntries.add(parallelEntry.id);
596
+ };
597
+
598
+ if (loaderOrder === "before") {
599
+ await resolveSlotLoaders();
458
600
  }
601
+ // Always announce the slot in matchedIds — it's unconditionally appended
602
+ // to `segments` below, and a segment present in segments but missing from
603
+ // matched lets the client prune it (then it's missing from clientSegmentIds
604
+ // on the next request, perpetuating the staleness).
605
+ matchedIds.push(parallelId);
459
606
 
460
- const shouldResolve = await (async () => {
461
- if (isFullRefetch) {
462
- if (isTraceActive()) {
463
- pushRevalidationTraceEntry({
464
- segmentId: parallelId,
465
- segmentType: "parallel",
466
- belongsToRoute,
467
- source: "parallel",
468
- defaultShouldRevalidate: true,
469
- finalShouldRevalidate: true,
470
- reason: "full-refetch",
471
- });
472
- }
473
- return true;
474
- }
607
+ let shouldResolve: boolean;
608
+ if (isFullRefetch) {
609
+ // Client has nothing cached — slot MUST render. User revalidate fns are
610
+ // bypassed here because returning false would leave the segment blank
611
+ // with no client-side fallback.
612
+ traceFullRefetchedParallelSlot(parallelId, belongsToRoute);
613
+ shouldResolve = true;
614
+ } else {
615
+ // For non-empty client sets, consult user revalidate fns. When the slot
616
+ // is unknown to the client, override the type-derived default so the
617
+ // soft chain seeds with the right "new segment" / "parent-chain" value.
618
+ //
619
+ // A "new segment" seed is floored: the client has no cached copy of this
620
+ // slot, so a user `false` would render component:null and leave it blank
621
+ // rather than keep anything. Sibling resolvers (loaders, layout/route
622
+ // entries, orphan layouts) get the same guarantee by short-circuiting
623
+ // without consulting user fns at all; #482 made this path consult them so
624
+ // a "skip-parent-chain" seed could still be raised, so floor instead of
625
+ // short-circuiting — user fns run, and may only raise.
626
+ let defaultOverride:
627
+ | { value: boolean; reason: string; floor?: boolean }
628
+ | undefined;
475
629
  if (!clientSegmentIds.has(parallelId)) {
476
- const result = belongsToRoute || isNewParent;
477
- if (isTraceActive()) {
478
- pushRevalidationTraceEntry({
479
- segmentId: parallelId,
480
- segmentType: "parallel",
481
- belongsToRoute,
482
- source: "parallel",
483
- defaultShouldRevalidate: result,
484
- finalShouldRevalidate: result,
485
- reason: result ? "new-segment" : "skip-parent-chain",
486
- });
487
- }
488
- return result;
630
+ const value =
631
+ parentChainDefault === "force-render"
632
+ ? true
633
+ : belongsToRoute || isNewParent;
634
+ defaultOverride = {
635
+ value,
636
+ reason: value ? "new-segment" : "skip-parent-chain",
637
+ floor: value,
638
+ };
489
639
  }
490
640
 
491
641
  const dummySegment: ResolvedSegment = {
@@ -503,7 +653,7 @@ export async function resolveParallelSegmentsWithRevalidation<TEnv>(
503
653
  : {}),
504
654
  };
505
655
 
506
- return await evaluateRevalidation({
656
+ shouldResolve = await evaluateRevalidation({
507
657
  segment: dummySegment,
508
658
  prevParams,
509
659
  getPrevSegment: null,
@@ -519,8 +669,9 @@ export async function resolveParallelSegmentsWithRevalidation<TEnv>(
519
669
  actionContext,
520
670
  stale,
521
671
  traceSource: "parallel",
672
+ defaultOverride,
522
673
  });
523
- })();
674
+ }
524
675
  emitRevalidationDecision(
525
676
  parallelId,
526
677
  context.pathname,
@@ -528,44 +679,17 @@ export async function resolveParallelSegmentsWithRevalidation<TEnv>(
528
679
  shouldResolve,
529
680
  );
530
681
 
531
- let component: ReactNode | undefined;
532
- if (shouldResolve) {
533
- component = await tryStaticSlot(parallelEntry, slot, parallelId);
534
- }
535
- if (component === undefined) {
536
- const hasLoadingFallback =
537
- parallelEntry.loading !== undefined && parallelEntry.loading !== false;
538
- if (!shouldResolve) {
539
- component = null;
540
- } else if (handler === undefined) {
541
- // Handler evicted (production static slot) but static lookup missed.
542
- // Nothing to render — use null so the client keeps its cached version.
543
- component = null;
544
- } else if (hasLoadingFallback) {
545
- const result =
546
- typeof handler === "function" ? handler(context) : handler;
547
- if (result instanceof Promise) {
548
- const tracked = deps.trackHandler(result, {
549
- segmentId: parallelId,
550
- segmentType: "parallel",
551
- });
552
- observeStreamedHandler(
553
- tracked,
554
- parallelId,
555
- "parallel",
556
- context.pathname,
557
- routeKey,
558
- params,
559
- );
560
- component = tracked as ReactNode;
561
- } else {
562
- component = result as ReactNode;
563
- }
564
- } else {
565
- component =
566
- typeof handler === "function" ? await handler(context) : handler;
567
- }
568
- }
682
+ const { component, handlerRan } = await resolveParallelSlotComponent({
683
+ shouldResolve,
684
+ parallelEntry,
685
+ slot,
686
+ parallelId,
687
+ handler,
688
+ context,
689
+ deps,
690
+ routeKey,
691
+ params,
692
+ });
569
693
 
570
694
  segments.push({
571
695
  id: parallelId,
@@ -574,9 +698,14 @@ export async function resolveParallelSegmentsWithRevalidation<TEnv>(
574
698
  index: 0,
575
699
  component,
576
700
  loading: parallelEntry.loading === false ? null : parallelEntry.loading,
577
- transition: parallelEntry.transition,
701
+ transition: applyViewTransitionDefault(
702
+ parallelEntry.transition,
703
+ deps.viewTransitionDefault,
704
+ parallelId,
705
+ ),
578
706
  params,
579
707
  slot,
708
+ _handlerRan: handlerRan,
580
709
  belongsToRoute,
581
710
  parallelName: `${parallelEntry.id}.${slot}`,
582
711
  ...(parallelEntry.mountPath
@@ -584,28 +713,9 @@ export async function resolveParallelSegmentsWithRevalidation<TEnv>(
584
713
  : {}),
585
714
  });
586
715
 
587
- if (resolvedParallelEntries.has(parallelEntry.id)) {
588
- continue;
716
+ if (loaderOrder === "after") {
717
+ await resolveSlotLoaders();
589
718
  }
590
-
591
- const loaderResult = await resolveLoadersWithRevalidation(
592
- parallelEntry,
593
- context,
594
- belongsToRoute,
595
- clientSegmentIds,
596
- prevParams,
597
- request,
598
- prevUrl,
599
- nextUrl,
600
- routeKey,
601
- deps,
602
- actionContext,
603
- entry.shortCode,
604
- stale,
605
- );
606
- segments.push(...loaderResult.segments);
607
- matchedIds.push(...loaderResult.matchedIds);
608
- resolvedParallelEntries.add(parallelEntry.id);
609
719
  }
610
720
 
611
721
  return { segments, matchedIds };
@@ -631,6 +741,7 @@ export async function resolveEntryHandlerWithRevalidation<TEnv>(
631
741
  ): Promise<{ segment: ResolvedSegment; matchedId: string }> {
632
742
  const matchedId = entry.shortCode;
633
743
 
744
+ let handlerRan = false;
634
745
  const component = await revalidate(
635
746
  async () => {
636
747
  const hasSegment = clientSegmentIds.has(entry.shortCode);
@@ -707,6 +818,7 @@ export async function resolveEntryHandlerWithRevalidation<TEnv>(
707
818
  return shouldRevalidate;
708
819
  },
709
820
  async () => {
821
+ handlerRan = true;
710
822
  const doneHandler = track(`handler:${entry.id}`, 2);
711
823
  (context as InternalHandlerContext<any, TEnv>)._currentSegmentId =
712
824
  entry.shortCode;
@@ -729,13 +841,18 @@ export async function resolveEntryHandlerWithRevalidation<TEnv>(
729
841
  ? routeEntry.liveHandler
730
842
  : routeEntry.handler;
731
843
  if (!routeEntry.loading) {
732
- const result = handleHandlerResult(await handler(context));
844
+ const result = handleHandlerResult(
845
+ await observeHandler(entry.id, handler, context),
846
+ );
733
847
  doneHandler();
734
848
  return result;
735
849
  }
736
850
  if (!actionContext) {
737
- const result = handleHandlerResult(handler(context));
851
+ const result = handleHandlerResult(
852
+ observeHandler(entry.id, handler, context),
853
+ );
738
854
  if (result instanceof Promise) {
855
+ warnOnStreamedResponse(result, routeEntry.id);
739
856
  result.finally(doneHandler).catch(() => {});
740
857
  const tracked = deps.trackHandler(result, {
741
858
  segmentId: entry.shortCode,
@@ -757,7 +874,9 @@ export async function resolveEntryHandlerWithRevalidation<TEnv>(
757
874
  debugLog("segment.action", "resolving action route with awaited value", {
758
875
  entryId: entry.id,
759
876
  });
760
- const actionResult = handleHandlerResult(await handler(context));
877
+ const actionResult = handleHandlerResult(
878
+ await observeHandler(entry.id, handler, context),
879
+ );
761
880
  doneHandler();
762
881
  return {
763
882
  content: Promise.resolve(actionResult),
@@ -781,13 +900,18 @@ export async function resolveEntryHandlerWithRevalidation<TEnv>(
781
900
  index: 0,
782
901
  component: resolvedComponent,
783
902
  loading: entry.loading === false ? null : entry.loading,
784
- transition: entry.transition,
903
+ transition: applyViewTransitionDefault(
904
+ entry.transition,
905
+ deps.viewTransitionDefault,
906
+ entry.shortCode,
907
+ ),
785
908
  params,
786
909
  belongsToRoute,
787
910
  ...(entry.type === "layout" || entry.type === "cache"
788
911
  ? { layoutName: entry.id }
789
912
  : {}),
790
913
  ...(entry.mountPath ? { mountPath: entry.mountPath } : {}),
914
+ _handlerRan: handlerRan,
791
915
  };
792
916
 
793
917
  return { segment, matchedId };
@@ -806,7 +930,6 @@ export async function resolveSegmentWithRevalidation<TEnv>(
806
930
  request: Request,
807
931
  prevUrl: URL,
808
932
  nextUrl: URL,
809
- loaderPromises: Map<string, Promise<any>>,
810
933
  deps: SegmentResolutionDeps<TEnv>,
811
934
  actionContext?: ActionContext,
812
935
  stale?: boolean,
@@ -868,7 +991,6 @@ export async function resolveSegmentWithRevalidation<TEnv>(
868
991
  prevUrl,
869
992
  nextUrl,
870
993
  routeKey,
871
- loaderPromises,
872
994
  true,
873
995
  deps,
874
996
  actionContext,
@@ -953,7 +1075,6 @@ export async function resolveSegmentWithRevalidation<TEnv>(
953
1075
  prevUrl,
954
1076
  nextUrl,
955
1077
  routeKey,
956
- loaderPromises,
957
1078
  false,
958
1079
  deps,
959
1080
  actionContext,
@@ -980,7 +1101,6 @@ export async function resolveOrphanLayoutWithRevalidation<TEnv>(
980
1101
  prevUrl: URL,
981
1102
  nextUrl: URL,
982
1103
  routeKey: string,
983
- loaderPromises: Map<string, Promise<any>>,
984
1104
  belongsToRoute: boolean,
985
1105
  deps: SegmentResolutionDeps<TEnv>,
986
1106
  actionContext?: ActionContext,
@@ -1117,166 +1237,41 @@ export async function resolveOrphanLayoutWithRevalidation<TEnv>(
1117
1237
  belongsToRoute,
1118
1238
  layoutName: orphan.id,
1119
1239
  loading: orphan.loading === false ? null : orphan.loading,
1120
- transition: orphan.transition,
1240
+ transition: applyViewTransitionDefault(
1241
+ orphan.transition,
1242
+ deps.viewTransitionDefault,
1243
+ orphan.shortCode,
1244
+ ),
1121
1245
  ...(orphan.mountPath ? { mountPath: orphan.mountPath } : {}),
1122
1246
  });
1123
1247
 
1124
- const resolvedParallelEntries = new Set<string>();
1125
- for (const { slot, entry: parallelEntry } of getParallelSlotEntries(
1126
- orphan.parallel,
1127
- )) {
1128
- invariant(
1129
- parallelEntry.type === "parallel",
1130
- `Expected parallel entry, got: ${parallelEntry.type}`,
1131
- );
1132
-
1133
- if (!resolvedParallelEntries.has(parallelEntry.id)) {
1134
- // shortCodeOverride must match the parent layout, not the parallel entry.
1135
- const loaderResult = await resolveLoadersWithRevalidation(
1136
- parallelEntry,
1137
- context,
1138
- belongsToRoute,
1139
- clientSegmentIds,
1140
- prevParams,
1141
- request,
1142
- prevUrl,
1143
- nextUrl,
1144
- routeKey,
1145
- deps,
1146
- actionContext,
1147
- orphan.shortCode,
1148
- stale,
1149
- );
1150
- segments.push(...loaderResult.segments);
1151
- matchedIds.push(...loaderResult.matchedIds);
1152
- resolvedParallelEntries.add(parallelEntry.id);
1153
- }
1154
-
1155
- const slots = parallelEntry.handler as Record<
1156
- `@${string}`,
1157
- | ((ctx: HandlerContext<any, TEnv>) => ReactNode | Promise<ReactNode>)
1158
- | ReactNode
1159
- >;
1160
- // Handler may be undefined in production after static handler eviction.
1161
- const handler = slots[slot];
1162
-
1163
- // Use orphan.shortCode (the parent layout) to match the SSR path
1164
- // (resolveParallelEntry receives parentShortCode = orphan.shortCode).
1165
- // Using parallelEntry.shortCode would generate IDs the client doesn't know about.
1166
- const parallelId = `${orphan.shortCode}.${slot}`;
1167
- matchedIds.push(parallelId);
1168
-
1169
- const shouldResolve = await (async () => {
1170
- if (!clientSegmentIds.has(parallelId)) {
1171
- if (isTraceActive()) {
1172
- pushRevalidationTraceEntry({
1173
- segmentId: parallelId,
1174
- segmentType: "parallel",
1175
- belongsToRoute,
1176
- source: "parallel",
1177
- defaultShouldRevalidate: true,
1178
- finalShouldRevalidate: true,
1179
- reason: "new-segment",
1180
- });
1181
- }
1182
- return true;
1183
- }
1184
-
1185
- const dummySegment: ResolvedSegment = {
1186
- id: parallelId,
1187
- namespace: parallelEntry.id,
1188
- type: "parallel",
1189
- index: 0,
1190
- component: null as any,
1191
- params,
1192
- slot,
1193
- belongsToRoute,
1194
- parallelName: `${parallelEntry.id}.${slot}`,
1195
- ...(parallelEntry.mountPath
1196
- ? { mountPath: parallelEntry.mountPath }
1197
- : {}),
1198
- };
1199
-
1200
- return await evaluateRevalidation({
1201
- segment: dummySegment,
1202
- prevParams,
1203
- getPrevSegment: null,
1204
- request,
1205
- prevUrl,
1206
- nextUrl,
1207
- revalidations: parallelEntry.revalidate.map((fn, i) => ({
1208
- name: `revalidate${i}`,
1209
- fn,
1210
- })),
1211
- routeKey,
1212
- context,
1213
- actionContext,
1214
- stale,
1215
- traceSource: "parallel",
1216
- });
1217
- })();
1218
- emitRevalidationDecision(
1219
- parallelId,
1220
- context.pathname,
1221
- routeKey,
1222
- shouldResolve,
1223
- );
1224
-
1225
- let component: ReactNode | undefined;
1226
- if (shouldResolve) {
1227
- component = await tryStaticSlot(parallelEntry, slot, parallelId);
1228
- }
1229
- if (component === undefined) {
1230
- const hasLoadingFallback =
1231
- parallelEntry.loading !== undefined && parallelEntry.loading !== false;
1232
- if (!shouldResolve) {
1233
- component = null;
1234
- } else if (handler === undefined) {
1235
- // Handler evicted (production static slot) but static lookup missed.
1236
- component = null;
1237
- } else if (hasLoadingFallback) {
1238
- const result =
1239
- typeof handler === "function" ? handler(context) : handler;
1240
- if (result instanceof Promise) {
1241
- const tracked = deps.trackHandler(result, {
1242
- segmentId: parallelId,
1243
- segmentType: "parallel",
1244
- });
1245
- observeStreamedHandler(
1246
- tracked,
1247
- parallelId,
1248
- "parallel",
1249
- context.pathname,
1250
- routeKey,
1251
- params,
1252
- );
1253
- component = tracked as ReactNode;
1254
- } else {
1255
- component = result as ReactNode;
1256
- }
1257
- } else {
1258
- component =
1259
- typeof handler === "function" ? await handler(context) : handler;
1260
- }
1261
- }
1262
-
1263
- segments.push({
1264
- id: parallelId,
1265
- namespace: parallelEntry.id,
1266
- type: "parallel",
1267
- index: 0,
1268
- component,
1269
- loading: parallelEntry.loading === false ? null : parallelEntry.loading,
1270
- transition: parallelEntry.transition,
1271
- params,
1272
- slot,
1273
- belongsToRoute,
1274
- parallelName: `${parallelEntry.id}.${slot}`,
1275
- ...(parallelEntry.mountPath
1276
- ? { mountPath: parallelEntry.mountPath }
1277
- : {}),
1278
- });
1279
- }
1248
+ // Resolve the orphan layout's parallel slots through the shared main-path
1249
+ // helper. The orphan policy is carried by explicit args, byte-for-byte:
1250
+ // - parentChainDefault "force-render": an unknown parent-chain slot seeds
1251
+ // `true` (orphan parallels always belong to the route — the #482 guard),
1252
+ // where the main path would seed `belongsToRoute || isNewParent`.
1253
+ // - loaderOrder "before": a slot's loaders are emitted before the slot
1254
+ // segment, matching the prior inlined order.
1255
+ // `entry.shortCode` inside the helper is `orphan.shortCode` (orphan is passed
1256
+ // as `entry`), so the parallel ids + loader shortCodeOverride are unchanged.
1257
+ const parallelResult = await resolveParallelSegmentsWithRevalidation(
1258
+ orphan,
1259
+ params,
1260
+ context,
1261
+ belongsToRoute,
1262
+ clientSegmentIds,
1263
+ prevParams,
1264
+ request,
1265
+ prevUrl,
1266
+ nextUrl,
1267
+ routeKey,
1268
+ deps,
1269
+ actionContext,
1270
+ stale,
1271
+ { parentChainDefault: "force-render", loaderOrder: "before" },
1272
+ );
1273
+ segments.push(...parallelResult.segments);
1274
+ matchedIds.push(...parallelResult.matchedIds);
1280
1275
 
1281
1276
  return { segments, matchedIds };
1282
1277
  }
@@ -1294,7 +1289,6 @@ export async function resolveAllSegmentsWithRevalidation<TEnv>(
1294
1289
  request: Request,
1295
1290
  prevUrl: URL,
1296
1291
  nextUrl: URL,
1297
- loaderPromises: Map<string, Promise<any>>,
1298
1292
  actionContext: ActionContext | undefined,
1299
1293
  interceptResult: { intercept: any; entry: EntryData } | null,
1300
1294
  localRouteName: string,
@@ -1307,6 +1301,9 @@ export async function resolveAllSegmentsWithRevalidation<TEnv>(
1307
1301
  const seenSegIds = new Set<string>();
1308
1302
  const seenMatchIds = new Set<string>();
1309
1303
 
1304
+ // ppr header-write guard latch — see resolveAllSegments (fresh.ts).
1305
+ latchPprHeaderScopeForEntries(entries, routeKey);
1306
+
1310
1307
  const telemetry = getRouterContext()?.telemetry;
1311
1308
 
1312
1309
  for (const entry of entries) {
@@ -1328,8 +1325,9 @@ export async function resolveAllSegmentsWithRevalidation<TEnv>(
1328
1325
 
1329
1326
  const nonParallelEntry = entry as Exclude<EntryData, { type: "parallel" }>;
1330
1327
  if (entry.type === "cache") {
1331
- const store = RSCRouterContext.getStore();
1328
+ const store = RangoContext.getStore();
1332
1329
  if (store) store.insideCacheScope = true;
1330
+ latchCachedHeaderScope("cache", routeKey);
1333
1331
  }
1334
1332
  const doneEntry = track(`segment:${entry.id}`, 1);
1335
1333
  const resolved = await resolveWithErrorBoundary(
@@ -1346,7 +1344,6 @@ export async function resolveAllSegmentsWithRevalidation<TEnv>(
1346
1344
  request,
1347
1345
  prevUrl,
1348
1346
  nextUrl,
1349
- loaderPromises,
1350
1347
  deps,
1351
1348
  actionContext,
1352
1349
  stale,