vinext 0.0.50 → 0.0.51

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 (309) hide show
  1. package/dist/build/google-fonts/fallback-metrics-data.js +14031 -0
  2. package/dist/build/google-fonts/fallback-metrics-data.js.map +1 -0
  3. package/dist/build/google-fonts/fallback-metrics.d.ts +13 -0
  4. package/dist/build/google-fonts/fallback-metrics.js +46 -0
  5. package/dist/build/google-fonts/fallback-metrics.js.map +1 -0
  6. package/dist/build/precompress.d.ts +13 -2
  7. package/dist/build/precompress.js +12 -3
  8. package/dist/build/precompress.js.map +1 -1
  9. package/dist/build/prerender.d.ts +1 -1
  10. package/dist/build/prerender.js +44 -14
  11. package/dist/build/prerender.js.map +1 -1
  12. package/dist/build/report.d.ts +5 -4
  13. package/dist/build/report.js +196 -348
  14. package/dist/build/report.js.map +1 -1
  15. package/dist/check.js +1 -0
  16. package/dist/check.js.map +1 -1
  17. package/dist/cli.js +60 -3
  18. package/dist/cli.js.map +1 -1
  19. package/dist/client/window-next.d.ts +3 -1
  20. package/dist/client/window-next.js.map +1 -1
  21. package/dist/config/dotenv.d.ts +11 -1
  22. package/dist/config/dotenv.js.map +1 -1
  23. package/dist/config/next-config.d.ts +87 -3
  24. package/dist/config/next-config.js +222 -6
  25. package/dist/config/next-config.js.map +1 -1
  26. package/dist/config/tsconfig-paths.d.ts +13 -0
  27. package/dist/config/tsconfig-paths.js +117 -0
  28. package/dist/config/tsconfig-paths.js.map +1 -0
  29. package/dist/deploy.js +3 -2
  30. package/dist/deploy.js.map +1 -1
  31. package/dist/entries/app-browser-entry.d.ts +2 -2
  32. package/dist/entries/app-browser-entry.js +26 -1
  33. package/dist/entries/app-browser-entry.js.map +1 -1
  34. package/dist/entries/app-rsc-entry.d.ts +19 -1
  35. package/dist/entries/app-rsc-entry.js +38 -12
  36. package/dist/entries/app-rsc-entry.js.map +1 -1
  37. package/dist/entries/app-rsc-manifest.d.ts +9 -0
  38. package/dist/entries/app-rsc-manifest.js +4 -1
  39. package/dist/entries/app-rsc-manifest.js.map +1 -1
  40. package/dist/entries/pages-client-entry.js +3 -5
  41. package/dist/entries/pages-client-entry.js.map +1 -1
  42. package/dist/entries/pages-server-entry.js +19 -1
  43. package/dist/entries/pages-server-entry.js.map +1 -1
  44. package/dist/index.js +130 -37
  45. package/dist/index.js.map +1 -1
  46. package/dist/plugins/client-reference-dedup.d.ts +15 -2
  47. package/dist/plugins/client-reference-dedup.js +138 -16
  48. package/dist/plugins/client-reference-dedup.js.map +1 -1
  49. package/dist/plugins/fonts.d.ts +2 -2
  50. package/dist/plugins/fonts.js +15 -6
  51. package/dist/plugins/fonts.js.map +1 -1
  52. package/dist/plugins/sass.d.ts +34 -0
  53. package/dist/plugins/sass.js +22 -0
  54. package/dist/plugins/sass.js.map +1 -0
  55. package/dist/routing/app-route-graph.d.ts +31 -2
  56. package/dist/routing/app-route-graph.js +82 -10
  57. package/dist/routing/app-route-graph.js.map +1 -1
  58. package/dist/routing/route-pattern.d.ts +56 -1
  59. package/dist/routing/route-pattern.js +60 -1
  60. package/dist/routing/route-pattern.js.map +1 -1
  61. package/dist/server/app-browser-action-result.d.ts +27 -2
  62. package/dist/server/app-browser-action-result.js +63 -2
  63. package/dist/server/app-browser-action-result.js.map +1 -1
  64. package/dist/server/app-browser-entry.js +262 -108
  65. package/dist/server/app-browser-entry.js.map +1 -1
  66. package/dist/server/app-browser-hydration.d.ts +13 -1
  67. package/dist/server/app-browser-hydration.js +9 -1
  68. package/dist/server/app-browser-hydration.js.map +1 -1
  69. package/dist/server/app-browser-navigation-controller.d.ts +14 -1
  70. package/dist/server/app-browser-navigation-controller.js +28 -9
  71. package/dist/server/app-browser-navigation-controller.js.map +1 -1
  72. package/dist/server/app-browser-popstate.d.ts +16 -0
  73. package/dist/server/app-browser-popstate.js +17 -0
  74. package/dist/server/app-browser-popstate.js.map +1 -0
  75. package/dist/server/app-browser-rsc-redirect.d.ts +28 -0
  76. package/dist/server/app-browser-rsc-redirect.js +37 -0
  77. package/dist/server/app-browser-rsc-redirect.js.map +1 -0
  78. package/dist/server/app-browser-state.d.ts +11 -7
  79. package/dist/server/app-browser-state.js +45 -27
  80. package/dist/server/app-browser-state.js.map +1 -1
  81. package/dist/server/app-browser-stream.d.ts +5 -4
  82. package/dist/server/app-browser-stream.js +5 -6
  83. package/dist/server/app-browser-stream.js.map +1 -1
  84. package/dist/server/app-browser-visible-commit.d.ts +5 -0
  85. package/dist/server/app-browser-visible-commit.js +38 -5
  86. package/dist/server/app-browser-visible-commit.js.map +1 -1
  87. package/dist/server/app-elements-wire.d.ts +38 -6
  88. package/dist/server/app-elements-wire.js +106 -6
  89. package/dist/server/app-elements-wire.js.map +1 -1
  90. package/dist/server/app-elements.d.ts +2 -2
  91. package/dist/server/app-elements.js +2 -2
  92. package/dist/server/app-elements.js.map +1 -1
  93. package/dist/server/app-fallback-renderer.d.ts +10 -1
  94. package/dist/server/app-fallback-renderer.js +37 -1
  95. package/dist/server/app-fallback-renderer.js.map +1 -1
  96. package/dist/server/app-history-state.d.ts +26 -0
  97. package/dist/server/app-history-state.js +53 -0
  98. package/dist/server/app-history-state.js.map +1 -0
  99. package/dist/server/app-page-boundary-render.d.ts +10 -1
  100. package/dist/server/app-page-boundary-render.js +13 -6
  101. package/dist/server/app-page-boundary-render.js.map +1 -1
  102. package/dist/server/app-page-boundary.js +3 -2
  103. package/dist/server/app-page-boundary.js.map +1 -1
  104. package/dist/server/app-page-cache.d.ts +13 -0
  105. package/dist/server/app-page-cache.js +25 -8
  106. package/dist/server/app-page-cache.js.map +1 -1
  107. package/dist/server/app-page-dispatch.d.ts +5 -0
  108. package/dist/server/app-page-dispatch.js +68 -11
  109. package/dist/server/app-page-dispatch.js.map +1 -1
  110. package/dist/server/app-page-element-builder.d.ts +7 -0
  111. package/dist/server/app-page-element-builder.js +32 -4
  112. package/dist/server/app-page-element-builder.js.map +1 -1
  113. package/dist/server/app-page-execution.js +2 -3
  114. package/dist/server/app-page-execution.js.map +1 -1
  115. package/dist/server/app-page-head.d.ts +7 -0
  116. package/dist/server/app-page-head.js +2 -1
  117. package/dist/server/app-page-head.js.map +1 -1
  118. package/dist/server/app-page-probe.d.ts +23 -1
  119. package/dist/server/app-page-probe.js +29 -1
  120. package/dist/server/app-page-probe.js.map +1 -1
  121. package/dist/server/app-page-render-observation.d.ts +35 -0
  122. package/dist/server/app-page-render-observation.js +68 -0
  123. package/dist/server/app-page-render-observation.js.map +1 -0
  124. package/dist/server/app-page-render.d.ts +5 -1
  125. package/dist/server/app-page-render.js +79 -3
  126. package/dist/server/app-page-render.js.map +1 -1
  127. package/dist/server/app-page-request.d.ts +1 -0
  128. package/dist/server/app-page-request.js.map +1 -1
  129. package/dist/server/app-page-response.js +3 -2
  130. package/dist/server/app-page-response.js.map +1 -1
  131. package/dist/server/app-page-route-wiring.d.ts +3 -1
  132. package/dist/server/app-page-route-wiring.js +42 -14
  133. package/dist/server/app-page-route-wiring.js.map +1 -1
  134. package/dist/server/app-page-stream.d.ts +2 -0
  135. package/dist/server/app-page-stream.js +1 -0
  136. package/dist/server/app-page-stream.js.map +1 -1
  137. package/dist/server/app-router-entry.js +1 -13
  138. package/dist/server/app-router-entry.js.map +1 -1
  139. package/dist/server/app-rsc-cache-busting.d.ts +19 -1
  140. package/dist/server/app-rsc-cache-busting.js +36 -1
  141. package/dist/server/app-rsc-cache-busting.js.map +1 -1
  142. package/dist/server/app-rsc-embedded-chunks.d.ts +9 -0
  143. package/dist/server/app-rsc-embedded-chunks.js +34 -0
  144. package/dist/server/app-rsc-embedded-chunks.js.map +1 -0
  145. package/dist/server/app-rsc-errors.d.ts +4 -1
  146. package/dist/server/app-rsc-errors.js +1 -1
  147. package/dist/server/app-rsc-errors.js.map +1 -1
  148. package/dist/server/app-rsc-handler.d.ts +12 -4
  149. package/dist/server/app-rsc-handler.js +6 -1
  150. package/dist/server/app-rsc-handler.js.map +1 -1
  151. package/dist/server/app-rsc-route-matching.d.ts +23 -0
  152. package/dist/server/app-rsc-route-matching.js +45 -23
  153. package/dist/server/app-rsc-route-matching.js.map +1 -1
  154. package/dist/server/app-server-action-execution.d.ts +35 -3
  155. package/dist/server/app-server-action-execution.js +87 -33
  156. package/dist/server/app-server-action-execution.js.map +1 -1
  157. package/dist/server/app-ssr-entry.d.ts +1 -0
  158. package/dist/server/app-ssr-entry.js +37 -13
  159. package/dist/server/app-ssr-entry.js.map +1 -1
  160. package/dist/server/app-ssr-error-meta.d.ts +14 -0
  161. package/dist/server/app-ssr-error-meta.js +50 -0
  162. package/dist/server/app-ssr-error-meta.js.map +1 -0
  163. package/dist/server/app-ssr-stream.d.ts +1 -1
  164. package/dist/server/app-ssr-stream.js +9 -12
  165. package/dist/server/app-ssr-stream.js.map +1 -1
  166. package/dist/server/artifact-compatibility.d.ts +12 -2
  167. package/dist/server/artifact-compatibility.js +12 -8
  168. package/dist/server/artifact-compatibility.js.map +1 -1
  169. package/dist/server/cache-proof.d.ts +124 -5
  170. package/dist/server/cache-proof.js +416 -18
  171. package/dist/server/cache-proof.js.map +1 -1
  172. package/dist/server/dev-lockfile.d.ts +110 -0
  173. package/dist/server/dev-lockfile.js +180 -0
  174. package/dist/server/dev-lockfile.js.map +1 -0
  175. package/dist/server/dev-server.js +15 -5
  176. package/dist/server/dev-server.js.map +1 -1
  177. package/dist/server/file-based-metadata.d.ts +13 -0
  178. package/dist/server/file-based-metadata.js +49 -2
  179. package/dist/server/file-based-metadata.js.map +1 -1
  180. package/dist/server/headers.d.ts +3 -1
  181. package/dist/server/headers.js +5 -2
  182. package/dist/server/headers.js.map +1 -1
  183. package/dist/server/html.js +1 -1
  184. package/dist/server/html.js.map +1 -1
  185. package/dist/server/http-error-responses.d.ts +10 -0
  186. package/dist/server/http-error-responses.js +11 -1
  187. package/dist/server/http-error-responses.js.map +1 -1
  188. package/dist/server/isr-cache.d.ts +2 -1
  189. package/dist/server/isr-cache.js +4 -2
  190. package/dist/server/isr-cache.js.map +1 -1
  191. package/dist/server/metadata-route-response.js +22 -5
  192. package/dist/server/metadata-route-response.js.map +1 -1
  193. package/dist/server/metadata-routes.js +27 -8
  194. package/dist/server/metadata-routes.js.map +1 -1
  195. package/dist/server/middleware-runtime.js +1 -0
  196. package/dist/server/middleware-runtime.js.map +1 -1
  197. package/dist/server/middleware.d.ts +12 -0
  198. package/dist/server/middleware.js +12 -0
  199. package/dist/server/middleware.js.map +1 -1
  200. package/dist/server/navigation-planner.d.ts +19 -5
  201. package/dist/server/navigation-planner.js +278 -17
  202. package/dist/server/navigation-planner.js.map +1 -1
  203. package/dist/server/navigation-trace.d.ts +8 -1
  204. package/dist/server/navigation-trace.js +7 -0
  205. package/dist/server/navigation-trace.js.map +1 -1
  206. package/dist/server/normalize-path.d.ts +2 -1
  207. package/dist/server/normalize-path.js +4 -1
  208. package/dist/server/normalize-path.js.map +1 -1
  209. package/dist/server/pages-api-route.js +1 -0
  210. package/dist/server/pages-api-route.js.map +1 -1
  211. package/dist/server/pages-page-data.d.ts +3 -2
  212. package/dist/server/pages-page-data.js +22 -3
  213. package/dist/server/pages-page-data.js.map +1 -1
  214. package/dist/server/pages-page-response.js +1 -1
  215. package/dist/server/prod-server.d.ts +28 -1
  216. package/dist/server/prod-server.js +62 -9
  217. package/dist/server/prod-server.js.map +1 -1
  218. package/dist/server/server-action-not-found.d.ts +16 -3
  219. package/dist/server/server-action-not-found.js +19 -1
  220. package/dist/server/server-action-not-found.js.map +1 -1
  221. package/dist/server/server-globals.d.ts +5 -0
  222. package/dist/server/server-globals.js +37 -0
  223. package/dist/server/server-globals.js.map +1 -0
  224. package/dist/server/static-file-cache.js +1 -1
  225. package/dist/server/static-file-cache.js.map +1 -1
  226. package/dist/shims/cache-runtime.d.ts +19 -2
  227. package/dist/shims/cache-runtime.js +67 -11
  228. package/dist/shims/cache-runtime.js.map +1 -1
  229. package/dist/shims/cache.d.ts +5 -18
  230. package/dist/shims/cache.js +2 -0
  231. package/dist/shims/cache.js.map +1 -1
  232. package/dist/shims/error-boundary.js +6 -8
  233. package/dist/shims/error-boundary.js.map +1 -1
  234. package/dist/shims/error.d.ts +18 -1
  235. package/dist/shims/error.js +56 -1
  236. package/dist/shims/error.js.map +1 -1
  237. package/dist/shims/fetch-cache.d.ts +4 -1
  238. package/dist/shims/fetch-cache.js +40 -5
  239. package/dist/shims/fetch-cache.js.map +1 -1
  240. package/dist/shims/font-google-base.d.ts +22 -8
  241. package/dist/shims/font-google-base.js +41 -71
  242. package/dist/shims/font-google-base.js.map +1 -1
  243. package/dist/shims/font-local.d.ts +3 -20
  244. package/dist/shims/font-local.js +23 -75
  245. package/dist/shims/font-local.js.map +1 -1
  246. package/dist/shims/font-utils.d.ts +51 -0
  247. package/dist/shims/font-utils.js +97 -0
  248. package/dist/shims/font-utils.js.map +1 -0
  249. package/dist/shims/hash-scroll.d.ts +7 -0
  250. package/dist/shims/hash-scroll.js +30 -0
  251. package/dist/shims/hash-scroll.js.map +1 -0
  252. package/dist/shims/headers.d.ts +8 -11
  253. package/dist/shims/headers.js +22 -2
  254. package/dist/shims/headers.js.map +1 -1
  255. package/dist/shims/image.d.ts +1 -0
  256. package/dist/shims/image.js +144 -78
  257. package/dist/shims/image.js.map +1 -1
  258. package/dist/shims/internal/app-router-context.d.ts +6 -6
  259. package/dist/shims/internal/app-router-context.js +17 -6
  260. package/dist/shims/internal/app-router-context.js.map +1 -1
  261. package/dist/shims/link-prefetch.d.ts +9 -1
  262. package/dist/shims/link-prefetch.js +11 -6
  263. package/dist/shims/link-prefetch.js.map +1 -1
  264. package/dist/shims/link.d.ts +12 -2
  265. package/dist/shims/link.js +78 -32
  266. package/dist/shims/link.js.map +1 -1
  267. package/dist/shims/metadata.d.ts +16 -30
  268. package/dist/shims/metadata.js +87 -28
  269. package/dist/shims/metadata.js.map +1 -1
  270. package/dist/shims/navigation.d.ts +158 -17
  271. package/dist/shims/navigation.js +324 -74
  272. package/dist/shims/navigation.js.map +1 -1
  273. package/dist/shims/navigation.react-server.d.ts +3 -2
  274. package/dist/shims/navigation.react-server.js +5 -2
  275. package/dist/shims/navigation.react-server.js.map +1 -1
  276. package/dist/shims/pages-router-runtime.d.ts +7 -0
  277. package/dist/shims/pages-router-runtime.js +16 -0
  278. package/dist/shims/pages-router-runtime.js.map +1 -0
  279. package/dist/shims/router.d.ts +32 -6
  280. package/dist/shims/router.js +197 -242
  281. package/dist/shims/router.js.map +1 -1
  282. package/dist/shims/script.js +110 -32
  283. package/dist/shims/script.js.map +1 -1
  284. package/dist/shims/server.js +2 -1
  285. package/dist/shims/server.js.map +1 -1
  286. package/dist/shims/slot.d.ts +1 -0
  287. package/dist/shims/slot.js +41 -1
  288. package/dist/shims/slot.js.map +1 -1
  289. package/dist/shims/unified-request-context.js +2 -0
  290. package/dist/shims/unified-request-context.js.map +1 -1
  291. package/dist/shims/unrecognized-action-error.d.ts +35 -0
  292. package/dist/shims/unrecognized-action-error.js +41 -0
  293. package/dist/shims/unrecognized-action-error.js.map +1 -0
  294. package/dist/shims/url-utils.d.ts +21 -1
  295. package/dist/shims/url-utils.js +67 -3
  296. package/dist/shims/url-utils.js.map +1 -1
  297. package/dist/utils/asset-prefix.d.ts +69 -0
  298. package/dist/utils/asset-prefix.js +91 -0
  299. package/dist/utils/asset-prefix.js.map +1 -0
  300. package/dist/utils/base-path.d.ts +7 -1
  301. package/dist/utils/base-path.js +10 -1
  302. package/dist/utils/base-path.js.map +1 -1
  303. package/dist/utils/navigation-signal.d.ts +1 -2
  304. package/dist/utils/navigation-signal.js +1 -1
  305. package/dist/utils/navigation-signal.js.map +1 -1
  306. package/dist/utils/sorted-array.d.ts +9 -0
  307. package/dist/utils/sorted-array.js +22 -0
  308. package/dist/utils/sorted-array.js.map +1 -0
  309. package/package.json +3 -3
@@ -1,4 +1,6 @@
1
+ import { AppRouterInstance } from "./internal/app-router-context.js";
1
2
  import { ReadonlyURLSearchParams } from "./readonly-url-search-params.js";
3
+ import { UnrecognizedActionError, unstable_isUnrecognizedActionError } from "./unrecognized-action-error.js";
2
4
  import * as React$1 from "react";
3
5
 
4
6
  //#region src/shims/navigation.d.ts
@@ -55,13 +57,20 @@ declare const MAX_PREFETCH_CACHE_SIZE = 50;
55
57
  declare const PREFETCH_CACHE_TTL = 30000;
56
58
  /** A buffered RSC response stored as an ArrayBuffer for replay. */
57
59
  type CachedRscResponse = {
60
+ compatibilityIdHeader?: string | null;
58
61
  buffer: ArrayBuffer;
59
62
  contentType: string;
60
63
  mountedSlotsHeader?: string | null;
61
64
  paramsHeader: string | null;
62
65
  url: string;
63
66
  };
67
+ type PrefetchOptions = {
68
+ kind?: unknown;
69
+ onInvalidate?: () => void;
70
+ };
64
71
  type PrefetchCacheEntry = {
72
+ invalidationTimer?: ReturnType<typeof setTimeout>;
73
+ onInvalidateCallbacks?: Set<() => void>;
65
74
  outcome: "pending" | "cache-seeded";
66
75
  snapshot?: CachedRscResponse;
67
76
  pending?: Promise<void>;
@@ -76,6 +85,7 @@ declare function getPrefetchCache(): Map<string, PrefetchCacheEntry>;
76
85
  * Keyed by interception-aware cache key so distinct source routes do not alias.
77
86
  */
78
87
  declare function getPrefetchedUrls(): Set<string>;
88
+ declare function invalidatePrefetchCache(): void;
79
89
  /**
80
90
  * Store a prefetched RSC response in the cache by snapshotting it to an
81
91
  * ArrayBuffer. The snapshot completes asynchronously; during that window
@@ -92,7 +102,8 @@ declare function getPrefetchedUrls(): Set<string>;
92
102
  * NB: Caller is responsible for managing getPrefetchedUrls() — this
93
103
  * function only stores the response in the prefetch cache.
94
104
  */
95
- declare function storePrefetchResponse(rscUrl: string, response: Response, interceptionContext?: string | null): void;
105
+ declare function storePrefetchResponse(rscUrl: string, response: Response, interceptionContext?: string | null, options?: PrefetchOptions): void;
106
+ declare function createCachedRscResponseSnapshot(response: Response, buffer: ArrayBuffer, responseUrl?: string | null): CachedRscResponse;
96
107
  /**
97
108
  * Snapshot an RSC response to an ArrayBuffer for caching and replay.
98
109
  * Consumes the response body and stores it with content-type and URL metadata.
@@ -121,7 +132,7 @@ declare function restoreRscResponse(cached: CachedRscResponse, copy?: boolean):
121
132
  * Enforces a maximum cache size to prevent unbounded memory growth on
122
133
  * link-heavy pages.
123
134
  */
124
- declare function prefetchRscResponse(rscUrl: string, fetchPromise: Promise<Response>, interceptionContext?: string | null, mountedSlotsHeader?: string | null): void;
135
+ declare function prefetchRscResponse(rscUrl: string, fetchPromise: Promise<Response>, interceptionContext?: string | null, mountedSlotsHeader?: string | null, options?: PrefetchOptions): void;
125
136
  /**
126
137
  * Consume a prefetched response for a given rscUrl.
127
138
  * Only returns settled (non-pending) snapshots synchronously.
@@ -230,7 +241,7 @@ declare const appRouterInstance: {
230
241
  back(): void;
231
242
  forward(): void;
232
243
  refresh(): void;
233
- prefetch(href: string): void;
244
+ prefetch(href: string, options?: PrefetchOptions): void;
234
245
  };
235
246
  /**
236
247
  * App Router's useRouter — returns push/replace/back/forward/refresh.
@@ -240,19 +251,7 @@ declare const appRouterInstance: {
240
251
  * matching Next.js behavior so components using referential equality
241
252
  * (e.g. useMemo / useEffect deps, React.memo) don't re-render unnecessarily.
242
253
  */
243
- declare function useRouter(): {
244
- bfcacheId: string;
245
- push(href: string, options?: {
246
- scroll?: boolean;
247
- }): void;
248
- replace(href: string, options?: {
249
- scroll?: boolean;
250
- }): void;
251
- back(): void;
252
- forward(): void;
253
- refresh(): void;
254
- prefetch(href: string): void;
255
- };
254
+ declare function useRouter(): AppRouterInstance;
256
255
  /**
257
256
  * Returns the active child segment one level below the layout where it's called.
258
257
  *
@@ -372,6 +371,148 @@ declare function forbidden(): never;
372
371
  * support it unconditionally for maximum compatibility.
373
372
  */
374
373
  declare function unauthorized(): never;
374
+ type _RedirectErrorShape = Error & {
375
+ digest: string;
376
+ };
377
+ /**
378
+ * Check whether an error was produced by `redirect()` or `permanentRedirect()`.
379
+ *
380
+ * **Note on vinext public surface:** Next.js does NOT expose `isRedirectError`
381
+ * from `next/navigation` — it's an internal predicate. vinext exposes it for
382
+ * symmetry with the already-public `isHTTPAccessFallbackError` and because
383
+ * `unstable_rethrow` consumers benefit from being able to narrow types.
384
+ * Treat it as a vinext-only extension.
385
+ *
386
+ * **Divergence from Next.js:** Next.js's internal `isRedirectError` performs
387
+ * full 4-segment validation — it splits the digest on `;`, checks `type` ∈
388
+ * {push, replace}, requires a non-empty destination, and validates the
389
+ * status code (303, 307, 308). See:
390
+ * https://github.com/vercel/next.js/blob/canary/packages/next/src/client/components/redirect-error.ts
391
+ *
392
+ * vinext instead uses a simple prefix check (`startsWith("NEXT_REDIRECT;")`).
393
+ * Reasons:
394
+ * 1. vinext emits two digest shapes — 3-part for `redirect()`
395
+ * (`NEXT_REDIRECT;{type};{encoded-url}`) and 4-part for
396
+ * `permanentRedirect()` (`NEXT_REDIRECT;{type};{encoded-url};308`).
397
+ * Strict validation would have to special-case both, and Next.js's
398
+ * validator (tuned to its 5-part canary digests) rejects them.
399
+ * 2. The `type` field is sometimes empty in vinext's redirect digests
400
+ * (context-dependent resolution; see `redirect()` above), which the
401
+ * strict check disallows.
402
+ *
403
+ * **Consequence:** A malformed digest such as `"NEXT_REDIRECT;garbage"`
404
+ * returns `true` here, whereas Next.js would return `false`. In practice,
405
+ * the only callers of this predicate are vinext-internal code paths
406
+ * (`unstable_rethrow`, `unstable_catchError`, the redirect error boundary)
407
+ * that see digests vinext itself emits — so the divergence does not surface
408
+ * in normal use. Maintainers extending the prefix logic should keep this
409
+ * predicate in lockstep with the corresponding `decode*` helpers in
410
+ * `shims/error-boundary.tsx`.
411
+ */
412
+ declare function isRedirectError(error: unknown): error is _RedirectErrorShape;
413
+ /**
414
+ * Returns true if the error is a Next.js navigation signal — either a redirect
415
+ * or an HTTP access fallback (notFound / forbidden / unauthorized).
416
+ *
417
+ * **Note on vinext public surface:** Like `isRedirectError`, Next.js does NOT
418
+ * expose this from `next/navigation`. vinext exposes it for symmetry — treat
419
+ * it as a vinext-only extension.
420
+ *
421
+ * Ported from Next.js:
422
+ * https://github.com/vercel/next.js/blob/canary/packages/next/src/client/components/is-next-router-error.ts
423
+ */
424
+ declare function isNextRouterError(error: unknown): boolean;
425
+ declare const _BAILOUT_TO_CSR_DIGEST = "BAILOUT_TO_CLIENT_SIDE_RENDERING";
426
+ /**
427
+ * Error thrown to bail out of server rendering and fall back to client-side
428
+ * rendering. Used by `next/dynamic` with `ssr: false`.
429
+ *
430
+ * vinext does not yet emit this error itself — it's exposed so user code and
431
+ * third-party libraries that mimic `next/dynamic`'s bailout semantics can
432
+ * construct an error with the canonical digest that `unstable_rethrow`
433
+ * recognises.
434
+ *
435
+ * Ported 1:1 from Next.js:
436
+ * https://github.com/vercel/next.js/blob/canary/packages/next/src/shared/lib/lazy-dynamic/bailout-to-csr.ts
437
+ */
438
+ declare class BailoutToCSRError extends Error {
439
+ readonly digest: typeof _BAILOUT_TO_CSR_DIGEST;
440
+ readonly reason: string;
441
+ constructor(reason: string);
442
+ }
443
+ /**
444
+ * Returns true if the error is a `BailoutToCSRError`. Matches Next.js's
445
+ * digest-based predicate, so any error from a foreign module instance of
446
+ * the class (or constructed manually with the canonical digest) is also
447
+ * detected.
448
+ *
449
+ * **Note on vinext public surface:** Next.js does NOT expose this from
450
+ * `next/navigation`. vinext exposes it for symmetry with `isRedirectError`
451
+ * — treat it as a vinext-only extension. The matching producer
452
+ * (`BailoutToCSRError`) is the public detection contract; Next.js exposes
453
+ * neither.
454
+ *
455
+ * Ported from Next.js:
456
+ * https://github.com/vercel/next.js/blob/canary/packages/next/src/shared/lib/lazy-dynamic/bailout-to-csr.ts
457
+ */
458
+ declare function isBailoutToCSRError(error: unknown): error is BailoutToCSRError;
459
+ declare const _DYNAMIC_SERVER_USAGE_DIGEST = "DYNAMIC_SERVER_USAGE";
460
+ /**
461
+ * Error thrown when dynamic server APIs (`cookies()`, `headers()`, etc.) are
462
+ * used inside a static/prerender context. Carries the `DYNAMIC_SERVER_USAGE`
463
+ * digest so `unstable_rethrow` can recognise and propagate it.
464
+ *
465
+ * vinext does not construct this error itself — exposed for the same
466
+ * "stable detection contract" reason as `BailoutToCSRError` above.
467
+ *
468
+ * Ported 1:1 from Next.js:
469
+ * https://github.com/vercel/next.js/blob/canary/packages/next/src/client/components/hooks-server-context.ts
470
+ */
471
+ declare class DynamicServerError extends Error {
472
+ readonly digest: typeof _DYNAMIC_SERVER_USAGE_DIGEST;
473
+ readonly description: string;
474
+ constructor(description: string);
475
+ }
476
+ /**
477
+ * Returns true if the error is a `DynamicServerError` (or any error with the
478
+ * canonical `DYNAMIC_SERVER_USAGE` digest).
479
+ *
480
+ * **Note on vinext public surface:** Next.js does NOT expose this from
481
+ * `next/navigation`. vinext exposes it for symmetry — treat it as a
482
+ * vinext-only extension.
483
+ *
484
+ * Ported from Next.js:
485
+ * https://github.com/vercel/next.js/blob/canary/packages/next/src/client/components/hooks-server-context.ts
486
+ */
487
+ declare function isDynamicServerError(error: unknown): error is DynamicServerError;
488
+ /**
489
+ * Rethrow internal Next.js errors so they're handled by the framework.
490
+ *
491
+ * When wrapping an API that uses errors for control flow (redirect, notFound,
492
+ * cookies in static render, `next/dynamic` SSR bailout, etc.), call this
493
+ * inside `catch` blocks before doing your own error handling. If the error
494
+ * is a Next.js internal error, it's rethrown; otherwise this is a no-op
495
+ * (apart from recursing through `error.cause`).
496
+ *
497
+ * Recognises (matches Next.js's browser build + the subset of the server
498
+ * build that vinext can realistically encounter):
499
+ * - `isNextRouterError`: redirect / notFound / forbidden / unauthorized
500
+ * - `isBailoutToCSRError`: `next/dynamic` `ssr: false` bailout
501
+ * - `isDynamicServerError`: dynamic API used in static render
502
+ *
503
+ * vinext does not yet recognise four additional server-only Next.js
504
+ * categories — `isDynamicPostpone`, `isPostpone`,
505
+ * `isHangingPromiseRejectionError`, `isPrerenderInterruptedError` — because
506
+ * they signal PPR / prerender-controller events that vinext's render
507
+ * pipeline does not generate. User code cannot construct these in normal
508
+ * use; they will be added if/when vinext grows PPR support.
509
+ *
510
+ * Ported from Next.js:
511
+ * https://github.com/vercel/next.js/blob/canary/packages/next/src/client/components/unstable-rethrow.ts
512
+ * https://github.com/vercel/next.js/blob/canary/packages/next/src/client/components/unstable-rethrow.server.ts
513
+ * https://github.com/vercel/next.js/blob/canary/packages/next/src/client/components/unstable-rethrow.browser.ts
514
+ */
515
+ declare function unstable_rethrow(error: unknown): void;
375
516
  //#endregion
376
- export { CachedRscResponse, ClientNavigationRenderSnapshot, GLOBAL_ACCESSORS_KEY, HTTP_ERROR_FALLBACK_ERROR_CODE, MAX_PREFETCH_CACHE_SIZE, NavigationContext, PREFETCH_CACHE_TTL, PrefetchCacheEntry, ReadonlyURLSearchParams, RedirectType, SegmentMap, ServerInsertedHTMLContext, __basePath, _registerStateAccessors, activateNavigationSnapshot, appRouterInstance, clearPendingPathname, clearServerInsertedHTML, commitClientNavigationState, consumePrefetchResponse, createClientNavigationRenderSnapshot, flushServerInsertedHTML, forbidden, getAccessFallbackHTTPStatus, getClientNavigationRenderContext, getClientNavigationState, getClientParams, getCurrentInterceptionContext, getCurrentNextUrl, getLayoutSegmentContext, getMountedSlotsHeader, getNavigationContext, getPrefetchCache, getPrefetchedUrls, isHTTPAccessFallbackError, navigateClientSide, notFound, permanentRedirect, prefetchRscResponse, pushHistoryStateWithoutNotify, redirect, renderServerInsertedHTML, replaceClientParamsWithoutNotify, replaceHistoryStateWithoutNotify, restoreRscResponse, setClientParams, setMountedSlotsHeader, setNavigationContext, setPendingPathname, snapshotRscResponse, storePrefetchResponse, unauthorized, useParams, usePathname, useRouter, useSearchParams, useSelectedLayoutSegment, useSelectedLayoutSegments, useServerInsertedHTML };
517
+ export { BailoutToCSRError, CachedRscResponse, ClientNavigationRenderSnapshot, DynamicServerError, GLOBAL_ACCESSORS_KEY, HTTP_ERROR_FALLBACK_ERROR_CODE, MAX_PREFETCH_CACHE_SIZE, NavigationContext, PREFETCH_CACHE_TTL, PrefetchCacheEntry, PrefetchOptions, ReadonlyURLSearchParams, RedirectType, SegmentMap, ServerInsertedHTMLContext, UnrecognizedActionError, __basePath, _registerStateAccessors, activateNavigationSnapshot, appRouterInstance, clearPendingPathname, clearServerInsertedHTML, commitClientNavigationState, consumePrefetchResponse, createCachedRscResponseSnapshot, createClientNavigationRenderSnapshot, flushServerInsertedHTML, forbidden, getAccessFallbackHTTPStatus, getClientNavigationRenderContext, getClientNavigationState, getClientParams, getCurrentInterceptionContext, getCurrentNextUrl, getLayoutSegmentContext, getMountedSlotsHeader, getNavigationContext, getPrefetchCache, getPrefetchedUrls, invalidatePrefetchCache, isBailoutToCSRError, isDynamicServerError, isHTTPAccessFallbackError, isNextRouterError, isRedirectError, navigateClientSide, notFound, permanentRedirect, prefetchRscResponse, pushHistoryStateWithoutNotify, redirect, renderServerInsertedHTML, replaceClientParamsWithoutNotify, replaceHistoryStateWithoutNotify, restoreRscResponse, setClientParams, setMountedSlotsHeader, setNavigationContext, setPendingPathname, snapshotRscResponse, storePrefetchResponse, unauthorized, unstable_isUnrecognizedActionError, unstable_rethrow, useParams, usePathname, useRouter, useSearchParams, useSelectedLayoutSegment, useSelectedLayoutSegments, useServerInsertedHTML };
377
518
  //# sourceMappingURL=navigation.d.ts.map