summaryrefslogtreecommitdiff
path: root/src/Agent.Core/Runtime/IAgentRuntimeObserver.cs
blob: e4e26e3288d43f56d83e3283a253ea075dad4629 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using Agent.Core.Ollama;
using Agent.Core.Tools;

namespace Agent.Core.Runtime;

public interface IAgentRuntimeObserver
{
    void LlmRequest(Guid taskId, int iteration, IReadOnlyList<OllamaMessage> messages);
    void LlmResponse(Guid taskId, int iteration, OllamaResult result);
    void ToolResult(Guid taskId, string toolName, ToolExecutionResult result);
}

public sealed class NullAgentRuntimeObserver : IAgentRuntimeObserver
{
    public static NullAgentRuntimeObserver Instance { get; } = new();
    public void LlmRequest(Guid taskId, int iteration, IReadOnlyList<OllamaMessage> messages) { }
    public void LlmResponse(Guid taskId, int iteration, OllamaResult result) { }
    public void ToolResult(Guid taskId, string toolName, ToolExecutionResult result) { }
}