diff --git a/packages/agent/src/agent.ts b/packages/agent/src/agent.ts index bb6dba43..669381b0 100644 --- a/packages/agent/src/agent.ts +++ b/packages/agent/src/agent.ts @@ -63,7 +63,7 @@ export const createAgent = (params: AgentParams) => { yield event } const newMessages = (await response).messages - params.onFinish?.([ + await params.onFinish?.([ user as ModelMessage, ...newMessages, ]) diff --git a/packages/memory/src/raw.ts b/packages/memory/src/raw.ts index e8b9d472..7abce63d 100644 --- a/packages/memory/src/raw.ts +++ b/packages/memory/src/raw.ts @@ -9,11 +9,18 @@ export const rawMessages = (messages: ModelMessage[]) => { } return `User: ${message.content}` } else if (message.role === 'assistant') { - let toolCalls = '' if (Array.isArray(message.content)) { - toolCalls = message.content.filter(c => c.type === 'tool-call').map(c => c.toolName).join(', ') + return `You: ${message.content.map(m => { + if (m.type === 'text') { + return m.text + } else if (m.type === 'tool-call') { + return `[Tool Call: ${m.toolName}]` + } else { + return '' + } + }).join('\n')}` } - return `You: ${message.content} \n${toolCalls}` + return `You: ${message.content}` } else if (message.role === 'tool') { return `Tool Result: ${message.content}` } else {