From 078fd57eb5e76561fe8fda028595d769fcc9a9c2 Mon Sep 17 00:00:00 2001 From: icarus Date: Fri, 19 Sep 2025 17:44:08 +0800 Subject: [PATCH] fix(agent): update message id and improve content handling - Change default message id from -1 to 77777 in useSession - Remove schema validation for session response temporarily - Add proper content parsing for agent session messages --- src/renderer/src/api/agent.ts | 5 ++-- src/renderer/src/hooks/agents/useSession.ts | 2 +- .../home/Messages/AgentSessionMessages.tsx | 26 ++++++++++++++----- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/src/renderer/src/api/agent.ts b/src/renderer/src/api/agent.ts index b648ee4a41..ed5037af27 100644 --- a/src/renderer/src/api/agent.ts +++ b/src/renderer/src/api/agent.ts @@ -14,7 +14,6 @@ import { GetAgentResponse, GetAgentResponseSchema, GetAgentSessionResponse, - GetAgentSessionResponseSchema, ListAgentSessionsResponse, ListAgentSessionsResponseSchema, type ListAgentsResponse, @@ -172,7 +171,9 @@ export class AgentApiClient { const url = this.getSessionPaths(agentId).withId(sessionId) try { const response = await this.axios.get(url) - const data = GetAgentSessionResponseSchema.parse(response.data) + // const data = GetAgentSessionResponseSchema.parse(response.data) + // TODO: enable validation + const data = response.data if (sessionId !== data.id) { throw new Error('Session ID mismatch in response') } diff --git a/src/renderer/src/hooks/agents/useSession.ts b/src/renderer/src/hooks/agents/useSession.ts index 1b1358d9ae..6aae891908 100644 --- a/src/renderer/src/hooks/agents/useSession.ts +++ b/src/renderer/src/hooks/agents/useSession.ts @@ -35,7 +35,7 @@ export const useSession = (agentId: string, sessionId: string) => { if (!agentId || !sessionId || !data) return const origin = cloneDeep(data) const newMessageDraft = { - id: -1, + id: 77777, session_id: '', role: 'user', content: { diff --git a/src/renderer/src/pages/home/Messages/AgentSessionMessages.tsx b/src/renderer/src/pages/home/Messages/AgentSessionMessages.tsx index 93bb910f8c..4215af8c74 100644 --- a/src/renderer/src/pages/home/Messages/AgentSessionMessages.tsx +++ b/src/renderer/src/pages/home/Messages/AgentSessionMessages.tsx @@ -1,11 +1,15 @@ +import { loggerService } from '@logger' import ContextMenu from '@renderer/components/ContextMenu' import Scrollbar from '@renderer/components/Scrollbar' import { useSession } from '@renderer/hooks/agents/useSession' +import { ModelMessage } from 'ai' import { memo } from 'react' import styled from 'styled-components' import NarrowLayout from './NarrowLayout' +const logger = loggerService.withContext('AgentSessionMessages') + type Props = { agentId: string sessionId: string @@ -14,18 +18,28 @@ type Props = { const AgentSessionMessages: React.FC = ({ agentId, sessionId }) => { const { messages } = useSession(agentId, sessionId) + const getTextFromContent = (content: string | ModelMessage): string => { + logger.debug('content', { content }) + if (typeof content === 'string') { + return content + } else if (typeof content.content === 'string') { + return content.content + } else { + return content.content + .filter((part) => part.type === 'text') + .map((part) => part.text) + .join('\n') + } + } + return ( {messages.map((message) => { - const content = message.content.content - if (typeof content === 'string') { - return
{content}
- } else { - return 'Not string content' - } + const content = getTextFromContent(message.content) + return
{content}
})}