omniterm 0.1.4

Web-based tmux terminal manager with AI agent monitoring
pub mod auth;
pub mod files;
pub mod files_watch;
pub mod health;
pub mod hooks;
pub mod projects;
pub mod sessions;
pub mod system;
pub mod targets;

use axum::Router;
use crate::AppState;
use crate::ws;

pub fn routes(state: AppState) -> Router {
    let api = Router::new()
        .merge(health::routes())
        .merge(auth::routes())
        .merge(system::routes())
        .merge(targets::routes())
        .merge(projects::routes())
        .merge(sessions::routes())
        .merge(hooks::routes())
        .merge(files::routes())
        .merge(files_watch::routes())
        .route("/ws/terminal/{session_id}", axum::routing::get(ws::ws_terminal_handler))
        .route("/ws/terminal/external/{tmux_name}", axum::routing::get(ws::ws_external_terminal_handler));

    Router::new()
        .nest("/api/v1", api)
        .with_state(state)
}