gproxy-protocol 4.1.5

GPROXY v4 connection modelling, operation declarations, vendor wire types and pairwise conversion
Documentation
//! Direct incremental Chat ↔ Gemini streams, with native source validation.

mod chat_to_gemini;
mod common;
mod gemini_to_chat;
mod tools;

use crate::{
    transform::{
        Converted, Report, TransformError, TransformErrorKind,
        identity::{IdentityFlow, IdentityRole, SourceIdentity, TargetIdPolicy},
    },
    wire::{
        DeclaredFields, gemini as g,
        openai::chat::{self as c, stream as s},
    },
};
use std::collections::BTreeMap;

pub use chat_to_gemini::ChatToGeminiStream;
pub use common::{StreamEnd, StreamLimits};
pub use gemini_to_chat::{GeminiToChatContext, GeminiToChatStream};

fn invalid(message: &'static str) -> TransformError {
    TransformError::invalid_result("chat_gemini.stream", message)
}

fn limit() -> TransformError {
    TransformError::new(
        TransformErrorKind::Limit,
        "chat_gemini.stream",
        "stream limit exceeded",
    )
}