using System.Threading; using System.Threading.Tasks; namespace RhMcp; internal interface IAgentRunner : IDisposable { /// The agent's name (its registry key, e.g. claude/codex/gemini). public string Name { get; } /// Prompts the agent with a user message (text + inline attachments). public Task PromptAsync(UserMessage message, string mcpUrl, string cwd); /// Cancels the agent's currently running turn, if any. public void Cancel(); /// The live transcript for this agent, fed by its event stream. public Conversation Conversation { get; } }