diff --git a/crates/agent_ui/src/agent_configuration/configure_context_server_modal.rs b/crates/agent_ui/src/agent_configuration/configure_context_server_modal.rs index 6a0bd765c7..30fad51cfc 100644 --- a/crates/agent_ui/src/agent_configuration/configure_context_server_modal.rs +++ b/crates/agent_ui/src/agent_configuration/configure_context_server_modal.rs @@ -295,10 +295,7 @@ impl ConfigureContextServerModal { ContextServerDescriptorRegistry::default_global(cx) .read(cx) .context_server_descriptor(&server_id.0) - .map(|_| ContextServerSettings::Extension { - enabled: true, - settings: serde_json::json!({}), - }) + .map(|_| ContextServerSettings::default_extension()) }) else { return Task::ready(Err(anyhow::anyhow!("Context server not found"))); diff --git a/crates/extension_host/src/wasm_host/wit/since_v0_6_0.rs b/crates/extension_host/src/wasm_host/wit/since_v0_6_0.rs index a85e48226b..f8f9ae1977 100644 --- a/crates/extension_host/src/wasm_host/wit/since_v0_6_0.rs +++ b/crates/extension_host/src/wasm_host/wit/since_v0_6_0.rs @@ -945,7 +945,10 @@ impl ExtensionImports for WasmState { .get(key.as_str()) }) .cloned() - .context("Failed to get context server configuration")?; + .unwrap_or_else(|| { + project::project_settings::ContextServerSettings::default_extension( + ) + }); match settings { project::project_settings::ContextServerSettings::Custom { diff --git a/crates/project/src/context_server_store.rs b/crates/project/src/context_server_store.rs index 36213f96c4..3bde9d6b36 100644 --- a/crates/project/src/context_server_store.rs +++ b/crates/project/src/context_server_store.rs @@ -505,10 +505,7 @@ impl ContextServerStore { { configured_servers .entry(id) - .or_insert(ContextServerSettings::Extension { - enabled: true, - settings: serde_json::json!({}), - }); + .or_insert(ContextServerSettings::default_extension()); } let (enabled_servers, disabled_servers): (HashMap<_, _>, HashMap<_, _>) = diff --git a/crates/project/src/project_settings.rs b/crates/project/src/project_settings.rs index 3f584f9697..19029cdb1d 100644 --- a/crates/project/src/project_settings.rs +++ b/crates/project/src/project_settings.rs @@ -111,6 +111,13 @@ pub enum ContextServerSettings { } impl ContextServerSettings { + pub fn default_extension() -> Self { + Self::Extension { + enabled: true, + settings: serde_json::json!({}), + } + } + pub fn enabled(&self) -> bool { match self { ContextServerSettings::Custom { enabled, .. } => *enabled,