use std::path::PathBuf;
use super::command::AutoInputStep;
use crate::session::SessionId;
#[derive(Debug, Clone)]
pub enum SessionEvent {
Created {
id: SessionId,
branch: Option<String>,
auto_input: Vec<AutoInputStep>,
},
Output {
id: SessionId,
data: Vec<u8>,
},
TitleChanged {
id: SessionId,
title: String,
},
Terminated {
id: SessionId,
exit_code: Option<i32>,
},
Error {
id: SessionId,
error: String,
},
WorktreesRefreshed {
worktrees: Vec<crate::worktree::WorktreeInfo>,
fetch_pending: bool,
},
WorktreeDeleted {
path: PathBuf,
result: Result<(), String>,
},
WorktreePulled {
path: PathBuf,
result: Result<crate::worktree::GitWorktreeStatus, String>,
},
HookReceived {
event: crate::hooks::HookEvent,
},
IssuesFetched {
result: Result<Vec<crate::github::GitHubIssue>, String>,
},
IssueFetched {
issue_number: u32,
},
IssueActionsFetched {
issue_number: u32,
result: Result<Vec<crate::github::ActionChoice>, String>,
},
CostFetched {
cost: Option<f64>,
},
}