import type { Branded } from '../framework/types/branded.js' export type DeviceId = Branded<`dev_${string}`, 'DeviceId'> export type Fingerprint = Branded export interface DeviceHardware { manufacturer: string model: string serial: string uuid: string version: string bios: Readonly<{ vendor: string version: string }> mainboard: Readonly<{ assetTag: string manufacturer: string model: string serial: string version: string }> cpu: Readonly<{ brand: string cores: number flags: string manufacturer: string model: string vendor: string }> memory: Readonly<{ total: number }> os: Readonly<{ arch: string platform: string }> } export interface Device { /** An unique device ID */ id: DeviceId fingerprint: Fingerprint hardware: DeviceHardware }