diff --git a/crates/migrator/src/migrations.rs b/crates/migrator/src/migrations.rs index 4ed4c0a2632074d08fcbf2591a18290cebcd33e0..ed9c6ff51513b706a7eda93fafe59438feb90c59 100644 --- a/crates/migrator/src/migrations.rs +++ b/crates/migrator/src/migrations.rs @@ -334,9 +334,3 @@ pub(crate) mod m_2026_04_10 { pub(crate) use settings::rename_web_search_to_search_web; } - -pub(crate) mod m_2026_04_15 { - mod settings; - - pub(crate) use settings::remove_settings_from_http_context_servers; -} diff --git a/crates/migrator/src/migrations/m_2025_06_16/settings.rs b/crates/migrator/src/migrations/m_2025_06_16/settings.rs index cd79eae2048ca9809b720b7913eba12b3e6cb1ce..1fe490287ef6e428a70693c95c15dffed77e4f73 100644 --- a/crates/migrator/src/migrations/m_2025_06_16/settings.rs +++ b/crates/migrator/src/migrations/m_2025_06_16/settings.rs @@ -34,6 +34,7 @@ fn migrate_context_server_settings( let mut has_command = false; let mut has_settings = false; + let mut has_url = false; let mut other_keys = 0; let mut column = None; @@ -53,6 +54,7 @@ fn migrate_context_server_settings( "source" => return None, "command" => has_command = true, "settings" => has_settings = true, + "url" => has_url = true, _ => other_keys += 1, } } @@ -65,7 +67,7 @@ fn migrate_context_server_settings( let start = server_settings.start_byte() + 1; let indent = " ".repeat(column.unwrap_or(12)); - if !has_command && !has_settings { + if !has_command && !has_settings && !has_url { return Some(( start..start, format!( diff --git a/crates/migrator/src/migrations/m_2026_04_15/settings.rs b/crates/migrator/src/migrations/m_2026_04_15/settings.rs deleted file mode 100644 index 32fde8347adc1002953dd55e7cb6872323f1f547..0000000000000000000000000000000000000000 --- a/crates/migrator/src/migrations/m_2026_04_15/settings.rs +++ /dev/null @@ -1,19 +0,0 @@ -use anyhow::Result; -use serde_json::Value; - -pub fn remove_settings_from_http_context_servers(settings: &mut Value) -> Result<()> { - if let Some(obj) = settings.as_object_mut() { - if let Some(context_servers) = obj.get_mut("context_servers") { - if let Some(servers) = context_servers.as_object_mut() { - for (_, server) in servers.iter_mut() { - if let Some(server_obj) = server.as_object_mut() { - if server_obj.contains_key("url") { - server_obj.remove("settings"); - } - } - } - } - } - } - Ok(()) -} diff --git a/crates/migrator/src/migrator.rs b/crates/migrator/src/migrator.rs index b4a49130cb0854b2dbe150e814149969456920db..57815cf5a5b0ae56afbe849a4a470f2dfded8183 100644 --- a/crates/migrator/src/migrator.rs +++ b/crates/migrator/src/migrator.rs @@ -250,7 +250,6 @@ pub fn migrate_settings(text: &str) -> Result> { MigrationType::Json(migrations::m_2026_03_30::make_play_sound_when_agent_done_an_enum), MigrationType::Json(migrations::m_2026_04_01::restructure_profiles_with_settings_key), MigrationType::Json(migrations::m_2026_04_10::rename_web_search_to_search_web), - MigrationType::Json(migrations::m_2026_04_15::remove_settings_from_http_context_servers), ]; run_migrations(text, migrations) } @@ -4983,61 +4982,47 @@ mod tests { } #[test] - fn test_remove_settings_from_http_context_servers() { + fn test_mcp_settings_migration_adds_settings_to_extension_servers() { assert_migrate_settings( - &r#" - { - "context_servers": { - "http_server": { - "url": "https://example.com/mcp", - "settings": {} - }, - "http_server_with_headers": { - "url": "https://example.com/mcp", - "headers": { - "Authorization": "Bearer token" - }, - "settings": {} - }, - "extension_server": { - "settings": { - "foo": "bar" - } - }, - "stdio_server": { - "command": "npx", - "args": ["-y", "some-server"] - } - } + r#"{ + "context_servers": { + "extension_server": {}, + "stdio_server": { + "command": "npx", + "args": ["-y", "some-server"] + }, + "http_server": { + "url": "https://example.com/mcp" + }, + "http_server_with_headers": { + "url": "https://example.com/mcp", + "headers": { + "Authorization": "Bearer token" } - "# - .unindent(), + } + } +}"#, Some( - &r#" - { - "context_servers": { - "http_server": { - "url": "https://example.com/mcp" - }, - "http_server_with_headers": { - "url": "https://example.com/mcp", - "headers": { - "Authorization": "Bearer token" - } - }, - "extension_server": { - "settings": { - "foo": "bar" - } - }, - "stdio_server": { - "command": "npx", - "args": ["-y", "some-server"] - } - } - } - "# - .unindent(), + r#"{ + "context_servers": { + "extension_server": { + "settings": {} + }, + "stdio_server": { + "command": "npx", + "args": ["-y", "some-server"] + }, + "http_server": { + "url": "https://example.com/mcp" + }, + "http_server_with_headers": { + "url": "https://example.com/mcp", + "headers": { + "Authorization": "Bearer token" + } + } + } +}"#, ), ); }