import type { ExecutionContextBase, ExecutionContextEvent, ExecutionRoutingStrategy } from '../execution/index.js'; import type { AuthConfig } from './core.js'; export type { ExecutionEnvironment, ExecutionCapability, ExecutionContextBase, } from '../execution/index.js'; export type { CommandOptions, CommandResult, CommandTermination, CommandExecutor, RemoteCommandHandler, } from '../execution/index.js'; export type { ExecutionRoutingStrategy, ExecutionContextLifecycle } from '../execution/index.js'; export type { ExecutionContextEventListener } from '../execution/index.js'; export interface RemoteTarget { type: 'ssh' | 'rdp' | 'api'; host: string; port?: number; auth?: AuthConfig; metadata?: Record; } export interface LocalExecutionContextConfig extends ExecutionContextBase { environment: 'local'; cwd: string; fsAccess: boolean; envVars?: Record; shell?: string; /** Retained bytes per stdout/stderr stream. Defaults to 4 MiB; maximum 64 MiB. */ maxOutputBytes?: number; } export interface RemoteExecutionContextConfig extends ExecutionContextBase { environment: 'remote'; target: RemoteTarget; } export interface HybridExecutionContextConfig extends ExecutionContextBase { environment: 'hybrid'; local: Omit; remotes: RemoteTarget[]; routingStrategy?: ExecutionRoutingStrategy; } export type ExecutionContextConfig = LocalExecutionContextConfig | RemoteExecutionContextConfig | HybridExecutionContextConfig; export type ConnectorExecutionContextEvent = ExecutionContextEvent | { type: 'remote_connected'; contextId: string; target: RemoteTarget; } | { type: 'remote_disconnected'; contextId: string; host: string; }; //# sourceMappingURL=execution-context.d.ts.map