@7n/llm-lib 2.4.1 → 2.5.0

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 CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.5.0] - 2026-07-11
4
+
5
+ ### Changed
6
+
7
+ - body-capture (N_LLM_TRACE_BODIES) увімкнено за замовчуванням; N_LLM_TRACE_BODIES=0 вимикає
8
+
3
9
  ## [2.4.1] - 2026-07-11
4
10
 
5
11
  ### Fixed
package/README.md CHANGED
@@ -35,7 +35,7 @@ pi свідомо лишає на caller-а: model tiers, fail-fast політи
35
35
  | `@7n/llm-lib/telemetry-store` | `recordFixTelemetry(record)`, `signatureOf(record)`, `openCount(rule)`, `telemetryDir()` |
36
36
  | `@7n/llm-lib/with-timeout` | `withTimeout(promise, ms, {onTimeout?, label?})` |
37
37
  | `@7n/llm-lib/prompt-budget` | `budgetFor(kind)`, `fitToBudget(chunks, maxChars)`, `packBatch(items, maxChars)`, `capText(text, maxChars)` |
38
- | `@7n/llm-lib/body-capture` | `captureBody(record, opts?)` (opt-in, `N_LLM_TRACE_BODIES=1`), `bodiesDir()`, `bodyCaptureEnabled()` |
38
+ | `@7n/llm-lib/body-capture` | `captureBody(record, opts?)` (увімкнено за замовчуванням, `N_LLM_TRACE_BODIES=0` вимикає), `bodiesDir()`, `bodyCaptureEnabled()` |
39
39
  | `@7n/llm-lib/anchored-edit` | `createAnchoredTools({cwd, defineTool})`, `applyAnchoredEdits(content, edits)`, `lineAnchor(text)`, `renderAnchored(content, range?)` — hash-anchored строгі edit-tools (профіль `anchoredEdits`) |
40
40
  | `@7n/llm-lib/web-tools` | `createWebTools({defineTool})`, `fetchPage(url, opts?)`, `assertPublicHttpUrl(url)`, `resolveSearchProvider(env)` — web_search/web_fetch із SSRF-guard (профіль `webTools`) |
41
41
 
@@ -114,7 +114,7 @@ Runtime-knobs (нове імʼя має пріоритет; legacy-alias пра
114
114
  | `N_LLM_SKILL_TIMEOUT_MS` | `N_CURSOR_SKILL_TIMEOUT_MS` | 600000 |
115
115
  | `N_LLM_LOCAL_PROVIDERS` | — | `omlx` (кома-список провайдерів, що вважаються локальними) |
116
116
  | `N_LLM_COMPRESS` | — | увімкнено (`0` — вимикає клієнтську компресію контексту, лише для дебагу) |
117
- | `N_LLM_TRACE_BODIES` | — | вимкнено (`1` — увімкнути body-capture повних тіл, важкі дані) |
117
+ | `N_LLM_TRACE_BODIES` | — | увімкнено (`0` — вимкнути body-capture повних тіл, важкі дані) |
118
118
  | `N_LLM_BODIES_DIR` | — | `~/.n-cursor/llm-bodies` |
119
119
  | `N_LLM_BODIES_MAX_MB` | — | `500` (ретеншн: авто-очистка найстаріших файлів понад ліміт) |
120
120
 
@@ -6,7 +6,7 @@
6
6
  * і для CLOUD-викликів (проксі бачив лише local), (2) не залежить від
7
7
  * запущеного myllm.
8
8
  *
9
- * Вимкнено за замовчуванням (тіла важкі) вмикається `N_LLM_TRACE_BODIES=1`.
9
+ * Увімкнено за замовчуванням — вимикається `N_LLM_TRACE_BODIES=0`.
10
10
  * Не pi-coupled (чиста FS-утиліта, як [trace]/[telemetry-store]) — публічний
11
11
  * модуль пакета; основні консюмери — самі раннери (кличуть напряму), зовнішні
12
12
  * читачі (напр. myllm) читають файли зі стору за тією ж конвенцією шляху.
@@ -39,11 +39,11 @@ function maxBytes() {
39
39
  }
40
40
 
41
41
  /**
42
- * Чи body-capture увімкнено (дефолт вимкненоважкі тіла, вмикають свідомо).
42
+ * Чи body-capture увімкнено (дефолт увімкненовимикають свідомо `N_LLM_TRACE_BODIES=0`).
43
43
  * @returns {boolean} true — захоплення увімкнено.
44
44
  */
45
45
  export function bodyCaptureEnabled() {
46
- return env.N_LLM_TRACE_BODIES === '1'
46
+ return env.N_LLM_TRACE_BODIES !== '0'
47
47
  }
48
48
 
49
49
  /**
@@ -3,12 +3,12 @@ type: JS Module
3
3
  title: body-capture.mjs
4
4
  resource: llm-lib/lib/body-capture.mjs
5
5
  docgen:
6
- crc: 795b58e0
6
+ crc: 3e3be25e
7
7
  ---
8
8
 
9
9
  ## Огляд
10
10
 
11
- Opt-in захоплення повних тіл LLM-викликів (prompt+response) — заміна колишнього requests.jsonl myllm-проксі, з перевагою: працює і для CLOUD-викликів (проксі бачив лише local), і не залежить від запущеного myllm. Вимкнено за замовчуванням (тіла важкі) вмикається N_LLM_TRACE_BODIES=1. Не pi-coupled — публічний модуль пакета.
11
+ Захоплення повних тіл LLM-викликів (prompt+response) — заміна колишнього requests.jsonl myllm-проксі, з перевагою: працює і для CLOUD-викликів (проксі бачив лише local), і не залежить від запущеного myllm. Увімкнено за замовчуванням — вимикається N_LLM_TRACE_BODIES=0. Не pi-coupled — публічний модуль пакета.
12
12
 
13
13
  ## Поведінка
14
14
 
@@ -17,7 +17,7 @@ captureBody — пише JSON-файл у ~/.n-cursor/llm-bodies/<chainId або
17
17
  ## Публічний API
18
18
 
19
19
  bodiesDir() — корінь стору (env N_LLM_BODIES_DIR).
20
- bodyCaptureEnabled() — чи увімкнено (N_LLM_TRACE_BODIES==='1').
20
+ bodyCaptureEnabled() — чи увімкнено (N_LLM_TRACE_BODIES!=='0').
21
21
  captureBody(record, opts?) — шлях збереженого файлу або null.
22
22
 
23
23
  ## Гарантії поведінки
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@7n/llm-lib",
3
- "version": "2.4.1",
3
+ "version": "2.5.0",
4
4
  "description": "Тонкий шар роботи з LLM (локальні omlx + хмарні провайдери) поверх pi: model tiers, one-shot, agentic-раннери, write-guard, trace, telemetry, prompt-budget",
5
5
  "keywords": [
6
6
  "nitra",