defect_llm/protocol.rs
1//! Protocol layer: bidirectional conversion between wire JSON and [`defect_core::llm`]
2//! internal representations.
3//!
4//! This layer handles only encoding/decoding; it does not include transport, auth, or URL
5//! templates. Each submodule corresponds to a [`defect_core::llm::ProtocolId`].
6
7// anthropic_messages is shared by anthropic and bedrock (bedrock uses the Anthropic
8// Messages shape).
9#[cfg(any(feature = "provider-anthropic", feature = "provider-bedrock"))]
10pub mod anthropic_messages;
11// deepseek_chat is used only by deepseek and depends on openai_chat.
12#[cfg(feature = "provider-deepseek")]
13pub mod deepseek_chat;
14// openai_chat is shared by openai and deepseek.
15#[cfg(any(feature = "provider-openai", feature = "provider-deepseek"))]
16pub mod openai_chat;