0.58.5

Fixed

  • compactInMemory: нет user-сообщения после compact: когда pruneHistoryByTokens возвращал только tool-группы (assistant+tool) без единого user-сообщения, API отклонял запрос. Теперь compactInMemory гарантирует наличие user-сообщения — если его нет, prepends синтетическое "..."
  • ensureHasUser в SanitizeMessages — второй эшелон: если по какой-то причине user всё ещё отсутствует после sanitize, добавляется в конец