fix: guard completed API with message id (#23184)

This commit is contained in:
Shirasawa
2026-04-01 05:39:34 -05:00
committed by GitHub
parent 16e6cb458f
commit d7a5a903a6
3 changed files with 17 additions and 2 deletions
+7
View File
@@ -316,6 +316,10 @@ async def chat_completed(request: Request, form_data: dict, user: Any):
models = request.app.state.MODELS
data = form_data
if not data.get('id'):
raise Exception('Missing message id')
model_id = data['model']
if model_id not in models:
raise Exception('Model not found')
@@ -327,6 +331,9 @@ async def chat_completed(request: Request, form_data: dict, user: Any):
except Exception as e:
raise Exception(f'Error: {e}')
if not data.get('id'):
raise Exception('Missing message id')
metadata = {
'chat_id': data['chat_id'],
'message_id': data['id'],
+5 -2
View File
@@ -161,9 +161,12 @@ export const getModels = async (
type ChatCompletedForm = {
model: string;
messages: string[];
messages: Record<string, unknown>[];
chat_id: string;
session_id: string;
session_id: string | undefined;
id: string;
filter_ids?: string[];
model_item?: unknown;
};
export const chatCompleted = async (token: string, body: ChatCompletedForm) => {
+5
View File
@@ -1358,6 +1358,11 @@
};
const chatCompletedHandler = async (_chatId, modelId, responseMessageId, messages) => {
if (!responseMessageId) {
console.error('chatCompleted: missing message id', { chatId: _chatId, modelId, messageCount: messages?.length ?? 0 });
return;
}
const res = await chatCompleted(localStorage.token, {
model: modelId,
messages: messages.map((m) => ({