@7n/llm-lib 2.14.12 → 2.14.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/lib/local-providers.mjs +25 -21
- package/lib/model-tiers.mjs +3 -3
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.14.14] - 2026-08-03
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
|
|
7
|
+
- feat(llm-lib): add turbofieldfare local provider (#374); chore(release): синк пінів платформних napi-пакетів @7n/llm-lib
|
|
8
|
+
|
|
9
|
+
## [2.14.13] - 2026-08-03
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- chore(release): синк пінів платформних napi-пакетів @7n/llm-lib
|
|
14
|
+
|
|
3
15
|
## [2.14.12] - 2026-08-01
|
|
4
16
|
|
|
5
17
|
### Changed
|
package/lib/local-providers.mjs
CHANGED
|
@@ -1,35 +1,39 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Дефолтна мапа local-провайдерів для Rust-крейта `llm_lib::local_cloud`
|
|
3
3
|
* (той самий `{ prefix: { baseUrl, apiKey } }` конфіг, що приймає
|
|
4
|
-
* `oneShotLocalCloud`/`submitBatch`).
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
4
|
+
* `oneShotLocalCloud`/`submitBatch`). Один generic-слот `local-openai`
|
|
5
|
+
* покриває БУДЬ-ЯКИЙ кастомний OpenAI-сумісний сервер (omlx, litellm-проксі,
|
|
6
|
+
* TurboFieldfareServer, майбутні) — одним спільним `N_LOCAL_OPENAI_*`-env
|
|
7
|
+
* замість окремої env-пари на кожен сервер.
|
|
8
|
+
*
|
|
9
|
+
* **Свідома відмова від окремих `omlx`/`litellm`-записів (та їхньої
|
|
10
|
+
* можливості діяти одночасно через різні tier-env, напр.
|
|
11
|
+
* `N_LOCAL_MIN_MODEL=omlx/...` + `N_LOCAL_AVG_MODEL=litellm/...`)** —
|
|
12
|
+
* generic-слот залишає активним лише один `baseUrl` за раз, перемикання
|
|
13
|
+
* між серверами — переналаштуванням `N_LOCAL_OPENAI_BASE_URL`. Це свідомий
|
|
14
|
+
* breaking change: model-spec-префікс `"omlx/..."` більше не резолвиться —
|
|
15
|
+
* усі конфіги мають мігрувати на `"local-openai/..."` (nitra/7n-rules#374).
|
|
16
|
+
*
|
|
17
|
+
* **Навмисно не `openai`**: цей рядок — literal cloud-provider prefix, який
|
|
18
|
+
* `local_cloud.rs` (і genai) розпізнають як справжній хмарний OpenAI (напр.
|
|
19
|
+
* `N_CLOUD_MIN_MODEL=openai/gpt-5.4-mini`) — реєстрація `openai` в
|
|
20
|
+
* local-мапі тихо перехопила б такі cloud-виклики на локальний baseUrl.
|
|
10
21
|
*/
|
|
11
22
|
import { env } from 'node:process'
|
|
12
23
|
|
|
13
24
|
/**
|
|
14
25
|
* @returns {{
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* `
|
|
19
|
-
*
|
|
20
|
-
* це власна конвенція самих серверів (omlx-server читає `OMLX_API_KEY` для свого
|
|
21
|
-
* auth), тож розробницьке оточення природно експортує саме її; `N_`-префіксовані
|
|
22
|
-
* значення мають пріоритет)
|
|
26
|
+
* 'local-openai': { baseUrl: string, apiKey: string|null }
|
|
27
|
+
* }} дефолтна мапа локальних провайдерів (override — через
|
|
28
|
+
* `N_LOCAL_OPENAI_BASE_URL`/`N_LOCAL_OPENAI_API_KEY`; дефолтний `baseUrl` —
|
|
29
|
+
* локальний omlx-порт `http://127.0.0.1:8000/v1/`, найбезпечніший
|
|
30
|
+
* zero-config дефолт — без мережі, без зовнішньої залежності)
|
|
23
31
|
*/
|
|
24
32
|
export function defaultLocalProviders() {
|
|
25
33
|
return {
|
|
26
|
-
|
|
27
|
-
baseUrl: env.
|
|
28
|
-
apiKey: env.
|
|
29
|
-
},
|
|
30
|
-
litellm: {
|
|
31
|
-
baseUrl: env.N_LITELLM_BASE_URL ?? 'https://llm.7n.ai/v1/',
|
|
32
|
-
apiKey: env.N_LITELLM_API_KEY ?? env.LITELLM_API_KEY ?? null
|
|
34
|
+
'local-openai': {
|
|
35
|
+
baseUrl: env.N_LOCAL_OPENAI_BASE_URL ?? 'http://127.0.0.1:8000/v1/',
|
|
36
|
+
apiKey: env.N_LOCAL_OPENAI_API_KEY ?? null
|
|
33
37
|
}
|
|
34
38
|
}
|
|
35
39
|
}
|
package/lib/model-tiers.mjs
CHANGED
|
@@ -118,7 +118,7 @@ export function formatModelSpec(model) {
|
|
|
118
118
|
|
|
119
119
|
/** Провайдери, що вважаються локальними. Override: `N_LLM_LOCAL_PROVIDERS` (кома-список). */
|
|
120
120
|
const LOCAL_PROVIDERS = new Set(
|
|
121
|
-
(env.N_LLM_LOCAL_PROVIDERS ?? '
|
|
121
|
+
(env.N_LLM_LOCAL_PROVIDERS ?? 'local-openai')
|
|
122
122
|
.split(',')
|
|
123
123
|
.map(p => p.trim())
|
|
124
124
|
.filter(Boolean)
|
|
@@ -126,8 +126,8 @@ const LOCAL_PROVIDERS = new Set(
|
|
|
126
126
|
|
|
127
127
|
/**
|
|
128
128
|
* Чи model-spec вказує на локальну модель: збіг з одним із LOCAL_* тирів
|
|
129
|
-
* АБО провайдер з `N_LLM_LOCAL_PROVIDERS` (дефолт `
|
|
130
|
-
*
|
|
129
|
+
* АБО провайдер з `N_LLM_LOCAL_PROVIDERS` (дефолт `local-openai`).
|
|
130
|
+
* Провайдер може бути зареєстрований в `localProviders`-конфізі одночасно
|
|
131
131
|
* (див. `local-providers.mjs`) — "активний" завжди рівно один, бо
|
|
132
132
|
* `LocalCloud` викликає клієнта за провайдер-префіксом фактичного
|
|
133
133
|
* model-spec, не за наявністю запису в мапі. Використовується
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@7n/llm-lib",
|
|
3
|
-
"version": "2.14.
|
|
3
|
+
"version": "2.14.14",
|
|
4
4
|
"description": "Тонкий шар роботи з LLM (локальні omlx + хмарні провайдери) поверх pi: model tiers, one-shot, agentic-раннери, write-guard, trace, telemetry, prompt-budget",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nitra",
|
|
@@ -56,8 +56,8 @@
|
|
|
56
56
|
"access": "public"
|
|
57
57
|
},
|
|
58
58
|
"optionalDependencies": {
|
|
59
|
-
"@7n/llm-lib-darwin-arm64": "2.14.
|
|
60
|
-
"@7n/llm-lib-linux-x64": "2.14.
|
|
59
|
+
"@7n/llm-lib-darwin-arm64": "2.14.14",
|
|
60
|
+
"@7n/llm-lib-linux-x64": "2.14.14"
|
|
61
61
|
},
|
|
62
62
|
"peerDependencies": {
|
|
63
63
|
"@earendil-works/pi-ai": "~0.80.10",
|