pub struct AgentSnapshot {
pub agent_id: String,
pub config: AgentConfig,
pub state: AgentState,
pub tool_manifest: ToolManifest,
pub parent_id: Option<String>,
pub created_at_ms: u64,
pub snapshot_at_ms: u64,
pub metrics: MetricsSnapshot,
pub metadata: HashMap<String, Value>,
}Expand description
A complete snapshot of an agent at a point in time.
Can be serialized to JSON and stored to disk for suspend/resume.
Fields§
§agent_id: StringUnique agent identifier.
config: AgentConfigConfiguration at time of snapshot.
state: AgentStateConversation state.
tool_manifest: ToolManifestTool manifest (names/schemas; closures cannot be serialized).
parent_id: Option<String>Parent agent ID, if this agent was spawned as a child.
created_at_ms: u64Wall-clock time when the agent was created (ms since epoch).
snapshot_at_ms: u64Wall-clock time when the snapshot was taken (ms since epoch).
metrics: MetricsSnapshotMetrics at time of snapshot.
metadata: HashMap<String, Value>Arbitrary extension metadata.
Implementations§
Source§impl AgentSnapshot
impl AgentSnapshot
Sourcepub fn from_agent(
agent_id: String,
config: &AgentConfig,
state: &AgentState,
tools: &ToolRegistry,
parent_id: Option<String>,
metadata: HashMap<String, Value>,
) -> Self
pub fn from_agent( agent_id: String, config: &AgentConfig, state: &AgentState, tools: &ToolRegistry, parent_id: Option<String>, metadata: HashMap<String, Value>, ) -> Self
Create a snapshot from a running agent.
Sourcepub fn from_bytes(bytes: &[u8]) -> Result<Self>
pub fn from_bytes(bytes: &[u8]) -> Result<Self>
Deserialize from a byte slice.
Sourcepub fn estimated_size_bytes(&self) -> usize
pub fn estimated_size_bytes(&self) -> usize
Estimate serialized size.
Trait Implementations§
Source§impl Clone for AgentSnapshot
impl Clone for AgentSnapshot
Source§fn clone(&self) -> AgentSnapshot
fn clone(&self) -> AgentSnapshot
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 moreSource§impl Debug for AgentSnapshot
impl Debug for AgentSnapshot
Source§impl<'de> Deserialize<'de> for AgentSnapshot
impl<'de> Deserialize<'de> for AgentSnapshot
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
Auto Trait Implementations§
impl !RefUnwindSafe for AgentSnapshot
impl !UnwindSafe for AgentSnapshot
impl Freeze for AgentSnapshot
impl Send for AgentSnapshot
impl Sync for AgentSnapshot
impl Unpin for AgentSnapshot
impl UnsafeUnpin for AgentSnapshot
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.