Skip to main content

gproxy_protocol/transform/generate/claude_chat/stream/
mod.rs

1//! Direct Chat ↔ Claude incremental events, with independent native validation.
2
3mod chat_blocks;
4mod chat_to_claude;
5mod claude_to_chat;
6mod common;
7mod usage_facts;
8
9use crate::{
10    transform::{
11        Converted, Report, TransformError, TransformErrorKind,
12        identity::{IdentityFlow, IdentityRole, KnownIdPrefix, SourceIdentity, TargetIdPolicy},
13    },
14    wire::{
15        DeclaredFields,
16        claude::{generate_content as c, stream as s},
17        openai::chat::{self as o, stream as q},
18    },
19};
20use std::collections::BTreeMap;
21
22pub use chat_to_claude::{ChatToClaudeContext, ChatToClaudeStream};
23pub use claude_to_chat::{ClaudeToChatContext, ClaudeToChatStream};
24pub use common::{StreamEnd, StreamLimits};
25
26fn invalid(detail: &'static str) -> TransformError {
27    TransformError::invalid_result("claude_chat.stream", detail)
28}
29
30fn limit() -> TransformError {
31    TransformError::new(
32        TransformErrorKind::Limit,
33        "claude_chat.stream",
34        "stream limit exceeded",
35    )
36}