using Agent.Core.Ollama; using Agent.Core.Tools; namespace Agent.Core.Runtime; public interface IAgentRuntimeObserver { void LlmRequest(Guid taskId, int iteration, IReadOnlyList 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 messages) { } public void LlmResponse(Guid taskId, int iteration, OllamaResult result) { } public void ToolResult(Guid taskId, string toolName, ToolExecutionResult result) { } }