Skip to main content

models/
models.rs

1//! List models against `typesafe-rs-mock`.
2//!
3//! ```text
4//! cargo run -p typesafe-rs --example models
5//! ```
6
7use serde_json::json;
8use typesafe_rs::ClientConfig;
9use typesafe_rs_mock::MockServer;
10
11#[tokio::main]
12async fn main() -> Result<(), Box<dyn std::error::Error>> {
13    let mock = MockServer::start().await;
14    mock.on_models().respond(json!({
15        "models": [{
16            "name": "jev-latest",
17            "description": "TypeSafe flagship",
18            "release_date": "2026-01-01"
19        }]
20    }));
21
22    let client = ClientConfig::new()
23        .api_key("test")
24        .base_url(mock.url())
25        .build()?;
26
27    client.warm_up().await?;
28    for model in client.models().list().await? {
29        println!("{} — {}", model.name, model.description);
30    }
31    Ok(())
32}