fix: Expose ThinkingConfig class in firebase_ai.dart for use in GenerationConfig #17599
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Expose ThinkingConfig class in firebase_ai.dart for use in GenerationConfig
Description
This PR adds the
ThinkingConfig
class to the export list inlib/firebase_ai.dart
for thefirebase_ai
package. Currently,ThinkingConfig
is defined insrc/api.dart
but not exported, causing a compilation error (The method 'ThinkingConfig' isn't defined
) when users attempt to use it withGenerationConfig
to configure the thinking budget for Vertex AI models (e.g.,gemini-2.5-flash
). This change ensuresThinkingConfig
is accessible, enabling users to set thethinkingBudget
parameter as documented in the Firebase AI Logic SDK (https://firebase.google.com/docs/ai-logic/thinking?api=vertex#set-thinking-budget).Existing Behavior: The
ThinkingConfig
class is defined but not exported, making it inaccessible to users of thefirebase_ai
package despite being required forGenerationConfig
.Change: Added
ThinkingConfig
to theexport 'src/api.dart' show ...
statement inlib/firebase_ai.dart
.Motivation: Users encounter errors when trying to use
ThinkingConfig
to disable or configure the thinking budget, as intended by the SDK. This fix aligns the package with the documented functionality and improves developer experience.Related Issues
ThinkingConfig
is not accessible, as reported by users attempting to use the thinking budget feature.Checklist
///
). (Note: Added doc comment forThinkingConfig
export if needed.)melos run analyze
) does not report any problems on my PR.Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?