mirror of
https://github.com/aljazceru/goose.git
synced 2025-12-23 17:14:22 +01:00
46 lines
1.6 KiB
Rust
46 lines
1.6 KiB
Rust
use utoipa::OpenApi;
|
|
|
|
use goose::agents::extension::Envs;
|
|
use goose::agents::ExtensionConfig;
|
|
use goose::config::ExtensionEntry;
|
|
use goose::providers::base::ConfigKey;
|
|
use goose::providers::base::ProviderMetadata;
|
|
|
|
#[allow(dead_code)] // Used by utoipa for OpenAPI generation
|
|
#[derive(OpenApi)]
|
|
#[openapi(
|
|
paths(
|
|
super::routes::config_management::upsert_config,
|
|
super::routes::config_management::remove_config,
|
|
super::routes::config_management::read_config,
|
|
super::routes::config_management::add_extension,
|
|
super::routes::config_management::remove_extension,
|
|
super::routes::config_management::toggle_extension,
|
|
super::routes::config_management::get_extensions,
|
|
super::routes::config_management::update_extension,
|
|
super::routes::config_management::read_all_config,
|
|
super::routes::config_management::providers
|
|
),
|
|
components(schemas(
|
|
super::routes::config_management::UpsertConfigQuery,
|
|
super::routes::config_management::ConfigKeyQuery,
|
|
super::routes::config_management::ConfigResponse,
|
|
super::routes::config_management::ProvidersResponse,
|
|
super::routes::config_management::ProviderDetails,
|
|
super::routes::config_management::ExtensionResponse,
|
|
super::routes::config_management::ExtensionQuery,
|
|
ProviderMetadata,
|
|
ExtensionEntry,
|
|
ExtensionConfig,
|
|
ConfigKey,
|
|
Envs,
|
|
))
|
|
)]
|
|
pub struct ApiDoc;
|
|
|
|
#[allow(dead_code)] // Used by generate_schema binary
|
|
pub fn generate_schema() -> String {
|
|
let api_doc = ApiDoc::openapi();
|
|
serde_json::to_string_pretty(&api_doc).unwrap()
|
|
}
|