nexil 0.9.0

Provider-agnostic LLM toolkit — streaming, tool calls, tape storage, OAuth
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use serde_json::Value;

use crate::clients::parsing::TransportKind;
use crate::core::errors::ConduitError;
use crate::core::request_builder::TransportCallRequest;

pub trait ProviderAdapter: Send + Sync {
    fn build_request_url(&self, api_base: &str, transport: TransportKind) -> String;
    fn build_request_body(
        &self,
        request: &TransportCallRequest,
        transport: TransportKind,
    ) -> Result<Value, ConduitError>;
}