import type { OperationType, ActionPlan, ActionStep, PlanVerification, PlanExecution, StepExecution, AgentScope } from './types.js'; export interface ExecutorAdapter { readonly type: OperationType; execute(step: ActionStep, scope: AgentScope): Promise; } export declare class CodeWriteAdapter implements ExecutorAdapter { readonly type: OperationType; execute(step: ActionStep, scope: AgentScope): Promise; } export declare class CodeRunAdapter implements ExecutorAdapter { readonly type: OperationType; execute(step: ActionStep, scope: AgentScope): Promise; } export declare class ApiCallAdapter implements ExecutorAdapter { readonly type: OperationType; execute(step: ActionStep, scope: AgentScope): Promise; } export declare class GitAdapter implements ExecutorAdapter { readonly type: OperationType; execute(step: ActionStep, scope: AgentScope): Promise; } export declare class MessageAdapter implements ExecutorAdapter { readonly type: OperationType; execute(step: ActionStep): Promise; } export declare class Executor { private adapters; private scope; constructor(scope: AgentScope); register(adapter: ExecutorAdapter): void; execute(plan: ActionPlan, verification: PlanVerification): Promise; /** * Topological sort of steps based on dependsOn relationships. * Steps with no dependencies come first. */ private resolveExecutionOrder; }