using OpenMono.Acp; using OpenMono.Permissions; using OpenMono.Rendering; namespace OpenMono.Tui; public sealed class TerminalUserInteraction : IAcpUserInteraction { private readonly IInputReader _input; public TerminalUserInteraction(IInputReader input) { _input = input; } public async Task RequestPermissionAsync(string toolName, string summary, bool dangerous, CancellationToken ct) { var response = await _input.AskPermissionAsync(toolName, summary, ct); return response is PermissionResponse.Allow or PermissionResponse.AllowAll; } public async Task RequestUserInputAsync(string question, CancellationToken ct) { var answer = await _input.AskUserAsync(question, ct); return answer; } }