systemprompt_agent/models/
runtime.rs1use serde::{Deserialize, Serialize};
7use systemprompt_models::ai::ToolModelOverrides;
8use systemprompt_models::services::PluginComponentRef;
9
10#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
11#[serde(rename_all = "camelCase")]
12pub struct AgentRuntimeInfo {
13 pub name: String,
14 pub port: u16,
15 pub is_enabled: bool,
16 pub is_primary: bool,
17 pub system_prompt: Option<String>,
18 pub mcp_servers: PluginComponentRef,
19 pub provider: Option<String>,
20 pub model: Option<String>,
21 pub max_output_tokens: Option<u32>,
22 #[serde(default)]
23 pub skills: PluginComponentRef,
24 #[serde(default)]
25 pub tool_model_overrides: ToolModelOverrides,
26}
27
28impl From<systemprompt_models::AgentConfig> for AgentRuntimeInfo {
29 fn from(config: systemprompt_models::AgentConfig) -> Self {
30 Self {
31 name: config.name,
32 port: config.port,
33 is_enabled: config.enabled,
34 is_primary: config.is_primary,
35 system_prompt: config.metadata.system_prompt,
36 mcp_servers: config.metadata.mcp_servers,
37 provider: config.metadata.provider,
38 model: config.metadata.model,
39 max_output_tokens: config.metadata.max_output_tokens,
40 skills: config.metadata.skills,
41 tool_model_overrides: config.metadata.tool_model_overrides,
42 }
43 }
44}