InteractiveSessionService resolves a task's list working dir + seeded prompt, spawns a StreamingClaudeSession (claude stream-json in the list dir, model+auto as before), registers it in LiveSessionRegistry, streams output over TaskMessage, and broadcasts InteractiveSessionStarted/Ended (an exit watcher fires Ended). The hub's OpenInteractiveTerminalAsync now starts this in-app session; SendInteractiveMessage and StopInteractiveSession route to it. The external Windows-Terminal interactive launch (LaunchInteractiveAsync / InteractiveLaunchContext / OpenInteractiveAsync) is removed; planning sessions keep their terminal launch.
27 lines
638 B
C#
27 lines
638 B
C#
namespace ClaudeDo.Worker.Planning;
|
|
|
|
public sealed record PlanningSessionFiles(
|
|
string SessionDirectory,
|
|
string SystemPromptPath,
|
|
string InitialPromptPath);
|
|
|
|
public sealed class PlanningMcpContext
|
|
{
|
|
public required string ParentTaskId { get; init; }
|
|
}
|
|
|
|
public sealed record PlanningSessionStartContext(
|
|
string ParentTaskId,
|
|
string WorkingDir,
|
|
string Token,
|
|
string WorktreePath,
|
|
string BranchName,
|
|
PlanningSessionFiles Files);
|
|
|
|
public sealed record PlanningSessionResumeContext(
|
|
string ParentTaskId,
|
|
string WorkingDir,
|
|
string ClaudeSessionId,
|
|
string Token,
|
|
string WorktreePath);
|