From 6184c433191f20cdeb80caf3f28a63c070a360d9 Mon Sep 17 00:00:00 2001 From: Luis Pater Date: Tue, 20 Jan 2026 12:35:40 +0800 Subject: [PATCH] Fixed: #1109 feat(translator): enhance session ID derivation with user_id parsing in Claude --- .../antigravity/claude/antigravity_claude_request.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/internal/translator/antigravity/claude/antigravity_claude_request.go b/internal/translator/antigravity/claude/antigravity_claude_request.go index 038ddb8e..87772d8c 100644 --- a/internal/translator/antigravity/claude/antigravity_claude_request.go +++ b/internal/translator/antigravity/claude/antigravity_claude_request.go @@ -22,6 +22,14 @@ import ( // deriveSessionID generates a stable session ID from the request. // Uses the hash of the first user message to identify the conversation. func deriveSessionID(rawJSON []byte) string { + userIDResult := gjson.GetBytes(rawJSON, "metadata.user_id") + if userIDResult.Exists() { + userID := userIDResult.String() + idx := strings.Index(userID, "session_") + if idx != -1 { + return userID[idx+8:] + } + } messages := gjson.GetBytes(rawJSON, "messages") if !messages.IsArray() { return ""