Return language model events when using Google model via zed.dev (#27831)

Release Notes:

- N/A
This commit is contained in:
Bennet Bo Fenner 2025-04-01 10:58:17 +02:00 committed by GitHub
parent 8be5ed22f6
commit 5509e0141a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -37,9 +37,7 @@ use strum::IntoEnumIterator;
use ui::{TintColor, prelude::*}; use ui::{TintColor, prelude::*};
use crate::AllLanguageModelSettings; use crate::AllLanguageModelSettings;
use crate::provider::anthropic::{ use crate::provider::anthropic::{count_anthropic_tokens, into_anthropic};
count_anthropic_tokens, into_anthropic, map_to_language_model_completion_events,
};
use crate::provider::google::into_google; use crate::provider::google::into_google;
use crate::provider::open_ai::{count_open_ai_tokens, into_open_ai}; use crate::provider::open_ai::{count_open_ai_tokens, into_open_ai};
@ -648,9 +646,11 @@ impl LanguageModel for CloudLanguageModel {
}, },
) )
.await?; .await?;
Ok(map_to_language_model_completion_events(Box::pin( Ok(
response_lines(response).map_err(AnthropicError::Other), crate::provider::anthropic::map_to_language_model_completion_events(
))) Box::pin(response_lines(response).map_err(AnthropicError::Other)),
),
)
}); });
async move { Ok(future.await?.boxed()) }.boxed() async move { Ok(future.await?.boxed()) }.boxed()
} }
@ -698,17 +698,13 @@ impl LanguageModel for CloudLanguageModel {
}, },
) )
.await?; .await?;
Ok(google_ai::extract_text_from_events(response_lines( Ok(
response, crate::provider::google::map_to_language_model_completion_events(Box::pin(
))) response_lines(response),
)),
)
}); });
async move { async move { Ok(future.await?.boxed()) }.boxed()
Ok(future
.await?
.map(|result| result.map(LanguageModelCompletionEvent::Text))
.boxed())
}
.boxed()
} }
} }
} }