Skip to main content

zeptoclaw/
lib.rs

1//! ZeptoClaw - Ultra-lightweight personal AI assistant
2
3pub mod agent;
4#[cfg(feature = "panel")]
5pub mod api;
6pub mod audit;
7pub mod auth;
8pub mod batch;
9pub mod bus;
10pub mod cache;
11pub mod channels;
12pub mod config;
13pub mod cron;
14pub mod deps;
15pub mod devices;
16pub mod error;
17pub mod gateway;
18pub mod hands;
19pub mod hardware;
20pub mod health;
21pub mod heartbeat;
22pub mod hooks;
23pub mod kernel;
24pub mod mcp_server;
25pub mod memory;
26pub mod migrate;
27pub mod peripherals;
28pub mod plugins;
29pub mod providers;
30pub mod routines;
31pub mod runtime;
32pub mod safety;
33pub use agent::{CompactionStrategy, ContextMonitor};
34pub use config::CompactionConfig;
35pub use safety::taint::{TaintConfig, TaintEngine, TaintLabel, TaintViolation};
36pub use safety::{SafetyConfig, SafetyLayer, SafetyResult};
37pub mod r8r_bridge;
38pub mod security;
39pub mod session;
40pub mod skills;
41pub mod tools;
42pub mod transcription;
43pub mod tunnel;
44pub mod utils;
45
46pub use agent::{AgentLoop, ContextBuilder, SwarmScratchpad, ZeptoAgent, ZeptoAgentBuilder};
47pub use bus::{InboundMessage, MediaAttachment, MediaType, MessageBus, OutboundMessage};
48#[cfg(feature = "whatsapp-web")]
49pub use channels::WhatsAppWebChannel;
50pub use channels::{
51    AcpChannel, BaseChannelConfig, Channel, ChannelManager, ChannelPluginAdapter, SlackChannel,
52    TelegramChannel, WhatsAppCloudChannel,
53};
54pub use config::Config;
55pub use cron::{CronJob, CronPayload, CronSchedule, CronService, OnMiss};
56pub use error::{ProviderError, Result, ZeptoError};
57pub use heartbeat::{ensure_heartbeat_file, HeartbeatResult, HeartbeatService, HEARTBEAT_PROMPT};
58pub use providers::{
59    ChatOptions, ClaudeProvider, LLMProvider, LLMResponse, LLMToolCall, OpenAIProvider,
60    ToolDefinition, Usage,
61};
62pub use runtime::{
63    available_runtimes, create_runtime, CommandOutput, ContainerConfig, ContainerRuntime,
64    DockerRuntime, NativeRuntime, RuntimeError, RuntimeResult,
65};
66
67pub use config::ContainerAgentBackend;
68#[cfg(target_os = "macos")]
69pub use gateway::is_apple_container_available;
70pub use gateway::{
71    generate_env_file_content, is_docker_available, is_docker_available_with_binary,
72    parse_marked_response, resolve_backend, AgentRequest, AgentResponse, AgentResult,
73    ContainerAgentProxy, ResolvedBackend, StartupGuard, RESPONSE_END_MARKER, RESPONSE_START_MARKER,
74};
75pub use health::{
76    get_rss_bytes, health_port, start_health_server, start_health_server_legacy,
77    start_periodic_usage_flush, HealthCheck, HealthRegistry, HealthStatus, UsageMetrics,
78};
79
80#[cfg(target_os = "macos")]
81pub use runtime::AppleContainerRuntime;
82pub use security::{
83    validate_extra_mounts, validate_path_in_workspace, AgentMode, AgentModeConfig,
84    CategoryPermission, DeviceInfo, ModePolicy, PairedDevice, PairingManager, SafePath,
85    ShellAllowlistMode, ShellSecurityConfig,
86};
87pub use session::{Message, Role, Session, SessionManager, ToolCall};
88#[cfg(feature = "screenshot")]
89pub use tools::screenshot::WebScreenshotTool;
90#[cfg(feature = "android")]
91pub use tools::AndroidTool;
92#[cfg(feature = "google")]
93pub use tools::GoogleTool;
94pub use tools::{
95    composed::CreateToolTool, cron::CronTool, custom::CustomTool, delegate::DelegateTool,
96    spawn::SpawnTool, BinaryPluginTool, BrowserTool, DocxReadTool, EchoTool, FindTool, GitTool,
97    GoogleSheetsTool, GrepTool, HardwareTool, HttpRequestTool, MemoryGetTool, MemorySearchTool,
98    MessageTool, PdfReadTool, ProjectTool, R8rTool, ReminderTool, SearxngSearchTool, StripeTool,
99    Tool, ToolCategory, ToolContext, ToolRegistry, WebFetchTool, WebSearchTool, WhatsAppTool,
100};