@wavequery/conductor
Version:
Modular LLM orchestration framework
17 lines (16 loc) • 754 B
TypeScript
import { EventEmitter } from "events";
import { Tool, ToolMetadata, ToolContext, ToolResult } from "@/types/interfaces/tool";
import { ToolConfig } from "@/types/schemas/tool-config";
export declare abstract class BaseTool extends EventEmitter implements Tool {
protected config: ToolConfig;
protected metadata: ToolMetadata;
constructor(config: ToolConfig);
get name(): string;
get description(): string;
get input(): ToolConfig['input'];
abstract execute(input: any, context?: ToolContext): Promise<ToolResult>;
protected validateConfig(config: ToolConfig): void;
protected createContext(): ToolContext;
protected executeWithRetry(fn: () => Promise<any>, maxRetries?: number): Promise<any>;
private delay;
}