Skip to content

fix(reasoning): add gemini-3 model support with extended reasoning fields#2069

Merged
tusharmath merged 13 commits intomainfrom
fix/gemini-3-model
Dec 7, 2025
Merged

fix(reasoning): add gemini-3 model support with extended reasoning fields#2069
tusharmath merged 13 commits intomainfrom
fix/gemini-3-model

Conversation

@amitksingh1490
Copy link
Copy Markdown
Contributor

@amitksingh1490 amitksingh1490 commented Dec 5, 2025

@github-actions github-actions Bot added the type: fix Iterations on existing features or infrastructure. label Dec 5, 2025
@amitksingh1490 amitksingh1490 marked this pull request as ready for review December 7, 2025 06:10
is_complete = finish_reason == Some(FinishReason::Stop);
// Turn is completed, if finish_reason is 'stop'. Gemini models return stop as
// finish reason with tool calls.
is_complete = finish_reason == Some(FinishReason::Stop) && tool_calls.is_empty();
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add a test in orch spec

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done in orch_spec

should_yield = is_complete
|| tool_calls
.iter()
.any(|call| ToolCatalog::should_yield(&call.name));
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

May be we can combine the two conditions -
should_yield and is_complete

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this can't be done as should yield is use to show yes/no prompt

});
}
resp = resp
.add_reasoning_detail(forge_domain::Reasoning::Part(details));
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some code duplication here, can we dedupe?

Comment thread crates/forge_domain/src/reasoning.rs Outdated
.iter()
.filter_map(|part| part.format.as_deref())
.find(|s| !s.is_empty())
.map(String::from);
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a bit of duplication here. CAn be deduped

@tusharmath tusharmath merged commit e316512 into main Dec 7, 2025
8 checks passed
@tusharmath tusharmath deleted the fix/gemini-3-model branch December 7, 2025 14:14
laststylebender14 pushed a commit that referenced this pull request Dec 16, 2025
…elds (#2069)

Co-authored-by: Tushar Mathur <tusharmath@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: fix Iterations on existing features or infrastructure.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants