use aimo_core::provider::ProviderMetadata;
use serde::{Deserialize, Serialize};
use crate::types::models::ProviderModelMetadata;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegisterProviderRequest {
pub metadata: ProviderMetadata,
pub signature: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegisterProviderResponse {
pub success: bool,
pub message: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ConnectProviderRequest {
pub models: Vec<ProviderModelMetadata>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ConnectProviderResponse {
pub success: bool,
pub message: String,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ProviderConnectionStatus {
pub connected: bool,
pub timestamp: i64,
pub timestamp_ui: String,
#[serde(default)]
pub models: Vec<ProviderModelMetadata>,
}