claude-flow
Version:
Ruflo - Enterprise AI agent orchestration for Claude Code. Deploy 60+ specialized agents in coordinated swarms with self-learning, fault-tolerant consensus, vector memory, and MCP integration
30 lines • 1.18 kB
TypeScript
/**
* GAIA Tool: web_search — ADR-133-PR2
*
* Scrapes DuckDuckGo HTML search results for a query string and returns
* the top-N snippet titles + URLs as a plain-text block. No API key
* required; uses DDG's HTML endpoint which is publicly accessible.
*
* Design notes:
* - Uses native Node.js https/http (no external fetch polyfill).
* - Follows the DDG Lite HTML endpoint: https://html.duckduckgo.com/html/?q=…
* - Parses result titles + URLs via a simple regex (no DOM parser dependency).
* - Rate-limit aware: 1-second back-off between calls is the caller's
* responsibility (the agent loop enforces this in PR-3).
* - PDF / binary detection is handled by file_read.ts, not here.
*
* Refs: ADR-133, #2156
*/
import { GaiaTool, ToolDefinition } from './types.js';
export interface SearchResult {
title: string;
url: string;
snippet: string;
}
export declare class WebSearchTool implements GaiaTool {
readonly name = "web_search";
readonly definition: ToolDefinition;
execute(input: Record<string, unknown>): Promise<string>;
}
export declare function createWebSearchTool(): WebSearchTool;
//# sourceMappingURL=web_search.d.ts.map