agent_sdk/
primitive_tools.rs1mod bash;
14mod edit;
15mod glob;
16mod grep;
17mod read;
18mod write;
19
20pub use bash::BashTool;
21pub use edit::EditTool;
22pub use glob::GlobTool;
23pub use grep::GrepTool;
24pub use read::ReadTool;
25pub use write::WriteTool;
26
27use crate::{AgentCapabilities, Environment};
28use std::sync::Arc;
29
30pub struct PrimitiveToolContext<E: Environment> {
32 pub environment: Arc<E>,
33 pub capabilities: AgentCapabilities,
34}
35
36impl<E: Environment> PrimitiveToolContext<E> {
37 #[must_use]
38 pub const fn new(environment: Arc<E>, capabilities: AgentCapabilities) -> Self {
39 Self {
40 environment,
41 capabilities,
42 }
43 }
44}
45
46impl<E: Environment> Clone for PrimitiveToolContext<E> {
47 fn clone(&self) -> Self {
48 Self {
49 environment: Arc::clone(&self.environment),
50 capabilities: self.capabilities.clone(),
51 }
52 }
53}