#![warn(missing_docs)]
mod agent;
pub mod automation;
mod config;
mod error;
mod llm;
mod memory;
pub mod tools;
#[cfg(feature = "search")]
pub mod search;
#[cfg(feature = "chrome")]
pub mod browser;
#[cfg(feature = "webdriver")]
pub mod webdriver;
#[cfg(feature = "fs")]
pub mod temp;
pub use agent::{Agent, AgentBuilder, FetchResult, PageExtraction};
pub use config::{
AgentConfig, HtmlCleaningMode, LimitType, ResearchOptions, RetryConfig, SearchOptions,
TimeRange, UsageLimits, UsageSnapshot, UsageStats,
};
pub use error::{AgentError, AgentResult, SearchError};
pub use llm::{
CompletionOptions, CompletionResponse, LLMProvider, Message, MessageContent, TokenUsage,
};
pub use memory::AgentMemory;
pub use tools::{
AuthConfig, CustomTool, CustomToolRegistry, CustomToolResult, HttpMethod,
SpiderBrowserToolConfig, SpiderCloudToolConfig,
};
pub use automation::{
ActResult, ActionRecord, ActionResult, ActionType, AutomationConfig, AutomationResult,
AutomationUsage, CaptureProfile, ChainBuilder, ChainCondition, ChainContext, ChainResult,
ChainStep, ChainStepResult, CleaningIntent, ClipViewport, ContentAnalysis, CostTier,
ExtractionSchema, FormField, FormInfo, HtmlCleaningProfile, InteractiveElement,
ModelCapabilities, ModelEndpoint, ModelInfoEntry, ModelPolicy, ModelPricing, ModelProfile,
ModelRanks, NavigationOption, PageObservation, PromptUrlGate, ReasoningEffort,
RecoveryStrategy, RetryPolicy, SelectorCache, SelectorCacheEntry, StructuredOutputConfig,
VisionRouteMode, MODEL_INFO,
};
pub use automation::{RemoteMultimodalConfig, RemoteMultimodalConfigs, RemoteMultimodalEngine};
pub use automation::{EngineError, EngineResult};
pub use automation::{
best_effort_parse_json_object, extract_assistant_content, extract_last_code_block,
extract_last_json_array, extract_last_json_boundaries, extract_last_json_object, extract_usage,
fnv1a64, truncate_utf8_tail,
};
pub use automation::{
clean_html, clean_html_base, clean_html_full, clean_html_raw, clean_html_slim,
clean_html_with_profile, clean_html_with_profile_and_intent, smart_clean_html,
};
pub use automation::{categories, DiscoveredUrl, MapResult};
pub use automation::{AutomationMemory, MemoryOperation};
pub use automation::{
ACT_SYSTEM_PROMPT, CONFIGURATION_SYSTEM_PROMPT, DEFAULT_SYSTEM_PROMPT, EXTRACT_SYSTEM_PROMPT,
MAP_SYSTEM_PROMPT, OBSERVE_SYSTEM_PROMPT,
};
pub use automation::{
ConcurrentChainConfig, ConcurrentChainResult, DependencyGraph, DependentStep, StepResult,
};
pub use automation::{
Alternative, ConfidenceRetryStrategy, ConfidenceSummary, ConfidenceTracker, ConfidentStep,
Verification, VerificationType,
};
pub use automation::{
ActionToolSchemas, FunctionCall, FunctionDefinition, ToolCall, ToolCallingMode, ToolDefinition,
};
pub use automation::{
ChangeType, DiffStats, ElementChange, HtmlDiffMode, HtmlDiffResult, PageStateDiff,
};
pub use automation::{
Checkpoint, CheckpointResult, CheckpointType, ExecutionPlan, PageState, PlanExecutionState,
PlannedStep, PlanningModeConfig, ReplanContext,
};
pub use automation::{
HealedSelectorCache, HealingDiagnosis, HealingRequest, HealingResult, HealingStats,
SelectorIssueType, SelfHealingConfig,
};
pub use automation::{
MultiPageContext, PageContext, PageContribution, SynthesisConfig, SynthesisResult,
};
pub use automation::{
build_schema_generation_prompt, generate_schema, infer_schema, infer_schema_from_examples,
refine_schema, GeneratedSchema, SchemaCache, SchemaGenerationRequest,
};
pub use automation::extract_html_context;
pub use automation::{parse_tool_calls, tool_calls_to_steps};
pub use automation::execute_graph;
pub use automation::cache::{CacheStats, CacheValue, SmartCache};
pub use automation::executor::{BatchExecutor, ChainExecutor, PrefetchManager};
pub use automation::router::{
auto_policy, estimate_tokens, ModelRequirements, ModelRouter, ModelSelector, RoutingDecision,
ScoredModel, SelectionStrategy, TaskAnalysis, TaskCategory,
};
#[cfg(feature = "search")]
pub use agent::ResearchResult;
#[cfg(feature = "search")]
pub use search::{SearchProvider, SearchResult, SearchResults};
#[cfg(feature = "openai")]
pub use llm::OpenAIProvider;
#[cfg(feature = "search_serper")]
pub use search::SerperProvider;
#[cfg(feature = "search_brave")]
pub use search::BraveProvider;
#[cfg(feature = "search_bing")]
pub use search::BingProvider;
#[cfg(feature = "search_tavily")]
pub use search::TavilyProvider;
#[cfg(feature = "memvid")]
pub use automation::{
ExperienceMemory, ExperienceMemoryConfig, ExperienceOutcome, ExperienceRecord,
MemoryStats as ExperienceMemoryStats, RecalledExperience,
};
#[cfg(feature = "chrome")]
pub use browser::BrowserContext;
#[cfg(feature = "chrome")]
pub use automation::{
run_remote_multimodal_with_page, run_spawn_pages_concurrent, run_spawn_pages_with_factory,
run_spawn_pages_with_options, PageFactory, PageSetupFn, SpawnPageOptions, SpawnedPageResult,
};
#[cfg(feature = "webdriver")]
pub use webdriver::WebDriverContext;
#[cfg(feature = "fs")]
pub use temp::{TempFile, TempStorage};