namespace ClaudeDo.Worker.Planning;

// Launches the Claude CLI in a visible terminal for human-driven planning sessions.
// Not used for headless task execution (that path is ClaudeProcess, prompt over stdin)
// nor for embedded ConPTY interactive sessions (those use InteractiveLaunchSpecService).
public interface ITerminalLauncher
{
    Task LaunchPlanningStartAsync(PlanningSessionStartContext ctx, CancellationToken cancellationToken);
    Task LaunchPlanningResumeAsync(PlanningSessionResumeContext ctx, CancellationToken cancellationToken);
}

public sealed class TerminalLaunchException : Exception
{
    public TerminalLaunchException(string message) : base(message) { }
}
