llm_coding_tools_serdesai/
lib.rs

1#![doc = include_str!(concat!("../", env!("CARGO_PKG_README")))]
2#![warn(missing_docs)]
3
4pub mod absolute;
5pub mod agent_ext;
6pub mod allowed;
7pub mod bash;
8mod common;
9pub mod convert;
10pub mod todo;
11pub mod webfetch;
12
13/// Re-export core types for convenience.
14pub use llm_coding_tools_core::{ToolError, ToolOutput, ToolResult};
15
16/// Re-export context module and [`ToolContext`] trait for convenience.
17pub use llm_coding_tools_core::ToolContext;
18pub use llm_coding_tools_core::context;
19
20/// Re-export [`SystemPromptBuilder`] and [`Substitute`] from core.
21pub use llm_coding_tools_core::{Substitute, SystemPromptBuilder};
22
23/// Re-export path resolvers from core.
24pub use llm_coding_tools_core::path::{AbsolutePathResolver, AllowedPathResolver, PathResolver};
25
26// Re-export absolute path tools
27pub use absolute::{EditTool, GlobTool, GrepTool, ReadTool, WriteTool};
28
29/// Re-export allowed module tool types (namespaced to avoid conflicts).
30///
31/// Use this module when you need both absolute and allowed tools:
32///
33/// ```no_run
34/// use llm_coding_tools_serdesai::{ReadTool, WriteTool};  // absolute
35/// use llm_coding_tools_serdesai::allowed_tools::{ReadTool as SandboxedReadTool};
36/// ```
37pub mod allowed_tools {
38    pub use crate::allowed::{EditTool, GlobTool, GrepTool, ReadTool, WriteTool};
39}
40
41// Re-export core operation types used by tools
42pub use llm_coding_tools_core::{
43    BashOutput, EditError, GlobOutput, GrepFileMatches, GrepLineMatch, GrepOutput, Todo,
44    TodoPriority, TodoState, TodoStatus, WebFetchOutput,
45};
46
47// Re-export standalone tools
48pub use bash::BashTool;
49pub use todo::{TodoReadTool, TodoWriteTool, create_todo_tools};
50pub use webfetch::WebFetchTool;