import type { AgentEvent, AgentRequest, AgentRuntimeStatus } from '../../shared/contracts' export interface AgentRuntime { readonly requiresToolApproval: boolean getStatus(): Promise run( request: AgentRequest, signal: AbortSignal, authorize?: (requiresToolApproval: boolean) => Promise ): AsyncGenerator dispose(): Promise }