Skip to content

Conversation

@daniel-lxs
Copy link
Member

@daniel-lxs daniel-lxs commented Jan 13, 2026

Fixes ROO-523

Add safety features to prevent 'Thought signature is not valid' errors when using Gemini models via OpenRouter.

Changes:

  • consolidateReasoningDetails(): filter corrupted encrypted blocks and consolidate by index
  • sanitizeGeminiMessages(): filter reasoning_details by tool call ID and drop invalid tool calls/results

Adapted from cline/cline#8214


Important

Adds functions to filter and consolidate reasoning details for Gemini models, ensuring valid tool calls and reasoning details are processed correctly.

  • Behavior:
    • sanitizeGeminiMessages(): Filters reasoning_details by tool call ID, drops invalid tool calls/results in openrouter.ts.
    • consolidateReasoningDetails(): Filters corrupted encrypted blocks, consolidates by index in openrouter.ts.
  • Functions:
    • Adds sanitizeGeminiMessages and consolidateReasoningDetails to openai-format.ts.
  • Tests:
    • Adds tests for sanitizeGeminiMessages and consolidateReasoningDetails in openai-format.spec.ts.

This description was created by Ellipsis for 25ce00b. You can customize this summary. It will automatically update as commits are pushed.

Add safety features to prevent 'Thought signature is not valid' errors:
- consolidateReasoningDetails(): filter corrupted encrypted blocks
- sanitizeGeminiMessages(): filter reasoning_details by tool call ID

Adapted from cline/cline#8214
@daniel-lxs daniel-lxs requested review from cte, jr and mrubens as code owners January 13, 2026 16:02
@dosubot dosubot bot added size:XL This PR changes 500-999 lines, ignoring generated files. bug Something isn't working labels Jan 13, 2026
@roomote
Copy link
Contributor

roomote bot commented Jan 13, 2026

Rooviewer Clock   See task on Roo Cloud

Review complete. No issues found.

The implementation correctly adds safety features to prevent 'Thought signature is not valid' errors when using Gemini models via OpenRouter. The code properly handles:

  • Filtering corrupted encrypted blocks
  • Consolidating reasoning_details by index
  • Sanitizing messages by filtering reasoning_details by tool call ID
  • Dropping invalid tool calls/results

Test coverage is comprehensive.

Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working size:XL This PR changes 500-999 lines, ignoring generated files.

Projects

Status: Triage

Development

Successfully merging this pull request may close these issues.

2 participants