diff --git a/src/acp/server.rs b/src/acp/server.rs index c8cdcec..506c15e 100644 --- a/src/acp/server.rs +++ b/src/acp/server.rs @@ -1,7 +1,7 @@ use super::types::{METHOD_NOT_FOUND, PARSE_ERROR, Request, Response}; use crate::client::call_chat_completions_streaming; use crate::config::{Input, RenderMode, RequestContext}; -use crate::function::supervisor::{GuardrailAction, check_pending_tasks_guardrail}; +use crate::function::agents::{GuardrailAction, check_pending_tasks_guardrail}; use crate::utils; use crate::utils::AbortSignal; use anyhow::Result; diff --git a/src/config/request_context.rs b/src/config/request_context.rs index fd28018..8fd9ab4 100644 --- a/src/config/request_context.rs +++ b/src/config/request_context.rs @@ -18,11 +18,11 @@ use super::{MessageContentToolCalls, prompts}; use crate::client::{Model, ModelType, list_models}; use crate::function::{ FunctionDeclaration, Functions, ToolCallTracker, ToolResult, + agents::AGENT_FUNCTION_PREFIX, jobs::{DEFAULT_MAX_CONCURRENT_JOBS, JOB_FUNCTION_PREFIX, is_backgroundable_tool}, memory::MEMORY_FUNCTION_PREFIX, rag_query::RAG_FUNCTION_PREFIX, skill::SKILL_FUNCTION_PREFIX, - supervisor::AGENT_FUNCTION_PREFIX, todo::TODO_FUNCTION_PREFIX, user_interaction::USER_FUNCTION_PREFIX, }; diff --git a/src/function/supervisor.rs b/src/function/agents.rs similarity index 99% rename from src/function/supervisor.rs rename to src/function/agents.rs index 52a4081..e7803ba 100644 --- a/src/function/supervisor.rs +++ b/src/function/agents.rs @@ -524,7 +524,7 @@ pub async fn handle_agent_tool( "task_complete" => handle_task_complete(ctx, args).await, "task_fail" => handle_task_fail(ctx, args), "reply_escalation" => handle_reply_escalation(ctx, args), - _ => bail!("Unknown supervisor action: {action}"), + _ => bail!("Unknown agent action: {action}"), } } @@ -2150,7 +2150,7 @@ mod tests { result .unwrap_err() .to_string() - .contains("Unknown supervisor action") + .contains("Unknown agent action") ); } diff --git a/src/function/jobs.rs b/src/function/jobs.rs index 135a97e..262b3ef 100644 --- a/src/function/jobs.rs +++ b/src/function/jobs.rs @@ -1,7 +1,7 @@ +use super::agents::AGENT_FUNCTION_PREFIX; use super::memory::MEMORY_FUNCTION_PREFIX; use super::rag_query::RAG_FUNCTION_PREFIX; use super::skill::SKILL_FUNCTION_PREFIX; -use super::supervisor::AGENT_FUNCTION_PREFIX; use super::todo::TODO_FUNCTION_PREFIX; use super::user_interaction::USER_FUNCTION_PREFIX; use super::{FunctionDeclaration, JsonSchema, PATH_SEP, mcp_error_display, render_tool_result}; @@ -1217,7 +1217,7 @@ fn tail_chars(text: &str, max_chars: usize) -> Option { mod tests { use super::*; use crate::config::{AppConfig, AppState, WorkingMode}; - use crate::function::supervisor::{ + use crate::function::agents::{ GuardrailAction, check_pending_tasks_guardrail, handle_agent_tool, }; use crate::supervisor::mailbox::Inbox; diff --git a/src/function/mod.rs b/src/function/mod.rs index acb5fcd..38e72a9 100644 --- a/src/function/mod.rs +++ b/src/function/mod.rs @@ -1,8 +1,8 @@ +pub(crate) mod agents; pub(crate) mod jobs; pub(crate) mod memory; pub(crate) mod rag_query; pub(crate) mod skill; -pub(crate) mod supervisor; pub(crate) mod todo; pub(crate) mod user_interaction; @@ -24,6 +24,7 @@ use crate::mcp::{ McpServersConfig, is_mcp_meta_function, render, }; use crate::parsers::{bash, python, typescript}; +use agents::AGENT_FUNCTION_PREFIX; use anyhow::{Context, Result, anyhow, bail}; use futures_util::future; use indexmap::IndexMap; @@ -48,7 +49,6 @@ use std::{ time::{Duration, Instant}, }; use strum_macros::AsRefStr; -use supervisor::AGENT_FUNCTION_PREFIX; use todo::TODO_FUNCTION_PREFIX; use user_interaction::USER_FUNCTION_PREFIX; @@ -684,9 +684,9 @@ impl Functions { pub fn append_supervisor_functions(&mut self) { self.declarations - .extend(supervisor::agent_function_declarations()); + .extend(agents::agent_function_declarations()); self.declarations - .extend(supervisor::escalation_function_declarations()); + .extend(agents::escalation_function_declarations()); } pub fn append_job_functions(&mut self) { @@ -700,7 +700,7 @@ impl Functions { pub fn append_teammate_functions(&mut self) { self.declarations - .extend(supervisor::teammate_function_declarations()); + .extend(agents::teammate_function_declarations()); } pub fn append_user_interaction_functions(&mut self) { @@ -1595,10 +1595,10 @@ impl ToolCall { }) } _ if cmd_name.starts_with(AGENT_FUNCTION_PREFIX) => { - supervisor::handle_agent_tool(ctx, &cmd_name, &json_data) + agents::handle_agent_tool(ctx, &cmd_name, &json_data) .await .unwrap_or_else(|e| { - let error_msg = format!("Supervisor tool failed: {e}"); + let error_msg = format!("Agent tool failed: {e}"); eprintln!("{}", muted_warning_text(&format!("⚠️ {error_msg} ⚠️"))); json!({"tool_call_error": error_msg}) }) @@ -4743,7 +4743,7 @@ mod tests { run_async(call_with_args("agent__check", json!({"id": "x"})).eval(&mut ctx)).unwrap(); let err = out["tool_call_error"].as_str().unwrap(); - assert!(err.starts_with("Supervisor tool failed"), "{err}"); + assert!(err.starts_with("Agent tool failed"), "{err}"); assert!(err.contains("No supervisor active"), "{err}"); } diff --git a/src/graph/agent.rs b/src/graph/agent.rs index de95cfd..9bde501 100644 --- a/src/graph/agent.rs +++ b/src/graph/agent.rs @@ -2,7 +2,7 @@ use super::state::StateManager; use super::structured; use super::types::AgentNode; use crate::config::RequestContext; -use crate::function::supervisor::run_agent_for_graph; +use crate::function::agents::run_agent_for_graph; use anyhow::{Context, Result}; use serde_json::Value; use std::time::Duration; diff --git a/src/graph/llm.rs b/src/graph/llm.rs index 36a17dd..623d110 100644 --- a/src/graph/llm.rs +++ b/src/graph/llm.rs @@ -6,9 +6,9 @@ use crate::config::prompts::DEFAULT_SKILL_INSTRUCTIONS; use crate::config::{ Input, RequestContext, Role, RoleLike, SkillPolicy, should_inject_skill_instructions, }; +use crate::function::agents::{GuardrailAction, check_pending_tasks_guardrail}; use crate::function::jobs::reap_jobs; use crate::function::skill::skill_function_declarations; -use crate::function::supervisor::{GuardrailAction, check_pending_tasks_guardrail}; use crate::utils::create_abort_signal; use anyhow::{Context, Error, Result, anyhow, bail}; use log::warn; diff --git a/src/main.rs b/src/main.rs index 0dcb9ae..9309149 100644 --- a/src/main.rs +++ b/src/main.rs @@ -29,7 +29,7 @@ use crate::config::{ install_builtins, list_agents, load_env_file, macro_execute, sync_models, }; use crate::config::{memory, paths}; -use crate::function::supervisor::{GuardrailAction, check_pending_tasks_guardrail}; +use crate::function::agents::{GuardrailAction, check_pending_tasks_guardrail}; use crate::mcp::McpServersConfig; use crate::render::{prompt_theme, render_error}; use crate::repl::Repl; diff --git a/src/repl/mod.rs b/src/repl/mod.rs index be3b742..c53202c 100644 --- a/src/repl/mod.rs +++ b/src/repl/mod.rs @@ -16,7 +16,7 @@ use crate::config::{ StateFlags, flatten_prompt_messages, macro_execute, resolve_prompt_args, sanitize_display_text, }; use crate::config::{AssetCategory, paths}; -use crate::function::supervisor::{GuardrailAction, check_pending_tasks_guardrail}; +use crate::function::agents::{GuardrailAction, check_pending_tasks_guardrail}; use crate::render::render_error; use crate::utils::{ AbortSignal, SHELL, abortable_run_with_spinner, create_abort_signal, dimmed_text,