pub enum SwarmMode {
Tmux,
Extensions,
Server,
Beads,
}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)
Beads
Beads-style continuous execution (no wave batching) Tasks execute immediately when dependencies are met
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
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>
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 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>
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
CompactString. Read more