pub enum WorkspacePolicyDrift {
BudgetExhausted {
usage_usd: f64,
limit_usd: f64,
message: String,
},
BudgetBelowThreshold {
remaining_usd: f64,
threshold_usd: f64,
message: String,
},
FreeTierRestriction {
feature: String,
message: String,
},
}Expand description
A detected incompatibility between local routing config and the upstream OpenRouter workspace policy.
Variants§
BudgetExhausted
The workspace has a spend cap and the remaining budget is zero.
BudgetBelowThreshold
The remaining budget is below the caller-requested per-probe threshold.
FreeTierRestriction
The key is on the free tier but the routing config requires paid-tier
features (e.g. zdr, data_collection: deny, paid-only providers).
Trait Implementations§
Source§impl Clone for WorkspacePolicyDrift
impl Clone for WorkspacePolicyDrift
Source§fn clone(&self) -> WorkspacePolicyDrift
fn clone(&self) -> WorkspacePolicyDrift
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 WorkspacePolicyDrift
impl Debug for WorkspacePolicyDrift
Source§impl<'de> Deserialize<'de> for WorkspacePolicyDrift
impl<'de> Deserialize<'de> for WorkspacePolicyDrift
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>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for WorkspacePolicyDrift
impl PartialEq for WorkspacePolicyDrift
Source§impl Serialize for WorkspacePolicyDrift
impl Serialize for WorkspacePolicyDrift
impl StructuralPartialEq for WorkspacePolicyDrift
Auto Trait Implementations§
impl Freeze for WorkspacePolicyDrift
impl RefUnwindSafe for WorkspacePolicyDrift
impl Send for WorkspacePolicyDrift
impl Sync for WorkspacePolicyDrift
impl Unpin for WorkspacePolicyDrift
impl UnsafeUnpin for WorkspacePolicyDrift
impl UnwindSafe for WorkspacePolicyDrift
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,
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> 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