// Dashboard for money agents using System; using System.Collections.Generic; namespace AIBrain.SubBrains.MoneyAgents { public class Dashboard { private Dictionary revenueStreams; private List> activityLog; public Dashboard() { revenueStreams = new Dictionary(); activityLog = new List>(); } public void AddRevenueStream(string name, decimal amount) { if (revenueStreams.ContainsKey(name)) { revenueStreams[name] += amount; } else { revenueStreams[name] = amount; } LogActivity("revenue_added", new Dictionary { ["stream"] = name, ["amount"] = amount, ["timestamp"] = DateTime.UtcNow }); } public decimal GetTotalRevenue() { decimal total = 0; foreach (var kvp in revenueStreams) { total += kvp.Value; } return total; } public Dictionary GetRevenueStreams() { return new Dictionary(revenueStreams); } public List> GetActivityLog(int limit = 50) { var count = Math.Min(limit, activityLog.Count); var startIndex = Math.Max(0, activityLog.Count - count); return activityLog.GetRange(startIndex, count); } private void LogActivity(string action, Dictionary details) { var entry = new Dictionary { ["action"] = action, ["timestamp"] = DateTime.UtcNow }; foreach (var kvp in details) { entry[kvp.Key] = kvp.Value; } activityLog.Add(entry); } public Dictionary GetDashboardSummary() { return new Dictionary { ["total_revenue"] = GetTotalRevenue(), ["stream_count"] = revenueStreams.Count, ["activity_count"] = activityLog.Count, ["last_updated"] = DateTime.UtcNow }; } } }