import type { DataContext, DataResult, PageWithData } from "./types.js"; import type { SourceIntegrationPolicyManifest } from "../integrations/source-policy.js"; import type { ProjectEnvSnapshot } from "../platform/compat/process/project-env-contract.js"; /** * Options for isolated data fetching through Worker pool. */ export interface ServerDataFetchOptions { /** Absolute path to the module containing getServerData */ modulePath?: string; /** Project directory for worker scoping */ projectDir?: string; /** Host-owned locality decision for development-only behavior. */ isLocalProject?: boolean; /** Narrow host-owned capability for project-code execution. */ allowHostProjectCodeExecution?: boolean; /** Stable host-owned tenant/project scope for reusable workers. */ workerScope?: string; /** Immutable release or source-snapshot identity for reusable workers. */ sourceGeneration?: string; } interface DataWorkerAdmission { readonly projectEnv?: ProjectEnvSnapshot; readonly sourceIntegrationPolicy: SourceIntegrationPolicyManifest; readonly workerId: string; readonly reusable: boolean; } /** @internal Exact worker identity probe for boundary regression tests. */ export declare function __resolveDataWorkerIdentityForTests(options: ServerDataFetchOptions): Promise>>; export declare class ServerDataFetcher { fetch(pageModule: PageWithData, context: DataContext, options?: ServerDataFetchOptions): Promise; /** * Execute getServerData in a per-project Worker. */ private fetchIsolated; /** * Log errors unconditionally. Production errors should always be logged. * @see plans/architecture-audit/010-error-handling.md */ private logError; } export {}; //# sourceMappingURL=server-data-fetcher.d.ts.map