From ef4508dbc8fce4e660e55aa1673c25819a903630 Mon Sep 17 00:00:00 2001 From: Luis Pater Date: Wed, 21 Jan 2026 13:37:10 +0800 Subject: [PATCH] refactor(cache, translator): remove session ID from signature caching and clean up logic --- internal/cache/signature_cache.go | 8 ++++---- .../antigravity/claude/antigravity_claude_response.go | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/internal/cache/signature_cache.go b/internal/cache/signature_cache.go index cb002814..ea98f8a0 100644 --- a/internal/cache/signature_cache.go +++ b/internal/cache/signature_cache.go @@ -104,9 +104,9 @@ func CacheSignature(modelName, text, signature string) { return } - sc := getOrCreateSession(fmt.Sprintf("%s#%s", GetModelGroup(modelName), text)) + text = fmt.Sprintf("%s#%s", GetModelGroup(modelName), text) textHash := hashText(text) - + sc := getOrCreateSession(textHash) sc.mu.Lock() defer sc.mu.Unlock() @@ -127,8 +127,8 @@ func GetCachedSignature(modelName, text string) string { } return "" } - - val, ok := signatureCache.Load(fmt.Sprintf("%s#%s", family, text)) + text = fmt.Sprintf("%s#%s", GetModelGroup(modelName), text) + val, ok := signatureCache.Load(hashText(text)) if !ok { if family == "gemini" { return "skip_thought_signature_validator" diff --git a/internal/translator/antigravity/claude/antigravity_claude_response.go b/internal/translator/antigravity/claude/antigravity_claude_response.go index acad9a4f..57eca78c 100644 --- a/internal/translator/antigravity/claude/antigravity_claude_response.go +++ b/internal/translator/antigravity/claude/antigravity_claude_response.go @@ -41,7 +41,6 @@ type Params struct { HasContent bool // Tracks whether any content (text, thinking, or tool use) has been output // Signature caching support - SessionID string // Session ID derived from request for signature caching CurrentThinkingText strings.Builder // Accumulates thinking text for signature caching } @@ -138,7 +137,7 @@ func ConvertAntigravityResponseToClaude(_ context.Context, _ string, originalReq if thoughtSignature := partResult.Get("thoughtSignature"); thoughtSignature.Exists() && thoughtSignature.String() != "" { // log.Debug("Branch: signature_delta") - if params.SessionID != "" && params.CurrentThinkingText.Len() > 0 { + if params.CurrentThinkingText.Len() > 0 { cache.CacheSignature(modelName, params.CurrentThinkingText.String(), thoughtSignature.String()) // log.Debugf("Cached signature for thinking block (sessionID=%s, textLen=%d)", params.SessionID, params.CurrentThinkingText.Len()) params.CurrentThinkingText.Reset()