Skip to content

fix: tool call partial streams in openai providers and gemini 3 thought signature#167

Merged
codito merged 2 commits intomasterfrom
tool-fix
Apr 15, 2026
Merged

fix: tool call partial streams in openai providers and gemini 3 thought signature#167
codito merged 2 commits intomasterfrom
tool-fix

Conversation

@codito
Copy link
Copy Markdown
Owner

@codito codito commented Apr 15, 2026

No description provided.

codito added 2 commits April 15, 2026 07:12
…tion

- Provider: emit tool_calls only when finish_reason is present, clear
  after emit to prevent duplicates across multiple batches
- Session: validate tool_call.arguments is valid JSON before execution,
  log error and skip if invalid
- Add unit tests for provider tool call emission behavior
- Add integration tests for tool calling with multiple providers
- Add extra_content field to ToolCall to store provider-specific data
- Extract extra_content from OpenAI provider chunks (e.g., thought_signature)
- Update ToolExecutor to preserve full ToolCall (including extra_content)
- Add unit tests for extra_content preservation
- Fix duplicate tool call emission (emit only on finish_reason)
- Fix template test broken by sed command
- Disable integration tests (consuming too many tokens)
@codito codito enabled auto-merge (squash) April 15, 2026 03:07
let api_key = match env::var(api_key_env) {
Ok(key) => key,
Err(_) => {
eprintln!(
@codito codito merged commit 5aa44df into master Apr 15, 2026
10 of 11 checks passed
@codito codito deleted the tool-fix branch April 15, 2026 03:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants