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_progress;
12pub mod codebases;
13pub mod debug;
14pub mod files;
15pub mod github;
16pub mod kanban;
17pub mod mcp_routes;
18pub mod mcp_server_mgmt;
19pub mod mcp_servers;
20pub mod mcp_tools;
21pub mod memory;
22pub mod notes;
23pub mod polling;
24pub mod provider_models;
25pub mod providers;
26pub mod review;
27pub mod rpc;
28pub mod sandbox;
29pub mod schedules;
30pub mod sessions;
31pub mod shared_sessions;
32pub mod skills;
33pub mod skills_catalog;
34pub mod skills_clone;
35pub mod skills_upload;
36pub mod specialists;
37pub mod tasks;
38pub mod tasks_automation;
39pub mod tasks_github;
40pub mod test_mcp;
41pub mod traces;
42pub mod webhooks;
43pub mod workflows;
44pub mod workspaces;
45pub mod worktrees;
46
47use axum::Router;
48
49use crate::state::AppState;
50
51pub fn api_router() -> Router<AppState> {
53 Router::new()
54 .nest("/api/agents", agents::router())
55 .nest("/api/notes", notes::router())
56 .nest("/api/kanban", kanban::router())
57 .nest("/api/tasks", tasks::router())
58 .nest("/api/workspaces", workspaces::router())
59 .nest("/api", codebases::router())
60 .nest("/api/skills", skills::router())
61 .nest("/api/skills/catalog", skills_catalog::router())
62 .nest("/api/skills/clone", skills_clone::router())
63 .nest("/api/skills/upload", skills_upload::router())
64 .nest("/api/sessions", sessions::router())
65 .nest("/api/shared-sessions", shared_sessions::router())
66 .nest("/api/providers", providers::router())
67 .nest("/api/providers", provider_models::router())
68 .nest("/api/review", review::router())
69 .nest("/api/acp", acp_routes::router())
70 .nest("/api/acp", acp_registry::router())
71 .nest("/api/acp/docker", acp_docker::router())
72 .nest("/api/mcp", mcp_routes::router())
73 .nest("/api/mcp/tools", mcp_tools::router())
74 .nest("/api/mcp-server", mcp_server_mgmt::router())
75 .nest("/api/mcp-servers", mcp_servers::router())
76 .nest("/api/github", github::router())
77 .nest("/api/webhooks", webhooks::router())
78 .nest("/api/background-tasks", background_tasks::router())
79 .nest("/api/test-mcp", test_mcp::router())
80 .nest("/api/clone", clone::router())
81 .nest("/api/clone/progress", clone_progress::router())
82 .nest("/api/clone/branches", clone_branches::router())
83 .nest("/api/files", files::router())
84 .nest("/api/rpc", rpc::router())
85 .nest("/api/a2a", a2a::router())
86 .nest("/api/ag-ui", ag_ui::router())
87 .nest("/api/a2ui", a2ui::router())
88 .nest("/api/traces", traces::router())
89 .nest("/api/schedules", schedules::router())
90 .nest("/api/sandboxes", sandbox::router())
91 .nest("/api/specialists", specialists::router())
92 .nest("/api/memory", memory::router())
93 .nest("/api/debug", debug::router())
94 .nest("/api/polling", polling::router())
95 .nest("/api/workflows", workflows::router())
96 .nest("/api", worktrees::router())
97}