Appearance
Variable: StatsOverview
ts
const StatsOverview: z.ZodObject<{
attention: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
count: z.ZodNumber;
kind: z.ZodLiteral<"approvals">;
oldest: z.ZodArray<z.ZodObject<{
id: z.ZodGUID;
link: z.ZodObject<..., ...>;
}, z.core.$strip>>;
}, z.core.$strip>, z.ZodObject<{
app: z.ZodString;
kind: z.ZodLiteral<"app_disabled">;
}, z.core.$strip>, z.ZodObject<{
app: z.ZodString;
kind: z.ZodLiteral<"app_unconfigured">;
missingSecrets: z.ZodArray<z.ZodString>;
}, z.core.$strip>, z.ZodObject<{
app: z.ZodString;
calls: z.ZodNumber;
circuit: z.ZodOptional<z.ZodEnum<{
half_open: "half_open";
open: "open";
}>>;
failures: z.ZodNumber;
kind: z.ZodLiteral<"app_failing">;
timeouts: z.ZodNumber;
}, z.core.$strip>, z.ZodObject<{
at: z.ZodCoercedDate<unknown>;
error: z.ZodNullable<z.ZodString>;
kind: z.ZodLiteral<"export_failed">;
name: z.ZodString;
scheduleId: z.ZodGUID;
}, z.core.$strip>, z.ZodObject<{
count: z.ZodNumber;
endpointId: z.ZodGUID;
event: z.ZodString;
kind: z.ZodLiteral<"webhook_exhausted">;
url: z.ZodString;
}, z.core.$strip>], "kind">>;
cases: z.ZodObject<{
breached: z.ZodNumber;
dueToday: z.ZodNumber;
dueTodayMine: z.ZodNumber;
oldestBreachMs: z.ZodNullable<z.ZodNumber>;
open: z.ZodNumber;
unassigned: z.ZodNumber;
}, z.core.$strip>;
runs24h: z.ZodOptional<z.ZodObject<{
autoDecidedPct: z.ZodNullable<z.ZodNumber>;
completed: z.ZodNumber;
failed: z.ZodNumber;
p95Ms: z.ZodNullable<z.ZodNumber>;
total: z.ZodNumber;
waiting: z.ZodNumber;
}, z.core.$strip>>;
}, z.core.$strip>;GET /stats/overview: Home's figures in one request. runs24h needs runs:read; the attention list holds only what the caller may act on: approvals with definitions:approve, app configuration with apps:write, app failures with apps:read, webhook deliveries given up with webhooks:read, failed scheduled exports with audit:export.