Forge
csharpdeeb25a2
1using System.Globalization;
2
3namespace CascadeIDE.ViewModels;
4
5/// <summary>Structured trace step for Power-mode timeline cards.</summary>
6public sealed class AgentTraceStepViewModel
7{
8 public AgentTraceStepViewModel(string kind, string text, string status, DateTimeOffset? at = null)
9 {
10 Kind = kind;
11 Text = text;
12 Status = status;
13 var t = at ?? DateTimeOffset.Now;
14 TimestampText = t.ToLocalTime().ToString("HH:mm:ss.fff", CultureInfo.InvariantCulture);
15 }
16
17 public string Kind { get; }
18 public string Text { get; }
19 public string Status { get; }
20 public string TimestampText { get; }
21
22 public bool IsPlan => string.Equals(Kind, "PLAN", StringComparison.OrdinalIgnoreCase);
23 public bool IsAction => string.Equals(Kind, "ACTION", StringComparison.OrdinalIgnoreCase);
24 public bool IsObservation => string.Equals(Kind, "OBSERVATION", StringComparison.OrdinalIgnoreCase);
25 public bool IsNext => string.Equals(Kind, "NEXT", StringComparison.OrdinalIgnoreCase);
26
27 public bool IsSuccess => string.Equals(Status, "SUCCESS", StringComparison.OrdinalIgnoreCase);
28 public bool IsWarning => string.Equals(Status, "WARNING", StringComparison.OrdinalIgnoreCase);
29 public bool IsPending => string.Equals(Status, "PENDING", StringComparison.OrdinalIgnoreCase);
30}
31
View only · write via MCP/CIDE