import type { AgentInit, FabricRuntime, SessionStore } from './types.js'; export interface RuntimeModeResolution { runtime: FabricRuntime; warnings: string[]; /** * True when the agent should not persist any session state, artifacts, * approvals, or events to disk / external store. */ ephemeral: boolean; } /** * Resolve the effective runtime mode for an `init()` call, applying * production safety rules: * * - In production (`FABRIC_ENV=production` or `NODE_ENV=production`), * choosing `stateless` is allowed but logged as an explicit choice. * - `inline` (the default) without an explicit `SessionStore` falls * back to in-memory storage. In production this emits a warning unless * `FABRIC_ALLOW_EPHEMERAL_STATE=1` is set or runtime is explicitly * `'stateless'`. * - Unknown runtime values fall through to `'inline'` with a warning. */ export declare function resolveRuntimeMode(options: Pick, env?: Record): RuntimeModeResolution; export declare function isStatelessRuntime(runtime: FabricRuntime | undefined): boolean; /** * Returns true when `store` is the in-memory default (no `appendEntry` * persistence beyond memory). Used by stateless mode to skip writes. */ export declare function isInMemoryStore(store: SessionStore | undefined): boolean; //# sourceMappingURL=runtime-mode.d.ts.map