@7n/llm-lib 2.9.3 → 2.9.5
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/agent-fix.mjs +5 -1
- package/lib/docs/agent-fix.md +7 -9
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.9.5] - 2026-07-26
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
|
|
7
|
+
- Додано безпечну telemetry batch verdict для coverage timeout-ів.
|
|
8
|
+
|
|
9
|
+
## [2.9.4] - 2026-07-26
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- Додано безпечну telemetry batch verdict для coverage timeout-ів.
|
|
14
|
+
|
|
3
15
|
## [2.9.3] - 2026-07-26
|
|
4
16
|
|
|
5
17
|
### Fixed
|
package/lib/agent-fix.mjs
CHANGED
|
@@ -509,7 +509,11 @@ export async function runAgentFix(ruleId, violation, cwd, opts = {}) {
|
|
|
509
509
|
blocks: guard.state.blocks,
|
|
510
510
|
backstopHit,
|
|
511
511
|
verifyAttempts,
|
|
512
|
-
|
|
512
|
+
// У trace це вже є, але consumer-ам batch-діагностики потрібен той самий
|
|
513
|
+
// безпечний агрегат без доступу до повного prompt-а чи capture body.
|
|
514
|
+
promptChars: fixPrompt.length,
|
|
515
|
+
wallMs: clock() - startedAt,
|
|
516
|
+
error
|
|
513
517
|
}
|
|
514
518
|
// Usage кроку для chain-агрегатів: сума по turns агентної сесії.
|
|
515
519
|
const stepUsage = { input: 0, output: 0, totalTokens: 0 }
|
package/lib/docs/agent-fix.md
CHANGED
|
@@ -3,27 +3,25 @@ type: JS Module
|
|
|
3
3
|
title: agent-fix.mjs
|
|
4
4
|
resource: llm-lib/lib/agent-fix.mjs
|
|
5
5
|
docgen:
|
|
6
|
-
crc:
|
|
6
|
+
crc: 5e6d8369
|
|
7
7
|
model: openai-codex/gpt-5.4-mini
|
|
8
8
|
tier: cloud-min
|
|
9
|
-
score:
|
|
10
|
-
issues:
|
|
9
|
+
score: 100
|
|
10
|
+
issues: judge-refine:kept-original,judge:inaccurate:0.98
|
|
11
11
|
judgeModel: openai-codex/gpt-5.4-mini
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
## Огляд
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
Усі публічні точки входу працюють fail-safe: помилки перехоплюються всередині, назовні винятки не виходять.
|
|
16
|
+
Модуль формує два промпти для локального виправлення порушення за правилом: `buildVerifyFeedbackPrompt` збирає запит на перевірку вже виявленого фідбеку, а `buildFixPrompt` — запит на виправлення з урахуванням обмеженого контексту й дозволених файлів. `runAgentFix` запускає цей цикл і повертає результат без пробросу помилок назовні: будь-які збої перехоплюються, щоб процес залишався fail-safe.
|
|
19
17
|
|
|
20
18
|
## Поведінка
|
|
21
19
|
|
|
22
|
-
|
|
20
|
+
Спочатку формується fix-промпт із правилом, порушенням і доступним контекстом редагування; для generic-режиму він жорстко звужує простір змін до дозволених файлів, а для test-generation розділяє read-only джерела й тестові файли. Якщо попередня перевірка вже дала зворотний зв’язок, він додається в той самий промпт як додаткове обмеження. Далі виконується одна агентна спроба виправлення в межах рунга: результатом стає набір торкнутих файлів, телеметрія або помилка, а при фейлі повертається rollback без винесення винятку назовні.
|
|
23
21
|
|
|
24
|
-
|
|
22
|
+
Після внесення змін запускається verify-петля над тими самими торкнутими файлами. Вона повторює canonical verify у тій самій сесії, а при невдалому результаті передає точний вивід перевірки назад у verify-feedback prompt і продовжує, доки не буде ok, не вичерпається ліміт спроб або не закінчиться спільний таймаут рунга. Якщо сама перевірка падає інфраструктурно, це не маскується під звичайне порушення: петля зупиняється чесною помилкою. Зовнішній consumer лишається джерелом правди про остаточне re-detect, а тут використовується лише рання локальна корекція.
|
|
25
23
|
|
|
26
|
-
|
|
24
|
+
Увесь потік працює fail-safe: помилки не пробиваються назовні як винятки, а повертаються у результаті як error. Загальний стан між етапами — це лише дані рунга: ruleId, violation, контекст правил, дозволені файли, feedback, verify-результати та список touchedFiles; жодного прихованого глобального стану в поведінкових гарантіях не використовується.
|
|
27
25
|
|
|
28
26
|
## Публічний API
|
|
29
27
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@7n/llm-lib",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.5",
|
|
4
4
|
"description": "Тонкий шар роботи з LLM (локальні omlx + хмарні провайдери) поверх pi: model tiers, one-shot, agentic-раннери, write-guard, trace, telemetry, prompt-budget",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nitra",
|
|
@@ -55,8 +55,8 @@
|
|
|
55
55
|
"access": "public"
|
|
56
56
|
},
|
|
57
57
|
"optionalDependencies": {
|
|
58
|
-
"@7n/llm-lib-darwin-arm64": "2.
|
|
59
|
-
"@7n/llm-lib-linux-x64": "2.
|
|
58
|
+
"@7n/llm-lib-darwin-arm64": "2.7.6",
|
|
59
|
+
"@7n/llm-lib-linux-x64": "2.7.6"
|
|
60
60
|
},
|
|
61
61
|
"peerDependencies": {
|
|
62
62
|
"@earendil-works/pi-ai": "~0.80.10",
|