/**
 * 压缩记忆相关类型定义
 */

/**
 * 压缩后的记忆数据
 */
export interface CompactedMemory {
  taskId: string;
  version: number;
  compactedAt: string;
  summary: string;
  recentMessages: CompactedMessage[];
  originalMessageCount: number;
  compactedMessageCount: number;
}

/**
 * 压缩消息格式
 */
export interface CompactedMessage {
  type: 'USER' | 'AI' | 'SYSTEM' | 'TOOL_RESULT';
  content: string;
  toolCall?: ToolCallInfo;
}

/**
 * 工具调用信息
 */
export interface ToolCallInfo {
  toolName: string;
  toolInput: string;
  toolOutput?: string;
}

/**
 * 记忆压缩 SSE 事件
 */
export interface MemoryCompactedEvent {
  taskId: string;
  compactedData: CompactedMemory;
}
