/** * Config G7 — central runtime build knobs (generation fan-in). * * Shipped: executionMode → nextjs dispatcher; deterministicMode / stores / * forbidWallClock+seed (now/generateId) / defaultContext → web factories; * concurrency.maxParallelCommands → RuntimeOptions.maxParallelCommands. */ export declare const RUNTIME_EXECUTION_MODES: readonly ["inline", "externalExecutor"]; export type RuntimeExecutionMode = (typeof RUNTIME_EXECUTION_MODES)[number]; /** Projections that honor `runtime.stores` → `runtimeConfigImport` fan-in. */ export declare const RUNTIME_STORE_FANIN_PROJECTIONS: readonly ["nextjs", "express", "hono", "remix", "sveltekit"]; export interface ManifestRuntimeDeterminismConfig { /** Maps to RuntimeOptions.deterministicMode on the generated factory. */ deterministicMode?: boolean; /** When true, factory injects RuntimeOptions.now (no Date.now fallback). */ forbidWallClock?: boolean; /** Fixed clock ms when forbidWallClock; also seeds generateId sequence. */ seed?: number; } export interface ManifestRuntimeConcurrencyConfig { /** * Maps to RuntimeOptions.maxParallelCommands on the generated factory. * Positive integer only; invalid values are ignored (unlimited). */ maxParallelCommands?: number; } export interface ManifestRuntimeBuildConfig { /** Single source for dispatcher execution mode (nextjs). Default: inline. */ executionMode?: RuntimeExecutionMode; determinism?: ManifestRuntimeDeterminismConfig; /** * Import path for store bindings (`ManifestRuntimeConfig` module). * Fans into projection `runtimeConfigImport` when that key is unset. */ stores?: string; /** Merged under caller context in createManifestRuntime (caller wins). */ defaultContext?: Record; /** Top-level parallel runCommand budget for generated factories. */ concurrency?: ManifestRuntimeConcurrencyConfig; } export interface ResolvedRuntimeConfig { executionMode: RuntimeExecutionMode; deterministicMode: boolean; storesPath: string | undefined; forbidWallClock: boolean; seed: number | undefined; defaultContext: Record | undefined; maxParallelCommands: number | undefined; } /** Internal bag key injected by resolveProjectionOptions. */ export declare const MANIFEST_RUNTIME_BAG_KEY = "__manifestRuntime"; export interface ManifestRuntimeBagMeta { executionMode: RuntimeExecutionMode; deterministicMode: boolean; storesPath?: string; forbidWallClock: boolean; seed?: number; defaultContext?: Record; maxParallelCommands?: number; } export declare function isRuntimeExecutionMode(value: unknown): value is RuntimeExecutionMode; export declare function resolveRuntimeConfig(raw: ManifestRuntimeBuildConfig | undefined): ResolvedRuntimeConfig; /** * Apply top-level `runtime` onto a projection option bag. * Per-projection `dispatcher.executionMode` / `runtimeConfigImport` win when set. */ export declare function applyRuntimeConfigToProjectionOptions(runtime: ManifestRuntimeBuildConfig | undefined, projectionName: string, bag: Record): void; /** Read injected meta from a projection options / normalized bag. */ export declare function readManifestRuntimeMeta(options: Record | undefined): ManifestRuntimeBagMeta | undefined; export interface RuntimeFactoryFanIn { deterministicMode: boolean; runtimeConfigImport: string | undefined; forbidWallClock: boolean; seed: number | undefined; defaultContext: Record | undefined; maxParallelCommands: number | undefined; } /** Factory knobs for companions — reads bag meta + optional explicit import. */ export declare function resolveRuntimeFactoryFanIn(options: Record | undefined): RuntimeFactoryFanIn; //# sourceMappingURL=runtime-config.d.ts.map