Organigramm: Lage je Abteilung in der Teamuebersicht (#688)
- TeamMember: Laeufe und Kosten heute, offene und blockierte Aufgaben je Agent (eine Abfrage fuer alle, nicht eine je Agent) - TeamUnit: dieselben Werte samt Untereinheiten, offene Vorgaenge aus der Einheit, heutige Kostenmeldung (#699) - team.js: Lagezeile auf jeder Karte und in der Seitenleiste, Instanz summiert; Spruenge zu Kosten je Einheit und zu den Vorgaengen; i18n en/de - Tests: TeamOverviewTests (+2) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
888369698d
commit
f649f2fd7a
@@ -212,7 +212,14 @@ public sealed record TeamUnitDto(
|
||||
int Agents,
|
||||
IReadOnlyDictionary<string, int> States,
|
||||
int PendingApprovals,
|
||||
string Worst);
|
||||
string Worst,
|
||||
// #688: the department's situation.
|
||||
int RunsToday = 0,
|
||||
decimal CostToday = 0,
|
||||
int OpenTasks = 0,
|
||||
int BlockedTasks = 0,
|
||||
int OpenCases = 0,
|
||||
string? CostAlert = null);
|
||||
|
||||
/// <summary>
|
||||
/// #711: One agent in the team overview. <see cref="State"/> is one of Idle, Working, Stuck,
|
||||
@@ -230,7 +237,12 @@ public sealed record TeamMemberDto(
|
||||
string? LastRunResult,
|
||||
long TypicalRunMs,
|
||||
string? UnitId,
|
||||
bool IsLead);
|
||||
bool IsLead,
|
||||
// #688: the agent's day.
|
||||
int RunsToday = 0,
|
||||
decimal CostToday = 0,
|
||||
int OpenTasks = 0,
|
||||
int BlockedTasks = 0);
|
||||
|
||||
/// <summary>#711: A run in progress.</summary>
|
||||
public sealed record ActiveRunDto(string RunId, string AgentId, string Source, string? TaskId, string? CalledBy, DateTime StartedAtUtc);
|
||||
|
||||
@@ -95,13 +95,14 @@ internal static class Mapping
|
||||
m.AgentId, m.DisplayName, m.Model, m.State.ToString(),
|
||||
m.Runs.Select(ToDto).ToList(),
|
||||
m.PendingApprovals, m.LastRunStatus, m.LastRunAtUtc, m.LastRunResult, m.TypicalRunMs,
|
||||
m.UnitId, m.IsLead)).ToList(),
|
||||
m.UnitId, m.IsLead, m.RunsToday, m.CostToday, m.OpenTasks, m.BlockedTasks)).ToList(),
|
||||
snapshot.RecentLinks.Select(ToDto).ToList(),
|
||||
snapshot.AtUtc,
|
||||
(snapshot.Units ?? []).Select(u => new TeamUnitDto(
|
||||
u.Id, u.Name, u.ParentId, u.Path, u.LeaderAgentId, u.Goal, u.Agents,
|
||||
u.States.ToDictionary(s => s.Key.ToString(), s => s.Value),
|
||||
u.PendingApprovals, u.Worst.ToString())).ToList(),
|
||||
u.PendingApprovals, u.Worst.ToString(),
|
||||
u.RunsToday, u.CostToday, u.OpenTasks, u.BlockedTasks, u.OpenCases, u.CostAlert)).ToList(),
|
||||
(snapshot.ConflictHotspots ?? []).Select(h => new ConflictHotspotDto(
|
||||
h.Workspace, h.Path, h.Conflicts, h.LastAtUtc, h.Agents)).ToList());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user