diff options
Diffstat (limited to 'crates/atuin-ai/src/fsm/effects.rs')
| -rw-r--r-- | crates/atuin-ai/src/fsm/effects.rs | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/crates/atuin-ai/src/fsm/effects.rs b/crates/atuin-ai/src/fsm/effects.rs index ede72a42..306f1401 100644 --- a/crates/atuin-ai/src/fsm/effects.rs +++ b/crates/atuin-ai/src/fsm/effects.rs @@ -61,14 +61,27 @@ pub(crate) enum Effect { ArchiveSession, // ─── Timers ───────────────────────────────────────────────── - /// Schedule a timer that will fire ConfirmationTimeout after delay. - ScheduleTimeout { timeout_id: u64, duration: Duration }, + /// Schedule a timer that fires an event after the given delay. + ScheduleTimeout { + timeout_id: u64, + duration: Duration, + kind: TimeoutKind, + }, // ─── Exit ─────────────────────────────────────────────────── /// Exit the application with the given action. ExitApp(ExitAction), } +/// What kind of timeout was scheduled. +#[derive(Debug, Clone, PartialEq, Eq)] +pub(crate) enum TimeoutKind { + /// Dangerous command confirmation dialog auto-dismiss. + Confirmation, + /// Shell tool execution timeout — abort the tool if it's still running. + ToolExecution { tool_id: String }, +} + /// What to do when exiting the TUI. #[derive(Debug, Clone, PartialEq, Eq)] pub(crate) enum ExitAction { |
