Skip to main content

tandem_types/
provider.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Clone, Serialize, Deserialize)]
4pub struct ModelSpec {
5    #[serde(alias = "providerID", alias = "providerId")]
6    pub provider_id: String,
7    #[serde(alias = "modelID", alias = "modelId")]
8    pub model_id: String,
9}
10
11#[derive(Debug, Clone, Serialize, Deserialize)]
12pub struct ModelInfo {
13    pub id: String,
14    pub provider_id: String,
15    pub display_name: String,
16    pub context_window: usize,
17}
18
19#[derive(Debug, Clone, Serialize, Deserialize)]
20pub struct ProviderInfo {
21    pub id: String,
22    pub name: String,
23    #[serde(default)]
24    pub models: Vec<ModelInfo>,
25}