# `src/lib/`

| Файл | Назначение |
|---|---|
| `api.ts` | REST-клиент бэкенда (`GET /api/v1/nodes`). Анонимная авторизация: генерирует/логинится по `seed` через `/auth/seed/*` ("Ghost Protocol"), кеширует короткоживущий JWT (~10 мин) в `localStorage`. Сейчас не задействован напрямую (`useNodesStore` работает в статическом режиме), но остаётся рабочим для будущего включения. |
| `platform.ts` | Детект платформы (`desktop`/`android`/`ios`/`web`). Сначала проверяет `window.__TAURI_INTERNALS__` — отличает реальный Tauri-webview от обычного браузера (например, `pnpm dev` без Tauri), и только внутри Tauri дальше уточняет ОС по `navigator.userAgent`, т.к. Tauri-рантайм один и тот же на всех платформах. |
| `utils.ts` | `cn()` — склейка classNames (`clsx` + `tailwind-merge`). |
