diff options
| author | Can Celik <ogulcancelik@gmail.com> | 2026-04-01 19:30:58 +0300 |
|---|---|---|
| committer | Can Celik <ogulcancelik@gmail.com> | 2026-04-01 19:32:26 +0300 |
| commit | ca4270b31fe93c180f7321cb4006cb5e7307d889 (patch) | |
| tree | 72628e311a1b8e5ebf78c74cbc61d990253dc4c4 /src/events.rs | |
| parent | fb0c9717cfa961a47d63272e622e9e35a001082a (diff) | |
feat: add authoritative pi hook integration
Diffstat (limited to 'src/events.rs')
| -rw-r--r-- | src/events.rs | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/events.rs b/src/events.rs index 58b16863..c1c45a0e 100644 --- a/src/events.rs +++ b/src/events.rs @@ -11,12 +11,31 @@ use crate::layout::PaneId; pub enum AppEvent { /// A pane's child process exited. PaneDied { pane_id: PaneId }, - /// Agent state changed in a pane (detected by the PTY reader). + /// Fallback detector state changed in a pane. StateChanged { pane_id: PaneId, agent: Option<Agent>, state: AgentState, }, + /// Hook-authoritative agent state was reported for a pane. + HookStateReported { + pane_id: PaneId, + source: String, + agent: Agent, + state: AgentState, + message: Option<String>, + }, + /// Hook authority was explicitly cleared for a pane. + HookAuthorityCleared { + pane_id: PaneId, + source: Option<String>, + }, + /// The current detected agent gracefully released this pane back to the shell. + HookAgentReleased { + pane_id: PaneId, + source: String, + agent: Agent, + }, /// A new version was downloaded and installed. Restart to use it. UpdateReady { version: String }, } |
