gproxy-protocol 1.0.20

Wire-format types and cross-protocol transforms for Claude, OpenAI, and Gemini LLM APIs.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use crate::claude::create_message::request::ClaudeCreateMessageRequest;
use crate::openai::create_response::request::OpenAiCreateResponseRequest;
use crate::openai::create_response::types::HttpMethod as OpenAiHttpMethod;
use crate::transform::utils::TransformError;

impl TryFrom<&ClaudeCreateMessageRequest> for OpenAiCreateResponseRequest {
    type Error = TransformError;

    fn try_from(value: &ClaudeCreateMessageRequest) -> Result<Self, TransformError> {
        let mut output = OpenAiCreateResponseRequest::try_from(value.clone())?;
        output.method = OpenAiHttpMethod::Post;
        output.body.stream = Some(true);
        Ok(output)
    }
}