pub mod auth;
pub mod challenge;
pub mod challenge_creation;
pub mod evaluation;
pub mod github;
pub mod hashes;
pub mod ids;
pub mod images;
pub mod localization;
pub mod names;
pub mod paths;
pub mod pioneer_codes;
pub mod request;
pub mod urls;
#[cfg(test)]
mod contract_tests;
use serde::{Deserialize, Serialize};
use agentics_error::ServiceErrorCode;
pub use agentics_error::ErrorDetail;
#[derive(Debug, Clone, Serialize, Deserialize, schemars::JsonSchema)]
pub struct ErrorResponse {
pub error: ErrorBody,
}
#[derive(Debug, Clone, Serialize, Deserialize, schemars::JsonSchema)]
pub struct ErrorBody {
pub code: ServiceErrorCode,
pub message: String,
#[serde(default, skip_serializing_if = "Vec::is_empty")]
pub details: Vec<ErrorDetail>,
}
#[derive(Debug, Clone, Serialize, Deserialize, schemars::JsonSchema)]
pub struct HealthResponse {
pub status: String,
pub service: String,
pub environment: String,
pub database: DatabaseHealth,
}
#[derive(Debug, Clone, Serialize, Deserialize, schemars::JsonSchema)]
pub struct DatabaseHealth {
pub connected: bool,
pub current_time: String,
}
#[derive(Debug, Clone, Serialize, Deserialize, schemars::JsonSchema)]
pub struct IdOnlyResponse {
pub id: String,
}