Files
mnote/rust/crates/mnote-web/src/routes/mod.rs
T

52 lines
1.6 KiB
Rust
Raw Normal View History

mod bridge;
mod command_support;
mod compat;
mod health;
mod hermes;
mod kernel;
mod query_support;
mod snapshot_support;
mod sse;
mod stream_support;
mod tree;
mod ws;
use crate::app::AppState;
use axum::routing::{get, post};
use axum::Router;
pub fn build_router(state: AppState) -> Router {
let hermes_base_path = state.config().hermes_base_path.clone();
let compat_next_base_path = state.config().compat_next_base_path.clone();
Router::new()
.route("/health", get(health::health))
.route("/tree", get(tree::tree_shell))
.route(
"/api/kernel/projections/sidebar",
get(kernel::project_sidebar),
)
.route("/api/kernel/subtree", get(kernel::subtree))
.route("/api/kernel/edges", get(kernel::edges))
.route("/api/kernel/graph", get(kernel::graph))
.route("/api/tree/commands", post(tree::tree_command))
.route("/api/bridge/workspace", get(bridge::workspace))
.route("/api/bridge/request", get(bridge::request))
.route("/api/bridge/trace", get(bridge::trace))
.route("/api/stream/events", get(sse::events))
.route("/api/realtime/ws", get(ws::socket))
.nest(
&hermes_base_path,
Router::new()
.route("/health", get(hermes::health))
.route("/bridge", post(hermes::bridge_runtime)),
)
.nest(
&compat_next_base_path,
Router::new()
.route("/ai-agent/run", post(compat::next_ai_agent_run))
.route("/sidebar", get(compat::next_sidebar)),
)
.with_state(state)
}