pub enum HookAction {
Command {
command: String,
},
McpTool {
server: String,
tool: String,
args: Value,
},
}Expand description
The action a hook executes when triggered.
Hooks either run a shell command or invoke an MCP server tool directly.
§Examples
# Shell command hook
[[hooks.cwd_changed]]
type = "command"
command = "echo $ZEPH_NEW_CWD"
timeout_secs = 10
# MCP tool hook
[[hooks.permission_denied]]
type = "mcp_tool"
server = "policy-server"
tool = "audit_denied"
[hooks.permission_denied.args]
severity = "high"Variants§
Command
Execute a shell command via sh -c.
McpTool
Invoke an MCP server tool directly without spawning a subprocess.
Trait Implementations§
Source§impl Clone for HookAction
impl Clone for HookAction
Source§fn clone(&self) -> HookAction
fn clone(&self) -> HookAction
Returns a duplicate of the value. Read more
1.0.0 · 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 HookAction
impl Debug for HookAction
Source§impl<'de> Deserialize<'de> for HookAction
impl<'de> Deserialize<'de> for HookAction
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for HookAction
impl RefUnwindSafe for HookAction
impl Send for HookAction
impl Sync for HookAction
impl Unpin for HookAction
impl UnsafeUnpin for HookAction
impl UnwindSafe for HookAction
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