opendev_models/config/
agent.rs1use serde::{Deserialize, Serialize};
4use std::collections::HashMap;
5
6#[derive(Debug, Clone, Serialize, Deserialize)]
8pub struct ModelVariant {
9 pub name: String,
10 pub model: String,
11 pub provider: String,
12 #[serde(default = "super::default_temperature")]
13 pub temperature: f64,
14 #[serde(default = "super::default_max_tokens")]
15 pub max_tokens: u32,
16 #[serde(default)]
17 pub description: String,
18}
19
20#[derive(Debug, Clone, Default, Serialize, Deserialize)]
29pub struct AgentConfigInline {
30 #[serde(skip_serializing_if = "Option::is_none")]
32 pub model: Option<String>,
33 #[serde(skip_serializing_if = "Option::is_none")]
35 pub provider: Option<String>,
36 #[serde(skip_serializing_if = "Option::is_none")]
38 pub prompt: Option<String>,
39 #[serde(skip_serializing_if = "Option::is_none")]
41 pub description: Option<String>,
42 #[serde(skip_serializing_if = "Option::is_none")]
44 pub temperature: Option<f64>,
45 #[serde(skip_serializing_if = "Option::is_none")]
47 pub top_p: Option<f64>,
48 #[serde(skip_serializing_if = "Option::is_none")]
50 pub max_steps: Option<usize>,
51 #[serde(skip_serializing_if = "Option::is_none")]
53 pub mode: Option<String>,
54 #[serde(skip_serializing_if = "Option::is_none")]
56 pub color: Option<String>,
57 #[serde(skip_serializing_if = "Option::is_none")]
59 pub hidden: Option<bool>,
60 #[serde(skip_serializing_if = "Option::is_none")]
62 pub disable: Option<bool>,
63 #[serde(default, skip_serializing_if = "HashMap::is_empty")]
65 pub permission: HashMap<String, String>,
66}