pub struct Orchestrator { /* private fields */ }Expand description
The orchestrator manages task decomposition and sub-agent coordination
Implementations§
Source§impl Orchestrator
impl Orchestrator
Sourcepub async fn new(config: SwarmConfig) -> Result<Self>
pub async fn new(config: SwarmConfig) -> Result<Self>
Create a new orchestrator
Sourcepub async fn decompose(
&mut self,
task: &str,
strategy: DecompositionStrategy,
) -> Result<Vec<SubTask>>
pub async fn decompose( &mut self, task: &str, strategy: DecompositionStrategy, ) -> Result<Vec<SubTask>>
Decompose a complex task into subtasks
Sourcepub fn ready_subtasks(&self) -> Vec<&SubTask>
pub fn ready_subtasks(&self) -> Vec<&SubTask>
Get subtasks ready to execute (dependencies satisfied)
Sourcepub fn subtasks_for_stage(&self, stage: usize) -> Vec<&SubTask>
pub fn subtasks_for_stage(&self, stage: usize) -> Vec<&SubTask>
Get subtasks for a specific stage
Sourcepub fn create_subagent(&mut self, subtask: &SubTask) -> SubAgent
pub fn create_subagent(&mut self, subtask: &SubTask) -> SubAgent
Create a sub-agent for a subtask
Sourcepub fn complete_subtask(&mut self, subtask_id: &str, result: SubTaskResult)
pub fn complete_subtask(&mut self, subtask_id: &str, result: SubTaskResult)
Mark a subtask as completed
Sourcepub fn all_subtasks(&self) -> Vec<&SubTask>
pub fn all_subtasks(&self) -> Vec<&SubTask>
Get all subtasks
Sourcepub fn stats(&self) -> &SwarmStats
pub fn stats(&self) -> &SwarmStats
Get statistics
Sourcepub fn stats_mut(&mut self) -> &mut SwarmStats
pub fn stats_mut(&mut self) -> &mut SwarmStats
Get mutable statistics
Sourcepub fn is_complete(&self) -> bool
pub fn is_complete(&self) -> bool
Check if all subtasks are complete
Sourcepub fn providers(&self) -> &ProviderRegistry
pub fn providers(&self) -> &ProviderRegistry
Get the provider registry
Auto Trait Implementations§
impl Freeze for Orchestrator
impl !RefUnwindSafe for Orchestrator
impl Send for Orchestrator
impl Sync for Orchestrator
impl Unpin for Orchestrator
impl !UnwindSafe for Orchestrator
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> 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> 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