import { Context, Service } from "koishi"; import { ExecutableTool, ToolCallResult, ToolContext, ToolDefinition, ToolManagerConfig, ToolRegistrationOptions } from "./types"; declare module "koishi" { interface Context { "yesimbot.tool": ToolManager; } interface Config { extensions?: Record; } } export declare class ToolManager extends Service { config: ToolManagerConfig; private loaded; private fileWatchers; private tools; private extensions; private toolToExtension; private categories; private extensionConfigs; constructor(ctx: Context, config?: ToolManagerConfig); loadExtensions(): Promise; private loadExtensionFile; private resolveModuleAsExtension; private registerExtension; registerTool(definition: ToolDefinition, options?: Partial): Promise; /** * 注销工具 */ unregisterTool(toolName: string, context?: ToolContext): Promise; getToolDefinition(name: string): ToolDefinition | undefined; getAllToolDefinitions(): ToolDefinition[]; getToolsByCategory(category: string): ToolDefinition[]; getTool(name: string): ExecutableTool | undefined; getTools(): ExecutableTool[]; executeToolCall(session: any, functionName: string, params: Record): Promise; reloadExtensions(): Promise; private cleanup; private setupFileWatcher; /** * 获取工具的 Prompt 描述 */ getToolPrompt(name: string): string; /** * 获取所有工具的 Prompt 描述 */ getToolPrompts(): string; }