| """ |
| agent_tools.py — Facade module. |
| |
| Re-exports tool parsing, schemas, execution, and implementations |
| for backward compatibility. All importers continue to work unchanged. |
| |
| Sub-modules: |
| - tool_parsing.py: regex patterns, parse/strip functions |
| - tool_schemas.py: FUNCTION_TOOL_SCHEMAS, function_call_to_tool_block |
| - tool_execution.py: execute_tool_block, format_tool_result, MCP helpers |
| - tool_implementations.py: all do_* tool functions |
| """ |
|
|
| import logging |
| from collections import namedtuple |
|
|
| from src.tool_utils import _truncate, get_mcp_manager, set_mcp_manager |
|
|
| logger = logging.getLogger(__name__) |
|
|
| |
| |
| |
| |
| MAX_AGENT_ROUNDS = 50 |
| SHELL_TIMEOUT = 60 |
| PYTHON_TIMEOUT = 30 |
|
|
| |
| TOOL_TAGS = {"bash", "python", "web_search", "web_fetch", "read_file", "write_file", "edit_file", |
| "grep", "glob", "ls", |
| "create_document", "update_document", "edit_document", |
| "search_chats", |
| "chat_with_model", "create_session", "list_sessions", |
| "send_to_session", |
| "pipeline", |
| "manage_session", "manage_memory", "list_models", |
| "ui_control", "generate_image", "ask_user", "update_plan", |
| "manage_tasks", "api_call", "ask_teacher", "manage_skills", |
| "suggest_document", |
| "manage_endpoints", "manage_mcp", "manage_webhooks", |
| "manage_tokens", "manage_documents", "manage_settings", |
| "manage_notes", "manage_calendar", |
| "resolve_contact", "manage_contact", "list_email_accounts", "send_email", "list_emails", |
| "read_email", "reply_to_email", "bulk_email", "archive_email", |
| "delete_email", "mark_email_read", |
| |
| |
| |
| |
| |
| "download_model", "serve_model", |
| "list_served_models", "stop_served_model", |
| "list_downloads", "cancel_download", |
| "search_hf_models", "list_cached_models", |
| "list_serve_presets", "serve_preset", "adopt_served_model", |
| "list_cookbook_servers", |
| |
| "edit_image", "trigger_research", "manage_research", |
| |
| |
| |
| "app_api"} |
|
|
| ToolBlock = namedtuple("ToolBlock", ["tool_type", "content"]) |
|
|
| |
| |
| |
|
|
| |
| from src.tool_parsing import ( |
| parse_tool_blocks, |
| strip_tool_blocks, |
| _TOOL_NAME_MAP, |
| _TOOL_BLOCK_RE, |
| _TOOL_CALL_RE, |
| _XML_TOOL_CALL_RE, |
| _XML_INVOKE_RE, |
| _XML_PARAM_RE, |
| ) |
|
|
| |
| from src.tool_schemas import ( |
| FUNCTION_TOOL_SCHEMAS, |
| function_call_to_tool_block, |
| ) |
|
|
| |
| from src.tool_execution import ( |
| execute_tool_block, |
| format_tool_result, |
| ) |
|
|
| |
| from src.tool_implementations import ( |
| set_active_document, |
| set_active_model, |
| get_active_document, |
| do_create_document, |
| do_update_document, |
| do_edit_document, |
| do_suggest_document, |
| do_search_chats, |
| do_manage_skills, |
| do_manage_tasks, |
| do_manage_endpoints, |
| do_manage_mcp, |
| do_manage_webhooks, |
| do_manage_tokens, |
| do_manage_documents, |
| do_manage_settings, |
| do_api_call, |
| ) |
|
|