Add support for Gemini 2.5 Pro Experimental model (#27468)

Michael Sloan and Wilhelm Klopp created

Release Notes:

- Added support for Gemini 2.5 Pro Experimental model to Zed AI.

Co-authored-by: Wilhelm Klopp <wil.klopp@gmail.com>

Change summary

crates/google_ai/src/google_ai.rs              | 5 +++++
crates/language_model/src/model/cloud_model.rs | 1 +
2 files changed, 6 insertions(+)

Detailed changes

crates/google_ai/src/google_ai.rs 🔗

@@ -314,6 +314,8 @@ pub enum Model {
     Gemini20FlashThinking,
     #[serde(rename = "gemini-2.0-flash-lite-preview")]
     Gemini20FlashLite,
+    #[serde(rename = "gemini-2.5-pro-exp-03-25")]
+    Gemini25ProExp0325,
     #[serde(rename = "custom")]
     Custom {
         name: String,
@@ -332,6 +334,7 @@ impl Model {
             Model::Gemini20Flash => "gemini-2.0-flash",
             Model::Gemini20FlashThinking => "gemini-2.0-flash-thinking-exp",
             Model::Gemini20FlashLite => "gemini-2.0-flash-lite-preview",
+            Model::Gemini25ProExp0325 => "gemini-2.5-pro-exp-03-25",
             Model::Custom { name, .. } => name,
         }
     }
@@ -344,6 +347,7 @@ impl Model {
             Model::Gemini20Flash => "Gemini 2.0 Flash",
             Model::Gemini20FlashThinking => "Gemini 2.0 Flash Thinking",
             Model::Gemini20FlashLite => "Gemini 2.0 Flash Lite",
+            Model::Gemini25ProExp0325 => "Gemini 2.5 Pro Exp",
             Self::Custom {
                 name, display_name, ..
             } => display_name.as_ref().unwrap_or(name),
@@ -358,6 +362,7 @@ impl Model {
             Model::Gemini20Flash => 1_000_000,
             Model::Gemini20FlashThinking => 1_000_000,
             Model::Gemini20FlashLite => 1_000_000,
+            Model::Gemini25ProExp0325 => 1_000_000,
             Model::Custom { max_tokens, .. } => *max_tokens,
         }
     }

crates/language_model/src/model/cloud_model.rs 🔗

@@ -106,6 +106,7 @@ impl CloudModel {
                 | google_ai::Model::Gemini20Flash
                 | google_ai::Model::Gemini20FlashThinking
                 | google_ai::Model::Gemini20FlashLite
+                | google_ai::Model::Gemini25ProExp0325
                 | google_ai::Model::Custom { .. } => {
                     LanguageModelAvailability::RequiresPlan(Plan::ZedPro)
                 }