pub enum SessionEvent {
Show 31 variants
RunStarted {
run_id: String,
goal: String,
criteria: Vec<String>,
agent_id: Option<String>,
system_prompt: Option<String>,
},
LlmCompleted {
turn: u32,
message: Message,
provider_replay: Option<ProviderReplay>,
},
ToolRequested {
turn: u32,
calls: Vec<ToolCall>,
},
ToolCompleted {
turn: u32,
results: Vec<ToolResult>,
},
Compressed {
turn: u32,
archived_seq_range: (u64, u64),
category: Option<KernelEventCategory>,
primitive: Option<Primitive>,
action: Option<String>,
summary: Option<String>,
summary_tokens: Option<u32>,
archive_ref: Option<String>,
preserved_refs: Vec<String>,
},
PageOut {
turn: u32,
category: Option<KernelEventCategory>,
primitive: Option<Primitive>,
action: Option<String>,
summary: Option<String>,
tier_hint: Option<String>,
message_count: u32,
},
PageIn {
turn: u32,
category: Option<KernelEventCategory>,
primitive: Option<Primitive>,
entry_count: u32,
},
LargeResultSpooled {
turn: u32,
category: Option<KernelEventCategory>,
primitive: Option<Primitive>,
call_id: String,
tool: String,
original_size: u32,
preview_size: u32,
spool_ref: Option<String>,
},
RunTerminal {
reason: String,
turns_used: u32,
total_tokens: u64,
},
ToolArgumentRepaired {
turn: u32,
tool: String,
original_arguments: String,
repaired_arguments: String,
},
PermissionRequested {
turn: u32,
tool: String,
arguments: String,
reason: Option<String>,
},
PermissionResolved {
turn: u32,
approved: bool,
responder: String,
},
ToolDenied {
turn: u32,
call_id: String,
tool_name: String,
reason: String,
},
CapabilityChanged {
turn: u32,
category: Option<KernelEventCategory>,
primitive: Option<Primitive>,
added: Vec<String>,
removed: Vec<String>,
change_kind: Option<String>,
capability_id: Option<String>,
version: Option<String>,
mounted_by: Option<String>,
mount_reason: Option<String>,
},
ContextRenewed {
turn: u32,
category: Option<KernelEventCategory>,
primitive: Option<Primitive>,
sprint: u32,
handoff_ref: String,
},
Suspended {
turn: u32,
category: Option<KernelEventCategory>,
primitive: Option<Primitive>,
reason: String,
pending_calls: Vec<String>,
},
Resumed {
turn: u32,
category: Option<KernelEventCategory>,
primitive: Option<Primitive>,
approved: Vec<String>,
denied: Vec<String>,
},
ToolGated {
turn: u32,
category: Option<KernelEventCategory>,
primitive: Option<Primitive>,
call_id: String,
tool: String,
reason: String,
},
SignalDisposed {
turn: u32,
category: Option<KernelEventCategory>,
primitive: Option<Primitive>,
signal_id: String,
disposition: String,
queue_depth: u32,
},
BudgetExceeded {
turn: u32,
category: Option<KernelEventCategory>,
primitive: Option<Primitive>,
budget: String,
},
CheckpointTaken {
turn: u32,
category: Option<KernelEventCategory>,
primitive: Option<Primitive>,
history_len: u32,
},
Rollbacked {
turn: u32,
category: Option<KernelEventCategory>,
primitive: Option<Primitive>,
checkpoint_history_len: u32,
reason: Option<RollbackReason>,
},
CleanupCompleted {
run_id: String,
freed_resources: Vec<String>,
},
AgentProcessChanged {
turn: u32,
category: Option<KernelEventCategory>,
primitive: Option<Primitive>,
agent_id: String,
parent_session_id: String,
role: String,
isolation: String,
context_inheritance: String,
state: String,
permitted_capability_ids: Vec<String>,
result_termination: Option<String>,
},
MilestoneAdvanced {
turn: u32,
category: Option<KernelEventCategory>,
primitive: Option<Primitive>,
phase_id: String,
capabilities_unlocked: Vec<String>,
},
MilestoneBlocked {
turn: u32,
category: Option<KernelEventCategory>,
primitive: Option<Primitive>,
phase_id: String,
reason: String,
},
MilestoneEvidence {
turn: u32,
category: Option<KernelEventCategory>,
primitive: Option<Primitive>,
phase_id: String,
evidence: Vec<String>,
},
MemoryWritten {
turn: u32,
category: Option<KernelEventCategory>,
primitive: Option<Primitive>,
memory_id: String,
memory_kind: String,
size_bytes: u32,
},
MemoryQueried {
turn: u32,
category: Option<KernelEventCategory>,
primitive: Option<Primitive>,
query_context: String,
requested_k: usize,
requires_async_response: bool,
},
MemoryValidationFailed {
turn: u32,
category: Option<KernelEventCategory>,
primitive: Option<Primitive>,
memory_id: String,
error: String,
},
MemoryRetrievalResult {
retrieval: MemoryRetrieval,
},
}Expand description
Append-only session event kinds for the unified Agent OS Runtime.
Combines execution loop events with OS-level lifecycle control, capability manifest auditing, and governance gates.
Variants§
RunStarted
Fields
LlmCompleted
ToolRequested
ToolCompleted
Compressed
Fields
category: Option<KernelEventCategory>PageOut
Working memory paged out for long-term storage (kernel page_out).
Fields
category: Option<KernelEventCategory>PageIn
Long-term entries injected into knowledge partition (SDK page_in).
Fields
category: Option<KernelEventCategory>LargeResultSpooled
Large tool result spooled to disk by the SDK (kernel Layer 1).
Fields
category: Option<KernelEventCategory>RunTerminal
ToolArgumentRepaired
Tool arguments automatically repaired under white-listed heuristics.
PermissionRequested
Escalated permission gate requested for a tool, suspending current execution.
PermissionResolved
Permission decision resolved by the user or an automated policy engine.
ToolDenied
Tool blocked monotonically by security governance policy or denial of consent.
CapabilityChanged
Model-visible capabilities dynamically updated (e.g., loading skills or mounting MCPs).
Fields
category: Option<KernelEventCategory>ContextRenewed
Context reset and sprint rotated after a context boundary handoff.
Fields
category: Option<KernelEventCategory>Suspended
Execution paused (waiting for human-in-the-loop interaction or long-running tasks).
Fields
category: Option<KernelEventCategory>Resumed
Execution resumed.
Fields
category: Option<KernelEventCategory>ToolGated
Kernel governance gate: tool requires approval before execution.
Fields
category: Option<KernelEventCategory>SignalDisposed
In-kernel signal disposition (attention policy).
Fields
category: Option<KernelEventCategory>BudgetExceeded
Scheduler budget axis exhausted.
CheckpointTaken
Checkpoint taken at the start of a turn transaction (before LLM call).
Fields
category: Option<KernelEventCategory>Rollbacked
Transaction rollback indicating state was restored to a checkpoint.
CleanupCompleted
Host-level resources (temporary workspace trees, MCP child processes) garbage-collected.
AgentProcessChanged
Kernel process table changed for a spawned sub-agent.
Fields
category: Option<KernelEventCategory>MilestoneAdvanced
Milestone phase criteria passed — capabilities unlocked, phase advanced.
Fields
category: Option<KernelEventCategory>MilestoneBlocked
Milestone phase criteria not met — run continues without advancing the phase.
Fields
category: Option<KernelEventCategory>MilestoneEvidence
Evidence collected by the verifier during milestone evaluation.
Fields
category: Option<KernelEventCategory>MemoryWritten
Memory entry written successfully (SDK → kernel acknowledgment).
Fields
category: Option<KernelEventCategory>MemoryQueried
Memory query request (kernel → SDK; SDK should respond asynchronously).
Fields
category: Option<KernelEventCategory>MemoryValidationFailed
Memory validation failed (kernel rejected a write request).
Fields
category: Option<KernelEventCategory>MemoryRetrievalResult
Memory retrieval result (SDK → kernel via Resume or other async mechanism).
Fields
retrieval: MemoryRetrievalImplementations§
Source§impl SessionEvent
impl SessionEvent
Sourcepub fn event_category(&self) -> KernelEventCategory
pub fn event_category(&self) -> KernelEventCategory
OS event category; uses embedded category when present, else infers from kind.
Sourcepub fn is_kernel_os_event(&self) -> bool
pub fn is_kernel_os_event(&self) -> bool
Whether this event is a kernel OS decision (replay ignores for message reconstruction).
Trait Implementations§
Source§impl Clone for SessionEvent
impl Clone for SessionEvent
Source§fn clone(&self) -> SessionEvent
fn clone(&self) -> SessionEvent
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more