using System.Text.Json.Serialization;

namespace ClawdDotNet.Core.Engine;

public sealed record ChatEntry(
    [property: JsonPropertyName("role")] string Role,
    [property: JsonPropertyName("content")] string Content,
    [property: JsonPropertyName("timestamp")] DateTime Timestamp,
    [property: JsonPropertyName("source")] string? Source = null
);

/// <summary>
/// Bekannte Quellen für Chat-Nachrichten. Wird verwendet um Routing-Entscheidungen zu treffen.
/// </summary>
public static class ChatSource
{
    public const string WebView = "webview";
    public const string Telegram = "telegram";
    public const string AgentComm = "agentcomm";
    public const string Job = "job";
    public const string Task = "task";
}
