Skip to main content

routa_server/api/
mod.rs

1pub mod a2a;
2pub mod a2ui;
3pub mod acp_docker;
4pub mod acp_registry;
5pub mod acp_routes;
6pub mod ag_ui;
7pub mod agents;
8pub mod background_tasks;
9pub mod clone;
10pub mod clone_branches;
11pub mod clone_local;
12pub mod clone_progress;
13pub mod codebases;
14pub mod debug;
15pub mod files;
16pub mod fitness;
17pub mod github;
18pub mod graph;
19pub mod harness;
20pub(crate) mod harness_github_actions;
21pub(crate) mod harness_hook_preview_events;
22pub(crate) mod harness_instructions_audit;
23pub(crate) mod harness_repo_views;
24pub mod harness_templates;
25pub mod kanban;
26pub mod mcp_routes;
27pub mod mcp_server_mgmt;
28pub mod mcp_servers;
29pub mod mcp_tools;
30pub mod memory;
31pub mod notes;
32pub mod polling;
33pub mod provider_models;
34pub mod providers;
35pub(crate) mod repo_context;
36pub mod review;
37pub mod rpc;
38pub mod sandbox;
39pub mod schedules;
40pub mod sessions;
41pub mod shared_sessions;
42pub mod skills;
43pub mod skills_catalog;
44pub mod skills_clone;
45pub mod skills_upload;
46pub mod specialists;
47pub mod tasks;
48pub mod tasks_automation;
49pub mod tasks_github;
50pub mod test_mcp;
51pub mod traces;
52pub mod webhooks;
53pub mod workflows;
54pub mod workspaces;
55pub mod worktrees;
56
57use axum::Router;
58
59use crate::state::AppState;
60
61/// Build the complete API router with all sub-routes.
62pub fn api_router() -> Router<AppState> {
63    Router::new()
64        .nest("/api/agents", agents::router())
65        .nest("/api/notes", notes::router())
66        .nest("/api/kanban", kanban::router())
67        .nest("/api/tasks", tasks::router())
68        .nest("/api/workspaces", workspaces::router())
69        .nest("/api", codebases::router())
70        .nest("/api/skills", skills::router())
71        .nest("/api/skills/catalog", skills_catalog::router())
72        .nest("/api/skills/clone", skills_clone::router())
73        .nest("/api/skills/upload", skills_upload::router())
74        .nest("/api/sessions", sessions::router())
75        .nest("/api/shared-sessions", shared_sessions::router())
76        .nest("/api/providers", providers::router())
77        .nest("/api/providers", provider_models::router())
78        .nest("/api/review", review::router())
79        .nest("/api/acp", acp_routes::router())
80        .nest("/api/acp", acp_registry::router())
81        .nest("/api/acp/docker", acp_docker::router())
82        .nest("/api/mcp", mcp_routes::router())
83        .nest("/api/mcp/tools", mcp_tools::router())
84        .nest("/api/mcp-server", mcp_server_mgmt::router())
85        .nest("/api/mcp-servers", mcp_servers::router())
86        .nest("/api/github", github::router())
87        .nest("/api/graph", graph::router())
88        .nest("/api/harness", harness::router())
89        .nest("/api/harness/templates", harness_templates::router())
90        .nest("/api/webhooks", webhooks::router())
91        .nest("/api/background-tasks", background_tasks::router())
92        .nest("/api/test-mcp", test_mcp::router())
93        .nest("/api/clone", clone::router())
94        .nest("/api/clone/local", clone_local::router())
95        .nest("/api/clone/progress", clone_progress::router())
96        .nest("/api/clone/branches", clone_branches::router())
97        .nest("/api/files", files::router())
98        .nest("/api/fitness", fitness::router())
99        .nest("/api/rpc", rpc::router())
100        .nest("/api/a2a", a2a::router())
101        .nest("/api/ag-ui", ag_ui::router())
102        .nest("/api/a2ui", a2ui::router())
103        .nest("/api/traces", traces::router())
104        .nest("/api/schedules", schedules::router())
105        .nest("/api/sandboxes", sandbox::router())
106        .nest("/api/specialists", specialists::router())
107        .nest("/api/memory", memory::router())
108        .nest("/api/debug", debug::router())
109        .nest("/api/polling", polling::router())
110        .nest("/api/workflows", workflows::router())
111        .nest("/api", worktrees::router())
112}