1use utoipa::OpenApi;
4#[derive(OpenApi)]
5#[openapi(
6 paths(
7 crate::handler::status::status_handler,
8 crate::handler::accounts::accounts_handler,
9 crate::handler::accounts::remove_account_handler,
10 crate::handler::accounts::activate_account_handler,
11 crate::handler::ratelimits::ratelimits_handler,
12 crate::handler::usage::usage_handler,
13 crate::handler::usage::usage_history_handler,
14 crate::handler::models::list_models,
15 crate::handler::amp_threads::list_threads,
16 crate::handler::amp_threads::get_thread,
17 ),
18 components(schemas(
19 crate::handler::status::StatusResponse,
20 crate::handler::status::ServerInfo,
21 crate::handler::status::ProviderStatus,
22 crate::handler::status::AuthStatus,
23 crate::handler::accounts::AccountsResponse,
24 crate::handler::accounts::ProviderAccounts,
25 crate::handler::accounts::AccountDetail,
26 crate::handler::accounts::TokenStateDto,
27 crate::handler::ratelimits::RateLimitsResponse,
28 crate::handler::ratelimits::ProviderRateLimits,
29 crate::handler::ratelimits::AccountRateLimit,
30 byokey_types::RateLimitSnapshot,
31 crate::usage::UsageSnapshot,
32 crate::usage::ModelStats,
33 crate::handler::usage::UsageHistoryQuery,
34 crate::handler::usage::UsageHistoryResponse,
35 byokey_types::UsageBucket,
36 crate::handler::models::ModelsResponse,
37 crate::handler::models::ModelEntry,
38 crate::handler::amp_threads::AmpThreadListResponse,
39 crate::handler::amp_threads::AmpThreadListQuery,
40 crate::handler::amp_threads::AmpThreadSummary,
41 crate::handler::amp_threads::AmpThreadDetail,
42 crate::handler::amp_threads::AmpMessage,
43 crate::handler::amp_threads::AmpContentBlock,
44 crate::handler::amp_threads::AmpToolRun,
45 crate::handler::amp_threads::AmpUsage,
46 crate::handler::amp_threads::AmpMessageState,
47 crate::handler::amp_threads::AmpRelationship,
48 )),
49 tags((name = "management", description = "Daemon management API"))
50)]
51pub struct ApiDoc;
52
53pub async fn openapi_json() -> axum::Json<utoipa::openapi::OpenApi> {
55 axum::Json(ApiDoc::openapi())
56}