agent: Fix issue where unconfigured MCP extensions would not start server (#33365)
Release Notes: - agent: Fix an issue where MCP servers that were provided by extensions would sometimes not start up
This commit is contained in:
parent
108162423d
commit
1c6b4712a3
4 changed files with 13 additions and 9 deletions
|
@ -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")));
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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<_, _>) =
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue