pub struct DerivedContext {
pub messages: Vec<Message>,
pub origin_len: usize,
pub compressed: bool,
pub dropped_ranges: Vec<(usize, usize)>,
pub provenance: Vec<String>,
pub resolutions: Vec<ResidencyLevel>,
}Expand description
The per-step LLM context, derived from an append-only chat history.
This is the object the prompt loop should hand to the provider — not
Session::messages directly.
§Fields
messages— The message list to include in the completion request.origin_len— Length of the source history at the moment of derivation.compressed— Whether compression fired during this derivation.dropped_ranges— Best-effort ranges elided from the working context.provenance— Pipeline steps that produced this context.resolutions— Per-message residency levels in the derived context.
§Examples
use codetether_agent::session::context::DerivedContext;
let derived = DerivedContext {
messages: Vec::new(),
origin_len: 0,
compressed: false,
dropped_ranges: Vec::new(),
provenance: Vec::new(),
resolutions: Vec::new(),
};
assert_eq!(derived.origin_len, 0);
assert!(!derived.compressed);Fields§
§messages: Vec<Message>Messages to send to the provider this turn.
origin_len: usizesession.messages.len() at the moment of derivation.
compressed: booltrue when any compression / truncation pass rewrote the clone.
dropped_ranges: Vec<(usize, usize)>Best-effort elided ranges from the source history.
provenance: Vec<String>Names of the pipeline stages that shaped this context.
resolutions: Vec<ResidencyLevel>Per-message residency level in the derived context.
Trait Implementations§
Source§impl Clone for DerivedContext
impl Clone for DerivedContext
Source§fn clone(&self) -> DerivedContext
fn clone(&self) -> DerivedContext
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for DerivedContext
impl RefUnwindSafe for DerivedContext
impl Send for DerivedContext
impl Sync for DerivedContext
impl Unpin for DerivedContext
impl UnsafeUnpin for DerivedContext
impl UnwindSafe for DerivedContext
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,
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::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Apply a transformation to the response body. Read more
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using HTTP status codes. Read more
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using gRPC headers. Read more