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