Skip to main content

statespace_tool_runtime/
lib.rs

1//! Core tool execution runtime for Statespace.
2//!
3//! Provides tool parsing, frontmatter extraction, command validation,
4//! and sandboxed execution with security protections (SSRF, path traversal).
5//!
6//! ```rust,ignore
7//! use statespace_tool_runtime::{BuiltinTool, ToolExecutor, ExecutionLimits};
8//!
9//! let tool = BuiltinTool::from_command(&["cat".to_string(), "file.md".to_string()])?;
10//! let executor = ToolExecutor::new(PathBuf::from("./toolsite"), ExecutionLimits::default());
11//! let output = executor.execute(&tool).await?;
12//! ```
13
14pub mod error;
15pub mod eval;
16pub mod executor;
17pub mod frontmatter;
18pub mod protocol;
19pub mod security;
20pub mod spec;
21pub mod tools;
22pub mod validation;
23
24pub use error::{Error, Result};
25pub use executor::{ExecutionLimits, FileInfo, ToolExecutor, ToolOutput};
26pub use frontmatter::{Frontmatter, parse_frontmatter};
27pub use protocol::{ActionRequest, ActionResponse};
28pub use security::{is_private_or_restricted_ip, validate_url_initial};
29pub use spec::{CompiledRegex, SpecError, ToolPart, ToolSpec, is_valid_tool_call};
30pub use tools::{BuiltinTool, HttpMethod};
31pub use validation::{
32    expand_env_vars, expand_placeholders, validate_command, validate_command_with_specs,
33};