vinext 1.0.0-beta.8 → 1.0.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.
- package/README.md +158 -84
- package/THIRD_PARTY_LICENSES.md +25 -0
- package/dist/_virtual/_rolldown/runtime.js +25 -0
- package/dist/build/action-owner-manifest.d.ts +8 -9
- package/dist/build/action-owner-manifest.js +23 -5
- package/dist/build/assets-ignore.d.ts +3 -4
- package/dist/build/clean-output.d.ts +2 -3
- package/dist/build/client-build-config.d.ts +40 -12
- package/dist/build/client-build-config.js +76 -6
- package/dist/build/css-url-assets.d.ts +4 -5
- package/dist/build/css-url-assets.js +5 -2
- package/dist/build/google-fonts/build-url.d.ts +3 -4
- package/dist/build/google-fonts/fallback-metrics.d.ts +3 -4
- package/dist/build/google-fonts/find-font-files-in-css.d.ts +2 -3
- package/dist/build/google-fonts/font-metadata.d.ts +2 -3
- package/dist/build/google-fonts/get-axes.d.ts +2 -3
- package/dist/build/google-fonts/sort-variants.d.ts +2 -3
- package/dist/build/google-fonts/validate.d.ts +2 -3
- package/dist/build/google-fonts/validate.js +8 -4
- package/dist/build/inject-pregenerated-paths.d.ts +2 -3
- package/dist/build/inject-pregenerated-paths.js +16 -14
- package/dist/build/inline-css.d.ts +3 -4
- package/dist/build/layout-classification-types.d.ts +4 -5
- package/dist/build/layout-classification.d.ts +7 -8
- package/dist/build/lifecycle.d.ts +42 -0
- package/dist/build/lifecycle.js +253 -0
- package/dist/build/module-dependency-cache.d.ts +2 -3
- package/dist/build/next-client-runtime-manifests.d.ts +4 -5
- package/dist/build/nitro-route-rules.d.ts +6 -7
- package/dist/build/nitro-route-rules.js +1 -1
- package/dist/build/pages-client-assets-module.d.ts +4 -8
- package/dist/build/pages-client-assets-module.js +1 -13
- package/dist/build/precompress.d.ts +2 -3
- package/dist/build/prerender-cloudflare-loader.d.ts +4 -0
- package/dist/build/prerender-cloudflare-loader.js +49 -0
- package/dist/build/prerender-paths.d.ts +82 -8
- package/dist/build/prerender-paths.js +814 -99
- package/dist/build/prerender-phase.d.ts +2 -3
- package/dist/build/prerender-server-entry.js +11 -3
- package/dist/build/prerender-server-pool.d.ts +9 -6
- package/dist/build/prerender-server-pool.js +8 -5
- package/dist/build/prerender.d.ts +67 -15
- package/dist/build/prerender.js +177 -64
- package/dist/build/preview-credentials.d.ts +5 -6
- package/dist/build/preview-credentials.js +2 -2
- package/dist/build/public-dir-conflict.d.ts +5 -6
- package/dist/build/public-dir-conflict.js +2 -1
- package/dist/build/report.d.ts +38 -19
- package/dist/build/report.js +73 -4
- package/dist/build/route-classification-injector.d.ts +2 -3
- package/dist/build/route-classification-manifest.d.ts +5 -6
- package/dist/build/run-prerender.d.ts +11 -9
- package/dist/build/run-prerender.js +25 -16
- package/dist/build/server-entry.d.ts +4 -0
- package/dist/build/server-entry.js +28 -0
- package/dist/build/server-manifest.d.ts +8 -3
- package/dist/build/server-manifest.js +14 -2
- package/dist/build/ssr-manifest.d.ts +5 -6
- package/dist/build/standalone.d.ts +2 -3
- package/dist/build/standalone.js +2 -2
- package/dist/build/static-export.d.ts +7 -8
- package/dist/cache/cache-adapters-virtual.d.ts +95 -9
- package/dist/cache/cache-adapters-virtual.js +58 -6
- package/dist/check.d.ts +11 -10
- package/dist/check.js +467 -176
- package/dist/cli-args.d.ts +7 -16
- package/dist/cli-args.js +2 -45
- package/dist/cli-dev-config.d.ts +10 -7
- package/dist/cli-dev-config.js +160 -3
- package/dist/cli.js +124 -435
- package/dist/client/app-nav-failure-handler.d.ts +6 -7
- package/dist/client/client-rewrite-matcher.d.ts +2 -3
- package/dist/client/client-rewrites.d.ts +4 -5
- package/dist/client/dev-error-overlay-store.d.ts +13 -14
- package/dist/client/dev-error-overlay.d.ts +15 -15
- package/dist/client/dev-error-overlay.js +8 -5
- package/dist/client/instrumentation-client-inject.d.ts +3 -4
- package/dist/client/instrumentation-client-state.d.ts +5 -6
- package/dist/client/instrumentation-client.d.ts +3 -4
- package/dist/client/navigation-runtime.d.ts +21 -17
- package/dist/client/navigation-runtime.js +2 -1
- package/dist/client/pages-router-link-navigation.d.ts +4 -5
- package/dist/client/react-instance.d.ts +2 -3
- package/dist/client/validate-module-path.d.ts +2 -3
- package/dist/client/vinext-next-data.d.ts +7 -8
- package/dist/client/window-next.d.ts +4 -5
- package/dist/config/config-matchers.d.ts +16 -16
- package/dist/config/config-matchers.js +10 -7
- package/dist/config/dotenv.d.ts +3 -4
- package/dist/config/dotenv.js +2 -1
- package/dist/config/next-config.d.ts +31 -27
- package/dist/config/next-config.js +163 -16
- package/dist/config/prerender.d.ts +20 -16
- package/dist/config/prerender.js +10 -4
- package/dist/config/request-context.d.ts +5 -6
- package/dist/config/server-external-packages.d.ts +14 -3
- package/dist/config/server-external-packages.js +37 -3
- package/dist/config/tsconfig-paths.d.ts +3 -4
- package/dist/deps/.pnpm/ignore@5.3.2/deps/ignore/index.js +189 -0
- package/dist/deps/.pnpm/ua-parser-js@1.0.35/deps/ua-parser-js/src/ua-parser.js +1057 -0
- package/dist/entries/app-browser-entry.d.ts +5 -6
- package/dist/entries/app-browser-entry.js +3 -2
- package/dist/entries/app-rsc-entry.d.ts +12 -3
- package/dist/entries/app-rsc-entry.js +530 -55
- package/dist/entries/app-rsc-manifest.d.ts +4 -3
- package/dist/entries/app-rsc-manifest.js +27 -8
- package/dist/entries/app-ssr-entry.d.ts +2 -3
- package/dist/entries/app-ssr-entry.js +8 -1
- package/dist/entries/pages-client-entry.d.ts +3 -3
- package/dist/entries/pages-client-entry.js +17 -2
- package/dist/entries/pages-server-entry.d.ts +13 -3
- package/dist/entries/pages-server-entry.js +237 -33
- package/dist/entries/runtime-entry-module.d.ts +4 -5
- package/dist/image/image-adapters-virtual.d.ts +4 -5
- package/dist/index.d.ts +10 -11
- package/dist/index.js +832 -199
- package/dist/init-cloudflare.d.ts +27 -16
- package/dist/init-cloudflare.js +754 -113
- package/dist/init-platform.d.ts +26 -22
- package/dist/init-platform.js +85 -29
- package/dist/init.d.ts +19 -13
- package/dist/init.js +123 -41
- package/dist/plugins/action-owner-manifest.d.ts +3 -4
- package/dist/plugins/action-owner-manifest.js +10 -3
- package/dist/plugins/ast-scope.d.ts +10 -11
- package/dist/plugins/ast-scope.js +10 -22
- package/dist/plugins/ast-utils.d.ts +16 -29
- package/dist/plugins/ast-utils.js +27 -71
- package/dist/plugins/async-hooks-stub.d.ts +2 -3
- package/dist/plugins/client-reference-dedup.d.ts +4 -5
- package/dist/plugins/css-data-url.d.ts +2 -3
- package/dist/plugins/css-module-imports.d.ts +3 -4
- package/dist/plugins/css-module-imports.js +1 -1
- package/dist/plugins/dynamic-preload-metadata.d.ts +3 -4
- package/dist/plugins/dynamic-preload-metadata.js +55 -154
- package/dist/plugins/environment.d.ts +2 -3
- package/dist/plugins/extensionless-dynamic-import.d.ts +2 -3
- package/dist/plugins/extensionless-dynamic-import.js +6 -10
- package/dist/plugins/fonts.d.ts +10 -11
- package/dist/plugins/fonts.js +4 -3
- package/dist/plugins/ignore-dynamic-requests.d.ts +3 -4
- package/dist/plugins/ignore-dynamic-requests.js +60 -89
- package/dist/plugins/import-meta-url.d.ts +6 -7
- package/dist/plugins/import-meta-url.js +31 -43
- package/dist/plugins/instrumentation-client.d.ts +3 -3
- package/dist/plugins/instrumentation-client.js +46 -10
- package/dist/plugins/middleware-export-validation.d.ts +3 -4
- package/dist/plugins/middleware-export-validation.js +3 -3
- package/dist/plugins/middleware-server-only.d.ts +2 -3
- package/dist/plugins/og-asset-ownership.d.ts +3 -4
- package/dist/plugins/og-assets.d.ts +4 -5
- package/dist/plugins/og-assets.js +32 -13
- package/dist/plugins/og-harfbuzz.d.ts +24 -0
- package/dist/plugins/og-harfbuzz.js +260 -0
- package/dist/plugins/optimize-imports.d.ts +7 -7
- package/dist/plugins/optimize-imports.js +32 -44
- package/dist/plugins/pages-node-externals.d.ts +2 -3
- package/dist/plugins/pages-node-externals.js +6 -11
- package/dist/plugins/postcss.d.ts +8 -4
- package/dist/plugins/postcss.js +1 -1
- package/dist/plugins/remove-console.d.ts +2 -3
- package/dist/plugins/remove-console.js +0 -1
- package/dist/plugins/require-condition-resolution.d.ts +3 -4
- package/dist/plugins/require-condition-resolution.js +17 -18
- package/dist/plugins/require-context.d.ts +2 -3
- package/dist/plugins/require-context.js +13 -21
- package/dist/plugins/rsc-client-reference-loaders.d.ts +2 -3
- package/dist/plugins/rsc-client-shim-excludes.d.ts +4 -5
- package/dist/plugins/rsc-client-shim-excludes.js +1 -0
- package/dist/plugins/rsc-reference-validation-normalizer.d.ts +2 -3
- package/dist/plugins/sass.d.ts +7 -8
- package/dist/plugins/sass.js +7 -4
- package/dist/plugins/server-externals-manifest.d.ts +2 -3
- package/dist/plugins/strip-server-exports.d.ts +5 -6
- package/dist/plugins/strip-server-exports.js +1 -1
- package/dist/plugins/styled-jsx.d.ts +2 -3
- package/dist/plugins/styled-jsx.js +7 -7
- package/dist/plugins/transform-cache.d.ts +2 -3
- package/dist/plugins/transform-result.d.ts +3 -4
- package/dist/plugins/transitive-externals.d.ts +2 -3
- package/dist/plugins/typeof-window.d.ts +6 -7
- package/dist/plugins/typeof-window.js +30 -31
- package/dist/plugins/use-cache-callable.d.ts +2 -5
- package/dist/plugins/use-cache-callable.js +43 -22
- package/dist/plugins/wasm-module-import.d.ts +2 -3
- package/dist/plugins/worker-image-imports.d.ts +2 -3
- package/dist/plugins/worker-image-imports.js +6 -8
- package/dist/routing/app-route-graph.d.ts +19 -19
- package/dist/routing/app-route-graph.js +3 -2
- package/dist/routing/app-router.d.ts +20 -5
- package/dist/routing/app-router.js +28 -2
- package/dist/routing/file-matcher.d.ts +9 -10
- package/dist/routing/pages-router.d.ts +6 -6
- package/dist/routing/pages-router.js +1 -1
- package/dist/routing/route-matching.d.ts +4 -5
- package/dist/routing/route-matching.js +4 -2
- package/dist/routing/route-pattern.d.ts +13 -14
- package/dist/routing/route-trie.d.ts +5 -6
- package/dist/routing/route-validation.d.ts +3 -4
- package/dist/routing/route-validation.js +12 -11
- package/dist/routing/utils.d.ts +13 -14
- package/dist/server/accept-encoding.d.ts +9 -10
- package/dist/server/api-handler.d.ts +2 -3
- package/dist/server/api-handler.js +9 -6
- package/dist/server/app-action-forwarding.d.ts +3 -4
- package/dist/server/app-action-forwarding.js +1 -1
- package/dist/server/app-action-request.d.ts +2 -3
- package/dist/server/app-bfcache-id.d.ts +3 -4
- package/dist/server/app-bfcache-identity.d.ts +8 -9
- package/dist/server/app-browser-action-result.d.ts +15 -16
- package/dist/server/app-browser-client-reuse-manifest.d.ts +2 -3
- package/dist/server/app-browser-entry.js +121 -40
- package/dist/server/app-browser-error.d.ts +5 -6
- package/dist/server/app-browser-error.js +9 -3
- package/dist/server/app-browser-history-controller.d.ts +4 -5
- package/dist/server/app-browser-hydration.d.ts +16 -6
- package/dist/server/app-browser-hydration.js +14 -1
- package/dist/server/app-browser-interception-context.d.ts +3 -4
- package/dist/server/app-browser-mpa-navigation.d.ts +4 -5
- package/dist/server/app-browser-navigation-abort.d.ts +3 -4
- package/dist/server/app-browser-navigation-controller.d.ts +8 -8
- package/dist/server/app-browser-navigation-controller.js +9 -5
- package/dist/server/app-browser-navigation-response.d.ts +2 -3
- package/dist/server/app-browser-popstate.d.ts +4 -5
- package/dist/server/app-browser-prefetch-response.d.ts +5 -6
- package/dist/server/app-browser-rsc-redirect.d.ts +4 -5
- package/dist/server/app-browser-server-action-client.d.ts +7 -6
- package/dist/server/app-browser-server-action-client.js +9 -5
- package/dist/server/app-browser-server-action-navigation.d.ts +2 -3
- package/dist/server/app-browser-state.d.ts +17 -17
- package/dist/server/app-browser-state.js +7 -3
- package/dist/server/app-browser-stream.d.ts +4 -5
- package/dist/server/app-browser-stream.js +8 -6
- package/dist/server/app-browser-supplemental-refresh.d.ts +11 -12
- package/dist/server/app-browser-visible-commit.d.ts +6 -7
- package/dist/server/app-browser-visible-commit.js +1 -1
- package/dist/server/app-client-reference-preloader.d.ts +2 -3
- package/dist/server/app-elements-wire-key.d.ts +25 -0
- package/dist/server/app-elements-wire-key.js +69 -0
- package/dist/server/app-elements-wire.d.ts +34 -53
- package/dist/server/app-elements-wire.js +4 -75
- package/dist/server/app-elements.d.ts +5 -5
- package/dist/server/app-elements.js +1 -1
- package/dist/server/app-fallback-renderer.d.ts +4 -4
- package/dist/server/app-fallback-renderer.js +6 -6
- package/dist/server/app-fetch-tracing.d.ts +15 -0
- package/dist/server/app-fetch-tracing.js +38 -0
- package/dist/server/app-history-state.d.ts +26 -27
- package/dist/server/app-history-state.js +19 -11
- package/dist/server/app-hook-warning-suppression.d.ts +2 -3
- package/dist/server/app-hydration-cache-publication.d.ts +3 -4
- package/dist/server/app-inline-css-client.d.ts +3 -4
- package/dist/server/app-interception-context-header.d.ts +2 -3
- package/dist/server/app-layout-param-observation.d.ts +7 -8
- package/dist/server/app-metadata-tracing.d.ts +12 -0
- package/dist/server/app-metadata-tracing.js +17 -0
- package/dist/server/app-middleware.d.ts +15 -7
- package/dist/server/app-middleware.js +30 -5
- package/dist/server/app-mounted-slots-header.d.ts +2 -3
- package/dist/server/app-mounted-slots-header.js +2 -2
- package/dist/server/app-optimistic-routing.d.ts +14 -10
- package/dist/server/app-optimistic-routing.js +16 -3
- package/dist/server/app-page-boundary-render.d.ts +6 -6
- package/dist/server/app-page-boundary-render.js +10 -4
- package/dist/server/app-page-boundary.d.ts +9 -10
- package/dist/server/app-page-boundary.js +2 -1
- package/dist/server/app-page-cache-finalizer.d.ts +32 -8
- package/dist/server/app-page-cache-finalizer.js +118 -14
- package/dist/server/app-page-cache-render.d.ts +8 -5
- package/dist/server/app-page-cache-render.js +22 -5
- package/dist/server/app-page-cache.d.ts +28 -9
- package/dist/server/app-page-cache.js +96 -25
- package/dist/server/app-page-dispatch.d.ts +36 -12
- package/dist/server/app-page-dispatch.js +188 -63
- package/dist/server/app-page-element-builder.d.ts +13 -11
- package/dist/server/app-page-element-builder.js +104 -61
- package/dist/server/app-page-execution.d.ts +14 -14
- package/dist/server/app-page-execution.js +12 -8
- package/dist/server/app-page-head.d.ts +19 -16
- package/dist/server/app-page-head.js +25 -25
- package/dist/server/app-page-http-access-fallback-metadata.d.ts +6 -5
- package/dist/server/app-page-http-access-fallback-metadata.js +9 -2
- package/dist/server/app-page-method.d.ts +5 -11
- package/dist/server/app-page-method.js +2 -9
- package/dist/server/app-page-params.d.ts +5 -6
- package/dist/server/app-page-ppr-runtime.d.ts +2 -2
- package/dist/server/app-page-probe.d.ts +5 -6
- package/dist/server/app-page-probe.js +5 -4
- package/dist/server/app-page-render-identity.d.ts +4 -5
- package/dist/server/app-page-render-observation.d.ts +8 -9
- package/dist/server/app-page-render-observation.js +1 -1
- package/dist/server/app-page-render.d.ts +42 -6
- package/dist/server/app-page-render.js +192 -28
- package/dist/server/app-page-request.d.ts +10 -9
- package/dist/server/app-page-request.js +16 -12
- package/dist/server/app-page-response.d.ts +20 -9
- package/dist/server/app-page-response.js +31 -13
- package/dist/server/app-page-route-wiring.d.ts +15 -15
- package/dist/server/app-page-route-wiring.js +31 -24
- package/dist/server/app-page-search-params-observation.d.ts +26 -5
- package/dist/server/app-page-search-params-observation.js +42 -6
- package/dist/server/app-page-segment-plan.d.ts +2 -3
- package/dist/server/app-page-segment-state.d.ts +11 -12
- package/dist/server/app-page-stream.d.ts +27 -11
- package/dist/server/app-page-stream.js +35 -6
- package/dist/server/app-page-tracing.d.ts +33 -0
- package/dist/server/app-page-tracing.js +49 -0
- package/dist/server/app-pages-bridge.d.ts +6 -6
- package/dist/server/app-pages-bridge.js +19 -4
- package/dist/server/app-post-middleware-context.d.ts +2 -3
- package/dist/server/app-ppr-fallback-shell-render.d.ts +3 -4
- package/dist/server/app-ppr-fallback-shell-render.js +3 -2
- package/dist/server/app-ppr-fallback-shell.d.ts +6 -7
- package/dist/server/app-prerender-endpoints.d.ts +5 -5
- package/dist/server/app-prerender-endpoints.js +26 -12
- package/dist/server/app-prerender-static-params.d.ts +15 -7
- package/dist/server/app-prerender-static-params.js +33 -11
- package/dist/server/app-render-dependency.d.ts +14 -13
- package/dist/server/app-render-dependency.js +5 -1
- package/dist/server/app-request-context.d.ts +3 -4
- package/dist/server/app-request-stage-context.d.ts +5 -0
- package/dist/server/app-request-stage-context.js +11 -0
- package/dist/server/app-request-stage-dispatch.d.ts +25 -0
- package/dist/server/app-request-stage-dispatch.js +54 -0
- package/dist/server/app-request-stage-independent-entry.d.ts +8 -0
- package/dist/server/app-request-stage-independent-entry.js +115 -0
- package/dist/server/app-response-header-provenance.d.ts +13 -7
- package/dist/server/app-response-header-provenance.js +34 -1
- package/dist/server/app-response-stage-entry.d.ts +9 -0
- package/dist/server/app-response-stage-entry.js +87 -0
- package/dist/server/app-route-handler-cache.d.ts +2 -3
- package/dist/server/app-route-handler-cache.js +46 -34
- package/dist/server/app-route-handler-dispatch.d.ts +3 -3
- package/dist/server/app-route-handler-dispatch.js +75 -57
- package/dist/server/app-route-handler-execution.d.ts +18 -13
- package/dist/server/app-route-handler-execution.js +189 -25
- package/dist/server/app-route-handler-middleware-context.d.ts +8 -0
- package/dist/server/app-route-handler-middleware-context.js +15 -0
- package/dist/server/app-route-handler-policy.d.ts +22 -10
- package/dist/server/app-route-handler-policy.js +19 -4
- package/dist/server/app-route-handler-response.d.ts +9 -10
- package/dist/server/app-route-handler-response.js +2 -0
- package/dist/server/app-route-handler-runtime.d.ts +9 -10
- package/dist/server/app-route-handler-runtime.js +20 -16
- package/dist/server/app-route-module-loader.d.ts +6 -7
- package/dist/server/app-route-request-built-ins.d.ts +3 -4
- package/dist/server/app-route-tree-prefetch.d.ts +6 -7
- package/dist/server/app-route-tree-prefetch.js +2 -1
- package/dist/server/app-router-entry.d.ts +2 -0
- package/dist/server/app-router-entry.js +76 -12
- package/dist/server/app-rsc-cache-busting.d.ts +47 -22
- package/dist/server/app-rsc-cache-busting.js +80 -18
- package/dist/server/app-rsc-combined-handler.d.ts +9 -0
- package/dist/server/app-rsc-combined-handler.js +11 -0
- package/dist/server/app-rsc-embedded-chunks.d.ts +6 -7
- package/dist/server/app-rsc-error-handler.d.ts +12 -6
- package/dist/server/app-rsc-error-handler.js +15 -6
- package/dist/server/app-rsc-errors.d.ts +12 -9
- package/dist/server/app-rsc-errors.js +15 -13
- package/dist/server/app-rsc-handler.d.ts +33 -6
- package/dist/server/app-rsc-handler.js +498 -83
- package/dist/server/app-rsc-redirect-flight.d.ts +4 -5
- package/dist/server/app-rsc-render-mode.d.ts +8 -9
- package/dist/server/app-rsc-request-normalization.d.ts +3 -3
- package/dist/server/app-rsc-request-normalization.js +2 -1
- package/dist/server/app-rsc-response-finalizer.d.ts +8 -5
- package/dist/server/app-rsc-response-finalizer.js +24 -7
- package/dist/server/app-rsc-response-stage.d.ts +6 -0
- package/dist/server/app-rsc-response-stage.js +251 -0
- package/dist/server/app-rsc-route-matching.d.ts +4 -4
- package/dist/server/app-rsc-route-matching.js +4 -2
- package/dist/server/app-rsc-state-fingerprint.d.ts +3 -4
- package/dist/server/app-rsc-vary.d.ts +16 -0
- package/dist/server/app-rsc-vary.js +31 -0
- package/dist/server/app-segment-config.d.ts +120 -6
- package/dist/server/app-segment-config.js +264 -12
- package/dist/server/app-server-action-execution.d.ts +16 -12
- package/dist/server/app-server-action-execution.js +88 -35
- package/dist/server/app-ssr-entry.d.ts +14 -4
- package/dist/server/app-ssr-entry.js +64 -17
- package/dist/server/app-ssr-error-meta.d.ts +3 -4
- package/dist/server/app-ssr-error-meta.js +2 -1
- package/dist/server/app-ssr-router-instance.d.ts +2 -3
- package/dist/server/app-ssr-search-params-gate.d.ts +20 -0
- package/dist/server/app-ssr-search-params-gate.js +54 -0
- package/dist/server/app-ssr-stream.d.ts +13 -9
- package/dist/server/app-ssr-stream.js +33 -7
- package/dist/server/app-static-generation.d.ts +4 -5
- package/dist/server/app-visited-response-cache.d.ts +11 -12
- package/dist/server/app-visited-response-cache.js +2 -2
- package/dist/server/app-worker-stages.d.ts +112 -0
- package/dist/server/app-worker-stages.js +105 -0
- package/dist/server/artifact-compatibility.d.ts +11 -12
- package/dist/server/before-interactive-head.d.ts +2 -3
- package/dist/server/bfcache-identity.d.ts +7 -8
- package/dist/server/cache-control.d.ts +39 -11
- package/dist/server/cache-control.js +104 -7
- package/dist/server/cache-headers.d.ts +3 -4
- package/dist/server/cache-proof.d.ts +75 -70
- package/dist/server/cache-proof.js +9 -1
- package/dist/server/cacheability-limits.d.ts +8 -0
- package/dist/server/cacheability-limits.js +9 -0
- package/dist/server/cacheability-manifest.d.ts +68 -0
- package/dist/server/cacheability-manifest.js +241 -0
- package/dist/server/cacheability-request.d.ts +49 -0
- package/dist/server/cacheability-request.js +559 -0
- package/dist/server/client-reuse-manifest.d.ts +17 -18
- package/dist/server/client-reuse-manifest.js +2 -2
- package/dist/server/client-trace-metadata.d.ts +9 -6
- package/dist/server/client-trace-metadata.js +27 -15
- package/dist/server/cloudflare-workers-tracing.d.ts +1 -0
- package/dist/server/cloudflare-workers-tracing.js +8 -0
- package/dist/server/config-headers.d.ts +19 -5
- package/dist/server/config-headers.js +39 -5
- package/dist/server/cookie-utils.d.ts +2 -3
- package/dist/server/csp.d.ts +5 -6
- package/dist/server/default-global-error-module.d.ts +2 -3
- package/dist/server/default-global-not-found-module.d.ts +2 -3
- package/dist/server/default-not-found-module.d.ts +2 -3
- package/dist/server/defer-until-stream-consumed.d.ts +2 -3
- package/dist/server/defer-until-stream-consumed.js +2 -1
- package/dist/server/dev-initial-server-error.d.ts +3 -4
- package/dist/server/dev-initial-server-error.js +2 -1
- package/dist/server/dev-lockfile.d.ts +7 -8
- package/dist/server/dev-lockfile.js +4 -1
- package/dist/server/dev-module-runner.d.ts +2 -3
- package/dist/server/dev-origin-check.d.ts +5 -6
- package/dist/server/dev-route-files.d.ts +2 -3
- package/dist/server/dev-server.d.ts +4 -5
- package/dist/server/dev-server.js +130 -61
- package/dist/server/dev-stack-sourcemap.d.ts +7 -7
- package/dist/server/dev-stack-sourcemap.js +1 -1
- package/dist/server/document-initial-head.d.ts +3 -4
- package/dist/server/edge-api-runtime.d.ts +4 -5
- package/dist/server/fetch-handler.d.ts +3 -2
- package/dist/server/fetch-handler.js +3 -18
- package/dist/server/file-based-metadata.d.ts +2 -3
- package/dist/server/framework-tracer.d.ts +46 -0
- package/dist/server/framework-tracer.js +125 -0
- package/dist/server/fully-buffered-response.d.ts +11 -0
- package/dist/server/fully-buffered-response.js +19 -0
- package/dist/server/headers.d.ts +62 -56
- package/dist/server/headers.js +33 -20
- package/dist/server/html.d.ts +6 -27
- package/dist/server/html.js +16 -1
- package/dist/server/http-conditional.d.ts +5 -6
- package/dist/server/http-date.d.ts +2 -3
- package/dist/server/http-error-responses.d.ts +9 -10
- package/dist/server/http-range.d.ts +4 -5
- package/dist/server/hybrid-route-priority.d.ts +4 -5
- package/dist/server/image-optimization.d.ts +20 -21
- package/dist/server/implicit-tags.d.ts +3 -4
- package/dist/server/instrumentation-runtime.d.ts +17 -21
- package/dist/server/instrumentation-runtime.js +26 -8
- package/dist/server/instrumentation.d.ts +26 -30
- package/dist/server/instrumentation.js +18 -23
- package/dist/server/isr-cache.d.ts +28 -27
- package/dist/server/isr-cache.js +18 -70
- package/dist/server/isr-decision.d.ts +4 -4
- package/dist/server/metadata-route-build-data.d.ts +4 -5
- package/dist/server/metadata-route-cache-policy.d.ts +2 -3
- package/dist/server/metadata-route-response.d.ts +7 -7
- package/dist/server/metadata-route-response.js +68 -2
- package/dist/server/metadata-routes.d.ts +18 -19
- package/dist/server/middleware-matcher-pattern.d.ts +6 -7
- package/dist/server/middleware-matcher.d.ts +13 -6
- package/dist/server/middleware-matcher.js +22 -1
- package/dist/server/middleware-path-to-regexp.d.ts +6 -7
- package/dist/server/middleware-path-to-regexp.js +11 -9
- package/dist/server/middleware-response-headers.d.ts +3 -4
- package/dist/server/middleware-runtime.d.ts +13 -8
- package/dist/server/middleware-runtime.js +54 -10
- package/dist/server/middleware.d.ts +5 -5
- package/dist/server/multi-stage.d.ts +141 -0
- package/dist/server/multi-stage.js +8 -0
- package/dist/server/navigation-planner.d.ts +26 -26
- package/dist/server/navigation-trace.d.ts +11 -12
- package/dist/server/next-error-digest.d.ts +4 -5
- package/dist/server/normalize-path.d.ts +5 -6
- package/dist/server/normalize-path.js +1 -1
- package/dist/server/open-redirect.d.ts +2 -3
- package/dist/server/opentelemetry-api.d.ts +59 -0
- package/dist/server/opentelemetry-api.js +53 -0
- package/dist/server/opentelemetry-tracing.d.ts +5 -0
- package/dist/server/opentelemetry-tracing.js +83 -0
- package/dist/server/operation-token.d.ts +11 -12
- package/dist/server/otel-tracer-extension.d.ts +7 -9
- package/dist/server/otel-tracer-extension.js +37 -36
- package/dist/server/pages-api-route.d.ts +5 -4
- package/dist/server/pages-api-route.js +21 -8
- package/dist/server/pages-asset-tags.d.ts +6 -6
- package/dist/server/pages-asset-tags.js +37 -2
- package/dist/server/pages-body-parser-config.d.ts +4 -5
- package/dist/server/pages-body-parser-config.js +4 -4
- package/dist/server/pages-client-assets.d.ts +11 -5
- package/dist/server/pages-data-route.d.ts +11 -12
- package/dist/server/pages-data-route.js +1 -1
- package/dist/server/pages-default-404.d.ts +3 -4
- package/dist/server/pages-dev-hydration.d.ts +9 -4
- package/dist/server/pages-dev-hydration.js +19 -7
- package/dist/server/pages-dev-module-url.d.ts +3 -4
- package/dist/server/pages-dev-stylesheets.d.ts +5 -6
- package/dist/server/pages-document-asset-props.d.ts +6 -7
- package/dist/server/pages-document-initial-props.d.ts +5 -5
- package/dist/server/pages-document-initial-props.js +4 -2
- package/dist/server/pages-execution-tracing.d.ts +40 -0
- package/dist/server/pages-execution-tracing.js +80 -0
- package/dist/server/pages-get-initial-props.d.ts +9 -10
- package/dist/server/pages-i18n.d.ts +8 -8
- package/dist/server/pages-i18n.js +3 -2
- package/dist/server/pages-media-type.d.ts +4 -5
- package/dist/server/pages-node-compat.d.ts +11 -10
- package/dist/server/pages-node-compat.js +12 -4
- package/dist/server/pages-page-data.d.ts +18 -19
- package/dist/server/pages-page-data.js +11 -10
- package/dist/server/pages-page-handler.d.ts +7 -6
- package/dist/server/pages-page-handler.js +98 -47
- package/dist/server/pages-page-method.d.ts +2 -3
- package/dist/server/pages-page-response.d.ts +14 -10
- package/dist/server/pages-page-response.js +49 -31
- package/dist/server/pages-preview.d.ts +10 -11
- package/dist/server/pages-readiness.d.ts +2 -3
- package/dist/server/pages-request-pipeline.d.ts +16 -12
- package/dist/server/pages-request-pipeline.js +69 -28
- package/dist/server/pages-request-stage-entry.d.ts +23 -0
- package/dist/server/pages-request-stage-entry.js +314 -0
- package/dist/server/pages-response-stage-entry.d.ts +11 -0
- package/dist/server/pages-response-stage-entry.js +106 -0
- package/dist/server/pages-response-stage.d.ts +31 -0
- package/dist/server/pages-response-stage.js +49 -0
- package/dist/server/pages-revalidate.d.ts +3 -4
- package/dist/server/pages-revalidate.js +9 -4
- package/dist/server/pages-route-data-kind.d.ts +18 -0
- package/dist/server/pages-route-data-kind.js +11 -0
- package/dist/server/pages-router-entry.d.ts +1 -25
- package/dist/server/pages-router-entry.js +48 -114
- package/dist/server/pages-serializable-props.d.ts +3 -4
- package/dist/server/pregenerated-concrete-paths.d.ts +9 -7
- package/dist/server/pregenerated-concrete-paths.js +12 -6
- package/dist/server/prerender-cache-life-header.d.ts +3 -4
- package/dist/server/prerender-manifest.d.ts +11 -11
- package/dist/server/prerender-manifest.js +6 -3
- package/dist/server/prerender-route-params.d.ts +16 -9
- package/dist/server/prerender-route-params.js +18 -2
- package/dist/server/prerender-work-unit-setup.d.ts +4 -4
- package/dist/server/prerender-work-unit-setup.js +37 -14
- package/dist/server/prod-server.d.ts +12 -9
- package/dist/server/prod-server.js +129 -36
- package/dist/server/proxy-trust.d.ts +5 -6
- package/dist/server/request-log.d.ts +3 -4
- package/dist/server/request-pipeline.d.ts +17 -21
- package/dist/server/request-pipeline.js +8 -10
- package/dist/server/request-stage.d.ts +5 -0
- package/dist/server/request-stage.js +7 -0
- package/dist/server/request-tracing.d.ts +22 -0
- package/dist/server/request-tracing.js +180 -0
- package/dist/server/response-stage-cacheability.d.ts +37 -0
- package/dist/server/response-stage-cacheability.js +55 -0
- package/dist/server/response-stage-policy.d.ts +23 -0
- package/dist/server/response-stage-policy.js +89 -0
- package/dist/server/response-stage.d.ts +5 -0
- package/dist/server/response-stage.js +7 -0
- package/dist/server/response-start-tracing.d.ts +14 -0
- package/dist/server/response-start-tracing.js +80 -0
- package/dist/server/revalidation-host.d.ts +2 -3
- package/dist/server/revalidation-host.js +2 -1
- package/dist/server/revalidation-request.d.ts +8 -0
- package/dist/server/revalidation-request.js +37 -0
- package/dist/server/rsc-completion-metadata.d.ts +6 -7
- package/dist/server/rsc-stream-hints.d.ts +18 -7
- package/dist/server/rsc-stream-hints.js +70 -35
- package/dist/server/seed-cache.d.ts +2 -3
- package/dist/server/seed-cache.js +8 -7
- package/dist/server/server-action-not-found.d.ts +5 -6
- package/dist/server/server-globals.d.ts +2 -3
- package/dist/server/server-globals.js +13 -0
- package/dist/server/skip-cache-proof.d.ts +4 -4
- package/dist/server/socket-error-backstop.d.ts +5 -6
- package/dist/server/socket-error-backstop.js +1 -1
- package/dist/server/static-file-cache.d.ts +5 -6
- package/dist/server/static-file-cache.js +9 -7
- package/dist/server/static-file-signal.d.ts +16 -0
- package/dist/server/static-file-signal.js +82 -0
- package/dist/server/static-layout-client-reuse-proof.d.ts +4 -5
- package/dist/server/streaming-metadata.d.ts +2 -3
- package/dist/server/tracer.d.ts +5 -0
- package/dist/server/tracer.js +13 -0
- package/dist/server/worker-prerender-discovery.d.ts +18 -0
- package/dist/server/worker-prerender-discovery.js +55 -0
- package/dist/server/worker-revalidation-context.d.ts +2 -3
- package/dist/server/worker-revalidation-context.js +5 -5
- package/dist/server/worker-stages.d.ts +43 -0
- package/dist/server/worker-stages.js +25 -0
- package/dist/server/worker-utils.d.ts +5 -6
- package/dist/server/worker-utils.js +4 -4
- package/dist/server/workers-tracing.d.ts +17 -0
- package/dist/server/workers-tracing.js +27 -0
- package/dist/shims/amp.d.ts +3 -4
- package/dist/shims/app-router-scroll-state.d.ts +9 -10
- package/dist/shims/app-router-scroll.d.ts +4 -5
- package/dist/shims/app-router-scroll.js +2 -1
- package/dist/shims/app.d.ts +5 -6
- package/dist/shims/before-interactive-context.d.ts +5 -6
- package/dist/shims/cache-callable-runtime.d.ts +44 -4
- package/dist/shims/cache-callable-runtime.js +168 -8
- package/dist/shims/cache-for-request.d.ts +2 -3
- package/dist/shims/cache-handler.d.ts +33 -20
- package/dist/shims/cache-handler.js +61 -2
- package/dist/shims/cache-request-state.d.ts +28 -29
- package/dist/shims/cache-runtime.d.ts +23 -21
- package/dist/shims/cache-runtime.js +239 -121
- package/dist/shims/cache.d.ts +15 -15
- package/dist/shims/cache.js +25 -13
- package/dist/shims/cacheability-classification.d.ts +106 -0
- package/dist/shims/cacheability-classification.js +161 -0
- package/dist/shims/cdn-cache-state.d.ts +13 -0
- package/dist/shims/cdn-cache-state.js +23 -0
- package/dist/shims/cdn-cache.d.ts +76 -18
- package/dist/shims/cdn-cache.js +40 -39
- package/dist/shims/client-hook-error.d.ts +3 -4
- package/dist/shims/client-locale.d.ts +2 -3
- package/dist/shims/client-page-root.d.ts +24 -0
- package/dist/shims/client-page-root.js +121 -0
- package/dist/shims/compat-router.d.ts +2 -3
- package/dist/shims/config.d.ts +3 -4
- package/dist/shims/constants.d.ts +73 -74
- package/dist/shims/constants.js +1 -1
- package/dist/shims/default-not-found.d.ts +2 -3
- package/dist/shims/document.d.ts +9 -9
- package/dist/shims/dynamic-preload-chunks.d.ts +2 -3
- package/dist/shims/dynamic-preload-chunks.js +17 -13
- package/dist/shims/dynamic.d.ts +3 -3
- package/dist/shims/error-boundary-navigation.d.ts +3 -4
- package/dist/shims/error-boundary.d.ts +17 -18
- package/dist/shims/error-boundary.js +17 -11
- package/dist/shims/error.d.ts +4 -4
- package/dist/shims/error.js +1 -1
- package/dist/shims/error.react-server.d.ts +3 -4
- package/dist/shims/fetch-cache.d.ts +22 -22
- package/dist/shims/fetch-cache.js +50 -20
- package/dist/shims/font-google-base.d.ts +9 -9
- package/dist/shims/font-google-base.js +2 -1
- package/dist/shims/font-local.d.ts +3 -3
- package/dist/shims/font-local.js +1 -1
- package/dist/shims/font-utils.d.ts +14 -15
- package/dist/shims/form.d.ts +2 -2
- package/dist/shims/form.js +10 -7
- package/dist/shims/hash-scroll.d.ts +5 -6
- package/dist/shims/head-state.d.ts +4 -5
- package/dist/shims/head.d.ts +16 -16
- package/dist/shims/head.js +5 -4
- package/dist/shims/headers.d.ts +68 -32
- package/dist/shims/headers.js +101 -10
- package/dist/shims/i18n-context.d.ts +5 -6
- package/dist/shims/i18n-state.d.ts +4 -5
- package/dist/shims/image-config.d.ts +5 -6
- package/dist/shims/image-config.js +2 -0
- package/dist/shims/image.d.ts +5 -5
- package/dist/shims/image.js +12 -8
- package/dist/shims/internal/als-registry.d.ts +4 -5
- package/dist/shims/internal/api-utils.d.ts +3 -4
- package/dist/shims/internal/app-page-props-cache-key.d.ts +32 -4
- package/dist/shims/internal/app-page-props-cache-key.js +53 -1
- package/dist/shims/internal/app-prefetch-fetch-queue.d.ts +5 -6
- package/dist/shims/internal/app-prefetch-rsc-request.d.ts +13 -0
- package/dist/shims/internal/app-prefetch-rsc-request.js +12 -0
- package/dist/shims/internal/app-route-detection.d.ts +2 -2
- package/dist/shims/internal/app-route-prefetch-policy.d.ts +5 -6
- package/dist/shims/internal/app-route-prefetch-policy.js +1 -0
- package/dist/shims/internal/app-router-context.d.ts +9 -10
- package/dist/shims/internal/cookie-serialize.d.ts +4 -5
- package/dist/shims/internal/format-url-object.d.ts +7 -0
- package/dist/shims/internal/format-url-object.js +53 -0
- package/dist/shims/internal/hybrid-client-route-owner-direct.d.ts +6 -7
- package/dist/shims/internal/hybrid-client-route-owner-direct.js +29 -11
- package/dist/shims/internal/hybrid-client-route-owner.d.ts +3 -3
- package/dist/shims/internal/hybrid-client-route-owner.js +5 -4
- package/dist/shims/internal/interpolate-as.d.ts +5 -6
- package/dist/shims/internal/interpolate-as.js +4 -2
- package/dist/shims/internal/link-status-registry.d.ts +5 -6
- package/dist/shims/internal/make-hanging-promise.d.ts +8 -3
- package/dist/shims/internal/make-hanging-promise.js +13 -2
- package/dist/shims/internal/navigation-untracked.d.ts +2 -3
- package/dist/shims/internal/normalize-router-href.d.ts +15 -0
- package/dist/shims/internal/normalize-router-href.js +41 -0
- package/dist/shims/internal/pages-data-fetch-dedup.d.ts +8 -9
- package/dist/shims/internal/pages-data-target.d.ts +8 -6
- package/dist/shims/internal/pages-data-target.js +32 -36
- package/dist/shims/internal/pages-data-url.d.ts +4 -5
- package/dist/shims/internal/pages-data-url.js +2 -1
- package/dist/shims/internal/pages-router-accessor.d.ts +3 -4
- package/dist/shims/internal/pages-router-components.d.ts +3 -4
- package/dist/shims/internal/route-pattern-for-warning.d.ts +5 -6
- package/dist/shims/internal/route-pattern-for-warning.js +3 -3
- package/dist/shims/internal/router-context.d.ts +2 -3
- package/dist/shims/internal/thenable-well-known-properties.d.ts +10 -0
- package/dist/shims/internal/thenable-well-known-properties.js +33 -0
- package/dist/shims/internal/utils.d.ts +7 -8
- package/dist/shims/internal/work-unit-async-storage.d.ts +12 -11
- package/dist/shims/layout-segment-context.d.ts +3 -4
- package/dist/shims/link-prefetch.d.ts +9 -10
- package/dist/shims/link.d.ts +4 -4
- package/dist/shims/link.js +67 -116
- package/dist/shims/metadata.d.ts +15 -16
- package/dist/shims/metadata.js +40 -36
- package/dist/shims/navigation-context-accessors.d.ts +9 -0
- package/dist/shims/navigation-context-accessors.js +19 -0
- package/dist/shims/navigation-context-state.d.ts +27 -18
- package/dist/shims/navigation-errors.d.ts +18 -19
- package/dist/shims/navigation-state.d.ts +6 -7
- package/dist/shims/navigation.d.ts +80 -68
- package/dist/shims/navigation.js +45 -17
- package/dist/shims/navigation.react-server.d.ts +9 -9
- package/dist/shims/navigation.react-server.js +1 -1
- package/dist/shims/offline.d.ts +2 -3
- package/dist/shims/og.d.ts +2 -2
- package/dist/shims/pages-router-runtime.d.ts +4 -5
- package/dist/shims/ppr-fallback-shell.d.ts +13 -14
- package/dist/shims/readonly-url-search-params.d.ts +2 -3
- package/dist/shims/request-context.d.ts +7 -6
- package/dist/shims/root-params.d.ts +14 -15
- package/dist/shims/router-state.d.ts +5 -6
- package/dist/shims/router-state.js +1 -1
- package/dist/shims/router.d.ts +22 -21
- package/dist/shims/router.js +339 -164
- package/dist/shims/script-nonce-context.d.ts +8 -6
- package/dist/shims/script-nonce-context.js +15 -6
- package/dist/shims/script.d.ts +4 -4
- package/dist/shims/script.js +9 -7
- package/dist/shims/search-params-gate.d.ts +35 -0
- package/dist/shims/search-params-gate.js +32 -0
- package/dist/shims/server.d.ts +19 -51
- package/dist/shims/server.js +14 -28
- package/dist/shims/slot.d.ts +33 -15
- package/dist/shims/slot.js +41 -9
- package/dist/shims/streamed-icons.d.ts +3 -4
- package/dist/shims/thenable-params.d.ts +5 -7
- package/dist/shims/thenable-params.js +3 -24
- package/dist/shims/unified-request-context.d.ts +34 -31
- package/dist/shims/unified-request-context.js +34 -24
- package/dist/shims/unrecognized-action-error.d.ts +3 -4
- package/dist/shims/url-safety.d.ts +5 -6
- package/dist/shims/url-utils.d.ts +18 -12
- package/dist/shims/url-utils.js +10 -1
- package/dist/shims/use-merged-ref.d.ts +2 -3
- package/dist/shims/user-agent.d.ts +31 -0
- package/dist/shims/user-agent.js +16 -0
- package/dist/shims/web-vitals.d.ts +2 -2
- package/dist/typegen.d.ts +3 -4
- package/dist/utils/asset-prefix.d.ts +7 -8
- package/dist/utils/base-path.d.ts +5 -6
- package/dist/utils/built-asset-url.d.ts +2 -3
- package/dist/utils/built-asset-url.js +1 -1
- package/dist/utils/cache-control-metadata.d.ts +4 -5
- package/dist/utils/client-build-manifest.d.ts +6 -7
- package/dist/utils/client-build-manifest.js +2 -1
- package/dist/utils/client-entry-manifest.d.ts +6 -7
- package/dist/utils/client-runtime-metadata.d.ts +8 -3
- package/dist/utils/client-runtime-metadata.js +18 -1
- package/dist/utils/commonjs-loader.d.ts +4 -5
- package/dist/utils/compare.d.ts +2 -3
- package/dist/utils/deployment-id.d.ts +6 -7
- package/dist/utils/dev-error-recovery-event.d.ts +2 -3
- package/dist/utils/dev-stack-sourcemap-endpoint.d.ts +2 -3
- package/dist/utils/domain-locale.d.ts +7 -8
- package/dist/utils/encode-cache-tag.d.ts +3 -4
- package/dist/utils/error-cause.d.ts +2 -3
- package/dist/utils/external-url.d.ts +2 -3
- package/dist/utils/has-trailing-comma.d.ts +3 -4
- package/dist/utils/hash.d.ts +3 -4
- package/dist/utils/html-limited-bots.d.ts +3 -4
- package/dist/utils/lazy-chunks.d.ts +8 -9
- package/dist/utils/lazy-chunks.js +4 -4
- package/dist/utils/manifest-paths.d.ts +5 -6
- package/dist/utils/mdx-scan.d.ts +11 -4
- package/dist/utils/mdx-scan.js +27 -1
- package/dist/utils/middleware-request-headers.d.ts +7 -6
- package/dist/utils/middleware-request-headers.js +6 -1
- package/dist/utils/navigation-signal.d.ts +3 -3
- package/dist/utils/navigation-signal.js +16 -1
- package/dist/utils/number.d.ts +2 -3
- package/dist/utils/package-name.d.ts +3 -4
- package/dist/utils/parse-cookie.d.ts +4 -5
- package/dist/utils/path.d.ts +8 -9
- package/dist/utils/plugin-options.d.ts +2 -3
- package/dist/utils/precompressed-variant.d.ts +3 -4
- package/dist/utils/prerender-output-paths.d.ts +9 -10
- package/dist/utils/prerender-output-paths.js +16 -9
- package/dist/utils/project.d.ts +19 -30
- package/dist/utils/project.js +20 -29
- package/dist/utils/promise.d.ts +2 -3
- package/dist/utils/protocol-headers.d.ts +14 -15
- package/dist/utils/public-file-path.d.ts +2 -3
- package/dist/utils/public-routes.d.ts +2 -3
- package/dist/utils/query.d.ts +14 -9
- package/dist/utils/query.js +22 -1
- package/dist/utils/react-compiler-support.d.ts +6 -7
- package/dist/utils/react-version.d.ts +4 -3
- package/dist/utils/react-version.js +19 -1
- package/dist/utils/record.d.ts +2 -3
- package/dist/utils/redirect-digest.d.ts +3 -4
- package/dist/utils/regex-safety.d.ts +4 -5
- package/dist/utils/regex.d.ts +2 -3
- package/dist/utils/safe-json-file.d.ts +2 -3
- package/dist/utils/sorted-array.d.ts +2 -3
- package/dist/utils/text-stream.d.ts +3 -4
- package/dist/utils/vinext-root.d.ts +2 -3
- package/dist/utils/virtual-module.d.ts +3 -4
- package/dist/utils/vite-cli-invocation.d.ts +21 -0
- package/dist/utils/vite-cli-invocation.js +144 -0
- package/dist/utils/vite-version.d.ts +5 -6
- package/next-package.json +4 -0
- package/package.json +55 -6
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { getCdnCacheAdapter } from "../shims/cdn-cache.js";
|
|
1
|
+
import { getCdnCacheAdapter, isNonCacheableCacheControl } from "../shims/cdn-cache.js";
|
|
2
|
+
import { recordRouteCacheabilityCdnTags } from "../shims/cacheability-classification.js";
|
|
2
3
|
//#region src/server/cache-control.ts
|
|
3
4
|
const NEVER_CACHE_CONTROL = "private, no-cache, no-store, max-age=0, must-revalidate";
|
|
4
5
|
const BROWSER_REVALIDATE_CACHE_CONTROL = "public, max-age=0, must-revalidate";
|
|
@@ -6,7 +7,6 @@ const STATIC_CACHE_CONTROL = "s-maxage=31536000, stale-while-revalidate";
|
|
|
6
7
|
const STALE_REVALIDATE_CACHE_CONTROL = "s-maxage=0, stale-while-revalidate";
|
|
7
8
|
const NO_STORE_CACHE_CONTROL = "no-store, must-revalidate";
|
|
8
9
|
const SHARED_CACHE_DIRECTIVE_RE = /(?:^|,)\s*s-maxage\s*=/i;
|
|
9
|
-
const NON_CACHEABLE_DIRECTIVE_RE = /(?:private|no-store|no-cache)/i;
|
|
10
10
|
function shouldUseNextDeployCacheControl() {
|
|
11
11
|
return process.env.VINEXT_NEXT_DEPLOY_CACHE_CONTROL === "1";
|
|
12
12
|
}
|
|
@@ -18,11 +18,52 @@ function isSharedCacheControl(cacheControl) {
|
|
|
18
18
|
* inspect the provider-specific policy headers they own; the generic fallback
|
|
19
19
|
* only understands the framework-owned `Cache-Control` header.
|
|
20
20
|
*/
|
|
21
|
-
function hasExplicitNonCacheableResponsePolicy(headers) {
|
|
22
|
-
const
|
|
23
|
-
if (
|
|
21
|
+
function hasExplicitNonCacheableResponsePolicy(headers, baseline) {
|
|
22
|
+
const policy = getCdnCacheAdapter().responsePolicy;
|
|
23
|
+
if (policy) return policy.hasExplicitNonCacheablePolicy(headers, baseline);
|
|
24
24
|
const cacheControl = headers.get("Cache-Control");
|
|
25
|
-
return Boolean(cacheControl &&
|
|
25
|
+
return Boolean(cacheControl && cacheControl !== baseline?.get("Cache-Control") && isNonCacheableCacheControl(cacheControl));
|
|
26
|
+
}
|
|
27
|
+
/** Whether a response header controls core or the active CDN adapter. */
|
|
28
|
+
function isCdnResponsePolicyHeader(name) {
|
|
29
|
+
return name.toLowerCase() === "cache-control" || getCdnCacheAdapter().responsePolicy?.isHeader(name) === true;
|
|
30
|
+
}
|
|
31
|
+
/** Whether a response declares any core- or adapter-owned cache policy. */
|
|
32
|
+
function hasCdnResponsePolicy(headers) {
|
|
33
|
+
return [...headers.keys()].some(isCdnResponsePolicyHeader);
|
|
34
|
+
}
|
|
35
|
+
/** Read the effective shared-cache policy without interpreting provider headers in core. */
|
|
36
|
+
function readCdnResponseCacheControl(headers) {
|
|
37
|
+
if (!headers) return null;
|
|
38
|
+
const policy = getCdnCacheAdapter().responsePolicy;
|
|
39
|
+
return policy ? policy.readCacheControl(headers) : headers.get("Cache-Control");
|
|
40
|
+
}
|
|
41
|
+
/** Name the lowercased policy header whose value `readCdnResponseCacheControl` read. */
|
|
42
|
+
function readCdnResponsePolicyHeaderName(headers) {
|
|
43
|
+
const policy = getCdnCacheAdapter().responsePolicy;
|
|
44
|
+
if (!policy) return headers.has("Cache-Control") ? "cache-control" : null;
|
|
45
|
+
return policy.readCacheControlHeaderName?.(headers)?.toLowerCase() ?? null;
|
|
46
|
+
}
|
|
47
|
+
/** Ask the active adapter whether one policy header explicitly disables storage. */
|
|
48
|
+
function isNonCacheableCdnResponsePolicy(name, value) {
|
|
49
|
+
if (name.toLowerCase() === "cache-control") return isNonCacheableCacheControl(value);
|
|
50
|
+
return hasExplicitNonCacheableResponsePolicy(new Headers({ [name]: value }));
|
|
51
|
+
}
|
|
52
|
+
/** Capture only cache-policy provenance from an outer composition stage. */
|
|
53
|
+
function captureCdnResponsePolicyHeaders(headers) {
|
|
54
|
+
const policy = new Headers();
|
|
55
|
+
for (const [name, value] of headers) if (isCdnResponsePolicyHeader(name)) policy.set(name, value);
|
|
56
|
+
return policy;
|
|
57
|
+
}
|
|
58
|
+
/** Capture policy values that were added above an already-transported baseline. */
|
|
59
|
+
function captureCdnResponsePolicyOverrides(headers, baseline) {
|
|
60
|
+
const overrides = captureCdnResponsePolicyHeaders(headers);
|
|
61
|
+
for (const [name, value] of overrides) if (baseline.get(name) === value) overrides.delete(name);
|
|
62
|
+
return overrides;
|
|
63
|
+
}
|
|
64
|
+
/** Delegate provider-specific request routing validation to the CDN adapter. */
|
|
65
|
+
async function validateCdnRequest(request) {
|
|
66
|
+
return await getCdnCacheAdapter().validateRequest?.(request) ?? null;
|
|
26
67
|
}
|
|
27
68
|
/**
|
|
28
69
|
* Route a cacheable response's headers through the active CDN cache adapter and
|
|
@@ -35,6 +76,7 @@ function hasExplicitNonCacheableResponsePolicy(headers) {
|
|
|
35
76
|
* owns before applying that map.
|
|
36
77
|
*/
|
|
37
78
|
function applyCdnResponseHeaders(headers, input) {
|
|
79
|
+
recordRouteCacheabilityCdnTags(input.tags);
|
|
38
80
|
headers.delete("Cache-Control");
|
|
39
81
|
const useNextDeployPolicy = shouldUseNextDeployCacheControl() && isSharedCacheControl(input.cacheControl);
|
|
40
82
|
const map = getCdnCacheAdapter().buildResponseHeaders(useNextDeployPolicy ? {
|
|
@@ -52,6 +94,61 @@ function applyCdnResponseHeaders(headers, input) {
|
|
|
52
94
|
if (useNextDeployPolicy) headers.set("Cache-Control", BROWSER_REVALIDATE_CACHE_CONTROL);
|
|
53
95
|
}
|
|
54
96
|
/**
|
|
97
|
+
* Reconcile request-stage policy composed above a reusable response artifact.
|
|
98
|
+
* A newly applied private policy must clear any cacheable provider headers that
|
|
99
|
+
* belonged to the inner artifact before the final response leaves the gateway.
|
|
100
|
+
* `outerPolicyHeaders` contains only policy set by the uncached request stage,
|
|
101
|
+
* so an identical inner value cannot hide explicit outer provenance.
|
|
102
|
+
*/
|
|
103
|
+
function reconcileCdnResponseHeadersAfterOuterPolicy(headers, outerPolicyHeaders) {
|
|
104
|
+
if (headers.has("set-cookie")) {
|
|
105
|
+
applyCdnResponseHeaders(headers, { cacheControl: NO_STORE_CACHE_CONTROL });
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
const cacheControl = outerPolicyHeaders.get("cache-control");
|
|
109
|
+
if (cacheControl !== null) {
|
|
110
|
+
applyCdnResponseHeaders(headers, { cacheControl });
|
|
111
|
+
for (const [name, value] of outerPolicyHeaders) {
|
|
112
|
+
if (name === "cache-control") continue;
|
|
113
|
+
if (isCdnResponsePolicyHeader(name)) headers.set(name, value);
|
|
114
|
+
}
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
for (const [name, value] of outerPolicyHeaders) if (isCdnResponsePolicyHeader(name) && isNonCacheableCdnResponsePolicy(name, value)) {
|
|
118
|
+
applyCdnResponseHeaders(headers, { cacheControl: NO_STORE_CACHE_CONTROL });
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
if (hasExplicitNonCacheableResponsePolicy(outerPolicyHeaders)) applyCdnResponseHeaders(headers, { cacheControl: NO_STORE_CACHE_CONTROL });
|
|
122
|
+
}
|
|
123
|
+
/** Apply adapter-owned build identity to an HTML or RSC page response. */
|
|
124
|
+
function applyCdnResponseIdentityHeaders(response, request) {
|
|
125
|
+
const accept = request.headers.get("Accept")?.toLowerCase() ?? "";
|
|
126
|
+
const isPagesDataRequest = /(?:^|\/)_next\/data\/[^/]+\/.+\.json$/.test(new URL(request.url).pathname);
|
|
127
|
+
if (request.headers.get("RSC") !== "1" && !accept.includes("text/html") && !isPagesDataRequest) return response;
|
|
128
|
+
return applyCdnResponseBuildIdentityHeaders(response);
|
|
129
|
+
}
|
|
130
|
+
/** Apply adapter-owned build identity to an already-classified response. */
|
|
131
|
+
function applyCdnResponseBuildIdentityHeaders(response) {
|
|
132
|
+
const map = getCdnCacheAdapter().buildResponseIdentityHeaders?.();
|
|
133
|
+
if (!map || Object.keys(map).length === 0) return response;
|
|
134
|
+
try {
|
|
135
|
+
applyResponseHeaderMap(response.headers, map);
|
|
136
|
+
return response;
|
|
137
|
+
} catch {
|
|
138
|
+
const headers = new Headers(response.headers);
|
|
139
|
+
applyResponseHeaderMap(headers, map);
|
|
140
|
+
return new Response(response.body, {
|
|
141
|
+
headers,
|
|
142
|
+
status: response.status,
|
|
143
|
+
statusText: response.statusText
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
function applyResponseHeaderMap(headers, map) {
|
|
148
|
+
for (const [name, value] of Object.entries(map)) if (value === null) headers.delete(name);
|
|
149
|
+
else headers.set(name, value);
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
55
152
|
* Matches Next.js's `getCacheControlHeader` stale window semantics while
|
|
56
153
|
* preserving vinext's legacy unbounded SWR header when no expire ceiling is
|
|
57
154
|
* available yet.
|
|
@@ -78,4 +175,4 @@ function buildCachedRevalidateCacheControl(cacheState, revalidateSeconds, expire
|
|
|
78
175
|
return buildRevalidateCacheControl(revalidateSeconds, expireSeconds);
|
|
79
176
|
}
|
|
80
177
|
//#endregion
|
|
81
|
-
export { BROWSER_REVALIDATE_CACHE_CONTROL, NEVER_CACHE_CONTROL, NO_STORE_CACHE_CONTROL, STATIC_CACHE_CONTROL, applyCdnResponseHeaders, buildCachedRevalidateCacheControl, buildRevalidateCacheControl, hasExplicitNonCacheableResponsePolicy, shouldUseNextDeployCacheControl };
|
|
178
|
+
export { BROWSER_REVALIDATE_CACHE_CONTROL, NEVER_CACHE_CONTROL, NO_STORE_CACHE_CONTROL, STATIC_CACHE_CONTROL, applyCdnResponseBuildIdentityHeaders, applyCdnResponseHeaders, applyCdnResponseIdentityHeaders, buildCachedRevalidateCacheControl, buildRevalidateCacheControl, captureCdnResponsePolicyHeaders, captureCdnResponsePolicyOverrides, hasCdnResponsePolicy, hasExplicitNonCacheableResponsePolicy, isCdnResponsePolicyHeader, isNonCacheableCacheControl, isNonCacheableCdnResponsePolicy, readCdnResponseCacheControl, readCdnResponsePolicyHeaderName, reconcileCdnResponseHeadersAfterOuterPolicy, shouldUseNextDeployCacheControl, validateCdnRequest };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
//#region src/server/cache-headers.d.ts
|
|
2
2
|
type VinextCacheState = "HIT" | "MISS" | "STALE" | "STATIC";
|
|
3
|
-
declare function setCacheStateHeaders(headers: Headers, cacheState: VinextCacheState): void;
|
|
4
|
-
declare function buildCacheStateHeaders(cacheState: VinextCacheState): Record<string, string>;
|
|
5
|
-
//#endregion
|
|
6
|
-
export { buildCacheStateHeaders, setCacheStateHeaders };
|
|
3
|
+
export declare function setCacheStateHeaders(headers: Headers, cacheState: VinextCacheState): void;
|
|
4
|
+
export declare function buildCacheStateHeaders(cacheState: VinextCacheState): Record<string, string>;
|
|
5
|
+
//#endregion
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { AppRouteSemanticIds } from "../routing/app-route-graph.js";
|
|
2
2
|
import { ArtifactCompatibilityEnvelope, ArtifactCompatibilityEvaluationOptions } from "./artifact-compatibility.js";
|
|
3
3
|
//#region src/server/cache-proof.d.ts
|
|
4
|
-
declare const CACHE_PROOF_MODEL_SCHEMA_VERSION = 1;
|
|
5
|
-
type CacheProofModelSchemaVersion = 1;
|
|
6
|
-
type CacheProofRejectionCode = "CP_CACHE_ENTRY_PROOF_MISSING" | "CP_MODEL_DISABLED" | "CP_ARTIFACT_COMPATIBILITY_INCOMPATIBLE" | "CP_ARTIFACT_COMPATIBILITY_UNKNOWN" | "CP_DIMENSION_COUNT_EXCEEDED" | "CP_DIMENSION_NAME_MISSING" | "CP_DIMENSION_NAME_TOO_LONG" | "CP_DIMENSION_VALUE_COUNT_EXCEEDED" | "CP_DIMENSION_VALUE_TOO_LONG" | "CP_DIMENSION_VALUES_MISSING" | "CP_ENCODED_VARIANT_TOO_LONG" | "CP_INVALID_VARIANT_BUDGET" | "CP_ROUTE_VARIANT_BUDGET_ROUTE_MISMATCH" | "CP_ROUTE_VARIANT_CEILING_EXCEEDED" | "CP_UNSAFE_PUBLIC_DIMENSION" | "CP_BOUNDARY_OUTCOME_MISMATCH" | "CP_BOUNDARY_OUTCOME_UNKNOWN" | "CP_PRIVATE_DYNAMIC_DOWNGRADE" | "CP_STATIC_LAYOUT_CANDIDATE_OUTPUT_KIND" | "CP_STATIC_LAYOUT_CURRENT_OUTPUT_KIND" | "CP_STATIC_LAYOUT_ID_MISMATCH" | "CP_STATIC_LAYOUT_OBSERVATION_OUTPUT_KIND" | "CP_STATIC_LAYOUT_OBSERVATION_OUTPUT_MISMATCH" | "CP_STATIC_LAYOUT_PRIVATE_DYNAMIC_DOWNGRADE" | "CP_STATIC_LAYOUT_REQUEST_API_OBSERVED" | "CP_STATIC_LAYOUT_REQUEST_API_UNKNOWN" | "CP_STATIC_LAYOUT_ROOT_BOUNDARY_MISMATCH" | "CP_STATIC_LAYOUT_ROOT_BOUNDARY_UNKNOWN" | "CP_STATIC_LAYOUT_VARIANT_DIMENSION_UNPROVEN";
|
|
7
|
-
type CacheProofAcceptanceCode = "CP_STATIC_LAYOUT_REUSE_PROVEN";
|
|
8
|
-
type CacheProofTraceCode = CacheProofAcceptanceCode | CacheProofRejectionCode;
|
|
9
|
-
type CacheProofTraceFieldValue = string | number | boolean | null | readonly string[];
|
|
10
|
-
type CacheProofTraceFields = Readonly<Record<string, CacheProofTraceFieldValue>>;
|
|
11
|
-
type CacheProofBreakerFallbackMode = "renderFresh" | "privateUncacheable";
|
|
12
|
-
type CacheProofFallbackScope = "affectedOutput" | "route";
|
|
13
|
-
type CacheProofBreakerFallback = Readonly<{
|
|
4
|
+
export declare const CACHE_PROOF_MODEL_SCHEMA_VERSION = 1;
|
|
5
|
+
export type CacheProofModelSchemaVersion = 1;
|
|
6
|
+
export type CacheProofRejectionCode = "CP_CACHE_ENTRY_PROOF_MISSING" | "CP_MODEL_DISABLED" | "CP_ARTIFACT_COMPATIBILITY_INCOMPATIBLE" | "CP_ARTIFACT_COMPATIBILITY_UNKNOWN" | "CP_DIMENSION_COUNT_EXCEEDED" | "CP_DIMENSION_NAME_MISSING" | "CP_DIMENSION_NAME_TOO_LONG" | "CP_DIMENSION_VALUE_COUNT_EXCEEDED" | "CP_DIMENSION_VALUE_TOO_LONG" | "CP_DIMENSION_VALUES_MISSING" | "CP_ENCODED_VARIANT_TOO_LONG" | "CP_INVALID_VARIANT_BUDGET" | "CP_ROUTE_VARIANT_BUDGET_ROUTE_MISMATCH" | "CP_ROUTE_VARIANT_CEILING_EXCEEDED" | "CP_UNSAFE_PUBLIC_DIMENSION" | "CP_BOUNDARY_OUTCOME_MISMATCH" | "CP_BOUNDARY_OUTCOME_UNKNOWN" | "CP_PRIVATE_DYNAMIC_DOWNGRADE" | "CP_STATIC_LAYOUT_CANDIDATE_OUTPUT_KIND" | "CP_STATIC_LAYOUT_CURRENT_OUTPUT_KIND" | "CP_STATIC_LAYOUT_ID_MISMATCH" | "CP_STATIC_LAYOUT_OBSERVATION_OUTPUT_KIND" | "CP_STATIC_LAYOUT_OBSERVATION_OUTPUT_MISMATCH" | "CP_STATIC_LAYOUT_PRIVATE_DYNAMIC_DOWNGRADE" | "CP_STATIC_LAYOUT_REQUEST_API_OBSERVED" | "CP_STATIC_LAYOUT_REQUEST_API_UNKNOWN" | "CP_STATIC_LAYOUT_ROOT_BOUNDARY_MISMATCH" | "CP_STATIC_LAYOUT_ROOT_BOUNDARY_UNKNOWN" | "CP_STATIC_LAYOUT_VARIANT_DIMENSION_UNPROVEN";
|
|
7
|
+
export type CacheProofAcceptanceCode = "CP_STATIC_LAYOUT_REUSE_PROVEN";
|
|
8
|
+
export type CacheProofTraceCode = CacheProofAcceptanceCode | CacheProofRejectionCode;
|
|
9
|
+
export type CacheProofTraceFieldValue = string | number | boolean | null | readonly string[];
|
|
10
|
+
export type CacheProofTraceFields = Readonly<Record<string, CacheProofTraceFieldValue>>;
|
|
11
|
+
export type CacheProofBreakerFallbackMode = "renderFresh" | "privateUncacheable";
|
|
12
|
+
export type CacheProofFallbackScope = "affectedOutput" | "route";
|
|
13
|
+
export type CacheProofBreakerFallback = Readonly<{
|
|
14
14
|
kind: "breakerFallback";
|
|
15
15
|
code: CacheProofRejectionCode;
|
|
16
16
|
mode: CacheProofBreakerFallbackMode;
|
|
17
17
|
scope: CacheProofFallbackScope;
|
|
18
18
|
fields: CacheProofTraceFields;
|
|
19
19
|
}>;
|
|
20
|
-
type CacheVariantBudget = Readonly<{
|
|
20
|
+
export type CacheVariantBudget = Readonly<{
|
|
21
21
|
maxDimensionCount: number;
|
|
22
22
|
maxDimensionNameLength: number;
|
|
23
23
|
maxDimensionValueLength: number;
|
|
@@ -25,7 +25,7 @@ type CacheVariantBudget = Readonly<{
|
|
|
25
25
|
maxValuesPerDimension: number;
|
|
26
26
|
maxVariantsPerRoute: number;
|
|
27
27
|
}>;
|
|
28
|
-
declare const DEFAULT_CACHE_VARIANT_BUDGET: {
|
|
28
|
+
export declare const DEFAULT_CACHE_VARIANT_BUDGET: {
|
|
29
29
|
maxDimensionCount: number;
|
|
30
30
|
maxDimensionNameLength: number;
|
|
31
31
|
maxDimensionValueLength: number;
|
|
@@ -33,15 +33,15 @@ declare const DEFAULT_CACHE_VARIANT_BUDGET: {
|
|
|
33
33
|
maxValuesPerDimension: number;
|
|
34
34
|
maxVariantsPerRoute: number;
|
|
35
35
|
};
|
|
36
|
-
type CacheVariantDimensionSource = "auth" | "cookie" | "custom" | "draft-mode" | "header" | "interception" | "mounted-slots" | "params" | "route" | "search" | "session";
|
|
37
|
-
type CacheVariantDimensionPrivacy = "internal" | "private" | "public";
|
|
38
|
-
type CacheVariantDimensionInput = Readonly<{
|
|
36
|
+
export type CacheVariantDimensionSource = "auth" | "cookie" | "custom" | "draft-mode" | "header" | "interception" | "mounted-slots" | "params" | "route" | "search" | "session";
|
|
37
|
+
export type CacheVariantDimensionPrivacy = "internal" | "private" | "public";
|
|
38
|
+
export type CacheVariantDimensionInput = Readonly<{
|
|
39
39
|
name: string;
|
|
40
40
|
privacy: CacheVariantDimensionPrivacy;
|
|
41
41
|
source: CacheVariantDimensionSource;
|
|
42
42
|
values: readonly string[];
|
|
43
43
|
}>;
|
|
44
|
-
type CacheVariantDimension = Readonly<{
|
|
44
|
+
export type CacheVariantDimension = Readonly<{
|
|
45
45
|
encoded: string;
|
|
46
46
|
name: string;
|
|
47
47
|
privacy: CacheVariantDimensionPrivacy;
|
|
@@ -49,7 +49,7 @@ type CacheVariantDimension = Readonly<{
|
|
|
49
49
|
valueCount: number;
|
|
50
50
|
valueHashes: readonly string[];
|
|
51
51
|
}>;
|
|
52
|
-
type CacheProofOutputScope = Readonly<{
|
|
52
|
+
export type CacheProofOutputScope = Readonly<{
|
|
53
53
|
kind: "app-html";
|
|
54
54
|
renderEpoch: string | null;
|
|
55
55
|
rootBoundaryId: string | null;
|
|
@@ -85,10 +85,10 @@ type CacheProofOutputScope = Readonly<{
|
|
|
85
85
|
routeId: string;
|
|
86
86
|
templateId: string;
|
|
87
87
|
}>;
|
|
88
|
-
type StaticLayoutCacheProofOutputScope = Extract<CacheProofOutputScope, {
|
|
88
|
+
export type StaticLayoutCacheProofOutputScope = Extract<CacheProofOutputScope, {
|
|
89
89
|
kind: "layout";
|
|
90
90
|
}>;
|
|
91
|
-
type CacheVariant = Readonly<{
|
|
91
|
+
export type CacheVariant = Readonly<{
|
|
92
92
|
budget: CacheVariantBudget;
|
|
93
93
|
cacheKey: string;
|
|
94
94
|
dimensions: readonly CacheVariantDimension[];
|
|
@@ -96,23 +96,23 @@ type CacheVariant = Readonly<{
|
|
|
96
96
|
output: CacheProofOutputScope;
|
|
97
97
|
schemaVersion: CacheProofModelSchemaVersion;
|
|
98
98
|
}>;
|
|
99
|
-
type BuildCacheVariantInput = Readonly<{
|
|
99
|
+
export type BuildCacheVariantInput = Readonly<{
|
|
100
100
|
budget: CacheVariantBudget;
|
|
101
101
|
dimensions: readonly CacheVariantDimensionInput[];
|
|
102
102
|
output: CacheProofOutputScope;
|
|
103
103
|
}>;
|
|
104
|
-
type BuildCacheVariantResult = Readonly<{
|
|
104
|
+
export type BuildCacheVariantResult = Readonly<{
|
|
105
105
|
kind: "variant";
|
|
106
106
|
variant: CacheVariant;
|
|
107
107
|
}> | Readonly<{
|
|
108
108
|
kind: "breakerFallback";
|
|
109
109
|
fallback: CacheProofBreakerFallback;
|
|
110
110
|
}>;
|
|
111
|
-
type CacheVariantRouteBudget = Readonly<{
|
|
111
|
+
export type CacheVariantRouteBudget = Readonly<{
|
|
112
112
|
routeId: string;
|
|
113
113
|
variantCacheKeys: readonly string[];
|
|
114
114
|
}>;
|
|
115
|
-
type CacheVariantRouteBudgetAdmission = Readonly<{
|
|
115
|
+
export type CacheVariantRouteBudgetAdmission = Readonly<{
|
|
116
116
|
didConsumeRouteVariantBudget: boolean;
|
|
117
117
|
kind: "variant";
|
|
118
118
|
routeBudget: CacheVariantRouteBudget;
|
|
@@ -122,14 +122,14 @@ type CacheVariantRouteBudgetAdmission = Readonly<{
|
|
|
122
122
|
kind: "breakerFallback";
|
|
123
123
|
routeBudget: CacheVariantRouteBudget | null;
|
|
124
124
|
}>;
|
|
125
|
-
type BuildCacheVariantWithRouteBudgetInput = BuildCacheVariantInput & Readonly<{
|
|
125
|
+
export type BuildCacheVariantWithRouteBudgetInput = BuildCacheVariantInput & Readonly<{
|
|
126
126
|
routeBudget: CacheVariantRouteBudget | null;
|
|
127
127
|
}>;
|
|
128
|
-
type BuildCacheVariantWithRouteBudgetResult = CacheVariantRouteBudgetAdmission;
|
|
129
|
-
type AppRouteCacheProofGraphScopeInput = Readonly<{
|
|
128
|
+
export type BuildCacheVariantWithRouteBudgetResult = CacheVariantRouteBudgetAdmission;
|
|
129
|
+
export type AppRouteCacheProofGraphScopeInput = Readonly<{
|
|
130
130
|
ids: AppRouteSemanticIds;
|
|
131
131
|
}>;
|
|
132
|
-
type AppRouteCacheProofGraphScope = Readonly<{
|
|
132
|
+
export type AppRouteCacheProofGraphScope = Readonly<{
|
|
133
133
|
layoutIds: readonly string[];
|
|
134
134
|
pageId: string | null;
|
|
135
135
|
routeHandlerId: string | null;
|
|
@@ -137,7 +137,7 @@ type AppRouteCacheProofGraphScope = Readonly<{
|
|
|
137
137
|
slotIds: readonly string[];
|
|
138
138
|
templateIds: readonly string[];
|
|
139
139
|
}>;
|
|
140
|
-
type BoundaryOutcome = Readonly<{
|
|
140
|
+
export type BoundaryOutcome = Readonly<{
|
|
141
141
|
kind: "error";
|
|
142
142
|
digest?: string;
|
|
143
143
|
}> | Readonly<{
|
|
@@ -158,7 +158,7 @@ type BoundaryOutcome = Readonly<{
|
|
|
158
158
|
}> | Readonly<{
|
|
159
159
|
kind: "unknown";
|
|
160
160
|
}>;
|
|
161
|
-
type BoundaryOutcomeCompatibility = Readonly<{
|
|
161
|
+
export type BoundaryOutcomeCompatibility = Readonly<{
|
|
162
162
|
kind: "compatible";
|
|
163
163
|
outcome: BoundaryOutcome;
|
|
164
164
|
reason: "CP_BOUNDARY_OUTCOME_MATCH";
|
|
@@ -168,17 +168,17 @@ type BoundaryOutcomeCompatibility = Readonly<{
|
|
|
168
168
|
fallback: CacheProofBreakerFallback;
|
|
169
169
|
kind: "incompatible";
|
|
170
170
|
}>;
|
|
171
|
-
type RenderObservationCompleteness = "complete" | "partial" | "unknown";
|
|
172
|
-
type RenderCacheability = "private" | "public" | "uncacheable" | "unknown";
|
|
173
|
-
type RenderRequestApiKind = "connection" | "cookies" | "draftMode" | "headers" | "params" | "searchParams";
|
|
174
|
-
type RenderRequestApiStatus = "notObserved" | "observed" | "unknown";
|
|
175
|
-
declare const ALL_RENDER_REQUEST_API_KINDS: readonly RenderRequestApiKind[];
|
|
176
|
-
type RenderRequestApiObservation = Readonly<{
|
|
171
|
+
export type RenderObservationCompleteness = "complete" | "partial" | "unknown";
|
|
172
|
+
export type RenderCacheability = "private" | "public" | "uncacheable" | "unknown";
|
|
173
|
+
export type RenderRequestApiKind = "connection" | "cookies" | "draftMode" | "headers" | "params" | "searchParams";
|
|
174
|
+
export type RenderRequestApiStatus = "notObserved" | "observed" | "unknown";
|
|
175
|
+
export declare const ALL_RENDER_REQUEST_API_KINDS: readonly RenderRequestApiKind[];
|
|
176
|
+
export type RenderRequestApiObservation = Readonly<{
|
|
177
177
|
kind: RenderRequestApiKind;
|
|
178
178
|
status: RenderRequestApiStatus;
|
|
179
179
|
}>;
|
|
180
|
-
type CacheProofDowngradeTarget = "freshRender" | "private" | "privateUncacheable" | "public" | "publicVariant";
|
|
181
|
-
type CacheProofDowngradeReason = Readonly<{
|
|
180
|
+
export type CacheProofDowngradeTarget = "freshRender" | "private" | "privateUncacheable" | "public" | "publicVariant";
|
|
181
|
+
export type CacheProofDowngradeReason = Readonly<{
|
|
182
182
|
code: "CP_DOWNGRADE_CACHEABILITY_PRIVATE";
|
|
183
183
|
target: "private";
|
|
184
184
|
}> | Readonly<{
|
|
@@ -221,20 +221,20 @@ type CacheProofDowngradeReason = Readonly<{
|
|
|
221
221
|
requestApi: RenderRequestApiKind;
|
|
222
222
|
target: "freshRender";
|
|
223
223
|
}>;
|
|
224
|
-
type CacheProofDowngradeClassification = Readonly<{
|
|
224
|
+
export type CacheProofDowngradeClassification = Readonly<{
|
|
225
225
|
fallback: CacheProofBreakerFallback | null;
|
|
226
226
|
isPublicCacheCandidate: boolean;
|
|
227
227
|
reasons: readonly CacheProofDowngradeReason[];
|
|
228
228
|
target: CacheProofDowngradeTarget;
|
|
229
229
|
}>;
|
|
230
|
-
type ClassifyRenderObservationDowngradeInput = Readonly<{
|
|
230
|
+
export type ClassifyRenderObservationDowngradeInput = Readonly<{
|
|
231
231
|
cacheability: RenderCacheability;
|
|
232
232
|
completeness: RenderObservationCompleteness;
|
|
233
233
|
dynamicFetches: readonly string[];
|
|
234
234
|
requestApis: readonly RenderRequestApiObservation[];
|
|
235
235
|
}>;
|
|
236
|
-
type ClassifyCacheVariantDimensionDowngradeInput = Pick<CacheVariantDimensionInput, "source">;
|
|
237
|
-
type RenderObservation = Readonly<{
|
|
236
|
+
export type ClassifyCacheVariantDimensionDowngradeInput = Pick<CacheVariantDimensionInput, "source">;
|
|
237
|
+
export type RenderObservation = Readonly<{
|
|
238
238
|
boundaryOutcome: BoundaryOutcome;
|
|
239
239
|
cacheTags: readonly string[];
|
|
240
240
|
cacheability: RenderCacheability;
|
|
@@ -246,7 +246,7 @@ type RenderObservation = Readonly<{
|
|
|
246
246
|
requestApis: readonly RenderRequestApiObservation[];
|
|
247
247
|
schemaVersion: CacheProofModelSchemaVersion;
|
|
248
248
|
}>;
|
|
249
|
-
type StaticLayoutReuseProof = Readonly<{
|
|
249
|
+
export type StaticLayoutReuseProof = Readonly<{
|
|
250
250
|
authorizesRuntimeReuse: true;
|
|
251
251
|
candidateOutput: StaticLayoutCacheProofOutputScope;
|
|
252
252
|
code: "CP_STATIC_LAYOUT_REUSE_PROVEN";
|
|
@@ -257,28 +257,28 @@ type StaticLayoutReuseProof = Readonly<{
|
|
|
257
257
|
reuseClass: "static-layout";
|
|
258
258
|
variant: CacheVariant;
|
|
259
259
|
}>;
|
|
260
|
-
type StaticLayoutArtifactReuseProof = StaticLayoutReuseProof & Readonly<{
|
|
260
|
+
export type StaticLayoutArtifactReuseProof = StaticLayoutReuseProof & Readonly<{
|
|
261
261
|
candidateArtifactCompatibility: ArtifactCompatibilityEnvelope;
|
|
262
262
|
}>;
|
|
263
|
-
type BuildStaticLayoutReuseProofInput = Readonly<{
|
|
263
|
+
export type BuildStaticLayoutReuseProofInput = Readonly<{
|
|
264
264
|
candidateObservation: RenderObservation;
|
|
265
265
|
candidateVariant: CacheVariant;
|
|
266
266
|
currentOutput: CacheProofOutputScope;
|
|
267
267
|
}>;
|
|
268
|
-
type BuildStaticLayoutReuseProofResult = Readonly<{
|
|
268
|
+
export type BuildStaticLayoutReuseProofResult = Readonly<{
|
|
269
269
|
kind: "proof";
|
|
270
270
|
proof: StaticLayoutReuseProof;
|
|
271
271
|
}> | Readonly<{
|
|
272
272
|
kind: "rejected";
|
|
273
273
|
fallback: CacheProofBreakerFallback;
|
|
274
274
|
}>;
|
|
275
|
-
type CacheProofHotPathMetric = Readonly<{
|
|
275
|
+
export type CacheProofHotPathMetric = Readonly<{
|
|
276
276
|
code: CacheProofTraceCode;
|
|
277
277
|
fields: CacheProofTraceFields;
|
|
278
278
|
name: "vinext.cache.static_layout_artifact_reuse";
|
|
279
279
|
outcome: "fallback" | "reuse";
|
|
280
280
|
}>;
|
|
281
|
-
type StaticLayoutArtifactReuseDecision = Readonly<{
|
|
281
|
+
export type StaticLayoutArtifactReuseDecision = Readonly<{
|
|
282
282
|
canReuse: true;
|
|
283
283
|
kind: "reuse";
|
|
284
284
|
metric: CacheProofHotPathMetric;
|
|
@@ -289,7 +289,7 @@ type StaticLayoutArtifactReuseDecision = Readonly<{
|
|
|
289
289
|
kind: "fallback";
|
|
290
290
|
metric: CacheProofHotPathMetric;
|
|
291
291
|
}>;
|
|
292
|
-
type CacheEntryReuseDecision = Readonly<{
|
|
292
|
+
export type CacheEntryReuseDecision = Readonly<{
|
|
293
293
|
canReuse: true;
|
|
294
294
|
code: CacheProofAcceptanceCode;
|
|
295
295
|
kind: "reuse";
|
|
@@ -301,18 +301,18 @@ type CacheEntryReuseDecision = Readonly<{
|
|
|
301
301
|
mode: CacheProofBreakerFallbackMode;
|
|
302
302
|
scope: CacheProofFallbackScope;
|
|
303
303
|
}>;
|
|
304
|
-
type CacheEntryReuseProof = Readonly<{
|
|
304
|
+
export type CacheEntryReuseProof = Readonly<{
|
|
305
305
|
decision: CacheEntryReuseDecision | null;
|
|
306
306
|
kind: "runtime-cache-entry";
|
|
307
307
|
}>;
|
|
308
|
-
type CreateStaticLayoutArtifactReuseDecisionInput = Readonly<{
|
|
308
|
+
export type CreateStaticLayoutArtifactReuseDecisionInput = Readonly<{
|
|
309
309
|
candidateArtifactCompatibility: ArtifactCompatibilityEnvelope;
|
|
310
310
|
candidateObservation: RenderObservation;
|
|
311
311
|
candidateVariant: BuildCacheVariantWithRouteBudgetResult;
|
|
312
312
|
currentArtifactCompatibility: ArtifactCompatibilityEnvelope;
|
|
313
313
|
currentOutput: CacheProofOutputScope;
|
|
314
314
|
}> & ArtifactCompatibilityEvaluationOptions;
|
|
315
|
-
type BuildRenderObservationInput = Readonly<{
|
|
315
|
+
export type BuildRenderObservationInput = Readonly<{
|
|
316
316
|
boundaryOutcome: BoundaryOutcome;
|
|
317
317
|
cacheTags: readonly string[];
|
|
318
318
|
cacheability: RenderCacheability;
|
|
@@ -322,11 +322,11 @@ type BuildRenderObservationInput = Readonly<{
|
|
|
322
322
|
pathTags: readonly string[];
|
|
323
323
|
requestApis: readonly RenderRequestApiObservation[];
|
|
324
324
|
}>;
|
|
325
|
-
type BuildRenderRequestApiObservationsInput = Readonly<{
|
|
325
|
+
export type BuildRenderRequestApiObservationsInput = Readonly<{
|
|
326
326
|
completeness: RenderObservationCompleteness;
|
|
327
327
|
observed: readonly RenderRequestApiKind[];
|
|
328
328
|
}>;
|
|
329
|
-
type DisabledCacheProofDecision = Readonly<{
|
|
329
|
+
export type DisabledCacheProofDecision = Readonly<{
|
|
330
330
|
canReuse: false;
|
|
331
331
|
fallback: CacheProofBreakerFallback;
|
|
332
332
|
kind: "disabled";
|
|
@@ -334,30 +334,35 @@ type DisabledCacheProofDecision = Readonly<{
|
|
|
334
334
|
staticLayoutProof?: StaticLayoutReuseProof;
|
|
335
335
|
variant: CacheVariant;
|
|
336
336
|
}>;
|
|
337
|
-
type CreateDisabledCacheProofDecisionInput = Readonly<{
|
|
337
|
+
export type CreateDisabledCacheProofDecisionInput = Readonly<{
|
|
338
338
|
observation: RenderObservation;
|
|
339
339
|
staticLayoutProof?: StaticLayoutReuseProof;
|
|
340
340
|
variant: CacheVariant;
|
|
341
341
|
}>;
|
|
342
|
-
declare function createAppRouteCacheProofGraphScope(route: AppRouteCacheProofGraphScopeInput): AppRouteCacheProofGraphScope;
|
|
343
|
-
declare function buildCacheVariant(input: BuildCacheVariantInput): BuildCacheVariantResult;
|
|
344
|
-
declare function enforceCacheVariantRouteBudget(input: {
|
|
342
|
+
export declare function createAppRouteCacheProofGraphScope(route: AppRouteCacheProofGraphScopeInput): AppRouteCacheProofGraphScope;
|
|
343
|
+
export declare function buildCacheVariant(input: BuildCacheVariantInput): BuildCacheVariantResult;
|
|
344
|
+
export declare function enforceCacheVariantRouteBudget(input: {
|
|
345
345
|
routeBudget: CacheVariantRouteBudget | null;
|
|
346
346
|
variant: CacheVariant;
|
|
347
347
|
}): CacheVariantRouteBudgetAdmission;
|
|
348
|
-
declare function buildCacheVariantWithRouteBudget(input: BuildCacheVariantWithRouteBudgetInput): BuildCacheVariantWithRouteBudgetResult;
|
|
349
|
-
declare function buildBoundaryOutcomeCompatibility(input: {
|
|
348
|
+
export declare function buildCacheVariantWithRouteBudget(input: BuildCacheVariantWithRouteBudgetInput): BuildCacheVariantWithRouteBudgetResult;
|
|
349
|
+
export declare function buildBoundaryOutcomeCompatibility(input: {
|
|
350
350
|
candidate: BoundaryOutcome;
|
|
351
351
|
expected: BoundaryOutcome;
|
|
352
352
|
}): BoundaryOutcomeCompatibility;
|
|
353
|
-
declare function classifyCacheVariantDimensionDowngrade(input: ClassifyCacheVariantDimensionDowngradeInput): CacheProofDowngradeReason | null;
|
|
354
|
-
declare function classifyRenderObservationDowngrade(input: ClassifyRenderObservationDowngradeInput): CacheProofDowngradeClassification;
|
|
355
|
-
declare function buildRenderRequestApiObservations(input: BuildRenderRequestApiObservationsInput): RenderRequestApiObservation[];
|
|
356
|
-
declare function buildRenderObservation(input: BuildRenderObservationInput): RenderObservation;
|
|
357
|
-
declare function hasCompleteNegativeRequestApiProof(observation: RenderObservation, requiredApis: readonly RenderRequestApiKind[]): boolean;
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
export
|
|
353
|
+
export declare function classifyCacheVariantDimensionDowngrade(input: ClassifyCacheVariantDimensionDowngradeInput): CacheProofDowngradeReason | null;
|
|
354
|
+
export declare function classifyRenderObservationDowngrade(input: ClassifyRenderObservationDowngradeInput): CacheProofDowngradeClassification;
|
|
355
|
+
export declare function buildRenderRequestApiObservations(input: BuildRenderRequestApiObservationsInput): RenderRequestApiObservation[];
|
|
356
|
+
export declare function buildRenderObservation(input: BuildRenderObservationInput): RenderObservation;
|
|
357
|
+
export declare function hasCompleteNegativeRequestApiProof(observation: RenderObservation, requiredApis: readonly RenderRequestApiKind[]): boolean;
|
|
358
|
+
/**
|
|
359
|
+
* Whether a stored App page's render is proven not to have read the request's
|
|
360
|
+
* query, so one entry may serve every query. Core only writes and reads
|
|
361
|
+
* entries with this proof.
|
|
362
|
+
*/
|
|
363
|
+
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
|
+
export declare function createCacheEntryReuseProof(decision: StaticLayoutArtifactReuseDecision | null): CacheEntryReuseProof;
|
|
367
|
+
export declare function createDisabledCacheProofDecision(input: CreateDisabledCacheProofDecisionInput): DisabledCacheProofDecision;
|
|
368
|
+
//#endregion
|
|
@@ -594,6 +594,14 @@ function hasCompleteNegativeRequestApiProof(observation, requiredApis) {
|
|
|
594
594
|
for (const api of requiredApis) if (statuses.get(api) !== "notObserved") return false;
|
|
595
595
|
return true;
|
|
596
596
|
}
|
|
597
|
+
/**
|
|
598
|
+
* Whether a stored App page's render is proven not to have read the request's
|
|
599
|
+
* query, so one entry may serve every query. Core only writes and reads
|
|
600
|
+
* entries with this proof.
|
|
601
|
+
*/
|
|
602
|
+
function hasQueryInvariantRenderProof(observation) {
|
|
603
|
+
return observation !== void 0 && hasCompleteNegativeRequestApiProof(observation, ["searchParams"]);
|
|
604
|
+
}
|
|
597
605
|
function isStaticLayoutOutputScope(output) {
|
|
598
606
|
return output.kind === "layout";
|
|
599
607
|
}
|
|
@@ -791,4 +799,4 @@ function createDisabledCacheProofDecision(input) {
|
|
|
791
799
|
};
|
|
792
800
|
}
|
|
793
801
|
//#endregion
|
|
794
|
-
export { ALL_RENDER_REQUEST_API_KINDS, CACHE_PROOF_MODEL_SCHEMA_VERSION, DEFAULT_CACHE_VARIANT_BUDGET, buildBoundaryOutcomeCompatibility, buildCacheVariant, buildCacheVariantWithRouteBudget, buildRenderObservation, buildRenderRequestApiObservations, buildStaticLayoutReuseProof, classifyCacheVariantDimensionDowngrade, classifyRenderObservationDowngrade, createAppRouteCacheProofGraphScope, createCacheEntryReuseProof, createDisabledCacheProofDecision, createStaticLayoutArtifactReuseDecision, enforceCacheVariantRouteBudget, hasCompleteNegativeRequestApiProof };
|
|
802
|
+
export { ALL_RENDER_REQUEST_API_KINDS, CACHE_PROOF_MODEL_SCHEMA_VERSION, DEFAULT_CACHE_VARIANT_BUDGET, buildBoundaryOutcomeCompatibility, buildCacheVariant, buildCacheVariantWithRouteBudget, buildRenderObservation, buildRenderRequestApiObservations, buildStaticLayoutReuseProof, classifyCacheVariantDimensionDowngrade, classifyRenderObservationDowngrade, createAppRouteCacheProofGraphScope, createCacheEntryReuseProof, createDisabledCacheProofDecision, createStaticLayoutArtifactReuseDecision, enforceCacheVariantRouteBudget, hasCompleteNegativeRequestApiProof, hasQueryInvariantRenderProof };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/server/cacheability-limits.d.ts
|
|
2
|
+
/** Maximum completed response retained before CDN admission. */
|
|
3
|
+
export declare const CACHEABILITY_ADMISSION_RESPONSE_BODY_LIMIT: number;
|
|
4
|
+
/** Maximum completed-response capture retained across concurrent isolate requests. */
|
|
5
|
+
export declare const CACHEABILITY_ADMISSION_ISOLATE_BODY_LIMIT: number;
|
|
6
|
+
/** Leave headroom below the deploy-side request timeout for a fail-closed envelope. */
|
|
7
|
+
export declare const CACHEABILITY_PROBE_TIMEOUT_MS = 20000;
|
|
8
|
+
//#endregion
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region src/server/cacheability-limits.ts
|
|
2
|
+
/** Maximum completed response retained before CDN admission. */
|
|
3
|
+
const CACHEABILITY_ADMISSION_RESPONSE_BODY_LIMIT = 16777216;
|
|
4
|
+
/** Maximum completed-response capture retained across concurrent isolate requests. */
|
|
5
|
+
const CACHEABILITY_ADMISSION_ISOLATE_BODY_LIMIT = 33554432;
|
|
6
|
+
/** Leave headroom below the deploy-side request timeout for a fail-closed envelope. */
|
|
7
|
+
const CACHEABILITY_PROBE_TIMEOUT_MS = 2e4;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { CACHEABILITY_ADMISSION_ISOLATE_BODY_LIMIT, CACHEABILITY_ADMISSION_RESPONSE_BODY_LIMIT, CACHEABILITY_PROBE_TIMEOUT_MS };
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
//#region src/server/cacheability-manifest.d.ts
|
|
2
|
+
export declare const CACHEABILITY_MANIFEST_MODULE = "__vinext_cacheability_manifest.js";
|
|
3
|
+
/** Request-stage projection of the manifest: the App page routes that can admit a query-free entry. */
|
|
4
|
+
export declare const CACHEABILITY_REQUEST_PROJECTION_MODULE = "__vinext_cacheability_request_projection.js";
|
|
5
|
+
export type CacheabilityRouteKind = "app-page" | "app-route" | "pages-page";
|
|
6
|
+
export type CacheabilityRepresentation = "app-route" | "html" | "pages-data" | "rsc-full" | "rsc-loading-shell";
|
|
7
|
+
export type CacheabilityManifestRouteState = "static-candidate" | "runtime-check";
|
|
8
|
+
export type CacheabilityManifestRoute = {
|
|
9
|
+
kind: CacheabilityRouteKind;
|
|
10
|
+
pattern: string;
|
|
11
|
+
/** Default completed-render policy for authorized non-static representations. */
|
|
12
|
+
state: CacheabilityManifestRouteState;
|
|
13
|
+
/** Permit completed-render admission for paths not observed during probing. */
|
|
14
|
+
allowUnknown?: boolean;
|
|
15
|
+
/** Next.js fallback classification for paths not observed during probing. */
|
|
16
|
+
unknownState?: CacheabilityManifestRouteState;
|
|
17
|
+
/** Common prefix omitted from every exact path below. */
|
|
18
|
+
pathPrefix?: string;
|
|
19
|
+
/** Runtime-checked representation authorized for every path in a pattern. */
|
|
20
|
+
runtimeRepresentation?: CacheabilityRepresentation;
|
|
21
|
+
/** Static representation for a literal route that needs no exact path list. */
|
|
22
|
+
staticRepresentation?: CacheabilityRepresentation;
|
|
23
|
+
/** Exact dynamic paths observed in a mixed or pattern-dynamic route. */
|
|
24
|
+
runtimePaths?: string[];
|
|
25
|
+
/** Exact paths runtime-checked only in the listed representation. */
|
|
26
|
+
runtimeRepresentationPaths?: Partial<Record<CacheabilityRepresentation, string[]>>;
|
|
27
|
+
/** Exact paths statically certified per representation. A path may appear in several lists. */
|
|
28
|
+
staticPaths?: Partial<Record<CacheabilityRepresentation, string[]>>;
|
|
29
|
+
};
|
|
30
|
+
export type CacheabilityManifest = {
|
|
31
|
+
buildId: string;
|
|
32
|
+
routes: Record<string, CacheabilityManifestRoute>;
|
|
33
|
+
version: 1;
|
|
34
|
+
};
|
|
35
|
+
export declare function cacheabilityManifestRouteKey(kind: CacheabilityManifestRoute["kind"], pattern: string): string;
|
|
36
|
+
export declare function parseCacheabilityManifest(value: string | null | undefined, expectedBuildId: string | null | undefined): CacheabilityManifest | null;
|
|
37
|
+
export declare function cacheabilityRequestIdentity(request: Request, trustedRepresentation?: CacheabilityRepresentation): {
|
|
38
|
+
representation: CacheabilityRepresentation;
|
|
39
|
+
requestKey: string;
|
|
40
|
+
} | null;
|
|
41
|
+
export declare function normalizeCacheabilityRoutePathname(pathname: string): string;
|
|
42
|
+
export declare function cacheabilityRoutePathname(pathname: string, representation: CacheabilityRepresentation): string;
|
|
43
|
+
export declare function cacheabilityManifestRouteState(route: CacheabilityManifestRoute, routePathname: string, representation?: CacheabilityRepresentation): CacheabilityManifestRouteState | null;
|
|
44
|
+
export declare function findCacheabilityManifestRoute(manifest: CacheabilityManifest, kind: CacheabilityRouteKind, pattern: string): CacheabilityManifestRoute | null;
|
|
45
|
+
export declare function resolveCacheabilityRepresentation(representation: CacheabilityRepresentation, routeKind: "app-page" | "app-route" | "pages-api" | "pages-page"): CacheabilityRepresentation;
|
|
46
|
+
/** Whether completed-response admission can store a page route under this representation. */
|
|
47
|
+
export declare function cacheabilityRepresentationMatchesPageRoute(routeKind: "app-page" | "pages-page", representation: CacheabilityRepresentation): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* The manifest state completed-response admission gives a page request, or
|
|
50
|
+
* null when admission refuses it. `requestRepresentation` is the request
|
|
51
|
+
* identity's, and `routePathname` is built from the resolved pathname with
|
|
52
|
+
* `cacheabilityRoutePathname`, as admission builds it. The Workers Cache
|
|
53
|
+
* request stage decides its query-free dispatch with this same function, so
|
|
54
|
+
* the dispatch and admission always see the same state.
|
|
55
|
+
*/
|
|
56
|
+
export declare function cacheabilityManifestPageState(manifest: CacheabilityManifest, route: {
|
|
57
|
+
kind: "app-page" | "pages-page";
|
|
58
|
+
pattern: string;
|
|
59
|
+
}, requestRepresentation: CacheabilityRepresentation, routePathname: string): CacheabilityManifestRouteState | null;
|
|
60
|
+
/**
|
|
61
|
+
* Project the manifest onto the Workers Cache request stage, which strips the
|
|
62
|
+
* query from App page dispatches whose manifest state is `static-candidate`.
|
|
63
|
+
* The projection keeps every App page route record that can resolve to that
|
|
64
|
+
* state, unchanged, so a lookup against it returns `static-candidate` exactly
|
|
65
|
+
* when the full manifest does. Every other route is left out.
|
|
66
|
+
*/
|
|
67
|
+
export declare function projectCacheabilityManifestForRequestStage(manifest: CacheabilityManifest): CacheabilityManifest;
|
|
68
|
+
//#endregion
|