using System.Collections.Generic; using Gott.Services; namespace Gott.Models; public class ChatContext { public string ChainId { get; set; } public string SessionId { get; set; } public string ModelId { get; set; } public string Provider { get; set; } // "" = Anthropic, "nvidia" = OpenAI-kompatibler Provider public string Workspace { get; set; } public string AgentId { get; set; } public string SystemPromptText { get; set; } public List SystemPrompt { get; set; } public List PromptBlocks { get; set; } public string ToolChoice { get; set; } public bool UseMemory { get; set; } public string WebSearchVersion { get; set; } public string Effort { get; set; } public int MaxOutputTokens { get; set; } // 0 = aus (Modell-Default) public bool DisableThinking { get; set; } // nur CLI-Pfad wirksam public int MaxIterations { get; set; } public AgentRecord Agent { get; set; } public SessionRecord Session { get; set; } public bool PlanMode { get; set; } public string ApiToken { get; set; } // Preparer-Agent (vor dem Worker) public SubAgentContext Preparer { get; set; } // Review-Agent public SubAgentContext Review { get; set; } // Finalizer-Agent public SubAgentContext Finalizer { get; set; } // Multi-Modell-Panel (Fusion): mehrere Agenten antworten parallel, // der Worker synthetisiert. "off" / "fusion" (später "moa"). public string MultiModelMode { get; set; } public List PanelAgents { get; set; } public int MoaLayers { get; set; } = 2; // MoA: Anzahl Proposer-Runden (nur bei mode="moa") } public class SubAgentContext { public string ModelId { get; set; } public string Provider { get; set; } // "" = Anthropic, "nvidia"/"openai"/etc. = OpenAI-kompatibel public List SystemPrompt { get; set; } public string AgentId { get; set; } public string Workspace { get; set; } public bool UseMemory { get; set; } public string WebSearchVersion { get; set; } public string ToolChoice { get; set; } public string Effort { get; set; } public AgentRecord Agent { get; set; } // Preparer-spezifisch public bool AllowUserChoice { get; set; } // Review-spezifisch public int MaxReviewIterations { get; set; } }