huskies: merge 1015
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
pub mod agent_name;
|
||||
pub use agent_name::AgentName;
|
||||
|
||||
use crate::agents::AgentModel;
|
||||
use crate::slog;
|
||||
use serde::Deserialize;
|
||||
use std::collections::HashSet;
|
||||
@@ -22,12 +23,12 @@ pub struct ProjectConfig {
|
||||
/// Per-story `qa` front matter overrides this. Default: "server".
|
||||
#[serde(default = "default_qa")]
|
||||
pub default_qa: String,
|
||||
/// Default model for coder-stage agents (e.g. "sonnet").
|
||||
/// Default model for coder-stage agents (e.g. `Sonnet`).
|
||||
/// When set, `find_free_agent_for_stage` only considers coder agents whose
|
||||
/// model matches this value, so opus agents are only used when explicitly
|
||||
/// requested via story front matter `agent:` field.
|
||||
#[serde(default)]
|
||||
pub default_coder_model: Option<String>,
|
||||
pub default_coder_model: Option<AgentModel>,
|
||||
/// Maximum number of concurrent coder-stage agents.
|
||||
/// When set, `auto_assign_available_work` will not start more than this many
|
||||
/// coder agents at once. Stories wait in `2_current/` until a slot frees up.
|
||||
@@ -240,7 +241,7 @@ pub struct AgentConfig {
|
||||
#[serde(default = "default_agent_prompt")]
|
||||
pub prompt: String,
|
||||
#[serde(default)]
|
||||
pub model: Option<String>,
|
||||
pub model: Option<AgentModel>,
|
||||
#[serde(default)]
|
||||
pub allowed_tools: Option<Vec<String>>,
|
||||
#[serde(default)]
|
||||
@@ -312,7 +313,7 @@ struct LegacyProjectConfig {
|
||||
#[serde(default = "default_qa")]
|
||||
default_qa: String,
|
||||
#[serde(default)]
|
||||
default_coder_model: Option<String>,
|
||||
default_coder_model: Option<AgentModel>,
|
||||
#[serde(default)]
|
||||
max_coders: Option<usize>,
|
||||
#[serde(default = "default_max_retries")]
|
||||
@@ -583,7 +584,7 @@ impl ProjectConfig {
|
||||
// Append structured CLI flags
|
||||
if let Some(ref model) = agent.model {
|
||||
args.push("--model".to_string());
|
||||
args.push(model.clone());
|
||||
args.push(model.as_str().to_string());
|
||||
}
|
||||
if let Some(ref tools) = agent.allowed_tools
|
||||
&& !tools.is_empty()
|
||||
|
||||
Reference in New Issue
Block a user