Skip to main content

zeph_tools/
lib.rs

1// SPDX-FileCopyrightText: 2026 Andrei G <bug-ops>
2// SPDX-License-Identifier: MIT OR Apache-2.0
3
4//! Tool execution abstraction and shell backend.
5
6pub mod anomaly;
7pub mod audit;
8pub mod cache;
9pub mod composite;
10pub mod config;
11pub mod diagnostics;
12pub mod error_taxonomy;
13pub mod executor;
14pub mod file;
15pub mod filter;
16pub mod net;
17pub mod patterns;
18pub mod permissions;
19#[cfg(feature = "policy-enforcer")]
20pub mod policy;
21#[cfg(feature = "policy-enforcer")]
22pub mod policy_gate;
23pub mod registry;
24pub mod schema_filter;
25pub mod scrape;
26pub mod search_code;
27pub mod shell;
28pub mod tool_filter;
29pub mod trust_gate;
30pub mod trust_level;
31pub mod verifier;
32
33pub use anomaly::{AnomalyDetector, AnomalySeverity};
34pub use audit::{AuditEntry, AuditLogger, AuditResult};
35pub use cache::{CacheKey, ToolResultCache, is_cacheable};
36pub use composite::CompositeExecutor;
37pub use config::{
38    AnomalyConfig, AuditConfig, DependencyConfig, OverflowConfig, ResultCacheConfig, RetryConfig,
39    ScrapeConfig, ShellConfig, TafcConfig, ToolDependency, ToolsConfig,
40};
41pub use diagnostics::DiagnosticsExecutor;
42pub use error_taxonomy::{
43    ToolErrorCategory, ToolErrorFeedback, classify_http_status, classify_io_error,
44};
45pub use executor::{
46    DiffData, DynExecutor, ErasedToolExecutor, ErrorKind, FilterStats, MAX_TOOL_OUTPUT_CHARS,
47    ToolCall, ToolError, ToolEvent, ToolEventTx, ToolExecutor, ToolOutput, truncate_tool_output,
48    truncate_tool_output_at,
49};
50pub use file::FileExecutor;
51pub use filter::{
52    CommandMatcher, FilterConfidence, FilterConfig, FilterMetrics, FilterResult, OutputFilter,
53    OutputFilterRegistry, sanitize_output, strip_ansi,
54};
55pub use net::is_private_ip;
56pub use permissions::{
57    AutonomyLevel, PermissionAction, PermissionPolicy, PermissionRule, PermissionsConfig,
58};
59#[cfg(feature = "policy-enforcer")]
60pub use policy::{
61    DefaultEffect, PolicyCompileError, PolicyConfig, PolicyContext, PolicyDecision, PolicyEffect,
62    PolicyEnforcer, PolicyRuleConfig,
63};
64#[cfg(feature = "policy-enforcer")]
65pub use policy_gate::PolicyGateExecutor;
66pub use registry::ToolRegistry;
67pub use schema_filter::{
68    DependencyExclusion, InclusionReason, ToolDependencyGraph, ToolEmbedding, ToolFilterResult,
69    ToolSchemaFilter,
70};
71pub use scrape::WebScrapeExecutor;
72pub use search_code::{
73    LspSearchBackend, SearchCodeExecutor, SearchCodeHit, SearchCodeSource, SemanticSearchBackend,
74};
75pub use shell::{
76    DEFAULT_BLOCKED_COMMANDS, SHELL_INTERPRETERS, ShellExecutor, check_blocklist,
77    effective_shell_command,
78};
79pub use tool_filter::ToolFilter;
80pub use trust_gate::TrustGateExecutor;
81pub use trust_level::TrustLevel;
82pub use verifier::{
83    DestructiveCommandVerifier, DestructiveVerifierConfig, InjectionPatternVerifier,
84    InjectionVerifierConfig, PreExecutionVerifier, PreExecutionVerifierConfig,
85    UrlGroundingVerifier, UrlGroundingVerifierConfig, VerificationResult,
86};