diff --git a/api/services/beszel.ts b/api/services/beszel.ts index 3c827cd..e742391 100644 --- a/api/services/beszel.ts +++ b/api/services/beszel.ts @@ -9,18 +9,18 @@ import db from '../db.js' // ── Zod schemas for Beszel API responses ──────────────────────────────────── const BeszelSystemInfo = z.object({ - cpu: z.number().default(0), - mp: z.number().default(0), - dp: z.number().default(0), - ct: z.number().default(0), - la: z.number().default(0), - tu: z.number().default(0), + cpu: z.coerce.number().default(0), + mp: z.coerce.number().default(0), + dp: z.coerce.number().default(0), + ct: z.coerce.number().default(0), + la: z.union([z.number(), z.array(z.number())]).transform(v => Array.isArray(v) ? v[0] || 0 : v).default(0), + tu: z.coerce.number().default(0), }).default({ cpu: 0, mp: 0, dp: 0, ct: 0, la: 0, tu: 0 }) const BeszelSystem = z.object({ id: z.string(), name: z.string(), host: z.string(), - port: z.number().default(45876), + port: z.coerce.number().default(45876), status: z.string().default('unknown'), info: BeszelSystemInfo, created: z.string().optional(),