@besales/mcp 0.42.0 → 0.45.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/dist/instructions/server-instructions.d.ts +1 -1
- package/dist/instructions/server-instructions.js +5 -2
- package/dist/instructions/server-instructions.js.map +1 -1
- package/dist/schemas/mcp-tools.json +837 -25
- package/dist/tools/definitions/broadcast-analytics.js +5 -2
- package/dist/tools/definitions/broadcast-analytics.js.map +1 -1
- package/dist/tools/definitions/broadcast-mailing-variants.d.ts +2 -0
- package/dist/tools/definitions/broadcast-mailing-variants.js +12 -3
- package/dist/tools/definitions/broadcast-mailing-variants.js.map +1 -1
- package/dist/tools/definitions/broadcast-scheduler.d.ts +69 -0
- package/dist/tools/definitions/broadcast-scheduler.js +258 -0
- package/dist/tools/definitions/broadcast-scheduler.js.map +1 -0
- package/dist/tools/definitions/follow-up-setup.d.ts +6 -0
- package/dist/tools/definitions/follow-up-setup.js +31 -0
- package/dist/tools/definitions/follow-up-setup.js.map +1 -1
- package/dist/tools/definitions/follow-up.d.ts +18 -1
- package/dist/tools/definitions/follow-up.js +78 -5
- package/dist/tools/definitions/follow-up.js.map +1 -1
- package/dist/tools/definitions/getcourse-anchor-refresh.d.ts +30 -0
- package/dist/tools/definitions/getcourse-anchor-refresh.js +95 -0
- package/dist/tools/definitions/getcourse-anchor-refresh.js.map +1 -0
- package/dist/tools/definitions/getcourse-cold-welcome.d.ts +8 -0
- package/dist/tools/definitions/getcourse-cold-welcome.js +42 -4
- package/dist/tools/definitions/getcourse-cold-welcome.js.map +1 -1
- package/dist/tools/definitions/getcourse-wave.d.ts +3 -3
- package/dist/tools/definitions/getcourse-wave.js +5 -5
- package/dist/tools/definitions/getcourse-wave.js.map +1 -1
- package/dist/tools/definitions/platform-setup.d.ts +9 -3
- package/dist/tools/definitions/platform-setup.js +38 -1
- package/dist/tools/definitions/platform-setup.js.map +1 -1
- package/dist/tools/definitions/shared.d.ts +14 -0
- package/dist/tools/definitions/shared.js +11 -0
- package/dist/tools/definitions/shared.js.map +1 -1
- package/dist/tools/definitions.d.ts +96 -3
- package/dist/tools/definitions.js +4 -0
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/registry-mapping-cases-platform.js +29 -0
- package/dist/tools/registry-mapping-cases-platform.js.map +1 -1
- package/dist/tools/trigger-action-config.d.ts +49 -0
- package/dist/tools/trigger-action-config.js +167 -0
- package/dist/tools/trigger-action-config.js.map +1 -0
- package/dist/types/api-contract.gen.d.ts +1289 -164
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
// Read-only данные
|
|
1
|
+
// Read-only данные раздела «Аналитика коммуникации» (/communication-analytics), режим
|
|
2
|
+
// «Исходящие». Не пересчитывать эти показатели по сообщениям:
|
|
2
3
|
// backend уже держит когортную атрибуцию, delivery-гейт и дедуп событий между соседними волнами.
|
|
3
4
|
import { z } from 'zod';
|
|
4
5
|
import { defineTool, uuidSchema, withInstructions } from './shared.js';
|
|
@@ -420,7 +421,7 @@ function reportInstructions(report) {
|
|
|
420
421
|
];
|
|
421
422
|
}
|
|
422
423
|
return [
|
|
423
|
-
'Это authoritative данные
|
|
424
|
+
'Это authoritative данные раздела «Аналитика коммуникации» (/communication-analytics), режим «Исходящие». НЕ пересчитывай статистику рассылок через besales_dialogues_query или транскрипты.',
|
|
424
425
|
'Для «сегодня» используй mode=range, from=to=нужная дата YYYY-MM-DD; даты группируются по МСК.',
|
|
425
426
|
];
|
|
426
427
|
}
|
|
@@ -489,6 +490,8 @@ export const broadcastLaunchTools = [
|
|
|
489
490
|
'История запусков ОБОИХ механизмов: kind=cold_welcome — наша отправка (messageSnapshot = что реально ушло), kind=wave — волна по файлу (текст доставляет процесс школы).',
|
|
490
491
|
'status=failed у cold_welcome означает и обрыв процесса: прогон не финализировал себя. outcomes — разбивка «почему не ушло».',
|
|
491
492
|
'В outcomes чинится оператором: SKIPPED_NO_ANCHOR (нет даты эфира), SKIPPED_TEXT_TOO_LONG (текст длиннее лимита после подстановки), SKIPPED_UNRESOLVED_VARS (переменные текста без значения), SKIPPED_BOT_SILENCED (бот выключен у контакта), SKIPPED_NOT_IN_BASE (контакта нет в базе — сначала импорт файла). Отметка приветствия у них не сгорала — после починки повторный запуск их доберёт.',
|
|
493
|
+
'⚠️⚠️ sentWithoutChannelEvidence — сколько из sentCount ушло ВСЛЕПУЮ: канал взят резервным транспортом площадки, а не доказан привязками контакта или его ответом. Это ПОДМНОЖЕСТВО отправленных, а не отдельный исход: сообщение ушло, повторять его нельзя. Такие контакты с большой вероятностью получили сообщение в личный кабинет сайта, а не в мессенджер, — по outcomes они неотличимы от дошедших. null (а не 0) означает «счётчик не считался»: волна либо запуск до его появления.',
|
|
494
|
+
'⚠️ SKIPPED_ANCHOR_IN_PAST — ИСКЛЮЧЕНИЕ из строки выше: дата эфира у контакта ЕСТЬ и устарела (эфир перенесли). Повторный запуск даст ровно тот же исход, сколько ни запускай: автоматический добор якоря — set-if-absent и к заполненному значению не возвращается. Лечится ТОЛЬКО явным перечитыванием якорей из запинённой сделки (POST /api/chat-users/getcourse-anchor-refresh), после которого контакт доберётся обычным запуском.',
|
|
492
495
|
]),
|
|
493
496
|
}),
|
|
494
497
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast-analytics.js","sourceRoot":"","sources":["../../../src/tools/definitions/broadcast-analytics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"broadcast-analytics.js","sourceRoot":"","sources":["../../../src/tools/definitions/broadcast-analytics.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ export declare const broadcastMailingVariantTools: (import("./shared.js").ToolDe
|
|
|
11
11
|
default_platform_id?: string | null | undefined;
|
|
12
12
|
default_channels?: ("Site" | "Email" | "SMS" | "Telegram" | "Facebook" | "VK" | "Chatium" | "WhatsApp" | "Viber" | "MAX")[] | undefined;
|
|
13
13
|
cold_welcome_channels?: ("Site" | "Email" | "SMS" | "Telegram" | "Facebook" | "VK" | "Chatium" | "WhatsApp" | "Viber" | "MAX")[] | undefined;
|
|
14
|
+
cold_welcome_channels_mode?: "RESTRICT" | "ADD" | undefined;
|
|
14
15
|
default_deal_fields?: Record<string, string | number | boolean | null> | null | undefined;
|
|
15
16
|
workspace_id?: string | undefined;
|
|
16
17
|
description?: string | undefined;
|
|
@@ -26,6 +27,7 @@ export declare const broadcastMailingVariantTools: (import("./shared.js").ToolDe
|
|
|
26
27
|
default_platform_id?: string | null | undefined;
|
|
27
28
|
default_channels?: ("Site" | "Email" | "SMS" | "Telegram" | "Facebook" | "VK" | "Chatium" | "WhatsApp" | "Viber" | "MAX")[] | undefined;
|
|
28
29
|
cold_welcome_channels?: ("Site" | "Email" | "SMS" | "Telegram" | "Facebook" | "VK" | "Chatium" | "WhatsApp" | "Viber" | "MAX")[] | undefined;
|
|
30
|
+
cold_welcome_channels_mode?: "RESTRICT" | "ADD" | undefined;
|
|
29
31
|
default_deal_fields?: Record<string, string | number | boolean | null> | null | undefined;
|
|
30
32
|
workspace_id?: string | undefined;
|
|
31
33
|
name?: string | undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { compactObject, defineTool, getcourseTransportEnum, uuidSchema, withInstructions, } from './shared.js';
|
|
2
|
+
import { compactObject, defineTool, coldWelcomeChannelsModeEnum, getcourseTransportEnum, uuidSchema, withInstructions, } from './shared.js';
|
|
3
3
|
const NAME_MAX_LENGTH = 200;
|
|
4
4
|
const DESCRIPTION_MAX_LENGTH = 4000;
|
|
5
5
|
const MESSAGE_TEXT_MAX_LENGTH = 4000;
|
|
@@ -33,9 +33,16 @@ const variantContentShape = {
|
|
|
33
33
|
// Канонический набор транспортов, а не копия трёх «волновых»: бэкенд принимает весь
|
|
34
34
|
// GetCourseTransport (@IsEnum), и сужение здесь отвергало бы значение, которое API примет.
|
|
35
35
|
default_channels: z.array(getcourseTransportEnum).optional(),
|
|
36
|
-
//
|
|
37
|
-
//
|
|
36
|
+
// Каналы «Первого сообщения»: список значит «слать сюда». Пусто = политики нет, канон
|
|
37
|
+
// контакта решает всё. НЕ путать с волновым default_channels.
|
|
38
|
+
// ⚠️ Судьбу КАЖДОГО канала решает сервер: мессенджер (Telegram/VK/MAX) уходит, только если
|
|
39
|
+
// школа подтвердила его наличие у контакта; SMS — при известном телефоне; Email, WhatsApp,
|
|
40
|
+
// Viber, Сайт, Chatium — вслепую. «Слать ещё и на почту» = добавить Email в список И
|
|
41
|
+
// перечислить мессенджеры явно, иначе уедет только письмо.
|
|
38
42
|
cold_welcome_channels: z.array(getcourseTransportEnum).optional(),
|
|
43
|
+
// ⚠️ УСТАРЕЛО с 23.08.2026 и на поведение НЕ влияет: режим убран, поле принимается ради
|
|
44
|
+
// обратной совместимости и игнорируется сервером.
|
|
45
|
+
cold_welcome_channels_mode: coldWelcomeChannelsModeEnum.optional(),
|
|
39
46
|
default_deal_fields: z
|
|
40
47
|
.union([
|
|
41
48
|
z.record(z.string().regex(/^\d+$/, 'Ключ default_deal_fields обязан быть числовым fieldId GetCourse'), z.union([z.string(), z.number(), z.boolean(), z.null()])),
|
|
@@ -52,6 +59,7 @@ const variantContentBody = (input) => ({
|
|
|
52
59
|
defaultPlatformId: input.default_platform_id,
|
|
53
60
|
defaultChannels: input.default_channels,
|
|
54
61
|
coldWelcomeChannels: input.cold_welcome_channels,
|
|
62
|
+
coldWelcomeChannelsMode: input.cold_welcome_channels_mode,
|
|
55
63
|
defaultDealFields: input.default_deal_fields,
|
|
56
64
|
});
|
|
57
65
|
export const broadcastMailingVariantTools = [
|
|
@@ -128,6 +136,7 @@ export const broadcastMailingVariantTools = [
|
|
|
128
136
|
input.default_platform_id !== undefined ||
|
|
129
137
|
input.default_channels !== undefined ||
|
|
130
138
|
input.cold_welcome_channels !== undefined ||
|
|
139
|
+
input.cold_welcome_channels_mode !== undefined ||
|
|
131
140
|
input.default_deal_fields !== undefined, {
|
|
132
141
|
message: 'Передай хотя бы одно поле для изменения',
|
|
133
142
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast-mailing-variants.js","sourceRoot":"","sources":["../../../src/tools/definitions/broadcast-mailing-variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,aAAa,EACb,UAAU,EACV,sBAAsB,EACtB,UAAU,EACV,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,MAAM,sBAAsB,GAAG,IAAI,CAAC;AACpC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AACrC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,+DAA+D;AAC/D,MAAM,mCAAmC,GAAG,EAAE,CAAC;AAE/C;;;;GAIG;AACH,MAAM,mBAAmB,GAAG;IAC1B,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrF,gGAAgG;IAChG,gGAAgG;IAChG,+BAA+B;IAC/B,uBAAuB,EAAE,CAAC;SACvB,KAAK,CAAC;QACL,CAAC;aACE,MAAM,CACL,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAC9C,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC,CACtD;aACA,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,mCAAmC,EAAE;YAC/E,OAAO,EAAE,aAAa,mCAAmC,sCAAsC;SAChG,CAAC;QACJ,CAAC,CAAC,IAAI,EAAE;KACT,CAAC;SACD,QAAQ,EAAE;IACb,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjF,oBAAoB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtF,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChF,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtE,oFAAoF;IACpF,2FAA2F;IAC3F,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE;IAC5D,
|
|
1
|
+
{"version":3,"file":"broadcast-mailing-variants.js","sourceRoot":"","sources":["../../../src/tools/definitions/broadcast-mailing-variants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Планировщик рассылок: сегмент-правило × расписание, отбор идёт кроном.
|
|
3
|
+
*
|
|
4
|
+
* ⚠️⚠️ Расписание отправляет ЖИВЫМ ЛЮДЯМ без участия человека в момент отправки. Поэтому
|
|
5
|
+
* создание всегда даёт выключенное расписание, а включение — отдельное действие после
|
|
6
|
+
* предпросмотра.
|
|
7
|
+
*/
|
|
8
|
+
export declare const broadcastSchedulerTools: (import("./shared.js").ToolDefinition<{
|
|
9
|
+
workspace_id?: string | undefined;
|
|
10
|
+
}> | import("./shared.js").ToolDefinition<{
|
|
11
|
+
segment_id: string;
|
|
12
|
+
mailing_variant_id: string;
|
|
13
|
+
platform_id: string;
|
|
14
|
+
mechanism: "cold_welcome";
|
|
15
|
+
freshness_days: number;
|
|
16
|
+
time_local: string;
|
|
17
|
+
daily_cap: number;
|
|
18
|
+
selection_order: "FRESH_FIRST" | "OLD_FIRST";
|
|
19
|
+
cooldown_days: number;
|
|
20
|
+
workspace_id?: string | undefined;
|
|
21
|
+
funnels?: string[] | "all" | undefined;
|
|
22
|
+
product_codes?: string[] | "all" | undefined;
|
|
23
|
+
days_of_week?: number[] | undefined;
|
|
24
|
+
channels?: ("Site" | "Email" | "SMS" | "Telegram" | "Facebook" | "VK" | "Chatium" | "WhatsApp" | "Viber" | "MAX")[] | undefined;
|
|
25
|
+
channels_mode?: "RESTRICT" | "ADD" | undefined;
|
|
26
|
+
is_enabled?: boolean | undefined;
|
|
27
|
+
}> | import("./shared.js").ToolDefinition<{
|
|
28
|
+
segment_id: string;
|
|
29
|
+
mailing_variant_id: string;
|
|
30
|
+
platform_id: string;
|
|
31
|
+
mechanism: "cold_welcome";
|
|
32
|
+
freshness_days: number;
|
|
33
|
+
time_local: string;
|
|
34
|
+
daily_cap: number;
|
|
35
|
+
selection_order: "FRESH_FIRST" | "OLD_FIRST";
|
|
36
|
+
cooldown_days: number;
|
|
37
|
+
schedule_id?: string | undefined;
|
|
38
|
+
workspace_id?: string | undefined;
|
|
39
|
+
funnels?: string[] | "all" | undefined;
|
|
40
|
+
product_codes?: string[] | "all" | undefined;
|
|
41
|
+
days_of_week?: number[] | undefined;
|
|
42
|
+
channels?: ("Site" | "Email" | "SMS" | "Telegram" | "Facebook" | "VK" | "Chatium" | "WhatsApp" | "Viber" | "MAX")[] | undefined;
|
|
43
|
+
channels_mode?: "RESTRICT" | "ADD" | undefined;
|
|
44
|
+
is_enabled?: boolean | undefined;
|
|
45
|
+
}> | import("./shared.js").ToolDefinition<{
|
|
46
|
+
schedule_id: string;
|
|
47
|
+
explicit_confirmation: true;
|
|
48
|
+
workspace_id?: string | undefined;
|
|
49
|
+
}> | import("./shared.js").ToolDefinition<{
|
|
50
|
+
schedule_id: string;
|
|
51
|
+
workspace_id?: string | undefined;
|
|
52
|
+
limit?: number | undefined;
|
|
53
|
+
}> | import("./shared.js").ToolDefinition<{
|
|
54
|
+
segment_id: string;
|
|
55
|
+
facets: {
|
|
56
|
+
application: "CANCELLED" | "ANY" | "NONE";
|
|
57
|
+
payment: "ANY" | "NOT_IN_FUNNEL" | "NOT_ANYWHERE";
|
|
58
|
+
attended?: "ANY" | "YES" | "NO" | undefined;
|
|
59
|
+
activeSecondsMin?: number | undefined;
|
|
60
|
+
activeSecondsMax?: number | undefined;
|
|
61
|
+
webinarDayMin?: number | undefined;
|
|
62
|
+
webinarDayMax?: number | undefined;
|
|
63
|
+
bannerClick?: "ANY" | "YES" | "NO" | undefined;
|
|
64
|
+
};
|
|
65
|
+
freshness_anchor: "SERIES_END" | "SERIES_END_PLUS_WAIT" | "LAST_APPLICATION" | "REGISTRATION";
|
|
66
|
+
workspace_id?: string | undefined;
|
|
67
|
+
wait_after_series_end_hours?: number | undefined;
|
|
68
|
+
priority?: number | undefined;
|
|
69
|
+
}>)[];
|
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { compactObject, defineTool, getcourseTransportEnum, uuidSchema, withInstructions, } from './shared.js';
|
|
3
|
+
/** Границы — паритет с DTO бэкенда: расхождение даёт 400 уже после подтверждения оператором. */
|
|
4
|
+
const DAILY_CAP_MAX = 5000;
|
|
5
|
+
/**
|
|
6
|
+
* ⚠️⚠️ 78, а не 365. Бэкенд выводит потолок из потолка источника фактов
|
|
7
|
+
* (92 дня окна минус 14 дней добавки на созревание серии), и значение 79…365 проходило zod,
|
|
8
|
+
* а падало 400 уже ПОСЛЕ того, как оператор подтвердил расписание.
|
|
9
|
+
*/
|
|
10
|
+
const FRESHNESS_DAYS_MAX = 78;
|
|
11
|
+
const COOLDOWN_DAYS_MAX = 365;
|
|
12
|
+
const WAIT_HOURS_MAX = 720;
|
|
13
|
+
const orderSchema = z.enum(['FRESH_FIRST', 'OLD_FIRST']);
|
|
14
|
+
const anchorSchema = z.enum([
|
|
15
|
+
'SERIES_END',
|
|
16
|
+
'SERIES_END_PLUS_WAIT',
|
|
17
|
+
'LAST_APPLICATION',
|
|
18
|
+
'REGISTRATION',
|
|
19
|
+
]);
|
|
20
|
+
/**
|
|
21
|
+
* Тело расписания. `funnels`/`product_codes` принимают литерал `all` — обычный пользователь
|
|
22
|
+
* говорит «шли по всем воронкам», и заставлять его перечислять их руками незачем.
|
|
23
|
+
*/
|
|
24
|
+
const scheduleShape = {
|
|
25
|
+
workspace_id: uuidSchema.optional(),
|
|
26
|
+
segment_id: uuidSchema,
|
|
27
|
+
mailing_variant_id: uuidSchema,
|
|
28
|
+
platform_id: uuidSchema,
|
|
29
|
+
mechanism: z.literal('cold_welcome'),
|
|
30
|
+
funnels: z.union([z.literal('all'), z.array(z.string().trim().min(1).max(64)).max(100)]).optional(),
|
|
31
|
+
product_codes: z
|
|
32
|
+
.union([z.literal('all'), z.array(z.string().trim().min(1).max(64)).max(50)])
|
|
33
|
+
.optional(),
|
|
34
|
+
freshness_days: z.number().int().min(1).max(FRESHNESS_DAYS_MAX),
|
|
35
|
+
time_local: z
|
|
36
|
+
.string()
|
|
37
|
+
.regex(/^([01]\d|2[0-3]):([0-5]\d)$/, 'time_local: формат HH:mm в таймзоне площадки'),
|
|
38
|
+
days_of_week: z.array(z.number().int().min(1).max(7)).max(7).optional(),
|
|
39
|
+
daily_cap: z.number().int().min(1).max(DAILY_CAP_MAX),
|
|
40
|
+
selection_order: orderSchema,
|
|
41
|
+
cooldown_days: z.number().int().min(0).max(COOLDOWN_DAYS_MAX),
|
|
42
|
+
channels: z
|
|
43
|
+
// ⚠️ Канон транспортов, а не свободная строка: иначе про допустимые значения модель узнаёт
|
|
44
|
+
// из 400-й ошибки. Ровно этот дефект уже закрыт parity-тестом контракта для соседних тулов.
|
|
45
|
+
.array(getcourseTransportEnum)
|
|
46
|
+
.max(20)
|
|
47
|
+
.optional()
|
|
48
|
+
.describe('Каналы «Первого сообщения» (GetCourseTransport). Пусто или ключ не передан — дефолт рассылки. Канал вне списка площадки отвергается: школа не сужает набор, а отвергает его ЦЕЛИКОМ.'),
|
|
49
|
+
channels_mode: z
|
|
50
|
+
.enum(['RESTRICT', 'ADD'])
|
|
51
|
+
.optional()
|
|
52
|
+
.describe(`⚠️ УСТАРЕЛ и на поведение НЕ влияет (с 23.08.2026). Список channels значит «слать сюда», судьбу КАЖДОГО канала решает сервер: мессенджер уходит, только если школа подтвердила его наличие; SMS — только при известном телефоне; Email, WhatsApp, Viber, Сайт, Chatium — вслепую. Поле принимается ради обратной совместимости и игнорируется.`),
|
|
53
|
+
is_enabled: z.boolean().optional(),
|
|
54
|
+
};
|
|
55
|
+
/** `all` — это «фильтра нет», то есть ПУСТОЙ список на стороне API. */
|
|
56
|
+
const toList = (value) => {
|
|
57
|
+
if (value === undefined)
|
|
58
|
+
return undefined;
|
|
59
|
+
return value === 'all' ? [] : value;
|
|
60
|
+
};
|
|
61
|
+
const toScheduleBody = (input) => compactObject({
|
|
62
|
+
segmentId: input.segment_id,
|
|
63
|
+
mailingVariantId: input.mailing_variant_id,
|
|
64
|
+
platformId: input.platform_id,
|
|
65
|
+
mechanism: input.mechanism,
|
|
66
|
+
funnels: toList(input.funnels),
|
|
67
|
+
productCodes: toList(input.product_codes),
|
|
68
|
+
freshnessDays: input.freshness_days,
|
|
69
|
+
timeLocal: input.time_local,
|
|
70
|
+
daysOfWeek: input.days_of_week,
|
|
71
|
+
dailyCap: input.daily_cap,
|
|
72
|
+
selectionOrder: input.selection_order,
|
|
73
|
+
cooldownDays: input.cooldown_days,
|
|
74
|
+
channels: input.channels,
|
|
75
|
+
// ⚠️ Режим передаётся ТОЛЬКО если его задал вызывающий: сам он на поведение не влияет, но
|
|
76
|
+
// подставлять сюда `RESTRICT` значит записать в строку расписания решение, которого никто
|
|
77
|
+
// не принимал, — а прочитано оно будет как действующая настройка.
|
|
78
|
+
channelsMode: input.channels_mode,
|
|
79
|
+
isEnabled: input.is_enabled,
|
|
80
|
+
});
|
|
81
|
+
/**
|
|
82
|
+
* Планировщик рассылок: сегмент-правило × расписание, отбор идёт кроном.
|
|
83
|
+
*
|
|
84
|
+
* ⚠️⚠️ Расписание отправляет ЖИВЫМ ЛЮДЯМ без участия человека в момент отправки. Поэтому
|
|
85
|
+
* создание всегда даёт выключенное расписание, а включение — отдельное действие после
|
|
86
|
+
* предпросмотра.
|
|
87
|
+
*/
|
|
88
|
+
export const broadcastSchedulerTools = [
|
|
89
|
+
defineTool({
|
|
90
|
+
name: 'besales_broadcast_schedule_list',
|
|
91
|
+
requiredFields: [],
|
|
92
|
+
defaultWorkspaceId: true,
|
|
93
|
+
schema: z.object({ workspace_id: uuidSchema.optional() }).strict(),
|
|
94
|
+
createRequest: (input) => ({
|
|
95
|
+
method: 'GET',
|
|
96
|
+
path: `/workspaces/${input.workspace_id}/broadcast-schedules`,
|
|
97
|
+
}),
|
|
98
|
+
enhanceResponse: (response) => withInstructions(response, [
|
|
99
|
+
'isEnabled=false означает, что расписание заведено, но крон его не берёт. Это нормальное состояние сразу после создания.',
|
|
100
|
+
'Смотри на segment.priority: при пересечении сегментов побеждает больший — это и решает, какой текст получит человек, попавший под два правила.',
|
|
101
|
+
]),
|
|
102
|
+
}),
|
|
103
|
+
defineTool({
|
|
104
|
+
name: 'besales_broadcast_schedule_preview',
|
|
105
|
+
requiredFields: [
|
|
106
|
+
'segment_id',
|
|
107
|
+
'mailing_variant_id',
|
|
108
|
+
'platform_id',
|
|
109
|
+
'mechanism',
|
|
110
|
+
'freshness_days',
|
|
111
|
+
'time_local',
|
|
112
|
+
'daily_cap',
|
|
113
|
+
'selection_order',
|
|
114
|
+
'cooldown_days',
|
|
115
|
+
],
|
|
116
|
+
defaultWorkspaceId: true,
|
|
117
|
+
schema: z.object(scheduleShape).strict(),
|
|
118
|
+
createRequest: (input) => ({
|
|
119
|
+
method: 'POST',
|
|
120
|
+
path: `/workspaces/${input.workspace_id}/broadcast-schedules/preview`,
|
|
121
|
+
body: toScheduleBody(input),
|
|
122
|
+
}),
|
|
123
|
+
enhanceResponse: (response) => withInstructions(response, [
|
|
124
|
+
'Ничего не отправляет и не пишет: считает ТЕМ ЖЕ путём, что и крон — тот же источник фактов, тот же компилятор правила, те же исключения.',
|
|
125
|
+
'⚠️ Показывай пользователю excludedBy числами. alreadySentSegment — этим сегментом уже слали; coldWelcomeClaimed — одноразовое приветствие сожжено (механизм cold_welcome такого не повторит); journal — контакт подавался этим расписанием и ждёт паузы; cooldown — получал любую нашу рассылку в окне.',
|
|
126
|
+
'⚠️ unverifiable — «нечем проверить», а НЕ «не подходит»: нет назначения серии, серия ещё идёт, нет длительности просмотра. Эти люди в рассылку не идут, и это правильно: отсутствие данных о явке не равно отсутствию человека на эфире.',
|
|
127
|
+
'factsAsOf — момент, на который источник считает данные полными. Сильно устаревшее значение означает, что аналитика отстаёт и «не пришедшие» могут быть ложными.',
|
|
128
|
+
'⚠️⚠️ overlaps — контакты, которых за последнюю неделю подавали ДРУГИЕ расписания. Непустой список означает, что человек рискует получить несколько сообщений: разведи расписания кулдауном или приоритетом сегментов, прежде чем включать.',
|
|
129
|
+
'byProduct показывает, как отбор разложится по продуктам — крон нарежет подачу этими же блоками.',
|
|
130
|
+
]),
|
|
131
|
+
}),
|
|
132
|
+
defineTool({
|
|
133
|
+
name: 'besales_broadcast_schedule_upsert',
|
|
134
|
+
requiredFields: [
|
|
135
|
+
'segment_id',
|
|
136
|
+
'mailing_variant_id',
|
|
137
|
+
'platform_id',
|
|
138
|
+
'mechanism',
|
|
139
|
+
'freshness_days',
|
|
140
|
+
'time_local',
|
|
141
|
+
'daily_cap',
|
|
142
|
+
'selection_order',
|
|
143
|
+
'cooldown_days',
|
|
144
|
+
],
|
|
145
|
+
defaultWorkspaceId: true,
|
|
146
|
+
schema: z.object({ ...scheduleShape, schedule_id: uuidSchema.optional() }).strict(),
|
|
147
|
+
createRequest: (input) => input.schedule_id
|
|
148
|
+
? {
|
|
149
|
+
method: 'PUT',
|
|
150
|
+
path: `/workspaces/${input.workspace_id}/broadcast-schedules/${input.schedule_id}`,
|
|
151
|
+
body: toScheduleBody(input),
|
|
152
|
+
}
|
|
153
|
+
: {
|
|
154
|
+
method: 'POST',
|
|
155
|
+
path: `/workspaces/${input.workspace_id}/broadcast-schedules`,
|
|
156
|
+
body: toScheduleBody(input),
|
|
157
|
+
},
|
|
158
|
+
enhanceResponse: (response) => withInstructions(response, [
|
|
159
|
+
'⚠️ Создавай расписание ПОСЛЕ предпросмотра и без is_enabled=true: включённое расписание начнёт слать живым людям на ближайшем тике крона (каждые 5 минут).',
|
|
160
|
+
'time_local — в таймзоне ПЛОЩАДКИ, не в UTC и не в твоей. Сутки расписания тоже считаются по ней.',
|
|
161
|
+
'daily_cap — потолок ОТОБРАННЫХ за прогон, а не доставленных: часть отсеется гейтами отправки уже внутри пакета. Историческую разницу смотри в besales_broadcast_schedule_runs.',
|
|
162
|
+
'Пустые funnels/product_codes (или "all") означают «без фильтра», а не «ничего»: это правило пустого списка во всей платформе.',
|
|
163
|
+
'Механизм пока только cold_welcome: у волны свой контракт запуска, и планировщик не притворяется, что умеет её ставить в расписание.',
|
|
164
|
+
]),
|
|
165
|
+
}),
|
|
166
|
+
defineTool({
|
|
167
|
+
name: 'besales_broadcast_schedule_delete',
|
|
168
|
+
requiredFields: ['schedule_id', 'explicit_confirmation'],
|
|
169
|
+
defaultWorkspaceId: true,
|
|
170
|
+
schema: z
|
|
171
|
+
.object({
|
|
172
|
+
workspace_id: uuidSchema.optional(),
|
|
173
|
+
schedule_id: uuidSchema,
|
|
174
|
+
explicit_confirmation: z.literal(true),
|
|
175
|
+
})
|
|
176
|
+
.strict(),
|
|
177
|
+
createRequest: (input) => ({
|
|
178
|
+
method: 'DELETE',
|
|
179
|
+
path: `/workspaces/${input.workspace_id}/broadcast-schedules/${input.schedule_id}`,
|
|
180
|
+
}),
|
|
181
|
+
enhanceResponse: (response) => withInstructions(response, [
|
|
182
|
+
'Удаление уносит и историю прогонов расписания. Журнал подач исчезнет вместе с ней — а он держит информацию «кому мы уже подавали»: после удаления те же контакты снова станут кандидатами для нового расписания с тем же сегментом.',
|
|
183
|
+
'Если нужно просто остановить рассылку — не удаляй, а сохрани расписание с is_enabled=false.',
|
|
184
|
+
]),
|
|
185
|
+
}),
|
|
186
|
+
defineTool({
|
|
187
|
+
name: 'besales_broadcast_schedule_runs',
|
|
188
|
+
requiredFields: ['schedule_id'],
|
|
189
|
+
defaultWorkspaceId: true,
|
|
190
|
+
schema: z
|
|
191
|
+
.object({
|
|
192
|
+
workspace_id: uuidSchema.optional(),
|
|
193
|
+
schedule_id: uuidSchema,
|
|
194
|
+
limit: z.number().int().min(1).max(100).optional(),
|
|
195
|
+
})
|
|
196
|
+
.strict(),
|
|
197
|
+
createRequest: (input) => ({
|
|
198
|
+
method: 'GET',
|
|
199
|
+
path: `/workspaces/${input.workspace_id}/broadcast-schedules/${input.schedule_id}/runs`,
|
|
200
|
+
query: compactObject({ limit: input.limit }),
|
|
201
|
+
}),
|
|
202
|
+
enhanceResponse: (response) => withInstructions(response, [
|
|
203
|
+
'periodBucket — локальная ДАТА площадки: один прогон на сутки, повтор в тот же день невозможен.',
|
|
204
|
+
'⚠️ Статусы различают ПРИЧИНЫ, и чинятся они разным: DONE — пакет завершился; WAITING_RESOURCE — воркспейс был занят другим импортом, период НЕ сгорел и повторится следующим тиком; SKIPPED — правило отбора не дало кандидатов (смотри excludedBy); FAILED — упал запуск пакета; RUNNING — пакет ещё идёт.',
|
|
205
|
+
'⚠️ selectedCount — сколько ОТОБРАНО, launchedCount — сколько фактически доставлено. Расхождение нормально: часть отсеивают гейты отправки внутри пакета. Не называй selectedCount «отправлено».',
|
|
206
|
+
'attempts растёт на каждом WAITING_RESOURCE: большое число означает, что воркспейс постоянно занят и расписание стоит передвинуть по времени.',
|
|
207
|
+
]),
|
|
208
|
+
}),
|
|
209
|
+
defineTool({
|
|
210
|
+
name: 'besales_broadcast_segment_rule_set',
|
|
211
|
+
requiredFields: ['segment_id', 'facets', 'freshness_anchor'],
|
|
212
|
+
defaultWorkspaceId: true,
|
|
213
|
+
schema: z
|
|
214
|
+
.object({
|
|
215
|
+
workspace_id: uuidSchema.optional(),
|
|
216
|
+
segment_id: uuidSchema,
|
|
217
|
+
facets: z
|
|
218
|
+
.object({
|
|
219
|
+
attended: z.enum(['YES', 'NO', 'ANY']).optional(),
|
|
220
|
+
activeSecondsMin: z.number().int().min(0).optional(),
|
|
221
|
+
activeSecondsMax: z.number().int().min(0).optional(),
|
|
222
|
+
webinarDayMin: z.number().int().min(0).optional(),
|
|
223
|
+
webinarDayMax: z.number().int().min(0).optional(),
|
|
224
|
+
bannerClick: z.enum(['YES', 'NO', 'ANY']).optional(),
|
|
225
|
+
// ⚠️⚠️ ОБЯЗАТЕЛЬНЫ на сервере (`SEGMENT_FACETS_REQUIRED_GUARDS`): необязательное
|
|
226
|
+
// поле с дефолтом «неважно» делало законным правило целиком из умолчаний, а такое
|
|
227
|
+
// правило матчит КАЖДОГО в окне — рассылка ушла бы и людям с живой заявкой у
|
|
228
|
+
// менеджера, и уже заплатившим. `ANY` допустим, но выбирается ЯВНО.
|
|
229
|
+
application: z.enum(['NONE', 'CANCELLED', 'ANY']),
|
|
230
|
+
payment: z.enum(['NOT_IN_FUNNEL', 'NOT_ANYWHERE', 'ANY']),
|
|
231
|
+
})
|
|
232
|
+
.strict(),
|
|
233
|
+
freshness_anchor: anchorSchema,
|
|
234
|
+
wait_after_series_end_hours: z.number().int().min(0).max(WAIT_HOURS_MAX).optional(),
|
|
235
|
+
priority: z.number().int().min(-1000).max(1000).optional(),
|
|
236
|
+
})
|
|
237
|
+
.strict(),
|
|
238
|
+
createRequest: (input) => ({
|
|
239
|
+
method: 'PUT',
|
|
240
|
+
path: `/workspaces/${input.workspace_id}/broadcast-schedules/segments/${input.segment_id}/rule`,
|
|
241
|
+
body: compactObject({
|
|
242
|
+
facets: input.facets,
|
|
243
|
+
freshnessAnchor: input.freshness_anchor,
|
|
244
|
+
waitAfterSeriesEndHours: input.wait_after_series_end_hours,
|
|
245
|
+
priority: input.priority,
|
|
246
|
+
}),
|
|
247
|
+
}),
|
|
248
|
+
enhanceResponse: (response) => withInstructions(response, [
|
|
249
|
+
'⚠️⚠️ 409 означает, что сегментом УЖЕ отправляли и правило заморожено. Это не ошибка доступа: строки отчётов уже несут это имя, и правка правила задним числом сделала бы разрез несопоставимым сам с собой. Заведи НОВЫЙ сегмент.',
|
|
250
|
+
'attended=NO проходит только достоверный «не пришёл». Человек, про которого данных нет (серия ещё идёт, назначения нет), в сегмент НЕ попадает — и это защита: отсутствие данных о явке не равно отсутствию человека на эфире.',
|
|
251
|
+
'Секунды, а не минуты: «от 120 минут» — это activeSecondsMin=7200. Контакт без известной длительности порог не проходит.',
|
|
252
|
+
'wait_after_series_end_hours — сколько ждать после эфира, прежде чем считать отсутствие явки доказанным. Меньше ждём — свежее касание и больше ошибок; дольше — наоборот. Разумный дефолт 48.',
|
|
253
|
+
'application=CANCELLED требует отменённой заявки И отсутствия живой: с человеком, у которого заявка в работе, разговаривает менеджер.',
|
|
254
|
+
'payment=NOT_ANYWHERE исключает всех, кто когда-либо успешно платил — включая тех, кому потом сделали возврат: он действительно платил.',
|
|
255
|
+
]),
|
|
256
|
+
}),
|
|
257
|
+
];
|
|
258
|
+
//# sourceMappingURL=broadcast-scheduler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"broadcast-scheduler.js","sourceRoot":"","sources":["../../../src/tools/definitions/broadcast-scheduler.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,4 +24,10 @@ export declare const followUpSetupTools: (import("./shared.js").ToolDefinition<{
|
|
|
24
24
|
platform_id: string;
|
|
25
25
|
sequence_id: string;
|
|
26
26
|
name?: string | undefined;
|
|
27
|
+
}> | import("./shared.js").ToolDefinition<{
|
|
28
|
+
platform_id: string;
|
|
29
|
+
sequence_id: string;
|
|
30
|
+
step_index: number;
|
|
31
|
+
content: string;
|
|
32
|
+
expected_content: string;
|
|
27
33
|
}>)[];
|
|
@@ -72,5 +72,36 @@ export const followUpSetupTools = [
|
|
|
72
72
|
'Копия остаётся на ТОЙ ЖЕ платформе. Для переноса на другую платформу используй besales_platform_clone_* — конфиг ссылается на статусы CRM, агентов, файлы и переменные этой платформы.',
|
|
73
73
|
]),
|
|
74
74
|
}),
|
|
75
|
+
defineTool({
|
|
76
|
+
name: 'besales_followup_step_message_set',
|
|
77
|
+
requiredFields: ['platform_id', 'sequence_id', 'step_index', 'content', 'expected_content'],
|
|
78
|
+
schema: z
|
|
79
|
+
.object({
|
|
80
|
+
platform_id: uuidSchema,
|
|
81
|
+
sequence_id: uuidSchema,
|
|
82
|
+
// Позиция шага в config.steps, с нуля — ровно тот индекс, под которым шаг пришёл в
|
|
83
|
+
// besales_followup_sequence_list.
|
|
84
|
+
step_index: z.number().int().min(0),
|
|
85
|
+
// Новый текст. Пустая строка запрещена: шаг без текста рантайм не отправит.
|
|
86
|
+
content: z.string().min(1),
|
|
87
|
+
// Текущий текст шага, каким его видел вызывающий. Пустая строка допустима — у шага из
|
|
88
|
+
// одних вложений content законно отсутствует.
|
|
89
|
+
expected_content: z.string(),
|
|
90
|
+
})
|
|
91
|
+
.strict(),
|
|
92
|
+
createRequest: (input) => ({
|
|
93
|
+
method: 'PATCH',
|
|
94
|
+
path: `/platforms/${input.platform_id}/follow-up/sequences/${input.sequence_id}/steps/${input.step_index}/message`,
|
|
95
|
+
body: { content: input.content, expectedContent: input.expected_content },
|
|
96
|
+
}),
|
|
97
|
+
enhanceResponse: (response) => withInstructions(response, [
|
|
98
|
+
'Меняет ТОЛЬКО текст одного шага. Остальные шаги, описание цепочки, время, условия и каналы не затрагиваются — в отличие от besales_followup_sequence_upsert, который заменяет config целиком.',
|
|
99
|
+
'expected_content обязателен и берётся из свежего besales_followup_sequence_list: шаг адресуется ПОЗИЦИЕЙ, а позиция сдвигается вставкой нового шага. Не совпал — 409 с фактическим текстом, и это значит, что цепочку двигали: перечитай конфиг, найди нужный шаг заново.',
|
|
100
|
+
'409 приходит и когда цепочку изменили между твоим чтением и записью. Повторять вслепую нельзя — сначала перечитать.',
|
|
101
|
+
'Ссылки {{link:слаг}} проверяются по каталогу воркспейса: незаведённый или архивный слаг — 400. Иначе человек получил бы текст вообще без ссылки, потому что страховка вырезает нераскрытый маркер.',
|
|
102
|
+
'Шаг-вебхук и шаблонный шаг отвергаются: текста, который уйдёт человеку, у них нет. У динамического шага правка проходит, но в ответе будет warnings — обычную отправку там генерирует LLM.',
|
|
103
|
+
'Правка применяется к ЖИВОЙ цепочке немедленно: ближайшее касание уйдёт уже новым текстом. Прогресс контактов и история отправок не затрагиваются.',
|
|
104
|
+
]),
|
|
105
|
+
}),
|
|
75
106
|
];
|
|
76
107
|
//# sourceMappingURL=follow-up-setup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"follow-up-setup.js","sourceRoot":"","sources":["../../../src/tools/definitions/follow-up-setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACL,eAAe,EACf,aAAa,EACb,UAAU,EACV,0BAA0B,EAC1B,qBAAqB,EACrB,+BAA+B,EAC/B,iBAAiB,EACjB,UAAU,EACV,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB;;;GAGG;AACH,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAEtC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,UAAU,CAAC;QACT,IAAI,EAAE,kCAAkC;QACxC,cAAc,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;QACpE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;YACf,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,UAAU,CAAC,QAAQ,EAAE;YAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;YAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;YAC7C,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC/B,OAAO,EAAE,qBAAqB;YAC9B,MAAM,EAAE,eAAe;YACvB,GAAG,+BAA+B;SACnC,CAAC;aACC,WAAW,CAAC,oBAAoB,CAAC;QACpC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACzB,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YAC5C,IAAI,EAAE,KAAK,CAAC,WAAW;gBACrB,CAAC,CAAC,cAAc,KAAK,CAAC,WAAW,wBAAwB,KAAK,CAAC,WAAW,EAAE;gBAC5E,CAAC,CAAC,cAAc,KAAK,CAAC,WAAW,sBAAsB;YACzD,IAAI,EAAE,aAAa,CAAC;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,GAAG,iBAAiB,CAAC,KAAK,CAAC;aAC5B,CAAC;SACH,CAAC;KACH,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,iCAAiC;QACvC,cAAc,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC;QAC9C,MAAM,EAAE,CAAC;aACN,MAAM,CAAC;YACN,WAAW,EAAE,UAAU;YACvB,4FAA4F;YAC5F,WAAW,EAAE,UAAU;YACvB,2EAA2E;YAC3E,0FAA0F;YAC1F,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,QAAQ,EAAE;SAC3D,CAAC;aACD,MAAM,EAAE;QACX,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACzB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,cAAc,KAAK,CAAC,WAAW,wBAAwB,KAAK,CAAC,WAAW,QAAQ;YACtF,IAAI,EAAE,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;SAC1C,CAAC;QACF,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC5B,gBAAgB,CAAC,QAAQ,EAAE;YACzB,qMAAqM;YACrM,0KAA0K;YAC1K,kNAAkN;YAClN,wLAAwL;SACzL,CAAC;KACL,CAAC;CACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"follow-up-setup.js","sourceRoot":"","sources":["../../../src/tools/definitions/follow-up-setup.ts"],"names":[],"mappings":"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"}
|