42 lines · 1.0 KB · Rust
RawDownload
use std::sync::Arc; use gpui::SharedString;use indexmap::IndexMap;use schemars::JsonSchema;use serde::{Deserialize, Serialize}; #[derive(Debug, PartialEq, Eq, Hash, Clone, Serialize, Deserialize, JsonSchema)]pub struct AgentProfileId(pub Arc<str>); impl AgentProfileId {    pub fn as_str(&self) -> &str {        &self.0    }} impl std::fmt::Display for AgentProfileId {    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {        write!(f, "{}", self.0)    }} impl Default for AgentProfileId {    fn default() -> Self {        Self("write".into())    }} /// A profile for the Zed Agent that controls its behavior.#[derive(Debug, Clone)]pub struct AgentProfile {    /// The name of the profile.    pub name: SharedString,    pub tools: IndexMap<Arc<str>, bool>,    pub enable_all_context_servers: bool,    pub context_servers: IndexMap<Arc<str>, ContextServerPreset>,} #[derive(Debug, Clone, Default)]pub struct ContextServerPreset {    pub tools: IndexMap<Arc<str>, bool>,}