pub struct Subagent {
pub agent_id: String,
pub agent_type: Option<String>,
pub description: Option<String>,
pub turns: Vec<ValidatedTurn>,
pub first_timestamp: Option<DateTime<Utc>>,
pub last_timestamp: Option<DateTime<Utc>>,
pub workflow_run_id: Option<String>,
}Expand description
A subagent invocation within a session, grouped from one agent JSONL file.
Each Subagent corresponds to one agent-<id>.jsonl file under a parent
session. The struct itself is not Serialize because it embeds the
internal ValidatedTurn analysis type; the JSON output layer builds its
own purpose-shaped SubagentJson (see output/json.rs).
Fields§
§agent_id: StringAgent ID extracted from the agent JSONL file name (e.g. agent-abc123).
agent_type: Option<String>Agent type from .meta.json, e.g. “general-purpose”.
description: Option<String>Human-readable task description from .meta.json.
turns: Vec<ValidatedTurn>All turns from this subagent, sorted by timestamp.
first_timestamp: Option<DateTime<Utc>>§last_timestamp: Option<DateTime<Utc>>§workflow_run_id: Option<String>The workflow run id (wf_<runId>) this subagent belongs to, if it was
discovered under <uuid>/subagents/workflows/wf_<runId>/. None for
ordinary (non-workflow) subagents. Used to distinguish workflow-spawned
agents from regular Task-tool subagents in analysis and output.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Subagent
impl RefUnwindSafe for Subagent
impl Send for Subagent
impl Sync for Subagent
impl Unpin for Subagent
impl UnsafeUnpin for Subagent
impl UnwindSafe for Subagent
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<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