import type { ZodType } from 'zod'; import type { EvalInput, EvalScore, JudgeInput } from './eval'; import type { AgentMessage } from './message'; import type { InterruptibleToolContext, ToolContext } from './tool'; export interface HandlerExecutor { executeTool(toolName: string, input: unknown, context: ToolContext | InterruptibleToolContext): Promise; executeToMessage(toolName: string, output: unknown): Promise; executeToMessageSync?(toolName: string, output: unknown): AgentMessage | undefined; executeEval(evalName: string, evalInput: EvalInput | JudgeInput): Promise; evaluateSchema(schemaSource: string): Promise; evaluateExpression(source: string): Promise; }