pub struct CompiledProvider {
pub name: String,
pub kind: AiProviderKind,
pub upstream: String,
pub path: Option<String>,
pub auth_headers: Vec<(String, String)>,
pub credential_pool: Option<Arc<CredentialPool>>,
}Expand description
One compiled provider: everything a request needs after the model alias resolves, with the auth value already RESOLVED (DW-045 compile-time contract — validation resolved it once at publish; re-resolution here keeps the runtime table self-sufficient and a reload picks up rotated env/file values).
Fields§
§name: String§kind: AiProviderKind§upstream: StringName of the upstream that carries the transport.
path: Option<String>Full request path override. When set, the transport uses this path verbatim instead of the adapter’s built-in path. None means use the adapter’s per-kind default path.
auth_headers: Vec<(String, String)>Resolved auth header pairs (name, value). SECRET: never logged,
never echoed; the redaction walk in config covers config
echoes and this value lives only here and on the wire.
Used when the provider has singular auth (no pool).
credential_pool: Option<Arc<CredentialPool>>DW-080 (Ent): credential pool for this provider. When set, the
pool is used INSTEAD of auth_headers — the proxy picks one
credential per request and rotates on 429. None when the
provider has singular auth or no auth.
Trait Implementations§
Source§impl Clone for CompiledProvider
impl Clone for CompiledProvider
Source§fn clone(&self) -> CompiledProvider
fn clone(&self) -> CompiledProvider
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for CompiledProvider
impl RefUnwindSafe for CompiledProvider
impl Send for CompiledProvider
impl Sync for CompiledProvider
impl Unpin for CompiledProvider
impl UnwindSafe for CompiledProvider
Blanket Implementations§
§impl<T> AnyExt for T
impl<T> AnyExt for T
§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind reference§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable reference§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointer§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer§fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
fn downcast_box<T>(this: Box<Self>) -> Result<Box<T>, Box<Self>>where
T: Any,
T behind Box pointer§fn downcast_move<T>(this: Self) -> Option<T>
fn downcast_move<T>(this: Self) -> Option<T>
Self to T,
useful only in generic context as a workaround for specializationSource§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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more