feat: add support for delegate with two parameters
This commit is contained in:
@@ -147,6 +147,26 @@ public class Tool
|
|||||||
return new Tool(name, description, new AnthropicFunction(func.Method, func.Target));
|
return new Tool(name, description, new AnthropicFunction(func.Method, func.Target));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Creates a tool from a function.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="T1">The type of the first parameter for the delegate.</typeparam>
|
||||||
|
/// <typeparam name="T2">The type of the second parameter for the delegate.</typeparam>
|
||||||
|
/// <typeparam name="TResult">The type of the result for the delegate.</typeparam>
|
||||||
|
/// <param name="name">The name of the tool.</param>
|
||||||
|
/// <param name="description">The description of the tool.</param>
|
||||||
|
/// <param name="func">The function.</param>
|
||||||
|
/// <exception cref="ArgumentNullException">Thrown when <paramref name="func"/> is null.</exception>
|
||||||
|
/// <returns>The created tool as instance of <see cref="Tool"/>.</returns>
|
||||||
|
/// <remarks>The name of the tool will be sanitized to conform to the Anthropic tool naming rules.</remarks>
|
||||||
|
public static Tool CreateFromFunction<T1, T2, TResult>(string name, string description, Func<T1, T2, TResult> func)
|
||||||
|
{
|
||||||
|
ArgumentValidator.ThrowIfNull(func, nameof(func));
|
||||||
|
|
||||||
|
return new Tool(name, description, new AnthropicFunction(func.Method, func.Target));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private static string SanitizeName(string name)
|
private static string SanitizeName(string name)
|
||||||
{
|
{
|
||||||
var sanitizedName = name.Trim();
|
var sanitizedName = name.Trim();
|
||||||
|
|||||||
Reference in New Issue
Block a user