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 executor;
16pub mod frontmatter;
17pub mod protocol;
18pub mod security;
19pub mod spec;
20pub mod tools;
21pub mod validation;
22
23pub use error::{Error, Result};
24pub use executor::{ExecutionLimits, FileInfo, ToolExecutor, ToolOutput};
25pub use frontmatter::{Frontmatter, parse_frontmatter};
26pub use protocol::{ActionRequest, ActionResponse};
27pub use security::{is_private_or_restricted_ip, validate_url_initial};
28pub use spec::{CompiledRegex, SpecError, ToolPart, ToolSpec, is_valid_tool_call};
29pub use tools::{BuiltinTool, HttpMethod};
30pub use validation::{
31    expand_env_vars, expand_placeholders, validate_command, validate_command_with_specs,
32};