pub struct Provider {
pub id: ProviderId,
pub name: String,
pub provider_type: DriverId,
pub base_url: Option<String>,
pub api_key_set: bool,
pub status: ProviderStatus,
pub last_synced_at: Option<DateTime<Utc>>,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
pub trace: Option<ProviderTraceConfig>,
}Expand description
LLM Provider entity (API keys never exposed) Note: This is the entity struct, separate from the Provider trait in llm.rs
Fields§
§id: ProviderIdPrefixed public identifier. See ID Schema.
name: StringHuman-readable provider name. Safe to render in user-facing messages.
provider_type: DriverIdProvider implementation type (OpenAI, Anthropic, Gemini, etc.).
base_url: Option<String>Custom base URL for self-hosted / proxied providers. None means use the provider’s default endpoint.
api_key_set: boolWhether an API key is configured. The key itself is never returned.
status: ProviderStatusCurrent lifecycle status of this provider.
last_synced_at: Option<DateTime<Utc>>Timestamp of the most recent successful model sync from the provider’s API (RFC 3339).
created_at: DateTime<Utc>Timestamp when this provider was created (RFC 3339).
updated_at: DateTime<Utc>Timestamp when this provider was last updated (RFC 3339).
trace: Option<ProviderTraceConfig>Resolved trace/observability link configuration: the driver’s default
templates overlaid with this provider’s stored overrides. None when the
driver exposes no dashboard and the org configured nothing.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Provider
impl<'de> Deserialize<'de> for Provider
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for Provider
impl RefUnwindSafe for Provider
impl Send for Provider
impl Sync for Provider
impl Unpin for Provider
impl UnsafeUnpin for Provider
impl UnwindSafe for Provider
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request