/** * Channel 运行时核心 * * P2-13: 事件源多代理运行时 * * 功能: * - 代理生命周期管理 * - 消息路由 * - 任务管理 * - 事件日志 */ import type { AgentIdentity, ChannelMessage, ChannelTask, ChannelEvent, ChannelRuntime, ChannelStatus, ChannelConfig, TaskStatus } from './channel-types.js'; export declare class ChannelRuntimeImpl implements ChannelRuntime { private config; private agents; private tasks; private events; private inboxManager; private running; private startedAt?; private eventLogPath?; private flushCounter; private static readonly FLUSH_INTERVAL; constructor(config: ChannelConfig); private ensureEventLogDir; /** * 启动 Channel */ start(): Promise; /** * 停止 Channel */ stop(): Promise; /** * 添加代理 */ addAgent(agent: AgentIdentity): Promise; /** * 移除代理 */ removeAgent(agentId: string): Promise; /** * 发送消息 */ sendMessage(message: Omit): Promise; /** * 接收消息(非破坏性读取) * 消息不会立即从收件箱移除,需通过 acknowledgeMessage() 确认 */ receiveMessages(agentId: string, limit?: number): Promise; /** * 确认消息(从收件箱移除) * 代理处理完消息后调用此方法 */ acknowledgeMessage(agentId: string, messageId: string): Promise; /** * 创建任务 */ createTask(task: Omit): Promise; /** * 更新任务状态 */ updateTaskStatus(taskId: string, status: TaskStatus, result?: any, error?: string): Promise; /** * 获取 Channel 状态 */ getStatus(): Promise; /** * 获取事件日志 */ getEvents(limit?: number): Promise; /** * 记录事件 */ private logEvent; /** * 保存事件日志(全量写入,stop 时调用) */ private saveEventLog; /** * 增量刷写事件到磁盘(追加模式,防止崩溃丢失) * 使用 appendFileSync 将新事件逐条追加到日志文件 */ private flushEvents; /** * 生成 ID(使用 crypto.randomUUID 确保碰撞安全) */ private generateId; } /** * 创建 Channel 运行时 */ export declare function createChannelRuntime(config: ChannelConfig): ChannelRuntime; //# sourceMappingURL=channel-runtime.d.ts.map