feat: centralize default constants and refactor overlay enter handling in TUI

This commit is contained in:
asepharyana
2026-07-21 07:00:15 +07:00
parent 8c58faf292
commit d615090dcd
34 changed files with 216 additions and 359 deletions
@@ -100,7 +100,7 @@ impl Tool for ParallelDelegate {
.providers
.get(&provider)
.map(|p| p.api_base.clone())
.unwrap_or_else(|| "https://opencode.ai/zen/v1".to_string());
.unwrap_or_else(|| zesdex_domain::agent::defaults::DEFAULT_API_BASE.to_string());
let api_key = crate::llm::provider::resolve_api_key(&settings, &app_config);
+6 -4
View File
@@ -45,8 +45,9 @@ impl Tool for PlanEnter {
let plan_path = ctx.session_dir.join("PLAN.md");
let _ = std::fs::write(&plan_path, &plan_text);
if let Some(events) = &ctx.turn_events {
let mut q = events.lock().unwrap();
q.push_back(crate::TurnEvent::PlanUpdate(plan_text.clone()));
if let Ok(mut q) = events.lock() {
q.push_back(crate::TurnEvent::PlanUpdate(plan_text.clone()));
}
}
Ok(format!(
@@ -103,8 +104,9 @@ impl Tool for PlanReady {
let plan_path = ctx.session_dir.join("PLAN.md");
let _ = std::fs::write(&plan_path, &plan_content);
if let Some(events) = &ctx.turn_events {
let mut q = events.lock().unwrap();
q.push_back(crate::TurnEvent::PlanUpdate(plan_content.clone()));
if let Ok(mut q) = events.lock() {
q.push_back(crate::TurnEvent::PlanUpdate(plan_content.clone()));
}
}
Ok(format!("Plan saved to {filename}. Starting execution."))
+2 -2
View File
@@ -79,7 +79,7 @@ impl Tool for SpawnAgents {
.providers
.get(&provider)
.map(|p| p.api_base.clone())
.unwrap_or_else(|| "https://opencode.ai/zen/v1".to_string());
.unwrap_or_else(|| zesdex_domain::agent::defaults::DEFAULT_API_BASE.to_string());
let api_key = crate::llm::provider::resolve_api_key(&settings, &app_config);
@@ -196,7 +196,7 @@ impl Tool for SpawnPipeline {
.providers
.get(&provider)
.map(|p| p.api_base.clone())
.unwrap_or_else(|| "https://opencode.ai/zen/v1".to_string());
.unwrap_or_else(|| zesdex_domain::agent::defaults::DEFAULT_API_BASE.to_string());
let api_key = crate::llm::provider::resolve_api_key(&settings, &app_config);
@@ -68,8 +68,9 @@ impl Tool for Todofinish {
content = new_lines.join("\n") + "\n";
let _ = std::fs::write(&todo_path, &content);
if let Some(events) = &ctx.turn_events {
let mut q = events.lock().unwrap();
q.push_back(crate::TurnEvent::TodoUpdate(content));
if let Ok(mut q) = events.lock() {
q.push_back(crate::TurnEvent::TodoUpdate(content));
}
}
info!(item, "TODO item completed and written back");
} else {
@@ -62,8 +62,9 @@ impl Tool for Todowrite {
let _ = std::fs::write(&todo_path, &content);
if let Some(events) = &ctx.turn_events {
let mut q = events.lock().unwrap();
q.push_back(crate::TurnEvent::TodoUpdate(content));
if let Ok(mut q) = events.lock() {
q.push_back(crate::TurnEvent::TodoUpdate(content));
}
}
info!(item, priority, "TODO item added");
+1 -1
View File
@@ -62,7 +62,7 @@ impl Tool for WorkflowRun {
let llm_client = LlmClient::new(
crate::llm::provider::DEFAULT_API_KEY.to_string(),
"deepseek-v4-flash-free".to_string(),
zesdex_domain::agent::defaults::DEFAULT_MODEL.to_string(),
None,
);
let rt = tokio::runtime::Runtime::new()?;