UNPKG

@wavequery/conductor

Version:
17 lines (16 loc) 754 B
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; }