Vanilla JS SDK

import { MonitoringClient } from '@monitoring/sdk-js';

const client = new MonitoringClient({
  baseUrl: 'https://api.unimoni.example.com',
  fetchToken: async () => {
    const r = await fetch('/api/dashboard-token').then(r => r.json());
    return { token: r.token, expiresAt: new Date(r.expiresAt) };
  },
});

const series = await client.range('system_cpu_usage_percent', {
  last: '1h',
  step: '15s',
  labels: { host: 'web-01' },
});

renderChart(series);

Token refresh

SDK сам управляет refresh: 1) вызывает fetchToken при монтировании, 2) автоматически перевыпускает за 30 секунд до expiresAt. Партнёрский backend отдаёт fresh token каждый раз.