1#![warn(missing_docs)]
82
83mod agent;
84pub mod automation;
85mod config;
86mod error;
87mod llm;
88mod memory;
89pub mod tools;
90
91#[cfg(feature = "search")]
92pub mod search;
93
94#[cfg(feature = "chrome")]
95pub mod browser;
96
97#[cfg(feature = "webdriver")]
98pub mod webdriver;
99
100#[cfg(feature = "fs")]
101pub mod temp;
102
103pub use agent::{Agent, AgentBuilder, FetchResult, PageExtraction};
105pub use config::{AgentConfig, HtmlCleaningMode, LimitType, ResearchOptions, RetryConfig, SearchOptions, TimeRange, UsageLimits, UsageSnapshot, UsageStats};
106pub use error::{AgentError, AgentResult, SearchError};
107pub use llm::{CompletionOptions, CompletionResponse, LLMProvider, Message, MessageContent, TokenUsage};
108pub use memory::AgentMemory;
109pub use tools::{AuthConfig, CustomTool, CustomToolRegistry, CustomToolResult, HttpMethod};
110
111pub use automation::{
113 ActionRecord, ActionResult, ActionType, ActResult, AutomationConfig, AutomationResult, AutomationUsage,
114 CaptureProfile, ChainBuilder, ChainCondition, ChainContext, ChainResult, ChainStep,
115 ChainStepResult, CleaningIntent, ClipViewport, ContentAnalysis, CostTier, ExtractionSchema,
116 FormField, FormInfo, HtmlCleaningProfile, InteractiveElement, ModelEndpoint, ModelPolicy,
117 NavigationOption, PageObservation, PromptUrlGate, RecoveryStrategy, RetryPolicy,
118 SelectorCache, SelectorCacheEntry, StructuredOutputConfig, VisionRouteMode,
119};
120
121pub use automation::{
123 RemoteMultimodalConfig, RemoteMultimodalConfigs, RemoteMultimodalEngine,
124};
125
126pub use automation::{EngineError, EngineResult};
128
129pub use automation::{
131 best_effort_parse_json_object, extract_assistant_content, extract_last_code_block,
132 extract_last_json_array, extract_last_json_boundaries, extract_last_json_object, extract_usage,
133 fnv1a64, truncate_utf8_tail,
134};
135
136pub use automation::{
138 clean_html, clean_html_base, clean_html_full, clean_html_raw, clean_html_slim,
139 clean_html_with_profile, clean_html_with_profile_and_intent, smart_clean_html,
140};
141
142pub use automation::{categories, DiscoveredUrl, MapResult};
144
145pub use automation::{AutomationMemory, MemoryOperation};
147
148pub use automation::{
150 ACT_SYSTEM_PROMPT, CONFIGURATION_SYSTEM_PROMPT, DEFAULT_SYSTEM_PROMPT,
151 EXTRACT_SYSTEM_PROMPT, MAP_SYSTEM_PROMPT, OBSERVE_SYSTEM_PROMPT,
152};
153
154pub use automation::{
156 ConcurrentChainConfig, ConcurrentChainResult, DependencyGraph, DependentStep, StepResult,
157};
158
159pub use automation::{
161 Alternative, ConfidenceRetryStrategy, ConfidenceSummary, ConfidenceTracker, ConfidentStep,
162 Verification, VerificationType,
163};
164
165pub use automation::{
167 ActionToolSchemas, FunctionCall, FunctionDefinition, ToolCall, ToolCallingMode, ToolDefinition,
168};
169
170pub use automation::{
172 ChangeType, DiffStats, ElementChange, HtmlDiffMode, HtmlDiffResult, PageStateDiff,
173};
174
175pub use automation::{
177 Checkpoint, CheckpointResult, CheckpointType, ExecutionPlan, PageState, PlanExecutionState,
178 PlanningModeConfig, PlannedStep, ReplanContext,
179};
180
181pub use automation::{
183 HealedSelectorCache, HealingDiagnosis, HealingRequest, HealingResult, HealingStats,
184 SelectorIssueType, SelfHealingConfig,
185};
186
187pub use automation::{
189 MultiPageContext, PageContext, PageContribution, SynthesisConfig, SynthesisResult,
190};
191
192pub use automation::{
194 build_schema_generation_prompt, generate_schema, infer_schema, infer_schema_from_examples,
195 refine_schema, GeneratedSchema, SchemaCache, SchemaGenerationRequest,
196};
197
198pub use automation::extract_html_context;
200
201pub use automation::{parse_tool_calls, tool_calls_to_steps};
203
204pub use automation::execute_graph;
206
207pub use automation::cache::{CacheStats, CacheValue, SmartCache};
209pub use automation::executor::{BatchExecutor, ChainExecutor, PrefetchManager};
210pub use automation::router::{ModelRouter, RoutingDecision, TaskAnalysis, TaskCategory};
211
212#[cfg(feature = "search")]
213pub use agent::ResearchResult;
214
215#[cfg(feature = "search")]
216pub use search::{SearchProvider, SearchResult, SearchResults};
217
218#[cfg(feature = "openai")]
219pub use llm::OpenAIProvider;
220
221#[cfg(feature = "search_serper")]
222pub use search::SerperProvider;
223
224#[cfg(feature = "search_brave")]
225pub use search::BraveProvider;
226
227#[cfg(feature = "search_bing")]
228pub use search::BingProvider;
229
230#[cfg(feature = "search_tavily")]
231pub use search::TavilyProvider;
232
233#[cfg(feature = "memvid")]
234pub use automation::{
235 ExperienceMemory, ExperienceMemoryConfig, ExperienceOutcome, ExperienceRecord,
236 MemoryStats as ExperienceMemoryStats, RecalledExperience,
237};
238
239#[cfg(feature = "chrome")]
240pub use browser::BrowserContext;
241
242#[cfg(feature = "chrome")]
243pub use automation::{
244 run_remote_multimodal_with_page, run_spawn_pages_concurrent, run_spawn_pages_with_factory,
245 run_spawn_pages_with_options, PageFactory, PageSetupFn, SpawnPageOptions, SpawnedPageResult,
246};
247
248#[cfg(feature = "webdriver")]
249pub use webdriver::WebDriverContext;
250
251#[cfg(feature = "fs")]
252pub use temp::{TempStorage, TempFile};