mirror of
https://github.com/dartdavros/chatballs.git
synced 2026-10-05 17:14:59 +03:00
Лимиты агента раньше хранились вразнобой (dailyCostMicros/dailyBudgetRub/ dailyDialogs/maxMessagesPerDialog), из них бэкенд читал только dailyCostMicros. Из-за путаницы валют на агенте FoxRay стоял лимит dailyCostMicros:100 (= \$0.0001), который блокировал ответы ИИ — 2 сообщения зависли без ответа. - limits.py: ключ dailyCostUsd (целые центы USD), сравнение с расходом в micros. У агента FoxRay ключа нет → лимит больше не блокирует ответы. - services.py: _normalize_limits отбрасывает устаревшие ключи при сохранении. - ingest.py: LimitExceeded теперь ловится как ProviderError — диалог передаётся оператору с fallback вместо зависания (раньше исключение пробрасывалось до poller). - AgentEditForm: одно поле «Бюджет в день, \$» вместо четырёх разнородных. - release/model.ts: удалён мёртвый limitLabel; расходы уже везде в долларах. - tests: обновлены под dailyCostUsd, добавлен тест на LimitExceeded в ingest.