@rangojs/router 0.4.1 → 0.4.2

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 (827) hide show
  1. package/dist/__internal.d.ts +83 -0
  2. package/dist/__internal.d.ts.map +1 -0
  3. package/dist/__internal.js +19 -0
  4. package/dist/__internal.js.map +1 -0
  5. package/dist/__mocks__/version.d.ts +7 -0
  6. package/dist/__mocks__/version.d.ts.map +1 -0
  7. package/dist/__mocks__/version.js +7 -0
  8. package/dist/__mocks__/version.js.map +1 -0
  9. package/dist/__tests__/client-href.test.d.ts +2 -0
  10. package/dist/__tests__/client-href.test.d.ts.map +1 -0
  11. package/dist/__tests__/client-href.test.js +74 -0
  12. package/dist/__tests__/client-href.test.js.map +1 -0
  13. package/dist/__tests__/component-utils.test.d.ts +2 -0
  14. package/dist/__tests__/component-utils.test.d.ts.map +1 -0
  15. package/dist/__tests__/component-utils.test.js +51 -0
  16. package/dist/__tests__/component-utils.test.js.map +1 -0
  17. package/dist/__tests__/event-controller.test.d.ts +2 -0
  18. package/dist/__tests__/event-controller.test.d.ts.map +1 -0
  19. package/dist/__tests__/event-controller.test.js +538 -0
  20. package/dist/__tests__/event-controller.test.js.map +1 -0
  21. package/dist/__tests__/helpers/route-tree.d.ts +118 -0
  22. package/dist/__tests__/helpers/route-tree.d.ts.map +1 -0
  23. package/dist/__tests__/helpers/route-tree.js +374 -0
  24. package/dist/__tests__/helpers/route-tree.js.map +1 -0
  25. package/dist/__tests__/match-result.test.d.ts +2 -0
  26. package/dist/__tests__/match-result.test.d.ts.map +1 -0
  27. package/dist/__tests__/match-result.test.js +154 -0
  28. package/dist/__tests__/match-result.test.js.map +1 -0
  29. package/dist/__tests__/navigation-store.test.d.ts +2 -0
  30. package/dist/__tests__/navigation-store.test.d.ts.map +1 -0
  31. package/dist/__tests__/navigation-store.test.js +440 -0
  32. package/dist/__tests__/navigation-store.test.js.map +1 -0
  33. package/dist/__tests__/partial-update.test.d.ts +2 -0
  34. package/dist/__tests__/partial-update.test.d.ts.map +1 -0
  35. package/dist/__tests__/partial-update.test.js +1009 -0
  36. package/dist/__tests__/partial-update.test.js.map +1 -0
  37. package/dist/__tests__/reverse-types.test.d.ts +8 -0
  38. package/dist/__tests__/reverse-types.test.d.ts.map +1 -0
  39. package/dist/__tests__/reverse-types.test.js +656 -0
  40. package/dist/__tests__/reverse-types.test.js.map +1 -0
  41. package/dist/__tests__/route-definition.test.d.ts +2 -0
  42. package/dist/__tests__/route-definition.test.d.ts.map +1 -0
  43. package/dist/__tests__/route-definition.test.js +55 -0
  44. package/dist/__tests__/route-definition.test.js.map +1 -0
  45. package/dist/__tests__/router-helpers.test.d.ts +2 -0
  46. package/dist/__tests__/router-helpers.test.d.ts.map +1 -0
  47. package/dist/__tests__/router-helpers.test.js +377 -0
  48. package/dist/__tests__/router-helpers.test.js.map +1 -0
  49. package/dist/__tests__/router-integration-2.test.d.ts +2 -0
  50. package/dist/__tests__/router-integration-2.test.d.ts.map +1 -0
  51. package/dist/__tests__/router-integration-2.test.js +426 -0
  52. package/dist/__tests__/router-integration-2.test.js.map +1 -0
  53. package/dist/__tests__/router-integration.test.d.ts +2 -0
  54. package/dist/__tests__/router-integration.test.d.ts.map +1 -0
  55. package/dist/__tests__/router-integration.test.js +1051 -0
  56. package/dist/__tests__/router-integration.test.js.map +1 -0
  57. package/dist/__tests__/search-params.test.d.ts +5 -0
  58. package/dist/__tests__/search-params.test.d.ts.map +1 -0
  59. package/dist/__tests__/search-params.test.js +306 -0
  60. package/dist/__tests__/search-params.test.js.map +1 -0
  61. package/dist/__tests__/segment-system.test.d.ts +2 -0
  62. package/dist/__tests__/segment-system.test.d.ts.map +1 -0
  63. package/dist/__tests__/segment-system.test.js +627 -0
  64. package/dist/__tests__/segment-system.test.js.map +1 -0
  65. package/dist/__tests__/static-handler-types.test.d.ts +8 -0
  66. package/dist/__tests__/static-handler-types.test.d.ts.map +1 -0
  67. package/dist/__tests__/static-handler-types.test.js +63 -0
  68. package/dist/__tests__/static-handler-types.test.js.map +1 -0
  69. package/dist/__tests__/urls.test.d.ts +2 -0
  70. package/dist/__tests__/urls.test.d.ts.map +1 -0
  71. package/dist/__tests__/urls.test.js +421 -0
  72. package/dist/__tests__/urls.test.js.map +1 -0
  73. package/dist/__tests__/use-mount.test.d.ts +2 -0
  74. package/dist/__tests__/use-mount.test.d.ts.map +1 -0
  75. package/dist/__tests__/use-mount.test.js +35 -0
  76. package/dist/__tests__/use-mount.test.js.map +1 -0
  77. package/dist/bin/rango.d.ts +2 -0
  78. package/dist/bin/rango.d.ts.map +1 -0
  79. package/dist/bin/rango.js.map +1 -0
  80. package/dist/browser/event-controller.d.ts +191 -0
  81. package/dist/browser/event-controller.d.ts.map +1 -0
  82. package/dist/browser/event-controller.js +559 -0
  83. package/dist/browser/event-controller.js.map +1 -0
  84. package/dist/browser/index.d.ts +2 -0
  85. package/dist/browser/index.d.ts.map +1 -0
  86. package/dist/browser/index.js +14 -0
  87. package/dist/browser/index.js.map +1 -0
  88. package/dist/browser/link-interceptor.d.ts +38 -0
  89. package/dist/browser/link-interceptor.d.ts.map +1 -0
  90. package/dist/browser/link-interceptor.js +99 -0
  91. package/dist/browser/link-interceptor.js.map +1 -0
  92. package/dist/browser/logging.d.ts +10 -0
  93. package/dist/browser/logging.d.ts.map +1 -0
  94. package/dist/browser/logging.js +29 -0
  95. package/dist/browser/logging.js.map +1 -0
  96. package/dist/browser/lru-cache.d.ts +17 -0
  97. package/dist/browser/lru-cache.d.ts.map +1 -0
  98. package/dist/browser/lru-cache.js +50 -0
  99. package/dist/browser/lru-cache.js.map +1 -0
  100. package/dist/browser/merge-segment-loaders.d.ts +39 -0
  101. package/dist/browser/merge-segment-loaders.d.ts.map +1 -0
  102. package/dist/browser/merge-segment-loaders.js +102 -0
  103. package/dist/browser/merge-segment-loaders.js.map +1 -0
  104. package/dist/browser/navigation-bridge.d.ts +102 -0
  105. package/dist/browser/navigation-bridge.d.ts.map +1 -0
  106. package/dist/browser/navigation-bridge.js +708 -0
  107. package/dist/browser/navigation-bridge.js.map +1 -0
  108. package/dist/browser/navigation-client.d.ts +25 -0
  109. package/dist/browser/navigation-client.d.ts.map +1 -0
  110. package/dist/browser/navigation-client.js +157 -0
  111. package/dist/browser/navigation-client.js.map +1 -0
  112. package/dist/browser/navigation-store.d.ts +101 -0
  113. package/dist/browser/navigation-store.d.ts.map +1 -0
  114. package/dist/browser/navigation-store.js +625 -0
  115. package/dist/browser/navigation-store.js.map +1 -0
  116. package/dist/browser/partial-update.d.ts +75 -0
  117. package/dist/browser/partial-update.d.ts.map +1 -0
  118. package/dist/browser/partial-update.js +426 -0
  119. package/dist/browser/partial-update.js.map +1 -0
  120. package/dist/browser/react/Link.d.ts +86 -0
  121. package/dist/browser/react/Link.d.ts.map +1 -0
  122. package/dist/browser/react/Link.js +128 -0
  123. package/dist/browser/react/Link.js.map +1 -0
  124. package/dist/browser/react/NavigationProvider.d.ts +63 -0
  125. package/dist/browser/react/NavigationProvider.d.ts.map +1 -0
  126. package/dist/browser/react/NavigationProvider.js +216 -0
  127. package/dist/browser/react/NavigationProvider.js.map +1 -0
  128. package/dist/browser/react/ScrollRestoration.d.ts +75 -0
  129. package/dist/browser/react/ScrollRestoration.d.ts.map +1 -0
  130. package/dist/browser/react/ScrollRestoration.js +57 -0
  131. package/dist/browser/react/ScrollRestoration.js.map +1 -0
  132. package/dist/browser/react/context.d.ts +46 -0
  133. package/dist/browser/react/context.d.ts.map +1 -0
  134. package/dist/browser/react/context.js +10 -0
  135. package/dist/browser/react/context.js.map +1 -0
  136. package/dist/browser/react/index.d.ts +11 -0
  137. package/dist/browser/react/index.d.ts.map +1 -0
  138. package/dist/browser/react/index.js +22 -0
  139. package/dist/browser/react/index.js.map +1 -0
  140. package/dist/browser/react/location-state-shared.d.ts +63 -0
  141. package/dist/browser/react/location-state-shared.d.ts.map +1 -0
  142. package/dist/browser/react/location-state-shared.js +81 -0
  143. package/dist/browser/react/location-state-shared.js.map +1 -0
  144. package/dist/browser/react/location-state.d.ts +23 -0
  145. package/dist/browser/react/location-state.d.ts.map +1 -0
  146. package/dist/browser/react/location-state.js +29 -0
  147. package/dist/browser/react/location-state.js.map +1 -0
  148. package/dist/browser/react/mount-context.d.ts +24 -0
  149. package/dist/browser/react/mount-context.d.ts.map +1 -0
  150. package/dist/browser/react/mount-context.js +24 -0
  151. package/dist/browser/react/mount-context.js.map +1 -0
  152. package/dist/browser/react/use-action.d.ts +64 -0
  153. package/dist/browser/react/use-action.d.ts.map +1 -0
  154. package/dist/browser/react/use-action.js +134 -0
  155. package/dist/browser/react/use-action.js.map +1 -0
  156. package/dist/browser/react/use-client-cache.d.ts +41 -0
  157. package/dist/browser/react/use-client-cache.d.ts.map +1 -0
  158. package/dist/browser/react/use-client-cache.js +39 -0
  159. package/dist/browser/react/use-client-cache.js.map +1 -0
  160. package/dist/browser/react/use-handle.d.ts +31 -0
  161. package/dist/browser/react/use-handle.d.ts.map +1 -0
  162. package/dist/browser/react/use-handle.js +144 -0
  163. package/dist/browser/react/use-handle.js.map +1 -0
  164. package/dist/browser/react/use-href.d.ts +33 -0
  165. package/dist/browser/react/use-href.d.ts.map +1 -0
  166. package/dist/browser/react/use-href.js +39 -0
  167. package/dist/browser/react/use-href.js.map +1 -0
  168. package/dist/browser/react/use-link-status.d.ts +37 -0
  169. package/dist/browser/react/use-link-status.d.ts.map +1 -0
  170. package/dist/browser/react/use-link-status.js +99 -0
  171. package/dist/browser/react/use-link-status.js.map +1 -0
  172. package/dist/browser/react/use-mount.d.ts +25 -0
  173. package/dist/browser/react/use-mount.d.ts.map +1 -0
  174. package/dist/browser/react/use-mount.js +30 -0
  175. package/dist/browser/react/use-mount.js.map +1 -0
  176. package/dist/browser/react/use-navigation.d.ts +27 -0
  177. package/dist/browser/react/use-navigation.d.ts.map +1 -0
  178. package/dist/browser/react/use-navigation.js +87 -0
  179. package/dist/browser/react/use-navigation.js.map +1 -0
  180. package/dist/browser/react/use-segments.d.ts +38 -0
  181. package/dist/browser/react/use-segments.d.ts.map +1 -0
  182. package/dist/browser/react/use-segments.js +130 -0
  183. package/dist/browser/react/use-segments.js.map +1 -0
  184. package/dist/browser/request-controller.d.ts +26 -0
  185. package/dist/browser/request-controller.d.ts.map +1 -0
  186. package/dist/browser/request-controller.js +147 -0
  187. package/dist/browser/request-controller.js.map +1 -0
  188. package/dist/browser/rsc-router.d.ts +129 -0
  189. package/dist/browser/rsc-router.d.ts.map +1 -0
  190. package/dist/browser/rsc-router.js +195 -0
  191. package/dist/browser/rsc-router.js.map +1 -0
  192. package/dist/browser/scroll-restoration.d.ts +93 -0
  193. package/dist/browser/scroll-restoration.d.ts.map +1 -0
  194. package/dist/browser/scroll-restoration.js +321 -0
  195. package/dist/browser/scroll-restoration.js.map +1 -0
  196. package/dist/browser/segment-structure-assert.d.ts +17 -0
  197. package/dist/browser/segment-structure-assert.d.ts.map +1 -0
  198. package/dist/browser/segment-structure-assert.js +59 -0
  199. package/dist/browser/segment-structure-assert.js.map +1 -0
  200. package/dist/browser/server-action-bridge.d.ts +26 -0
  201. package/dist/browser/server-action-bridge.d.ts.map +1 -0
  202. package/dist/browser/server-action-bridge.js +668 -0
  203. package/dist/browser/server-action-bridge.js.map +1 -0
  204. package/dist/browser/shallow.d.ts +12 -0
  205. package/dist/browser/shallow.d.ts.map +1 -0
  206. package/dist/browser/shallow.js +34 -0
  207. package/dist/browser/shallow.js.map +1 -0
  208. package/dist/browser/types.d.ts +369 -0
  209. package/dist/browser/types.d.ts.map +1 -0
  210. package/dist/browser/types.js +2 -0
  211. package/dist/browser/types.js.map +1 -0
  212. package/dist/build/__tests__/generate-cli.test.d.ts +2 -0
  213. package/dist/build/__tests__/generate-cli.test.d.ts.map +1 -0
  214. package/dist/build/__tests__/generate-cli.test.js +237 -0
  215. package/dist/build/__tests__/generate-cli.test.js.map +1 -0
  216. package/dist/build/__tests__/generate-manifest.test.d.ts +2 -0
  217. package/dist/build/__tests__/generate-manifest.test.d.ts.map +1 -0
  218. package/dist/build/__tests__/generate-manifest.test.js +119 -0
  219. package/dist/build/__tests__/generate-manifest.test.js.map +1 -0
  220. package/dist/build/__tests__/generate-route-types.test.d.ts +2 -0
  221. package/dist/build/__tests__/generate-route-types.test.d.ts.map +1 -0
  222. package/dist/build/__tests__/generate-route-types.test.js +620 -0
  223. package/dist/build/__tests__/generate-route-types.test.js.map +1 -0
  224. package/dist/build/__tests__/per-router-manifest.test.d.ts +2 -0
  225. package/dist/build/__tests__/per-router-manifest.test.d.ts.map +1 -0
  226. package/dist/build/__tests__/per-router-manifest.test.js +308 -0
  227. package/dist/build/__tests__/per-router-manifest.test.js.map +1 -0
  228. package/dist/build/generate-manifest.d.ts +81 -0
  229. package/dist/build/generate-manifest.d.ts.map +1 -0
  230. package/dist/build/generate-manifest.js +276 -0
  231. package/dist/build/generate-manifest.js.map +1 -0
  232. package/dist/build/generate-route-types.d.ts +115 -0
  233. package/dist/build/generate-route-types.d.ts.map +1 -0
  234. package/dist/build/generate-route-types.js +740 -0
  235. package/dist/build/generate-route-types.js.map +1 -0
  236. package/dist/build/index.d.ts +21 -0
  237. package/dist/build/index.d.ts.map +1 -0
  238. package/dist/build/index.js +21 -0
  239. package/dist/build/index.js.map +1 -0
  240. package/dist/build/route-trie.d.ts +71 -0
  241. package/dist/build/route-trie.d.ts.map +1 -0
  242. package/dist/build/route-trie.js +175 -0
  243. package/dist/build/route-trie.js.map +1 -0
  244. package/dist/cache/__tests__/cache-scope.test.d.ts +2 -0
  245. package/dist/cache/__tests__/cache-scope.test.d.ts.map +1 -0
  246. package/dist/cache/__tests__/cache-scope.test.js +208 -0
  247. package/dist/cache/__tests__/cache-scope.test.js.map +1 -0
  248. package/dist/cache/__tests__/document-cache.test.d.ts +2 -0
  249. package/dist/cache/__tests__/document-cache.test.d.ts.map +1 -0
  250. package/dist/cache/__tests__/document-cache.test.js +345 -0
  251. package/dist/cache/__tests__/document-cache.test.js.map +1 -0
  252. package/dist/cache/__tests__/memory-segment-store.test.d.ts +2 -0
  253. package/dist/cache/__tests__/memory-segment-store.test.d.ts.map +1 -0
  254. package/dist/cache/__tests__/memory-segment-store.test.js +425 -0
  255. package/dist/cache/__tests__/memory-segment-store.test.js.map +1 -0
  256. package/dist/cache/__tests__/memory-store.test.d.ts +2 -0
  257. package/dist/cache/__tests__/memory-store.test.d.ts.map +1 -0
  258. package/dist/cache/__tests__/memory-store.test.js +367 -0
  259. package/dist/cache/__tests__/memory-store.test.js.map +1 -0
  260. package/dist/cache/cache-scope.d.ts +102 -0
  261. package/dist/cache/cache-scope.d.ts.map +1 -0
  262. package/dist/cache/cache-scope.js +440 -0
  263. package/dist/cache/cache-scope.js.map +1 -0
  264. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts +2 -0
  265. package/dist/cache/cf/__tests__/cf-cache-store.test.d.ts.map +1 -0
  266. package/dist/cache/cf/__tests__/cf-cache-store.test.js +330 -0
  267. package/dist/cache/cf/__tests__/cf-cache-store.test.js.map +1 -0
  268. package/dist/cache/cf/cf-cache-store.d.ts +165 -0
  269. package/dist/cache/cf/cf-cache-store.d.ts.map +1 -0
  270. package/dist/cache/cf/cf-cache-store.js +242 -0
  271. package/dist/cache/cf/cf-cache-store.js.map +1 -0
  272. package/dist/cache/cf/index.d.ts +14 -0
  273. package/dist/cache/cf/index.d.ts.map +1 -0
  274. package/dist/cache/cf/index.js +17 -0
  275. package/dist/cache/cf/index.js.map +1 -0
  276. package/dist/cache/document-cache.d.ts +64 -0
  277. package/dist/cache/document-cache.d.ts.map +1 -0
  278. package/dist/cache/document-cache.js +228 -0
  279. package/dist/cache/document-cache.js.map +1 -0
  280. package/dist/cache/index.d.ts +19 -0
  281. package/dist/cache/index.d.ts.map +1 -0
  282. package/dist/cache/index.js +21 -0
  283. package/dist/cache/index.js.map +1 -0
  284. package/dist/cache/memory-segment-store.d.ts +110 -0
  285. package/dist/cache/memory-segment-store.d.ts.map +1 -0
  286. package/dist/cache/memory-segment-store.js +117 -0
  287. package/dist/cache/memory-segment-store.js.map +1 -0
  288. package/dist/cache/memory-store.d.ts +41 -0
  289. package/dist/cache/memory-store.d.ts.map +1 -0
  290. package/dist/cache/memory-store.js +191 -0
  291. package/dist/cache/memory-store.js.map +1 -0
  292. package/dist/cache/types.d.ts +317 -0
  293. package/dist/cache/types.d.ts.map +1 -0
  294. package/dist/cache/types.js +12 -0
  295. package/dist/cache/types.js.map +1 -0
  296. package/dist/client.d.ts +248 -0
  297. package/dist/client.d.ts.map +1 -0
  298. package/dist/client.js +367 -0
  299. package/dist/client.js.map +1 -0
  300. package/dist/client.rsc.d.ts +26 -0
  301. package/dist/client.rsc.d.ts.map +1 -0
  302. package/dist/client.rsc.js +46 -0
  303. package/dist/client.rsc.js.map +1 -0
  304. package/dist/component-utils.d.ts +36 -0
  305. package/dist/component-utils.d.ts.map +1 -0
  306. package/dist/component-utils.js +61 -0
  307. package/dist/component-utils.js.map +1 -0
  308. package/dist/components/DefaultDocument.d.ts +13 -0
  309. package/dist/components/DefaultDocument.d.ts.map +1 -0
  310. package/dist/components/DefaultDocument.js +15 -0
  311. package/dist/components/DefaultDocument.js.map +1 -0
  312. package/dist/debug.d.ts +58 -0
  313. package/dist/debug.d.ts.map +1 -0
  314. package/dist/debug.js +157 -0
  315. package/dist/debug.js.map +1 -0
  316. package/dist/default-error-boundary.d.ts +11 -0
  317. package/dist/default-error-boundary.d.ts.map +1 -0
  318. package/dist/default-error-boundary.js +45 -0
  319. package/dist/default-error-boundary.js.map +1 -0
  320. package/dist/deps/browser.d.ts +2 -0
  321. package/dist/deps/browser.d.ts.map +1 -0
  322. package/dist/deps/browser.js +3 -0
  323. package/dist/deps/browser.js.map +1 -0
  324. package/dist/deps/html-stream-client.d.ts +2 -0
  325. package/dist/deps/html-stream-client.d.ts.map +1 -0
  326. package/dist/deps/html-stream-client.js +3 -0
  327. package/dist/deps/html-stream-client.js.map +1 -0
  328. package/dist/deps/html-stream-server.d.ts +2 -0
  329. package/dist/deps/html-stream-server.d.ts.map +1 -0
  330. package/dist/deps/html-stream-server.js +3 -0
  331. package/dist/deps/html-stream-server.js.map +1 -0
  332. package/dist/deps/rsc.d.ts +2 -0
  333. package/dist/deps/rsc.d.ts.map +1 -0
  334. package/dist/deps/rsc.js +4 -0
  335. package/dist/deps/rsc.js.map +1 -0
  336. package/dist/deps/ssr.d.ts +2 -0
  337. package/dist/deps/ssr.d.ts.map +1 -0
  338. package/dist/deps/ssr.js +3 -0
  339. package/dist/deps/ssr.js.map +1 -0
  340. package/dist/errors.d.ts +174 -0
  341. package/dist/errors.d.ts.map +1 -0
  342. package/dist/errors.js +241 -0
  343. package/dist/errors.js.map +1 -0
  344. package/dist/handle.d.ts +78 -0
  345. package/dist/handle.d.ts.map +1 -0
  346. package/dist/handle.js +82 -0
  347. package/dist/handle.js.map +1 -0
  348. package/dist/handles/MetaTags.d.ts +14 -0
  349. package/dist/handles/MetaTags.d.ts.map +1 -0
  350. package/dist/handles/MetaTags.js +136 -0
  351. package/dist/handles/MetaTags.js.map +1 -0
  352. package/dist/handles/index.d.ts +6 -0
  353. package/dist/handles/index.d.ts.map +1 -0
  354. package/dist/handles/index.js +6 -0
  355. package/dist/handles/index.js.map +1 -0
  356. package/dist/handles/meta.d.ts +39 -0
  357. package/dist/handles/meta.d.ts.map +1 -0
  358. package/dist/handles/meta.js +202 -0
  359. package/dist/handles/meta.js.map +1 -0
  360. package/dist/host/__tests__/errors.test.d.ts +2 -0
  361. package/dist/host/__tests__/errors.test.d.ts.map +1 -0
  362. package/dist/host/__tests__/errors.test.js +76 -0
  363. package/dist/host/__tests__/errors.test.js.map +1 -0
  364. package/dist/host/__tests__/pattern-comprehensive.test.d.ts +2 -0
  365. package/dist/host/__tests__/pattern-comprehensive.test.d.ts.map +1 -0
  366. package/dist/host/__tests__/pattern-comprehensive.test.js +732 -0
  367. package/dist/host/__tests__/pattern-comprehensive.test.js.map +1 -0
  368. package/dist/host/__tests__/pattern-matcher.test.d.ts +2 -0
  369. package/dist/host/__tests__/pattern-matcher.test.d.ts.map +1 -0
  370. package/dist/host/__tests__/pattern-matcher.test.js +251 -0
  371. package/dist/host/__tests__/pattern-matcher.test.js.map +1 -0
  372. package/dist/host/__tests__/router.test.d.ts +2 -0
  373. package/dist/host/__tests__/router.test.d.ts.map +1 -0
  374. package/dist/host/__tests__/router.test.js +241 -0
  375. package/dist/host/__tests__/router.test.js.map +1 -0
  376. package/dist/host/__tests__/testing.test.d.ts +2 -0
  377. package/dist/host/__tests__/testing.test.d.ts.map +1 -0
  378. package/dist/host/__tests__/testing.test.js +64 -0
  379. package/dist/host/__tests__/testing.test.js.map +1 -0
  380. package/dist/host/__tests__/utils.test.d.ts +2 -0
  381. package/dist/host/__tests__/utils.test.d.ts.map +1 -0
  382. package/dist/host/__tests__/utils.test.js +29 -0
  383. package/dist/host/__tests__/utils.test.js.map +1 -0
  384. package/dist/host/cookie-handler.d.ts +34 -0
  385. package/dist/host/cookie-handler.d.ts.map +1 -0
  386. package/dist/host/cookie-handler.js +124 -0
  387. package/dist/host/cookie-handler.js.map +1 -0
  388. package/dist/host/errors.d.ts +56 -0
  389. package/dist/host/errors.d.ts.map +1 -0
  390. package/dist/host/errors.js +79 -0
  391. package/dist/host/errors.js.map +1 -0
  392. package/dist/host/index.d.ts +29 -0
  393. package/dist/host/index.d.ts.map +1 -0
  394. package/dist/host/index.js +32 -0
  395. package/dist/host/index.js.map +1 -0
  396. package/dist/host/pattern-matcher.d.ts +36 -0
  397. package/dist/host/pattern-matcher.d.ts.map +1 -0
  398. package/dist/host/pattern-matcher.js +172 -0
  399. package/dist/host/pattern-matcher.js.map +1 -0
  400. package/dist/host/router.d.ts +26 -0
  401. package/dist/host/router.d.ts.map +1 -0
  402. package/dist/host/router.js +218 -0
  403. package/dist/host/router.js.map +1 -0
  404. package/dist/host/testing.d.ts +36 -0
  405. package/dist/host/testing.d.ts.map +1 -0
  406. package/dist/host/testing.js +55 -0
  407. package/dist/host/testing.js.map +1 -0
  408. package/dist/host/types.d.ts +115 -0
  409. package/dist/host/types.d.ts.map +1 -0
  410. package/dist/host/types.js +7 -0
  411. package/dist/host/types.js.map +1 -0
  412. package/dist/host/utils.d.ts +21 -0
  413. package/dist/host/utils.d.ts.map +1 -0
  414. package/dist/host/utils.js +23 -0
  415. package/dist/host/utils.js.map +1 -0
  416. package/dist/href-client.d.ts +131 -0
  417. package/dist/href-client.d.ts.map +1 -0
  418. package/dist/href-client.js +64 -0
  419. package/dist/href-client.js.map +1 -0
  420. package/dist/href-context.d.ts +29 -0
  421. package/dist/href-context.d.ts.map +1 -0
  422. package/dist/href-context.js +21 -0
  423. package/dist/href-context.js.map +1 -0
  424. package/dist/index.d.ts +73 -0
  425. package/dist/index.d.ts.map +1 -0
  426. package/dist/index.js +91 -0
  427. package/dist/index.js.map +1 -0
  428. package/dist/index.rsc.d.ts +32 -0
  429. package/dist/index.rsc.d.ts.map +1 -0
  430. package/dist/index.rsc.js +40 -0
  431. package/dist/index.rsc.js.map +1 -0
  432. package/dist/internal-debug.d.ts +2 -0
  433. package/dist/internal-debug.d.ts.map +1 -0
  434. package/dist/internal-debug.js +5 -0
  435. package/dist/internal-debug.js.map +1 -0
  436. package/dist/loader.d.ts +14 -0
  437. package/dist/loader.d.ts.map +1 -0
  438. package/dist/loader.js +20 -0
  439. package/dist/loader.js.map +1 -0
  440. package/dist/loader.rsc.d.ts +19 -0
  441. package/dist/loader.rsc.d.ts.map +1 -0
  442. package/dist/loader.rsc.js +99 -0
  443. package/dist/loader.rsc.js.map +1 -0
  444. package/dist/network-error-thrower.d.ts +17 -0
  445. package/dist/network-error-thrower.d.ts.map +1 -0
  446. package/dist/network-error-thrower.js +14 -0
  447. package/dist/network-error-thrower.js.map +1 -0
  448. package/dist/outlet-context.d.ts +13 -0
  449. package/dist/outlet-context.d.ts.map +1 -0
  450. package/dist/outlet-context.js +3 -0
  451. package/dist/outlet-context.js.map +1 -0
  452. package/dist/prerender/__tests__/param-hash.test.d.ts +2 -0
  453. package/dist/prerender/__tests__/param-hash.test.d.ts.map +1 -0
  454. package/dist/prerender/__tests__/param-hash.test.js +148 -0
  455. package/dist/prerender/__tests__/param-hash.test.js.map +1 -0
  456. package/dist/prerender/param-hash.d.ts +16 -0
  457. package/dist/prerender/param-hash.d.ts.map +1 -0
  458. package/dist/prerender/param-hash.js +36 -0
  459. package/dist/prerender/param-hash.js.map +1 -0
  460. package/dist/prerender/store.d.ts +38 -0
  461. package/dist/prerender/store.d.ts.map +1 -0
  462. package/dist/prerender/store.js +61 -0
  463. package/dist/prerender/store.js.map +1 -0
  464. package/dist/prerender.d.ts +66 -0
  465. package/dist/prerender.d.ts.map +1 -0
  466. package/dist/prerender.js +57 -0
  467. package/dist/prerender.js.map +1 -0
  468. package/dist/reverse.d.ts +196 -0
  469. package/dist/reverse.d.ts.map +1 -0
  470. package/dist/reverse.js +78 -0
  471. package/dist/reverse.js.map +1 -0
  472. package/dist/root-error-boundary.d.ts +33 -0
  473. package/dist/root-error-boundary.d.ts.map +1 -0
  474. package/dist/root-error-boundary.js +165 -0
  475. package/dist/root-error-boundary.js.map +1 -0
  476. package/dist/route-content-wrapper.d.ts +46 -0
  477. package/dist/route-content-wrapper.d.ts.map +1 -0
  478. package/dist/route-content-wrapper.js +77 -0
  479. package/dist/route-content-wrapper.js.map +1 -0
  480. package/dist/route-definition.d.ts +421 -0
  481. package/dist/route-definition.d.ts.map +1 -0
  482. package/dist/route-definition.js +868 -0
  483. package/dist/route-definition.js.map +1 -0
  484. package/dist/route-map-builder.d.ts +155 -0
  485. package/dist/route-map-builder.d.ts.map +1 -0
  486. package/dist/route-map-builder.js +237 -0
  487. package/dist/route-map-builder.js.map +1 -0
  488. package/dist/route-types.d.ts +165 -0
  489. package/dist/route-types.d.ts.map +1 -0
  490. package/dist/route-types.js +7 -0
  491. package/dist/route-types.js.map +1 -0
  492. package/dist/router/__tests__/handler-context.test.d.ts +2 -0
  493. package/dist/router/__tests__/handler-context.test.d.ts.map +1 -0
  494. package/dist/router/__tests__/handler-context.test.js +65 -0
  495. package/dist/router/__tests__/handler-context.test.js.map +1 -0
  496. package/dist/router/__tests__/loader-cycle-detection.test.d.ts +2 -0
  497. package/dist/router/__tests__/loader-cycle-detection.test.d.ts.map +1 -0
  498. package/dist/router/__tests__/loader-cycle-detection.test.js +221 -0
  499. package/dist/router/__tests__/loader-cycle-detection.test.js.map +1 -0
  500. package/dist/router/__tests__/match-context.test.d.ts +2 -0
  501. package/dist/router/__tests__/match-context.test.d.ts.map +1 -0
  502. package/dist/router/__tests__/match-context.test.js +92 -0
  503. package/dist/router/__tests__/match-context.test.js.map +1 -0
  504. package/dist/router/__tests__/match-pipelines.test.d.ts +2 -0
  505. package/dist/router/__tests__/match-pipelines.test.d.ts.map +1 -0
  506. package/dist/router/__tests__/match-pipelines.test.js +417 -0
  507. package/dist/router/__tests__/match-pipelines.test.js.map +1 -0
  508. package/dist/router/__tests__/match-result.test.d.ts +2 -0
  509. package/dist/router/__tests__/match-result.test.d.ts.map +1 -0
  510. package/dist/router/__tests__/match-result.test.js +457 -0
  511. package/dist/router/__tests__/match-result.test.js.map +1 -0
  512. package/dist/router/__tests__/on-error.test.d.ts +2 -0
  513. package/dist/router/__tests__/on-error.test.d.ts.map +1 -0
  514. package/dist/router/__tests__/on-error.test.js +678 -0
  515. package/dist/router/__tests__/on-error.test.js.map +1 -0
  516. package/dist/router/__tests__/pattern-matching.test.d.ts +2 -0
  517. package/dist/router/__tests__/pattern-matching.test.d.ts.map +1 -0
  518. package/dist/router/__tests__/pattern-matching.test.js +629 -0
  519. package/dist/router/__tests__/pattern-matching.test.js.map +1 -0
  520. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts +2 -0
  521. package/dist/router/__tests__/segment-resolution-parallel-loading.test.d.ts.map +1 -0
  522. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js +155 -0
  523. package/dist/router/__tests__/segment-resolution-parallel-loading.test.js.map +1 -0
  524. package/dist/router/error-handling.d.ts +77 -0
  525. package/dist/router/error-handling.d.ts.map +1 -0
  526. package/dist/router/error-handling.js +202 -0
  527. package/dist/router/error-handling.js.map +1 -0
  528. package/dist/router/handler-context.d.ts +20 -0
  529. package/dist/router/handler-context.d.ts.map +1 -0
  530. package/dist/router/handler-context.js +198 -0
  531. package/dist/router/handler-context.js.map +1 -0
  532. package/dist/router/intercept-resolution.d.ts +66 -0
  533. package/dist/router/intercept-resolution.d.ts.map +1 -0
  534. package/dist/router/intercept-resolution.js +246 -0
  535. package/dist/router/intercept-resolution.js.map +1 -0
  536. package/dist/router/loader-resolution.d.ts +64 -0
  537. package/dist/router/loader-resolution.d.ts.map +1 -0
  538. package/dist/router/loader-resolution.js +284 -0
  539. package/dist/router/loader-resolution.js.map +1 -0
  540. package/dist/router/logging.d.ts +15 -0
  541. package/dist/router/logging.d.ts.map +1 -0
  542. package/dist/router/logging.js +99 -0
  543. package/dist/router/logging.js.map +1 -0
  544. package/dist/router/manifest.d.ts +22 -0
  545. package/dist/router/manifest.d.ts.map +1 -0
  546. package/dist/router/manifest.js +181 -0
  547. package/dist/router/manifest.js.map +1 -0
  548. package/dist/router/match-api.d.ts +35 -0
  549. package/dist/router/match-api.d.ts.map +1 -0
  550. package/dist/router/match-api.js +406 -0
  551. package/dist/router/match-api.js.map +1 -0
  552. package/dist/router/match-context.d.ts +206 -0
  553. package/dist/router/match-context.d.ts.map +1 -0
  554. package/dist/router/match-context.js +17 -0
  555. package/dist/router/match-context.js.map +1 -0
  556. package/dist/router/match-middleware/background-revalidation.d.ts +127 -0
  557. package/dist/router/match-middleware/background-revalidation.d.ts.map +1 -0
  558. package/dist/router/match-middleware/background-revalidation.js +75 -0
  559. package/dist/router/match-middleware/background-revalidation.js.map +1 -0
  560. package/dist/router/match-middleware/cache-lookup.d.ts +112 -0
  561. package/dist/router/match-middleware/cache-lookup.d.ts.map +1 -0
  562. package/dist/router/match-middleware/cache-lookup.js +257 -0
  563. package/dist/router/match-middleware/cache-lookup.js.map +1 -0
  564. package/dist/router/match-middleware/cache-store.d.ts +113 -0
  565. package/dist/router/match-middleware/cache-store.d.ts.map +1 -0
  566. package/dist/router/match-middleware/cache-store.js +108 -0
  567. package/dist/router/match-middleware/cache-store.js.map +1 -0
  568. package/dist/router/match-middleware/index.d.ts +81 -0
  569. package/dist/router/match-middleware/index.d.ts.map +1 -0
  570. package/dist/router/match-middleware/index.js +80 -0
  571. package/dist/router/match-middleware/index.js.map +1 -0
  572. package/dist/router/match-middleware/intercept-resolution.d.ts +117 -0
  573. package/dist/router/match-middleware/intercept-resolution.d.ts.map +1 -0
  574. package/dist/router/match-middleware/intercept-resolution.js +134 -0
  575. package/dist/router/match-middleware/intercept-resolution.js.map +1 -0
  576. package/dist/router/match-middleware/segment-resolution.d.ts +99 -0
  577. package/dist/router/match-middleware/segment-resolution.d.ts.map +1 -0
  578. package/dist/router/match-middleware/segment-resolution.js +53 -0
  579. package/dist/router/match-middleware/segment-resolution.js.map +1 -0
  580. package/dist/router/match-pipelines.d.ts +147 -0
  581. package/dist/router/match-pipelines.d.ts.map +1 -0
  582. package/dist/router/match-pipelines.js +82 -0
  583. package/dist/router/match-pipelines.js.map +1 -0
  584. package/dist/router/match-result.d.ts +126 -0
  585. package/dist/router/match-result.d.ts.map +1 -0
  586. package/dist/router/match-result.js +93 -0
  587. package/dist/router/match-result.js.map +1 -0
  588. package/dist/router/metrics.d.ts +20 -0
  589. package/dist/router/metrics.d.ts.map +1 -0
  590. package/dist/router/metrics.js +47 -0
  591. package/dist/router/metrics.js.map +1 -0
  592. package/dist/router/middleware.d.ts +249 -0
  593. package/dist/router/middleware.d.ts.map +1 -0
  594. package/dist/router/middleware.js +434 -0
  595. package/dist/router/middleware.js.map +1 -0
  596. package/dist/router/middleware.test.d.ts +2 -0
  597. package/dist/router/middleware.test.d.ts.map +1 -0
  598. package/dist/router/middleware.test.js +816 -0
  599. package/dist/router/middleware.test.js.map +1 -0
  600. package/dist/router/pattern-matching.d.ts +149 -0
  601. package/dist/router/pattern-matching.d.ts.map +1 -0
  602. package/dist/router/pattern-matching.js +349 -0
  603. package/dist/router/pattern-matching.js.map +1 -0
  604. package/dist/router/revalidation.d.ts +44 -0
  605. package/dist/router/revalidation.d.ts.map +1 -0
  606. package/dist/router/revalidation.js +147 -0
  607. package/dist/router/revalidation.js.map +1 -0
  608. package/dist/router/router-context.d.ts +135 -0
  609. package/dist/router/router-context.d.ts.map +1 -0
  610. package/dist/router/router-context.js +36 -0
  611. package/dist/router/router-context.js.map +1 -0
  612. package/dist/router/segment-resolution.d.ts +127 -0
  613. package/dist/router/segment-resolution.d.ts.map +1 -0
  614. package/dist/router/segment-resolution.js +919 -0
  615. package/dist/router/segment-resolution.js.map +1 -0
  616. package/dist/router/trie-matching.d.ts +40 -0
  617. package/dist/router/trie-matching.d.ts.map +1 -0
  618. package/dist/router/trie-matching.js +127 -0
  619. package/dist/router/trie-matching.js.map +1 -0
  620. package/dist/router/types.d.ts +136 -0
  621. package/dist/router/types.d.ts.map +1 -0
  622. package/dist/router/types.js +7 -0
  623. package/dist/router/types.js.map +1 -0
  624. package/dist/router.d.ts +753 -0
  625. package/dist/router.d.ts.map +1 -0
  626. package/dist/router.gen.d.ts +6 -0
  627. package/dist/router.gen.d.ts.map +1 -0
  628. package/dist/router.gen.js +6 -0
  629. package/dist/router.gen.js.map +1 -0
  630. package/dist/router.js +1304 -0
  631. package/dist/router.js.map +1 -0
  632. package/dist/rsc/__tests__/helpers.test.d.ts +2 -0
  633. package/dist/rsc/__tests__/helpers.test.d.ts.map +1 -0
  634. package/dist/rsc/__tests__/helpers.test.js +140 -0
  635. package/dist/rsc/__tests__/helpers.test.js.map +1 -0
  636. package/dist/rsc/handler.d.ts +45 -0
  637. package/dist/rsc/handler.d.ts.map +1 -0
  638. package/dist/rsc/handler.js +1172 -0
  639. package/dist/rsc/handler.js.map +1 -0
  640. package/dist/rsc/helpers.d.ts +16 -0
  641. package/dist/rsc/helpers.d.ts.map +1 -0
  642. package/dist/rsc/helpers.js +55 -0
  643. package/dist/rsc/helpers.js.map +1 -0
  644. package/dist/rsc/index.d.ts +22 -0
  645. package/dist/rsc/index.d.ts.map +1 -0
  646. package/dist/rsc/index.js +23 -0
  647. package/dist/rsc/index.js.map +1 -0
  648. package/dist/rsc/nonce.d.ts +9 -0
  649. package/dist/rsc/nonce.d.ts.map +1 -0
  650. package/dist/rsc/nonce.js +18 -0
  651. package/dist/rsc/nonce.js.map +1 -0
  652. package/dist/rsc/types.d.ts +206 -0
  653. package/dist/rsc/types.d.ts.map +1 -0
  654. package/dist/rsc/types.js +8 -0
  655. package/dist/rsc/types.js.map +1 -0
  656. package/dist/search-params.d.ts +103 -0
  657. package/dist/search-params.d.ts.map +1 -0
  658. package/dist/search-params.js +74 -0
  659. package/dist/search-params.js.map +1 -0
  660. package/dist/segment-system.d.ts +75 -0
  661. package/dist/segment-system.d.ts.map +1 -0
  662. package/dist/segment-system.js +336 -0
  663. package/dist/segment-system.js.map +1 -0
  664. package/dist/server/context.d.ts +245 -0
  665. package/dist/server/context.d.ts.map +1 -0
  666. package/dist/server/context.js +197 -0
  667. package/dist/server/context.js.map +1 -0
  668. package/dist/server/fetchable-loader-store.d.ts +18 -0
  669. package/dist/server/fetchable-loader-store.d.ts.map +1 -0
  670. package/dist/server/fetchable-loader-store.js +18 -0
  671. package/dist/server/fetchable-loader-store.js.map +1 -0
  672. package/dist/server/handle-store.d.ts +85 -0
  673. package/dist/server/handle-store.d.ts.map +1 -0
  674. package/dist/server/handle-store.js +142 -0
  675. package/dist/server/handle-store.js.map +1 -0
  676. package/dist/server/loader-registry.d.ts +55 -0
  677. package/dist/server/loader-registry.d.ts.map +1 -0
  678. package/dist/server/loader-registry.js +132 -0
  679. package/dist/server/loader-registry.js.map +1 -0
  680. package/dist/server/request-context.d.ts +226 -0
  681. package/dist/server/request-context.d.ts.map +1 -0
  682. package/dist/server/request-context.js +290 -0
  683. package/dist/server/request-context.js.map +1 -0
  684. package/dist/server/root-layout.d.ts +4 -0
  685. package/dist/server/root-layout.d.ts.map +1 -0
  686. package/dist/server/root-layout.js +5 -0
  687. package/dist/server/root-layout.js.map +1 -0
  688. package/dist/server.d.ts +15 -0
  689. package/dist/server.d.ts.map +1 -0
  690. package/dist/server.js +20 -0
  691. package/dist/server.js.map +1 -0
  692. package/dist/ssr/__tests__/ssr-handler.test.d.ts +2 -0
  693. package/dist/ssr/__tests__/ssr-handler.test.d.ts.map +1 -0
  694. package/dist/ssr/__tests__/ssr-handler.test.js +132 -0
  695. package/dist/ssr/__tests__/ssr-handler.test.js.map +1 -0
  696. package/dist/ssr/index.d.ts +98 -0
  697. package/dist/ssr/index.d.ts.map +1 -0
  698. package/dist/ssr/index.js +158 -0
  699. package/dist/ssr/index.js.map +1 -0
  700. package/dist/static-handler.d.ts +50 -0
  701. package/dist/static-handler.d.ts.map +1 -0
  702. package/dist/static-handler.gen.d.ts +5 -0
  703. package/dist/static-handler.gen.d.ts.map +1 -0
  704. package/dist/static-handler.gen.js +5 -0
  705. package/dist/static-handler.gen.js.map +1 -0
  706. package/dist/static-handler.js +29 -0
  707. package/dist/static-handler.js.map +1 -0
  708. package/dist/theme/ThemeProvider.d.ts +20 -0
  709. package/dist/theme/ThemeProvider.d.ts.map +1 -0
  710. package/dist/theme/ThemeProvider.js +240 -0
  711. package/dist/theme/ThemeProvider.js.map +1 -0
  712. package/dist/theme/ThemeScript.d.ts +48 -0
  713. package/dist/theme/ThemeScript.d.ts.map +1 -0
  714. package/dist/theme/ThemeScript.js +13 -0
  715. package/dist/theme/ThemeScript.js.map +1 -0
  716. package/dist/theme/__tests__/theme.test.d.ts +2 -0
  717. package/dist/theme/__tests__/theme.test.d.ts.map +1 -0
  718. package/dist/theme/__tests__/theme.test.js +103 -0
  719. package/dist/theme/__tests__/theme.test.js.map +1 -0
  720. package/dist/theme/constants.d.ts +29 -0
  721. package/dist/theme/constants.d.ts.map +1 -0
  722. package/dist/theme/constants.js +48 -0
  723. package/dist/theme/constants.js.map +1 -0
  724. package/dist/theme/index.d.ts +31 -0
  725. package/dist/theme/index.d.ts.map +1 -0
  726. package/dist/theme/index.js +36 -0
  727. package/dist/theme/index.js.map +1 -0
  728. package/dist/theme/theme-context.d.ts +40 -0
  729. package/dist/theme/theme-context.d.ts.map +1 -0
  730. package/dist/theme/theme-context.js +60 -0
  731. package/dist/theme/theme-context.js.map +1 -0
  732. package/dist/theme/theme-script.d.ts +27 -0
  733. package/dist/theme/theme-script.d.ts.map +1 -0
  734. package/dist/theme/theme-script.js +147 -0
  735. package/dist/theme/theme-script.js.map +1 -0
  736. package/dist/theme/types.d.ts +163 -0
  737. package/dist/theme/types.d.ts.map +1 -0
  738. package/dist/theme/types.js +11 -0
  739. package/dist/theme/types.js.map +1 -0
  740. package/dist/theme/use-theme.d.ts +12 -0
  741. package/dist/theme/use-theme.d.ts.map +1 -0
  742. package/dist/theme/use-theme.js +40 -0
  743. package/dist/theme/use-theme.js.map +1 -0
  744. package/dist/types/browser/navigation-client.d.ts +1 -1
  745. package/dist/types/browser/prefetch/cache.d.ts +9 -0
  746. package/dist/types/cache/cf/cf-cache-store.d.ts +19 -8
  747. package/dist/types/cache/cf/cf-cache-types.d.ts +4 -2
  748. package/dist/types/rsc/shell-capture.d.ts +10 -8
  749. package/dist/types/segment-fragments.d.ts +27 -4
  750. package/dist/types/server/request-context.d.ts +21 -8
  751. package/dist/types.d.ts +1479 -0
  752. package/dist/types.d.ts.map +1 -0
  753. package/dist/types.js +10 -0
  754. package/dist/types.js.map +1 -0
  755. package/dist/urls.d.ts +441 -0
  756. package/dist/urls.d.ts.map +1 -0
  757. package/dist/urls.gen.d.ts +8 -0
  758. package/dist/urls.gen.d.ts.map +1 -0
  759. package/dist/urls.gen.js +8 -0
  760. package/dist/urls.gen.js.map +1 -0
  761. package/dist/urls.js +443 -0
  762. package/dist/urls.js.map +1 -0
  763. package/dist/use-loader.d.ts +127 -0
  764. package/dist/use-loader.d.ts.map +1 -0
  765. package/dist/use-loader.js +237 -0
  766. package/dist/use-loader.js.map +1 -0
  767. package/dist/vite/__tests__/ast-handler-extract.test.d.ts +2 -0
  768. package/dist/vite/__tests__/ast-handler-extract.test.d.ts.map +1 -0
  769. package/dist/vite/__tests__/ast-handler-extract.test.js +294 -0
  770. package/dist/vite/__tests__/ast-handler-extract.test.js.map +1 -0
  771. package/dist/vite/__tests__/expose-id-utils.test.d.ts +2 -0
  772. package/dist/vite/__tests__/expose-id-utils.test.d.ts.map +1 -0
  773. package/dist/vite/__tests__/expose-id-utils.test.js +224 -0
  774. package/dist/vite/__tests__/expose-id-utils.test.js.map +1 -0
  775. package/dist/vite/__tests__/expose-internal-ids.test.d.ts +2 -0
  776. package/dist/vite/__tests__/expose-internal-ids.test.d.ts.map +1 -0
  777. package/dist/vite/__tests__/expose-internal-ids.test.js +647 -0
  778. package/dist/vite/__tests__/expose-internal-ids.test.js.map +1 -0
  779. package/dist/vite/__tests__/expose-router-id.test.d.ts +2 -0
  780. package/dist/vite/__tests__/expose-router-id.test.d.ts.map +1 -0
  781. package/dist/vite/__tests__/expose-router-id.test.js +39 -0
  782. package/dist/vite/__tests__/expose-router-id.test.js.map +1 -0
  783. package/dist/vite/ast-handler-extract.d.ts +49 -0
  784. package/dist/vite/ast-handler-extract.d.ts.map +1 -0
  785. package/dist/vite/ast-handler-extract.js +249 -0
  786. package/dist/vite/ast-handler-extract.js.map +1 -0
  787. package/dist/vite/expose-action-id.d.ts +19 -0
  788. package/dist/vite/expose-action-id.d.ts.map +1 -0
  789. package/dist/vite/expose-action-id.js +250 -0
  790. package/dist/vite/expose-action-id.js.map +1 -0
  791. package/dist/vite/expose-id-utils.d.ts +69 -0
  792. package/dist/vite/expose-id-utils.d.ts.map +1 -0
  793. package/dist/vite/expose-id-utils.js +289 -0
  794. package/dist/vite/expose-id-utils.js.map +1 -0
  795. package/dist/vite/expose-internal-ids.d.ts +22 -0
  796. package/dist/vite/expose-internal-ids.d.ts.map +1 -0
  797. package/dist/vite/expose-internal-ids.js +886 -0
  798. package/dist/vite/expose-internal-ids.js.map +1 -0
  799. package/dist/vite/index.d.ts +149 -0
  800. package/dist/vite/index.d.ts.map +1 -0
  801. package/dist/vite/index.js +1 -1
  802. package/dist/vite/index.js.bak +5448 -0
  803. package/dist/vite/index.js.map +1 -0
  804. package/dist/vite/index.named-routes.gen.ts +103 -0
  805. package/dist/vite/package-resolution.d.ts +43 -0
  806. package/dist/vite/package-resolution.d.ts.map +1 -0
  807. package/dist/vite/package-resolution.js +112 -0
  808. package/dist/vite/package-resolution.js.map +1 -0
  809. package/dist/vite/virtual-entries.d.ts +25 -0
  810. package/dist/vite/virtual-entries.d.ts.map +1 -0
  811. package/dist/vite/virtual-entries.js +110 -0
  812. package/dist/vite/virtual-entries.js.map +1 -0
  813. package/package.json +1 -1
  814. package/skills/cloudflare/SKILL.md +4 -2
  815. package/skills/ppr/SKILL.md +25 -9
  816. package/src/browser/navigation-client.ts +77 -27
  817. package/src/browser/prefetch/cache.ts +18 -0
  818. package/src/browser/prefetch/fetch.ts +5 -0
  819. package/src/browser/rsc-router.tsx +12 -6
  820. package/src/cache/cache-scope.ts +5 -1
  821. package/src/cache/cf/cf-cache-store.ts +423 -90
  822. package/src/cache/cf/cf-cache-types.ts +4 -2
  823. package/src/cache/document-cache.ts +24 -2
  824. package/src/rsc/rsc-rendering.ts +61 -6
  825. package/src/rsc/shell-capture.ts +19 -19
  826. package/src/segment-fragments.ts +45 -4
  827. package/src/server/request-context.ts +21 -8
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Theme type definitions for rsc-router theme system.
3
+ *
4
+ * The theme system provides:
5
+ * - Opt-in via router config
6
+ * - FOUC prevention via inline script
7
+ * - Server-side theme access via ctx.theme/ctx.setTheme
8
+ * - Client-side theme access via useTheme hook
9
+ */
10
+ /**
11
+ * Theme value - stored in cookies/localStorage
12
+ */
13
+ export type Theme = "light" | "dark" | "system";
14
+ /**
15
+ * Resolved theme - actual visual appearance (system preference resolved)
16
+ */
17
+ export type ResolvedTheme = "light" | "dark";
18
+ /**
19
+ * Attribute used to apply theme to HTML element
20
+ * - "class": Adds theme value as CSS class (e.g., <html class="dark">)
21
+ * - "data-*": Sets data attribute (e.g., <html data-theme="dark">)
22
+ */
23
+ export type ThemeAttribute = "class" | `data-${string}`;
24
+ /**
25
+ * Theme configuration for router
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * const router = createRouter<Env>({
30
+ * theme: {
31
+ * defaultTheme: "system",
32
+ * themes: ["light", "dark"],
33
+ * attribute: "class",
34
+ * storageKey: "theme",
35
+ * }
36
+ * });
37
+ * ```
38
+ */
39
+ export interface ThemeConfig {
40
+ /**
41
+ * Default theme when no preference is stored
42
+ * @default "system"
43
+ */
44
+ defaultTheme?: Theme;
45
+ /**
46
+ * Available theme options
47
+ * @default ["light", "dark"]
48
+ */
49
+ themes?: string[];
50
+ /**
51
+ * Attribute to apply to HTML element
52
+ * @default "class"
53
+ */
54
+ attribute?: ThemeAttribute;
55
+ /**
56
+ * Key for cookie and localStorage
57
+ * @default "theme"
58
+ */
59
+ storageKey?: string;
60
+ /**
61
+ * Enable system preference detection
62
+ * When true, "system" theme will resolve based on prefers-color-scheme
63
+ * @default true
64
+ */
65
+ enableSystem?: boolean;
66
+ /**
67
+ * Set CSS color-scheme property on HTML element
68
+ * This enables native dark mode for form controls, scrollbars, etc.
69
+ * @default true
70
+ */
71
+ enableColorScheme?: boolean;
72
+ /**
73
+ * Custom mapping of theme names to attribute values
74
+ * Useful when theme names don't match desired attribute values
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * value: {
79
+ * light: "light-mode",
80
+ * dark: "dark-mode",
81
+ * }
82
+ * ```
83
+ */
84
+ value?: Record<string, string>;
85
+ }
86
+ /**
87
+ * Resolved theme configuration with defaults applied
88
+ */
89
+ export interface ResolvedThemeConfig {
90
+ defaultTheme: Theme;
91
+ themes: string[];
92
+ attribute: ThemeAttribute;
93
+ storageKey: string;
94
+ enableSystem: boolean;
95
+ enableColorScheme: boolean;
96
+ value: Record<string, string>;
97
+ }
98
+ /**
99
+ * Return type from useTheme hook
100
+ *
101
+ * @example
102
+ * ```tsx
103
+ * function ThemeToggle() {
104
+ * const { theme, setTheme, resolvedTheme, themes } = useTheme();
105
+ *
106
+ * return (
107
+ * <select value={theme} onChange={e => setTheme(e.target.value as Theme)}>
108
+ * {themes.map(t => <option key={t}>{t}</option>)}
109
+ * </select>
110
+ * );
111
+ * }
112
+ * ```
113
+ */
114
+ export interface UseThemeReturn {
115
+ /**
116
+ * Current theme setting ("light" | "dark" | "system")
117
+ */
118
+ theme: Theme;
119
+ /**
120
+ * Set the theme
121
+ */
122
+ setTheme: (theme: Theme) => void;
123
+ /**
124
+ * Resolved theme based on system preference
125
+ * When theme is "system", this reflects the actual appearance
126
+ */
127
+ resolvedTheme: ResolvedTheme;
128
+ /**
129
+ * Current system preference ("light" | "dark")
130
+ */
131
+ systemTheme: ResolvedTheme;
132
+ /**
133
+ * Available theme options (includes "system" if enableSystem is true)
134
+ */
135
+ themes: string[];
136
+ }
137
+ /**
138
+ * Props for ThemeProvider component
139
+ */
140
+ export interface ThemeProviderProps {
141
+ /**
142
+ * Theme configuration
143
+ */
144
+ config: ResolvedThemeConfig;
145
+ /**
146
+ * Initial theme from server (from cookie)
147
+ */
148
+ initialTheme?: Theme;
149
+ /**
150
+ * Children to render
151
+ */
152
+ children: React.ReactNode;
153
+ }
154
+ /**
155
+ * Context value for ThemeContext
156
+ */
157
+ export interface ThemeContextValue extends UseThemeReturn {
158
+ /**
159
+ * Full theme configuration
160
+ */
161
+ config: ResolvedThemeConfig;
162
+ }
163
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEhD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7C;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,MAAM,EAAE,CAAC;AAExD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;IAErB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB;;;OAGG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAE3B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,KAAK,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,cAAc,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAEjC;;;OAGG;IACH,aAAa,EAAE,aAAa,CAAC;IAE7B;;OAEG;IACH,WAAW,EAAE,aAAa,CAAC;IAE3B;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,MAAM,EAAE,mBAAmB,CAAC;IAE5B;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD;;OAEG;IACH,MAAM,EAAE,mBAAmB,CAAC;CAC7B"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Theme type definitions for rsc-router theme system.
3
+ *
4
+ * The theme system provides:
5
+ * - Opt-in via router config
6
+ * - FOUC prevention via inline script
7
+ * - Server-side theme access via ctx.theme/ctx.setTheme
8
+ * - Client-side theme access via useTheme hook
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,12 @@
1
+ import type { UseThemeReturn } from "./types.js";
2
+ /**
3
+ * Hook to access theme state and methods.
4
+ *
5
+ * Must be used within a ThemeProvider (which is automatically included
6
+ * in NavigationProvider when theme is enabled in router config).
7
+ *
8
+ * @returns Theme state and methods
9
+ * @throws Error if used outside ThemeProvider
10
+ */
11
+ export declare function useTheme(): UseThemeReturn;
12
+ //# sourceMappingURL=use-theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-theme.d.ts","sourceRoot":"","sources":["../../src/theme/use-theme.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,IAAI,cAAc,CAUzC"}
@@ -0,0 +1,40 @@
1
+ "use client";
2
+ /**
3
+ * useTheme - Hook for accessing theme state in client components.
4
+ *
5
+ * @example
6
+ * ```tsx
7
+ * import { useTheme } from "@rangojs/router/theme";
8
+ *
9
+ * function ThemeToggle() {
10
+ * const { theme, setTheme, resolvedTheme, themes } = useTheme();
11
+ *
12
+ * return (
13
+ * <select value={theme} onChange={e => setTheme(e.target.value)}>
14
+ * {themes.map(t => <option key={t}>{t}</option>)}
15
+ * </select>
16
+ * );
17
+ * }
18
+ * ```
19
+ */
20
+ import { requireThemeContext } from "./theme-context.js";
21
+ /**
22
+ * Hook to access theme state and methods.
23
+ *
24
+ * Must be used within a ThemeProvider (which is automatically included
25
+ * in NavigationProvider when theme is enabled in router config).
26
+ *
27
+ * @returns Theme state and methods
28
+ * @throws Error if used outside ThemeProvider
29
+ */
30
+ export function useTheme() {
31
+ const ctx = requireThemeContext();
32
+ return {
33
+ theme: ctx.theme,
34
+ setTheme: ctx.setTheme,
35
+ resolvedTheme: ctx.resolvedTheme,
36
+ systemTheme: ctx.systemTheme,
37
+ themes: ctx.themes,
38
+ };
39
+ }
40
+ //# sourceMappingURL=use-theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-theme.js","sourceRoot":"","sources":["../../src/theme/use-theme.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGzD;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ;IACtB,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAC;IAElC,OAAO;QACL,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,CAAC;AACJ,CAAC"}
@@ -14,4 +14,4 @@ import type { NavigationClient, RscBrowserDependencies } from "./types.js";
14
14
  * @param deps - RSC browser dependencies (createFromFetch)
15
15
  * @returns NavigationClient instance
16
16
  */
17
- export declare function createNavigationClient(deps: Pick<RscBrowserDependencies, "createFromFetch">): NavigationClient;
17
+ export declare function createNavigationClient(deps: Pick<RscBrowserDependencies, "createFromFetch" | "createFromReadableStream">): NavigationClient;
@@ -180,4 +180,13 @@ export declare function setInflightPromise(key: string, promise: Promise<Decoded
180
180
  */
181
181
  export declare function setInflightPromiseWithAliases(keys: string[], promise: Promise<DecodedPrefetch | null>): void;
182
182
  export declare function clearPrefetchInflight(key: string): void;
183
+ /** Whether this document may request stored segment fragment envelopes. */
184
+ export declare function isFragmentPassthroughEnabled(): boolean;
185
+ /**
186
+ * Disable fragment passthrough for the rest of this document after one stored
187
+ * fragment fails to decode. The recovery replaces shared cache entries, while
188
+ * this guard prevents the current tab's HTTP cache from serving its already-
189
+ * cached corrupt variant again.
190
+ */
191
+ export declare function disableFragmentPassthrough(): void;
183
192
  export declare function clearPrefetchCache(rotateRangoState?: boolean): void;
@@ -70,6 +70,8 @@ export declare class CFCacheStore<TEnv = unknown> implements SegmentCacheStore<T
70
70
  * @internal
71
71
  */
72
72
  private emitDebug;
73
+ /** Build-time-gated shell tier trace for deployed cross-colo diagnostics. */
74
+ private debugShell;
73
75
  /**
74
76
  * Resolve the cache-key base URL for the current cache operation.
75
77
  * Prefers an explicit `baseUrl` option; otherwise derives it from the live
@@ -263,10 +265,10 @@ export declare class CFCacheStore<TEnv = unknown> implements SegmentCacheStore<T
263
265
  */
264
266
  private warnShellFamilyInertOnce;
265
267
  /**
266
- * Get a cached PPR shell entry by key from KV (no L1). Applies the KV read
267
- * budget, corrupt-entry eviction, hard-expiry, and tag invalidation exactly
268
- * like kvGetItem, minus the L1 promote. SWR is a plain staleness flag — KV has
269
- * no REVALIDATING herd guard, so the capture scheduler's module-level
268
+ * Get a cached PPR shell entry from Cache API, falling through to KV and
269
+ * promoting a valid KV hit. Both tiers store one envelope so the prelude,
270
+ * postponed state, snapshot, versions, and generation metadata cannot mix.
271
+ * SWR remains a plain staleness flag; the capture scheduler's module-level
270
272
  * in-flight set is the recapture stampede guard.
271
273
  */
272
274
  getShell(key: string): Promise<{
@@ -274,12 +276,21 @@ export declare class CFCacheStore<TEnv = unknown> implements SegmentCacheStore<T
274
276
  shouldRevalidate?: boolean;
275
277
  } | null>;
276
278
  /**
277
- * Store a PPR shell entry in KV with TTL and optional SWR window. The write is
278
- * registered with waitUntil and awaited so invalidation rejection can be
279
- * acknowledged to the capture scheduler. The tags/taggedAt ride in the envelope
280
- * so isGloballyInvalidated() can invalidate the shell via the shared KV markers.
279
+ * Store a PPR shell envelope in Cache API and, when its retention meets KV's
280
+ * 60-second floor, KV. The shared write is registered with waitUntil and
281
+ * awaited so invalidation rejection can be acknowledged to the capture
282
+ * scheduler. Short-lived shells remain useful in L1 even though KV rejects
283
+ * them.
281
284
  */
282
285
  putShell(key: string, entry: ShellCacheEntry, ttlSeconds?: number, swrSeconds?: number, tags?: string[]): Promise<"stored" | "invalidated" | void>;
286
+ /** Rebuild the public shell entry from its validated storage envelope. */
287
+ private shellEnvelopeToEntry;
288
+ /** Build the Cache API representation of the coupled shell envelope. */
289
+ private shellEnvelopeResponse;
290
+ /** KV shell fallback with corruption checks and background L1 promotion. */
291
+ private kvGetShell;
292
+ /** Promote a valid KV shell into the per-colo Cache API tier. */
293
+ private promoteShellToL1;
283
294
  /**
284
295
  * Convert string key to Request object for CF Cache API.
285
296
  * Includes version in URL if specified (for cache invalidation on code changes).
@@ -189,8 +189,10 @@ export interface CFCacheStoreOptions<TEnv = unknown> {
189
189
  * per-request memo is consulted (synchronously, no KV read), so a request
190
190
  * that ran `updateTag()` still masks its own not-yet-purged entries
191
191
  * (read-your-own-writes).
192
- * - The KV tier and PPR shells still use the KV markers those are written
193
- * regardless, and purge cannot reach KV so keep `kv` configured for L2.
192
+ * - The KV tier and PPR shell reads still use the KV markers. Runtime shell
193
+ * L1 entries are purgeable, but their taggedAt is the capture-start time: a
194
+ * capture can finish after an invalidation purge, so eviction alone cannot
195
+ * reject that older generation. Keep `kv` configured for shell L2 + markers.
194
196
  * Without `kv`, purge mode is the ONLY tag invalidation and the store is
195
197
  * L1-only: a supported configuration (previously tag invalidation without
196
198
  * KV had no read-side effect at all). One KV-less caveat: an entry whose
@@ -304,8 +304,9 @@ export declare function scheduleShellCapture(ctx: HandlerContext<any>, request:
304
304
  * I/O failure is reported separately and does NOT make the attempt retryable —
305
305
  * the capture itself worked).
306
306
  * - `redirect`: the matched route redirects, so there is no shell to capture.
307
- * - `no-shell`: the prelude came back trivial (no <body>) OR captureShellHTML
308
- * rejected with our own abort. This is the only RETRYABLE outcome.
307
+ * - `no-shell`: captureShellHTML returned null because the prelude was unusable
308
+ * or its private capture abort landed before the shell completed. This is the
309
+ * only RETRYABLE outcome.
309
310
  */
310
311
  type CaptureAttemptOutcome = "stored" | "redirect" | "no-shell" | "refused";
311
312
  /**
@@ -327,9 +328,9 @@ type CaptureAttemptStats = Pick<ShellCaptureDebugEvent, "barrierWaitMs" | "write
327
328
  * when we froze the shell; the attempt itself warmed the module graph, so a second
328
329
  * attempt a short beat later usually completes the shell in the SAME background
329
330
  * task. That kills the old multi-request warmup where the caller had to re-issue
330
- * several HTTP requests before a capture stuck. We retry ONLY on `no-shell` (and a
331
- * defensively-caught abort); a genuine render error is NOT retried — it propagates
332
- * to scheduleShellCapture's reportCacheError. See docs/design/ppr-shell-resume.md.
331
+ * several HTTP requests before a capture stuck. We retry ONLY on `no-shell`; a
332
+ * genuine render error is NOT retried — it propagates to scheduleShellCapture's
333
+ * reportCacheError. See docs/design/ppr-shell-resume.md.
333
334
  *
334
335
  * `retryDelayMs` is a parameter (defaulting to the module const) so unit tests can
335
336
  * drive the retry without a real 400ms wall-clock wait.
@@ -369,9 +370,10 @@ export declare function deriveShellCaptureContext(reqCtx: RequestContext<any>, d
369
370
  * capture worked; only the store I/O failed). `ssrModule.captureShellHTML` MUST be
370
371
  * present (eligibility is checked before scheduling).
371
372
  *
372
- * A `no-shell` result (trivial prelude, or a defensively-caught abort) is the only
373
- * retryable outcome; a genuine (non-abort) captureShellHTML error propagates so it
374
- * reaches reportCacheError and is NOT retried.
373
+ * A `no-shell` result from captureShellHTML is the only retryable outcome. Every
374
+ * captureShellHTML error propagates to reportCacheError and is NOT retried. The
375
+ * capture handler converts only its own private abort sentinel to null before this
376
+ * layer sees it.
375
377
  */
376
378
  declare function captureAndStoreShell(ssrModule: SSRModule, rscStream: ReadableStream<Uint8Array>, handleStore: HandleStore, reqCtx: RequestContext<any>, capture: ShellCaptureDescriptor, stats?: CaptureAttemptStats, captureStartedAt?: number): Promise<Exclude<CaptureAttemptOutcome, "redirect">>;
377
379
  export { runShellCapture, captureAndStoreShell, delay, SHELL_CAPTURE_RETRY_DELAY_MS, };
@@ -6,10 +6,11 @@
6
6
  * fragment STRINGS ride the outgoing payload verbatim inside these envelopes
7
7
  * — the outer Flight render copies a string instead of re-serializing a whole
8
8
  * element tree — and the CONSUMER expands each envelope through its own Flight
9
- * deserializer: the SSR resume pass (ssr/ssr-root.tsx) and browser hydration
10
- * (browser/rsc-router.tsx). Each fragment is its own row space, decoded
11
- * independently, exactly like the segment codec's per-record decode — so
12
- * there is no Flight row-id collision or shared-row dedupe hazard.
9
+ * deserializer: the SSR resume pass (ssr/ssr-root.tsx), browser hydration, and
10
+ * capability-gated partial navigation/prefetch decoders. Each fragment is its
11
+ * own row space, decoded independently, exactly like the segment codec's
12
+ * per-record decode — so there is no Flight row-id collision or shared-row
13
+ * dedupe hazard.
13
14
  *
14
15
  * Envelopes appear ONLY on fields that hold ReactNodes (component / layout /
15
16
  * loading). A plain object is never a valid ReactNode, so the marker cannot
@@ -20,6 +21,15 @@
20
21
  * it must stay dependency-free: no plugin-rsc, no request-context.
21
22
  */
22
23
  import type { ResolvedSegment } from "./types.js";
24
+ /** Partial-request capability gate for browser-side fragment expansion. */
25
+ export declare const SEGMENT_FRAGMENT_CAPABILITY_HEADER: string;
26
+ /** One-shot request marker that forces server-side fragment validation. */
27
+ export declare const SEGMENT_FRAGMENT_RECOVERY_HEADER: string;
28
+ /** A stored fragment failed in its consumer-side Flight decoder. */
29
+ export declare class SegmentFragmentDecodeError extends Error {
30
+ readonly cause: unknown;
31
+ constructor(cause: unknown);
32
+ }
23
33
  /**
24
34
  * One RSC-encoded fragment traveling inside an RscPayload segment field.
25
35
  * `f` is the stored Flight document (segment-codec output) for that field.
@@ -49,6 +59,19 @@ export type FragmentDecoder = (stream: ReadableStream<Uint8Array>) => Promise<un
49
59
  * the same posture as a parseable-but-mismatched postponed blob.
50
60
  */
51
61
  export declare function expandSegmentFragments(segments: ResolvedSegment[] | undefined, decode: FragmentDecoder): Promise<void>;
62
+ /**
63
+ * Expand every envelope in an RscPayload-shaped object, in place. Decode
64
+ * failures use a distinct error so partial navigation can retry once through
65
+ * the server's decode-and-evict path. The
66
+ * hasSegmentFragments pre-scan keeps envelope-free payloads — every
67
+ * non-replay response — to one synchronous field walk; this runs on every
68
+ * navigation and prefetch decode.
69
+ */
70
+ export declare function expandPayloadFragments(payload: {
71
+ metadata?: {
72
+ segments?: ResolvedSegment[];
73
+ };
74
+ }, decode: FragmentDecoder): Promise<void>;
52
75
  /**
53
76
  * True when any segment carries an unexpanded envelope. Cheap scan used by
54
77
  * consumers that only need to know whether an expansion pass is required.
@@ -226,6 +226,12 @@ export interface RequestContext<TEnv = DefaultEnv, TParams = Record<string, stri
226
226
  keyPrefix?: "doc";
227
227
  /** @internal Called only after the implicit cache hit decodes successfully. */
228
228
  onHit?: () => void;
229
+ /**
230
+ * @internal Called when the seeded document record fails server-side
231
+ * deserialization. Partial replay uses it to replace the enclosing shell
232
+ * snapshot after serving the fresh fallback.
233
+ */
234
+ onCorrupt?: () => void;
229
235
  /**
230
236
  * @internal The resolved key of the canonical document segment record.
231
237
  * Written during a CAPTURE render by CacheScope.cacheRoute when a
@@ -256,15 +262,22 @@ export interface RequestContext<TEnv = DefaultEnv, TParams = Record<string, stri
256
262
  onExplicitBypass?: () => void;
257
263
  };
258
264
  /**
259
- * @internal Shell-HIT tail marker: cache/prerender-store hits during THIS
260
- * render emit stored segment fragments VERBATIM into the payload
265
+ * @internal Fragment-passthrough marker: cache/prerender-store hits during
266
+ * THIS render emit stored segment fragments VERBATIM into the payload
261
267
  * (segment-codec fragmentSegments) instead of deserialize -> re-serialize
262
- * per request; the payload consumers (SSR resume + browser hydration)
263
- * expand them (segment-fragments.ts, issue #700). Own property of
264
- * serveShellHit's derived tail context ONLY it must never be visible to a
265
- * capture render: the capture SSR-prerenders the payload AND serializes
266
- * segments into records (cacheRoute), and an envelope reaching
267
- * serializeSegments would store a double-encoded fragment.
268
+ * per request; the payload consumers (SSR resume, browser hydration, and
269
+ * the client partial-navigation decode chokepoints) expand them
270
+ * (segment-fragments.ts, issue #700). Partial requests arm only after the
271
+ * browser advertises `X-Rango-Fragment-Passthrough: 1`; a decode failure
272
+ * retries without it so CacheScope can evict the bad record. Two arming sites,
273
+ * both scoped to a
274
+ * render/match window: serveShellHit's derived tail context (document
275
+ * HIT), and matchPartialWithPprReplay's mutate-restore around the partial
276
+ * match (matchPartialForReplay). It must never be visible to a capture
277
+ * render: the capture SSR-prerenders the payload AND serializes segments
278
+ * into records (cacheRoute), and an envelope reaching serializeSegments
279
+ * would store a double-encoded fragment — deriveShellCaptureContext resets
280
+ * it as an own property for exactly that reason.
268
281
  */
269
282
  _shellFragmentPayload?: boolean;
270
283
  /**