pub struct InMemoryProviderStore { /* private fields */ }Expand description
In-memory LLM provider store
Stores model configurations in a HashMap keyed by model UUID. Useful for testing and examples where you want to configure providers without a database.
§Example
ⓘ
use everruns_core::in_memory::InMemoryProviderStore;
use everruns_core::EnvCredentialProvider;
let store = InMemoryProviderStore::from_credential_provider(&EnvCredentialProvider).await;
// Uses OPENAI_API_KEY or ANTHROPIC_API_KEY via the injected providerImplementations§
Source§impl InMemoryProviderStore
impl InMemoryProviderStore
Sourcepub async fn from_credential_provider(provider: &dyn CredentialProvider) -> Self
pub async fn from_credential_provider(provider: &dyn CredentialProvider) -> Self
Create a provider store from an injected CredentialProvider.
Checks OpenAI first, then Anthropic, and configures a default model for
whichever the provider resolves credentials for. The store never reads
the process environment itself; standalone/dev callers pass
EnvCredentialProvider
to opt into env-based credentials.
Sourcepub async fn with_default(model: ResolvedModel) -> Self
pub async fn with_default(model: ResolvedModel) -> Self
Create a provider store with a specific default model
Sourcepub async fn add_model(&self, model_id: ModelId, model: ResolvedModel)
pub async fn add_model(&self, model_id: ModelId, model: ResolvedModel)
Add a model to the store
Sourcepub async fn set_default_model(&self, model: ResolvedModel)
pub async fn set_default_model(&self, model: ResolvedModel)
Set the default model
Trait Implementations§
Source§impl Clone for InMemoryProviderStore
impl Clone for InMemoryProviderStore
Source§fn clone(&self) -> InMemoryProviderStore
fn clone(&self) -> InMemoryProviderStore
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 moreSource§impl Debug for InMemoryProviderStore
impl Debug for InMemoryProviderStore
Source§impl Default for InMemoryProviderStore
impl Default for InMemoryProviderStore
Source§fn default() -> InMemoryProviderStore
fn default() -> InMemoryProviderStore
Returns the “default value” for a type. Read more
Source§impl ProviderStore for InMemoryProviderStore
impl ProviderStore for InMemoryProviderStore
Auto Trait Implementations§
impl !RefUnwindSafe for InMemoryProviderStore
impl !UnwindSafe for InMemoryProviderStore
impl Freeze for InMemoryProviderStore
impl Send for InMemoryProviderStore
impl Sync for InMemoryProviderStore
impl Unpin for InMemoryProviderStore
impl UnsafeUnpin for InMemoryProviderStore
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
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,
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> 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>
Converts
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>
Converts
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 moreSource§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>
Wrap the input message
T in a tonic::Request