From 445528aff74d29b4f75a7888fa23443ac8d76ebd Mon Sep 17 00:00:00 2001 From: icarus Date: Fri, 19 Sep 2025 12:58:14 +0800 Subject: [PATCH] refactor(agent): replace interface with zod schema for message request Add createMessage method to AgentApiClient to handle posting messages to sessions --- src/renderer/src/api/agent.ts | 11 +++++++++++ src/renderer/src/types/agent.ts | 4 +--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/renderer/src/api/agent.ts b/src/renderer/src/api/agent.ts index e54ab88506..b84ccf1fa0 100644 --- a/src/renderer/src/api/agent.ts +++ b/src/renderer/src/api/agent.ts @@ -7,6 +7,7 @@ import { CreateAgentResponse, CreateAgentResponseSchema, CreateSessionForm, + CreateSessionMessageRequest, CreateSessionRequest, CreateSessionResponse, CreateSessionResponseSchema, @@ -208,4 +209,14 @@ export class AgentApiClient { throw processError(error, 'Failed to update session.') } } + + public async createMessage(agentId: string, sessionId: string, content: string): Promise { + const url = this.getSessionMessagesPath(agentId, sessionId) + try { + const payload = { content } satisfies CreateSessionMessageRequest + await this.axios.post(url, payload) + } catch (error) { + throw processError(error, 'Failed to post message.') + } + } } diff --git a/src/renderer/src/types/agent.ts b/src/renderer/src/types/agent.ts index a5ead13d77..58e7e5e7cb 100644 --- a/src/renderer/src/types/agent.ts +++ b/src/renderer/src/types/agent.ts @@ -204,9 +204,7 @@ export const ListAgentSessionsResponseSchema = z.object({ export type ListAgentSessionsResponse = z.infer -export interface CreateSessionMessageRequest { - content: string -} +export type CreateSessionMessageRequest = z.infer export const CreateSessionResponseSchema = AgentSessionEntitySchema