more refactoring

This commit is contained in:
Salman Paracha 2025-08-09 22:01:20 -07:00
parent c4148a3d52
commit d4ca70d177
10 changed files with 12 additions and 1 deletions

View file

@ -68,6 +68,7 @@ impl ProviderResponse for ArchProvider {
impl StreamingResponse for ArchProvider {
type Error = OpenAIApiError;
type StreamChunk = crate::apis::openai::ChatCompletionsStreamResponse;
type StreamingIter = OpenAIStreamingResponse;
fn try_from_bytes(&self, bytes: &[u8], provider: &super::super::ProviderId, mode: ConversionMode) -> Result<Self::StreamingIter, Self::Error> {

View file

@ -71,6 +71,7 @@ impl ProviderResponse for ClaudeProvider {
impl StreamingResponse for ClaudeProvider {
type Error = OpenAIApiError;
type StreamChunk = crate::apis::openai::ChatCompletionsStreamResponse;
type StreamingIter = OpenAIStreamingResponse;
fn try_from_bytes(&self, bytes: &[u8], provider: &super::super::ProviderId, mode: ConversionMode) -> Result<Self::StreamingIter, Self::Error> {

View file

@ -68,6 +68,7 @@ impl ProviderResponse for DeepseekProvider {
impl StreamingResponse for DeepseekProvider {
type Error = OpenAIApiError;
type StreamChunk = crate::apis::openai::ChatCompletionsStreamResponse;
type StreamingIter = OpenAIStreamingResponse;
fn try_from_bytes(&self, bytes: &[u8], provider: &super::super::ProviderId, mode: ConversionMode) -> Result<Self::StreamingIter, Self::Error> {

View file

@ -71,6 +71,7 @@ impl ProviderResponse for GeminiProvider {
impl StreamingResponse for GeminiProvider {
type Error = OpenAIApiError;
type StreamChunk = crate::apis::openai::ChatCompletionsStreamResponse;
type StreamingIter = OpenAIStreamingResponse;
fn try_from_bytes(&self, bytes: &[u8], provider: &super::super::ProviderId, mode: ConversionMode) -> Result<Self::StreamingIter, Self::Error> {

View file

@ -71,6 +71,7 @@ impl ProviderResponse for GitHubProvider {
impl StreamingResponse for GitHubProvider {
type Error = OpenAIApiError;
type StreamChunk = crate::apis::openai::ChatCompletionsStreamResponse;
type StreamingIter = OpenAIStreamingResponse;
fn try_from_bytes(&self, bytes: &[u8], provider: &super::super::ProviderId, mode: ConversionMode) -> Result<Self::StreamingIter, Self::Error> {

View file

@ -71,6 +71,7 @@ impl ProviderResponse for GroqProvider {
impl StreamingResponse for GroqProvider {
type Error = OpenAIApiError;
type StreamChunk = crate::apis::openai::ChatCompletionsStreamResponse;
type StreamingIter = OpenAIStreamingResponse;
fn try_from_bytes(&self, bytes: &[u8], provider: &super::super::ProviderId, mode: ConversionMode) -> Result<Self::StreamingIter, Self::Error> {

View file

@ -68,6 +68,7 @@ impl ProviderResponse for MistralProvider {
impl StreamingResponse for MistralProvider {
type Error = OpenAIApiError;
type StreamChunk = crate::apis::openai::ChatCompletionsStreamResponse;
type StreamingIter = OpenAIStreamingResponse;
fn try_from_bytes(&self, bytes: &[u8], provider: &super::super::ProviderId, mode: ConversionMode) -> Result<Self::StreamingIter, Self::Error> {

View file

@ -241,6 +241,7 @@ impl ProviderResponse for Provider {
impl StreamingResponse for Provider {
type Error = openai::provider::OpenAIApiError;
type StreamChunk = crate::apis::openai::ChatCompletionsStreamResponse;
type StreamingIter = openai::provider::OpenAIStreamingResponse;
fn try_from_bytes(&self, bytes: &[u8], provider_id: &super::ProviderId, mode: ConversionMode) -> Result<Self::StreamingIter, Self::Error> {

View file

@ -170,6 +170,7 @@ impl ProviderResponse for OpenAIProvider {
impl StreamingResponse for OpenAIProvider {
type Error = OpenAIApiError;
type StreamChunk = ChatCompletionsStreamResponse;
type StreamingIter = OpenAIStreamingResponse;
fn try_from_bytes(&self, bytes: &[u8], _provider: &super::super::ProviderId, _mode: ConversionMode) -> Result<Self::StreamingIter, Self::Error> {
@ -206,6 +207,7 @@ impl StreamChunk for ChatCompletionsStreamResponse {
impl StreamingResponse for OpenAIStreamingResponse {
type Error = OpenAIApiError;
type StreamChunk = ChatCompletionsStreamResponse;
type StreamingIter = OpenAIStreamingResponse;
fn try_from_bytes(&self, bytes: &[u8], _provider: &super::super::ProviderId, _mode: ConversionMode) -> Result<Self::StreamingIter, Self::Error> {

View file

@ -75,7 +75,8 @@ pub trait StreamChunk {
/// Trait for streaming response iterators
pub trait StreamingResponse {
type Error: Error + Send + Sync + 'static;
type StreamingIter: Iterator<Item = Result<crate::apis::openai::ChatCompletionsStreamResponse, Self::Error>>;
type StreamChunk: StreamChunk;
type StreamingIter: Iterator<Item = Result<Self::StreamChunk, Self::Error>>;
/// Parse streaming response from raw bytes
fn try_from_bytes(&self, bytes: &[u8], provider: &super::ProviderId, mode: ConversionMode) -> Result<Self::StreamingIter, Self::Error>;