#[non_exhaustive]pub enum HookAction {
Continue,
Halt {
reason: String,
},
SkipTool {
reason: String,
},
ModifyToolInput {
new_input: Value,
},
ModifyToolOutput {
new_output: Value,
},
}Expand description
What a hook decides to do.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Continue
Continue normally.
Halt
Halt the turn (observer tripwire). The turn exits with ExitReason::ObserverHalt.
SkipTool
Skip this tool call (only valid at PreToolUse). The tool is not executed and a synthetic “skipped by policy” result is backfilled.
ModifyToolInput
Modify the tool input before execution (only at PreToolUse). Used for: parameter sanitization, injection of defaults.
ModifyToolOutput
Replace the tool output with a modified version (e.g., redacted secrets). Only valid at PostToolUse. v0 scope: PostToolUse only. Future: PostInference for redacting final assistant text before return/logging.
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