refactor(storage): 统一消息存储到 Core 层
问题:Server 端只存储最终文本响应,工具调用的中间消息丢失。 解决方案: - Agent.chat() 返回 ChatResult,包含完整消息链 - Server SessionManager 简化为只管理会话元数据 - 消息 API 改为从 Core Storage 读取 - 移除 Server 端的消息存储和 addMessage 方法 影响范围: - core: Agent.chat() 返回类型变更 - server: SessionManager 接口变更,移除消息存储 - server: GET /sessions/:id/messages 从 Core 读取 - server: 移除 POST /sessions/:id/messages 端点
This commit is contained in:
@@ -12,7 +12,13 @@ import { vi } from 'vitest';
|
||||
export function createMockAgent() {
|
||||
return {
|
||||
setRegistry: vi.fn(),
|
||||
chat: vi.fn().mockResolvedValue('mock response'),
|
||||
chat: vi.fn().mockResolvedValue({
|
||||
text: 'mock response',
|
||||
messages: [
|
||||
{ role: 'user', content: 'test' },
|
||||
{ role: 'assistant', content: 'mock response' },
|
||||
],
|
||||
}),
|
||||
getToolCount: vi.fn().mockReturnValue({ core: 5, discovered: 0, total: 5 }),
|
||||
getContextUsageFormatted: vi.fn().mockReturnValue('10k / 200k'),
|
||||
getContextUsage: vi.fn().mockReturnValue({
|
||||
@@ -25,6 +31,10 @@ export function createMockAgent() {
|
||||
getCompressionManager: vi.fn().mockReturnValue({
|
||||
shouldCompress: vi.fn().mockReturnValue(false),
|
||||
}),
|
||||
getHistory: vi.fn().mockReturnValue([
|
||||
{ role: 'user', content: 'test' },
|
||||
{ role: 'assistant', content: 'mock response' },
|
||||
]),
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user