pub enum AgentKind {
Claude,
Opencode,
Antigravity,
Codex,
Omp,
Command,
}Expand description
Which CLI drives an agent.
Variants§
Claude
Anthropic Claude Code (claude -p).
Opencode
opencode (opencode run).
Antigravity
Antigravity CLI (agy -p). Gemini CLI is deliberately absent: Google
retired the standalone client for individual accounts in favour of this
one, so an adapter for it would be dead code on a live machine.
Codex
OpenAI Codex CLI (codex exec). The one roster member with a real
read-only mode: --sandbox read-only is enforced by the CLI, not by
the prompt.
Omp
oh-my-pi (omp -p --mode=json). Another CLI with no read-only mode of
its own - --auto-approve gates reads and writes together - so a
read-only seat rests on the prompt and on the worktree discipline the
other non-codex seats already rely on. It is also the roster member that
reaches DeepSeek, whose models ship in omp’s own catalog.
Command
Arbitrary command. The escape hatch, and what the test suite drives.
Implementations§
Source§impl AgentKind
impl AgentKind
Sourcepub const ALL: [Self; 6]
pub const ALL: [Self; 6]
Every kind the roster can name, in display order.
This is what magi doctor lists, and it has to be one list rather than
the same set typed out again wherever a kind is enumerated. The last
time it was typed out twice, omp was added as a roster member and the
doctor output went on saying the machine had four CLIs - which reads as
“that agent is not installed” to the person the command exists for.
Trait Implementations§
impl Copy for AgentKind
Source§impl<'de> Deserialize<'de> for AgentKind
impl<'de> Deserialize<'de> for AgentKind
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>,
impl Eq for AgentKind
impl StructuralPartialEq for AgentKind
Auto Trait Implementations§
impl Freeze for AgentKind
impl RefUnwindSafe for AgentKind
impl Send for AgentKind
impl Sync for AgentKind
impl Unpin for AgentKind
impl UnsafeUnpin for AgentKind
impl UnwindSafe for AgentKind
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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 more