a79d8282dc
- 15 Controller-Klassen ersetzen Minimal APIs in Program.cs - Repository Pattern mit Interfaces + Implementierungen (Project, Task, Activity, User) - AuthService verwendet jetzt IUserRepository statt direktem DbContext-Zugriff - SecurityHeadersMiddleware als eigenständige Middleware-Klasse - PathSecurityHelper als gemeinsamer Helper für Pfadvalidierung - DTOs in eigenem Namespace Nexus.Api.DTOs - EF-Entities in Nexus.Api.Data (vorher Nexus.Api.Domain) - Program.cs auf DI-Registrierung + Middleware reduziert - Alle 43 Endpoints unverändert erhalten - Build + 3/3 Tests erfolgreich
40 lines
942 B
C#
40 lines
942 B
C#
using Nexus.Api.Data;
|
|
|
|
namespace Nexus.Api.Integrations;
|
|
|
|
public sealed record AgentRuntimeStatus(
|
|
string Runtime,
|
|
OperationalStatus Status,
|
|
TimeSpan? Latency,
|
|
string? Detail);
|
|
|
|
public sealed record ModelProviderStatus(
|
|
string Provider,
|
|
string Model,
|
|
OperationalStatus Status,
|
|
bool IsLocal,
|
|
string? Detail);
|
|
|
|
public sealed record AgentChatResult(
|
|
string Runtime,
|
|
string AgentId,
|
|
string ConversationId,
|
|
string Content);
|
|
|
|
public interface IAgentRuntime
|
|
{
|
|
string Name { get; }
|
|
Task<AgentRuntimeStatus> GetStatusAsync(CancellationToken cancellationToken);
|
|
Task<AgentChatResult> ChatAsync(
|
|
string message,
|
|
string conversationId,
|
|
string agentId,
|
|
CancellationToken cancellationToken);
|
|
}
|
|
|
|
public interface IModelProvider
|
|
{
|
|
string Name { get; }
|
|
Task<IReadOnlyCollection<ModelProviderStatus>> GetModelsAsync(CancellationToken cancellationToken);
|
|
}
|