pub struct LifecycleHooksConfig {Show 14 fields
pub quiet_success_output: bool,
pub session_start: Vec<HookGroupConfig>,
pub session_end: Vec<HookGroupConfig>,
pub subagent_start: Vec<HookGroupConfig>,
pub subagent_stop: Vec<HookGroupConfig>,
pub user_prompt_submit: Vec<HookGroupConfig>,
pub pre_tool_use: Vec<HookGroupConfig>,
pub post_tool_use: Vec<HookGroupConfig>,
pub permission_request: Vec<HookGroupConfig>,
pub pre_compact: Vec<HookGroupConfig>,
pub stop: Vec<HookGroupConfig>,
pub task_completion: Vec<HookGroupConfig>,
pub task_completed: Vec<HookGroupConfig>,
pub notification: Vec<HookGroupConfig>,
}Expand description
Configuration for hooks triggered during distinct agent lifecycle events. Each event supports a list of groups with optional matchers.
Fields§
§quiet_success_output: boolSuppress plain stdout from successful hooks unless they emit structured fields
session_start: Vec<HookGroupConfig>Commands to run immediately when an agent session begins
session_end: Vec<HookGroupConfig>Commands to run when an agent session ends
subagent_start: Vec<HookGroupConfig>Commands to run when a delegated subagent starts
subagent_stop: Vec<HookGroupConfig>Commands to run when a delegated subagent stops
user_prompt_submit: Vec<HookGroupConfig>Commands to run when the user submits a prompt (pre-processing)
pre_tool_use: Vec<HookGroupConfig>Commands to run immediately before a tool is executed
post_tool_use: Vec<HookGroupConfig>Commands to run immediately after a tool returns its output
permission_request: Vec<HookGroupConfig>Commands to run when VT Code is about to request interactive permission approval
pre_compact: Vec<HookGroupConfig>Commands to run immediately before VT Code compacts conversation history
stop: Vec<HookGroupConfig>Commands to run after VT Code produces a final answer but before the turn completes
task_completion: Vec<HookGroupConfig>Deprecated alias for stop
task_completed: Vec<HookGroupConfig>Deprecated alias for stop
notification: Vec<HookGroupConfig>Commands to run when VT Code emits a runtime notification event
Implementations§
Source§impl LifecycleHooksConfig
impl LifecycleHooksConfig
pub fn is_empty(&self) -> bool
pub fn normalized(&self) -> Self
Trait Implementations§
Source§impl Clone for LifecycleHooksConfig
impl Clone for LifecycleHooksConfig
Source§impl Debug for LifecycleHooksConfig
impl Debug for LifecycleHooksConfig
Source§impl Default for LifecycleHooksConfig
impl Default for LifecycleHooksConfig
Source§impl<'de> Deserialize<'de> for LifecycleHooksConfig
impl<'de> Deserialize<'de> for LifecycleHooksConfig
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 LifecycleHooksConfig
Source§impl JsonSchema for LifecycleHooksConfig
impl JsonSchema for LifecycleHooksConfig
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for LifecycleHooksConfig
impl PartialEq for LifecycleHooksConfig
Source§impl Serialize for LifecycleHooksConfig
impl Serialize for LifecycleHooksConfig
impl StructuralPartialEq for LifecycleHooksConfig
Auto Trait Implementations§
impl Freeze for LifecycleHooksConfig
impl RefUnwindSafe for LifecycleHooksConfig
impl Send for LifecycleHooksConfig
impl Sync for LifecycleHooksConfig
impl Unpin for LifecycleHooksConfig
impl UnsafeUnpin for LifecycleHooksConfig
impl UnwindSafe for LifecycleHooksConfig
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.