27 lines
1.4 KiB
C#
27 lines
1.4 KiB
C#
using Nexus.Api.Models;
|
|
|
|
namespace Nexus.Api.Services;
|
|
|
|
public enum QueueDeleteOutcome { Deleted, NotFound, GatewayError, TaskNotFound, InvalidTaskId, Ignored }
|
|
public enum QueuePriorityOutcome { Updated, Ignored, TaskNotFound, InvalidTaskId }
|
|
|
|
public sealed record QueueDeleteResult(QueueDeleteOutcome Outcome);
|
|
public sealed record QueuePriorityResult(QueuePriorityOutcome Outcome, string? NewPriority = null);
|
|
|
|
public interface IDashboardService
|
|
{
|
|
Task<DashboardStatus> GetStatusAsync();
|
|
Task<List<DashboardAgentInfo>> GetAgentsAsync();
|
|
Task<List<FeedEntry>> GetOperationsAsync(int limit, string? agentFilter);
|
|
Task<ChatResponse> SendChatAsync(string agentId, string message);
|
|
Task<List<MessageEntry>> GetMessagesAsync(string? sessionKey, int limit, int offset);
|
|
Task<List<QueueItem>> GetQueueAsync(CancellationToken ct);
|
|
Task<GatewayRuntimeInfo> GetGatewayInfoAsync(CancellationToken ct);
|
|
Task<QueueDeleteResult> DeleteQueueItemAsync(string id, string? source, CancellationToken ct);
|
|
Task<QueuePriorityResult> CycleQueuePriorityAsync(string id, CancellationToken ct);
|
|
Task<AgentModelInfo?> GetAgentModelAsync(string agentId);
|
|
Task<bool> SetAgentModelAsync(string agentId, string model);
|
|
Task<List<AgentActivityEntry>> GetAgentActivityAsync(string agentId, int limit);
|
|
Task<List<ModelOption>> GetAvailableModelsAsync(CancellationToken ct);
|
|
}
|