@agentdao/core
Version:
Core functionality, skills, and ready-made UI components for AgentDAO - Web3 subscriptions, content generation, social media, help support, live chat, RSS fetching, web search, and agent pricing integration
79 lines (78 loc) • 2.44 kB
TypeScript
export interface SearchResult {
title: string;
url: string;
snippet: string;
source?: string;
publishedDate?: string;
imageUrl?: string;
}
export interface SearchOptions {
maxResults?: number;
includeImages?: boolean;
includeNews?: boolean;
language?: string;
region?: string;
timeRange?: 'day' | 'week' | 'month' | 'year';
provider?: 'google' | 'bing' | 'openai';
}
export interface AISearchResult {
searchResults: SearchResult[];
aiAnalysis: string;
summary: string;
recommendations: string[];
}
export declare class SearchError extends Error {
readonly originalError?: Error | undefined;
constructor(message: string, originalError?: Error | undefined);
}
export declare class APIKeyMissingError extends Error {
constructor(service: string);
}
export declare class SearchProviders {
private static readonly GOOGLE_SEARCH_API;
private static readonly BING_SEARCH_API;
private static readonly OPENAI_API;
private static readonly NEWS_API;
private static readonly UNSPLASH_API;
/**
* Perform web search using configured provider
*/
static searchWeb(query: string, options?: SearchOptions): Promise<SearchResult[]>;
/**
* Search using Google Custom Search API
*/
static searchGoogle(query: string, options?: SearchOptions): Promise<SearchResult[]>;
/**
* Search using Bing Search API
*/
static searchBing(query: string, options?: SearchOptions): Promise<SearchResult[]>;
/**
* Search using OpenAI web search (requires GPT-4 with browsing)
*/
static searchOpenAI(query: string, options?: SearchOptions): Promise<SearchResult[]>;
/**
* Search news using NewsAPI
*/
static searchNews(query: string, options?: SearchOptions): Promise<SearchResult[]>;
/**
* Search images using Unsplash API
*/
static searchImages(query: string, options?: SearchOptions): Promise<SearchResult[]>;
/**
* AI-powered search with analysis
*/
static searchWithAI(query: string, context?: string): Promise<AISearchResult>;
/**
* Get search analytics
*/
static getSearchAnalytics(): Promise<{
totalSearches: number;
popularQueries: string[];
averageResults: number;
topSources: string[];
}>;
/**
* Helper to get days from time range
*/
private static getDaysFromTimeRange;
}