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.
5pub mod adversarial_gate;
6pub mod adversarial_policy;
7pub mod anomaly;
8pub mod audit;
9pub mod cache;
10pub mod composite;
11pub mod config;
12pub mod cwd;
13pub mod diagnostics;
14pub mod error_taxonomy;
15pub mod executor;
16pub mod file;
17pub mod filter;
18pub mod net;
19pub mod patterns;
20pub mod permissions;
21pub mod policy;
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 utility;
32pub mod verifier;
33pub use adversarial_gate::AdversarialPolicyGateExecutor;
34pub use adversarial_policy::{
35    PolicyDecision as AdversarialPolicyDecision, PolicyLlmClient, PolicyMessage, PolicyRole,
36    PolicyValidator, parse_policy_lines,
37};
38pub use anomaly::{AnomalyDetector, AnomalySeverity, is_reasoning_model};
39pub use audit::{AuditEntry, AuditLogger, AuditResult, chrono_now, log_tool_risk_summary};
40pub use cache::{CacheKey, ToolResultCache, is_cacheable};
41pub use composite::CompositeExecutor;
42pub use config::AdversarialPolicyConfig;
43pub use config::{
44    AnomalyConfig, AuditConfig, AuthorizationConfig, DependencyConfig, FileConfig, OverflowConfig,
45    ResultCacheConfig, RetryConfig, ScrapeConfig, ShellConfig, TafcConfig, ToolDependency,
46    ToolsConfig, UtilityScoringConfig,
47};
48pub use cwd::SetCwdExecutor;
49pub use diagnostics::DiagnosticsExecutor;
50pub use error_taxonomy::{
51    ErrorDomain, ToolErrorCategory, ToolErrorFeedback, ToolInvocationPhase, classify_http_status,
52    classify_io_error,
53};
54pub use executor::{
55    ClaimSource, DiffData, DynExecutor, ErasedToolExecutor, ErrorKind, FilterStats,
56    MAX_TOOL_OUTPUT_CHARS, ToolCall, ToolError, ToolEvent, ToolEventTx, ToolExecutor, ToolOutput,
57    truncate_tool_output, truncate_tool_output_at,
58};
59pub use file::FileExecutor;
60pub use filter::{
61    CommandMatcher, FilterConfidence, FilterConfig, FilterMetrics, FilterResult, OutputFilter,
62    OutputFilterRegistry, sanitize_output, strip_ansi,
63};
64pub use net::is_private_ip;
65pub use permissions::{
66    AutonomyLevel, PermissionAction, PermissionPolicy, PermissionRule, PermissionsConfig,
67};
68pub use policy::{
69    DefaultEffect, PolicyCompileError, PolicyConfig, PolicyContext, PolicyDecision, PolicyEffect,
70    PolicyEnforcer, PolicyRuleConfig,
71};
72pub use policy_gate::PolicyGateExecutor;
73pub use registry::ToolRegistry;
74pub use schema_filter::{
75    DependencyExclusion, InclusionReason, ToolDependencyGraph, ToolEmbedding, ToolFilterResult,
76    ToolSchemaFilter,
77};
78pub use scrape::WebScrapeExecutor;
79pub use search_code::{
80    LspSearchBackend, SearchCodeExecutor, SearchCodeHit, SearchCodeSource, SemanticSearchBackend,
81};
82pub use shell::{
83    DEFAULT_BLOCKED_COMMANDS, SHELL_INTERPRETERS, ShellExecutor, ShellOutputEnvelope,
84    check_blocklist, effective_shell_command,
85};
86pub use tool_filter::ToolFilter;
87pub use trust_gate::TrustGateExecutor;
88pub use trust_level::SkillTrustLevel;
89pub use utility::{
90    UtilityAction, UtilityContext, UtilityScore, UtilityScorer, has_explicit_tool_request,
91};
92pub use verifier::{
93    DestructiveCommandVerifier, DestructiveVerifierConfig, FirewallVerifier,
94    FirewallVerifierConfig, InjectionPatternVerifier, InjectionVerifierConfig,
95    PreExecutionVerifier, PreExecutionVerifierConfig, UrlGroundingVerifier,
96    UrlGroundingVerifierConfig, VerificationResult,
97};