berimor 0.42.0 → 0.44.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/README.md +6 -3
- package/checksums.json +4 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -138,13 +138,17 @@ Deny-таблица деструктивных операций не переи
|
|
|
138
138
|
|
|
139
139
|
**Волна D: Rego-правила гейта** (0.41.0): внешняя политика OPA/Rego поверх статических правил capability-гейта — через regorus (in-process, без sidecar). `[gate] rego_policy = "policy.rego"` + `environment = "prod"`: политика (`package berimor`, `deny contains msg if { ... }`) видит `input.tool`, `input.args`, `input.mutates`, `input.environment` и может только запрещать строже статики — разрешить слабее нельзя, ядро остаётся детерминированным. Ошибка разбора — отказ старта, ошибка вычисления — fail-closed. Пример из заявки работает: «terminal.exec запрещён в prod-окружении».
|
|
140
140
|
|
|
141
|
+
**Волна F: berimor как GitHub App** (0.43.0): `berimor serve` принимает вебхуки GitHub на `POST /webhooks/github` — верификация HMAC-SHA256 (webhook secret), JWT RS256 → installation token, триггер-метка в комментарии (дефолт `/berimor`) запускает процесс неинтерактивно, итог возвращается комментарием в issue/PR. Ответ 202 немедленно, процесс — в фоне. Конфиг `[github_app]`: app_id, private_key_path, process, trigger.
|
|
142
|
+
|
|
143
|
+
**Волна G: ACP — berimor в редакторе** (0.44.0): `berimor acp` говорит Agent Client Protocol по stdio — Zed и совместимые редакторы подключают berimor как внешнего агента. Сессия = прогон процесса из `[acp] process`: prompt запускает процесс (вход `{text}`), события журнала стримятся в редактор (ходы инструментов, гейты, отказы медиации), ответ — по завершении; cancel отменяет ожидание, прогон доезжает в журнале. Печать прогона в ACP-режиме уходит в stderr — stdout принадлежит протоколу.
|
|
144
|
+
|
|
141
145
|
**Волна C: LLM-as-a-Judge** (0.40.0): `berimor eval <dir> --judge` — после прогона golden-набора сильный провайдер (первый в порядке failover) оценивает финальное состояние каждого завершённого сценария: скор 1-5 и обоснование пишутся событием `judge_score` в журнал прогона сценария и в вывод. Критерии — файл `<сценарий>.judge.md` рядом с входом (иначе рубрика по умолчанию: полнота, точность, отсутствие выдумок, форма). `--judge-threshold <N>` — CI-гейт: средний балл ниже порога = ошибка команды. Разбор ответа судьи идёт через тот же EOF-ремонт медиации; незавершённые сценарии (гейт, ошибка) судья честно пропускает.
|
|
142
146
|
|
|
143
147
|
**Волна B: наблюдаемость** (0.39.0): `berimor otlp <run> --endpoint <url>` — прогон процесса как трейс в OTLP/HTTP JSON: корневой спан запуска, спан на узел графа, спан вызова LLM (латентность + токены в атрибутах), human_gate (интервал до ответа/таймаута), ходы инструментов свободного цикла. traceId/spanId детерминированы (повторный экспорт идемпотентен). Принимается коллекторами Jaeger и Grafana Tempo (порт 4318) и Langfuse — единый OTLP, отдельные экспортёры не нужны; заголовки авторизации — `--header 'Name: value'`.
|
|
144
148
|
|
|
145
149
|
**Волна A: отказоустойчивость и стоимость** (0.38.0): circuit breaker в Model Pool — N последовательных транспортных сбоев провайдера открывают автомат, провайдер пропускается до полуоткрытой пробы по cooldown, об открытии — видимый алерт «<имя> → circuit-open» (`[agent] breaker_failures`, `breaker_cooldown_secs`; 0 = выключено). Атрибуция стоимости: каждый вызов модели журналирует usage (токены, латентность, шаг — событие `model_usage`), у локального llama.cpp токены считает токенизатор; `berimor cost <run>` — отчёт по шагам и итог (цены — `cost_per_1k_tokens` провайдера; без цены — честные токены без выдуманных денег).
|
|
146
150
|
|
|
147
|
-
**Слой правил и berimor как MCP-сервер** (0.37.0, по мотивам Harness AI 3.0): (1) **правила** — markdown-стандарты из `~/.config/berimor/rules/` и `.berimor/rules/` подмешиваются в контекст всех шагов с моделью ДО генерации (мягкий слой; жёсткий — по-прежнему медиация); проектные сильнее глобальных; (2) **`berimor mcp-serve`** — MCP-сервер по stdio: внешние агенты
|
|
151
|
+
**Слой правил и berimor как MCP-сервер** (0.37.0, по мотивам Harness AI 3.0): (1) **правила** — markdown-стандарты из `~/.config/berimor/rules/` и `.berimor/rules/` подмешиваются в контекст всех шагов с моделью ДО генерации (мягкий слой; жёсткий — по-прежнему медиация); проектные сильнее глобальных; (2) **`berimor mcp-serve`** — MCP-сервер по stdio: внешние агенты и редакторы гоняют процессы berimor через инструменты `process.list`/`process.run`/`trace.read` — модель думает снаружи, код решает внутри; (3) **GitHub Action** `devpilgrin/berimor-action@v1` — процессы как шаги CI.
|
|
148
152
|
|
|
149
153
|
**Заимствования из DeepSeek Harness** (0.36.0): (1) **pruner наблюдений** — длинный результат инструмента обрезается в промпте (голова+маркер+хвост, оригинал в журнале; `[agent] tool_result_max_chars`, 0 = выкл); (2) **Landlock-песочница** для `terminal.exec`/`terminal.start` — собственная реализация на libc (без внешнего бинаря): подпроцесс физически не выходит за рабочую область, системные каталоги — read-only; `[sandbox] landlock = off|auto|require`, require — fail-closed; (3) **compaction чата** — история длиннее порога сжимается в конспект старшим провайдером, хвост дословно, сбой суммаризации не роняет ход (`[agent] compact_threshold_chars`, 0 = выкл).
|
|
150
154
|
|
|
@@ -306,9 +310,8 @@ berimor plugin install-local ./my-plugin --allow-unsigned # лок
|
|
|
306
310
|
| План разработки | `docs/ROADMAP.md` | очередь задач по фазам, декомпозиция на подзадачи, сложность, класс модели-исполнителя |
|
|
307
311
|
| Аудит | `docs/audit-2026-07-31.md` | независимый аудит безопасности — все находки закрыты или осознанно задокументированы |
|
|
308
312
|
| Тестовые данные | `fixtures/golden/` | золотые наборы: примеры процессов, контрактов, вредоносных вводов |
|
|
309
|
-
| Исследования | `docs/rnd/` | вспомогательный слой: источники и анализ существующих агентных фреймворков. См. `docs/rnd/README.md` |
|
|
310
313
|
|
|
311
|
-
`crates/` и `bootstrap/` — сам агент, код, написанный по очереди из `docs/ROADMAP.md`. `docs/arch/` — слой чистых решений позади него: не упоминает конкретные проекты и продукты (кроме `docs/arch/deployment.md` и `docs/arch/stack.md`, где это осознанное исключение), излагает архитектуру так, чтобы её можно было реализовать на любом стеке. `docs/ADR/` фиксирует, почему принято каждое решение, включая отклонённые альтернативы.
|
|
314
|
+
`crates/` и `bootstrap/` — сам агент, код, написанный по очереди из `docs/ROADMAP.md`. `docs/arch/` — слой чистых решений позади него: не упоминает конкретные проекты и продукты (кроме `docs/arch/deployment.md` и `docs/arch/stack.md`, где это осознанное исключение), излагает архитектуру так, чтобы её можно было реализовать на любом стеке. `docs/ADR/` фиксирует, почему принято каждое решение, включая отклонённые альтернативы.
|
|
312
315
|
|
|
313
316
|
## Лицензия
|
|
314
317
|
|
package/checksums.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"berimor-v0.
|
|
3
|
-
"berimor-v0.
|
|
4
|
-
"berimor-v0.
|
|
5
|
-
"berimor-v0.
|
|
2
|
+
"berimor-v0.44.0-darwin-arm64.tar.gz": "1b71f9dbf3dcf21bbbd75e31812bc1a11518eb8a9b1167e5d452c4f35e81622d",
|
|
3
|
+
"berimor-v0.44.0-linux-arm64.tar.gz": "adb3adf62e5d63814c7b3b8c626b60440f197eef1134778a78bd21168feda2f3",
|
|
4
|
+
"berimor-v0.44.0-linux-x64.tar.gz": "cd6c1c24518384fb38d6149f3941fd0892c9582cfbcc73bc33d348be386c1e2a",
|
|
5
|
+
"berimor-v0.44.0-win32-x64.zip": "3d3ff0dd5dac834b6eeccf5dac67353cfebaf3084a8a14e93ef81a471fdac30a"
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "berimor",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.44.0",
|
|
4
4
|
"description": "Berimor — агентный CLI для LLM: интерактивный чат с инструментами (файлы, терминал, HTTP), детерминированные процессы, аудит и replay. Этот пакет — установщик платформенного бинарника.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|