feat(interactive): embedded ConPTY terminal host in UI

Adds a self-contained terminal host: PtyTerminalSession drives a Porta.Pty child
directly (custom env) and pumps it through Iciclecreek's XTerm.NET renderer via
TerminalControl.Terminal, bypassing LaunchProcess() so a fully-populated
environment can be passed. InteractiveTerminalView/ViewModel host it with an
order-independent attach/start. Adds Iciclecreek.Avalonia.Terminal 2.0.3.
Sets Process="" to suppress the control's auto-launch of a stray shell.
This commit is contained in:
mika kuns
2026-07-23 16:47:15 +02:00
parent 1245e75902
commit 5f740c05d8
6 changed files with 289 additions and 0 deletions
@@ -0,0 +1,10 @@
using System.Collections.Generic;
namespace ClaudeDo.Ui.Services;
/// <summary>Plain launch spec for an embedded ConPTY terminal session — no worker/SignalR coupling.</summary>
public sealed record TerminalLaunchDescriptor(
string Cwd,
string Exe,
IReadOnlyList<string> Args,
IReadOnlyDictionary<string, string> Env);