vv_agent/app_server/protocol/
model.rs1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3use ts_rs::TS;
4
5#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, TS)]
6#[serde(rename_all = "camelCase")]
7pub struct ModelListParams {
8 #[serde(default, skip_serializing_if = "Option::is_none")]
9 pub provider: Option<String>,
10}
11
12#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, TS)]
13#[serde(rename_all = "camelCase")]
14pub struct ModelListResponse {
15 pub models: Vec<AppModelInfo>,
16}
17
18#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, JsonSchema, TS)]
19#[serde(rename_all = "camelCase")]
20pub struct AppModelInfo {
21 pub id: String,
22 #[serde(default, skip_serializing_if = "Option::is_none")]
23 pub provider: Option<String>,
24 #[serde(default, skip_serializing_if = "Option::is_none")]
25 pub display_name: Option<String>,
26 #[serde(default, skip_serializing_if = "Option::is_none")]
27 pub context_length: Option<u64>,
28 #[serde(default)]
29 pub supports_tools: bool,
30}