diff --git a/frontend/src/services/api-client.ts b/frontend/src/services/api-client.ts index adf0d56..1c24f99 100644 --- a/frontend/src/services/api-client.ts +++ b/frontend/src/services/api-client.ts @@ -819,6 +819,7 @@ class ApiClient { const promise = new Promise(async (resolve, reject) => { try { + const request = formatApiRequest(chatMessage); const response = await fetch(`${this.baseUrl}/chat/sessions/${chatMessage.sessionId}/messages/stream`, { method: 'POST', headers: { @@ -826,7 +827,7 @@ class ApiClient { 'Accept': 'text/event-stream', 'Cache-Control': 'no-cache' }, - body: JSON.stringify(formatApiRequest({ chatMessage })), + body: JSON.stringify(request), signal }); diff --git a/src/backend/main.py b/src/backend/main.py index e51e3b4..5439c4a 100644 --- a/src/backend/main.py +++ b/src/backend/main.py @@ -1933,21 +1933,12 @@ async def create_chat_session( @api_router.post("/chat/sessions/{session_id}/messages/stream") async def post_chat_session_message_stream( - data: Dict[str, Any] = Body(...), + user_message: ChatMessageUser = Body(...), current_user = Depends(get_current_user), - database: RedisDatabase = Depends(get_database), - request: Request = Request, + database: RedisDatabase = Depends(get_database) ): """Post a message to a chat session and stream the response with persistence""" try: - user_message_data = data.get("chatMessage") - if not user_message_data: - return JSONResponse( - status_code=400, - content=create_error_response("INVALID_CHAT_MESSAGE", "chatMessage cannot be empty") - ) - user_message = ChatMessageUser.model_validate(user_message_data) - chat_session_data = await database.get_chat_session(user_message.session_id) if not chat_session_data: return JSONResponse(