pub mod agent;
pub mod backends;
pub mod connections;
pub mod content;
pub mod conversation;
pub mod error;
pub mod filesystem;
pub(crate) mod runtime;
pub mod hooks;
pub mod policy;
pub mod tools;
pub mod triggers;
pub mod types;
pub mod rustlite;
#[cfg(all(feature = "browser-app", target_arch = "wasm32"))]
mod app;
#[cfg(feature = "wallet")]
pub mod wallet;
#[cfg(feature = "wallet")]
pub mod registry;
#[cfg(feature = "wallet")]
pub mod tempo_tx;
pub use agent::{Agent, AgentConfig, GeminiAgentConfig};
pub use backends::gemini::{
decode_transcript_bytes, GeminiBackendConfig, GeminiConnection, GeminiConnectionStrategy,
};
#[cfg(feature = "native")]
pub use backends::mcp::{McpBridge, McpClient, McpToolDecl};
pub use connections::{Connection, ConnectionStrategy};
pub use content::{Content, Media, MediaKind, Part};
pub use conversation::{ChatCursor, ChatResponse, Conversation};
pub use error::{Error, Result};
pub use filesystem::{DirEntry, EntryKind, Filesystem, Metadata, SharedFilesystem, WalkEntry};
#[cfg(feature = "native")]
pub use filesystem::NativeFilesystem;
pub use hooks::{
HookContext, HookRunner, OnSessionEndHook, OnSessionStartHook, OperationContext,
PostToolCallHook, PostTurnHook, PreToolCallDecideHook, PreTurnHook, SessionContext,
TurnContext,
};
pub use policy::{
allow_all, deny_all, enforce, evaluate, is_path_in_workspace, secure_normalize_path,
workspace_only, AskUserHandler, Decision, Policy, Predicate,
};
pub use tools::{ClosureTool, Tool, ToolContext, ToolRunner};
pub use triggers::{every, Trigger, TriggerContext, TriggerRunner};
pub use types::{
BuiltinTool, CapabilitiesConfig, GeminiConfig, GenerationConfig, HookResult, ModelConfig,
ModelEntry, Step, StepSource, StepStatus, StepTarget, StepType, StreamChunk,
SystemInstructions, ThinkingLevel, ToolCall, ToolResult, TranscriptEntry, TranscriptRole,
TriggerDelivery, UsageMetadata,
};