Skip to main content

agent_air_runtime/controller/tools/
mod.rs

1//! Tool execution framework with built-in tools.
2
3mod ask_for_permissions;
4mod ask_user_questions;
5mod bash;
6mod edit_file;
7mod executor;
8mod glob;
9mod grep;
10mod list_plans;
11mod list_skills;
12mod ls;
13mod markdown_plan;
14mod multi_edit;
15mod plan_store;
16mod read_file;
17mod read_plan;
18mod registry;
19mod types;
20mod update_plan_step;
21mod user_interaction;
22mod web_search;
23mod write_file;
24
25pub use ask_for_permissions::{
26    ASK_FOR_PERMISSIONS_TOOL_DESCRIPTION, ASK_FOR_PERMISSIONS_TOOL_NAME,
27    ASK_FOR_PERMISSIONS_TOOL_SCHEMA, AskForPermissionsTool,
28};
29pub use ask_user_questions::{
30    ASK_USER_QUESTIONS_TOOL_DESCRIPTION, ASK_USER_QUESTIONS_TOOL_NAME,
31    ASK_USER_QUESTIONS_TOOL_SCHEMA, Answer, AskUserQuestionsRequest, AskUserQuestionsResponse,
32    AskUserQuestionsTool, Question, ValidationError, ValidationErrorCode, ValidationErrorDetail,
33};
34pub use executor::ToolExecutor;
35pub use ls::{LS_TOOL_DESCRIPTION, LS_TOOL_NAME, LS_TOOL_SCHEMA, LsTool};
36pub use read_file::{
37    READ_FILE_TOOL_DESCRIPTION, READ_FILE_TOOL_NAME, READ_FILE_TOOL_SCHEMA, ReadFileTool,
38};
39pub use registry::{RegistryError, ToolRegistry};
40pub use types::{
41    DisplayConfig, DisplayResult, Executable, ResultContentType, ToolBatchResult, ToolContext,
42    ToolDefinition, ToolRequest, ToolResult, ToolResultStatus, ToolType,
43};
44// Re-export permission types from crate::permissions
45pub use crate::client::models::Tool as LLMTool;
46pub use crate::permissions::{
47    PendingPermissionInfo, PermissionError, PermissionPanelResponse, PermissionRegistry,
48};
49pub use bash::{BASH_TOOL_DESCRIPTION, BASH_TOOL_NAME, BASH_TOOL_SCHEMA, BashTool};
50pub use edit_file::{
51    EDIT_FILE_TOOL_DESCRIPTION, EDIT_FILE_TOOL_NAME, EDIT_FILE_TOOL_SCHEMA, EditFileTool,
52};
53pub use glob::{GLOB_TOOL_DESCRIPTION, GLOB_TOOL_NAME, GLOB_TOOL_SCHEMA, GlobTool};
54pub use grep::{
55    GREP_TOOL_DESCRIPTION, GREP_TOOL_NAME, GREP_TOOL_SCHEMA, GrepTool, OutputMode as GrepOutputMode,
56};
57pub use list_plans::{
58    LIST_PLANS_TOOL_DESCRIPTION, LIST_PLANS_TOOL_NAME, LIST_PLANS_TOOL_SCHEMA, ListPlansTool,
59};
60pub use list_skills::{
61    LIST_SKILLS_TOOL_DESCRIPTION, LIST_SKILLS_TOOL_NAME, LIST_SKILLS_TOOL_SCHEMA, ListSkillsTool,
62};
63pub use markdown_plan::{
64    MARKDOWN_PLAN_TOOL_DESCRIPTION, MARKDOWN_PLAN_TOOL_NAME, MARKDOWN_PLAN_TOOL_SCHEMA,
65    MarkdownPlanTool,
66};
67pub use multi_edit::{
68    MULTI_EDIT_TOOL_DESCRIPTION, MULTI_EDIT_TOOL_NAME, MULTI_EDIT_TOOL_SCHEMA, MultiEditTool,
69};
70pub use plan_store::PlanStore;
71pub use read_plan::{
72    READ_PLAN_TOOL_DESCRIPTION, READ_PLAN_TOOL_NAME, READ_PLAN_TOOL_SCHEMA, ReadPlanTool,
73};
74pub use update_plan_step::{
75    UPDATE_PLAN_STEP_TOOL_DESCRIPTION, UPDATE_PLAN_STEP_TOOL_NAME, UPDATE_PLAN_STEP_TOOL_SCHEMA,
76    UpdatePlanStepTool,
77};
78pub use user_interaction::{PendingQuestionInfo, UserInteractionError, UserInteractionRegistry};
79pub use web_search::{
80    WEB_SEARCH_TOOL_DESCRIPTION, WEB_SEARCH_TOOL_NAME, WEB_SEARCH_TOOL_SCHEMA, WebSearchTool,
81};
82pub use write_file::{
83    WRITE_FILE_TOOL_DESCRIPTION, WRITE_FILE_TOOL_NAME, WRITE_FILE_TOOL_SCHEMA, WriteFileTool,
84};