V3 / 536edbbdbb6e
SubagentCommands.cs
Lilith/Core/Scenarios/SubagentCommands.cs
Changed in this versionCS
using Lilith.Core.Commands;
namespace Lilith.Core.Scenarios;
public static class SubagentCommands
{
public static void Register(ChatCommandRegistry commands, ProviderClient client) => commands.Register("subagents",
"List agents; show or hide their detailed output.", context => Execute(client, context.Arguments));
public static string Execute(ProviderClient client, string arguments)
{
switch (arguments.Trim().ToLowerInvariant())
{
case "show": client.ShowSubagentOutput = true; return "Subagent details shown.";
case "hide": client.ShowSubagentOutput = false; return "Subagent details hidden; completion summaries remain visible.";
case "":
var snapshot = client.Subagents.Snapshot();
return $"Subagents: {snapshot.RunningCount} running / {snapshot.TotalCreated} created; {snapshot.CompletedCount} completed, {snapshot.FailedCount} failed, {snapshot.CanceledCount} canceled, {snapshot.WaitingApprovalCount} waiting for approval.\n" +
string.Join("\n", snapshot.Running.Concat(snapshot.Recent).Select(r => $"Subagent {r.AgentId}: {r.ScenarioId} / {r.Status}"));
default: return "Use /subagents, /subagents show or /subagents hide.";
}
}
}