huskies: merge 1015

This commit is contained in:
dave
2026-05-13 23:33:30 +00:00
parent 69b207872a
commit 5ed1438ab9
22 changed files with 227 additions and 73 deletions
+2 -4
View File
@@ -120,11 +120,9 @@ pub(in crate::agents::pool) fn find_free_agent_for_stage<'a>(
// model matches. This keeps opus agents reserved for explicit requests.
if *stage == PipelineStage::Coder
&& let Some(ref default_model) = config.default_coder_model
&& agent_config.model.as_ref() != Some(default_model)
{
let agent_model = agent_config.model.as_deref().unwrap_or("");
if agent_model != default_model {
continue;
}
continue;
}
let is_busy = agents.values().any(|a| {
a.agent_name == agent_config.name
@@ -67,7 +67,10 @@ pub(crate) fn compute_budget_from_single_log(path: &Path) -> f64 {
&& let Some(message) = data.get("message")
&& let Some(usage) = message.get("usage")
{
let model = message.get("model").and_then(|v| v.as_str());
let model = message
.get("model")
.and_then(|v| v.as_str())
.map(crate::agents::AgentModel::from_api_str);
let token_usage = TokenUsage {
input_tokens: usage
.get("input_tokens")
@@ -87,7 +90,7 @@ pub(crate) fn compute_budget_from_single_log(path: &Path) -> f64 {
.unwrap_or(0),
total_cost_usd: 0.0,
};
cost += token_usage.estimate_cost_usd(model);
cost += token_usage.estimate_cost_usd(model.as_ref());
}
}
cost