namespace ClaudeDo.Worker.Runner.Interfaces; public interface IClaudeStreamTransport : IAsyncDisposable { Task StartAsync(IReadOnlyList args, string workingDirectory, CancellationToken ct); Task WriteLineAsync(string jsonLine, CancellationToken ct); event Func? LineReceived; event Func? StderrReceived; void Kill(); Task WaitForExitAsync(); }