0.58.1
Fixed
- pruneHistoryByTokens: атомарность tool-групп (#42): assistant с
tool_calls+ все его tool-результаты теперь единая единица обрезки — группа либо включена целиком, либо отброшена целиком. Устраняет400 Bad Requestпосле in-loop compact - ToolCalls не восстанавливался из БД (#43): при загрузке истории из БД поле
tool_calls(JSON-строка) теперь парсится в[]ToolCallData. Устраняет осиротевшие tool-сообщения, приводившие к protocol violation - removeOrphanedToolMessages (#44): новая функция в
sanitize.go— удаляет tool-сообщения без родительского assistant с matchingtool_call_id, а также очищаетtool_callsу assistant, чьи результаты были удалены. Вызывается вSanitizeMessagesкак safety net