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; }
}