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, is_reasoning_model};
34pub use audit::{AuditEntry, AuditLogger, AuditResult, chrono_now};
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    ErrorDomain, ToolErrorCategory, ToolErrorFeedback, ToolInvocationPhase, classify_http_status,
44    classify_io_error,
45};
46pub use executor::{
47    ClaimSource, DiffData, DynExecutor, ErasedToolExecutor, ErrorKind, FilterStats,
48    MAX_TOOL_OUTPUT_CHARS, ToolCall, ToolError, ToolEvent, ToolEventTx, ToolExecutor, ToolOutput,
49    truncate_tool_output, truncate_tool_output_at,
50};
51pub use file::FileExecutor;
52pub use filter::{
53    CommandMatcher, FilterConfidence, FilterConfig, FilterMetrics, FilterResult, OutputFilter,
54    OutputFilterRegistry, sanitize_output, strip_ansi,
55};
56pub use net::is_private_ip;
57pub use permissions::{
58    AutonomyLevel, PermissionAction, PermissionPolicy, PermissionRule, PermissionsConfig,
59};
60#[cfg(feature = "policy-enforcer")]
61pub use policy::{
62    DefaultEffect, PolicyCompileError, PolicyConfig, PolicyContext, PolicyDecision, PolicyEffect,
63    PolicyEnforcer, PolicyRuleConfig,
64};
65#[cfg(feature = "policy-enforcer")]
66pub use policy_gate::PolicyGateExecutor;
67pub use registry::ToolRegistry;
68pub use schema_filter::{
69    DependencyExclusion, InclusionReason, ToolDependencyGraph, ToolEmbedding, ToolFilterResult,
70    ToolSchemaFilter,
71};
72pub use scrape::WebScrapeExecutor;
73pub use search_code::{
74    LspSearchBackend, SearchCodeExecutor, SearchCodeHit, SearchCodeSource, SemanticSearchBackend,
75};
76pub use shell::{
77    DEFAULT_BLOCKED_COMMANDS, SHELL_INTERPRETERS, ShellExecutor, check_blocklist,
78    effective_shell_command,
79};
80pub use tool_filter::ToolFilter;
81pub use trust_gate::TrustGateExecutor;
82pub use trust_level::TrustLevel;
83pub use verifier::{
84    DestructiveCommandVerifier, DestructiveVerifierConfig, FirewallVerifier,
85    FirewallVerifierConfig, InjectionPatternVerifier, InjectionVerifierConfig,
86    PreExecutionVerifier, PreExecutionVerifierConfig, UrlGroundingVerifier,
87    UrlGroundingVerifierConfig, VerificationResult,
88};