pub enum SomaAction {
Greet {
name: Option<String>,
},
Echo {
message: String,
},
Status,
Help,
ElicitName,
ScaffoldIntent,
}Expand description
A parsed, validated action request ready for dispatch.
Variants§
Greet
Return a greeting, optionally addressed to name.
Echo
Echo message back unchanged.
Status
Return server status and configuration info.
Help
Show the action reference.
ElicitName
Ask the MCP client to collect a name, then greet it (MCP-only).
ScaffoldIntent
Collect scaffold setup intent via MCP elicitation (MCP-only).
Implementations§
Source§impl SomaAction
impl SomaAction
Sourcepub fn from_mcp_args(args: &Value) -> Result<Self>
pub fn from_mcp_args(args: &Value) -> Result<Self>
Parses an action from an MCP tool-call argument object.
Trait Implementations§
Source§impl Clone for SomaAction
impl Clone for SomaAction
Source§fn clone(&self) -> SomaAction
fn clone(&self) -> SomaAction
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SomaAction
impl Debug for SomaAction
Source§impl PartialEq for SomaAction
impl PartialEq for SomaAction
Source§fn eq(&self, other: &SomaAction) -> bool
fn eq(&self, other: &SomaAction) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for SomaAction
impl StructuralPartialEq for SomaAction
Auto Trait Implementations§
impl Freeze for SomaAction
impl RefUnwindSafe for SomaAction
impl Send for SomaAction
impl Sync for SomaAction
impl Unpin for SomaAction
impl UnsafeUnpin for SomaAction
impl UnwindSafe for SomaAction
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.