0.57.0

Added

  • Per-agent конфигурация compact (#30): JSONB-колонка compaction_config в таблице agents, структура CompactConfig с полями keep_last_messages, protect_first_n, soft_threshold_pct, hard_threshold_pct, max_passes. API PUT /api/v1/agents/:id принимает compaction_config, GET возвращает + resolved. WebUI: секция настроек компакции на странице Memory → Settings с переключателем «Глобальные/Per-agent»
  • Protect first N при compact (#31): защита первых N сообщений сессии от удаления при compact. Первые сообщения содержат системный контекст и задачу — их потеря критична. Параметр protect_first_n в CompactConfig, выравнивание границ по tool-парам
  • Compact context mode (#32): при context_max_tokens < 16384 автоматически сокращается system prompt — tool descriptions только имена, RAG лимит 2 чанка, memory facts лимит 3
  • Exec concurrency limit (#21): поле max_exec_per_turn (default: 20) в ExecPermissions, атомарный счётчик в ExecTool с авто-сбросом на каждый turn, блокировка при превышении лимита
  • Метод DeleteMessagesBetween в Store для удаления средней части сессии при protect-first-N compact

Fixed

  • sandbox-exec cwd (macOS) (#20): убран мёртвый код _ = sandboxCwd в WrapCommandSandboxExec, рабочий каталог корректно наследуется через cmd.Dir вызывающего кода