(manager: &McpOAuthManager)
| 2833 | } |
| 2834 | |
| 2835 | async fn sync_mcp_from_disk(manager: &McpOAuthManager) -> Result<()> { |
| 2836 | let cwd = std::env::current_dir() |
| 2837 | .map_err(|e| ApiError::BadRequest(format!("Failed to resolve current directory: {}", e)))?; |
| 2838 | let config = load_config(&cwd) |
| 2839 | .map_err(|e| ApiError::BadRequest(format!("Failed to load config: {}", e)))?; |
| 2840 | |
| 2841 | let Some(mcp_map) = config.mcp else { |
| 2842 | return Ok(()); |
| 2843 | }; |
| 2844 | |
| 2845 | for (name, server_config) in mcp_map { |
| 2846 | if manager.has_server(&name).await { |
| 2847 | continue; |
| 2848 | } |
| 2849 | if let Some((runtime, enabled)) = parse_runtime_from_loaded_config(server_config)? { |
| 2850 | manager.add_server(name, runtime, enabled).await; |
| 2851 | } |
| 2852 | } |
| 2853 | |
| 2854 | Ok(()) |
| 2855 | } |
| 2856 | |
| 2857 | async fn ensure_mcp_server_registered(manager: &McpOAuthManager, name: &str) -> Result<()> { |
| 2858 | if manager.has_server(name).await { |
no test coverage detected