pub struct SwarmExecutor { /* private fields */ }Expand description
The swarm executor runs subtasks in parallel
Implementations§
Source§impl SwarmExecutor
impl SwarmExecutor
Sourcepub fn new(config: SwarmConfig) -> Self
pub fn new(config: SwarmConfig) -> Self
Create a new executor
Sourcepub async fn with_cache(
config: SwarmConfig,
cache_config: CacheConfig,
) -> Result<Self>
pub async fn with_cache( config: SwarmConfig, cache_config: CacheConfig, ) -> Result<Self>
Create a new executor with caching enabled
Sourcepub fn with_cache_instance(self, cache: Arc<Mutex<SwarmCache>>) -> Self
pub fn with_cache_instance(self, cache: Arc<Mutex<SwarmCache>>) -> Self
Set a pre-initialized cache
Sourcepub fn with_bus(self, bus: Arc<AgentBus>) -> Self
pub fn with_bus(self, bus: Arc<AgentBus>) -> Self
Set an agent bus for inter-agent communication
Sourcepub fn with_event_tx(self, tx: Sender<SwarmEvent>) -> Self
pub fn with_event_tx(self, tx: Sender<SwarmEvent>) -> Self
Set an event channel for real-time TUI updates
Sourcepub fn with_coordinator_agent(self, agent: Arc<Mutex<Agent>>) -> Self
pub fn with_coordinator_agent(self, agent: Arc<Mutex<Agent>>) -> Self
Set a coordinator agent for swarm-level coordination
Sourcepub fn with_telemetry(
self,
telemetry: Arc<Mutex<SwarmTelemetryCollector>>,
) -> Self
pub fn with_telemetry( self, telemetry: Arc<Mutex<SwarmTelemetryCollector>>, ) -> Self
Set a telemetry collector for swarm execution metrics
Sourcepub fn telemetry_arc(&self) -> Arc<Mutex<SwarmTelemetryCollector>>
pub fn telemetry_arc(&self) -> Arc<Mutex<SwarmTelemetryCollector>>
Get the telemetry collector as an Arc
Sourcepub fn result_store(&self) -> &Arc<ResultStore>
pub fn result_store(&self) -> &Arc<ResultStore>
Get the shared result store
Sourcepub async fn cache_stats(&self) -> Option<CacheStats>
pub async fn cache_stats(&self) -> Option<CacheStats>
Get cache statistics if caching is enabled
Sourcepub async fn clear_cache(&self) -> Result<()>
pub async fn clear_cache(&self) -> Result<()>
Clear the cache if enabled
Sourcepub async fn execute(
&self,
task: &str,
strategy: DecompositionStrategy,
) -> Result<SwarmResult>
pub async fn execute( &self, task: &str, strategy: DecompositionStrategy, ) -> Result<SwarmResult>
Execute a task using the swarm
Sourcepub async fn execute_single(&self, task: &str) -> Result<SwarmResult>
pub async fn execute_single(&self, task: &str) -> Result<SwarmResult>
Execute a single task without decomposition (for simple cases)
Auto Trait Implementations§
impl Freeze for SwarmExecutor
impl !RefUnwindSafe for SwarmExecutor
impl Send for SwarmExecutor
impl Sync for SwarmExecutor
impl Unpin for SwarmExecutor
impl !UnwindSafe for SwarmExecutor
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