#![allow(unused_imports, dead_code)]
//! OpenAPI 3.0 specification for the entire API surface.
//!
//! This module aggregates all `#[utoipa::path]` annotated handlers from every
//! API module and all `#[derive(utoipa::ToSchema)]` types used in request /
//! response bodies, so that `utoipa` can produce a single `openapi.json`.

use utoipa::OpenApi;

// Pull request query type defined in api::pull_request

// Room query types defined in api::room

#[derive(OpenApi)]
#[openapi(
    paths(
        // Auth
        crate::auth::login::api_auth_login,
        crate::auth::register::api_auth_register,
        crate::auth::logout::api_auth_logout,
        crate::auth::captcha::api_auth_captcha,
        crate::auth::me::api_auth_me,
        crate::auth::password::api_user_change_password,
        crate::auth::password::api_user_request_password_reset,
        crate::auth::password::api_user_confirm_password_reset,
        // crate::auth::totp::api_2fa_enable,
        // crate::auth::totp::api_2fa_verify,
        // crate::auth::totp::api_2fa_disable,
        // crate::auth::totp::api_2fa_status,
        crate::auth::email::api_email_get,
        crate::auth::email::api_email_change,
        crate::auth::email::api_email_verify,
        // Agent
        // Agent (CRUD)
        crate::agent::code_review::trigger_code_review,
        crate::agent::issue_triage::triage_issue,
        crate::agent::pr_summary::generate_pr_description,
        crate::agent::provider::provider_list,
        crate::agent::provider::provider_get,
        crate::agent::provider::provider_create,
        crate::agent::provider::provider_update,
        crate::agent::provider::provider_delete,
        crate::agent::model::model_list,
        crate::agent::model::model_get,
        crate::agent::model::model_create,
        crate::agent::model::model_update,
        crate::agent::model::model_delete,
        crate::agent::model_version::model_version_list,
        crate::agent::model_version::model_version_get,
        crate::agent::model_version::model_version_create,
        crate::agent::model_version::model_version_update,
        crate::agent::model_version::model_version_delete,
        crate::agent::model_pricing::model_pricing_list,
        crate::agent::model_pricing::model_pricing_get,
        crate::agent::model_pricing::model_pricing_create,
        crate::agent::model_pricing::model_pricing_update,
        crate::agent::model_pricing::model_pricing_delete,
        crate::agent::model_capability::model_capability_list,
        crate::agent::model_capability::model_capability_get,
        crate::agent::model_capability::model_capability_create,
        crate::agent::model_capability::model_capability_update,
        crate::agent::model_capability::model_capability_delete,
        crate::agent::model_parameter_profile::model_parameter_profile_list,
        crate::agent::model_parameter_profile::model_parameter_profile_get,
        crate::agent::model_parameter_profile::model_parameter_profile_create,
        crate::agent::model_parameter_profile::model_parameter_profile_update,
        crate::agent::model_parameter_profile::model_parameter_profile_delete,
        // Git init (top-level)
        crate::git::init::git_init_bare,
        crate::git::init::git_open,
        crate::git::init::git_open_workdir,
        crate::git::init::git_is_repo,
        // Git archive
        crate::git::archive::git_archive,
        crate::git::archive::git_archive_list,
        crate::git::archive::git_archive_summary,
        crate::git::archive::git_archive_cached,
        crate::git::archive::git_archive_invalidate,
        crate::git::archive::git_archive_invalidate_all,
        // Git blame
        crate::git::blame::git_blame_file,
        // Git blob
        crate::git::blob::git_readme,
        crate::git::blob::git_blob_create,
        crate::git::blob::git_blob_get,
        crate::git::blob::git_blob_exists,
        crate::git::blob::git_blob_is_binary,
        crate::git::blob::git_blob_content,
        crate::git::blob::git_blob_size,
        // Git branch
        crate::git::branch::git_branch_list,
        crate::git::branch::git_branch_summary,
        crate::git::branch::git_branch_create,
        crate::git::branch::git_branch_get,
        crate::git::branch::git_branch_delete,
        crate::git::branch::git_branch_current,
        crate::git::branch::git_branch_exists,
        crate::git::branch::git_branch_is_head,
        crate::git::branch::git_branch_upstream,
        crate::git::branch::git_branch_tracking_difference,
        crate::git::branch::git_branch_delete_remote,
        crate::git::branch::git_branch_rename,
        crate::git::branch::git_branch_move,
        crate::git::branch::git_branch_set_upstream,
        crate::git::branch::git_branch_diff,
        crate::git::branch::git_branch_is_detached,
        crate::git::branch::git_branch_is_merged,
        crate::git::branch::git_branch_merge_base,
        crate::git::branch::git_branch_is_ancestor,
        crate::git::branch::git_branch_fast_forward,
        crate::git::branch::git_branch_is_conflicted,
        // Git commit
        crate::git::commit::git_commit_log,
        crate::git::commit::git_commit_count,
        crate::git::commit::git_commit_create,
        crate::git::commit::git_commit_graph,
        crate::git::commit::git_commit_graph_react,
        crate::git::commit::git_commit_walk,
        crate::git::commit::git_commit_resolve_rev,
        crate::git::commit::git_commit_get,
        crate::git::commit::git_commit_amend,
        crate::git::commit::git_commit_exists,
        crate::git::commit::git_commit_is_commit,
        crate::git::commit::git_commit_message,
        crate::git::commit::git_commit_summary,
        crate::git::commit::git_commit_short_id,
        crate::git::commit::git_commit_author,
        crate::git::commit::git_commit_tree_id,
        crate::git::commit::git_commit_parent_count,
        crate::git::commit::git_commit_parent_ids,
        crate::git::commit::git_commit_parent,
        crate::git::commit::git_commit_first_parent,
        crate::git::commit::git_commit_is_merge,
        crate::git::commit::git_commit_refs,
        crate::git::commit::git_commit_branches,
        crate::git::commit::git_commit_tags,
        crate::git::commit::git_commit_is_tip,
        crate::git::commit::git_commit_ref_count,
        crate::git::commit::git_commit_reflog,
        crate::git::commit::git_commit_ancestors,
        crate::git::commit::git_commit_descendants,
        crate::git::commit::git_commit_cherry_pick,
        crate::git::commit::git_commit_cherry_pick_abort,
        crate::git::commit::git_commit_revert,
        crate::git::commit::git_commit_revert_abort,
        // Git contributors
        crate::git::contributors::git_contributors,
        // Git diff
        crate::git::diff::git_diff_tree_to_tree,
        crate::git::diff::git_diff_commit_to_workdir,
        crate::git::diff::git_diff_commit_to_index,
        crate::git::diff::git_diff_workdir_to_index,
        crate::git::diff::git_diff_index_to_tree,
        crate::git::diff::git_diff_stats,
        crate::git::diff::git_diff_patch_id,
        crate::git::diff::git_diff_side_by_side,
        // Git refs
        crate::git::refs::git_ref_list,
        crate::git::refs::git_ref_create,
        crate::git::refs::git_ref_get,
        crate::git::refs::git_ref_delete,
        crate::git::refs::git_ref_rename,
        crate::git::refs::git_ref_update,
        crate::git::refs::git_ref_exists,
        crate::git::refs::git_ref_target,
        // Git repo
        crate::git::repo::git_description_get,
        crate::git::repo::git_description_set,
        crate::git::repo::git_description_reset,
        crate::git::repo::git_description_exists,
        crate::git::repo::git_update_repo,
        crate::git::repo::git_config_entries,
        crate::git::repo::git_config_get,
        crate::git::repo::git_config_set,
        crate::git::repo::git_config_delete,
        crate::git::repo::git_config_has,
        crate::git::repo::git_merge_analysis,
        crate::git::repo::git_merge_analysis_for_ref,
        crate::git::repo::git_merge_base,
        crate::git::repo::git_merge_commits,
        crate::git::repo::git_merge_trees,
        crate::git::repo::git_merge_abort,
        crate::git::repo::git_merge_is_in_progress,
        crate::git::repo::git_mergehead_list,
        crate::git::repo::git_merge_is_conflicted,
        // Git star
        crate::git::star::git_star,
        crate::git::star::git_unstar,
        crate::git::star::git_is_starred,
        crate::git::star::git_star_count,
        crate::git::star::git_star_user_list,
        // Git branch protection
        crate::git::branch_protection::branch_protection_list,
        crate::git::branch_protection::branch_protection_get,
        crate::git::branch_protection::branch_protection_create,
        crate::git::branch_protection::branch_protection_update,
        crate::git::branch_protection::branch_protection_delete,
        crate::git::branch_protection::branch_protection_check_approvals,
        // Git tag
        crate::git::tag::git_tag_list,
        crate::git::tag::git_tag_list_names,
        crate::git::tag::git_tag_summary,
        crate::git::tag::git_tag_count,
        crate::git::tag::git_tag_create,
        crate::git::tag::git_tag_create_lightweight,
        crate::git::tag::git_tag_rename,
        crate::git::tag::git_tag_update_message,
        crate::git::tag::git_tag_get,
        crate::git::tag::git_tag_delete,
        crate::git::tag::git_tag_exists,
        crate::git::tag::git_tag_target,
        crate::git::tag::git_tag_is_annotated,
        crate::git::tag::git_tag_message,
        crate::git::tag::git_tag_tagger,
        // Git tree
        crate::git::tree::git_tree_get,
        crate::git::tree::git_tree_exists,
        crate::git::tree::git_tree_list,
        crate::git::tree::git_tree_entry,
        crate::git::tree::git_tree_entry_by_path,
        crate::git::tree::git_tree_entry_by_commit_path,
        crate::git::tree::git_tree_entry_count,
        crate::git::tree::git_tree_is_empty,
        crate::git::tree::git_tree_diffstats,
        // Git watch
        crate::git::watch::git_watch,
        crate::git::watch::git_unwatch,
        crate::git::watch::git_is_watched,
        crate::git::watch::git_watch_count,
        crate::git::watch::git_watch_user_list,
        // Git webhook
        crate::git::webhook::git_webhook_list,
        crate::git::webhook::git_webhook_create,
        crate::git::webhook::git_webhook_get,
        crate::git::webhook::git_webhook_update,
        crate::git::webhook::git_webhook_delete,
        // Issue
        crate::issue::issue_list,
        crate::issue::issue_get,
        crate::issue::issue_create,
        crate::issue::issue_update,
        crate::issue::issue_close,
        crate::issue::issue_reopen,
        crate::issue::issue_delete,
        crate::issue::issue_summary,
        crate::issue::issue_label::issue_label_list,
        crate::issue::issue_label::issue_label_add,
        crate::issue::issue_label::issue_label_add_bulk,
        crate::issue::issue_label::issue_label_remove,
        crate::issue::label::label_list,
        crate::issue::label::label_create,
        crate::issue::label::label_delete,
        crate::issue::comment::issue_comment_list,
        crate::issue::comment::issue_comment_get,
        crate::issue::comment::issue_comment_create,
        crate::issue::comment::issue_comment_update,
        crate::issue::comment::issue_comment_delete,
        crate::issue::comment_reaction::issue_comment_reaction_list,
        crate::issue::comment_reaction::issue_comment_reaction_add,
        crate::issue::comment_reaction::issue_comment_reaction_remove,
        crate::issue::assignee::issue_assignee_list,
        crate::issue::assignee::issue_assignee_add,
        crate::issue::assignee::issue_assignee_remove,
        crate::issue::subscriber::issue_subscriber_list,
        crate::issue::subscriber::issue_subscribe,
        crate::issue::subscriber::issue_unsubscribe,
        crate::issue::reaction::issue_reaction_list,
        crate::issue::reaction::issue_reaction_add,
        crate::issue::reaction::issue_reaction_remove,
        crate::issue::repo::issue_repo_list,
        crate::issue::repo::issue_repo_link,
        crate::issue::repo::issue_repo_unlink,
        crate::issue::pull_request::issue_pull_request_list,
        crate::issue::pull_request::issue_pull_request_link,
        crate::issue::pull_request::issue_pull_request_unlink,
        // Project
        crate::project::init::project_create,
        crate::project::info::project_info,
        crate::project::repo::project_repos,
        crate::project::repo::project_repo_create,
        crate::project::members::project_members,
        crate::project::members::project_update_member_role,
        crate::project::members::project_remove_member,
        crate::project::labels::project_labels,
        crate::project::labels::project_create_label,
        crate::project::labels::project_get_label,
        crate::project::labels::project_update_label,
        crate::project::labels::project_delete_label,
        crate::project::like::project_like,
        crate::project::like::project_unlike,
        crate::project::like::project_is_like,
        crate::project::like::project_likes_count,
        crate::project::like::project_like_users,
        crate::project::watch::project_watch,
        crate::project::watch::project_unwatch,
        crate::project::watch::project_is_watch,
        crate::project::watch::project_watches_count,
        crate::project::watch::project_watch_users,
        // Boards
        crate::project::board::board_list,
        crate::project::board::board_get,
        crate::project::board::board_create,
        crate::project::board::board_update,
        crate::project::board::board_delete,
        crate::project::board::column_create,
        crate::project::board::column_update,
        crate::project::board::column_delete,
        crate::project::board::card_create,
        crate::project::board::card_update,
        crate::project::board::card_move,
        crate::project::board::card_delete,
        crate::project::settings::project_exchange_name,
        crate::project::settings::project_exchange_visibility,
        crate::project::settings::project_exchange_title,
        crate::project::audit::project_audit_logs,
        crate::project::audit::project_audit_log,
        crate::project::audit::project_log_audit,
        crate::project::activity::project_activities,
        crate::project::activity::project_log_activity,
        crate::project::billing::project_billing,
        crate::project::billing::project_billing_history,
        crate::project::invitation::project_my_invitations,
        crate::project::invitation::project_invitations,
        crate::project::invitation::project_invite_user,
        crate::project::invitation::project_accept_invitation,
        crate::project::invitation::project_reject_invitation,
        crate::project::invitation::project_cancel_invitation,
        crate::project::join_settings::project_join_settings,
        crate::project::join_settings::project_update_join_settings,
        crate::project::join_request::project_my_join_requests,
        crate::project::join_request::project_join_requests,
        crate::project::join_request::project_submit_join_request,
        crate::project::join_request::project_process_join_request,
        crate::project::join_request::project_cancel_join_request,
        crate::project::join_answers::project_join_answers,
        crate::project::join_answers::project_submit_join_answers,
        crate::project::transfer_repo::project_transfer_repo,
        // Pull request
        crate::pull_request::pull_request::pull_request_list,
        crate::pull_request::pull_request::pull_request_get,
        crate::pull_request::pull_request::pull_request_create,
        crate::pull_request::pull_request::pull_request_update,
        crate::pull_request::pull_request::pull_request_delete,
        crate::pull_request::pull_request::pull_request_close,
        crate::pull_request::pull_request::pull_request_reopen,
        crate::pull_request::pull_request::pull_request_summary,
        crate::pull_request::pull_request::review_list,
        crate::pull_request::pull_request::review_submit,
        crate::pull_request::pull_request::review_update,
        crate::pull_request::pull_request::review_delete,
        crate::pull_request::pull_request::review_comment_list,
        crate::pull_request::pull_request::review_comment_create,
        crate::pull_request::pull_request::review_comment_update,
        crate::pull_request::pull_request::review_comment_delete,
        crate::pull_request::pull_request::pr_diff_side_by_side,
        crate::pull_request::pull_request::pr_commits_list,
        crate::pull_request::review_comment::review_comment_resolve,
        crate::pull_request::review_comment::review_comment_unresolve,
        crate::pull_request::review_comment::review_comment_reply,
        crate::pull_request::review_request::review_request_list,
        crate::pull_request::review_request::review_request_create,
        crate::pull_request::review_request::review_request_delete,
        crate::pull_request::review_request::review_request_dismiss,
        crate::pull_request::merge::merge_analysis,
        crate::pull_request::merge::merge_conflict_check,
        crate::pull_request::merge::merge_execute,
        crate::pull_request::merge::merge_abort,
        crate::pull_request::merge::merge_is_in_progress,
        // Room
        crate::room::room::room_list,
        crate::room::room::room_get,
        crate::room::room::room_create,
        crate::room::room::room_update,
        crate::room::room::room_delete,
        crate::room::category::category_list,
        crate::room::category::category_create,
        crate::room::category::category_update,
        crate::room::category::category_delete,
        crate::room::message::message_create,
        crate::room::message::message_update,
        crate::room::message::message_revoke,
        crate::room::thread::thread_list,
        crate::room::thread::thread_create,
        crate::room::thread::thread_messages,
        crate::room::member::member_list,
        crate::room::member::member_add,
        crate::room::member::member_remove,
        crate::room::member::member_set_read_seq,
        crate::room::member::member_update_role,
        crate::room::pin::pin_list,
        crate::room::pin::pin_add,
        crate::room::pin::pin_remove,
        crate::room::ai::ai_list,
        crate::room::ai::ai_upsert,
        crate::room::ai::ai_delete,
        crate::room::notification::notification_list,
        crate::room::notification::notification_mark_read,
        crate::room::notification::notification_mark_all_read,
        crate::room::notification::notification_archive,
        crate::room::draft_and_history::message_edit_history,
        crate::room::draft_and_history::mention_list,
        crate::room::draft_and_history::mention_read_all,
        // Search
        crate::search::service::search,
        crate::search::service::search_messages,
        crate::room::reaction::message_search,
        // User
        crate::user::profile::get_my_profile,
        crate::user::profile::update_my_profile,
        crate::user::profile::get_profile_by_username,
        crate::user::preferences::get_preferences,
        crate::user::preferences::update_preferences,
        crate::user::ssh_key::add_ssh_key,
        crate::user::ssh_key::list_ssh_keys,
        crate::user::ssh_key::get_ssh_key,
        crate::user::ssh_key::update_ssh_key,
        crate::user::ssh_key::delete_ssh_key,
        crate::user::access_key::create_access_key,
        crate::user::access_key::list_access_keys,
        crate::user::access_key::delete_access_key,
        crate::user::notification::get_notification_preferences,
        crate::user::notification::update_notification_preferences,
        crate::user::chpc::get_my_contribution_heatmap,
        crate::user::chpc::get_contribution_heatmap,
        crate::user::projects::get_current_user_projects,
        crate::user::projects::get_user_projects,
        crate::user::repository::get_current_user_repos,
        crate::user::repository::get_user_repos,
        crate::user::subscribe::subscribe_target,
        crate::user::subscribe::unsubscribe_target,
        crate::user::subscribe::is_subscribed_to_target,
        crate::user::subscribe::get_subscribers,
        crate::user::subscribe::get_subscription_count,
        crate::user::subscribe::get_subscriber_count,
        crate::user::subscribe::get_following_list,
        crate::user::user_activity::get_user_activity,
        crate::user::stars::get_user_stars,
        crate::user::user_info::get_user_info,
        // Skill
        crate::skill::skill_list,
        crate::skill::skill_get,
        crate::skill::skill_create,
        crate::skill::skill_update,
        crate::skill::skill_delete,
        crate::skill::skill_scan,
        // Workspace
        crate::workspace::init::workspace_create,
        crate::workspace::info::workspace_list,
        crate::workspace::info::workspace_info,
        crate::workspace::projects::workspace_projects,
        crate::workspace::stats::workspace_stats,
        crate::workspace::billing::workspace_billing_current,
        crate::workspace::billing::workspace_billing_history,
        crate::workspace::billing::workspace_billing_add_credit,
        crate::workspace::members::workspace_members,
        crate::workspace::members::workspace_update_member_role,
        crate::workspace::members::workspace_remove_member,
        crate::workspace::members::workspace_invite_member,
        crate::workspace::members::workspace_pending_invitations,
        crate::workspace::members::workspace_cancel_invitation,
        crate::workspace::members::workspace_accept_invitation,
        crate::workspace::members::workspace_my_invitations,
        crate::workspace::members::workspace_accept_invitation_by_slug,
        crate::workspace::settings::workspace_update,
        crate::workspace::settings::workspace_delete,
    ),
    components(
        schemas(
            // Core API types
            crate::error::ApiError,
            // Pager
            service::Pager,
            // Issue
            service::issue::IssueCreateRequest,
            service::issue::IssueUpdateRequest,
            service::issue::IssueResponse,
            service::issue::IssueListResponse,
            service::issue::IssueSummaryResponse,
            service::issue::IssueCommentCreateRequest,
            service::issue::IssueCommentUpdateRequest,
            service::issue::IssueCommentResponse,
            service::issue::IssueCommentListResponse,
            service::issue::IssueLabelResponse,
            service::issue::IssueAddLabelRequest,
            service::issue::IssueAddLabelsByNamesRequest,
            service::issue::LabelResponse,
            service::issue::CreateLabelRequest,
            service::issue::ReactionAddRequest,
            service::issue::ReactionListResponse,
            service::issue::ReactionResponse,
            service::issue::IssueAssignUserRequest,
            service::issue::IssueAssigneeResponse,
            service::issue::IssueSubscriberResponse,
            service::issue::IssueRepoResponse,
            service::issue::IssueLinkRepoRequest,
            service::issue::IssuePullRequestResponse,
            service::issue::IssueLinkPullRequestRequest,
            // Pull request
            service::pull_request::PullRequestCreateRequest,
            service::pull_request::PullRequestUpdateRequest,
            service::pull_request::PullRequestResponse,
            service::pull_request::PullRequestListResponse,
            service::pull_request::PullRequestSummaryResponse,
            service::pull_request::PrCommitsListResponse,
            service::pull_request::PrCommitResponse,
            service::pull_request::ReviewSubmitRequest,
            service::pull_request::ReviewUpdateRequest,
            service::pull_request::ReviewResponse,
            service::pull_request::ReviewListResponse,
            service::pull_request::ReviewCommentCreateRequest,
            service::pull_request::ReviewCommentUpdateRequest,
            service::pull_request::ReviewCommentResponse,
            service::pull_request::ReviewCommentListResponse,
            service::pull_request::ReviewCommentListQuery,
            service::pull_request::ReviewCommentReplyRequest,
            service::pull_request::ReviewRequestCreateRequest,
            service::pull_request::ReviewRequestResponse,
            service::pull_request::ReviewRequestListResponse,
            service::git::diff::SideBySideDiffResponse,
            service::git::diff::SideBySideDiffQuery,
            service::pull_request::MergeAnalysisResponse,
            service::pull_request::MergeConflictResponse,
            service::pull_request::MergeRequest,
            service::pull_request::MergeResponse,
            // Git branch protection
            service::git::branch_protection::BranchProtectionResponse,
            service::git::branch_protection::BranchProtectionCreateRequest,
            service::git::branch_protection::BranchProtectionUpdateRequest,
            service::git::branch_protection::ApprovalCheckResult,
            service::git::branch_protection::ReviewerInfo,
            // Project
            service::project::init::ProjectInitParams,
            service::project::init::ProjectInitResponse,
            service::project::info::ProjectInfoRelational,
            service::project::repo::ProjectRepositoryPagination,
            service::project::repo::ProjectRepositoryItem,
            service::project::repo::ProjectRepoCreateParams,
            service::project::repo::ProjectRepoCreateResponse,
            service::project::members::MemberListResponse,
            service::project::members::UpdateMemberRoleRequest,
            service::project::labels::LabelListResponse,
            service::project::labels::LabelResponse,
            service::project::labels::CreateLabelParams,
            service::project::labels::UpdateLabelParams,
            service::project::like::LikeUserInfo,
            service::project::watch::WatchUserInfo,
            service::project::audit::AuditLogResponse,
            service::project::audit::AuditLogParams,
            service::project::activity::ActivityLogResponse,
            service::project::activity::ActivityLogParams,
            service::project::activity::ActivityLogListResponse,
            // Skill
            service::skill::info::SkillResponse,
            service::skill::manage::CreateSkillRequest,
            service::skill::manage::UpdateSkillRequest,
            service::skill::manage::DeleteSkillResponse,
            crate::skill::ScanResponse,
            // Boards
            service::project::board::BoardResponse,
            service::project::board::BoardWithColumnsResponse,
            service::project::board::ColumnResponse,
            service::project::board::ColumnWithCardsResponse,
            service::project::board::CardResponse,
            service::project::board::CreateBoardParams,
            service::project::board::UpdateBoardParams,
            service::project::board::CreateColumnParams,
            service::project::board::UpdateColumnParams,
            service::project::board::CreateCardParams,
            service::project::board::UpdateCardParams,
            service::project::board::MoveCardParams,
            service::project::billing::ProjectBillingCurrentResponse,
            service::project::billing::ProjectBillingHistoryResponse,
            service::project::billing::ProjectBillingHistoryQuery,
            service::project::invitation::InvitationListResponse,
            service::project::join_settings::JoinSettingsResponse,
            service::project::join_settings::UpdateJoinSettingsRequest,
            service::project::join_request::JoinRequestListResponse,
            service::project::join_request::SubmitJoinRequest,
            service::project::join_request::ProcessJoinRequest,
            service::project::join_answers::JoinAnswersListResponse,
            service::project::join_answers::AnswerRequest,
            service::project::transfer_repo::TransferRepoParams,
            service::project::transfer_repo::TransferRepoResponse,
            // Agent
            service::agent::sync::SyncModelsResponse,
            service::agent::code_review::TriggerCodeReviewRequest,
            service::agent::code_review::TriggerCodeReviewResponse,
            service::agent::code_review::CommentCreated,
            service::agent::issue_triage::IssueTriageSuggestion,
            service::agent::issue_triage::IssueTriageResponse,
            service::agent::pr_summary::GeneratePrDescriptionRequest,
            service::agent::pr_summary::GeneratePrDescriptionResponse,
            service::agent::provider::ProviderResponse,
            service::agent::provider::CreateProviderRequest,
            service::agent::provider::UpdateProviderRequest,
            service::agent::model::ModelResponse,
            service::agent::model::CreateModelRequest,
            service::agent::model::UpdateModelRequest,
            service::agent::model_version::ModelVersionResponse,
            service::agent::model_version::CreateModelVersionRequest,
            service::agent::model_version::UpdateModelVersionRequest,
            service::agent::model_pricing::ModelPricingResponse,
            service::agent::model_pricing::CreateModelPricingRequest,
            service::agent::model_pricing::UpdateModelPricingRequest,
            service::agent::model_capability::ModelCapabilityResponse,
            service::agent::model_capability::CreateModelCapabilityRequest,
            service::agent::model_capability::UpdateModelCapabilityRequest,
            service::agent::model_parameter_profile::ModelParameterProfileResponse,
            service::agent::model_parameter_profile::CreateModelParameterProfileRequest,
            service::agent::model_parameter_profile::UpdateModelParameterProfileRequest,
            // User
            service::user::profile::ProfileResponse,
            service::user::profile::UpdateProfileParams,
            service::user::preferences::PreferencesResponse,
            service::user::preferences::PreferencesParams,
            service::user::ssh_key::SshKeyResponse,
            service::user::ssh_key::SshKeyListResponse,
            service::user::ssh_key::AddSshKeyParams,
            service::user::ssh_key::UpdateSshKeyParams,
            service::user::access_key::AccessKeyResponse,
            service::user::access_key::AccessKeyListResponse,
            service::user::access_key::CreateAccessKeyParams,
            service::user::notification::NotificationPreferencesResponse,
            service::user::notification::NotificationPreferencesParams,
            service::user::chpc::ContributionHeatmapResponse,
            service::user::chpc::ContributionHeatmapQuery,
            service::user::projects::UserProjectsResponse,
            service::user::projects::UserProjectsQuery,
            service::user::repository::UserReposResponse,
            service::user::repository::UserReposQuery,
            service::user::subscribe::SubscriptionInfo,
            service::user::subscribe::UserCard,
            service::user::user_activity::UserActivityItem,
            service::user::user_activity::UserActivityResponse,
            service::user::stars::RepoStarItem,
            service::user::stars::ProjectFollowItem,
            service::user::stars::UserStarsResponse,
            service::user::user_info::UserInfoExternal,
            // Workspace
            service::workspace::init::WorkspaceInitParams,
            service::workspace::info::WorkspaceInfoResponse,
            service::workspace::info::WorkspaceListItem,
            service::workspace::info::WorkspaceListResponse,
            service::workspace::info::WorkspaceProjectsQuery,
            service::workspace::info::WorkspaceProjectsResponse,
            service::workspace::info::WorkspaceProjectItem,
            service::workspace::info::WorkspaceStatsResponse,
            service::workspace::billing::WorkspaceBillingCurrentResponse,
            service::workspace::billing::WorkspaceBillingHistoryResponse,
            service::workspace::billing::WorkspaceBillingHistoryQuery,
            service::workspace::billing::WorkspaceBillingAddCreditParams,
            service::workspace::members::WorkspaceMemberInfo,
            service::workspace::members::WorkspaceMembersResponse,
            service::workspace::members::WorkspaceInviteParams,
            service::workspace::members::WorkspaceInviteAcceptParams,
            service::workspace::members::PendingInvitationInfo,
            service::workspace::members::MyWorkspaceInvitation,
            service::workspace::members::WorkspaceAcceptBySlugParams,
            service::workspace::settings::WorkspaceUpdateParams,
            // Room
            room::RoomResponse,
            room::RoomCreateRequest,
            room::RoomUpdateRequest,
            room::RoomCategoryResponse,
            room::RoomCategoryCreateRequest,
            room::RoomCategoryUpdateRequest,
            room::RoomMemberResponse,
            room::RoomMemberAddRequest,
            room::RoomMemberRoleUpdateRequest,
            room::RoomMemberReadSeqRequest,
            room::RoomMessageResponse,
            room::RoomMessageCreateRequest,
            room::RoomMessageUpdateRequest,
            room::RoomMessageListResponse,
            room::RoomThreadResponse,
            room::RoomThreadCreateRequest,
            room::RoomPinResponse,
            room::RoomAiResponse,
            room::RoomAiUpsertRequest,
            room::NotificationResponse,
            room::NotificationListResponse,
            room::NotificationType,
            // Auth service types
            service::auth::login::LoginParams,
            service::auth::register::RegisterParams,
            service::auth::password::ChangePasswordParams,
            service::auth::password::ConfirmResetPasswordParams,
            service::auth::password::ResetPasswordParams,
            service::auth::captcha::CaptchaQuery,
            service::auth::captcha::CaptchaResponse,
            service::auth::me::ContextMe,
            // service::auth::totp::Enable2FAResponse,
            // service::auth::totp::Verify2FAParams,
            // service::auth::totp::Disable2FAParams,
            // service::auth::totp::Get2FAStatusResponse,
            service::auth::email::EmailChangeRequest,
            service::auth::email::EmailVerifyRequest,
            service::auth::email::EmailResponse,
            // Git init
            service::git::init::GitInitRequest,
            service::git::init::GitInitResponse,
            // Git blob
            service::git::blob::GitReadmeQuery,
            service::git::blob::GitReadmeResponse,
            // Git webhook
            service::git::webhook::WebhookEvent,
            service::git::webhook::CreateWebhookParams,
            service::git::webhook::UpdateWebhookParams,
            service::git::webhook::WebhookResponse,
            service::git::webhook::WebhookListResponse,
            // Search
            service::search::SearchResponse,
            service::search::SearchResultSet<service::search::ProjectSearchItem>,
            service::search::SearchResultSet<service::search::RepoSearchItem>,
            service::search::SearchResultSet<service::search::IssueSearchItem>,
            service::search::SearchResultSet<service::search::UserSearchItem>,
            service::search::ProjectSearchItem,
            service::search::RepoSearchItem,
            service::search::IssueSearchItem,
            service::search::UserSearchItem,
            service::search::GlobalMessageSearchResponse,
            service::search::GlobalMessageSearchItem,
        )
    ),
    tags(
        (name = "Auth", description = "Authentication and user identity"),
        (name = "Agent", description = "AI agent model management"),
        (name = "Git", description = "Git repository operations"),
        (name = "Issues", description = "Issue tracking"),
        (name = "Project", description = "Project management"),
        (name = "PullRequest", description = "Pull request management"),
        (name = "Room", description = "Real-time chat rooms"),
        (name = "Search", description = "Global and room message search"),
        (name = "User", description = "User profiles and settings"),
        (name = "Workspace", description = "Workspace management and collaboration"),
    )
)]
pub struct OpenApiDoc;
