pub struct SubAgent {
pub id: String,
pub name: String,
pub specialty: String,
pub subtask_id: String,
pub status: SubAgentStatus,
pub steps: usize,
pub tool_calls: Vec<ToolCallRecord>,
pub output: String,
pub model: String,
pub provider: String,
pub created_at: DateTime<Utc>,
pub last_active: DateTime<Utc>,
}Expand description
A sub-agent executing a subtask
Fields§
§id: StringUnique identifier
name: StringDisplay name
specialty: StringSpecialty/role (e.g., “AI Researcher”, “Code Writer”, “Fact Checker”)
subtask_id: StringThe subtask this agent is working on
status: SubAgentStatusCurrent status
steps: usizeNumber of steps taken
tool_calls: Vec<ToolCallRecord>Tool calls made
output: StringAccumulated output
model: StringModel being used
provider: StringProvider
created_at: DateTime<Utc>Creation timestamp
last_active: DateTime<Utc>Last activity timestamp
Implementations§
Source§impl SubAgent
impl SubAgent
Sourcepub fn new(
name: impl Into<String>,
specialty: impl Into<String>,
subtask_id: impl Into<String>,
model: impl Into<String>,
provider: impl Into<String>,
) -> Self
pub fn new( name: impl Into<String>, specialty: impl Into<String>, subtask_id: impl Into<String>, model: impl Into<String>, provider: impl Into<String>, ) -> Self
Create a new sub-agent for a subtask
Sourcepub fn record_tool_call(&mut self, name: &str, success: bool)
pub fn record_tool_call(&mut self, name: &str, success: bool)
Record a tool call
Sourcepub fn append_output(&mut self, text: &str)
pub fn append_output(&mut self, text: &str)
Append to output
Sourcepub fn set_status(&mut self, status: SubAgentStatus)
pub fn set_status(&mut self, status: SubAgentStatus)
Set status
Trait Implementations§
Source§impl<'de> Deserialize<'de> for SubAgent
impl<'de> Deserialize<'de> for SubAgent
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 Freeze for SubAgent
impl RefUnwindSafe for SubAgent
impl Send for SubAgent
impl Sync for SubAgent
impl Unpin 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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Apply a transformation to the response body. Read more
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using HTTP status codes. Read more
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using gRPC headers. Read more