@ykurilov/agent-chat-core 0.57.0 → 0.59.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,34 @@
1
1
  # @ykurilov/agent-chat-core
2
2
 
3
+ ## 0.59.0
4
+
5
+ ### Minor Changes
6
+
7
+ - fc1f387: Поддельные служебные блоки в ответе модели вырезаются сами. Один список форматов: ядро (`CORE_SERVICE_BLOCKS` — сводка, шаги ответа, место на экране, служебные пометки), пакеты (память `<agent_memory>`, вложения `<attachment>`, навыки `<skill>` и их список, строки сценария) и приложение — `agent.serviceBlocks` (`{ tag }` или `{ name, line, match?, until? }`, ошибка — `TypeError` при создании службы). Блок с начала строки вырезается в потоке до экрана, записи и следующего шага; в прошлых ответах — только в запросе, байт в байт одинаково (кэш). Код, цитаты и упоминания посреди фразы не трогаются, пустым ответ не остаётся. Журнал: `[служебный блок вырезан] тег=… чат=… ответ=… модель=… провайдер=…`.
8
+
9
+ ### Как обновить приложение
10
+
11
+ Ничего делать не нужно. Своя вырезка служебных блоков в приложении больше не нужна — свои теги передайте в `agent.serviceBlocks`.
12
+
13
+ ## 0.58.0
14
+
15
+ ### Minor Changes
16
+
17
+ - 332d90e: Новый параметр службы `abandonedBursts: { serviceFor }`: при нескольких службах на одном хранилище обход брошенных пачек
18
+ (`answerAfterRestart`) отдаёт пачку службе, которую назвало приложение, — её инструкция и модель отвечают. `serviceFor`
19
+ может создать службу по требованию; вернула `null` или упала — пачка ждёт следующего обхода, чужая служба её не берёт. Тот же параметр — у `createChatServer`.
20
+ - 2ed600d: Пустой счёт (402) или непринятый ключ (401, 403 со словами о ключе или деньгах) у провайдера — без повторов сразу следующий из запасных (`providerFallback`), в любом шаге хода и у помощников. Отказавший провайдер 5 минут на паузе: новые ходы службы сразу идут к запасному, после паузы его пробует один ход. Прочие 403 (регион, доступ к модели) — запасной без паузы, 403 модерации — ошибка без перехода. 429 со словами о квоте — лимит запросов, а не пустой счёт (кроме `insufficient_quota`). Основной отказал в этом ходе, а запасные не ответили — человеку его причина, а если запасной лишь перегружен — перегрузка. Строки журнала `[запасной провайдер] … причина=insufficient_funds|invalid_key` и громкая `[ВНИМАНИЕ провайдер]` не чаще раза в 15 минут на провайдер.
21
+ - 760962e: Хранилища пакетов на PostgreSQL можно открывать одновременно на совсем пустой базе. Раньше пакеты разом создавали
22
+ схему `agent_chat`, проигравший падал на `CREATE SCHEMA IF NOT EXISTS`, и его хранилище не работало до перезапуска.
23
+ Теперь схема создаётся под общей блокировкой всех пакетов, она держится только на создании схемы. Миграции идут под
24
+ своей блокировкой пакета: разные пакеты друг друга не ждут, взаимной блокировки нет. Столкновение «такое уже есть»
25
+ повторяется само. Новое в core: `migratePostgresSchema({ connect, lockKey, migrate })` — для своих пакетов на той же
26
+ схеме.
27
+
28
+ ### Как обновить приложение
29
+
30
+ Ничего делать не нужно.
31
+
3
32
  ## 0.57.0
4
33
 
5
34
  ### Minor Changes