pub enum ContextCompression {
MiddleOut,
}Expand description
Which context-compression engine to enable on outgoing OpenRouter
chat-completions requests. Maps onto OpenRouter’s request-body
plugins array — see https://openrouter.ai/docs/features/middle-out.
Variants§
MiddleOut
Middle-out compression — drops content from the middle of the conversation when the request would otherwise exceed the model’s context window. The only engine documented today.
Intentionally no #[schemars(title)] here: the builder’s
single-variant-anyOf flatten merges the variant’s title onto
the parent schema, clobbering the enum’s agent.openrouter .ContextCompression rename. Add a per-variant title only
once a second variant lands.
Implementations§
Trait Implementations§
Source§impl<'arbitrary> Arbitrary<'arbitrary> for ContextCompression
impl<'arbitrary> Arbitrary<'arbitrary> for ContextCompression
Source§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
Generate an arbitrary value of
Self from the given unstructured data. Read moreSource§fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
Generate an arbitrary value of
Self from the entirety of the given
unstructured data. Read moreSource§fn size_hint(depth: usize) -> (usize, Option<usize>)
fn size_hint(depth: usize) -> (usize, Option<usize>)
Get a size hint for how many bytes out of an
Unstructured this type
needs to construct itself. Read moreSource§fn try_size_hint(
depth: usize,
) -> Result<(usize, Option<usize>), MaxRecursionReached>
fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>
Get a size hint for how many bytes out of an
Unstructured this type
needs to construct itself. Read moreSource§impl Clone for ContextCompression
impl Clone for ContextCompression
Source§fn clone(&self) -> ContextCompression
fn clone(&self) -> ContextCompression
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 moreimpl Copy for ContextCompression
Source§impl Debug for ContextCompression
impl Debug for ContextCompression
Source§impl<'de> Deserialize<'de> for ContextCompression
impl<'de> Deserialize<'de> for ContextCompression
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 JsonSchema for ContextCompression
impl JsonSchema for ContextCompression
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§impl PartialEq for ContextCompression
impl PartialEq for ContextCompression
Source§fn eq(&self, other: &ContextCompression) -> bool
fn eq(&self, other: &ContextCompression) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for ContextCompression
impl Serialize for ContextCompression
impl StructuralPartialEq for ContextCompression
Auto Trait Implementations§
impl Freeze for ContextCompression
impl RefUnwindSafe for ContextCompression
impl Send for ContextCompression
impl Sync for ContextCompression
impl Unpin for ContextCompression
impl UnsafeUnpin for ContextCompression
impl UnwindSafe for ContextCompression
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
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> 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 more