namespace AIStudio.Tools.ToolCallingSystem;
///
/// Supplies the definitions of the tools written in C#.
///
///
/// For a tool implemented in the app itself, the definition and the implementation are one
/// object: the implementation states what it is. That removes the string key that used to join a
/// definition file to its class, and with it the failure where a typo in that key made the tool
/// disappear with nothing but a warning in the log.
///
public sealed class CodeToolDefinitionSource(IEnumerable implementations) : IToolDefinitionSource
{
///
public string SourceName => "code";
///
public IEnumerable GetDefinitions() => implementations.Select(implementation => implementation.GetDefinition());
}