Backend:
- GET /api/sessions: Git-Status inline integriert (parallel pro Session)
- Neue Hilfsmethoden GetGitStatusSummaryAsync (Counts) und
GetGitStatusDetailedAsync (Dateinamen, für Einzel-Endpoint)
- GetSessionsWithStats gibt typisierte SessionWithStats zurück
- Neue Models: SessionWithStats, GitStatusSummary
- GET /api/agents: Skills inline pro Agent integriert
- SkillService als Parameter in HandleList
- Skills als Array mit slug/name/description
Frontend:
- Dashboard: 1 paralleler Promise.all statt sequentieller Requests
- Vorher: agents → sessions → N×git-status → M×agent-skills → cronjobs → shares
- Nachher: Promise.all([agents, sessions, cronjobs, shares]) (4 Requests)
- Git-Status direkt aus Session-Response, Skills aus Agent-Response
- Session-Page: Agent-Skills aus inline-Daten statt N×apiGetAgentSkills
Reduziert Dashboard-Requests von ~4+N+M auf 4 (fix).
48 lines
1.6 KiB
C#
48 lines
1.6 KiB
C#
namespace Gott.Models;
|
|
|
|
public class SessionRecord
|
|
{
|
|
public long Id { get; set; }
|
|
public string SessionId { get; set; }
|
|
public string Name { get; set; }
|
|
public string Description { get; set; }
|
|
public string Image { get; set; }
|
|
public string AgentId { get; set; }
|
|
public string Workspace { get; set; }
|
|
public string Context { get; set; }
|
|
public string CustomCommands { get; set; }
|
|
public string UserId { get; set; }
|
|
public bool IsDeleted { get; set; }
|
|
public string TelegramBotToken { get; set; }
|
|
public string TelegramWebhookSecret { get; set; }
|
|
public string TelegramChatId { get; set; }
|
|
public string TelegramAllowedChatIds { get; set; }
|
|
public double AvatarScale { get; set; } = 1.0;
|
|
public double AvatarOffsetX { get; set; }
|
|
public double AvatarOffsetY { get; set; }
|
|
public string ReviewAgentId { get; set; }
|
|
public int MaxReviewIterations { get; set; } = 3;
|
|
public string FinalizerAgentId { get; set; }
|
|
public string PreparerAgentId { get; set; }
|
|
public string CreatedAt { get; set; }
|
|
public string UpdatedAt { get; set; }
|
|
}
|
|
|
|
public class SessionWithStats
|
|
{
|
|
public SessionRecord Session { get; set; }
|
|
public int MessageCount { get; set; }
|
|
public int ArchiveMessageCount { get; set; }
|
|
public int TotalMessageCount { get; set; }
|
|
public bool TelegramConfigured { get; set; }
|
|
public bool TelegramLinked { get; set; }
|
|
}
|
|
|
|
public class GitStatusSummary
|
|
{
|
|
public int Add { get; set; }
|
|
public int Edit { get; set; }
|
|
public int Delete { get; set; }
|
|
public int Outgoing { get; set; }
|
|
}
|