@7n/llm-lib 2.9.6 → 2.9.8
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 +11 -1
- package/lib/docs/agent-fix.md +6 -7
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
package/lib/agent-fix.mjs
CHANGED
|
@@ -110,7 +110,17 @@ function astUnavailable() {
|
|
|
110
110
|
* getTransportError: () => string|null }} args контекст петлі.
|
|
111
111
|
* @returns {Promise<{ verifyAttempts: Array<{ ok: boolean, infra?: boolean }>, error: string|null }>} результат петлі.
|
|
112
112
|
*/
|
|
113
|
-
async function runVerifyLoop({
|
|
113
|
+
async function runVerifyLoop({
|
|
114
|
+
session,
|
|
115
|
+
verify,
|
|
116
|
+
verifyMax,
|
|
117
|
+
timeoutMs,
|
|
118
|
+
startedAt,
|
|
119
|
+
clock,
|
|
120
|
+
guard,
|
|
121
|
+
fixPrompt,
|
|
122
|
+
getTransportError
|
|
123
|
+
}) {
|
|
114
124
|
const verifyAttempts = []
|
|
115
125
|
for (let attempt = 0; ; attempt++) {
|
|
116
126
|
let evidence
|
package/lib/docs/agent-fix.md
CHANGED
|
@@ -3,7 +3,7 @@ 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: 6a36d9a0
|
|
7
7
|
model: openai-codex/gpt-5.4-mini
|
|
8
8
|
tier: cloud-min
|
|
9
9
|
score: 100
|
|
@@ -13,11 +13,11 @@ docgen:
|
|
|
13
13
|
|
|
14
14
|
## Огляд
|
|
15
15
|
|
|
16
|
-
Модуль формує два промпти для локального виправлення порушення за правилом: `buildVerifyFeedbackPrompt` збирає запит на перевірку вже виявленого
|
|
16
|
+
Модуль формує два промпти для локального виправлення порушення за правилом: `buildVerifyFeedbackPrompt` збирає запит на перевірку вже виявленого зворотного зв’язку, а `buildFixPrompt` — запит на виправлення з урахуванням обмеженого контексту й дозволених файлів. `runAgentFix` запускає цей цикл і повертає результат без пробросу помилок назовні: будь-які збої перехоплюються, щоб процес залишався fail-safe.
|
|
17
17
|
|
|
18
18
|
## Поведінка
|
|
19
19
|
|
|
20
|
-
Спочатку формується fix-промпт із правилом, порушенням і доступним контекстом редагування; для generic-режиму він жорстко звужує простір змін до дозволених файлів, а для test-generation розділяє read-only джерела й тестові файли. Якщо попередня перевірка вже дала зворотний зв’язок, він додається в той самий промпт як додаткове обмеження. Далі виконується одна агентна спроба виправлення в межах рунга: результатом стає набір торкнутих файлів, телеметрія або помилка, а при
|
|
20
|
+
Спочатку формується fix-промпт із правилом, порушенням і доступним контекстом редагування; для generic-режиму він жорстко звужує простір змін до дозволених файлів, а для test-generation розділяє read-only джерела й тестові файли. Якщо попередня перевірка вже дала зворотний зв’язок, він додається в той самий промпт як додаткове обмеження. Далі виконується одна агентна спроба виправлення в межах рунга: результатом стає набір торкнутих файлів, телеметрія або помилка, а при падінні повертається rollback без винесення винятку назовні.
|
|
21
21
|
|
|
22
22
|
Після внесення змін запускається verify-петля над тими самими торкнутими файлами. Вона повторює canonical verify у тій самій сесії, а при невдалому результаті передає точний вивід перевірки назад у verify-feedback prompt і продовжує, доки не буде ok, не вичерпається ліміт спроб або не закінчиться спільний таймаут рунга. Якщо сама перевірка падає інфраструктурно, це не маскується під звичайне порушення: петля зупиняється чесною помилкою. Зовнішній consumer лишається джерелом правди про остаточне re-detect, а тут використовується лише рання локальна корекція.
|
|
23
23
|
|
|
@@ -26,16 +26,15 @@ docgen:
|
|
|
26
26
|
## Публічний API
|
|
27
27
|
|
|
28
28
|
- buildVerifyFeedbackPrompt — Будує фідбек-prompt verify-ітерації: точний вивід canonical-перевірки + нагадування
|
|
29
|
-
|
|
29
|
+
обмежень (той самий semantic-collateral guard, що й у buildFixPrompt).
|
|
30
30
|
- buildFixPrompt — Будує fix-промпт для рунга: правило + порушення + (опц.) target-файли + (опц.) feedback
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
попереднього провалу + жорсткий блок обмежень (лише механічні зміни) + інструкція
|
|
32
|
+
«ast_facts перед edit, self_check після».
|
|
33
33
|
|
|
34
34
|
Блок обмежень — перший шар semantic-collateral guard (спека pi-migration §12,
|
|
35
35
|
addendum 2026-07-05): слабкі локальні моделі схильні «виправляти» правило семантичною
|
|
36
36
|
правкою (хардкод значення, симуляція поведінки) — промпт явно це забороняє, а
|
|
37
37
|
verdict-veto consumer-а (re-check) відхиляє такі правки поза target-файлами.
|
|
38
|
-
|
|
39
38
|
- runAgentFix — Проводить ОДНУ агентну fix-спробу (рунг) для правила.
|
|
40
39
|
|
|
41
40
|
## Гарантії поведінки
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@7n/llm-lib",
|
|
3
|
-
"version": "2.9.
|
|
3
|
+
"version": "2.9.8",
|
|
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",
|