0.58.3

Fixed

  • compactInMemory: только system после compact → 400 Bad Request: когда все non-system сообщения слишком большие для budget, pruneHistoryByTokens возвращал пустой результат, и в API уходило только system-сообщение без user. Теперь гарантируется минимум одно non-system сообщение после compact
  • enforceRoleAlternation: safety net для缺少 user: если после sanitize нет ни одного user/tool-сообщения, добавляется synthetic user-сообщение