@besales/mcp 0.25.0 → 0.28.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 +531 -0
- package/README.md +24 -2
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +22 -0
- package/dist/cli.js.map +1 -1
- package/dist/resources/docs/agent-behavior.md +3 -1
- package/dist/resources/docs/pipeline-builder.md +6 -2
- package/dist/resources/registry.js +1 -0
- package/dist/resources/registry.js.map +1 -1
- package/dist/resources/workflows/audit-dialogues.md +77 -0
- package/dist/schemas/mcp-tools.json +3921 -868
- package/dist/skills/besales-dialogue-audit/SKILL.md +27 -0
- package/dist/skills/install-skill.d.ts +7 -0
- package/dist/skills/install-skill.js +33 -0
- package/dist/skills/install-skill.js.map +1 -0
- package/dist/tools/definitions/crm-platform.d.ts +1 -0
- package/dist/tools/definitions/crm-platform.js +5 -0
- package/dist/tools/definitions/crm-platform.js.map +1 -1
- package/dist/tools/definitions/dialogue-export.d.ts +3 -0
- package/dist/tools/definitions/dialogue-export.js +19 -1
- package/dist/tools/definitions/dialogue-export.js.map +1 -1
- package/dist/tools/definitions/platform-setup.d.ts +11 -1
- package/dist/tools/definitions/platform-setup.js +27 -0
- package/dist/tools/definitions/platform-setup.js.map +1 -1
- package/dist/tools/definitions/shared.d.ts +5 -4
- package/dist/tools/definitions/shared.js +2 -5
- package/dist/tools/definitions/shared.js.map +1 -1
- package/dist/tools/definitions.d.ts +15 -1
- package/docs/host-setup.md +4 -4
- package/package.json +3 -3
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAA2B,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -79,6 +79,7 @@
|
|
|
79
79
|
|
|
80
80
|
"skipTaskCreationOnCallOperator": false,
|
|
81
81
|
"anonymizationEnabled": false,
|
|
82
|
+
"contactNamePersonalizationMode": "OFF",
|
|
82
83
|
"anonymizationDisabledTypes": [],
|
|
83
84
|
|
|
84
85
|
"goOffline": "0"
|
|
@@ -208,7 +209,8 @@
|
|
|
208
209
|
| `followUpWaitingReturn` | -1 | На сколько часов отключить follow-up после оператора. `-1` = не отключать, `0` = навсегда, `1`–`24` — часы. |
|
|
209
210
|
| `skipTaskCreationOnCallOperator` | false | Если `true` — при `call_operator` система **только** меняет ответственного на оператора, без постановки задачи в CRM. Полезно, когда workflow в CRM ведётся через статусы воронки, а не через task'ы, и лишние «висящие» задачи на оператора засоряют его список дел. |
|
|
210
211
|
| `anonymizationEnabled` | false | Обратимая PII-анонимизация LLM-пайплайна (per-platform). Если `true` — реальные имя/телефон/email клиента вырезаются из сообщений перед отправкой в LLM (заменяются токенами) и подставляются обратно в ответе и в аргументах tool-call (например, поля CRM). Ставится через секцию `privacy: { anonymization_enabled }` в `besales_behavior_update`. |
|
|
211
|
-
| `
|
|
212
|
+
| `contactNamePersonalizationMode` | `OFF` | Режим безопасного обращения по подтверждённому имени: `OFF`, `SHADOW` или `ENABLED`. Реальное имя остаётся скрытым; модель получает только стабильный semantic token. Ставится через `privacy: { contact_name_personalization_mode }`. |
|
|
213
|
+
| `anonymizationDisabledTypes` | `[]` | OFF-список прочих PII, которые при включённой анонимизации осознанно отдаются модели реальными. Имена/фамилии/отчества выключить нельзя. Значения: `PHONE`/`EMAIL`/`INN`/`PASSPORT`/`CARD`/`DATE_OF_BIRTH`/`ACCOUNT`/`SNILS`/`OGRN`/`OGRNIP`/`SOCIAL_ID`. Ставится через `privacy: { anonymization_disabled_types }`. |
|
|
212
214
|
|
|
213
215
|
## 9. Обработка медиа от пользователя
|
|
214
216
|
|
|
@@ -109,12 +109,16 @@
|
|
|
109
109
|
|
|
110
110
|
Альтернативный механизм автоперехода — на уровне самого статуса: `null` или ID статуса, в который перейти при получении сообщения от пользователя. Может конфликтовать с `PipelineSettings.incomingMoveToStatus` — приоритет за `PipelineSettings`.
|
|
111
111
|
|
|
112
|
-
### `CrmPipelineStatus.isBotActive` и `isOperatorAvailable`
|
|
112
|
+
### `CrmPipelineStatus.isSystemManaged`, `isBotActive` и `isOperatorAvailable`
|
|
113
113
|
|
|
114
|
-
|
|
114
|
+
Эти поля хранятся на статусе и редактируются в Pipeline Builder:
|
|
115
|
+
- `isSystemManaged=false` → master-гейт выключен: статус не управляется системой, а UI считает бота и оператора неактивными независимо от дочерних флагов.
|
|
115
116
|
- `isBotActive=false` → бот молчит на этом этапе.
|
|
116
117
|
- `isOperatorAvailable=false` → оператор не может быть подключён через `CALL_OPERATOR`.
|
|
117
118
|
|
|
119
|
+
Через MCP эти поля меняются в `besales_crm_pipeline_status_update` как
|
|
120
|
+
`is_system_managed`, `is_bot_active` и `is_operator_available`.
|
|
121
|
+
|
|
118
122
|
## 5. PlatformPipeline — связь платформы с воронками
|
|
119
123
|
|
|
120
124
|
Платформа может работать с **несколькими воронками** одной CRM (например, одна для лидов, другая для текущих клиентов):
|
|
@@ -11,6 +11,7 @@ const resourceFilesByUri = {
|
|
|
11
11
|
'besales://concepts/feedback-sheets': 'concepts/feedback-sheets.md',
|
|
12
12
|
'besales://concepts/workbook-classification': 'concepts/workbook-classification.md',
|
|
13
13
|
'besales://workflows/platform-setup-from-scratch': 'workflows/platform-setup-from-scratch.md',
|
|
14
|
+
'besales://workflows/audit-dialogues': 'workflows/audit-dialogues.md',
|
|
14
15
|
'besales://workflows/connect-crm-from-scratch': 'workflows/connect-crm-from-scratch.md',
|
|
15
16
|
'besales://workflows/connect-datasource-from-scratch': 'workflows/connect-datasource-from-scratch.md',
|
|
16
17
|
'besales://workflows/extract-from-document': 'workflows/extract-from-document.md',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/resources/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,OAAO,EAAE,oBAAoB,EAAyB,MAAM,uBAAuB,CAAC;AAMpF,mEAAmE;AACnE,gGAAgG;AAChG,MAAM,kBAAkB,GAAqC;IAC3D,wBAAwB,EAAE,iBAAiB;IAC3C,6BAA6B,EAAE,sBAAsB;IACrD,4BAA4B,EAAE,qBAAqB;IACnD,4BAA4B,EAAE,qBAAqB;IACnD,uCAAuC,EAAE,gCAAgC;IACzE,oCAAoC,EAAE,6BAA6B;IACnE,4CAA4C,EAAE,qCAAqC;IACnF,iDAAiD,EAAE,0CAA0C;IAC7F,8CAA8C,EAAE,uCAAuC;IACvF,qDAAqD,EACnD,8CAA8C;IAChD,2CAA2C,EAAE,oCAAoC;IACjF,0CAA0C,EAAE,mCAAmC;IAC/E,oCAAoC,EAAE,6BAA6B;IACnE,gDAAgD,EAAE,yCAAyC;IAC3F,gGAAgG;IAChG,+BAA+B,EAAE,wBAAwB;IACzD,+BAA+B,EAAE,wBAAwB;IACzD,+BAA+B,EAAE,wBAAwB;IACzD,0BAA0B,EAAE,mBAAmB;IAC/C,gCAAgC,EAAE,yBAAyB;IAC3D,iCAAiC,EAAE,0BAA0B;IAC7D,kCAAkC,EAAE,2BAA2B;IAC/D,uCAAuC,EAAE,gCAAgC;IACzE,oGAAoG;IACpG,kCAAkC,EAAE,2BAA2B;IAC/D,6FAA6F;IAC7F,kGAAkG;IAClG,sCAAsC;IACtC,iCAAiC,EAAE,0BAA0B;IAC7D,+BAA+B,EAAE,wBAAwB;IACzD,sCAAsC,EAAE,+BAA+B;IACvE,mCAAmC,EAAE,4BAA4B;IACjE,+BAA+B,EAAE,wBAAwB;IACzD,gCAAgC,EAAE,yBAAyB;IAC3D,mCAAmC,EAAE,4BAA4B;CAClE,CAAC;AAEF,SAAS,WAAW,CAAC,YAAoB;IACvC,OAAO,IAAI,GAAG,CAAC,KAAK,YAAY,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,cAAc,CAAC,QAA0B;IAChD,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAEtD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,OAAO;QACL,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,KAAK,CAAC,IAAI;YACR,OAAO;gBACL,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,IAAI,EAAE,MAAM,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;aACzD,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAyB,oBAAoB,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/resources/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,OAAO,EAAE,oBAAoB,EAAyB,MAAM,uBAAuB,CAAC;AAMpF,mEAAmE;AACnE,gGAAgG;AAChG,MAAM,kBAAkB,GAAqC;IAC3D,wBAAwB,EAAE,iBAAiB;IAC3C,6BAA6B,EAAE,sBAAsB;IACrD,4BAA4B,EAAE,qBAAqB;IACnD,4BAA4B,EAAE,qBAAqB;IACnD,uCAAuC,EAAE,gCAAgC;IACzE,oCAAoC,EAAE,6BAA6B;IACnE,4CAA4C,EAAE,qCAAqC;IACnF,iDAAiD,EAAE,0CAA0C;IAC7F,qCAAqC,EAAE,8BAA8B;IACrE,8CAA8C,EAAE,uCAAuC;IACvF,qDAAqD,EACnD,8CAA8C;IAChD,2CAA2C,EAAE,oCAAoC;IACjF,0CAA0C,EAAE,mCAAmC;IAC/E,oCAAoC,EAAE,6BAA6B;IACnE,gDAAgD,EAAE,yCAAyC;IAC3F,gGAAgG;IAChG,+BAA+B,EAAE,wBAAwB;IACzD,+BAA+B,EAAE,wBAAwB;IACzD,+BAA+B,EAAE,wBAAwB;IACzD,0BAA0B,EAAE,mBAAmB;IAC/C,gCAAgC,EAAE,yBAAyB;IAC3D,iCAAiC,EAAE,0BAA0B;IAC7D,kCAAkC,EAAE,2BAA2B;IAC/D,uCAAuC,EAAE,gCAAgC;IACzE,oGAAoG;IACpG,kCAAkC,EAAE,2BAA2B;IAC/D,6FAA6F;IAC7F,kGAAkG;IAClG,sCAAsC;IACtC,iCAAiC,EAAE,0BAA0B;IAC7D,+BAA+B,EAAE,wBAAwB;IACzD,sCAAsC,EAAE,+BAA+B;IACvE,mCAAmC,EAAE,4BAA4B;IACjE,+BAA+B,EAAE,wBAAwB;IACzD,gCAAgC,EAAE,yBAAyB;IAC3D,mCAAmC,EAAE,4BAA4B;CAClE,CAAC;AAEF,SAAS,WAAW,CAAC,YAAoB;IACvC,OAAO,IAAI,GAAG,CAAC,KAAK,YAAY,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,cAAc,CAAC,QAA0B;IAChD,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAEtD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,OAAO;QACL,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,KAAK,CAAC,IAAI;YACR,OAAO;gBACL,GAAG,EAAE,QAAQ,CAAC,GAAG;gBACjB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,IAAI,EAAE,MAAM,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;aACzD,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAyB,oBAAoB,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Аудит production-диалогов
|
|
2
|
+
|
|
3
|
+
## Цель
|
|
4
|
+
|
|
5
|
+
Read-only разбор реальных переписок через `besales_dialogues_query` и
|
|
6
|
+
`besales_dialogue_transcript`: найти ошибки агента, доказуемо сопоставить их с
|
|
7
|
+
выполненными trigger-actions и подготовить изменения правил и regression-кейсы.
|
|
8
|
+
Ничего в агенте, CRM или платформе этот workflow не меняет.
|
|
9
|
+
|
|
10
|
+
## Выборка
|
|
11
|
+
|
|
12
|
+
1. Если пользователь не задал период, возьми последние 7 суток и явно укажи это в отчёте.
|
|
13
|
+
2. Для общего аудита фильтруй по периоду, платформам и `has_messages=true`.
|
|
14
|
+
3. Для аудита созданных заявок добавь:
|
|
15
|
+
- `action_type=["GETCOURSE_CREATE_DEAL"]`;
|
|
16
|
+
- `action_success=true`;
|
|
17
|
+
- `action_execution_mode="production"`.
|
|
18
|
+
`GETCOURSE_SEND_PAYMENT_LINK` проверяй отдельной выборкой как коммерческий side effect:
|
|
19
|
+
он может работать с существующим заказом и не доказывает создание новой заявки.
|
|
20
|
+
4. Обойди все страницы `besales_dialogues_query` по `cursor`. Не выдавай первую страницу
|
|
21
|
+
за полную выборку.
|
|
22
|
+
5. Для каждого `conversationId` дочитай все страницы `besales_dialogue_transcript`.
|
|
23
|
+
Объединяй `turns` и `triggerExecutions`; `turn.messageId` связывает реплику с действием.
|
|
24
|
+
|
|
25
|
+
Action-фильтр применяется к действию на сообщении внутри заданного окна дат. Это позволяет
|
|
26
|
+
отличить заявку периода от старого действия в длинном диалоге.
|
|
27
|
+
|
|
28
|
+
## Что считать созданной заявкой
|
|
29
|
+
|
|
30
|
+
- `GETCOURSE_CREATE_DEAL`, `success=true`, `resultSummary.skipped=false` и есть
|
|
31
|
+
`dealNumber` или `dealId` — подтверждённое создание.
|
|
32
|
+
- `executionMode=test` — симуляция, в production-статистику не включать.
|
|
33
|
+
- `resultSummary.skipped=true` — идемпотентный пропуск, новую заявку не считать.
|
|
34
|
+
- Успешное действие без безопасного идентификатора — факт выполнения подтверждён, но создание
|
|
35
|
+
пометь `REVIEW`, не додумывай результат.
|
|
36
|
+
- Сырой result намеренно не доступен. Не пытайся получить его прямым SQL.
|
|
37
|
+
|
|
38
|
+
## Классификация
|
|
39
|
+
|
|
40
|
+
Каждому подтверждённому действию присвой один итог:
|
|
41
|
+
|
|
42
|
+
| Итог | Когда |
|
|
43
|
+
|---|---|
|
|
44
|
+
| `JUSTIFIED` | Новый потенциальный клиент выражает релевантный интерес, готовность обсуждать продукт/условия или просит следующий коммерческий шаг. |
|
|
45
|
+
| `FALSE_POSITIVE` | Действующий/оплативший ученик решает доступ, обучение, материалы, домашнее задание, расписание, возврат или иную поддержку без новой покупки. |
|
|
46
|
+
| `REVIEW` | Контекста недостаточно, намерение смешанное либо действие не подтверждено идентификатором. |
|
|
47
|
+
|
|
48
|
+
Дополнительно поставь тип обращения: `NEW_SALES`, `EXISTING_CUSTOMER_SUPPORT`,
|
|
49
|
+
`ACCESS_PROBLEM`, `TECH_SUPPORT`, `BILLING_SUPPORT`, `OTHER`.
|
|
50
|
+
|
|
51
|
+
## Доказательства
|
|
52
|
+
|
|
53
|
+
- Приведи 1-3 коротких фрагмента клиента с `sentAt` и `messageId`.
|
|
54
|
+
- Укажи trigger name, action type, action time и deal number/id, если они есть.
|
|
55
|
+
- Отделяй наблюдаемый факт от вывода модели.
|
|
56
|
+
- Не выводи телефоны, email, токены и внешние идентификаторы без необходимости.
|
|
57
|
+
- Не утверждай, что оператор написал сообщение: `isAi=false` означает оператор ИЛИ
|
|
58
|
+
историческое сообщение бота.
|
|
59
|
+
|
|
60
|
+
## Масштаб
|
|
61
|
+
|
|
62
|
+
- До 200 диалогов анализируй все.
|
|
63
|
+
- Более 200: если пользователь явно просит весь массив — анализируй весь массив батчами;
|
|
64
|
+
иначе возьми стратифицированную выборку по платформе и trigger name, назови размер выборки
|
|
65
|
+
и не экстраполируй абсолютные числа на всю совокупность.
|
|
66
|
+
|
|
67
|
+
## Формат отчёта
|
|
68
|
+
|
|
69
|
+
1. **Охват:** период, платформы, фильтры, найдено/прочитано/не удалось прочитать.
|
|
70
|
+
2. **Итог:** confirmed actions, justified, false positives, review, false-positive rate.
|
|
71
|
+
3. **Ошибочные заявки:** таблица `conversationId | action | deal | тип | решение | доказательство`.
|
|
72
|
+
4. **Пограничные случаи:** отдельная таблица `REVIEW`.
|
|
73
|
+
5. **Повторяющиеся причины:** паттерны, частота только по фактически разобранной выборке.
|
|
74
|
+
6. **Изменения:** конкретные правила промпта/триггера, но без автоматического применения.
|
|
75
|
+
7. **Regression-кейсы:** входной контекст, ожидаемая реакция агента и запрещённое действие.
|
|
76
|
+
|
|
77
|
+
Нулевой результат тоже фиксируй: какие фильтры применялись и что именно не найдено.
|