@besales/mcp 0.40.0 → 0.41.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/README.md +54 -9
- package/dist/auth/oauth-client.d.ts +31 -1
- package/dist/auth/oauth-client.js +37 -2
- package/dist/auth/oauth-client.js.map +1 -1
- package/dist/cli.js +13 -1
- package/dist/cli.js.map +1 -1
- package/dist/instructions/server-instructions.d.ts +1 -1
- package/dist/instructions/server-instructions.js +4 -0
- package/dist/instructions/server-instructions.js.map +1 -1
- package/dist/schemas/mcp-tools.json +222 -7
- package/dist/tools/definitions/agent-design.d.ts +7 -7
- package/dist/tools/definitions/broadcast-analytics.d.ts +3 -3
- package/dist/tools/definitions/broadcast-analytics.js +1 -0
- 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 +5 -0
- package/dist/tools/definitions/broadcast-mailing-variants.js.map +1 -1
- package/dist/tools/definitions/follow-up-funnel-test.d.ts +19 -0
- package/dist/tools/definitions/follow-up-funnel-test.js +141 -0
- package/dist/tools/definitions/follow-up-funnel-test.js.map +1 -0
- package/dist/tools/definitions/follow-up.d.ts +2 -2
- package/dist/tools/definitions/getcourse-cold-welcome.d.ts +4 -0
- package/dist/tools/definitions/getcourse-cold-welcome.js +17 -4
- package/dist/tools/definitions/getcourse-cold-welcome.js.map +1 -1
- package/dist/tools/definitions/knowledge.d.ts +2 -2
- package/dist/tools/definitions/platform-setup.d.ts +5 -5
- package/dist/tools/definitions/shared.d.ts +10 -10
- package/dist/tools/definitions.d.ts +33 -18
- package/dist/tools/definitions.js +2 -0
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/result.js +6 -1
- package/dist/tools/result.js.map +1 -1
- package/dist/types/api-contract.gen.d.ts +24684 -0
- package/dist/types/api-contract.gen.js +6 -0
- package/dist/types/api-contract.gen.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { compactObject, defineTool, uuidSchema, withInstructions } from './shared.js';
|
|
3
|
+
const CONFIRMATION_REASON_MAX_LENGTH = 500;
|
|
4
|
+
/** Только plain JSON-object; ответы API остаются untrusted boundary. */
|
|
5
|
+
function isRecord(value) {
|
|
6
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
7
|
+
}
|
|
8
|
+
function recordsOf(value) {
|
|
9
|
+
return Array.isArray(value) ? value.filter(isRecord) : [];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Убирает транспортные детали замороженного DTO, оставляя оператору всё, что нужно проверить
|
|
13
|
+
* перед необратимой отправкой: точный текст, канал, блокировки и причины пропуска.
|
|
14
|
+
*/
|
|
15
|
+
export function compactFunnelTestPlan(response) {
|
|
16
|
+
if (!isRecord(response)) {
|
|
17
|
+
return response;
|
|
18
|
+
}
|
|
19
|
+
const sequences = recordsOf(response.sequences);
|
|
20
|
+
const compactPlan = {
|
|
21
|
+
runId: response.runId,
|
|
22
|
+
chatUserId: response.chatUserId,
|
|
23
|
+
platformId: response.platformId,
|
|
24
|
+
contactBlockReason: response.contactBlockReason,
|
|
25
|
+
steps: recordsOf(response.steps).map((step) => compactObject({
|
|
26
|
+
order: step.order,
|
|
27
|
+
sequenceName: step.sequenceName,
|
|
28
|
+
text: step.text,
|
|
29
|
+
transports: step.getcourseTransports,
|
|
30
|
+
skipReason: step.blockedReason,
|
|
31
|
+
skippedEffects: step.skippedEffects,
|
|
32
|
+
})),
|
|
33
|
+
excludedChains: sequences
|
|
34
|
+
.filter((sequence) => sequence.included !== true)
|
|
35
|
+
.map((sequence) => compactObject({
|
|
36
|
+
sequenceName: sequence.sequenceName,
|
|
37
|
+
reason: sequence.reason,
|
|
38
|
+
outcome: sequence.outcome,
|
|
39
|
+
totalSteps: sequence.totalSteps,
|
|
40
|
+
})),
|
|
41
|
+
conditionSkips: sequences
|
|
42
|
+
.filter((sequence) => Array.isArray(sequence.skippedByCondition) && sequence.skippedByCondition.length > 0)
|
|
43
|
+
.map((sequence) => ({
|
|
44
|
+
sequenceName: sequence.sequenceName,
|
|
45
|
+
skippedByCondition: sequence.skippedByCondition,
|
|
46
|
+
})),
|
|
47
|
+
truncated: response.truncated,
|
|
48
|
+
generationLimitReached: response.generationLimitReached,
|
|
49
|
+
unchecked: response.unchecked,
|
|
50
|
+
notCovered: response.notCovered,
|
|
51
|
+
};
|
|
52
|
+
return withInstructions(compactPlan, [
|
|
53
|
+
'Plan tool НИЧЕГО не отправил, но динамические шаги уже потратили LLM-токены.',
|
|
54
|
+
'Перед start покажи оператору каждый expanded text, transports, skipReason, excludedChains, conditionSkips и truncated.',
|
|
55
|
+
'Запускай только этот runId: backend возьмёт замороженный снимок и не сгенерирует другой текст.',
|
|
56
|
+
]);
|
|
57
|
+
}
|
|
58
|
+
/** MCP-контур существующего durable «Теста воронки». */
|
|
59
|
+
export const followUpFunnelTestTools = [
|
|
60
|
+
defineTool({
|
|
61
|
+
name: 'besales_followup_funnel_test_plan',
|
|
62
|
+
requiredFields: ['chat_user_id'],
|
|
63
|
+
defaultWorkspaceId: true,
|
|
64
|
+
schema: z
|
|
65
|
+
.object({
|
|
66
|
+
workspace_id: uuidSchema.optional(),
|
|
67
|
+
chat_user_id: uuidSchema,
|
|
68
|
+
funnel_id: uuidSchema.optional(),
|
|
69
|
+
})
|
|
70
|
+
.strict(),
|
|
71
|
+
createRequest: (input) => ({
|
|
72
|
+
method: 'POST',
|
|
73
|
+
path: `/follow-up/funnel-test/${input.chat_user_id}/plan` +
|
|
74
|
+
(input.funnel_id ? `?funnelId=${encodeURIComponent(input.funnel_id)}` : ''),
|
|
75
|
+
}),
|
|
76
|
+
enhanceResponse: compactFunnelTestPlan,
|
|
77
|
+
}),
|
|
78
|
+
defineTool({
|
|
79
|
+
name: 'besales_followup_funnel_test_start',
|
|
80
|
+
requiredFields: ['run_id', 'explicit_confirmation', 'confirmation_reason'],
|
|
81
|
+
defaultWorkspaceId: true,
|
|
82
|
+
schema: z
|
|
83
|
+
.object({
|
|
84
|
+
workspace_id: uuidSchema.optional(),
|
|
85
|
+
run_id: uuidSchema,
|
|
86
|
+
explicit_confirmation: z.literal(true),
|
|
87
|
+
confirmation_reason: z.string().trim().min(1).max(CONFIRMATION_REASON_MAX_LENGTH),
|
|
88
|
+
})
|
|
89
|
+
.strict(),
|
|
90
|
+
createRequest: (input) => ({
|
|
91
|
+
method: 'POST',
|
|
92
|
+
path: `/follow-up/funnel-test/runs/${input.run_id}/start`,
|
|
93
|
+
// confirmation_reason — MCP safety gate. Backend получает только свой канонический DTO.
|
|
94
|
+
body: { acknowledge: true },
|
|
95
|
+
}),
|
|
96
|
+
enhanceResponse: (response) => withInstructions(response, [
|
|
97
|
+
'Реальная отправка запущена по замороженному plan snapshot.',
|
|
98
|
+
'Опрашивай besales_followup_funnel_test_status до terminal status.',
|
|
99
|
+
'Если человек ответит во время прогона, backend остановит оставшиеся касания.',
|
|
100
|
+
]),
|
|
101
|
+
}),
|
|
102
|
+
defineTool({
|
|
103
|
+
name: 'besales_followup_funnel_test_status',
|
|
104
|
+
requiredFields: ['run_id'],
|
|
105
|
+
defaultWorkspaceId: true,
|
|
106
|
+
schema: z
|
|
107
|
+
.object({
|
|
108
|
+
workspace_id: uuidSchema.optional(),
|
|
109
|
+
run_id: uuidSchema,
|
|
110
|
+
})
|
|
111
|
+
.strict(),
|
|
112
|
+
createRequest: (input) => ({
|
|
113
|
+
method: 'GET',
|
|
114
|
+
path: `/follow-up/funnel-test/runs/${input.run_id}`,
|
|
115
|
+
}),
|
|
116
|
+
enhanceResponse: (response) => withInstructions(response, [
|
|
117
|
+
'dispatchedCount означает «заклеймлено до транспорта», а доказанный исход смотри в results[].',
|
|
118
|
+
'stalled=true лечится cancel, а не повторным start того же runId.',
|
|
119
|
+
]),
|
|
120
|
+
}),
|
|
121
|
+
defineTool({
|
|
122
|
+
name: 'besales_followup_funnel_test_cancel',
|
|
123
|
+
requiredFields: ['run_id'],
|
|
124
|
+
defaultWorkspaceId: true,
|
|
125
|
+
schema: z
|
|
126
|
+
.object({
|
|
127
|
+
workspace_id: uuidSchema.optional(),
|
|
128
|
+
run_id: uuidSchema,
|
|
129
|
+
})
|
|
130
|
+
.strict(),
|
|
131
|
+
createRequest: (input) => ({
|
|
132
|
+
method: 'POST',
|
|
133
|
+
path: `/follow-up/funnel-test/runs/${input.run_id}/cancel`,
|
|
134
|
+
}),
|
|
135
|
+
enhanceResponse: (response) => withInstructions(response, [
|
|
136
|
+
'Отмена действует со следующего касания: уже заклеймленный пункт мог дойти до транспорта.',
|
|
137
|
+
'Проверь results[] в ответе или повторным status-вызовом.',
|
|
138
|
+
]),
|
|
139
|
+
}),
|
|
140
|
+
];
|
|
141
|
+
//# sourceMappingURL=follow-up-funnel-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"follow-up-funnel-test.js","sourceRoot":"","sources":["../../../src/tools/definitions/follow-up-funnel-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,8 +17,8 @@ export declare const reactivationConfigSchema: z.ZodObject<{
|
|
|
17
17
|
}, z.core.$loose>>>;
|
|
18
18
|
steps: z.ZodArray<z.ZodObject<{
|
|
19
19
|
stepType: z.ZodOptional<z.ZodEnum<{
|
|
20
|
-
message: "message";
|
|
21
20
|
webhook: "webhook";
|
|
21
|
+
message: "message";
|
|
22
22
|
}>>;
|
|
23
23
|
scheduleMode: z.ZodOptional<z.ZodEnum<{
|
|
24
24
|
offset: "offset";
|
|
@@ -117,7 +117,7 @@ export declare const followUpTools: (import("./shared.js").ToolDefinition<{
|
|
|
117
117
|
from: string;
|
|
118
118
|
to: string;
|
|
119
119
|
sequence_id?: string[] | undefined;
|
|
120
|
-
horizon_minutes?:
|
|
120
|
+
horizon_minutes?: 30 | 60 | 90 | 180 | 360 | 720 | 1440 | undefined;
|
|
121
121
|
segment?: string[] | undefined;
|
|
122
122
|
product?: string[] | undefined;
|
|
123
123
|
channel?: string[] | undefined;
|
|
@@ -12,6 +12,8 @@ export declare const getcourseColdWelcomeTools: (import("./shared.js").ToolDefin
|
|
|
12
12
|
contact_id: string;
|
|
13
13
|
deal_id?: string | undefined;
|
|
14
14
|
}[] | undefined;
|
|
15
|
+
mailing_variant_id?: string | undefined;
|
|
16
|
+
channels?: ("Site" | "Email" | "SMS" | "Telegram" | "Facebook" | "VK" | "Chatium" | "WhatsApp" | "Viber" | "MAX")[] | undefined;
|
|
15
17
|
}> | import("./shared.js").ToolDefinition<{
|
|
16
18
|
explicit_confirmation: true;
|
|
17
19
|
workspace_id?: string | undefined;
|
|
@@ -27,6 +29,7 @@ export declare const getcourseColdWelcomeTools: (import("./shared.js").ToolDefin
|
|
|
27
29
|
segment?: string | undefined;
|
|
28
30
|
product_code?: string | undefined;
|
|
29
31
|
funnel?: string | undefined;
|
|
32
|
+
channels?: ("Site" | "Email" | "SMS" | "Telegram" | "Facebook" | "VK" | "Chatium" | "WhatsApp" | "Viber" | "MAX")[] | undefined;
|
|
30
33
|
}> | import("./shared.js").ToolDefinition<{
|
|
31
34
|
segments: {
|
|
32
35
|
contacts: {
|
|
@@ -43,6 +46,7 @@ export declare const getcourseColdWelcomeTools: (import("./shared.js").ToolDefin
|
|
|
43
46
|
platform_id?: string | undefined;
|
|
44
47
|
message?: string | undefined;
|
|
45
48
|
mailing_variant_id?: string | undefined;
|
|
49
|
+
channels?: ("Site" | "Email" | "SMS" | "Telegram" | "Facebook" | "VK" | "Chatium" | "WhatsApp" | "Viber" | "MAX")[] | undefined;
|
|
46
50
|
}> | import("./shared.js").ToolDefinition<{
|
|
47
51
|
batch_id: string;
|
|
48
52
|
workspace_id?: string | undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { compactObject, defineTool, uuidSchema, withInstructions } from './shared.js';
|
|
2
|
+
import { compactObject, defineTool, getcourseTransportEnum, uuidSchema, withInstructions, } from './shared.js';
|
|
3
3
|
const MESSAGE_MAX_LENGTH = 4000;
|
|
4
4
|
const LABEL_MAX_LENGTH = 200;
|
|
5
5
|
const MAX_CONTACTS = 5000;
|
|
@@ -40,6 +40,8 @@ export const getcourseColdWelcomeTools = [
|
|
|
40
40
|
platform_id: uuidSchema,
|
|
41
41
|
created_after: z.string().datetime({ offset: true }).optional(),
|
|
42
42
|
contacts: z.array(contactSchema).min(1).max(MAX_CONTACTS).optional(),
|
|
43
|
+
mailing_variant_id: uuidSchema.optional(),
|
|
44
|
+
channels: z.array(getcourseTransportEnum).optional(),
|
|
43
45
|
})
|
|
44
46
|
.strict()
|
|
45
47
|
.refine((input) => (input.created_after !== undefined) !== (input.contacts !== undefined), {
|
|
@@ -52,13 +54,16 @@ export const getcourseColdWelcomeTools = [
|
|
|
52
54
|
platformId: input.platform_id,
|
|
53
55
|
createdAfter: input.created_after,
|
|
54
56
|
contacts: toContacts(input.contacts),
|
|
57
|
+
mailingVariantId: input.mailing_variant_id,
|
|
58
|
+
channels: input.channels,
|
|
55
59
|
}),
|
|
56
60
|
}),
|
|
57
61
|
enhanceResponse: (response) => withInstructions(response, [
|
|
58
62
|
'totalContacts — сколько ЕЩЁ может получить первое сообщение; alreadyWelcomed — сколько уже получали его раньше (оно одноразово НА КОНТАКТ, не на рассылку).',
|
|
63
|
+
'⚠️⚠️ Если задано ограничение каналов, ФАКТИЧЕСКИЙ охват = totalContacts − narrowedOutByChannels (доказанно отсечённые каналами). Называй пользователю именно эту разность: сырой totalContacts завысит обещание, а отправку не отозвать. channelsUnknown вычитать НЕ надо — у этих контактов привязки просто ещё не проверены, при отправке их спросят у школы живьём.',
|
|
59
64
|
'Для аудитории по файлу дополнительно приходят alreadyInDialog и notInBase: контакты предсписка обязаны быть импортированы (Шаг 1) до запуска.',
|
|
60
|
-
'Всегда показывай пользователю
|
|
61
|
-
'Часть контактов отсеется уже в прогоне (мьют бота, нет даты эфира,
|
|
65
|
+
'Всегда показывай пользователю фактический охват и alreadyWelcomed ДО старта: отправку нельзя отозвать.',
|
|
66
|
+
'Часть контактов отсеется уже в прогоне (мьют бота, нет даты эфира, недостижимость, переменные без значения) — разбивка по причинам будет в outcomes задачи.',
|
|
62
67
|
]),
|
|
63
68
|
}),
|
|
64
69
|
defineTool({
|
|
@@ -79,6 +84,7 @@ export const getcourseColdWelcomeTools = [
|
|
|
79
84
|
segment: z.string().max(LABEL_MAX_LENGTH).optional(),
|
|
80
85
|
product_code: z.string().max(LABEL_MAX_LENGTH).optional(),
|
|
81
86
|
funnel: z.string().max(LABEL_MAX_LENGTH).optional(),
|
|
87
|
+
channels: z.array(getcourseTransportEnum).optional(),
|
|
82
88
|
explicit_confirmation: z.literal(true),
|
|
83
89
|
})
|
|
84
90
|
.strict()
|
|
@@ -101,6 +107,7 @@ export const getcourseColdWelcomeTools = [
|
|
|
101
107
|
segment: input.segment,
|
|
102
108
|
productCode: input.product_code,
|
|
103
109
|
funnel: input.funnel,
|
|
110
|
+
channels: input.channels,
|
|
104
111
|
}),
|
|
105
112
|
}),
|
|
106
113
|
enhanceResponse: (response) => withInstructions(response, [
|
|
@@ -112,6 +119,7 @@ export const getcourseColdWelcomeTools = [
|
|
|
112
119
|
'platform_id и deal_fields можно опустить, если они заданы в рассылке как «по умолчанию» — сервер подставит их сам.',
|
|
113
120
|
'Пустой объект deal_fields — НЕ то же, что отсутствие ключа: он означает «на этом запуске без полей» и гасит дефолты рассылки.',
|
|
114
121
|
'deal_fields штампуются ПОСЛЕ успешной отправки (пин из строки файла, иначе закреплённая сделка контакта); их отказ не отменяет отправку и виден счётчиком dealStamp.',
|
|
122
|
+
'Контакт, у которого переменная текста осталась без значения, ПРОПУСКАЕТСЯ (outcome SKIPPED_UNRESOLVED_VARS) — сырые {скобки} живому человеку не уедут. Отметка приветствия при этом не сгорает: проставьте значение или перезапись у агента и запустите повторно, контакт доберётся.',
|
|
115
123
|
]),
|
|
116
124
|
}),
|
|
117
125
|
defineTool({
|
|
@@ -124,6 +132,7 @@ export const getcourseColdWelcomeTools = [
|
|
|
124
132
|
platform_id: uuidSchema.optional(),
|
|
125
133
|
message: z.string().trim().min(1).max(MESSAGE_MAX_LENGTH).optional(),
|
|
126
134
|
mailing_variant_id: uuidSchema.optional(),
|
|
135
|
+
channels: z.array(getcourseTransportEnum).optional(),
|
|
127
136
|
segments: z
|
|
128
137
|
.array(z
|
|
129
138
|
.object({
|
|
@@ -153,6 +162,7 @@ export const getcourseColdWelcomeTools = [
|
|
|
153
162
|
platformId: input.platform_id,
|
|
154
163
|
message: input.message,
|
|
155
164
|
mailingVariantId: input.mailing_variant_id,
|
|
165
|
+
channels: input.channels,
|
|
156
166
|
segments: input.segments.map((segment) => compactObject({
|
|
157
167
|
segment: segment.segment,
|
|
158
168
|
productCode: segment.product_code,
|
|
@@ -165,7 +175,9 @@ export const getcourseColdWelcomeTools = [
|
|
|
165
175
|
enhanceResponse: (response) => withInstructions(response, [
|
|
166
176
|
'Пакет: несколько сегментов одним вызовом, у каждого свой список контактов, свои метки и свои поля сделки.',
|
|
167
177
|
'Сегменты идут ПО ОЧЕРЕДИ — задачи импорта не могут выполняться параллельно. Прогресс смотри через besales_getcourse_cold_welcome_batch_status по batchId.',
|
|
168
|
-
'Весь пакет проверяется ДО первой отправки: сегмент без текста отменяет пакет целиком, пока никому ничего не ушло.',
|
|
178
|
+
'Весь пакет проверяется ДО первой отправки: сегмент без текста ИЛИ текст с переменными, которые не подставляются его контактам, отменяет пакет целиком, пока никому ничего не ушло. В ошибке названы сами переменные, контакт проверки и агент — чинить надо значение переменной или перезапись у этого агента.',
|
|
179
|
+
'⚠️ Проверка переменных на плане ВЫБОРОЧНАЯ (несколько контактов сегмента) и не гарантирует, что подставится всем: агента выбирает роутер по контакту. Полноту держит гейт на самой отправке — контакт с сырыми скобками пропускается с outcome SKIPPED_UNRESOLVED_VARS.',
|
|
180
|
+
'⚠️ Переменные, которые отправка дочитывает из сделки (календарные поля замапленной площадки), план НЕ проверяет — судить по до-синковому снимку значило бы блокировать каждый пакет календарной площадки. Все остальные проверяются. Если пакет упал на календарной переменной — это баг, а не настройка.',
|
|
169
181
|
'Отказ одного сегмента НЕ останавливает остальные — смотри разбивку в статусе.',
|
|
170
182
|
]),
|
|
171
183
|
}),
|
|
@@ -182,6 +194,7 @@ export const getcourseColdWelcomeTools = [
|
|
|
182
194
|
}),
|
|
183
195
|
enhanceResponse: (response) => withInstructions(response, [
|
|
184
196
|
'state — агрегат по пакету, segments[] — разбивка: у каждого свой статус, свой importJobId и своя причина отказа.',
|
|
197
|
+
'Разбивка исходов сегмента — в его задаче импорта (importJobId), через besales_broadcast_launches_list: SKIPPED_UNRESOLVED_VARS означает «переменные текста без значения», такие контакты не приветствованы и доберутся повторным запуском.',
|
|
185
198
|
'stalled=true означает, что драйвер оборвался (рестарт инстанса). НЕ запускай пакет заново — зови besales_getcourse_cold_welcome_batch_resume по тому же batch_id: источник текста хранится в плане, пересобирать списки не нужно, а уже отправленным контактам повтор не уйдёт (приветствие одноразово НА КОНТАКТ).',
|
|
186
199
|
]),
|
|
187
200
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getcourse-cold-welcome.js","sourceRoot":"","sources":["../../../src/tools/definitions/getcourse-cold-welcome.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,
|
|
1
|
+
{"version":3,"file":"getcourse-cold-welcome.js","sourceRoot":"","sources":["../../../src/tools/definitions/getcourse-cold-welcome.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,7 +65,7 @@ export declare const knowledgeTools: (import("./shared.js").ToolDefinition<{
|
|
|
65
65
|
}> | import("./shared.js").ToolDefinition<{
|
|
66
66
|
knowledge_space_id: string;
|
|
67
67
|
workspace_id?: string | undefined;
|
|
68
|
-
status?: "FAILED" | "
|
|
68
|
+
status?: "FAILED" | "COMPLETED" | "LOADED" | "SPLIT" | "EMBEDDINGS_GENERATED" | "VECTOR_DB_UPLOADED" | "TEXT_EXTRACTED" | "CHUNKS_SAVED" | undefined;
|
|
69
69
|
page?: number | undefined;
|
|
70
70
|
limit?: number | undefined;
|
|
71
71
|
}> | import("./shared.js").ToolDefinition<{
|
|
@@ -149,7 +149,7 @@ export declare const knowledgeTools: (import("./shared.js").ToolDefinition<{
|
|
|
149
149
|
}> | import("./shared.js").ToolDefinition<{
|
|
150
150
|
knowledge_space_id: string;
|
|
151
151
|
workspace_id?: string | undefined;
|
|
152
|
-
status?: "PENDING" | "FAILED" | "
|
|
152
|
+
status?: "PENDING" | "FAILED" | "PROCESSING" | "COMPLETED" | "CRAWLING" | undefined;
|
|
153
153
|
page?: number | undefined;
|
|
154
154
|
limit?: number | undefined;
|
|
155
155
|
}> | import("./shared.js").ToolDefinition<{
|
|
@@ -227,7 +227,7 @@ export declare const platformSetupTools: (import("./shared.js").ToolDefinition<{
|
|
|
227
227
|
qa_min_score?: number | undefined;
|
|
228
228
|
qa_context_limit?: number | undefined;
|
|
229
229
|
max_response_symbols?: number | undefined;
|
|
230
|
-
reasoning_effort?: "
|
|
230
|
+
reasoning_effort?: "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max" | undefined;
|
|
231
231
|
verbosity?: "low" | "medium" | "high" | undefined;
|
|
232
232
|
enable_thinking?: boolean | undefined;
|
|
233
233
|
timezone?: string | undefined;
|
|
@@ -240,7 +240,7 @@ export declare const platformSetupTools: (import("./shared.js").ToolDefinition<{
|
|
|
240
240
|
} | undefined;
|
|
241
241
|
output_config?: {
|
|
242
242
|
display_name?: string | undefined;
|
|
243
|
-
response_mode?: "
|
|
243
|
+
response_mode?: "SILENT" | "TEXT" | undefined;
|
|
244
244
|
button_generator?: {
|
|
245
245
|
enabled?: boolean | undefined;
|
|
246
246
|
max_buttons?: number | undefined;
|
|
@@ -249,7 +249,7 @@ export declare const platformSetupTools: (import("./shared.js").ToolDefinition<{
|
|
|
249
249
|
} | undefined;
|
|
250
250
|
} | undefined;
|
|
251
251
|
knowledge_space_ids?: string[] | undefined;
|
|
252
|
-
agent_scope?: "
|
|
252
|
+
agent_scope?: "sale" | "reactivation" | "support" | "onboarding" | "faq" | "qualification" | "complaint" | "other" | undefined;
|
|
253
253
|
agent_variable_overrides?: {
|
|
254
254
|
custom_variable_id: string;
|
|
255
255
|
override_value: string | number | boolean;
|
|
@@ -429,7 +429,7 @@ export declare const platformSetupTools: (import("./shared.js").ToolDefinition<{
|
|
|
429
429
|
} | undefined;
|
|
430
430
|
} | undefined;
|
|
431
431
|
unavailable_message?: string | undefined;
|
|
432
|
-
bot_waiting_return_hours?: 0 | 12 | 3 | 1 |
|
|
432
|
+
bot_waiting_return_hours?: 0 | 12 | 3 | 1 | -1 | 6 | 24 | undefined;
|
|
433
433
|
follow_up_waiting_return_hours?: number | undefined;
|
|
434
434
|
skip_task_creation_on_call_operator?: boolean | undefined;
|
|
435
435
|
} | undefined;
|
|
@@ -687,6 +687,6 @@ export declare const platformSetupTools: (import("./shared.js").ToolDefinition<{
|
|
|
687
687
|
workspace_id?: string | undefined;
|
|
688
688
|
agent_id?: string | undefined;
|
|
689
689
|
channel?: string | undefined;
|
|
690
|
-
agent_scope?: "
|
|
690
|
+
agent_scope?: "sale" | "reactivation" | "support" | "onboarding" | "faq" | "qualification" | "complaint" | "other" | undefined;
|
|
691
691
|
feedback_banned_terms?: string[] | undefined;
|
|
692
692
|
}>)[];
|
|
@@ -156,10 +156,10 @@ export declare const followUpTriggerSchema: z.ZodEnum<{
|
|
|
156
156
|
}>;
|
|
157
157
|
export declare const analysisModeSchema: z.ZodEnum<{
|
|
158
158
|
grammar: "grammar";
|
|
159
|
-
structure: "structure";
|
|
160
159
|
industry: "industry";
|
|
161
|
-
|
|
160
|
+
structure: "structure";
|
|
162
161
|
completeness: "completeness";
|
|
162
|
+
contradictions: "contradictions";
|
|
163
163
|
}>;
|
|
164
164
|
export declare const promptGenerationStageOutputSchema: z.ZodObject<{
|
|
165
165
|
name: z.ZodEnum<{
|
|
@@ -173,8 +173,8 @@ export declare const promptGenerationStageOutputSchema: z.ZodObject<{
|
|
|
173
173
|
export declare const promptAnalysisStageOutputSchema: z.ZodObject<{
|
|
174
174
|
name: z.ZodEnum<{
|
|
175
175
|
grammar: "grammar";
|
|
176
|
-
structure: "structure";
|
|
177
176
|
industry: "industry";
|
|
177
|
+
structure: "structure";
|
|
178
178
|
aggregation: "aggregation";
|
|
179
179
|
}>;
|
|
180
180
|
output: z.ZodObject<{}, z.core.$loose>;
|
|
@@ -237,14 +237,14 @@ export declare const generatedScenarioSchema: z.ZodPipe<z.ZodObject<{
|
|
|
237
237
|
export declare const sandboxFindingSchema: z.ZodObject<{
|
|
238
238
|
scenario_id: z.ZodOptional<z.ZodString>;
|
|
239
239
|
category: z.ZodEnum<{
|
|
240
|
+
other: "other";
|
|
240
241
|
hallucination: "hallucination";
|
|
241
242
|
wrong_action: "wrong_action";
|
|
243
|
+
bad_tone: "bad_tone";
|
|
242
244
|
wrong_routing: "wrong_routing";
|
|
243
245
|
missed_trigger: "missed_trigger";
|
|
244
246
|
wrong_pipeline_transition: "wrong_pipeline_transition";
|
|
245
247
|
rag_miss: "rag_miss";
|
|
246
|
-
bad_tone: "bad_tone";
|
|
247
|
-
other: "other";
|
|
248
248
|
}>;
|
|
249
249
|
severity: z.ZodEnum<{
|
|
250
250
|
low: "low";
|
|
@@ -258,10 +258,10 @@ export declare const sandboxFindingSchema: z.ZodObject<{
|
|
|
258
258
|
export declare const simulationFindingSchema: z.ZodObject<{
|
|
259
259
|
dialogue_id: z.ZodOptional<z.ZodString>;
|
|
260
260
|
category: z.ZodEnum<{
|
|
261
|
+
other: "other";
|
|
261
262
|
hallucination: "hallucination";
|
|
262
263
|
wrong_action: "wrong_action";
|
|
263
264
|
bad_tone: "bad_tone";
|
|
264
|
-
other: "other";
|
|
265
265
|
missed_context: "missed_context";
|
|
266
266
|
contradiction: "contradiction";
|
|
267
267
|
off_topic: "off_topic";
|
|
@@ -313,10 +313,10 @@ export declare const agentRuntimeConfigSchema: z.ZodObject<{
|
|
|
313
313
|
qa_context_limit: z.ZodOptional<z.ZodNumber>;
|
|
314
314
|
max_response_symbols: z.ZodOptional<z.ZodNumber>;
|
|
315
315
|
reasoning_effort: z.ZodOptional<z.ZodEnum<{
|
|
316
|
-
low: "low";
|
|
317
|
-
medium: "medium";
|
|
318
316
|
none: "none";
|
|
319
317
|
minimal: "minimal";
|
|
318
|
+
low: "low";
|
|
319
|
+
medium: "medium";
|
|
320
320
|
high: "high";
|
|
321
321
|
xhigh: "xhigh";
|
|
322
322
|
max: "max";
|
|
@@ -347,8 +347,8 @@ export declare const agentButtonGeneratorSchema: z.ZodObject<{
|
|
|
347
347
|
export declare const agentOutputConfigSchema: z.ZodObject<{
|
|
348
348
|
display_name: z.ZodOptional<z.ZodString>;
|
|
349
349
|
response_mode: z.ZodOptional<z.ZodEnum<{
|
|
350
|
-
TEXT: "TEXT";
|
|
351
350
|
SILENT: "SILENT";
|
|
351
|
+
TEXT: "TEXT";
|
|
352
352
|
}>>;
|
|
353
353
|
button_generator: z.ZodOptional<z.ZodObject<{
|
|
354
354
|
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -361,7 +361,6 @@ export declare const agentOutputConfigSchema: z.ZodObject<{
|
|
|
361
361
|
}, z.core.$strip>>;
|
|
362
362
|
}, z.core.$strip>;
|
|
363
363
|
export declare const agentScopeSchema: z.ZodEnum<{
|
|
364
|
-
other: "other";
|
|
365
364
|
sale: "sale";
|
|
366
365
|
reactivation: "reactivation";
|
|
367
366
|
support: "support";
|
|
@@ -369,6 +368,7 @@ export declare const agentScopeSchema: z.ZodEnum<{
|
|
|
369
368
|
faq: "faq";
|
|
370
369
|
qualification: "qualification";
|
|
371
370
|
complaint: "complaint";
|
|
371
|
+
other: "other";
|
|
372
372
|
}>;
|
|
373
373
|
export declare const behaviorGreetingButtonSchema: z.ZodObject<{
|
|
374
374
|
id: z.ZodString;
|