---
docgen:
  source: npm/lib/omlx.mjs
  crc: 0073bdfd
  score: 90
---

# omlx.mjs

## Огляд

Файл забезпечує комунікацію з локальним omlx-сервером для отримання відповідей. Він маршрутизує запити, використовуючи конвенцію префікса для визначення, чи слід використовувати прямий HTTP виклик до omlx, чи CLI. Функції надають інструменти для роботи з API ключами та викликів до inference-сервера.

## Поведінка

DEFAULT_OMLX_URL: Дефолтний endpoint omlx

resolveOmlxApiKey: Резолвить API ключ для omlx-сервера

DEFAULT_OMLX_MODEL: Дефолтна модель для omlx

isOmlxModel: Перевіряє, чи model-id адресує локальний omlx-бекенд

omlxModelId: Прибирає префікс omlx/ з model-id

extractReasoning: Витягує reasoning з message

callOmlxRaw: Ядро прямого HTTP-виклику до omlx через curl

callOmlx: Тонка обгортка для отримання тексту відповіді

## Публічний API

DEFAULT_OMLX_URL — дефолтний endpoint omlx (перевизначається як `N_CURSOR_OMLX_URL`).
resolveOmlxApiKey — отримує API-ключ для omlx-сервера, коли ввімкнено автентифікацію (`auth.skip_api_key_verification: false`). Порядок: явний `apiKey` → env `N_CURSOR_OMLX_KEY` → `auth.api_key` з `~/.omlx/settings.json` (для локальної машини, з читанням як за замовчуванням; читання як за замовчуванням; безпечне читання) → `null` (відсутність заголовка).
DEFAULT_OMLX_MODEL — дефолтна модель, якщо в ідентифікаторі залишився префікс `omlx/` (перевизначається як `N_CURSOR_OMLX_MODEL`).
isOmlxModel — перевіряє, чи адресує цей model-id локальний omlx-бекенед (наявність префікса `omlx/`).
omlxModelId — видаляє префікс `omlx/` — отримує чистий model-id для omlx API. Не-omlx-рядки повертаються без змін.
extractReasoning — витягує обґрунтування з відповіді.
callOmlxRaw — виконує прямий HTTP-виклик до omlx через `curl` (за допомогою `spawnSync`). Повертає збагачений об'єкт: контент, обґрунтування, використання, результат завершення та кількість спроб. Перезапускає лише тимчасові помилки curl (18 = закритий трансфер, 52 = порожня відповідь, 56 = збій при отриманні).
callOmlx — тонко інкапсулює `callOmlxRaw` для споживачів, яким потрібен лише текст. Контракт: повертає вміст з `choices[0].message.content`. Без використання заголовків чи загальних фраз.

## Гарантії поведінки

- Read-only: файл не виконує операцій запису у файлову систему.
- Перехоплює помилки і не пропускає винятків назовні (fail-safe).
- За невдачі повертає значення помилки (`false`/`null`/`Err`) замість генерування винятку чи паніки.
- Не звертається до мережі.
