aimo-client 0.4.0

AiMo Network REST API types and client
Documentation
use aimo_core::provider::ProviderMetadata;
use serde::{Deserialize, Serialize};

use crate::types::models::ProviderModelMetadata;

/// **DEPRECATED**: `register` is replaced by `connect` endpoint, use `ConnectProviderRequest` instead.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct RegisterProviderRequest {
    pub metadata: ProviderMetadata,
    pub signature: String,
}

/// **DEPRECATED**: `register` is replaced by `connect` endpoint, use `ConnectProviderResponse` instead.
#[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>,
}