vinext 1.3.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/README.md +5 -2
  2. package/THIRD_PARTY_LICENSES.md +47 -0
  3. package/dist/_virtual/_rolldown/runtime.js +3 -2
  4. package/dist/build/prerender.js +1 -1
  5. package/dist/build/report.d.ts +0 -14
  6. package/dist/build/report.js +1 -51
  7. package/dist/check.js +1 -1
  8. package/dist/cli.js +3 -0
  9. package/dist/client/dev-error-overlay.js +1 -1
  10. package/dist/client/navigation-runtime.d.ts +13 -1
  11. package/dist/client/navigation-runtime.js +1 -1
  12. package/dist/config/next-config.d.ts +19 -0
  13. package/dist/config/next-config.js +64 -1
  14. package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/dbcs-codec.js +327 -0
  15. package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/dbcs-data.js +123 -0
  16. package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/index.js +29 -0
  17. package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/internal.js +134 -0
  18. package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/sbcs-codec.js +50 -0
  19. package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/sbcs-data-generated.js +455 -0
  20. package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/sbcs-data.js +147 -0
  21. package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/big5-added.json.js +169 -0
  22. package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/cp936.json.js +2584 -0
  23. package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/cp949.json.js +2220 -0
  24. package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/cp950.json.js +227 -0
  25. package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/eucjp.json.js +425 -0
  26. package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/gb18030-ranges.json.js +427 -0
  27. package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/gbk-added.json.js +229 -0
  28. package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/tables/shiftjis.json.js +292 -0
  29. package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/utf16.js +106 -0
  30. package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/encodings/utf7.js +182 -0
  31. package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/lib/bom-handling.js +42 -0
  32. package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/lib/extend-node.js +147 -0
  33. package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/lib/index.js +94 -0
  34. package/dist/deps/.pnpm/iconv-lite@0.4.24/deps/iconv-lite/lib/streams.js +95 -0
  35. package/dist/deps/.pnpm/safer-buffer@2.1.2/deps/safer-buffer/safer.js +45 -0
  36. package/dist/entries/app-rsc-entry.js +17 -48
  37. package/dist/entries/app-rsc-manifest.js +3 -4
  38. package/dist/entries/app-ssr-entry.js +1 -0
  39. package/dist/entries/pages-server-entry.js +33 -8
  40. package/dist/index.js +83 -70
  41. package/dist/init-cloudflare.d.ts +1 -3
  42. package/dist/init-cloudflare.js +10 -48
  43. package/dist/init-platform.d.ts +2 -0
  44. package/dist/init-platform.js +4 -0
  45. package/dist/plugins/extensionless-dynamic-import.js +6 -2
  46. package/dist/plugins/next-intl-catalog.d.ts +12 -0
  47. package/dist/plugins/next-intl-catalog.js +85 -0
  48. package/dist/plugins/pages-node-externals.d.ts +1 -0
  49. package/dist/plugins/pages-node-externals.js +1 -1
  50. package/dist/plugins/use-cache-callable.d.ts +1 -1
  51. package/dist/plugins/use-cache-callable.js +136 -94
  52. package/dist/routing/app-route-graph.d.ts +6 -0
  53. package/dist/routing/app-route-graph.js +9 -1
  54. package/dist/server/api-handler.js +19 -4
  55. package/dist/server/app-bfcache-identity.js +1 -1
  56. package/dist/server/app-browser-entry.js +79 -63
  57. package/dist/server/app-browser-history-controller.d.ts +5 -4
  58. package/dist/server/app-browser-history-controller.js +93 -15
  59. package/dist/server/app-browser-navigation-controller.d.ts +2 -2
  60. package/dist/server/app-browser-navigation-controller.js +1 -2
  61. package/dist/server/app-browser-rsc-redirect.js +4 -4
  62. package/dist/server/app-browser-server-action-client.d.ts +2 -0
  63. package/dist/server/app-browser-server-action-client.js +4 -3
  64. package/dist/server/app-browser-state.d.ts +2 -4
  65. package/dist/server/app-browser-state.js +9 -4
  66. package/dist/server/app-browser-supplemental-refresh.js +16 -1
  67. package/dist/server/app-browser-visible-commit.d.ts +1 -1
  68. package/dist/server/app-browser-visible-commit.js +2 -12
  69. package/dist/server/app-elements-wire.d.ts +6 -38
  70. package/dist/server/app-elements-wire.js +4 -41
  71. package/dist/server/app-elements.d.ts +2 -2
  72. package/dist/server/app-elements.js +2 -2
  73. package/dist/server/app-history-state.d.ts +2 -2
  74. package/dist/server/app-history-state.js +5 -2
  75. package/dist/server/app-mounted-layouts.d.ts +21 -0
  76. package/dist/server/app-mounted-layouts.js +67 -0
  77. package/dist/server/app-optimistic-routing.d.ts +19 -1
  78. package/dist/server/app-optimistic-routing.js +42 -2
  79. package/dist/server/app-page-boundary-render.js +7 -6
  80. package/dist/server/app-page-boundary.js +2 -2
  81. package/dist/server/app-page-cache-finalizer.d.ts +12 -1
  82. package/dist/server/app-page-cache-finalizer.js +70 -29
  83. package/dist/server/app-page-cache.d.ts +13 -1
  84. package/dist/server/app-page-cache.js +31 -9
  85. package/dist/server/app-page-dispatch.d.ts +5 -10
  86. package/dist/server/app-page-dispatch.js +84 -154
  87. package/dist/server/app-page-element-builder.d.ts +2 -2
  88. package/dist/server/app-page-element-builder.js +10 -9
  89. package/dist/server/app-page-execution.d.ts +17 -52
  90. package/dist/server/app-page-execution.js +99 -95
  91. package/dist/server/app-page-head.d.ts +13 -0
  92. package/dist/server/app-page-head.js +44 -16
  93. package/dist/server/app-page-http-access-fallback-metadata.d.ts +1 -0
  94. package/dist/server/app-page-http-access-fallback-metadata.js +2 -2
  95. package/dist/server/app-page-layout-gate.d.ts +35 -0
  96. package/dist/server/app-page-layout-gate.js +50 -0
  97. package/dist/server/app-page-params.d.ts +0 -1
  98. package/dist/server/app-page-params.js +1 -14
  99. package/dist/server/app-page-probe.d.ts +3 -21
  100. package/dist/server/app-page-probe.js +4 -37
  101. package/dist/server/app-page-render.d.ts +2 -12
  102. package/dist/server/app-page-render.js +89 -220
  103. package/dist/server/app-page-request.d.ts +1 -3
  104. package/dist/server/app-page-request.js +1 -1
  105. package/dist/server/app-page-response.js +3 -3
  106. package/dist/server/app-page-route-wiring.d.ts +13 -6
  107. package/dist/server/app-page-route-wiring.js +67 -61
  108. package/dist/server/app-page-rsc-render-status.d.ts +27 -1
  109. package/dist/server/app-page-rsc-render-status.js +121 -13
  110. package/dist/server/app-page-stream.d.ts +2 -0
  111. package/dist/server/app-page-stream.js +2 -2
  112. package/dist/server/app-pages-bridge.d.ts +4 -0
  113. package/dist/server/app-pages-bridge.js +7 -3
  114. package/dist/server/app-render-dependency.d.ts +11 -4
  115. package/dist/server/app-render-dependency.js +86 -38
  116. package/dist/server/app-request-stage-dispatch.js +1 -1
  117. package/dist/server/app-route-handler-cache.js +2 -2
  118. package/dist/server/app-route-handler-dispatch.js +14 -9
  119. package/dist/server/app-route-handler-execution.js +8 -3
  120. package/dist/server/app-route-handler-policy.d.ts +1 -1
  121. package/dist/server/app-route-handler-policy.js +3 -3
  122. package/dist/server/app-route-handler-response.js +1 -1
  123. package/dist/server/app-route-handler-runtime.js +17 -4
  124. package/dist/server/app-rsc-cache-busting.d.ts +2 -2
  125. package/dist/server/app-rsc-cache-busting.js +4 -4
  126. package/dist/server/app-rsc-error-handler.d.ts +2 -1
  127. package/dist/server/app-rsc-error-handler.js +9 -1
  128. package/dist/server/app-rsc-errors.d.ts +8 -0
  129. package/dist/server/app-rsc-errors.js +8 -1
  130. package/dist/server/app-rsc-handler.d.ts +5 -5
  131. package/dist/server/app-rsc-handler.js +30 -24
  132. package/dist/server/app-rsc-request-normalization.d.ts +0 -4
  133. package/dist/server/app-rsc-request-normalization.js +1 -4
  134. package/dist/server/app-rsc-response-finalizer.js +2 -2
  135. package/dist/server/app-rsc-response-stage.js +5 -3
  136. package/dist/server/app-server-action-execution.d.ts +3 -1
  137. package/dist/server/app-server-action-execution.js +7 -4
  138. package/dist/server/app-ssr-entry.d.ts +2 -0
  139. package/dist/server/app-ssr-entry.js +9 -8
  140. package/dist/server/app-ssr-stream.js +1 -1
  141. package/dist/server/app-visited-response-cache.d.ts +36 -1
  142. package/dist/server/app-visited-response-cache.js +46 -5
  143. package/dist/server/app-worker-stages.d.ts +25 -3
  144. package/dist/server/app-worker-stages.js +45 -6
  145. package/dist/server/artifact-compatibility.d.ts +0 -1
  146. package/dist/server/artifact-compatibility.js +1 -10
  147. package/dist/server/cache-proof.d.ts +1 -115
  148. package/dist/server/cache-proof.js +1 -544
  149. package/dist/server/cacheability-request.js +13 -8
  150. package/dist/server/dev-server.js +4 -3
  151. package/dist/server/headers.d.ts +6 -3
  152. package/dist/server/headers.js +9 -5
  153. package/dist/server/isr-cache.d.ts +8 -2
  154. package/dist/server/isr-cache.js +26 -1
  155. package/dist/server/metadata-route-response.js +32 -15
  156. package/dist/server/multi-stage.d.ts +52 -11
  157. package/dist/server/multi-stage.js +13 -1
  158. package/dist/server/navigation-planner.js +1 -1
  159. package/dist/server/pages-api-route.js +28 -19
  160. package/dist/server/pages-media-type.d.ts +21 -1
  161. package/dist/server/pages-media-type.js +69 -5
  162. package/dist/server/pages-node-compat.js +52 -27
  163. package/dist/server/pages-page-handler.js +11 -20
  164. package/dist/server/pages-request-pipeline.d.ts +8 -0
  165. package/dist/server/pages-request-pipeline.js +2 -2
  166. package/dist/server/pages-request-stage-entry.js +14 -12
  167. package/dist/server/pages-response-stage-entry.js +9 -3
  168. package/dist/server/prod-server.js +5 -1
  169. package/dist/server/request-pipeline.d.ts +6 -0
  170. package/dist/server/request-pipeline.js +21 -1
  171. package/dist/server/shared-cache-identity.d.ts +23 -0
  172. package/dist/server/shared-cache-identity.js +36 -0
  173. package/dist/server/worker-stages.d.ts +16 -3
  174. package/dist/server/worker-stages.js +23 -4
  175. package/dist/shims/cache-handler.js +2 -2
  176. package/dist/shims/cache-request-state.d.ts +17 -20
  177. package/dist/shims/cache-request-state.js +16 -21
  178. package/dist/shims/cache-runtime.js +27 -11
  179. package/dist/shims/cache.d.ts +8 -7
  180. package/dist/shims/cache.js +17 -19
  181. package/dist/shims/cacheability-classification.d.ts +2 -0
  182. package/dist/shims/cdn-cache.d.ts +22 -5
  183. package/dist/shims/client-page-root.js +2 -2
  184. package/dist/shims/dynamic.js +9 -6
  185. package/dist/shims/error-boundary.js +2 -2
  186. package/dist/shims/fetch-cache-state.d.ts +5 -1
  187. package/dist/shims/fetch-cache-state.js +1 -3
  188. package/dist/shims/fetch-cache.d.ts +2 -1
  189. package/dist/shims/fetch-cache.js +34 -24
  190. package/dist/shims/form.js +2 -2
  191. package/dist/shims/headers.d.ts +8 -23
  192. package/dist/shims/headers.js +17 -67
  193. package/dist/shims/internal/navigation-untracked.js +1 -1
  194. package/dist/shims/link.js +3 -1
  195. package/dist/shims/metadata.d.ts +23 -21
  196. package/dist/shims/metadata.js +62 -24
  197. package/dist/shims/navigation-server.js +1 -1
  198. package/dist/shims/navigation.d.ts +74 -7
  199. package/dist/shims/navigation.js +183 -29
  200. package/dist/shims/navigation.react-server.js +2 -2
  201. package/dist/shims/request-state-types.d.ts +2 -2
  202. package/dist/shims/slot.d.ts +12 -0
  203. package/dist/shims/slot.js +37 -9
  204. package/dist/shims/unified-request-context.d.ts +1 -1
  205. package/dist/shims/unified-request-context.js +2 -3
  206. package/dist/utils/cache-control-metadata.d.ts +5 -0
  207. package/dist/utils/cache-control-metadata.js +9 -1
  208. package/dist/utils/project.d.ts +2 -2
  209. package/dist/utils/project.js +3 -16
  210. package/dist/utils/regex.d.ts +5 -0
  211. package/dist/utils/regex.js +11 -1
  212. package/dist/utils/text-stream.d.ts +10 -5
  213. package/dist/utils/text-stream.js +6 -6
  214. package/package.json +2 -1
  215. package/dist/build/layout-classification-types.d.ts +0 -60
  216. package/dist/build/layout-classification-types.js +0 -1
  217. package/dist/build/layout-classification.d.ts +0 -62
  218. package/dist/build/layout-classification.js +0 -98
  219. package/dist/build/route-classification-injector.d.ts +0 -33
  220. package/dist/build/route-classification-injector.js +0 -59
  221. package/dist/build/route-classification-manifest.d.ts +0 -54
  222. package/dist/build/route-classification-manifest.js +0 -143
  223. package/dist/server/app-browser-client-reuse-manifest.d.ts +0 -11
  224. package/dist/server/app-browser-client-reuse-manifest.js +0 -101
  225. package/dist/server/app-layout-param-observation.d.ts +0 -42
  226. package/dist/server/app-layout-param-observation.js +0 -168
  227. package/dist/server/client-reuse-manifest.d.ts +0 -103
  228. package/dist/server/client-reuse-manifest.js +0 -209
  229. package/dist/server/skip-cache-proof.d.ts +0 -60
  230. package/dist/server/skip-cache-proof.js +0 -168
  231. package/dist/server/static-layout-client-reuse-proof.d.ts +0 -14
  232. package/dist/server/static-layout-client-reuse-proof.js +0 -33
  233. package/dist/utils/sorted-array.d.ts +0 -8
  234. package/dist/utils/sorted-array.js +0 -20
@@ -2,14 +2,34 @@ import { VINEXT_RSC_VARY_HEADER } from "./app-rsc-vary.js";
2
2
  import { cacheabilityManifestPageState, cacheabilityRequestIdentity, cacheabilityRoutePathname } from "./cacheability-manifest.js";
3
3
  import { keepOnlyValidatedRscCacheBustingSearchParam } from "./app-rsc-cache-busting.js";
4
4
  import { isTrustedPrerenderState } from "./prerender-route-params.js";
5
+ import { VINEXT_CACHE_IDENTITY_ORIGIN, withCacheIdentityOrigin } from "./multi-stage.js";
5
6
  //#region src/server/app-worker-stages.ts
6
- const APP_WORKER_RESPONSE_STAGE_PROTOCOL_VERSION = 11;
7
+ const APP_WORKER_RESPONSE_STAGE_PROTOCOL_VERSION = 13;
7
8
  const APP_METADATA_RESPONSE_STAGE_NO_MATCH_HEADER = "x-vinext-app-metadata-stage-no-match";
8
9
  const STATIC_FILE_SIGNAL_TOKEN_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
9
10
  /** Normalize a shared App page HEAD request onto its method-invariant GET representation. */
10
11
  function prepareSharedAppPageDispatch(request, cache) {
11
12
  return cache !== "bypass" && request.method.toUpperCase() === "HEAD" ? new Request(request, { method: "GET" }) : request;
12
13
  }
14
+ function sharedAppCacheIdentity(requestUrl, init, props) {
15
+ return {
16
+ props: {
17
+ ...props,
18
+ requestOrigin: VINEXT_CACHE_IDENTITY_ORIGIN
19
+ },
20
+ request: new Request(withCacheIdentityOrigin(requestUrl), init)
21
+ };
22
+ }
23
+ /**
24
+ * Build the cache identity of a shared App Router dispatch: the dispatched
25
+ * request and props under the cache identity origin.
26
+ */
27
+ function createSharedAppCacheIdentity(request, props) {
28
+ return sharedAppCacheIdentity(request.url, {
29
+ headers: new Headers(request.headers),
30
+ method: request.method
31
+ }, props);
32
+ }
13
33
  /**
14
34
  * Build the query-free cache identity of a shared App page dispatch. The user
15
35
  * query leaves both the URL and `resolvedUrl`; the `.rsc` suffix, an RSC
@@ -21,10 +41,29 @@ function createSharedAppPageCacheIdentity(request, props) {
21
41
  const headers = new Headers(request.headers);
22
42
  if (!props.isRscRequest) for (const name of VINEXT_RSC_VARY_HEADER.split(",")) headers.delete(name.trim());
23
43
  return {
24
- props: queryFree.props,
25
- request: new Request(queryFree.url, {
44
+ ...sharedAppCacheIdentity(queryFree.url, {
26
45
  headers,
27
46
  method: request.method
47
+ }, queryFree.props),
48
+ queryFree: true
49
+ };
50
+ }
51
+ /**
52
+ * Build the cache identity of a shared hybrid Pages page dispatch: the
53
+ * dispatched request and props under `origin`, so every host that names it
54
+ * shares one entry.
55
+ */
56
+ function createSharedHybridPagesCacheIdentity(request, props, origin) {
57
+ return {
58
+ props: {
59
+ ...props,
60
+ requestOrigin: origin,
61
+ requestUrl: withCacheIdentityOrigin(props.requestUrl, origin)
62
+ },
63
+ regenerateFromDispatch: true,
64
+ request: new Request(withCacheIdentityOrigin(request.url, origin), {
65
+ headers: new Headers(request.headers),
66
+ method: request.method
28
67
  })
29
68
  };
30
69
  }
@@ -80,12 +119,12 @@ function isCanonicalHttpOrigin(value) {
80
119
  function isAppWorkerResponseStageProps(value) {
81
120
  if (!value || typeof value !== "object") return false;
82
121
  const props = value;
83
- if (props.protocolVersion !== 11 || props.buildId !== null && typeof props.buildId !== "string" || !isResponseStageCacheability(props.cacheability) || props.draftModeCookie !== null && typeof props.draftModeCookie !== "string" || props.middlewareCookieOverlay !== null && typeof props.middlewareCookieOverlay !== "string" || !isCanonicalHttpOrigin(props.requestOrigin) || props.scriptNonce !== null && typeof props.scriptNonce !== "string") return false;
122
+ if (props.protocolVersion !== 13 || props.buildId !== null && typeof props.buildId !== "string" || !isResponseStageCacheability(props.cacheability) || props.draftModeCookie !== null && typeof props.draftModeCookie !== "string" || props.middlewareCookieOverlay !== null && typeof props.middlewareCookieOverlay !== "string" || !isCanonicalHttpOrigin(props.requestOrigin) || props.scriptNonce !== null && typeof props.scriptNonce !== "string") return false;
84
123
  if (props.kind === "app-full-request") return typeof props.headRequest === "boolean" && typeof props.prerenderDiscovery === "boolean" && typeof props.staticFileSignalToken === "string" && STATIC_FILE_SIGNAL_TOKEN_RE.test(props.staticFileSignalToken) && (props.trustedPrerenderState === null || isTrustedPrerenderState(props.trustedPrerenderState));
85
124
  if (props.kind === "hybrid-pages") {
86
125
  const hybrid = props;
87
126
  const appRouteMatch = hybrid.appRouteMatch;
88
- return typeof hybrid.allowRscDocumentFallback === "boolean" && (appRouteMatch === null || typeof appRouteMatch === "object" && typeof appRouteMatch.isDynamic === "boolean" && typeof appRouteMatch.pattern === "string" && appRouteMatch.pattern.startsWith("/")) && typeof hybrid.canonicalPathname === "string" && hybrid.canonicalPathname.startsWith("/") && typeof hybrid.cleanPathname === "string" && hybrid.cleanPathname.startsWith("/") && typeof hybrid.isDataRequest === "boolean" && typeof hybrid.isRscRequest === "boolean" && (hybrid.matchKind === "dynamic" || hybrid.matchKind === "static") && (hybrid.preHandlerHeaders === null || isSerializedHeaders(hybrid.preHandlerHeaders)) && (hybrid.resourceKind === "api" || hybrid.resourceKind === "page") && typeof hybrid.requestUrl === "string" && typeof hybrid.resolvedUrl === "string" && hybrid.resolvedUrl.startsWith("/");
127
+ return typeof hybrid.allowRscDocumentFallback === "boolean" && (appRouteMatch === null || typeof appRouteMatch === "object" && typeof appRouteMatch.isDynamic === "boolean" && typeof appRouteMatch.pattern === "string" && appRouteMatch.pattern.startsWith("/")) && typeof hybrid.canonicalPathname === "string" && hybrid.canonicalPathname.startsWith("/") && typeof hybrid.cleanPathname === "string" && hybrid.cleanPathname.startsWith("/") && typeof hybrid.isDataRequest === "boolean" && typeof hybrid.isRscRequest === "boolean" && (hybrid.matchKind === "dynamic" || hybrid.matchKind === "static") && (hybrid.preHandlerHeaders === null || isSerializedHeaders(hybrid.preHandlerHeaders)) && (hybrid.resourceKind === "api" || hybrid.resourceKind === "page") && typeof hybrid.requestUrl === "string" && typeof hybrid.resolvedUrl === "string" && hybrid.resolvedUrl.startsWith("/") && typeof hybrid.sharedAcrossHosts === "boolean";
89
128
  }
90
129
  if (props.kind === "app-metadata" || props.kind === "app-not-found") {
91
130
  const special = props;
@@ -102,4 +141,4 @@ function isResponseStageCacheability(value) {
102
141
  return (cacheability.probeMode === null || cacheability.probeMode === "probe" || cacheability.probeMode === "identity") && (cacheability.policyHeaders === null || Array.isArray(cacheability.policyHeaders) && cacheability.policyHeaders.every((entry) => Array.isArray(entry) && entry.length === 2 && typeof entry[0] === "string" && typeof entry[1] === "string")) && (cacheability.representation === void 0 || cacheability.representation === "app-route" || cacheability.representation === "html" || cacheability.representation === "pages-data" || cacheability.representation === "rsc-full" || cacheability.representation === "rsc-loading-shell") && typeof cacheability.resolvedRoutePathname === "string" && cacheability.resolvedRoutePathname.startsWith("/");
103
142
  }
104
143
  //#endregion
105
- export { APP_METADATA_RESPONSE_STAGE_NO_MATCH_HEADER, APP_WORKER_RESPONSE_STAGE_PROTOCOL_VERSION, createSharedAppPageCacheIdentity, isAppWorkerResponseStageProps, isStaticCandidateAppPageDispatch, prepareSharedAppPageDispatch, withoutAppPageDispatchQuery };
144
+ export { APP_METADATA_RESPONSE_STAGE_NO_MATCH_HEADER, APP_WORKER_RESPONSE_STAGE_PROTOCOL_VERSION, createSharedAppCacheIdentity, createSharedAppPageCacheIdentity, createSharedHybridPagesCacheIdentity, isAppWorkerResponseStageProps, isStaticCandidateAppPageDispatch, prepareSharedAppPageDispatch, withoutAppPageDispatchQuery };
@@ -11,7 +11,6 @@ export type ArtifactCompatibilityEnvelope = Readonly<{
11
11
  rootBoundaryId: string | null;
12
12
  renderEpoch: string | null;
13
13
  }>;
14
- export declare const ARTIFACT_COMPATIBILITY_PROOF_FIELDS: readonly (keyof ArtifactCompatibilityEnvelope)[];
15
14
  type ArtifactCompatibilityEnvelopeInput = Readonly<{
16
15
  graphVersion?: string | null;
17
16
  deploymentVersion?: string | null;
@@ -4,15 +4,6 @@ import { fnv1a64 } from "../utils/hash.js";
4
4
  const ARTIFACT_COMPATIBILITY_SCHEMA_VERSION = 1;
5
5
  const APP_ELEMENTS_SCHEMA_VERSION = 1;
6
6
  const RSC_PAYLOAD_SCHEMA_VERSION = 1;
7
- const ARTIFACT_COMPATIBILITY_PROOF_FIELDS = [
8
- "schemaVersion",
9
- "graphVersion",
10
- "deploymentVersion",
11
- "appElementsSchemaVersion",
12
- "rscPayloadSchemaVersion",
13
- "rootBoundaryId",
14
- "renderEpoch"
15
- ];
16
7
  function createArtifactCompatibilityEnvelope(input = {}) {
17
8
  return {
18
9
  schemaVersion: 1,
@@ -88,4 +79,4 @@ function evaluateArtifactCompatibility(current, candidate, options = {}) {
88
79
  return { kind: "compatible" };
89
80
  }
90
81
  //#endregion
91
- export { APP_ELEMENTS_SCHEMA_VERSION, ARTIFACT_COMPATIBILITY_PROOF_FIELDS, ARTIFACT_COMPATIBILITY_SCHEMA_VERSION, RSC_PAYLOAD_SCHEMA_VERSION, createArtifactCompatibilityEnvelope, createArtifactCompatibilityGraphVersion, evaluateArtifactCompatibility, parseArtifactCompatibilityEnvelope };
82
+ export { APP_ELEMENTS_SCHEMA_VERSION, ARTIFACT_COMPATIBILITY_SCHEMA_VERSION, RSC_PAYLOAD_SCHEMA_VERSION, createArtifactCompatibilityEnvelope, createArtifactCompatibilityGraphVersion, evaluateArtifactCompatibility, parseArtifactCompatibilityEnvelope };
@@ -1,5 +1,4 @@
1
- import { AppRouteSemanticIds } from "../routing/app-route-graph.js";
2
- import { ArtifactCompatibilityEnvelope, ArtifactCompatibilityEvaluationOptions } from "./artifact-compatibility.js";
1
+ import { ArtifactCompatibilityEnvelope } from "./artifact-compatibility.js";
3
2
  //#region src/server/cache-proof.d.ts
4
3
  export declare const CACHE_PROOF_MODEL_SCHEMA_VERSION = 1;
5
4
  export type CacheProofModelSchemaVersion = 1;
@@ -25,22 +24,8 @@ export type CacheVariantBudget = Readonly<{
25
24
  maxValuesPerDimension: number;
26
25
  maxVariantsPerRoute: number;
27
26
  }>;
28
- export declare const DEFAULT_CACHE_VARIANT_BUDGET: {
29
- maxDimensionCount: number;
30
- maxDimensionNameLength: number;
31
- maxDimensionValueLength: number;
32
- maxEncodedLength: number;
33
- maxValuesPerDimension: number;
34
- maxVariantsPerRoute: number;
35
- };
36
27
  export type CacheVariantDimensionSource = "auth" | "cookie" | "custom" | "draft-mode" | "header" | "interception" | "mounted-slots" | "params" | "route" | "search" | "session";
37
28
  export type CacheVariantDimensionPrivacy = "internal" | "private" | "public";
38
- export type CacheVariantDimensionInput = Readonly<{
39
- name: string;
40
- privacy: CacheVariantDimensionPrivacy;
41
- source: CacheVariantDimensionSource;
42
- values: readonly string[];
43
- }>;
44
29
  export type CacheVariantDimension = Readonly<{
45
30
  encoded: string;
46
31
  name: string;
@@ -96,47 +81,6 @@ export type CacheVariant = Readonly<{
96
81
  output: CacheProofOutputScope;
97
82
  schemaVersion: CacheProofModelSchemaVersion;
98
83
  }>;
99
- export type BuildCacheVariantInput = Readonly<{
100
- budget: CacheVariantBudget;
101
- dimensions: readonly CacheVariantDimensionInput[];
102
- output: CacheProofOutputScope;
103
- }>;
104
- export type BuildCacheVariantResult = Readonly<{
105
- kind: "variant";
106
- variant: CacheVariant;
107
- }> | Readonly<{
108
- kind: "breakerFallback";
109
- fallback: CacheProofBreakerFallback;
110
- }>;
111
- export type CacheVariantRouteBudget = Readonly<{
112
- routeId: string;
113
- variantCacheKeys: readonly string[];
114
- }>;
115
- export type CacheVariantRouteBudgetAdmission = Readonly<{
116
- didConsumeRouteVariantBudget: boolean;
117
- kind: "variant";
118
- routeBudget: CacheVariantRouteBudget;
119
- variant: CacheVariant;
120
- }> | Readonly<{
121
- fallback: CacheProofBreakerFallback;
122
- kind: "breakerFallback";
123
- routeBudget: CacheVariantRouteBudget | null;
124
- }>;
125
- export type BuildCacheVariantWithRouteBudgetInput = BuildCacheVariantInput & Readonly<{
126
- routeBudget: CacheVariantRouteBudget | null;
127
- }>;
128
- export type BuildCacheVariantWithRouteBudgetResult = CacheVariantRouteBudgetAdmission;
129
- export type AppRouteCacheProofGraphScopeInput = Readonly<{
130
- ids: AppRouteSemanticIds;
131
- }>;
132
- export type AppRouteCacheProofGraphScope = Readonly<{
133
- layoutIds: readonly string[];
134
- pageId: string | null;
135
- routeHandlerId: string | null;
136
- routeId: string;
137
- slotIds: readonly string[];
138
- templateIds: readonly string[];
139
- }>;
140
84
  export type BoundaryOutcome = Readonly<{
141
85
  kind: "error";
142
86
  digest?: string;
@@ -158,16 +102,6 @@ export type BoundaryOutcome = Readonly<{
158
102
  }> | Readonly<{
159
103
  kind: "unknown";
160
104
  }>;
161
- export type BoundaryOutcomeCompatibility = Readonly<{
162
- kind: "compatible";
163
- outcome: BoundaryOutcome;
164
- reason: "CP_BOUNDARY_OUTCOME_MATCH";
165
- }> | Readonly<{
166
- candidate: BoundaryOutcome;
167
- expected: BoundaryOutcome;
168
- fallback: CacheProofBreakerFallback;
169
- kind: "incompatible";
170
- }>;
171
105
  export type RenderObservationCompleteness = "complete" | "partial" | "unknown";
172
106
  export type RenderCacheability = "private" | "public" | "uncacheable" | "unknown";
173
107
  export type RenderRequestApiKind = "connection" | "cookies" | "draftMode" | "headers" | "params" | "searchParams";
@@ -233,7 +167,6 @@ export type ClassifyRenderObservationDowngradeInput = Readonly<{
233
167
  dynamicFetches: readonly string[];
234
168
  requestApis: readonly RenderRequestApiObservation[];
235
169
  }>;
236
- export type ClassifyCacheVariantDimensionDowngradeInput = Pick<CacheVariantDimensionInput, "source">;
237
170
  export type RenderObservation = Readonly<{
238
171
  boundaryOutcome: BoundaryOutcome;
239
172
  cacheTags: readonly string[];
@@ -260,18 +193,6 @@ export type StaticLayoutReuseProof = Readonly<{
260
193
  export type StaticLayoutArtifactReuseProof = StaticLayoutReuseProof & Readonly<{
261
194
  candidateArtifactCompatibility: ArtifactCompatibilityEnvelope;
262
195
  }>;
263
- export type BuildStaticLayoutReuseProofInput = Readonly<{
264
- candidateObservation: RenderObservation;
265
- candidateVariant: CacheVariant;
266
- currentOutput: CacheProofOutputScope;
267
- }>;
268
- export type BuildStaticLayoutReuseProofResult = Readonly<{
269
- kind: "proof";
270
- proof: StaticLayoutReuseProof;
271
- }> | Readonly<{
272
- kind: "rejected";
273
- fallback: CacheProofBreakerFallback;
274
- }>;
275
196
  export type CacheProofHotPathMetric = Readonly<{
276
197
  code: CacheProofTraceCode;
277
198
  fields: CacheProofTraceFields;
@@ -305,13 +226,6 @@ export type CacheEntryReuseProof = Readonly<{
305
226
  decision: CacheEntryReuseDecision | null;
306
227
  kind: "runtime-cache-entry";
307
228
  }>;
308
- export type CreateStaticLayoutArtifactReuseDecisionInput = Readonly<{
309
- candidateArtifactCompatibility: ArtifactCompatibilityEnvelope;
310
- candidateObservation: RenderObservation;
311
- candidateVariant: BuildCacheVariantWithRouteBudgetResult;
312
- currentArtifactCompatibility: ArtifactCompatibilityEnvelope;
313
- currentOutput: CacheProofOutputScope;
314
- }> & ArtifactCompatibilityEvaluationOptions;
315
229
  export type BuildRenderObservationInput = Readonly<{
316
230
  boundaryOutcome: BoundaryOutcome;
317
231
  cacheTags: readonly string[];
@@ -326,31 +240,6 @@ export type BuildRenderRequestApiObservationsInput = Readonly<{
326
240
  completeness: RenderObservationCompleteness;
327
241
  observed: readonly RenderRequestApiKind[];
328
242
  }>;
329
- export type DisabledCacheProofDecision = Readonly<{
330
- canReuse: false;
331
- fallback: CacheProofBreakerFallback;
332
- kind: "disabled";
333
- observation: RenderObservation;
334
- staticLayoutProof?: StaticLayoutReuseProof;
335
- variant: CacheVariant;
336
- }>;
337
- export type CreateDisabledCacheProofDecisionInput = Readonly<{
338
- observation: RenderObservation;
339
- staticLayoutProof?: StaticLayoutReuseProof;
340
- variant: CacheVariant;
341
- }>;
342
- export declare function createAppRouteCacheProofGraphScope(route: AppRouteCacheProofGraphScopeInput): AppRouteCacheProofGraphScope;
343
- export declare function buildCacheVariant(input: BuildCacheVariantInput): BuildCacheVariantResult;
344
- export declare function enforceCacheVariantRouteBudget(input: {
345
- routeBudget: CacheVariantRouteBudget | null;
346
- variant: CacheVariant;
347
- }): CacheVariantRouteBudgetAdmission;
348
- export declare function buildCacheVariantWithRouteBudget(input: BuildCacheVariantWithRouteBudgetInput): BuildCacheVariantWithRouteBudgetResult;
349
- export declare function buildBoundaryOutcomeCompatibility(input: {
350
- candidate: BoundaryOutcome;
351
- expected: BoundaryOutcome;
352
- }): BoundaryOutcomeCompatibility;
353
- export declare function classifyCacheVariantDimensionDowngrade(input: ClassifyCacheVariantDimensionDowngradeInput): CacheProofDowngradeReason | null;
354
243
  export declare function classifyRenderObservationDowngrade(input: ClassifyRenderObservationDowngradeInput): CacheProofDowngradeClassification;
355
244
  export declare function buildRenderRequestApiObservations(input: BuildRenderRequestApiObservationsInput): RenderRequestApiObservation[];
356
245
  export declare function buildRenderObservation(input: BuildRenderObservationInput): RenderObservation;
@@ -361,8 +250,5 @@ export declare function hasCompleteNegativeRequestApiProof(observation: RenderOb
361
250
  * entries with this proof.
362
251
  */
363
252
  export declare function hasQueryInvariantRenderProof(observation: RenderObservation | undefined): boolean;
364
- export declare function buildStaticLayoutReuseProof(input: BuildStaticLayoutReuseProofInput): BuildStaticLayoutReuseProofResult;
365
- export declare function createStaticLayoutArtifactReuseDecision(input: CreateStaticLayoutArtifactReuseDecisionInput): StaticLayoutArtifactReuseDecision;
366
253
  export declare function createCacheEntryReuseProof(decision: StaticLayoutArtifactReuseDecision | null): CacheEntryReuseProof;
367
- export declare function createDisabledCacheProofDecision(input: CreateDisabledCacheProofDecisionInput): DisabledCacheProofDecision;
368
254
  //#endregion