Add ITool + ToolRegistry + GetCurrentTimeTool

This commit is contained in:
2026-06-11 21:19:23 +00:00
parent 13d8773704
commit 9325d21f9e
6 changed files with 125 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
using System.Text.Json;
namespace backend.Tools;
public record DeviceContext(Guid DeviceId, Guid ConversationId, IDeviceChannel Channel);
public record ToolInvocation(string CallId, JsonElement Arguments);
public record ToolResult(JsonElement Output);
public interface ITool
{
string Name { get; }
string Description { get; }
JsonElement ParameterSchema { get; }
bool RunsDuringResponse { get; }
Task<ToolResult> ExecuteAsync(
ToolInvocation invocation,
DeviceContext device,
CancellationToken ct);
}