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§fn clone(&self) -> LifecycleHooksConfig
fn clone(&self) -> LifecycleHooksConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for LifecycleHooksConfig
impl Debug for LifecycleHooksConfig
Source§impl Default for LifecycleHooksConfig
impl Default for LifecycleHooksConfig
Source§fn default() -> LifecycleHooksConfig
fn default() -> 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>,
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 moreAuto 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,
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