pub enum FrameKind {
IntentAnalysis,
StepSummary,
CodeChange,
SystemState,
ErrorRecovery,
Checkpoint,
ToolCall,
Other(String),
}Expand description
The kind of context captured in a ContextFrame.
Determines how the frame’s summary and data should be
interpreted. IntentAnalysis and Checkpoint are protected
from eviction when max_frames is exceeded.
Variants§
IntentAnalysis
Initial context derived from an Intent’s analyzed content.
Created when the AI fills in the content field on an Intent,
serving as the foundation for subsequent Plan creation. This
is the seed frame — always the first frame in a pipeline.
Protected from eviction.
StepSummary
Summary produced after a PlanStep
completes. Captures what the step accomplished so that
subsequent steps have context.
CodeChange
Code change digest (e.g. files modified, diff stats).
Typically produced alongside a
PatchSet.
SystemState
System or environment state snapshot (e.g. memory usage, disk space, running services).
ErrorRecovery
Context captured during error recovery. Records what went wrong and what corrective action was taken, so that subsequent steps don’t repeat the same mistakes.
Checkpoint
Explicit save-point created by user or system. Protected from eviction. Used for long-running workflows where the agent may be paused and resumed.
ToolCall
Result of an external tool invocation (MCP service, function call, REST API, CLI command, etc.).
Intentionally protocol-agnostic: MCP is one transport for
tool calls, but agents may also invoke tools via direct
function calls, HTTP APIs, or shell commands. Protocol-specific
details (server name, tool name, arguments, result preview)
belong in ContextFrame.data.
Other(String)
Application-defined context type not covered by the variants above.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for FrameKind
impl<'de> Deserialize<'de> for FrameKind
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>,
impl Eq for FrameKind
impl StructuralPartialEq for FrameKind
Auto Trait Implementations§
impl Freeze for FrameKind
impl RefUnwindSafe for FrameKind
impl Send for FrameKind
impl Sync for FrameKind
impl Unpin for FrameKind
impl UnsafeUnpin for FrameKind
impl UnwindSafe for FrameKind
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> FileLoadStore for Twhere
T: Serialize + for<'a> Deserialize<'a>,
impl<T> FileLoadStore for Twhere
T: Serialize + for<'a> Deserialize<'a>,
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>
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>
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