@ykurilov/agent-chat-flows 0.58.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,21 @@
|
|
|
1
1
|
# @ykurilov/agent-chat-flows
|
|
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
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies [fc1f387]
|
|
16
|
+
- @ykurilov/agent-chat-core@0.59.0
|
|
17
|
+
- @ykurilov/agent-chat-react@0.59.0
|
|
18
|
+
|
|
3
19
|
## 0.58.0
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
package/dist/index.js
CHANGED
|
@@ -116,6 +116,22 @@ import {
|
|
|
116
116
|
pendingAdded
|
|
117
117
|
} from "./chunk-DCTRMCGV.js";
|
|
118
118
|
|
|
119
|
+
// src/runtime/flow-service-blocks.ts
|
|
120
|
+
var FLOW_SERVICE_BLOCKS = [
|
|
121
|
+
// `transitionNotice`: «Сработало: тишина 3 ч → «Напоминание».»
|
|
122
|
+
{ name: "flow_transition", line: "\u0421\u0440\u0430\u0431\u043E\u0442\u0430\u043B\u043E: ", match: /^Сработало: .+ → «[^»\n]*»\.$/ },
|
|
123
|
+
// Ответ `flow_exit`: «Переход: «А» → «Б». Состояние сменилось, …»
|
|
124
|
+
{ name: "flow_switch", line: "\u041F\u0435\u0440\u0435\u0445\u043E\u0434: \xAB", match: /^Переход: «[^»\n]*» → «[^»\n]*»\. Состояние сменилось, продолжай по новой карточке\.$/ },
|
|
125
|
+
{ name: "flow_say_exactly", line: "\u041F\u0435\u0440\u0432\u043E\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u044D\u0442\u043E\u0433\u043E \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F \u2014 \u0441\u043A\u0430\u0436\u0438 \u0440\u043E\u0432\u043D\u043E \u044D\u0442\u043E: \xAB", match: /^Первое сообщение этого состояния — скажи ровно это: «.*»$/ },
|
|
126
|
+
// Карточка клиента кончается строкой «о чём спросить» (`questionLine`).
|
|
127
|
+
{
|
|
128
|
+
name: "flow_client_card",
|
|
129
|
+
line: "\u0427\u0442\u043E \u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E \u043E \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0435 (\u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0430 \u043A\u043B\u0438\u0435\u043D\u0442\u0430):",
|
|
130
|
+
match: /^Что известно о человеке \(карточка клиента\):$/,
|
|
131
|
+
until: /^(?:Сейчас не спрашивай ничего о человеке между делом|Сначала узнай: «|Давно не уточняли: «|Можно спросить между делом: «)/
|
|
132
|
+
}
|
|
133
|
+
];
|
|
134
|
+
|
|
119
135
|
// src/runtime/agent-flow.ts
|
|
120
136
|
import { createHash, randomUUID as randomUUID4 } from "crypto";
|
|
121
137
|
import {
|
|
@@ -2811,6 +2827,7 @@ function buildAgentFlow(options, modules = {}) {
|
|
|
2811
2827
|
knownFlow: (chatId) => known.get(chatId)
|
|
2812
2828
|
}),
|
|
2813
2829
|
stepContext: withStepTail(agent.stepContext, runtime),
|
|
2830
|
+
serviceBlocks: [...agent.serviceBlocks ?? [], ...FLOW_SERVICE_BLOCKS],
|
|
2814
2831
|
...agent.widgets && { widgets: withButtons(agent.widgets) },
|
|
2815
2832
|
prepareTurn: async (context) => {
|
|
2816
2833
|
const own = await agent.prepareTurn?.(context);
|
|
@@ -3177,6 +3194,7 @@ export {
|
|
|
3177
3194
|
FLOW_GIVE_UP_EXIT,
|
|
3178
3195
|
FLOW_OPS_BY_FIELD_TYPE,
|
|
3179
3196
|
FLOW_PATH_LIMIT,
|
|
3197
|
+
FLOW_SERVICE_BLOCKS,
|
|
3180
3198
|
FLOW_SIDE_TASK_TOOL,
|
|
3181
3199
|
FLOW_STATE_KEY,
|
|
3182
3200
|
FLOW_TIMER_SPANS,
|