pub enum ProviderBridgeAdapter {
None,
DeepSeek(DeepSeekBridgeAdapter),
Kimi(KimiBridgeAdapter),
Mimo(MimoBridgeAdapter),
MiniMax(MiniMaxBridgeAdapter),
DashScope(DashScopeBridgeAdapter),
Xai(XaiBridgeAdapter),
Zai(ZaiBridgeAdapter),
}Variants§
None
DeepSeek(DeepSeekBridgeAdapter)
Kimi(KimiBridgeAdapter)
Mimo(MimoBridgeAdapter)
MiniMax(MiniMaxBridgeAdapter)
DashScope(DashScopeBridgeAdapter)
Xai(XaiBridgeAdapter)
Zai(ZaiBridgeAdapter)
Implementations§
Source§impl ProviderBridgeAdapter
impl ProviderBridgeAdapter
Sourcepub fn for_provider(
provider_id: &str,
_target_protocol: WireProtocol,
config: ProviderBridgeAdapterConfig,
) -> Self
pub fn for_provider( provider_id: &str, _target_protocol: WireProtocol, config: ProviderBridgeAdapterConfig, ) -> Self
Examples found in repository?
examples/provider_adapter.rs (lines 37-47)
7fn main() -> Result<(), Box<dyn std::error::Error>> {
8 let original_responses_body = json!({
9 "model": "deepseek-v4-pro",
10 "input": [
11 {
12 "type": "message",
13 "role": "user",
14 "content": [
15 { "type": "input_text", "text": "Call lookup_bridge_fact, then answer." }
16 ]
17 }
18 ],
19 "tools": [{
20 "type": "function",
21 "name": "lookup_bridge_fact",
22 "description": "Look up a bridge fact.",
23 "parameters": {
24 "type": "object",
25 "properties": {
26 "topic": { "type": "string" }
27 },
28 "required": ["topic"]
29 }
30 }],
31 "tool_choice": "required"
32 });
33
34 let universal = OpenAiResponsesTranslator.decode_request(original_responses_body.clone())?;
35 let mut chat_body = OpenAiChatTranslator.encode_request(&universal)?;
36
37 let mut adapter = ProviderBridgeAdapter::for_provider(
38 "deepseek",
39 WireProtocol::OpenAiChat,
40 ProviderBridgeAdapterConfig {
41 deepseek: DeepSeekBridgeSettings {
42 thinking: true,
43 replay_reasoning_content: true,
44 },
45 ..ProviderBridgeAdapterConfig::default()
46 },
47 );
48 adapter.prepare_chat_request(
49 ProviderRequestSource::OpenAiResponses,
50 &original_responses_body,
51 &mut chat_body,
52 );
53
54 println!("{}", serde_json::to_string_pretty(&chat_body)?);
55 Ok(())
56}pub fn prepare_responses_request(&mut self, request: &mut Value)
Sourcepub fn prepare_chat_request(
&mut self,
source: ProviderRequestSource,
original_request: &Value,
chat_request: &mut Value,
)
pub fn prepare_chat_request( &mut self, source: ProviderRequestSource, original_request: &Value, chat_request: &mut Value, )
Examples found in repository?
examples/provider_adapter.rs (lines 48-52)
7fn main() -> Result<(), Box<dyn std::error::Error>> {
8 let original_responses_body = json!({
9 "model": "deepseek-v4-pro",
10 "input": [
11 {
12 "type": "message",
13 "role": "user",
14 "content": [
15 { "type": "input_text", "text": "Call lookup_bridge_fact, then answer." }
16 ]
17 }
18 ],
19 "tools": [{
20 "type": "function",
21 "name": "lookup_bridge_fact",
22 "description": "Look up a bridge fact.",
23 "parameters": {
24 "type": "object",
25 "properties": {
26 "topic": { "type": "string" }
27 },
28 "required": ["topic"]
29 }
30 }],
31 "tool_choice": "required"
32 });
33
34 let universal = OpenAiResponsesTranslator.decode_request(original_responses_body.clone())?;
35 let mut chat_body = OpenAiChatTranslator.encode_request(&universal)?;
36
37 let mut adapter = ProviderBridgeAdapter::for_provider(
38 "deepseek",
39 WireProtocol::OpenAiChat,
40 ProviderBridgeAdapterConfig {
41 deepseek: DeepSeekBridgeSettings {
42 thinking: true,
43 replay_reasoning_content: true,
44 },
45 ..ProviderBridgeAdapterConfig::default()
46 },
47 );
48 adapter.prepare_chat_request(
49 ProviderRequestSource::OpenAiResponses,
50 &original_responses_body,
51 &mut chat_body,
52 );
53
54 println!("{}", serde_json::to_string_pretty(&chat_body)?);
55 Ok(())
56}pub fn prepare_anthropic_request( &mut self, source: ProviderRequestSource, request: &mut Value, )
pub fn normalize_chat_response(&mut self, response: &mut Value)
pub fn transform_upstream_events(&mut self, events: &mut Vec<UniversalEvent>)
Trait Implementations§
Source§impl Clone for ProviderBridgeAdapter
impl Clone for ProviderBridgeAdapter
Source§fn clone(&self) -> ProviderBridgeAdapter
fn clone(&self) -> ProviderBridgeAdapter
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ProviderBridgeAdapter
impl RefUnwindSafe for ProviderBridgeAdapter
impl Send for ProviderBridgeAdapter
impl Sync for ProviderBridgeAdapter
impl Unpin for ProviderBridgeAdapter
impl UnsafeUnpin for ProviderBridgeAdapter
impl UnwindSafe for ProviderBridgeAdapter
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more