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()); }