import type { DeviceHardware } from '../../../domain/device.js' import si from 'systeminformation' export async function getHardware(): Promise { const [system, bios, mainboard, cpu, memory, os, devices] = await Promise.all( [ si.system(), si.bios(), si.baseboard(), si.cpu(), si.mem(), si.osInfo(), si.blockDevices(), ], ) const hardware: DeviceHardware = { manufacturer: system.manufacturer, model: system.model, serial: system.serial, uuid: system.uuid, version: system.version, bios: { vendor: bios.vendor, version: bios.version, }, mainboard: { assetTag: mainboard.assetTag, manufacturer: mainboard.manufacturer, model: mainboard.model, serial: mainboard.serial, version: mainboard.version, }, cpu: { brand: cpu.brand, cores: cpu.cores, flags: cpu.flags, manufacturer: cpu.manufacturer, model: cpu.model, vendor: cpu.vendor, }, memory: { total: memory.total, }, os: { arch: os.arch, platform: os.platform, }, } return hardware }