chore(opencode): remove unused functions and legacy code

Remove dead code that was never called after v3.7.0 architecture change:
- mcp/opencode.rs: sync_enabled_to_opencode, collect_enabled_servers
- opencode_config.rs: 8 unused utility functions
- provider.rs: OpenCodeProviderConfig impl block (4 methods)

These functions were designed for batch operations but McpService uses
per-server sync pattern instead. No functionality affected.
This commit is contained in:
Jason
2026-01-16 15:56:03 +08:00
parent 5c6956b6e2
commit d765364a18
4 changed files with 4 additions and 199 deletions
+2 -50
View File
@@ -15,11 +15,11 @@
use serde_json::{json, Value};
use std::collections::HashMap;
use crate::app_config::{McpApps, McpConfig, McpServer, MultiAppConfig};
use crate::app_config::{McpApps, McpServer, MultiAppConfig};
use crate::error::AppError;
use crate::opencode_config;
use super::validation::{extract_server_spec, validate_server_spec};
use super::validation::validate_server_spec;
// ============================================================================
// Helper Functions
@@ -31,29 +31,6 @@ fn should_sync_opencode_mcp() -> bool {
opencode_config::get_opencode_dir().exists()
}
/// Collect enabled MCP servers for OpenCode
fn collect_enabled_servers(cfg: &McpConfig) -> HashMap<String, Value> {
let mut out = HashMap::new();
for (id, entry) in cfg.servers.iter() {
let enabled = entry
.get("enabled")
.and_then(|v| v.as_bool())
.unwrap_or(false);
if !enabled {
continue;
}
match extract_server_spec(entry) {
Ok(spec) => {
out.insert(id.clone(), spec);
}
Err(err) => {
log::warn!("Skip invalid MCP entry '{}': {}", id, err);
}
}
}
out
}
// ============================================================================
// Format Conversion: CC Switch → OpenCode
// ============================================================================
@@ -207,31 +184,6 @@ pub fn convert_from_opencode_format(spec: &Value) -> Result<Value, AppError> {
// Public API: Sync Functions
// ============================================================================
/// Sync all enabled_opencode=true servers to OpenCode config
pub fn sync_enabled_to_opencode(config: &MultiAppConfig) -> Result<(), AppError> {
if !should_sync_opencode_mcp() {
return Ok(());
}
let enabled = collect_enabled_servers(&config.mcp.opencode);
// Convert all servers to OpenCode format
let mut opencode_servers = serde_json::Map::new();
for (id, spec) in enabled {
match convert_to_opencode_format(&spec) {
Ok(opencode_spec) => {
opencode_servers.insert(id, opencode_spec);
}
Err(e) => {
log::warn!("Skip converting MCP server to OpenCode format: {}", e);
}
}
}
// Write to OpenCode config
opencode_config::set_mcp_servers_batch(&opencode_servers)
}
/// Sync a single MCP server to OpenCode live config
pub fn sync_single_server_to_opencode(
_config: &MultiAppConfig,