pub struct ModelContext<'a> {Show 13 fields
pub model: &'a ModelRouter,
pub provider: &'a str,
pub session_id: &'a str,
pub session_context: &'a SessionContext,
pub metadata: &'a BTreeMap<String, Value>,
pub turn_id: &'a str,
pub model_step: usize,
pub context_window: i64,
pub instructions: &'a str,
pub last_usage: Option<&'a TokenUsage>,
pub tools: &'a Catalog,
pub events: &'a mut Vec<EventMsg>,
pub usage: &'a mut Vec<TokenUsage>,
/* private fields */
}Expand description
Mutable state exposed immediately before a model request.
Fields§
§model: &'a ModelRouter§provider: &'a str§session_id: &'a str§session_context: &'a SessionContext§metadata: &'a BTreeMap<String, Value>§turn_id: &'a str§model_step: usize§context_window: i64§instructions: &'a str§last_usage: Option<&'a TokenUsage>§tools: &'a Catalog§events: &'a mut Vec<EventMsg>§usage: &'a mut Vec<TokenUsage>Implementations§
Source§impl ModelContext<'_>
impl ModelContext<'_>
Sourcepub fn request_input(&self) -> &[Value]
pub fn request_input(&self) -> &[Value]
Returns the request input including earlier request-only middleware additions.
Sourcepub fn rewrite_input(
&mut self,
reason: ContextRewriteReason,
input: Vec<Value>,
) -> Result<()>
pub fn rewrite_input( &mut self, reason: ContextRewriteReason, input: Vec<Value>, ) -> Result<()>
Replaces active model context and advances its rewrite epoch once per boundary.
Sourcepub fn append_model_input(&mut self, item: Value)
pub fn append_model_input(&mut self, item: Value)
Appends durable provider context without adding synthetic replay history.
Sourcepub fn push_input(&mut self, item: Value) -> Result<MessageTarget>
pub fn push_input(&mut self, item: Value) -> Result<MessageTarget>
Appends durable input to model context and its transcript journal.
Sourcepub fn estimated_input_tokens(&self) -> i64
pub fn estimated_input_tokens(&self) -> i64
Estimates serialized model input at four bytes per token.
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for ModelContext<'a>
impl<'a> !UnwindSafe for ModelContext<'a>
impl<'a> Freeze for ModelContext<'a>
impl<'a> Send for ModelContext<'a>
impl<'a> Sync for ModelContext<'a>
impl<'a> Unpin for ModelContext<'a>
impl<'a> UnsafeUnpin for ModelContext<'a>
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