veryfront 0.1.1239 → 0.1.1241
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/esm/cli/commands/build/command-help.d.ts.map +1 -1
- package/esm/cli/commands/build/command-help.js +4 -0
- package/esm/cli/commands/build/command.d.ts +3 -1
- package/esm/cli/commands/build/command.d.ts.map +1 -1
- package/esm/cli/commands/build/command.js +13 -5
- package/esm/cli/commands/build/handler.d.ts +17 -0
- package/esm/cli/commands/build/handler.d.ts.map +1 -1
- package/esm/cli/commands/build/handler.js +188 -9
- package/esm/cli/commands/generate/command.d.ts.map +1 -1
- package/esm/cli/commands/generate/command.js +40 -0
- package/esm/cli/commands/push/command.d.ts.map +1 -1
- package/esm/cli/commands/push/command.js +24 -16
- package/esm/cli/shared/ensure-content-processor.d.ts +16 -1
- package/esm/cli/shared/ensure-content-processor.d.ts.map +1 -1
- package/esm/cli/shared/ensure-content-processor.js +39 -5
- package/esm/cli/shared/project-creation.d.ts.map +1 -1
- package/esm/cli/shared/project-creation.js +29 -1
- package/esm/deno.d.ts +14 -5
- package/esm/deno.js +23 -7
- package/esm/extensions/ext-llm-openai/src/openai-chat-stream.d.ts.map +1 -1
- package/esm/extensions/ext-llm-openai/src/openai-chat-stream.js +16 -6
- package/esm/extensions/ext-llm-openai/src/openai-provider.d.ts.map +1 -1
- package/esm/extensions/ext-llm-openai/src/openai-provider.js +11 -2
- package/esm/extensions/ext-llm-openai/src/openai-reasoning-models.d.ts +2 -14
- package/esm/extensions/ext-llm-openai/src/openai-reasoning-models.d.ts.map +1 -1
- package/esm/extensions/ext-llm-openai/src/openai-reasoning-models.js +1 -72
- package/esm/extensions/ext-schema-zod/src/adapter.d.ts.map +1 -1
- package/esm/src/agent/ag-ui/browser-aliases.d.ts +164 -0
- package/esm/src/agent/ag-ui/browser-aliases.d.ts.map +1 -0
- package/esm/src/agent/ag-ui/browser-aliases.js +68 -0
- package/esm/src/agent/ag-ui/chat-ui-chunk-encoder.d.ts +35 -0
- package/esm/src/agent/ag-ui/chat-ui-chunk-encoder.d.ts.map +1 -0
- package/esm/src/agent/ag-ui/{chat-ui-chunk-browser-encoder.js → chat-ui-chunk-encoder.js} +11 -11
- package/esm/src/agent/ag-ui/chunk-encoder-bridge.d.ts +8 -6
- package/esm/src/agent/ag-ui/chunk-encoder-bridge.d.ts.map +1 -1
- package/esm/src/agent/ag-ui/chunk-encoder-bridge.js +5 -4
- package/esm/src/agent/ag-ui/chunk-encoder.d.ts +26 -0
- package/esm/src/agent/ag-ui/chunk-encoder.d.ts.map +1 -0
- package/esm/src/agent/ag-ui/{browser-chunk-encoder.js → chunk-encoder.js} +3 -2
- package/esm/src/agent/ag-ui/{browser-encoder.d.ts → encoder.d.ts} +33 -19
- package/esm/src/agent/ag-ui/encoder.d.ts.map +1 -0
- package/esm/src/agent/ag-ui/{browser-encoder.js → encoder.js} +81 -27
- package/esm/src/agent/ag-ui/finalize-tracker.d.ts +15 -0
- package/esm/src/agent/ag-ui/finalize-tracker.d.ts.map +1 -0
- package/esm/src/agent/ag-ui/{browser-finalize-tracker.js → finalize-tracker.js} +4 -4
- package/esm/src/agent/ag-ui/response-stream.d.ts +36 -0
- package/esm/src/agent/ag-ui/response-stream.d.ts.map +1 -0
- package/esm/src/agent/ag-ui/{browser-response-stream.js → response-stream.js} +6 -3
- package/esm/src/agent/ag-ui/runtime-chat-stream-encoder.d.ts +1 -1
- package/esm/src/agent/ag-ui/runtime-chat-stream-encoder.d.ts.map +1 -1
- package/esm/src/agent/ag-ui/runtime-event-encoder.d.ts +7 -7
- package/esm/src/agent/ag-ui/runtime-event-encoder.d.ts.map +1 -1
- package/esm/src/agent/ag-ui/runtime-event-encoder.js +4 -4
- package/esm/src/agent/ag-ui/runtime-response.d.ts +20 -0
- package/esm/src/agent/ag-ui/runtime-response.d.ts.map +1 -0
- package/esm/src/agent/ag-ui/runtime-response.js +16 -0
- package/esm/src/agent/ag-ui/sse-parser.d.ts +1 -1
- package/esm/src/agent/ag-ui/sse-parser.d.ts.map +1 -1
- package/esm/src/agent/ag-ui/sse-parser.js +3 -3
- package/esm/src/agent/ag-ui/tracked-response.d.ts +11 -0
- package/esm/src/agent/ag-ui/tracked-response.d.ts.map +1 -0
- package/esm/src/agent/ag-ui/{tracked-browser-response.js → tracked-response.js} +6 -4
- package/esm/src/agent/conversation/hosted-lifecycle.d.ts.map +1 -1
- package/esm/src/agent/conversation/hosted-lifecycle.js +2 -1
- package/esm/src/agent/conversation/lifecycle-run-event-adapter.d.ts.map +1 -1
- package/esm/src/agent/conversation/lifecycle-run-event-adapter.js +2 -0
- package/esm/src/agent/conversation/private-run-event.d.ts.map +1 -1
- package/esm/src/agent/conversation/private-run-event.js +174 -3
- package/esm/src/agent/conversation/run-chunk-mirror.d.ts +2 -0
- package/esm/src/agent/conversation/run-chunk-mirror.d.ts.map +1 -1
- package/esm/src/agent/conversation/run-chunk-mirror.js +13 -6
- package/esm/src/agent/conversation/run-events.d.ts +8 -0
- package/esm/src/agent/conversation/run-events.d.ts.map +1 -1
- package/esm/src/agent/conversation/run-events.js +54 -4
- package/esm/src/agent/conversation/run-stream-mirror.d.ts.map +1 -1
- package/esm/src/agent/conversation/run-stream-mirror.js +5 -2
- package/esm/src/agent/hosted/durable-run-event-sink.d.ts +2 -1
- package/esm/src/agent/hosted/durable-run-event-sink.d.ts.map +1 -1
- package/esm/src/agent/hosted/durable-run-event-sink.js +9 -7
- package/esm/src/agent/hosted/prepared-chat-execution.js +2 -2
- package/esm/src/agent/index.d.ts +9 -8
- package/esm/src/agent/index.d.ts.map +1 -1
- package/esm/src/agent/index.js +9 -8
- package/esm/src/agent/memory/memory.d.ts.map +1 -1
- package/esm/src/agent/memory/memory.js +7 -6
- package/esm/src/agent/react/use-chat/types.d.ts +2 -0
- package/esm/src/agent/react/use-chat/types.d.ts.map +1 -1
- package/esm/src/agent/react/use-chat/use-chat.js +3 -2
- package/esm/src/agent/runtime/ag-ui-contract.d.ts +2 -2
- package/esm/src/agent/runtime/ag-ui-contract.d.ts.map +1 -1
- package/esm/src/agent/runtime/ag-ui-contract.js +2 -2
- package/esm/src/agent/runtime/chat-stream-handler.d.ts.map +1 -1
- package/esm/src/agent/runtime/chat-stream-handler.js +34 -4
- package/esm/src/agent/runtime/index.d.ts.map +1 -1
- package/esm/src/agent/runtime/index.js +15 -6
- package/esm/src/agent/streaming/data-stream.d.ts +1 -1
- package/esm/src/agent/streaming/data-stream.d.ts.map +1 -1
- package/esm/src/agent/streaming/fork-runtime-part-mapper.d.ts +1 -1
- package/esm/src/agent/streaming/fork-runtime-part-mapper.d.ts.map +1 -1
- package/esm/src/agent/streaming/lifecycle/live-adapter.d.ts.map +1 -1
- package/esm/src/agent/streaming/lifecycle/live-adapter.js +2 -0
- package/esm/src/agent/streaming/lifecycle/reducer.d.ts.map +1 -1
- package/esm/src/agent/streaming/lifecycle/reducer.js +7 -0
- package/esm/src/agent/streaming/lifecycle/runtime-provider-adapter.js +4 -0
- package/esm/src/build/production-build/templates.d.ts.map +1 -1
- package/esm/src/build/production-build/templates.js +1 -1
- package/esm/src/cache/request-cache-batcher.d.ts +1 -0
- package/esm/src/cache/request-cache-batcher.d.ts.map +1 -1
- package/esm/src/cache/request-cache-batcher.js +21 -7
- package/esm/src/chat/ag-ui.d.ts +1 -1
- package/esm/src/chat/index.d.ts +2 -2
- package/esm/src/chat/index.d.ts.map +1 -1
- package/esm/src/chat/index.js +1 -1
- package/esm/src/config/config-shim.d.ts +1 -1
- package/esm/src/config/config-shim.d.ts.map +1 -1
- package/esm/src/config/config-shim.js +1 -1
- package/esm/src/config/declarative-evaluator-worker-protocol.d.ts.map +1 -1
- package/esm/src/config/env.js +1 -1
- package/esm/src/config/environment-config.js +1 -1
- package/esm/src/config/loader.d.ts.map +1 -1
- package/esm/src/config/loader.js +4 -4
- package/esm/src/config/schemas/config.schema.d.ts +20 -0
- package/esm/src/config/schemas/config.schema.d.ts.map +1 -1
- package/esm/src/config/schemas/config.schema.js +27 -0
- package/esm/src/config/server-external-packages.d.ts +11 -0
- package/esm/src/config/server-external-packages.d.ts.map +1 -0
- package/esm/src/config/server-external-packages.js +53 -0
- package/esm/src/data/data-fetcher.d.ts.map +1 -1
- package/esm/src/data/data-fetcher.js +9 -4
- package/esm/src/data/data-result-validation.d.ts +5 -0
- package/esm/src/data/data-result-validation.d.ts.map +1 -0
- package/esm/src/data/data-result-validation.js +56 -0
- package/esm/src/data/helpers.d.ts +5 -5
- package/esm/src/data/helpers.d.ts.map +1 -1
- package/esm/src/data/helpers.js +22 -68
- package/esm/src/data/index.d.ts +1 -1
- package/esm/src/data/index.d.ts.map +1 -1
- package/esm/src/data/response-metadata.d.ts +23 -0
- package/esm/src/data/response-metadata.d.ts.map +1 -0
- package/esm/src/data/response-metadata.js +311 -0
- package/esm/src/data/schemas/data.schema.d.ts +95 -6
- package/esm/src/data/schemas/data.schema.d.ts.map +1 -1
- package/esm/src/data/schemas/data.schema.js +57 -3
- package/esm/src/data/schemas/index.d.ts +1 -1
- package/esm/src/data/schemas/index.d.ts.map +1 -1
- package/esm/src/data/schemas/index.js +1 -1
- package/esm/src/data/server-data-fetcher.d.ts.map +1 -1
- package/esm/src/data/server-data-fetcher.js +5 -5
- package/esm/src/data/static-data-fetcher.d.ts +2 -2
- package/esm/src/data/static-data-fetcher.d.ts.map +1 -1
- package/esm/src/data/static-data-fetcher.js +6 -3
- package/esm/src/data/types.d.ts +1 -1
- package/esm/src/data/types.d.ts.map +1 -1
- package/esm/src/discovery/discovery-engine.d.ts.map +1 -1
- package/esm/src/discovery/discovery-engine.js +81 -26
- package/esm/src/discovery/handlers/task-handler.d.ts +1 -1
- package/esm/src/discovery/handlers/task-handler.d.ts.map +1 -1
- package/esm/src/discovery/handlers/task-handler.js +6 -3
- package/esm/src/discovery/types.d.ts +6 -4
- package/esm/src/discovery/types.d.ts.map +1 -1
- package/esm/src/errors/error-registry/runtime.d.ts +2 -0
- package/esm/src/errors/error-registry/runtime.d.ts.map +1 -1
- package/esm/src/errors/error-registry/runtime.js +8 -0
- package/esm/src/errors/error-registry.d.ts +1 -0
- package/esm/src/errors/error-registry.d.ts.map +1 -1
- package/esm/src/errors/index.d.ts +1 -1
- package/esm/src/errors/index.d.ts.map +1 -1
- package/esm/src/errors/index.js +1 -1
- package/esm/src/errors/user-friendly/error-wrapper.js +1 -1
- package/esm/src/errors/veryfront-error.d.ts.map +1 -1
- package/esm/src/extensions/index.d.ts +2 -0
- package/esm/src/extensions/index.d.ts.map +1 -1
- package/esm/src/extensions/index.js +1 -0
- package/esm/src/extensions/parser/code-parser.d.ts +9 -0
- package/esm/src/extensions/parser/code-parser.d.ts.map +1 -1
- package/esm/src/extensions/parser/defaults.d.ts +5 -0
- package/esm/src/extensions/parser/defaults.d.ts.map +1 -1
- package/esm/src/extensions/parser/defaults.js +23 -11
- package/esm/src/fs/index.d.ts +50 -1
- package/esm/src/fs/index.d.ts.map +1 -1
- package/esm/src/fs/index.js +50 -1
- package/esm/src/html/html-injection.d.ts +2 -0
- package/esm/src/html/html-injection.d.ts.map +1 -1
- package/esm/src/html/html-injection.js +4 -1
- package/esm/src/html/html-shell-generator.d.ts.map +1 -1
- package/esm/src/html/html-shell-generator.js +11 -3
- package/esm/src/html/hydration-script-builder/hydration-runtime.generated.d.ts.map +1 -1
- package/esm/src/html/hydration-script-builder/hydration-runtime.generated.js +1 -1
- package/esm/src/html/hydration-script-builder/prod-runtime-selection.d.ts +23 -0
- package/esm/src/html/hydration-script-builder/prod-runtime-selection.d.ts.map +1 -0
- package/esm/src/html/hydration-script-builder/prod-runtime-selection.js +55 -0
- package/esm/src/html/hydration-script-builder/prod-scripts.d.ts +2 -0
- package/esm/src/html/hydration-script-builder/prod-scripts.d.ts.map +1 -1
- package/esm/src/html/hydration-script-builder/prod-scripts.js +12 -3
- package/esm/src/html/schemas/html.schema.d.ts +2 -0
- package/esm/src/html/schemas/html.schema.d.ts.map +1 -1
- package/esm/src/html/schemas/html.schema.js +2 -0
- package/esm/src/html/styles-builder/css-hash-cache.d.ts +1 -1
- package/esm/src/html/styles-builder/css-hash-cache.d.ts.map +1 -1
- package/esm/src/html/styles-builder/css-hash-cache.js +1 -1
- package/esm/src/index.client.d.ts +2 -2
- package/esm/src/index.client.d.ts.map +1 -1
- package/esm/src/index.client.js +3 -1
- package/esm/src/index.d.ts +1 -1
- package/esm/src/index.d.ts.map +1 -1
- package/esm/src/internal-agents/ag-ui-sse.d.ts +7 -7
- package/esm/src/internal-agents/ag-ui-sse.d.ts.map +1 -1
- package/esm/src/internal-agents/ag-ui-sse.js +17 -9
- package/esm/src/internal-agents/control-plane-auth.js +1 -1
- package/esm/src/internal-agents/run-stream.d.ts.map +1 -1
- package/esm/src/internal-agents/run-stream.js +15 -9
- package/esm/src/modules/import-map/loader.d.ts.map +1 -1
- package/esm/src/modules/import-map/loader.js +2 -2
- package/esm/src/modules/import-map/merger.js +2 -2
- package/esm/src/modules/import-map/preloader.js +2 -2
- package/esm/src/modules/react-loader/component-loader.d.ts.map +1 -1
- package/esm/src/modules/react-loader/component-loader.js +2 -0
- package/esm/src/modules/react-loader/ssr-module-loader/loader.d.ts +1 -1
- package/esm/src/modules/react-loader/ssr-module-loader/loader.d.ts.map +1 -1
- package/esm/src/modules/react-loader/ssr-module-loader/loader.js +3 -2
- package/esm/src/modules/react-loader/ssr-module-loader/ssr-cache-manager.d.ts.map +1 -1
- package/esm/src/modules/react-loader/ssr-module-loader/ssr-cache-manager.js +7 -1
- package/esm/src/modules/react-loader/ssr-module-loader/types.d.ts +2 -0
- package/esm/src/modules/react-loader/ssr-module-loader/types.d.ts.map +1 -1
- package/esm/src/modules/react-loader/transformed-module-coordinator.d.ts.map +1 -1
- package/esm/src/modules/react-loader/transformed-module-coordinator.js +2 -1
- package/esm/src/modules/react-loader/types.d.ts +2 -0
- package/esm/src/modules/react-loader/types.d.ts.map +1 -1
- package/esm/src/modules/server/module-response-cache.d.ts +1 -0
- package/esm/src/modules/server/module-response-cache.d.ts.map +1 -1
- package/esm/src/modules/server/module-response-cache.js +5 -0
- package/esm/src/modules/server/module-server.d.ts.map +1 -1
- package/esm/src/modules/server/module-server.js +4 -0
- package/esm/src/modules/server/module-transform.d.ts.map +1 -1
- package/esm/src/modules/server/module-transform.js +2 -0
- package/esm/src/observability/metrics/config.js +1 -1
- package/esm/src/observability/request-profiler.js +1 -1
- package/esm/src/observability/telemetry-error.js +2 -2
- package/esm/src/observability/tracing/telemetry-env.js +1 -1
- package/esm/src/platform/adapters/fs/cache/file-cache.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/cache/file-cache.js +5 -0
- package/esm/src/platform/adapters/fs/veryfront/adapter.d.ts +39 -0
- package/esm/src/platform/adapters/fs/veryfront/adapter.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/adapter.js +209 -40
- package/esm/src/platform/adapters/fs/veryfront/file-list-index.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/file-list-index.js +0 -14
- package/esm/src/platform/adapters/fs/veryfront/read-operations-helpers.d.ts +0 -1
- package/esm/src/platform/adapters/fs/veryfront/read-operations-helpers.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/read-operations-helpers.js +0 -3
- package/esm/src/platform/adapters/fs/veryfront/read-operations.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/read-operations.js +1 -4
- package/esm/src/platform/adapters/fs/veryfront/request-context.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/request-context.js +4 -0
- package/esm/src/platform/adapters/fs/veryfront/stat-operations.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/stat-operations.js +9 -1
- package/esm/src/platform/adapters/fs/veryfront/websocket-manager-helpers.js +1 -1
- package/esm/src/platform/adapters/fs/veryfront/websocket-manager.d.ts +2 -1
- package/esm/src/platform/adapters/fs/veryfront/websocket-manager.d.ts.map +1 -1
- package/esm/src/platform/adapters/fs/veryfront/websocket-manager.js +97 -66
- package/esm/src/platform/compat/dns.d.ts +10 -0
- package/esm/src/platform/compat/dns.d.ts.map +1 -1
- package/esm/src/platform/compat/dns.js +50 -0
- package/esm/src/platform/compat/http/pinned-fetch.d.ts +1 -1
- package/esm/src/platform/compat/process/lifecycle.d.ts +10 -0
- package/esm/src/platform/compat/process/lifecycle.d.ts.map +1 -1
- package/esm/src/platform/compat/process/lifecycle.js +23 -0
- package/esm/src/platform/compat/process.d.ts +1 -1
- package/esm/src/platform/compat/process.d.ts.map +1 -1
- package/esm/src/platform/compat/process.js +1 -1
- package/esm/src/platform/compat/proxy-topology.js +1 -1
- package/esm/src/platform/request-context-access.d.ts +24 -0
- package/esm/src/platform/request-context-access.d.ts.map +1 -0
- package/esm/src/platform/request-context-access.js +26 -0
- package/esm/src/provider/shared/openai-reasoning.d.ts +16 -0
- package/esm/src/provider/shared/openai-reasoning.d.ts.map +1 -0
- package/esm/src/provider/shared/openai-reasoning.js +73 -0
- package/esm/src/provider/types.d.ts +2 -0
- package/esm/src/provider/types.d.ts.map +1 -1
- package/esm/src/provider/veryfront-cloud/provider.d.ts.map +1 -1
- package/esm/src/provider/veryfront-cloud/provider.js +45 -18
- package/esm/src/proxy/handler.d.ts +1 -0
- package/esm/src/proxy/handler.d.ts.map +1 -1
- package/esm/src/proxy/handler.js +17 -4
- package/esm/src/proxy/proxy-error-context.d.ts +1 -0
- package/esm/src/proxy/proxy-error-context.d.ts.map +1 -1
- package/esm/src/proxy/proxy-error-context.js +1 -0
- package/esm/src/proxy/request-host.d.ts +3 -0
- package/esm/src/proxy/request-host.d.ts.map +1 -1
- package/esm/src/proxy/request-host.js +28 -8
- package/esm/src/proxy/routing-invalidation-redis.d.ts.map +1 -1
- package/esm/src/proxy/routing-invalidation-redis.js +38 -4
- package/esm/src/react/components/chat/chat/components/attachments-panel.d.ts +27 -3
- package/esm/src/react/components/chat/chat/components/attachments-panel.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/attachments-panel.js +29 -7
- package/esm/src/react/components/chat/chat/components/sidebar.d.ts +15 -6
- package/esm/src/react/components/chat/chat/components/sidebar.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/components/sidebar.js +37 -4
- package/esm/src/react/components/chat/chat/components/sidebar.types.d.ts +12 -1
- package/esm/src/react/components/chat/chat/components/sidebar.types.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/chat-composer.d.ts +3 -1
- package/esm/src/react/components/chat/chat/composition/chat-composer.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/chat-composer.js +17 -6
- package/esm/src/react/components/chat/chat/composition/chat-composer.types.d.ts +12 -5
- package/esm/src/react/components/chat/chat/composition/chat-composer.types.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/chat-root.d.ts +18 -5
- package/esm/src/react/components/chat/chat/composition/chat-root.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/chat-root.js +65 -1
- package/esm/src/react/components/chat/chat/composition/use-composer-value.d.ts +6 -3
- package/esm/src/react/components/chat/chat/composition/use-composer-value.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/composition/use-composer-value.js +56 -5
- package/esm/src/react/components/chat/chat/contexts/chat-context.d.ts +7 -1
- package/esm/src/react/components/chat/chat/contexts/chat-context.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/contexts/conversations-context.d.ts +14 -4
- package/esm/src/react/components/chat/chat/contexts/conversations-context.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/contexts/conversations-context.js +10 -1
- package/esm/src/react/components/chat/chat/index.d.ts +1 -1
- package/esm/src/react/components/chat/chat/index.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat/persistence/conversation-codec.d.ts.map +1 -1
- package/esm/src/react/components/chat/chat.d.ts +1 -1
- package/esm/src/react/components/chat/chat.d.ts.map +1 -1
- package/esm/src/react/server-render-context.d.ts.map +1 -1
- package/esm/src/release-assets/dependency-artifact-builder.d.ts.map +1 -1
- package/esm/src/rendering/app-reserved.d.ts +2 -2
- package/esm/src/rendering/app-reserved.d.ts.map +1 -1
- package/esm/src/rendering/app-reserved.js +4 -3
- package/esm/src/rendering/cache/cache-coordinator.d.ts.map +1 -1
- package/esm/src/rendering/cache/cache-coordinator.js +1 -0
- package/esm/src/rendering/cache/cache-payload.d.ts.map +1 -1
- package/esm/src/rendering/cache/cache-payload.js +44 -0
- package/esm/src/rendering/component-handling.d.ts +4 -1
- package/esm/src/rendering/component-handling.d.ts.map +1 -1
- package/esm/src/rendering/component-handling.js +13 -6
- package/esm/src/rendering/layouts/layout-applicator.d.ts.map +1 -1
- package/esm/src/rendering/layouts/layout-applicator.js +3 -1
- package/esm/src/rendering/layouts/layout-collector.d.ts +1 -0
- package/esm/src/rendering/layouts/layout-collector.d.ts.map +1 -1
- package/esm/src/rendering/layouts/layout-collector.js +201 -4
- package/esm/src/rendering/layouts/utils/applicator.d.ts +1 -1
- package/esm/src/rendering/layouts/utils/applicator.d.ts.map +1 -1
- package/esm/src/rendering/layouts/utils/applicator.js +3 -3
- package/esm/src/rendering/layouts/utils/component-loader.d.ts +2 -2
- package/esm/src/rendering/layouts/utils/component-loader.d.ts.map +1 -1
- package/esm/src/rendering/layouts/utils/component-loader.js +12 -4
- package/esm/src/rendering/orchestrator/file-resolver/index.d.ts +3 -1
- package/esm/src/rendering/orchestrator/file-resolver/index.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/file-resolver/index.js +13 -5
- package/esm/src/rendering/orchestrator/html.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/html.js +26 -10
- package/esm/src/rendering/orchestrator/layout.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/layout.js +2 -2
- package/esm/src/rendering/orchestrator/module-loader/dependency-resolver.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/module-loader/dependency-resolver.js +20 -2
- package/esm/src/rendering/orchestrator/module-loader/index.d.ts +2 -0
- package/esm/src/rendering/orchestrator/module-loader/index.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/module-loader/index.js +6 -3
- package/esm/src/rendering/orchestrator/module-loader/module-cache-lookup.d.ts +3 -2
- package/esm/src/rendering/orchestrator/module-loader/module-cache-lookup.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/module-loader/module-cache-lookup.js +6 -6
- package/esm/src/rendering/orchestrator/module-loader/module-persistence.d.ts +1 -0
- package/esm/src/rendering/orchestrator/module-loader/module-persistence.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/module-loader/module-persistence.js +2 -2
- package/esm/src/rendering/orchestrator/module-loader/module-transform-cache.d.ts +2 -0
- package/esm/src/rendering/orchestrator/module-loader/module-transform-cache.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/module-loader/module-transform-cache.js +7 -1
- package/esm/src/rendering/orchestrator/pipeline.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/pipeline.js +58 -10
- package/esm/src/rendering/orchestrator/render-result-assembly.d.ts +3 -0
- package/esm/src/rendering/orchestrator/render-result-assembly.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/render-result-assembly.js +3 -1
- package/esm/src/rendering/page-renderer.d.ts +2 -0
- package/esm/src/rendering/page-renderer.d.ts.map +1 -1
- package/esm/src/rendering/page-renderer.js +4 -1
- package/esm/src/rendering/page-rendering.d.ts +2 -0
- package/esm/src/rendering/page-rendering.d.ts.map +1 -1
- package/esm/src/rendering/page-rendering.js +1 -0
- package/esm/src/rendering/renderer.d.ts.map +1 -1
- package/esm/src/rendering/renderer.js +31 -1
- package/esm/src/rendering/script-page-handling.d.ts +2 -0
- package/esm/src/rendering/script-page-handling.d.ts.map +1 -1
- package/esm/src/rendering/script-page-handling.js +17 -1
- package/esm/src/rendering/shared/context-aware-cache.d.ts.map +1 -1
- package/esm/src/rendering/shared/context-aware-cache.js +3 -0
- package/esm/src/rendering/snippet-renderer.d.ts +10 -0
- package/esm/src/rendering/snippet-renderer.d.ts.map +1 -1
- package/esm/src/rendering/snippet-renderer.js +40 -18
- package/esm/src/rendering/ssr/component-registry.d.ts +1 -1
- package/esm/src/rendering/ssr/component-registry.d.ts.map +1 -1
- package/esm/src/rendering/ssr/component-registry.js +13 -6
- package/esm/src/rendering/ssr-outcome.d.ts +4 -3
- package/esm/src/rendering/ssr-outcome.d.ts.map +1 -1
- package/esm/src/rendering/ssr-outcome.js +25 -8
- package/esm/src/routing/api/handler.d.ts +1 -1
- package/esm/src/routing/api/handler.d.ts.map +1 -1
- package/esm/src/routing/api/handler.js +6 -1
- package/esm/src/runtime/model-call-context.d.ts +37 -2
- package/esm/src/runtime/model-call-context.d.ts.map +1 -1
- package/esm/src/runtime/model-call-context.js +42 -1
- package/esm/src/runtime/runtime-bridge.d.ts.map +1 -1
- package/esm/src/runtime/runtime-bridge.js +108 -8
- package/esm/src/sandbox/shell-tools.d.ts.map +1 -1
- package/esm/src/sandbox/shell-tools.js +16 -6
- package/esm/src/schedule/validation.d.ts +9 -1
- package/esm/src/schedule/validation.d.ts.map +1 -1
- package/esm/src/schedule/validation.js +167 -80
- package/esm/src/schemas/json-value.d.ts.map +1 -1
- package/esm/src/schemas/json-value.js +81 -37
- package/esm/src/security/http/base-handler.js +1 -1
- package/esm/src/security/sandbox/project-worker.d.ts +1 -0
- package/esm/src/security/sandbox/project-worker.d.ts.map +1 -1
- package/esm/src/security/sandbox/project-worker.js +6 -0
- package/esm/src/security/sandbox/worker-read-scope.d.ts +20 -0
- package/esm/src/security/sandbox/worker-read-scope.d.ts.map +1 -0
- package/esm/src/security/sandbox/worker-read-scope.js +127 -0
- package/esm/src/security/sandbox/worker-types.d.ts +12 -0
- package/esm/src/security/sandbox/worker-types.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/dashboard/api.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/dashboard/api.js +70 -3
- package/esm/src/server/handlers/dev/files/esbuild-plugins.d.ts +5 -0
- package/esm/src/server/handlers/dev/files/esbuild-plugins.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/files/esbuild-plugins.js +61 -3
- package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts.map +1 -1
- package/esm/src/server/handlers/dev/framework-candidates.generated.js +227 -29
- package/esm/src/server/handlers/request/api/pages-api-handler.d.ts.map +1 -1
- package/esm/src/server/handlers/request/api/pages-api-handler.js +20 -2
- package/esm/src/server/handlers/request/module/page-data-endpoint-handler.d.ts.map +1 -1
- package/esm/src/server/handlers/request/module/page-data-endpoint-handler.js +32 -15
- package/esm/src/server/handlers/request/prod-hydration-module.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/request/prod-hydration-module.handler.js +10 -3
- package/esm/src/server/handlers/request/project-run-execute.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/request/project-run-execute.handler.js +1 -0
- package/esm/src/server/handlers/request/snippet.handler.d.ts +6 -0
- package/esm/src/server/handlers/request/snippet.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/request/snippet.handler.js +8 -1
- package/esm/src/server/handlers/request/ssr/error-page-fallback.js +1 -0
- package/esm/src/server/handlers/request/ssr/ssr-response-builder.d.ts.map +1 -1
- package/esm/src/server/handlers/request/ssr/ssr-response-builder.js +10 -6
- package/esm/src/server/handlers/request/ssr/ssr.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/request/ssr/ssr.handler.js +22 -10
- package/esm/src/server/handlers/request/static.handler.d.ts.map +1 -1
- package/esm/src/server/handlers/request/static.handler.js +1 -0
- package/esm/src/server/runtime-handler/handler-context-builder.d.ts +2 -0
- package/esm/src/server/runtime-handler/handler-context-builder.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/handler-context-builder.js +1 -0
- package/esm/src/server/runtime-handler/project-runtime-context.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/project-runtime-context.js +6 -2
- package/esm/src/server/runtime-handler/request-tracker.d.ts.map +1 -1
- package/esm/src/server/runtime-handler/request-tracker.js +10 -3
- package/esm/src/server/services/rendering/ssr.service.d.ts +5 -0
- package/esm/src/server/services/rendering/ssr.service.d.ts.map +1 -1
- package/esm/src/server/services/rendering/ssr.service.js +71 -16
- package/esm/src/server/services/rsc/endpoints/rsc-bundles.generated.d.ts.map +1 -1
- package/esm/src/server/services/rsc/endpoints/rsc-bundles.generated.js +2 -2
- package/esm/src/server/services/rsc/orchestrators/handler.d.ts.map +1 -1
- package/esm/src/server/services/rsc/orchestrators/handler.js +1 -0
- package/esm/src/server/services/rsc/orchestrators/render-handler.d.ts +1 -0
- package/esm/src/server/services/rsc/orchestrators/render-handler.d.ts.map +1 -1
- package/esm/src/server/services/rsc/orchestrators/render-handler.js +2 -0
- package/esm/src/server/services/static/static-file.service.d.ts +4 -1
- package/esm/src/server/services/static/static-file.service.d.ts.map +1 -1
- package/esm/src/server/services/static/static-file.service.js +48 -22
- package/esm/src/server/shared/browser-module-bundler.d.ts.map +1 -1
- package/esm/src/server/shared/browser-module-bundler.js +10 -0
- package/esm/src/server/utils/request-host.d.ts +6 -0
- package/esm/src/server/utils/request-host.d.ts.map +1 -1
- package/esm/src/server/utils/request-host.js +42 -1
- package/esm/src/skill/tools.d.ts.map +1 -1
- package/esm/src/task/definition-snapshot.d.ts +8 -0
- package/esm/src/task/definition-snapshot.d.ts.map +1 -0
- package/esm/src/task/definition-snapshot.js +154 -0
- package/esm/src/task/discovery.d.ts.map +1 -1
- package/esm/src/task/discovery.js +47 -21
- package/esm/src/task/types.d.ts +3 -0
- package/esm/src/task/types.d.ts.map +1 -1
- package/esm/src/task/types.js +7 -16
- package/esm/src/tool/remote-mcp.d.ts.map +1 -1
- package/esm/src/tool/remote-mcp.js +86 -5
- package/esm/src/transforms/esm/bundle-recovery.d.ts.map +1 -1
- package/esm/src/transforms/esm/bundle-recovery.js +1 -0
- package/esm/src/transforms/esm/http-cache-helpers.d.ts +3 -1
- package/esm/src/transforms/esm/http-cache-helpers.d.ts.map +1 -1
- package/esm/src/transforms/esm/http-cache-helpers.js +18 -2
- package/esm/src/transforms/esm/http-cache-wrapper.d.ts.map +1 -1
- package/esm/src/transforms/esm/http-cache-wrapper.js +23 -0
- package/esm/src/transforms/esm/specifier-resolver.d.ts.map +1 -1
- package/esm/src/transforms/esm/specifier-resolver.js +2 -1
- package/esm/src/transforms/esm/types.d.ts +2 -0
- package/esm/src/transforms/esm/types.d.ts.map +1 -1
- package/esm/src/transforms/import-rewriter/commonjs-policy.d.ts +22 -0
- package/esm/src/transforms/import-rewriter/commonjs-policy.d.ts.map +1 -0
- package/esm/src/transforms/import-rewriter/commonjs-policy.js +75 -0
- package/esm/src/transforms/import-rewriter/core.d.ts.map +1 -1
- package/esm/src/transforms/import-rewriter/core.js +29 -1
- package/esm/src/transforms/import-rewriter/ssr-adapter.d.ts +2 -0
- package/esm/src/transforms/import-rewriter/ssr-adapter.d.ts.map +1 -1
- package/esm/src/transforms/import-rewriter/ssr-adapter.js +79 -10
- package/esm/src/transforms/import-rewriter/strategies/bare-strategy.d.ts.map +1 -1
- package/esm/src/transforms/import-rewriter/strategies/bare-strategy.js +14 -4
- package/esm/src/transforms/import-rewriter/types.d.ts +2 -0
- package/esm/src/transforms/import-rewriter/types.d.ts.map +1 -1
- package/esm/src/transforms/import-rewriter/url-builder.d.ts +2 -19
- package/esm/src/transforms/import-rewriter/url-builder.d.ts.map +1 -1
- package/esm/src/transforms/import-rewriter/url-builder.js +2 -67
- package/esm/src/transforms/mdx/esm-module-loader/import-transformer.d.ts +3 -2
- package/esm/src/transforms/mdx/esm-module-loader/import-transformer.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/import-transformer.js +39 -8
- package/esm/src/transforms/mdx/esm-module-loader/jsx/runtime-loader.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/jsx/runtime-loader.js +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/loader-helpers.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/loader-helpers.js +1 -0
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/cache-keys.d.ts +3 -3
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/cache-keys.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/cache-keys.js +14 -6
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/distributed-cache.d.ts +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/distributed-cache.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/distributed-cache.js +2 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/http-fallback.d.ts +1 -0
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/http-fallback.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/http-fallback.js +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/index.d.ts +1 -0
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/index.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/index.js +6 -3
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/module-cache.d.ts +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/module-cache.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/module-cache.js +2 -2
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/persistence.d.ts +1 -0
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/persistence.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/persistence.js +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/source-transform.d.ts +1 -0
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/source-transform.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-fetcher/source-transform.js +2 -0
- package/esm/src/transforms/mdx/esm-module-loader/module-writer.d.ts +2 -2
- package/esm/src/transforms/mdx/esm-module-loader/module-writer.d.ts.map +1 -1
- package/esm/src/transforms/mdx/esm-module-loader/module-writer.js +15 -7
- package/esm/src/transforms/mdx/esm-module-loader/types.d.ts +4 -0
- package/esm/src/transforms/mdx/esm-module-loader/types.d.ts.map +1 -1
- package/esm/src/transforms/mdx/index.d.ts +1 -0
- package/esm/src/transforms/mdx/index.d.ts.map +1 -1
- package/esm/src/transforms/mdx/index.js +2 -1
- package/esm/src/transforms/pipeline/cache-identity.d.ts +1 -0
- package/esm/src/transforms/pipeline/cache-identity.d.ts.map +1 -1
- package/esm/src/transforms/pipeline/cache-identity.js +15 -0
- package/esm/src/transforms/pipeline/context.d.ts.map +1 -1
- package/esm/src/transforms/pipeline/context.js +2 -0
- package/esm/src/transforms/pipeline/index.d.ts.map +1 -1
- package/esm/src/transforms/pipeline/index.js +1 -0
- package/esm/src/transforms/pipeline/stages/resolve-imports.d.ts.map +1 -1
- package/esm/src/transforms/pipeline/stages/resolve-imports.js +1 -0
- package/esm/src/transforms/pipeline/stages/ssr-http-cache.d.ts.map +1 -1
- package/esm/src/transforms/pipeline/stages/ssr-http-cache.js +1 -0
- package/esm/src/transforms/pipeline/types.d.ts +4 -0
- package/esm/src/transforms/pipeline/types.d.ts.map +1 -1
- package/esm/src/transforms/shared/esm-sh-specifier.d.ts +18 -0
- package/esm/src/transforms/shared/esm-sh-specifier.d.ts.map +1 -0
- package/esm/src/transforms/shared/esm-sh-specifier.js +253 -0
- package/esm/src/transforms/shared/package-specifier.d.ts.map +1 -1
- package/esm/src/transforms/shared/package-specifier.js +9 -2
- package/esm/src/transforms/shared/server-only-packages.d.ts +25 -1
- package/esm/src/transforms/shared/server-only-packages.d.ts.map +1 -1
- package/esm/src/transforms/shared/server-only-packages.js +176 -4
- package/esm/src/types/entities/getEntityInfo.d.ts.map +1 -1
- package/esm/src/types/index.d.ts +5 -0
- package/esm/src/types/index.d.ts.map +1 -1
- package/esm/src/types/server.d.ts +6 -0
- package/esm/src/types/server.d.ts.map +1 -1
- package/esm/src/utils/env-loader.d.ts.map +1 -1
- package/esm/src/utils/env-loader.js +2 -1
- package/esm/src/utils/feature-flags.js +1 -1
- package/esm/src/utils/lru-wrapper.js +2 -2
- package/esm/src/utils/memory/profiler.d.ts +20 -0
- package/esm/src/utils/memory/profiler.d.ts.map +1 -1
- package/esm/src/utils/memory/profiler.js +43 -5
- package/esm/src/utils/perf-timer.js +1 -1
- package/esm/src/utils/redirect-policy.d.ts +18 -0
- package/esm/src/utils/redirect-policy.d.ts.map +1 -0
- package/esm/src/utils/redirect-policy.js +92 -0
- package/esm/src/utils/redis-client.d.ts.map +1 -1
- package/esm/src/utils/redis-client.js +6 -3
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/esm/src/workflow/claude-code/tool.d.ts +27 -27
- package/esm/src/workflow/claude-code/tool.d.ts.map +1 -1
- package/esm/src/workflow/claude-code/wire-protocol.d.ts.map +1 -1
- package/esm/src/workflow/dsl/workflow.d.ts +3 -0
- package/esm/src/workflow/dsl/workflow.d.ts.map +1 -1
- package/esm/src/workflow/dsl/workflow.js +2 -1
- package/esm/src/workflow/executor/workflow-definition-snapshot.d.ts.map +1 -1
- package/esm/src/workflow/executor/workflow-definition-snapshot.js +88 -39
- package/esm/src/workflow/registry.d.ts +4 -1
- package/esm/src/workflow/registry.d.ts.map +1 -1
- package/esm/src/workflow/registry.js +10 -8
- package/esm/src/workflow/types.d.ts +3 -0
- package/esm/src/workflow/types.d.ts.map +1 -1
- package/esm/templates/index.d.ts.map +1 -1
- package/esm/templates/index.js +7 -0
- package/esm/templates/manifest.generated.d.ts.map +1 -1
- package/esm/templates/manifest.generated.js +1 -1
- package/package.json +16 -9
- package/esm/src/agent/ag-ui/browser-chunk-encoder.d.ts +0 -24
- package/esm/src/agent/ag-ui/browser-chunk-encoder.d.ts.map +0 -1
- package/esm/src/agent/ag-ui/browser-encoder.d.ts.map +0 -1
- package/esm/src/agent/ag-ui/browser-finalize-tracker.d.ts +0 -15
- package/esm/src/agent/ag-ui/browser-finalize-tracker.d.ts.map +0 -1
- package/esm/src/agent/ag-ui/browser-response-stream.d.ts +0 -33
- package/esm/src/agent/ag-ui/browser-response-stream.d.ts.map +0 -1
- package/esm/src/agent/ag-ui/chat-ui-chunk-browser-encoder.d.ts +0 -35
- package/esm/src/agent/ag-ui/chat-ui-chunk-browser-encoder.d.ts.map +0 -1
- package/esm/src/agent/ag-ui/runtime-browser-response.d.ts +0 -20
- package/esm/src/agent/ag-ui/runtime-browser-response.d.ts.map +0 -1
- package/esm/src/agent/ag-ui/runtime-browser-response.js +0 -16
- package/esm/src/agent/ag-ui/tracked-browser-response.d.ts +0 -11
- package/esm/src/agent/ag-ui/tracked-browser-response.d.ts.map +0 -1
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
import { HTTP_TOKEN_PATTERN } from "../utils/cors-policy-limits.js";
|
|
2
|
+
const MAX_RESPONSE_HEADER_COUNT = 64;
|
|
3
|
+
const MAX_RESPONSE_HEADER_NAME_LENGTH = 256;
|
|
4
|
+
const MAX_RESPONSE_HEADER_VALUE_LENGTH = 8_192;
|
|
5
|
+
const MAX_RESPONSE_COOKIE_COUNT = 64;
|
|
6
|
+
const MAX_RESPONSE_COOKIE_VALUE_LENGTH = 4_096;
|
|
7
|
+
const MAX_SERIALIZED_RESPONSE_COOKIE_LENGTH = 8_192;
|
|
8
|
+
const objectEntries = Object.entries;
|
|
9
|
+
const objectKeys = Object.keys;
|
|
10
|
+
const getPrototypeOf = Object.getPrototypeOf;
|
|
11
|
+
const numberIsSafeInteger = Number.isSafeInteger;
|
|
12
|
+
const encodeCookieValue = encodeURIComponent;
|
|
13
|
+
const regexpTest = RegExp.prototype.test;
|
|
14
|
+
const reflectApply = Reflect.apply;
|
|
15
|
+
const stringCharCodeAt = String.prototype.charCodeAt;
|
|
16
|
+
const attachedResponseMetadata = new WeakMap();
|
|
17
|
+
const responseMetadataErrorCauses = new WeakMap();
|
|
18
|
+
const FRAMEWORK_OWNED_RESPONSE_HEADERS = new Set([
|
|
19
|
+
"accept-ch",
|
|
20
|
+
"cache-control",
|
|
21
|
+
"connection",
|
|
22
|
+
"content-encoding",
|
|
23
|
+
"content-length",
|
|
24
|
+
"content-range",
|
|
25
|
+
"content-security-policy",
|
|
26
|
+
"content-security-policy-report-only",
|
|
27
|
+
"content-type",
|
|
28
|
+
"critical-ch",
|
|
29
|
+
"date",
|
|
30
|
+
"etag",
|
|
31
|
+
"expires",
|
|
32
|
+
"keep-alive",
|
|
33
|
+
"location",
|
|
34
|
+
"permissions-policy",
|
|
35
|
+
"pragma",
|
|
36
|
+
"proxy-authenticate",
|
|
37
|
+
"proxy-authorization",
|
|
38
|
+
"referrer-policy",
|
|
39
|
+
"reporting-endpoints",
|
|
40
|
+
"server",
|
|
41
|
+
"server-timing",
|
|
42
|
+
"set-cookie",
|
|
43
|
+
"strict-transport-security",
|
|
44
|
+
"te",
|
|
45
|
+
"trailer",
|
|
46
|
+
"transfer-encoding",
|
|
47
|
+
"upgrade",
|
|
48
|
+
"vary",
|
|
49
|
+
"x-content-type-options",
|
|
50
|
+
"x-dns-prefetch-control",
|
|
51
|
+
"x-frame-options",
|
|
52
|
+
"x-powered-by",
|
|
53
|
+
"x-xss-protection",
|
|
54
|
+
]);
|
|
55
|
+
const RESPONSE_COOKIE_KEYS = new Set([
|
|
56
|
+
"name",
|
|
57
|
+
"value",
|
|
58
|
+
"domain",
|
|
59
|
+
"path",
|
|
60
|
+
"expires",
|
|
61
|
+
"maxAge",
|
|
62
|
+
"httpOnly",
|
|
63
|
+
"secure",
|
|
64
|
+
"sameSite",
|
|
65
|
+
]);
|
|
66
|
+
function matches(pattern, value) {
|
|
67
|
+
return reflectApply(regexpTest, pattern, [value]);
|
|
68
|
+
}
|
|
69
|
+
function isValidResponseHeaderValue(value) {
|
|
70
|
+
for (let index = 0; index < value.length; index++) {
|
|
71
|
+
const code = reflectApply(stringCharCodeAt, value, [index]);
|
|
72
|
+
if (code > 0xff || code === 0x7f || (code < 0x20 && code !== 0x09))
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
function isValidCookieAttribute(value) {
|
|
78
|
+
for (let index = 0; index < value.length; index++) {
|
|
79
|
+
const code = reflectApply(stringCharCodeAt, value, [index]);
|
|
80
|
+
if (code > 0xff || code < 0x20 || code === 0x3b || code === 0x7f)
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
function isPlainRecord(value) {
|
|
86
|
+
if (value === null || typeof value !== "object" || Array.isArray(value))
|
|
87
|
+
return false;
|
|
88
|
+
const prototype = getPrototypeOf(value);
|
|
89
|
+
return prototype === Object.prototype || prototype === null;
|
|
90
|
+
}
|
|
91
|
+
function invalidMetadata(hookName, detail) {
|
|
92
|
+
throw new TypeError(`${hookName} ${detail}`);
|
|
93
|
+
}
|
|
94
|
+
function isFrameworkOwnedHeader(name) {
|
|
95
|
+
return FRAMEWORK_OWNED_RESPONSE_HEADERS.has(name) ||
|
|
96
|
+
name.startsWith("access-control-") ||
|
|
97
|
+
name.startsWith("cross-origin-") ||
|
|
98
|
+
name.startsWith("x-veryfront-");
|
|
99
|
+
}
|
|
100
|
+
function normalizeHeaders(value, hookName) {
|
|
101
|
+
if (value === undefined)
|
|
102
|
+
return undefined;
|
|
103
|
+
if (!isPlainRecord(value)) {
|
|
104
|
+
return invalidMetadata(hookName, "response headers must be a string record");
|
|
105
|
+
}
|
|
106
|
+
const entries = objectEntries(value);
|
|
107
|
+
if (entries.length > MAX_RESPONSE_HEADER_COUNT) {
|
|
108
|
+
return invalidMetadata(hookName, `cannot return more than ${MAX_RESPONSE_HEADER_COUNT} response headers`);
|
|
109
|
+
}
|
|
110
|
+
const normalizedEntries = [];
|
|
111
|
+
const seen = new Set();
|
|
112
|
+
for (const [rawName, rawValue] of entries) {
|
|
113
|
+
const name = rawName.toLowerCase();
|
|
114
|
+
if (rawName.length === 0 || rawName.length > MAX_RESPONSE_HEADER_NAME_LENGTH ||
|
|
115
|
+
!matches(HTTP_TOKEN_PATTERN, rawName)) {
|
|
116
|
+
return invalidMetadata(hookName, `returned invalid response header name "${rawName}"`);
|
|
117
|
+
}
|
|
118
|
+
if (isFrameworkOwnedHeader(name)) {
|
|
119
|
+
return invalidMetadata(hookName, `cannot set framework-owned response header "${name}"`);
|
|
120
|
+
}
|
|
121
|
+
if (seen.has(name)) {
|
|
122
|
+
return invalidMetadata(hookName, `returned duplicate response header "${name}"`);
|
|
123
|
+
}
|
|
124
|
+
if (typeof rawValue !== "string" || rawValue.length > MAX_RESPONSE_HEADER_VALUE_LENGTH ||
|
|
125
|
+
!isValidResponseHeaderValue(rawValue)) {
|
|
126
|
+
return invalidMetadata(hookName, `returned invalid value for response header "${name}"`);
|
|
127
|
+
}
|
|
128
|
+
seen.add(name);
|
|
129
|
+
normalizedEntries.push([name, rawValue]);
|
|
130
|
+
}
|
|
131
|
+
return normalizedEntries.length > 0 ? Object.fromEntries(normalizedEntries) : undefined;
|
|
132
|
+
}
|
|
133
|
+
function normalizeCookie(value, hookName) {
|
|
134
|
+
if (!isPlainRecord(value)) {
|
|
135
|
+
return invalidMetadata(hookName, "response cookies must be plain objects");
|
|
136
|
+
}
|
|
137
|
+
for (const key of objectKeys(value)) {
|
|
138
|
+
if (!RESPONSE_COOKIE_KEYS.has(key)) {
|
|
139
|
+
return invalidMetadata(hookName, `returned unknown response cookie field "${key}"`);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
const name = value.name;
|
|
143
|
+
const cookieValue = value.value;
|
|
144
|
+
if (typeof name !== "string" || name.length === 0 ||
|
|
145
|
+
name.length > MAX_RESPONSE_HEADER_NAME_LENGTH || !matches(HTTP_TOKEN_PATTERN, name)) {
|
|
146
|
+
return invalidMetadata(hookName, "returned an invalid response cookie name");
|
|
147
|
+
}
|
|
148
|
+
if (typeof cookieValue !== "string" || cookieValue.length > MAX_RESPONSE_COOKIE_VALUE_LENGTH) {
|
|
149
|
+
return invalidMetadata(hookName, `returned an invalid value for response cookie "${name}"`);
|
|
150
|
+
}
|
|
151
|
+
try {
|
|
152
|
+
encodeCookieValue(cookieValue);
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
return invalidMetadata(hookName, `returned an invalid value for response cookie "${name}"`);
|
|
156
|
+
}
|
|
157
|
+
const result = { name, value: cookieValue };
|
|
158
|
+
for (const key of ["domain", "path", "expires"]) {
|
|
159
|
+
const field = value[key];
|
|
160
|
+
if (field === undefined)
|
|
161
|
+
continue;
|
|
162
|
+
if (typeof field !== "string" || field.length === 0 ||
|
|
163
|
+
field.length > MAX_RESPONSE_HEADER_VALUE_LENGTH ||
|
|
164
|
+
!isValidCookieAttribute(field)) {
|
|
165
|
+
return invalidMetadata(hookName, `returned an invalid ${key} for response cookie "${name}"`);
|
|
166
|
+
}
|
|
167
|
+
result[key] = field;
|
|
168
|
+
}
|
|
169
|
+
if (result.expires !== undefined && !Number.isFinite(Date.parse(result.expires))) {
|
|
170
|
+
return invalidMetadata(hookName, `returned an invalid expires for response cookie "${name}"`);
|
|
171
|
+
}
|
|
172
|
+
const maxAge = value.maxAge;
|
|
173
|
+
if (maxAge !== undefined) {
|
|
174
|
+
if (typeof maxAge !== "number" || !numberIsSafeInteger(maxAge)) {
|
|
175
|
+
return invalidMetadata(hookName, `returned an invalid maxAge for response cookie "${name}"`);
|
|
176
|
+
}
|
|
177
|
+
result.maxAge = maxAge;
|
|
178
|
+
}
|
|
179
|
+
for (const key of ["httpOnly", "secure"]) {
|
|
180
|
+
const field = value[key];
|
|
181
|
+
if (field === undefined)
|
|
182
|
+
continue;
|
|
183
|
+
if (typeof field !== "boolean") {
|
|
184
|
+
return invalidMetadata(hookName, `returned an invalid ${key} for response cookie "${name}"`);
|
|
185
|
+
}
|
|
186
|
+
result[key] = field;
|
|
187
|
+
}
|
|
188
|
+
const sameSite = value.sameSite;
|
|
189
|
+
if (sameSite !== undefined) {
|
|
190
|
+
if (sameSite !== "lax" && sameSite !== "strict" && sameSite !== "none") {
|
|
191
|
+
return invalidMetadata(hookName, `returned an invalid sameSite for response cookie "${name}"`);
|
|
192
|
+
}
|
|
193
|
+
result.sameSite = sameSite;
|
|
194
|
+
}
|
|
195
|
+
if (name.startsWith("__Secure-") && result.secure !== true) {
|
|
196
|
+
return invalidMetadata(hookName, `response cookie "${name}" must set secure`);
|
|
197
|
+
}
|
|
198
|
+
if (name.startsWith("__Host-") &&
|
|
199
|
+
(result.secure !== true || result.path !== "/" || result.domain !== undefined)) {
|
|
200
|
+
return invalidMetadata(hookName, `response cookie "${name}" must set secure, use path "/", and omit domain`);
|
|
201
|
+
}
|
|
202
|
+
if (result.sameSite === "none" && result.secure !== true) {
|
|
203
|
+
return invalidMetadata(hookName, `response cookie "${name}" with sameSite "none" must set secure`);
|
|
204
|
+
}
|
|
205
|
+
if (serializeNormalizedResponseCookie(result).length > MAX_SERIALIZED_RESPONSE_COOKIE_LENGTH) {
|
|
206
|
+
return invalidMetadata(hookName, `response cookie "${name}" exceeds the serialized size limit`);
|
|
207
|
+
}
|
|
208
|
+
return result;
|
|
209
|
+
}
|
|
210
|
+
function normalizeCookies(value, hookName) {
|
|
211
|
+
if (value === undefined)
|
|
212
|
+
return undefined;
|
|
213
|
+
if (!Array.isArray(value)) {
|
|
214
|
+
return invalidMetadata(hookName, "response cookies must be an array");
|
|
215
|
+
}
|
|
216
|
+
if (value.length > MAX_RESPONSE_COOKIE_COUNT) {
|
|
217
|
+
return invalidMetadata(hookName, `cannot return more than ${MAX_RESPONSE_COOKIE_COUNT} response cookies`);
|
|
218
|
+
}
|
|
219
|
+
const cookies = value.map((cookie) => normalizeCookie(cookie, hookName));
|
|
220
|
+
return cookies.length > 0 ? cookies : undefined;
|
|
221
|
+
}
|
|
222
|
+
export function normalizeDataResponseMetadata(value, hookName = "getServerData") {
|
|
223
|
+
if (hookName === "getStaticData" &&
|
|
224
|
+
(value.headers !== undefined || value.cookies !== undefined)) {
|
|
225
|
+
return invalidMetadata(hookName, "cannot return response headers or cookies");
|
|
226
|
+
}
|
|
227
|
+
const headers = normalizeHeaders(value.headers, hookName);
|
|
228
|
+
const cookies = normalizeCookies(value.cookies, hookName);
|
|
229
|
+
return {
|
|
230
|
+
...(headers ? { headers } : {}),
|
|
231
|
+
...(cookies ? { cookies } : {}),
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
export function mergeDataResponseMetadata(metadata) {
|
|
235
|
+
const headers = new Map();
|
|
236
|
+
const cookies = [];
|
|
237
|
+
for (const value of metadata) {
|
|
238
|
+
const normalized = normalizeDataResponseMetadata(value);
|
|
239
|
+
for (const [name, headerValue] of objectEntries(normalized.headers ?? {})) {
|
|
240
|
+
headers.set(name, headerValue);
|
|
241
|
+
}
|
|
242
|
+
cookies.push(...(normalized.cookies ?? []));
|
|
243
|
+
}
|
|
244
|
+
return normalizeDataResponseMetadata({
|
|
245
|
+
...(headers.size > 0 ? { headers: Object.fromEntries(headers) } : {}),
|
|
246
|
+
...(cookies.length > 0 ? { cookies } : {}),
|
|
247
|
+
});
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Carry validated response metadata through an internal error path without
|
|
251
|
+
* placing cookie values in enumerable error context, logs, or telemetry.
|
|
252
|
+
*/
|
|
253
|
+
export function attachDataResponseMetadata(carrier, metadata) {
|
|
254
|
+
attachedResponseMetadata.set(carrier, normalizeDataResponseMetadata(metadata));
|
|
255
|
+
return carrier;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Carry response metadata on a request-local error while retaining the project
|
|
259
|
+
* error for classification, reporting, and stack rendering.
|
|
260
|
+
*/
|
|
261
|
+
export function wrapDataResponseMetadataError(error, metadata) {
|
|
262
|
+
const classifiedError = error instanceof Error ? unwrapDataResponseMetadataError(error) : error;
|
|
263
|
+
const carrier = classifiedError instanceof Error
|
|
264
|
+
? new Error(classifiedError.message, { cause: classifiedError })
|
|
265
|
+
: new Error("Non-Error render failure");
|
|
266
|
+
if (classifiedError instanceof Error) {
|
|
267
|
+
carrier.name = classifiedError.name;
|
|
268
|
+
carrier.stack = classifiedError.stack;
|
|
269
|
+
}
|
|
270
|
+
responseMetadataErrorCauses.set(carrier, classifiedError);
|
|
271
|
+
return attachDataResponseMetadata(carrier, metadata);
|
|
272
|
+
}
|
|
273
|
+
/** Return the project failure carried by {@link wrapDataResponseMetadataError}. */
|
|
274
|
+
export function unwrapDataResponseMetadataError(error) {
|
|
275
|
+
return responseMetadataErrorCauses.has(error) ? responseMetadataErrorCauses.get(error) : error;
|
|
276
|
+
}
|
|
277
|
+
/** Read response metadata attached by {@link attachDataResponseMetadata}. */
|
|
278
|
+
export function getAttachedDataResponseMetadata(carrier) {
|
|
279
|
+
return attachedResponseMetadata.get(carrier) ?? {};
|
|
280
|
+
}
|
|
281
|
+
function serializeNormalizedResponseCookie(cookie) {
|
|
282
|
+
const parts = [`${cookie.name}=${encodeCookieValue(cookie.value)}`];
|
|
283
|
+
if (cookie.domain)
|
|
284
|
+
parts.push(`Domain=${cookie.domain}`);
|
|
285
|
+
if (cookie.path)
|
|
286
|
+
parts.push(`Path=${cookie.path}`);
|
|
287
|
+
if (cookie.expires)
|
|
288
|
+
parts.push(`Expires=${new Date(cookie.expires).toUTCString()}`);
|
|
289
|
+
if (cookie.maxAge !== undefined)
|
|
290
|
+
parts.push(`Max-Age=${cookie.maxAge}`);
|
|
291
|
+
if (cookie.httpOnly)
|
|
292
|
+
parts.push("HttpOnly");
|
|
293
|
+
if (cookie.secure)
|
|
294
|
+
parts.push("Secure");
|
|
295
|
+
if (cookie.sameSite) {
|
|
296
|
+
parts.push(`SameSite=${cookie.sameSite[0].toUpperCase()}${cookie.sameSite.slice(1)}`);
|
|
297
|
+
}
|
|
298
|
+
return parts.join("; ");
|
|
299
|
+
}
|
|
300
|
+
export function serializeResponseCookie(cookie) {
|
|
301
|
+
return serializeNormalizedResponseCookie(normalizeCookie(cookie, "getServerData"));
|
|
302
|
+
}
|
|
303
|
+
export function appendDataResponseMetadata(target, metadata) {
|
|
304
|
+
const normalized = normalizeDataResponseMetadata(metadata);
|
|
305
|
+
for (const [name, value] of objectEntries(normalized.headers ?? {})) {
|
|
306
|
+
target.append(name, value);
|
|
307
|
+
}
|
|
308
|
+
for (const cookie of normalized.cookies ?? []) {
|
|
309
|
+
target.append("Set-Cookie", serializeResponseCookie(cookie));
|
|
310
|
+
}
|
|
311
|
+
}
|
|
@@ -10,6 +10,17 @@ export declare const getRedirectSchema: () => import("../../internal-agents/sche
|
|
|
10
10
|
destination: import("../../internal-agents/schema.js").Schema<string>;
|
|
11
11
|
permanent: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
12
12
|
}>>;
|
|
13
|
+
export declare const getResponseCookieSchema: () => import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
14
|
+
name: import("../../internal-agents/schema.js").Schema<string>;
|
|
15
|
+
value: import("../../internal-agents/schema.js").Schema<string>;
|
|
16
|
+
domain: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
17
|
+
path: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
18
|
+
expires: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
19
|
+
maxAge: import("../../internal-agents/schema.js").Schema<number | undefined>;
|
|
20
|
+
httpOnly: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
21
|
+
secure: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
22
|
+
sameSite: import("../../internal-agents/schema.js").Schema<"strict" | "none" | "lax" | undefined>;
|
|
23
|
+
}>>;
|
|
13
24
|
/** Result returned from data fetching functions */
|
|
14
25
|
export declare const getDataResultSchema: () => import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
15
26
|
props: import("../../internal-agents/schema.js").Schema<unknown>;
|
|
@@ -18,7 +29,31 @@ export declare const getDataResultSchema: () => import("../../internal-agents/sc
|
|
|
18
29
|
permanent: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
19
30
|
}> | undefined>;
|
|
20
31
|
notFound: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
21
|
-
revalidate: import("../../internal-agents/schema.js").Schema<
|
|
32
|
+
revalidate: import("../../internal-agents/schema.js").Schema<unknown>;
|
|
33
|
+
headers: import("../../internal-agents/schema.js").Schema<Record<string, string> | undefined>;
|
|
34
|
+
cookies: import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
35
|
+
name: import("../../internal-agents/schema.js").Schema<string>;
|
|
36
|
+
value: import("../../internal-agents/schema.js").Schema<string>;
|
|
37
|
+
domain: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
38
|
+
path: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
39
|
+
expires: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
40
|
+
maxAge: import("../../internal-agents/schema.js").Schema<number | undefined>;
|
|
41
|
+
httpOnly: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
42
|
+
secure: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
43
|
+
sameSite: import("../../internal-agents/schema.js").Schema<"strict" | "none" | "lax" | undefined>;
|
|
44
|
+
}>[] | undefined>;
|
|
45
|
+
}>>;
|
|
46
|
+
/** Cache-safe result returned from getStaticData. */
|
|
47
|
+
export declare const getStaticDataResultSchema: () => import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
48
|
+
props: import("../../internal-agents/schema.js").Schema<unknown>;
|
|
49
|
+
redirect: import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
50
|
+
destination: import("../../internal-agents/schema.js").Schema<string>;
|
|
51
|
+
permanent: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
52
|
+
}> | undefined>;
|
|
53
|
+
notFound: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
54
|
+
revalidate: import("../../internal-agents/schema.js").Schema<unknown>;
|
|
55
|
+
headers: import("../../internal-agents/schema.js").Schema<undefined>;
|
|
56
|
+
cookies: import("../../internal-agents/schema.js").Schema<undefined>;
|
|
22
57
|
}>>;
|
|
23
58
|
export declare const getStaticPathEntrySchema: () => import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
24
59
|
params: import("../../internal-agents/schema.js").Schema<Record<string, string | string[]>>;
|
|
@@ -37,7 +72,9 @@ export declare const getCacheEntrySchema: () => import("../../internal-agents/sc
|
|
|
37
72
|
permanent: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
38
73
|
}> | undefined>;
|
|
39
74
|
notFound: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
40
|
-
revalidate: import("../../internal-agents/schema.js").Schema<
|
|
75
|
+
revalidate: import("../../internal-agents/schema.js").Schema<unknown>;
|
|
76
|
+
headers: import("../../internal-agents/schema.js").Schema<undefined>;
|
|
77
|
+
cookies: import("../../internal-agents/schema.js").Schema<undefined>;
|
|
41
78
|
}>>;
|
|
42
79
|
timestamp: import("../../internal-agents/schema.js").Schema<number>;
|
|
43
80
|
revalidate: import("../../internal-agents/schema.js").Schema<number | false | undefined>;
|
|
@@ -45,14 +82,30 @@ export declare const getCacheEntrySchema: () => import("../../internal-agents/sc
|
|
|
45
82
|
/** Context passed to `getServerData()`. */
|
|
46
83
|
export type DataContext = InferSchema<ReturnType<typeof getDataContextSchema>>;
|
|
47
84
|
export type Redirect = InferSchema<ReturnType<typeof getRedirectSchema>>;
|
|
48
|
-
|
|
85
|
+
/** One cookie emitted as a distinct Set-Cookie response field. */
|
|
86
|
+
export type ResponseCookie = InferSchema<ReturnType<typeof getResponseCookieSchema>>;
|
|
87
|
+
/** Custom document response metadata returned from `getServerData()`. */
|
|
88
|
+
export interface DataResponseMetadata {
|
|
89
|
+
headers?: Record<string, string>;
|
|
90
|
+
cookies?: ResponseCookie[];
|
|
91
|
+
}
|
|
92
|
+
/** Props, routing control, caching, and response metadata returned from `getServerData()`. */
|
|
93
|
+
export type DataResult<T = unknown> = Omit<InferSchema<ReturnType<typeof getDataResultSchema>>, "props" | "revalidate"> & {
|
|
94
|
+
props?: T;
|
|
95
|
+
revalidate?: number | false;
|
|
96
|
+
};
|
|
97
|
+
/** Cache-safe result returned from `getStaticData()`. */
|
|
98
|
+
export type StaticDataResult<T = unknown> = Omit<InferSchema<ReturnType<typeof getStaticDataResultSchema>>, "props" | "revalidate" | "headers" | "cookies"> & {
|
|
49
99
|
props?: T;
|
|
100
|
+
revalidate?: number | false;
|
|
101
|
+
headers?: never;
|
|
102
|
+
cookies?: never;
|
|
50
103
|
};
|
|
51
104
|
export type StaticPathEntry = InferSchema<ReturnType<typeof getStaticPathEntrySchema>>;
|
|
52
105
|
/** Return type for `getStaticPaths()`. */
|
|
53
106
|
export type StaticPathsResult = InferSchema<ReturnType<typeof getStaticPathsResultSchema>>;
|
|
54
107
|
export type CacheEntry<T = unknown> = InferSchema<ReturnType<typeof getCacheEntrySchema>> & {
|
|
55
|
-
data:
|
|
108
|
+
data: StaticDataResult<T>;
|
|
56
109
|
};
|
|
57
110
|
export declare const DataContextSchema: import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
58
111
|
params: import("../../internal-agents/schema.js").Schema<Record<string, string | string[]>>;
|
|
@@ -64,6 +117,17 @@ export declare const RedirectSchema: import("../../internal-agents/schema.js").S
|
|
|
64
117
|
destination: import("../../internal-agents/schema.js").Schema<string>;
|
|
65
118
|
permanent: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
66
119
|
}>>;
|
|
120
|
+
export declare const ResponseCookieSchema: import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
121
|
+
name: import("../../internal-agents/schema.js").Schema<string>;
|
|
122
|
+
value: import("../../internal-agents/schema.js").Schema<string>;
|
|
123
|
+
domain: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
124
|
+
path: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
125
|
+
expires: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
126
|
+
maxAge: import("../../internal-agents/schema.js").Schema<number | undefined>;
|
|
127
|
+
httpOnly: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
128
|
+
secure: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
129
|
+
sameSite: import("../../internal-agents/schema.js").Schema<"strict" | "none" | "lax" | undefined>;
|
|
130
|
+
}>>;
|
|
67
131
|
export declare const DataResultSchema: import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
68
132
|
props: import("../../internal-agents/schema.js").Schema<unknown>;
|
|
69
133
|
redirect: import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
@@ -71,7 +135,30 @@ export declare const DataResultSchema: import("../../internal-agents/schema.js")
|
|
|
71
135
|
permanent: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
72
136
|
}> | undefined>;
|
|
73
137
|
notFound: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
74
|
-
revalidate: import("../../internal-agents/schema.js").Schema<
|
|
138
|
+
revalidate: import("../../internal-agents/schema.js").Schema<unknown>;
|
|
139
|
+
headers: import("../../internal-agents/schema.js").Schema<Record<string, string> | undefined>;
|
|
140
|
+
cookies: import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
141
|
+
name: import("../../internal-agents/schema.js").Schema<string>;
|
|
142
|
+
value: import("../../internal-agents/schema.js").Schema<string>;
|
|
143
|
+
domain: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
144
|
+
path: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
145
|
+
expires: import("../../internal-agents/schema.js").Schema<string | undefined>;
|
|
146
|
+
maxAge: import("../../internal-agents/schema.js").Schema<number | undefined>;
|
|
147
|
+
httpOnly: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
148
|
+
secure: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
149
|
+
sameSite: import("../../internal-agents/schema.js").Schema<"strict" | "none" | "lax" | undefined>;
|
|
150
|
+
}>[] | undefined>;
|
|
151
|
+
}>>;
|
|
152
|
+
export declare const StaticDataResultSchema: import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
153
|
+
props: import("../../internal-agents/schema.js").Schema<unknown>;
|
|
154
|
+
redirect: import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
155
|
+
destination: import("../../internal-agents/schema.js").Schema<string>;
|
|
156
|
+
permanent: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
157
|
+
}> | undefined>;
|
|
158
|
+
notFound: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
159
|
+
revalidate: import("../../internal-agents/schema.js").Schema<unknown>;
|
|
160
|
+
headers: import("../../internal-agents/schema.js").Schema<undefined>;
|
|
161
|
+
cookies: import("../../internal-agents/schema.js").Schema<undefined>;
|
|
75
162
|
}>>;
|
|
76
163
|
export declare const StaticPathEntrySchema: import("../../internal-agents/schema.js").Schema<import("../../extensions/schema/schema-validator.js").InferShape<{
|
|
77
164
|
params: import("../../internal-agents/schema.js").Schema<Record<string, string | string[]>>;
|
|
@@ -90,7 +177,9 @@ export declare const CacheEntrySchema: import("../../internal-agents/schema.js")
|
|
|
90
177
|
permanent: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
91
178
|
}> | undefined>;
|
|
92
179
|
notFound: import("../../internal-agents/schema.js").Schema<boolean | undefined>;
|
|
93
|
-
revalidate: import("../../internal-agents/schema.js").Schema<
|
|
180
|
+
revalidate: import("../../internal-agents/schema.js").Schema<unknown>;
|
|
181
|
+
headers: import("../../internal-agents/schema.js").Schema<undefined>;
|
|
182
|
+
cookies: import("../../internal-agents/schema.js").Schema<undefined>;
|
|
94
183
|
}>>;
|
|
95
184
|
timestamp: import("../../internal-agents/schema.js").Schema<number>;
|
|
96
185
|
revalidate: import("../../internal-agents/schema.js").Schema<number | false | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.schema.d.ts","sourceRoot":"","sources":["../../../../src/src/data/schemas/data.schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"data.schema.d.ts","sourceRoot":"","sources":["../../../../src/src/data/schemas/data.schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAgCpE,gDAAgD;AAChD,eAAO,MAAM,oBAAoB;;;;;GAOhC,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;GAK7B,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;GAYnC,CAAC;AAEF,mDAAmD;AACnD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;GAW/B,CAAC;AAEF,qDAAqD;AACrD,eAAO,MAAM,yBAAyB;;;;;;;;;;GAWrC,CAAC;AAEF,eAAO,MAAM,wBAAwB;;GAIpC,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;GAKtC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;GAM/B,CAAC;AAGF,2CAA2C;AAC3C,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC;AAC/E,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC;AACzE,kEAAkE;AAClE,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC;AACrF,yEAAyE;AACzE,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;CAC5B;AACD,8FAA8F;AAC9F,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,OAAO,IAC9B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC,GACjF;IACA,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC7B,CAAC;AACJ,yDAAyD;AACzD,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,OAAO,IACpC,IAAI,CACJ,WAAW,CAAC,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC,EACzD,OAAO,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,CAC/C,GACC;IACA,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC5B,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB,CAAC;AACJ,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC;AACvF,0CAA0C;AAC1C,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC,CAAC;AAC3F,MAAM,MAAM,UAAU,CAAC,CAAC,GAAG,OAAO,IAAI,WAAW,CAAC,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,GAAG;IAC1F,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAC3B,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;;GAAmC,CAAC;AAClE,eAAO,MAAM,cAAc;;;GAAgC,CAAC;AAC5D,eAAO,MAAM,oBAAoB;;;;;;;;;;GAAsC,CAAC;AACxE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;GAAkC,CAAC;AAChE,eAAO,MAAM,sBAAsB;;;;;;;;;;GAAwC,CAAC;AAC5E,eAAO,MAAM,qBAAqB;;GAAuC,CAAC;AAC1E,eAAO,MAAM,uBAAuB;;;;;GAAyC,CAAC;AAC9E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;GAAkC,CAAC"}
|
|
@@ -1,4 +1,30 @@
|
|
|
1
1
|
import { defineSchema, lazySchema } from "../../schemas/index.js";
|
|
2
|
+
import { normalizeDataResponseMetadata } from "../response-metadata.js";
|
|
3
|
+
function hasValidResponseMetadata(value) {
|
|
4
|
+
try {
|
|
5
|
+
normalizeDataResponseMetadata(value);
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
catch {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function hasValidResponseCookie(value) {
|
|
13
|
+
try {
|
|
14
|
+
normalizeDataResponseMetadata({ cookies: [value] });
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
catch {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function hasValidActiveRevalidate(value) {
|
|
22
|
+
if (value.redirect !== undefined || value.notFound === true)
|
|
23
|
+
return true;
|
|
24
|
+
return value.revalidate === undefined || value.revalidate === false ||
|
|
25
|
+
(typeof value.revalidate === "number" &&
|
|
26
|
+
Number.isFinite(value.revalidate) && value.revalidate >= 0);
|
|
27
|
+
}
|
|
2
28
|
/** Context passed to data fetching functions */
|
|
3
29
|
export const getDataContextSchema = defineSchema((v) => v.object({
|
|
4
30
|
params: v.record(v.string(), v.union([v.string(), v.array(v.string())])),
|
|
@@ -10,13 +36,39 @@ export const getRedirectSchema = defineSchema((v) => v.object({
|
|
|
10
36
|
destination: v.string(),
|
|
11
37
|
permanent: v.boolean().optional(),
|
|
12
38
|
}));
|
|
39
|
+
export const getResponseCookieSchema = defineSchema((v) => v.object({
|
|
40
|
+
name: v.string(),
|
|
41
|
+
value: v.string(),
|
|
42
|
+
domain: v.string().optional(),
|
|
43
|
+
path: v.string().optional(),
|
|
44
|
+
expires: v.string().optional(),
|
|
45
|
+
maxAge: v.number().optional(),
|
|
46
|
+
httpOnly: v.boolean().optional(),
|
|
47
|
+
secure: v.boolean().optional(),
|
|
48
|
+
sameSite: v.union([v.literal("lax"), v.literal("strict"), v.literal("none")]).optional(),
|
|
49
|
+
}).strict().refine(hasValidResponseCookie, "Response cookie is invalid"));
|
|
13
50
|
/** Result returned from data fetching functions */
|
|
14
51
|
export const getDataResultSchema = defineSchema((v) => v.object({
|
|
15
52
|
props: v.unknown().optional(),
|
|
16
53
|
redirect: getRedirectSchema().optional(),
|
|
17
54
|
notFound: v.boolean().optional(),
|
|
18
|
-
revalidate: v.
|
|
19
|
-
|
|
55
|
+
revalidate: v.unknown().optional(),
|
|
56
|
+
headers: v.record(v.string(), v.string()).optional(),
|
|
57
|
+
cookies: v.array(getResponseCookieSchema()).optional(),
|
|
58
|
+
})
|
|
59
|
+
.refine(hasValidActiveRevalidate, "Data result revalidate value is invalid")
|
|
60
|
+
.refine(hasValidResponseMetadata, "Data result response metadata is invalid"));
|
|
61
|
+
/** Cache-safe result returned from getStaticData. */
|
|
62
|
+
export const getStaticDataResultSchema = defineSchema((v) => v.object({
|
|
63
|
+
props: v.unknown().optional(),
|
|
64
|
+
redirect: getRedirectSchema().optional(),
|
|
65
|
+
notFound: v.boolean().optional(),
|
|
66
|
+
revalidate: v.unknown().optional(),
|
|
67
|
+
headers: v.custom(() => false, "getStaticData cannot return response headers")
|
|
68
|
+
.optional(),
|
|
69
|
+
cookies: v.custom(() => false, "getStaticData cannot return response cookies")
|
|
70
|
+
.optional(),
|
|
71
|
+
}).refine(hasValidActiveRevalidate, "Static data result revalidate value is invalid"));
|
|
20
72
|
export const getStaticPathEntrySchema = defineSchema((v) => v.object({
|
|
21
73
|
params: v.record(v.string(), v.union([v.string(), v.array(v.string())])),
|
|
22
74
|
}));
|
|
@@ -25,14 +77,16 @@ export const getStaticPathsResultSchema = defineSchema((v) => v.object({
|
|
|
25
77
|
fallback: v.union([v.boolean(), v.literal("blocking")]),
|
|
26
78
|
}));
|
|
27
79
|
export const getCacheEntrySchema = defineSchema((v) => v.object({
|
|
28
|
-
data:
|
|
80
|
+
data: getStaticDataResultSchema(),
|
|
29
81
|
timestamp: v.number(),
|
|
30
82
|
revalidate: v.union([v.number(), v.literal(false)]).optional(),
|
|
31
83
|
}));
|
|
32
84
|
// Backward compat aliases
|
|
33
85
|
export const DataContextSchema = lazySchema(getDataContextSchema);
|
|
34
86
|
export const RedirectSchema = lazySchema(getRedirectSchema);
|
|
87
|
+
export const ResponseCookieSchema = lazySchema(getResponseCookieSchema);
|
|
35
88
|
export const DataResultSchema = lazySchema(getDataResultSchema);
|
|
89
|
+
export const StaticDataResultSchema = lazySchema(getStaticDataResultSchema);
|
|
36
90
|
export const StaticPathEntrySchema = lazySchema(getStaticPathEntrySchema);
|
|
37
91
|
export const StaticPathsResultSchema = lazySchema(getStaticPathsResultSchema);
|
|
38
92
|
export const CacheEntrySchema = lazySchema(getCacheEntrySchema);
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module data/schemas
|
|
5
5
|
*/
|
|
6
|
-
export { type CacheEntry, CacheEntrySchema, type DataContext, DataContextSchema, type DataResult, DataResultSchema, type Redirect, RedirectSchema, type StaticPathEntry, StaticPathEntrySchema, type StaticPathsResult, StaticPathsResultSchema, } from "./data.schema.js";
|
|
6
|
+
export { type CacheEntry, CacheEntrySchema, type DataContext, DataContextSchema, type DataResponseMetadata, type DataResult, DataResultSchema, type Redirect, RedirectSchema, type ResponseCookie, ResponseCookieSchema, type StaticDataResult, StaticDataResultSchema, type StaticPathEntry, StaticPathEntrySchema, type StaticPathsResult, StaticPathsResultSchema, } from "./data.schema.js";
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/data/schemas/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,KAAK,UAAU,EACf,gBAAgB,EAChB,KAAK,WAAW,EAChB,iBAAiB,EACjB,KAAK,UAAU,EACf,gBAAgB,EAChB,KAAK,QAAQ,EACb,cAAc,EACd,KAAK,eAAe,EACpB,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/data/schemas/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,KAAK,UAAU,EACf,gBAAgB,EAChB,KAAK,WAAW,EAChB,iBAAiB,EACjB,KAAK,oBAAoB,EACzB,KAAK,UAAU,EACf,gBAAgB,EAChB,KAAK,QAAQ,EACb,cAAc,EACd,KAAK,cAAc,EACnB,oBAAoB,EACpB,KAAK,gBAAgB,EACrB,sBAAsB,EACtB,KAAK,eAAe,EACpB,qBAAqB,EACrB,KAAK,iBAAiB,EACtB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC"}
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module data/schemas
|
|
5
5
|
*/
|
|
6
|
-
export { CacheEntrySchema, DataContextSchema, DataResultSchema, RedirectSchema, StaticPathEntrySchema, StaticPathsResultSchema, } from "./data.schema.js";
|
|
6
|
+
export { CacheEntrySchema, DataContextSchema, DataResultSchema, RedirectSchema, ResponseCookieSchema, StaticDataResultSchema, StaticPathEntrySchema, StaticPathsResultSchema, } from "./data.schema.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-data-fetcher.d.ts","sourceRoot":"","sources":["../../../src/src/data/server-data-fetcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"server-data-fetcher.d.ts","sourceRoot":"","sources":["../../../src/src/data/server-data-fetcher.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAcxE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AAOxF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AAK7F;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kEAAkE;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+DAA+D;IAC/D,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,uBAAuB,EAAE,+BAA+B,CAAC;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAsDD,2EAA2E;AAC3E,wBAAsB,mCAAmC,CACvD,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAMvE;AAED,qBAAa,iBAAiB;IAC5B,KAAK,CACH,UAAU,EAAE,YAAY,EACxB,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,UAAU,CAAC;IAqGtB;;OAEG;YACW,aAAa;IA8D3B;;;OAGG;IACH,OAAO,CAAC,QAAQ;CAGjB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as dntShim from "../../_dnt.shims.js";
|
|
2
2
|
import { isDataControlResult, toDataControlResult } from "./helpers.js";
|
|
3
|
+
import { validateDataResult } from "./data-result-validation.js";
|
|
3
4
|
import { serverLogger } from "../utils/index.js";
|
|
4
5
|
import { DATA_FETCH_TIMEOUT_MS } from "../config/defaults.js";
|
|
5
6
|
import { TimeoutError, withTimeoutThrow } from "../rendering/utils/stream-utils.js";
|
|
@@ -105,11 +106,10 @@ export class ServerDataFetcher {
|
|
|
105
106
|
throw error;
|
|
106
107
|
}
|
|
107
108
|
});
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
return { props: result.props ?? {}, revalidate: result.revalidate };
|
|
109
|
+
const validated = validateDataResult(result, "getServerData");
|
|
110
|
+
if (validated.redirect || validated.notFound)
|
|
111
|
+
return validated;
|
|
112
|
+
return { ...validated, props: validated.props ?? {} };
|
|
113
113
|
}
|
|
114
114
|
catch (error) {
|
|
115
115
|
const durationMs = Math.round(performance.now() - start);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CacheManager } from "./data-fetching-cache.js";
|
|
2
|
-
import type { DataContext,
|
|
2
|
+
import type { DataContext, PageWithData, StaticDataResult } from "./types.js";
|
|
3
3
|
export interface StaticDataFetchOptions {
|
|
4
4
|
modulePath?: string;
|
|
5
5
|
}
|
|
@@ -7,7 +7,7 @@ export declare class StaticDataFetcher {
|
|
|
7
7
|
private cacheManager;
|
|
8
8
|
private pendingRevalidations;
|
|
9
9
|
constructor(cacheManager: CacheManager);
|
|
10
|
-
fetch(pageModule: PageWithData, context: DataContext, options?: StaticDataFetchOptions): Promise<
|
|
10
|
+
fetch(pageModule: PageWithData, context: DataContext, options?: StaticDataFetchOptions): Promise<StaticDataResult>;
|
|
11
11
|
private createStaticDataContext;
|
|
12
12
|
private executeStaticData;
|
|
13
13
|
private storeCacheEntry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-data-fetcher.d.ts","sourceRoot":"","sources":["../../../src/src/data/static-data-fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"static-data-fetcher.d.ts","sourceRoot":"","sources":["../../../src/src/data/static-data-fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA2D9E,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,iBAAiB;IAGhB,OAAO,CAAC,YAAY;IAFhC,OAAO,CAAC,oBAAoB,CAAoC;gBAE5C,YAAY,EAAE,YAAY;IAExC,KAAK,CACT,UAAU,EAAE,YAAY,EACxB,OAAO,EAAE,WAAW,EACpB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,gBAAgB,CAAC;IA4C5B,OAAO,CAAC,uBAAuB;YAMjB,iBAAiB;IA0B/B,OAAO,CAAC,eAAe;YAQT,iBAAiB;YA+BjB,UAAU;YAqEV,sBAAsB;IAuFpC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;CAIjB"}
|