feat: ship agent-first mission control v0.2.57
CI - Build & Test / Backend (.NET) (push) Successful in 42s
CI - Build & Test / Frontend (Vue/TS) (push) Successful in 2m46s
CI - Build & Test / Security Check (push) Successful in 3s
CI - Build & Test / Deploy Nexus (push) Successful in 56s

This commit is contained in:
AzuTear
2026-07-31 22:39:47 +02:00
parent 3bc7622977
commit f5552218bc
535 changed files with 95242 additions and 8791 deletions
+21 -15
View File
@@ -1,5 +1,5 @@
using Nexus.Api.Data;
using Nexus.Api.Integrations;
using Nexus.Api.Services;
namespace Nexus.Api.Routing;
@@ -12,24 +12,30 @@ public sealed record RoutingTarget(
string Detail);
public sealed class ModelRoutingService(
IAgentRuntime runtime)
IOpenClawControlService openClaw)
{
public async Task<IReadOnlyCollection<RoutingTarget>> GetStatusAsync(
CancellationToken cancellationToken)
{
var runtimeStatus = await runtime.GetStatusAsync(cancellationToken);
var response = await openClaw.GetModelsAsync(cancellationToken);
if (response.Items.Count == 0)
return Array.Empty<RoutingTarget>();
return
[
new(1, "OpenClaw", "deepseek/deepseek-v4-flash", "Programmer agent",
runtimeStatus.Status,
"Routed through OpenClaw policy"),
new(2, "OpenClaw", "deepseek/deepseek-v4-pro", "Reviewer agent",
runtimeStatus.Status,
"Routed through OpenClaw policy"),
new(3, "OpenClaw", "openai/gpt-5.3-chat-latest", "Iris orchestrator",
runtimeStatus.Status,
"Routed through OpenClaw policy")
];
return response.Items
.OrderByDescending(model =>
string.Equals(model.Provider, "openai", StringComparison.OrdinalIgnoreCase))
.ThenBy(model => model.Name, StringComparer.OrdinalIgnoreCase)
.Select((model, index) => new RoutingTarget(
index + 1,
$"OpenClaw / {model.Provider}",
model.Id,
string.Equals(model.Provider, "openai", StringComparison.OrdinalIgnoreCase)
? "Primary agent runtime"
: "Configured Gateway fallback",
model.Available ? OperationalStatus.Online : OperationalStatus.Degraded,
model.Available
? "Configured and resolved by OpenClaw"
: model.Reason ?? "Configured in OpenClaw, currently unavailable"))
.ToArray();
}
}