extensions: add a display name field (#1759)

This commit is contained in:
Lily Delalande
2025-03-19 15:42:57 -04:00
committed by GitHub
parent 15f6973bcf
commit 70efaed793
14 changed files with 124 additions and 11 deletions
+6 -1
View File
@@ -134,7 +134,12 @@ impl Capabilities {
);
Box::new(McpClient::new(service))
}
ExtensionConfig::Builtin { name, timeout } => {
#[allow(unused_variables)]
ExtensionConfig::Builtin {
name,
display_name,
timeout,
} => {
// For builtin extensions, we run the current executable with mcp and extension name
let cmd = std::env::current_exe()
.expect("should find the current executable")
+2
View File
@@ -78,6 +78,7 @@ pub enum ExtensionConfig {
Builtin {
/// The name used to identify this extension
name: String,
display_name: Option<String>, // needed for the UI
timeout: Option<u64>,
},
}
@@ -86,6 +87,7 @@ impl Default for ExtensionConfig {
fn default() -> Self {
Self::Builtin {
name: config::DEFAULT_EXTENSION.to_string(),
display_name: Some(config::DEFAULT_DISPLAY_NAME.to_string()),
timeout: Some(config::DEFAULT_EXTENSION_TIMEOUT),
}
}
+2
View File
@@ -8,6 +8,7 @@ use utoipa::ToSchema;
pub const DEFAULT_EXTENSION: &str = "developer";
pub const DEFAULT_EXTENSION_TIMEOUT: u64 = 300;
pub const DEFAULT_EXTENSION_DESCRIPTION: &str = "";
pub const DEFAULT_DISPLAY_NAME: &str = "Developer";
#[derive(Debug, Deserialize, Serialize, Clone, ToSchema)]
pub struct ExtensionEntry {
@@ -42,6 +43,7 @@ impl ExtensionManager {
enabled: true,
config: ExtensionConfig::Builtin {
name: DEFAULT_EXTENSION.to_string(),
display_name: Some(DEFAULT_DISPLAY_NAME.to_string()),
timeout: Some(DEFAULT_EXTENSION_TIMEOUT),
},
},
+1
View File
@@ -7,6 +7,7 @@ pub use base::{Config, ConfigError, APP_STRATEGY};
pub use experiments::ExperimentManager;
pub use extensions::{ExtensionEntry, ExtensionManager};
pub use extensions::DEFAULT_DISPLAY_NAME;
pub use extensions::DEFAULT_EXTENSION;
pub use extensions::DEFAULT_EXTENSION_DESCRIPTION;
pub use extensions::DEFAULT_EXTENSION_TIMEOUT;