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
ThinkingConfigclass to the export list inlib/firebase_ai.dartfor thefirebase_aipackage. Currently,ThinkingConfigis defined insrc/api.dartbut not exported, causing a compilation error (The method 'ThinkingConfig' isn't defined) when users attempt to use it withGenerationConfigto configure the thinking budget for Vertex AI models (e.g.,gemini-2.5-flash). This change ensuresThinkingConfigis accessible, enabling users to set thethinkingBudgetparameter as documented in the Firebase AI Logic SDK (https://firebase.google.com/docs/ai-logic/thinking?api=vertex#set-thinking-budget).Existing Behavior: The
ThinkingConfigclass is defined but not exported, making it inaccessible to users of thefirebase_aipackage despite being required forGenerationConfig.Change: Added
ThinkingConfigto theexport 'src/api.dart' show ...statement inlib/firebase_ai.dart.Motivation: Users encounter errors when trying to use
ThinkingConfigto 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
ThinkingConfigis not accessible, as reported by users attempting to use the thinking budget feature.Checklist
///). (Note: Added doc comment forThinkingConfigexport 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?