//! tazuna - TUI tool for managing multiple Claude Code sessions
//!
//! Provides PTY-based session management, git worktree integration,
//! and Claude Code hooks-based notifications.

pub mod cli;
pub mod config;
pub mod error;
pub mod github;
pub mod hooks;
pub mod logging;
pub mod notification;
pub mod session;
pub mod tui;
pub mod worktree;

pub use cli::{Cli, Commands};
pub use config::Config;
pub use error::{
    ConfigError, GitHubError, HooksError, NotificationError, SessionError, WorktreeError,
};
pub use github::{
    ActionChoice, ActionType, GitHubClient, GitHubIssue, NativeGitHubClient, fetch_issue,
    fetch_issue_list, generate_choices,
};
pub use hooks::{
    HookEvent, HookEventType, HooksClient, HooksServer, current_socket_path, default_socket_path,
    socket_path_for_pid,
};
pub use notification::{NotificationManager, NotificationStatus, TerminalBell, WebhookNotifier};
pub use session::{
    AutoInputStep, NativePty, OscParser, OscResult, PtyConfig, PtyHandle, Session, SessionCommand,
    SessionEvent, SessionId, SessionManager, SessionStatus,
};
pub use worktree::{NativeWorktreeManager, WorktreeInfo, WorktreeManager};
