pub enum SwarmMode {
Tmux,
Extensions,
Server,
}Expand description
Swarm execution mode - how agents are spawned during swarm execution.
§Modes
-
Tmux: Uses tmux for agent management. Requires tmux to be installed. Provides live visibility through tmux windows, useful for debugging.
-
Extensions: Uses extension-based subprocesses with no tmux dependency. Agents run as direct child processes. Better for CI/CD environments or systems without tmux.
-
Server: Uses OpenCode Server mode for agent orchestration. Provides structured events (tool calls, text deltas), graceful cancellation, and lower per-agent overhead. Recommended for production use.
§Example
use scud::SwarmMode;
let mode = SwarmMode::Server;
assert_eq!(mode.to_string(), "server");Variants§
Tmux
Use tmux for agent management (default, requires tmux installed)
Extensions
Use extension-based subprocesses (no tmux dependency)
Server
Use OpenCode Server for agent orchestration (recommended)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for SwarmMode
impl RefUnwindSafe for SwarmMode
impl Send for SwarmMode
impl Sync for SwarmMode
impl Unpin for SwarmMode
impl UnwindSafe for SwarmMode
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> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
Fallible version of
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a
CompactString. Read more