mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-11 22:02:16 +00:00
Merge AI operations and error-log discipline into release/v1.42.0
This commit is contained in:
commit
5c23f9ed63
71 files changed
+3650
-340
No files matched your search
@@ -48,6 +48,14 @@ interface ProviderHealthRow {
|
||||
lastOkAt: string | null;
|
||||
lastFailureAt: string | null;
|
||||
lastFailureStatus: number | null;
|
||||
/** v1.42 — users this provider is paused for, and when the last lifts. */
|
||||
pausedUsers?: number;
|
||||
pausedUntil?: string | null;
|
||||
/** v1.42 — the operator key's model check, while it is failing. */
|
||||
modelListing?: {
|
||||
model: string;
|
||||
listing: "listed" | "not_listed" | "unknown";
|
||||
} | null;
|
||||
}
|
||||
|
||||
export function ProviderHealthSection() {
|
||||
@@ -151,11 +159,33 @@ export function ProviderHealthSection() {
|
||||
})}`
|
||||
: ""}
|
||||
</span>
|
||||
{p.pausedUsers && p.pausedUntil ? (
|
||||
<span
|
||||
className="text-muted-foreground text-xs"
|
||||
data-slot="provider-paused"
|
||||
>
|
||||
{t("admin.providerHealth.pausedHint", {
|
||||
count: p.pausedUsers,
|
||||
at: formatDateTime(p.pausedUntil),
|
||||
})}
|
||||
</span>
|
||||
) : null}
|
||||
{p.modelListing?.listing === "not_listed" ? (
|
||||
<span className="text-sm" data-slot="provider-model-missing">
|
||||
{t("admin.providerHealth.modelNotServed", {
|
||||
model: p.modelListing.model,
|
||||
})}
|
||||
</span>
|
||||
) : null}
|
||||
</div>
|
||||
{p.failing === 0 ? (
|
||||
<Badge variant="secondary">
|
||||
{t("admin.providerHealth.statusHealthy")}
|
||||
</Badge>
|
||||
) : p.pausedUsers ? (
|
||||
<Badge variant="destructive">
|
||||
{t("admin.providerHealth.statusPaused")}
|
||||
</Badge>
|
||||
) : (
|
||||
<Badge variant="destructive">
|
||||
{t("admin.providerHealth.statusFailing", {
|
||||
|
||||
Reference in new issue
Block a user