@7n/llm-lib 3.2.3 → 3.4.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.
Files changed (2) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.4.0] - 2026-08-12
4
+
5
+ ### Added
6
+
7
+ - Backstop «немає прогресу» в циклі `fix`: канонічна перевірка запускається
8
+ примусово кожні 25 викликів інструментів, і дві червоні поспіль зупиняють
9
+ спробу з новою причиною `StopReason::NoProgress`.
10
+
11
+ Знайдено живим прогоном. Concern, чиє порушення усувається ВИДАЛЕННЯМ файлу,
12
+ наявним набором інструментів закрити неможливо (`delete` у ньому немає
13
+ свідомо) — модель входила в цикл перезапису й вигорала всю стелю ходів.
14
+
15
+ Дві простіші евристики виявились сліпими й були відкинуті вимірюванням:
16
+ «жодного запису взагалі» та «давно не було запису». Інструментування
17
+ показало, що модель пише на КОЖНОМУ виклику, тож лічильники записів не
18
+ спрацьовували ніколи. Причина глибша: `verify` прив'язаний до завершення
19
+ ходу, а модель у циклі інструментів хід не завершує — канонічна перевірка не
20
+ відпрацьовувала жодного разу. Примусова проба це й лікує.
21
+
22
+ Ефект на тому самому concern-і: 120 ходів (уся стеля) → 50.
23
+
24
+ ## [3.3.0] - 2026-08-11
25
+
26
+ ### Changed
27
+
28
+ - Контур `fix` доведений живою локальною моделлю на багатофайловому порушенні;
29
+ зміни контракту — наслідки конкретних прогонів:
30
+
31
+ - **Схема `edit` сплощена**: `path`/`old_text`/`new_text` замість масиву
32
+ обʼєктів `edits`. Сирий tool-call показав, що 26B-модель плутає вкладеність
33
+ і закриває `]` замість `}` — виклик виходив структурно невалідний, і сервер
34
+ правильно його відхиляв. Після сплощення прогін закрився з першого рунга,
35
+ провалів парсера нуль.
36
+ - `FixRequest::max_tokens` — стеля output-токенів більше не константа циклу:
37
+ потрібне значення залежить від моделі рунга.
38
+ - `AttemptRecord` у звіті петлі несе `turns` і `tool_calls` — без цих чисел
39
+ тюнінг бюджетів був би ворожінням.
40
+ - Схема `self_check` отримала одне необовʼязкове поле замість порожнього
41
+ `{"properties": {}}` — захист від провайдерів зі строгим розбором схем.
42
+
3
43
  ## [3.2.3] - 2026-08-11
4
44
 
5
45
  ### Changed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@7n/llm-lib",
3
- "version": "3.2.3",
3
+ "version": "3.4.0",
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": "3.2.2",
60
- "@7n/llm-lib-linux-x64": "3.2.2"
59
+ "@7n/llm-lib-darwin-arm64": "3.4.0",
60
+ "@7n/llm-lib-linux-x64": "3.4.0"
61
61
  },
62
62
  "peerDependencies": {
63
63
  "@earendil-works/pi-ai": "~0.80.10",