From 2b15987a9c4df9cec88df0212e6cc3d5d24aa508 Mon Sep 17 00:00:00 2001 From: Junyi Hou Date: Tue, 27 Jan 2026 01:13:47 +0800 Subject: [PATCH] refactor: update MessageId handling to remove prefix in chat history entries --- internal/services/toolkit/client/utils.go | 2 +- internal/services/toolkit/client/utils_v2.go | 3 +-- internal/services/toolkit/handler/stream.go | 16 ++++++++-------- internal/services/toolkit/handler/toolcall.go | 4 ++-- 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/internal/services/toolkit/client/utils.go b/internal/services/toolkit/client/utils.go index 62609e09..529195d2 100644 --- a/internal/services/toolkit/client/utils.go +++ b/internal/services/toolkit/client/utils.go @@ -35,7 +35,7 @@ func appendAssistantTextResponse(openaiChatHistory *responses.ResponseNewParamsI } openaiChatHistory.OfInputItemList = append(openaiChatHistory.OfInputItemList, response) *inappChatHistory = append(*inappChatHistory, chatv1.Message{ - MessageId: "openai_" + item.ID, + MessageId: item.ID, Payload: &chatv1.MessagePayload{ MessageType: &chatv1.MessagePayload_Assistant{ Assistant: &chatv1.MessageTypeAssistant{ diff --git a/internal/services/toolkit/client/utils_v2.go b/internal/services/toolkit/client/utils_v2.go index c3ab40dd..65747ef8 100644 --- a/internal/services/toolkit/client/utils_v2.go +++ b/internal/services/toolkit/client/utils_v2.go @@ -7,7 +7,6 @@ It is used to append assistant responses to both OpenAI and in-app chat historie */ import ( "context" - "fmt" "paperdebugger/internal/libs/cfg" "paperdebugger/internal/libs/db" "paperdebugger/internal/libs/logger" @@ -39,7 +38,7 @@ func appendAssistantTextResponseV2(openaiChatHistory *OpenAIChatHistory, inappCh }) *inappChatHistory = append(*inappChatHistory, chatv2.Message{ - MessageId: fmt.Sprintf("openai_%s", contentId), + MessageId: contentId, Payload: &chatv2.MessagePayload{ MessageType: &chatv2.MessagePayload_Assistant{ Assistant: &chatv2.MessageTypeAssistant{ diff --git a/internal/services/toolkit/handler/stream.go b/internal/services/toolkit/handler/stream.go index 87328dad..e00a429d 100644 --- a/internal/services/toolkit/handler/stream.go +++ b/internal/services/toolkit/handler/stream.go @@ -64,7 +64,7 @@ func (h *StreamHandlerV1) HandleAddedItem(chunk responses.ResponseStreamEventUni h.callbackStream.Send(&chatv1.CreateConversationMessageStreamResponse{ ResponsePayload: &chatv1.CreateConversationMessageStreamResponse_StreamPartBegin{ StreamPartBegin: &chatv1.StreamPartBegin{ - MessageId: "openai_" + chunk.Item.ID, + MessageId: chunk.Item.ID, Payload: &chatv1.MessagePayload{ MessageType: &chatv1.MessagePayload_Assistant{ Assistant: &chatv1.MessageTypeAssistant{}, @@ -77,7 +77,7 @@ func (h *StreamHandlerV1) HandleAddedItem(chunk responses.ResponseStreamEventUni h.callbackStream.Send(&chatv1.CreateConversationMessageStreamResponse{ ResponsePayload: &chatv1.CreateConversationMessageStreamResponse_StreamPartBegin{ StreamPartBegin: &chatv1.StreamPartBegin{ - MessageId: "openai_" + chunk.Item.ID, + MessageId: chunk.Item.ID, Payload: &chatv1.MessagePayload{ MessageType: &chatv1.MessagePayload_ToolCallPrepareArguments{ ToolCallPrepareArguments: &chatv1.MessageTypeToolCallPrepareArguments{ @@ -101,7 +101,7 @@ func (h *StreamHandlerV1) HandleDoneItem(chunk responses.ResponseStreamEventUnio h.callbackStream.Send(&chatv1.CreateConversationMessageStreamResponse{ ResponsePayload: &chatv1.CreateConversationMessageStreamResponse_StreamPartEnd{ StreamPartEnd: &chatv1.StreamPartEnd{ - MessageId: "openai_" + item.ID, + MessageId: item.ID, Payload: &chatv1.MessagePayload{ MessageType: &chatv1.MessagePayload_Assistant{ Assistant: &chatv1.MessageTypeAssistant{ @@ -116,7 +116,7 @@ func (h *StreamHandlerV1) HandleDoneItem(chunk responses.ResponseStreamEventUnio h.callbackStream.Send(&chatv1.CreateConversationMessageStreamResponse{ ResponsePayload: &chatv1.CreateConversationMessageStreamResponse_StreamPartEnd{ StreamPartEnd: &chatv1.StreamPartEnd{ - MessageId: "openai_" + item.ID, + MessageId: item.ID, Payload: &chatv1.MessagePayload{ MessageType: &chatv1.MessagePayload_ToolCallPrepareArguments{ ToolCallPrepareArguments: &chatv1.MessageTypeToolCallPrepareArguments{ @@ -132,7 +132,7 @@ func (h *StreamHandlerV1) HandleDoneItem(chunk responses.ResponseStreamEventUnio h.callbackStream.Send(&chatv1.CreateConversationMessageStreamResponse{ ResponsePayload: &chatv1.CreateConversationMessageStreamResponse_StreamPartEnd{ StreamPartEnd: &chatv1.StreamPartEnd{ - MessageId: "openai_" + item.ID, + MessageId: item.ID, Payload: &chatv1.MessagePayload{ MessageType: &chatv1.MessagePayload_Unknown{ Unknown: &chatv1.MessageTypeUnknown{ @@ -153,7 +153,7 @@ func (h *StreamHandlerV1) HandleTextDelta(chunk responses.ResponseStreamEventUni h.callbackStream.Send(&chatv1.CreateConversationMessageStreamResponse{ ResponsePayload: &chatv1.CreateConversationMessageStreamResponse_MessageChunk{ MessageChunk: &chatv1.MessageChunk{ - MessageId: "openai_" + chunk.ItemID, + MessageId: chunk.ItemID, Delta: chunk.Delta, }, }, @@ -194,7 +194,7 @@ func (h *StreamHandlerV1) SendToolCallBegin(toolCall responses.ResponseFunctionT h.callbackStream.Send(&chatv1.CreateConversationMessageStreamResponse{ ResponsePayload: &chatv1.CreateConversationMessageStreamResponse_StreamPartBegin{ StreamPartBegin: &chatv1.StreamPartBegin{ - MessageId: "openai_" + toolCall.CallID, + MessageId: toolCall.CallID, Payload: &chatv1.MessagePayload{ MessageType: &chatv1.MessagePayload_ToolCall{ ToolCall: &chatv1.MessageTypeToolCall{ @@ -215,7 +215,7 @@ func (h *StreamHandlerV1) SendToolCallEnd(toolCall responses.ResponseFunctionToo h.callbackStream.Send(&chatv1.CreateConversationMessageStreamResponse{ ResponsePayload: &chatv1.CreateConversationMessageStreamResponse_StreamPartEnd{ StreamPartEnd: &chatv1.StreamPartEnd{ - MessageId: "openai_" + toolCall.CallID, + MessageId: toolCall.CallID, Payload: &chatv1.MessagePayload{ MessageType: &chatv1.MessagePayload_ToolCall{ ToolCall: &chatv1.MessageTypeToolCall{ diff --git a/internal/services/toolkit/handler/toolcall.go b/internal/services/toolkit/handler/toolcall.go index 2b3db2a2..80511068 100644 --- a/internal/services/toolkit/handler/toolcall.go +++ b/internal/services/toolkit/handler/toolcall.go @@ -68,7 +68,7 @@ func (h *ToolCallHandler) HandleToolCalls(ctx context.Context, outputs []respons // If there was an error, append an error output to OpenAI chat history and in-app chat history. openaiChatHistory.OfInputItemList = append(openaiChatHistory.OfInputItemList, responses.ResponseInputItemParamOfFunctionCallOutput(toolCall.CallID, "Error: "+err.Error())) inappChatHistory = append(inappChatHistory, chatv1.Message{ - MessageId: "openai_" + toolCall.CallID, + MessageId: toolCall.CallID, Payload: &chatv1.MessagePayload{ MessageType: &chatv1.MessagePayload_ToolCall{ ToolCall: &chatv1.MessageTypeToolCall{ @@ -83,7 +83,7 @@ func (h *ToolCallHandler) HandleToolCalls(ctx context.Context, outputs []respons // On success, append the result to both OpenAI and in-app chat histories. openaiChatHistory.OfInputItemList = append(openaiChatHistory.OfInputItemList, responses.ResponseInputItemParamOfFunctionCallOutput(toolCall.CallID, result)) inappChatHistory = append(inappChatHistory, chatv1.Message{ - MessageId: "openai_" + toolCall.CallID, + MessageId: toolCall.CallID, Payload: &chatv1.MessagePayload{ MessageType: &chatv1.MessagePayload_ToolCall{ ToolCall: &chatv1.MessageTypeToolCall{