const API_BASE = 'http://localhost:5208'; const API_KEY = 'dev-key'; class ApiService { async request(endpoint, options = {}) { const url = `${API_BASE}${endpoint}`; const config = { headers: { 'Content-Type': 'application/json', 'X-Api-Key': API_KEY, ...options.headers, }, ...options, }; try { const response = await fetch(url, config); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } return await response.json(); } catch (error) { console.error(`API request failed for ${endpoint}:`, error); throw error; } } // Risk assessment endpoints async getRiskAssessment(machineId) { return this.request(`/risk/${machineId}`); } async getRiskHistory(machineId, take = 20) { return this.request(`/risk/${machineId}/history?take=${take}`); } // Model endpoints async getModelMeta() { return this.request('/model/meta'); } // Device trust endpoints async getTrustedDevices() { return this.request('/trust/devices'); } // Machine endpoints async getMachines() { return this.request('/machines'); } // Demo endpoints async seedDemo() { return this.request('/demo/seed', { method: 'POST' }); } async clearDemo() { return this.request('/demo/clear', { method: 'POST' }); } async evictStale() { return this.request('/demo/evict', { method: 'POST' }); } } export const apiService = new ApiService();