import { EventEmitter } from "events"; import { ContextManager } from "../context/context-manager"; import { ToolRegistry } from "../tools/registry"; import { Scheduler } from "./scheduler"; import { ToolExecutor } from "./tool-executor"; import type { ConfirmPlanFn } from "./agent-events"; export interface AgentStep { step: number; action: string; thought: string; observation: string; agentId?: string; plan?: string; } export interface AgentResult { success: boolean; finalAnswer: string; steps: AgentStep[]; totalTokens: number; duration: number; } export declare class MainAgent extends EventEmitter { private contextManager; private toolRegistry; private scheduler; private toolExecutor?; private maxSteps; private steps; private confirmPlanFn?; constructor(contextManager: ContextManager, toolRegistry: ToolRegistry, scheduler: Scheduler, toolExecutor?: ToolExecutor, maxSteps?: number); private heartbeatCallback?; /** 统一事件发射 helper。 */ private emitEvent; /** 设置后台任务心跳回调(background 运行时由 Session 注入)。传 undefined 清除。 */ setHeartbeatCallback(fn?: () => void): void; /** 设置 Plan 确认回调(多步骤 Plan 执行前询问用户)。传 undefined 清除。 */ setConfirmPlanFn(fn?: ConfirmPlanFn): void; getScheduler(): Scheduler; getToolRegistry(): ToolRegistry; getContextManager(): ContextManager; getToolExecutor(): ToolExecutor | undefined; /** 恢复历史 steps(会话重载,仅用于显示;下一次 run() 会重置)。 */ setSteps(steps: AgentStep[]): void; /** 运行选项:后台执行时注入的取消信号与工具级超时。 */ run(userTask: string, options?: { signal?: AbortSignal; toolTimeoutMs?: number; }): Promise; /** * 判断是否为多步骤 Plan(两者结合): * ① PLAN 文本含 ≥2 个编号步骤(1. / 1) / 1、 等格式,按行匹配) * ② 当前 step 并发动作数(actions + delegates)≥2 * 满足任一即视为多步骤,需用户确认。 */ private isMultiStepPlan; private reactStep; /** toolExecutor 缺失时的回退执行(串行) */ private fallbackExecuteBatch; /** 构造给子智能体的任务(含主控思考与原始任务上下文) */ private buildDelegateTask; } //# sourceMappingURL=main-agent.d.ts.map