use utoipa::OpenApi;
use crate::error::RuntimeErrorResponse;
use crate::handlers::{ContextSummary, JobMetadata, JobRequest, JobResponse};
#[derive(OpenApi)]
#[openapi(
paths(
crate::handlers::health,
crate::handlers::ready,
crate::handlers::handle_job,
),
components(schemas(
JobRequest,
JobResponse,
JobMetadata,
ContextSummary,
RuntimeErrorResponse,
)),
tags(
(name = "health", description = "Health check endpoints"),
(name = "jobs", description = "Job execution endpoints"),
),
info(
title = "Converge Runtime API",
description = "HTTP API for the Converge Agent OS",
version = "0.1.0",
contact(
name = "Converge",
url = "https://github.com/converge",
),
),
servers(
(url = "http://localhost:8080", description = "Local development server"),
),
)]
pub struct ApiDoc;