(&mut self)
| 2743 | } |
| 2744 | |
| 2745 | fn refresh_mcp_dialog(&mut self) -> anyhow::Result<()> { |
| 2746 | let Some(client) = self.context.get_api_client() else { |
| 2747 | return Ok(()); |
| 2748 | }; |
| 2749 | let servers = client.get_mcp_status()?; |
| 2750 | |
| 2751 | let mcp_items = servers |
| 2752 | .iter() |
| 2753 | .map(|server| McpItem { |
| 2754 | name: server.name.clone(), |
| 2755 | status: server.status.clone(), |
| 2756 | tools: server.tools, |
| 2757 | resources: server.resources, |
| 2758 | error: server.error.clone(), |
| 2759 | }) |
| 2760 | .collect::<Vec<_>>(); |
| 2761 | self.mcp_dialog.set_items(mcp_items); |
| 2762 | |
| 2763 | let statuses = servers |
| 2764 | .into_iter() |
| 2765 | .map(|server| { |
| 2766 | let status = map_mcp_status(&server); |
| 2767 | McpServerStatus { |
| 2768 | name: server.name, |
| 2769 | status, |
| 2770 | error: server.error, |
| 2771 | } |
| 2772 | }) |
| 2773 | .collect::<Vec<_>>(); |
| 2774 | *self.context.mcp_servers.write() = statuses; |
| 2775 | Ok(()) |
| 2776 | } |
| 2777 | |
| 2778 | fn set_active_model_selection(&mut self, model_ref: String, provider: Option<String>) { |
| 2779 | let (model_key, explicit_variant) = |
no test coverage detected