Remove lead/worker provider (#7989)

Signed-off-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
This commit is contained in:
Douwe Osinga
2026-03-18 16:27:36 -04:00
committed by GitHub
parent 7f1ca37234
commit 6435e1a85c
23 changed files with 9 additions and 1748 deletions
+3 -14
View File
@@ -648,18 +648,8 @@ pub async fn build_session(session_config: SessionBuilderConfig) -> CliSession {
process::exit(1);
}
};
let provider_for_display = Arc::clone(&new_provider);
if let Some(lead_worker) = new_provider.as_lead_worker() {
let (lead_model, worker_model) = lead_worker.get_model_info();
tracing::info!(
"🤖 Lead/Worker Mode Enabled: Lead model (first 3 turns): {}, Worker model (turn 4+): {}, Auto-fallback on failures: Enabled",
lead_model,
worker_model
);
} else {
tracing::info!("🤖 Using model: {}", resolved.model_name);
}
let provider_for_debug = Arc::clone(&new_provider);
tracing::info!("🤖 Using model: {}", resolved.model_name);
agent
.update_provider(new_provider, &session_id)
@@ -692,7 +682,7 @@ pub async fn build_session(session_config: SessionBuilderConfig) -> CliSession {
let agent_ptr = resolve_and_load_extensions(
agent,
extensions_for_provider,
Arc::clone(&provider_for_display),
Arc::clone(&provider_for_debug),
session_config.interactive,
&session_id,
)
@@ -732,7 +722,6 @@ pub async fn build_session(session_config: SessionBuilderConfig) -> CliSession {
&resolved.provider_name,
&resolved.model_name,
&Some(session_id),
Some(&provider_for_display),
);
}
session
-11
View File
@@ -79,10 +79,6 @@ enum StreamEvent {
#[serde(flatten)]
data: NotificationData,
},
ModelChange {
model: String,
mode: String,
},
Error {
error: String,
},
@@ -1070,13 +1066,6 @@ impl CliSession {
Some(Ok(AgentEvent::HistoryReplaced(updated_conversation))) => {
self.messages = updated_conversation;
}
Some(Ok(AgentEvent::ModelChange { model, mode })) => {
if is_stream_json_mode {
emit_stream_event(&StreamEvent::ModelChange { model: model.clone(), mode: mode.clone() });
} else if self.debug {
eprintln!("Model changed to {} in {} mode", model, mode);
}
}
Some(Err(e)) => {
handle_agent_error(&e, is_stream_json_mode);
cancel_token_clone.cancel();
+2 -12
View File
@@ -17,7 +17,7 @@ use std::cell::RefCell;
use std::collections::HashMap;
use std::io::{Error, IsTerminal, Write};
use std::path::Path;
use std::sync::{Arc, LazyLock};
use std::sync::LazyLock;
use std::time::Duration;
use super::streaming_buffer::MarkdownBuffer;
@@ -1251,7 +1251,6 @@ pub fn display_session_info(
provider: &str,
model: &str,
session_id: &Option<String>,
provider_instance: Option<&Arc<dyn goose::providers::base::Provider>>,
) {
set_terminal_title();
@@ -1263,16 +1262,7 @@ pub fn display_session_info(
"new session"
};
let model_display = if let Some(provider_inst) = provider_instance {
if let Some(lead_worker) = provider_inst.as_lead_worker() {
let (lead_model, worker_model) = lead_worker.get_model_info();
format!("{}{}", lead_model, worker_model)
} else {
model.to_string()
}
} else {
model.to_string()
};
let model_display = model.to_string();
let cwd_display = std::env::current_dir()
.ok()