/** * Tavily Tools (Search, Extract, Crawl, Map) * * Web search, content extraction, crawling, and site mapping. * Package: @tavily/ai-sdk (uses @tavily/core internally) */ import type { ToolMetadata, PraisonTool } from '../registry/types'; export declare const TAVILY_METADATA: ToolMetadata; export interface TavilySearchConfig { apiKey?: string; searchDepth?: 'basic' | 'advanced'; topic?: 'general' | 'news' | 'finance'; includeAnswer?: boolean; maxResults?: number; includeImages?: boolean; timeRange?: 'year' | 'month' | 'week' | 'day'; includeDomains?: string[]; excludeDomains?: string[]; } export interface TavilySearchInput { query: string; searchDepth?: 'basic' | 'advanced'; timeRange?: 'year' | 'month' | 'week' | 'day'; } export interface TavilySearchResult { results: Array<{ title: string; url: string; content: string; score?: number; }>; answer?: string; images?: Array<{ url: string; description?: string; }>; query?: string; responseTime?: number; } export interface TavilyExtractConfig { apiKey?: string; extractDepth?: 'basic' | 'advanced'; } export interface TavilyExtractInput { urls: string[]; extractDepth?: 'basic' | 'advanced'; query?: string; } export interface TavilyExtractResult { results: Array<{ url: string; rawContent: string; }>; } export interface TavilyCrawlConfig { apiKey?: string; maxDepth?: number; extractDepth?: 'basic' | 'advanced'; instructions?: string; allowExternal?: boolean; } export interface TavilyCrawlInput { url: string; maxDepth?: number; extractDepth?: 'basic' | 'advanced'; instructions?: string; allowExternal?: boolean; } export interface TavilyCrawlResult { baseUrl: string; results: Array<{ url: string; rawContent: string; }>; } /** * Create a Tavily Search tool * Returns a PraisonTool that can be used with agents or directly */ export declare function tavilySearch(config?: TavilySearchConfig): PraisonTool; /** * Create a Tavily Extract tool */ export declare function tavilyExtract(config?: TavilyExtractConfig): PraisonTool; /** * Create a Tavily Crawl tool */ export declare function tavilyCrawl(config?: TavilyCrawlConfig): PraisonTool; /** * Get the raw AI SDK tool for use with generateText * This returns the native @tavily/ai-sdk tool */ export declare function getTavilyAISDKTool(type?: 'search' | 'extract' | 'crawl' | 'map', config?: TavilySearchConfig): Promise; /** * Factory functions for registry */ export declare function createTavilySearchTool(config?: TavilySearchConfig): PraisonTool; export declare function createTavilyExtractTool(config?: TavilyExtractConfig): PraisonTool; export declare function createTavilyCrawlTool(config?: TavilyCrawlConfig): PraisonTool;