/** * Session State Manager -- 从 engine.ts 抽离的会话状态机管理逻辑: * steer(外部 steer 注入)、drainSteering(消费 steer 消息)、 * abort(中断会话)、abortCascade(级联中断)、cleanupSessionRelations(清理父子关系)。 * * 设计说明:这些方法操作 Engine 的 Map 状态集合(abortMap / steeringMap / * statusMap / childSessionMap / parentSessionMap),将状态机的"增删改查" * 集中在独立模块,engine.ts 仅保留委托调用。 */ import type { AgentStatus } from '../types.js'; import type { HistoryManager } from './history-manager.js'; import type { LoopState } from './engine.js'; /** 会话状态管理器所需的 Engine 依赖 */ export interface SessionStateDeps { abortMap: Map; steeringMap: Map; statusMap: Map; childSessionMap: Map>; parentSessionMap: Map; historyManager: HistoryManager; } /** 外部 steer:向指定会话注入引导消息 */ export declare function steer(deps: SessionStateDeps, sessionId: string, message: string): boolean; /** 消费当前会话的 steering 消息,注入到 messages 中 */ export declare function drainSteering(deps: SessionStateDeps, state: LoopState): { messages: string[]; count: number; } | null; /** 中断指定会话 */ export declare function abortSession(deps: SessionStateDeps, sessionId: string): void; /** * 中断指定会话及其所有子会话的 Agent 执行(级联 abort)。 * * 递归遍历子会话树,从叶子节点到根节点依次 abort。 * 用于确保父会话异常终止时,所有 delegate_task 派生的子任务也被终止。 */ export declare function abortCascade(deps: SessionStateDeps, sessionId: string): void; /** * 清理指定会话的父子关系记录。 * * 在会话自然完成或 abort 后调用,防止内存泄漏。 * 处理两个方向: * - 如果是父会话:移除所有子会话引用(但子会话若仍在运行则保留其关系) * - 如果是子会话:从父会话的子集中移除自身 */ export declare function cleanupSessionRelations(deps: SessionStateDeps, sessionId: string): void; //# sourceMappingURL=session-state-manager.d.ts.map