feat: 添加智能体事件类型和SSE处理

- api.ts 添加4个智能体事件类型定义
- sseHandler.ts 添加智能体事件回调和分发
This commit is contained in:
XiaoFeng
2025-12-29 09:22:26 +08:00
parent 5cb68652f9
commit 082ef923b2
2 changed files with 68 additions and 1 deletions

View File

@ -21,7 +21,11 @@ import type {
ToolErrorEvent,
WarningEvent,
NotificationEvent,
DepthUpdateEvent
DepthUpdateEvent,
AgentStartEvent,
AgentProgressEvent,
AgentCompleteEvent,
AgentErrorEvent
} from '../types/api';
/**
@ -50,6 +54,14 @@ export interface SSECallbacks {
onNotification?: (data: NotificationEvent) => void;
/** 深度更新 */
onDepthUpdate?: (data: DepthUpdateEvent) => void;
/** 子智能体启动 */
onAgentStart?: (data: AgentStartEvent) => void;
/** 子智能体进度 */
onAgentProgress?: (data: AgentProgressEvent) => void;
/** 子智能体完成 */
onAgentComplete?: (data: AgentCompleteEvent) => void;
/** 子智能体错误 */
onAgentError?: (data: AgentErrorEvent) => void;
/** 连接打开 */
onOpen?: () => void;
/** 连接关闭 */
@ -283,6 +295,18 @@ function dispatchEvent(
case 'depth_update':
callbacks.onDepthUpdate?.(data as DepthUpdateEvent);
break;
case 'agent_start':
callbacks.onAgentStart?.(data as AgentStartEvent);
break;
case 'agent_progress':
callbacks.onAgentProgress?.(data as AgentProgressEvent);
break;
case 'agent_complete':
callbacks.onAgentComplete?.(data as AgentCompleteEvent);
break;
case 'agent_error':
callbacks.onAgentError?.(data as AgentErrorEvent);
break;
default:
console.log(`[SSE] 未知事件类型: ${eventType}`, data);
}