MCPcopy Create free account
hub / github.com/GCWing/BitFun / delete_subagent

Function delete_subagent

src/apps/desktop/src/api/subagent_api.rs:129–170  ·  view source on GitHub ↗
(
    state: State<'_, AppState>,
    request: DeleteSubagentRequest,
)

Source from the content-addressed store, hash-verified

127
128#[tauri::command]
129pub async fn delete_subagent(
130 state: State<'_, AppState>,
131 request: DeleteSubagentRequest,
132) -> Result<(), String> {
133 let subagent_id = request.subagent_id;
134
135 let file_path = state
136 .agent_registry
137 .remove_subagent(&subagent_id)
138 .map_err(|e| e.to_string())?;
139
140 if let Some(ref path) = file_path {
141 if let Err(e) = std::fs::remove_file(path) {
142 warn!("Failed to delete subagent file: path={}, error={}", path, e);
143 }
144 }
145
146 let config_service = &state.config_service;
147 let mut agent_models: HashMap<String, String> = config_service
148 .get_config(Some("ai.agent_models"))
149 .await
150 .unwrap_or_default();
151 agent_models.remove(&subagent_id);
152 if let Err(e) = config_service
153 .set_config("ai.agent_models", &agent_models)
154 .await
155 {
156 warn!(
157 "Failed to clean up ai.agent_models: subagent_id={}, error={}",
158 subagent_id, e
159 );
160 }
161
162 if let Err(e) = bitfun_core::service::config::reload_global_config().await {
163 warn!(
164 "Failed to reload global config after subagent deletion: subagent_id={}, error={}",
165 subagent_id, e
166 );
167 }
168
169 Ok(())
170}
171
172#[derive(Debug, Clone, Deserialize)]
173#[serde(rename_all = "camelCase")]

Callers

nothing calls this directly

Calls 5

remove_subagentMethod · 0.80
set_configMethod · 0.80
reload_global_configFunction · 0.70
get_configMethod · 0.45
removeMethod · 0.45

Tested by

no test coverage detected