/**
 * LLM工具集合类型
 * 定义大语言模型可用工具的元数据数组
 */
export type ILLMTools = ILLMToolMetadata[];

/**
 * LLM工具元数据接口
 * 定义单个LLM工具的基本信息和参数
 */
export interface ILLMToolMetadata {
    /** 工具名称（内部标识符） */
    name: string;
    /** 工具显示名称（用户界面显示） */
    displayName: string;
    /** 工具显示描述（用户界面显示的功能说明） */
    displayDescription: string;
    /** 工具参数映射，键为参数名，值为参数配置 */
    parameters: Map<string, ILLMToolParameter>;
}

/**
 * LLM工具参数接口
 * 定义工具参数的类型和描述信息
 */
export interface ILLMToolParameter {
    /** 参数类型（如：string、number、boolean等） */
    type: string;
    /** 参数显示描述（用户界面显示的参数说明） */
    displayDescription: string;
}
