@besales/mcp 0.1.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/LICENSE +21 -0
- package/README.md +127 -0
- package/bin/besales-mcp.js +10 -0
- package/dist/auth/oauth-client.d.ts +32 -0
- package/dist/auth/oauth-client.js +180 -0
- package/dist/auth/oauth-client.js.map +1 -0
- package/dist/auth/token-storage.d.ts +7 -0
- package/dist/auth/token-storage.js +17 -0
- package/dist/auth/token-storage.js.map +1 -0
- package/dist/cli.d.ts +22 -0
- package/dist/cli.js +70 -0
- package/dist/cli.js.map +1 -0
- package/dist/http/api-client.d.ts +51 -0
- package/dist/http/api-client.js +115 -0
- package/dist/http/api-client.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/package-metadata.d.ts +1 -0
- package/dist/package-metadata.js +6 -0
- package/dist/package-metadata.js.map +1 -0
- package/dist/resources/concepts/external-execution.md +22 -0
- package/dist/resources/concepts/handoff.md +16 -0
- package/dist/resources/concepts/icp.md +16 -0
- package/dist/resources/concepts/sandbox.md +17 -0
- package/dist/resources/concepts/triggers.md +16 -0
- package/dist/resources/registry.d.ts +5 -0
- package/dist/resources/registry.js +33 -0
- package/dist/resources/registry.js.map +1 -0
- package/dist/schemas/mcp-tools.json +1192 -0
- package/dist/server.d.ts +20 -0
- package/dist/server.js +74 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/contracts.d.ts +22 -0
- package/dist/tools/contracts.js +24 -0
- package/dist/tools/contracts.js.map +1 -0
- package/dist/tools/definitions.d.ts +307 -0
- package/dist/tools/definitions.js +859 -0
- package/dist/tools/definitions.js.map +1 -0
- package/dist/tools/registry.d.ts +11 -0
- package/dist/tools/registry.js +52 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/result.d.ts +4 -0
- package/dist/tools/result.js +78 -0
- package/dist/tools/result.js.map +1 -0
- package/dist/types/api-contract.gen.d.ts +6975 -0
- package/dist/types/api-contract.gen.js +6 -0
- package/dist/types/api-contract.gen.js.map +1 -0
- package/dist/utils/logger.d.ts +2 -0
- package/dist/utils/logger.js +13 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/mask.d.ts +1 -0
- package/dist/utils/mask.js +7 -0
- package/dist/utils/mask.js.map +1 -0
- package/docs/host-setup.md +256 -0
- package/package.json +81 -0
- package/scripts/install-claude-desktop.js +77 -0
- package/scripts/mock-api-server.js +56 -0
- package/scripts/mock-credentials.js +34 -0
|
@@ -0,0 +1,1192 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "besales-mcp Tool Definitions",
|
|
4
|
+
"version": "1.1.0-draft",
|
|
5
|
+
"lastUpdated": "2026-05-12",
|
|
6
|
+
"description": "MCP tool schemas для besales-mcp npm package. Active v1.5 set содержит PromptHub/ICP/Sandbox/Knowledge external-execution operations и stateless Platform Setup Bridge direct tools. Setup Pipeline session tools сохранены как Phase 4+ future design, но не входят в active toolset.",
|
|
7
|
+
"executionModes": {
|
|
8
|
+
"summary": "Каждая active LLM-операция имеет 2 MCP tools: get_instructions + submit. Claude локально между tools выполняет LLM-вызовы своими моделями. Auto-detection через JWT scope mcp:* → external default.",
|
|
9
|
+
"tools_per_operation": {
|
|
10
|
+
"single_tool": "Для proxy operations без external mode: Claude вызывает один active tool, besales-api делает работу.",
|
|
11
|
+
"instructions_submit_pair": "Для external execution: 2 tools — get_instructions returns stages, после локального LLM-вызова submit отправляет результат. Active MCP toolset использует эту пару без дополнительного single-tool flow."
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"tools": [
|
|
15
|
+
{
|
|
16
|
+
"name": "besales_icp_create",
|
|
17
|
+
"description": "Create new ICP profile в workspace. Active Phase 2 PromptHub/ICP operation; не зависит от Setup Pipeline.",
|
|
18
|
+
"inputSchema": {
|
|
19
|
+
"type": "object",
|
|
20
|
+
"required": [
|
|
21
|
+
"name"
|
|
22
|
+
],
|
|
23
|
+
"properties": {
|
|
24
|
+
"workspace_id": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"format": "uuid",
|
|
27
|
+
"description": "Optional override. Defaults to the workspace selected during `besales-mcp connect`."
|
|
28
|
+
},
|
|
29
|
+
"name": {
|
|
30
|
+
"type": "string"
|
|
31
|
+
},
|
|
32
|
+
"description": {
|
|
33
|
+
"type": "string"
|
|
34
|
+
},
|
|
35
|
+
"source": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"enum": [
|
|
38
|
+
"from_dialogues",
|
|
39
|
+
"from_files",
|
|
40
|
+
"from_scratch",
|
|
41
|
+
"ai_generated"
|
|
42
|
+
],
|
|
43
|
+
"default": "from_scratch"
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "besales_icp_import_dialogues",
|
|
50
|
+
"description": "Import dialogue samples from CRM (queued async). Poll status через import job / operation state endpoint; Setup Pipeline events не используются в active Phase 2 toolset.",
|
|
51
|
+
"inputSchema": {
|
|
52
|
+
"type": "object",
|
|
53
|
+
"required": [
|
|
54
|
+
"icp_id",
|
|
55
|
+
"crm_connection_id",
|
|
56
|
+
"gdpr_confirmed"
|
|
57
|
+
],
|
|
58
|
+
"properties": {
|
|
59
|
+
"icp_id": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"format": "uuid"
|
|
62
|
+
},
|
|
63
|
+
"crm_connection_id": {
|
|
64
|
+
"type": "string",
|
|
65
|
+
"format": "uuid"
|
|
66
|
+
},
|
|
67
|
+
"outcome_filter": {
|
|
68
|
+
"type": "array",
|
|
69
|
+
"items": {
|
|
70
|
+
"type": "string",
|
|
71
|
+
"enum": [
|
|
72
|
+
"won",
|
|
73
|
+
"lost",
|
|
74
|
+
"in_progress"
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
"default": [
|
|
78
|
+
"won",
|
|
79
|
+
"lost"
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
"days_ago": {
|
|
83
|
+
"type": "integer",
|
|
84
|
+
"minimum": 1,
|
|
85
|
+
"maximum": 730,
|
|
86
|
+
"default": 180
|
|
87
|
+
},
|
|
88
|
+
"anonymize": {
|
|
89
|
+
"type": "boolean",
|
|
90
|
+
"default": true
|
|
91
|
+
},
|
|
92
|
+
"gdpr_confirmed": {
|
|
93
|
+
"type": "boolean"
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"name": "besales_icp_analysis_get_instructions",
|
|
100
|
+
"description": "⭐ EXTERNAL EXECUTION — получить 3-stage instructions для ICP segments + personas analysis. Claude локально: 1) segment_clustering, 2) classification, 3) persona_generation. После — submit через besales_icp_analysis_submit. Этот flow дешевле и качественнее чем internal proxy через prompt-services с gpt-4o-mini.",
|
|
101
|
+
"inputSchema": {
|
|
102
|
+
"type": "object",
|
|
103
|
+
"required": [
|
|
104
|
+
"icp_profile_id"
|
|
105
|
+
],
|
|
106
|
+
"properties": {
|
|
107
|
+
"workspace_id": {
|
|
108
|
+
"type": "string",
|
|
109
|
+
"format": "uuid",
|
|
110
|
+
"description": "Optional override. Defaults to the workspace selected during `besales-mcp connect`."
|
|
111
|
+
},
|
|
112
|
+
"icp_profile_id": {
|
|
113
|
+
"type": "string",
|
|
114
|
+
"format": "uuid"
|
|
115
|
+
},
|
|
116
|
+
"business_context": {
|
|
117
|
+
"type": "object"
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
"outputSchema": {
|
|
122
|
+
"type": "object",
|
|
123
|
+
"properties": {
|
|
124
|
+
"operation_id": {
|
|
125
|
+
"type": "string",
|
|
126
|
+
"format": "uuid"
|
|
127
|
+
},
|
|
128
|
+
"stages": {
|
|
129
|
+
"type": "array"
|
|
130
|
+
},
|
|
131
|
+
"expires_at": {
|
|
132
|
+
"type": "string",
|
|
133
|
+
"format": "date-time"
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"name": "besales_icp_analysis_submit",
|
|
140
|
+
"description": "Submit ICP analysis results после Claude локально выполнил 3 stages.",
|
|
141
|
+
"inputSchema": {
|
|
142
|
+
"type": "object",
|
|
143
|
+
"required": [
|
|
144
|
+
"operation_id",
|
|
145
|
+
"icp_profile_id",
|
|
146
|
+
"segments",
|
|
147
|
+
"personas"
|
|
148
|
+
],
|
|
149
|
+
"properties": {
|
|
150
|
+
"workspace_id": {
|
|
151
|
+
"type": "string",
|
|
152
|
+
"format": "uuid",
|
|
153
|
+
"description": "Optional override. Defaults to the workspace selected during `besales-mcp connect`."
|
|
154
|
+
},
|
|
155
|
+
"operation_id": {
|
|
156
|
+
"type": "string",
|
|
157
|
+
"format": "uuid"
|
|
158
|
+
},
|
|
159
|
+
"icp_profile_id": {
|
|
160
|
+
"type": "string",
|
|
161
|
+
"format": "uuid"
|
|
162
|
+
},
|
|
163
|
+
"segments": {
|
|
164
|
+
"type": "array",
|
|
165
|
+
"items": {
|
|
166
|
+
"type": "object",
|
|
167
|
+
"required": [
|
|
168
|
+
"name"
|
|
169
|
+
],
|
|
170
|
+
"properties": {
|
|
171
|
+
"id": {
|
|
172
|
+
"type": "string",
|
|
173
|
+
"format": "uuid",
|
|
174
|
+
"description": "Stable segment id. Required when personas reference a newly created segment."
|
|
175
|
+
},
|
|
176
|
+
"name": {
|
|
177
|
+
"type": "string"
|
|
178
|
+
},
|
|
179
|
+
"description": {
|
|
180
|
+
"type": "string"
|
|
181
|
+
},
|
|
182
|
+
"demographics": {
|
|
183
|
+
"type": "object"
|
|
184
|
+
},
|
|
185
|
+
"pains": {
|
|
186
|
+
"type": "array",
|
|
187
|
+
"items": {}
|
|
188
|
+
},
|
|
189
|
+
"motivations": {
|
|
190
|
+
"type": "array",
|
|
191
|
+
"items": {}
|
|
192
|
+
},
|
|
193
|
+
"language_style": {
|
|
194
|
+
"type": "object"
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
"personas": {
|
|
200
|
+
"type": "array",
|
|
201
|
+
"items": {
|
|
202
|
+
"type": "object",
|
|
203
|
+
"required": [
|
|
204
|
+
"name",
|
|
205
|
+
"segment_id"
|
|
206
|
+
],
|
|
207
|
+
"properties": {
|
|
208
|
+
"name": {
|
|
209
|
+
"type": "string"
|
|
210
|
+
},
|
|
211
|
+
"segment_id": {
|
|
212
|
+
"type": "string",
|
|
213
|
+
"format": "uuid",
|
|
214
|
+
"description": "Existing segment id or id of a segment in this submit payload."
|
|
215
|
+
},
|
|
216
|
+
"description": {
|
|
217
|
+
"type": "string"
|
|
218
|
+
},
|
|
219
|
+
"pain_points": {
|
|
220
|
+
"type": "array",
|
|
221
|
+
"items": {}
|
|
222
|
+
},
|
|
223
|
+
"goals": {
|
|
224
|
+
"type": "array",
|
|
225
|
+
"items": {}
|
|
226
|
+
},
|
|
227
|
+
"objections": {
|
|
228
|
+
"type": "object"
|
|
229
|
+
},
|
|
230
|
+
"messaging_hints": {
|
|
231
|
+
"type": "object"
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"name": "besales_prompt_generate_get_instructions",
|
|
241
|
+
"description": "⭐ EXTERNAL EXECUTION — получить 4-stage instructions для prompt generation: 1) structure_builder, 2) industry_validator, 3) prompt_tester, 4) finalizer. Claude локально выполняет каждую stage с Sonnet/Opus используя returned system prompts + JSON schemas. После — submit через besales_prompt_generate_submit.",
|
|
242
|
+
"inputSchema": {
|
|
243
|
+
"type": "object",
|
|
244
|
+
"required": [
|
|
245
|
+
"agent_id"
|
|
246
|
+
],
|
|
247
|
+
"properties": {
|
|
248
|
+
"agent_id": {
|
|
249
|
+
"type": "string",
|
|
250
|
+
"format": "uuid"
|
|
251
|
+
},
|
|
252
|
+
"icp_profile_id": {
|
|
253
|
+
"type": "string",
|
|
254
|
+
"format": "uuid"
|
|
255
|
+
},
|
|
256
|
+
"business_context": {
|
|
257
|
+
"type": "object"
|
|
258
|
+
},
|
|
259
|
+
"style_hints": {
|
|
260
|
+
"type": "object",
|
|
261
|
+
"properties": {
|
|
262
|
+
"formality": {
|
|
263
|
+
"type": "string",
|
|
264
|
+
"enum": [
|
|
265
|
+
"formal",
|
|
266
|
+
"casual",
|
|
267
|
+
"friendly"
|
|
268
|
+
]
|
|
269
|
+
},
|
|
270
|
+
"verbosity": {
|
|
271
|
+
"type": "string",
|
|
272
|
+
"enum": [
|
|
273
|
+
"concise",
|
|
274
|
+
"balanced",
|
|
275
|
+
"detailed"
|
|
276
|
+
]
|
|
277
|
+
},
|
|
278
|
+
"language": {
|
|
279
|
+
"type": "string",
|
|
280
|
+
"default": "ru"
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"name": "besales_prompt_generate_submit",
|
|
289
|
+
"description": "Submit готовый prompt после Claude выполнил 4 stages. Создаёт новую prompt version.",
|
|
290
|
+
"inputSchema": {
|
|
291
|
+
"type": "object",
|
|
292
|
+
"required": [
|
|
293
|
+
"agent_id",
|
|
294
|
+
"operation_id",
|
|
295
|
+
"stages",
|
|
296
|
+
"final_content"
|
|
297
|
+
],
|
|
298
|
+
"properties": {
|
|
299
|
+
"agent_id": {
|
|
300
|
+
"type": "string",
|
|
301
|
+
"format": "uuid"
|
|
302
|
+
},
|
|
303
|
+
"operation_id": {
|
|
304
|
+
"type": "string",
|
|
305
|
+
"format": "uuid"
|
|
306
|
+
},
|
|
307
|
+
"stages": {
|
|
308
|
+
"type": "array",
|
|
309
|
+
"minItems": 4,
|
|
310
|
+
"items": {
|
|
311
|
+
"type": "object",
|
|
312
|
+
"required": [
|
|
313
|
+
"name",
|
|
314
|
+
"output"
|
|
315
|
+
],
|
|
316
|
+
"properties": {
|
|
317
|
+
"name": {
|
|
318
|
+
"type": "string",
|
|
319
|
+
"enum": [
|
|
320
|
+
"structure_builder",
|
|
321
|
+
"industry_validator",
|
|
322
|
+
"prompt_tester",
|
|
323
|
+
"finalizer"
|
|
324
|
+
]
|
|
325
|
+
},
|
|
326
|
+
"output": {
|
|
327
|
+
"type": "object"
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
},
|
|
332
|
+
"final_content": {
|
|
333
|
+
"type": "string"
|
|
334
|
+
},
|
|
335
|
+
"metadata": {
|
|
336
|
+
"type": "object",
|
|
337
|
+
"properties": {
|
|
338
|
+
"total_tokens": {
|
|
339
|
+
"type": "integer"
|
|
340
|
+
},
|
|
341
|
+
"models": {
|
|
342
|
+
"type": "object"
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
"name": "besales_prompt_iterate_get_instructions",
|
|
351
|
+
"description": "⭐ EXTERNAL EXECUTION — 2-stage instructions для iteration: 1) iteration_analysis (analyze user feedback), 2) iteration_recommendation (propose changes).",
|
|
352
|
+
"inputSchema": {
|
|
353
|
+
"type": "object",
|
|
354
|
+
"required": [
|
|
355
|
+
"agent_id",
|
|
356
|
+
"base_version_id",
|
|
357
|
+
"feedback"
|
|
358
|
+
],
|
|
359
|
+
"properties": {
|
|
360
|
+
"agent_id": {
|
|
361
|
+
"type": "string",
|
|
362
|
+
"format": "uuid"
|
|
363
|
+
},
|
|
364
|
+
"base_version_id": {
|
|
365
|
+
"type": "string",
|
|
366
|
+
"format": "uuid"
|
|
367
|
+
},
|
|
368
|
+
"feedback": {
|
|
369
|
+
"type": "object",
|
|
370
|
+
"properties": {
|
|
371
|
+
"general_comments": {
|
|
372
|
+
"type": "string"
|
|
373
|
+
},
|
|
374
|
+
"selections": {
|
|
375
|
+
"type": "array",
|
|
376
|
+
"items": {
|
|
377
|
+
"type": "object"
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"name": "besales_prompt_iterate_submit",
|
|
387
|
+
"description": "Submit готовый iteration result.",
|
|
388
|
+
"inputSchema": {
|
|
389
|
+
"type": "object",
|
|
390
|
+
"required": [
|
|
391
|
+
"agent_id",
|
|
392
|
+
"operation_id",
|
|
393
|
+
"stages",
|
|
394
|
+
"proposed_changes",
|
|
395
|
+
"preview_content"
|
|
396
|
+
],
|
|
397
|
+
"properties": {
|
|
398
|
+
"agent_id": {
|
|
399
|
+
"type": "string",
|
|
400
|
+
"format": "uuid"
|
|
401
|
+
},
|
|
402
|
+
"operation_id": {
|
|
403
|
+
"type": "string",
|
|
404
|
+
"format": "uuid"
|
|
405
|
+
},
|
|
406
|
+
"stages": {
|
|
407
|
+
"type": "array",
|
|
408
|
+
"minItems": 2,
|
|
409
|
+
"items": {
|
|
410
|
+
"type": "object",
|
|
411
|
+
"required": [
|
|
412
|
+
"name",
|
|
413
|
+
"output"
|
|
414
|
+
],
|
|
415
|
+
"properties": {
|
|
416
|
+
"name": {
|
|
417
|
+
"type": "string",
|
|
418
|
+
"enum": [
|
|
419
|
+
"iteration_analysis",
|
|
420
|
+
"iteration_recommendation"
|
|
421
|
+
]
|
|
422
|
+
},
|
|
423
|
+
"output": {
|
|
424
|
+
"type": "object"
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
},
|
|
429
|
+
"proposed_changes": {
|
|
430
|
+
"type": "array",
|
|
431
|
+
"items": {
|
|
432
|
+
"type": "object"
|
|
433
|
+
}
|
|
434
|
+
},
|
|
435
|
+
"preview_content": {
|
|
436
|
+
"type": "string"
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
"name": "besales_prompt_analyze_get_instructions",
|
|
443
|
+
"description": "⭐ EXTERNAL EXECUTION — 4-stage instructions для static analysis: 1) grammar, 2) industry, 3) structure, 4) aggregation. Returns system prompts + JSON schemas; Claude выполняет, submits aggregated issues.",
|
|
444
|
+
"inputSchema": {
|
|
445
|
+
"type": "object",
|
|
446
|
+
"required": [
|
|
447
|
+
"agent_id",
|
|
448
|
+
"version_id"
|
|
449
|
+
],
|
|
450
|
+
"properties": {
|
|
451
|
+
"agent_id": {
|
|
452
|
+
"type": "string",
|
|
453
|
+
"format": "uuid"
|
|
454
|
+
},
|
|
455
|
+
"version_id": {
|
|
456
|
+
"type": "string",
|
|
457
|
+
"format": "uuid"
|
|
458
|
+
},
|
|
459
|
+
"modes": {
|
|
460
|
+
"type": "array",
|
|
461
|
+
"items": {
|
|
462
|
+
"type": "string",
|
|
463
|
+
"enum": [
|
|
464
|
+
"grammar",
|
|
465
|
+
"structure",
|
|
466
|
+
"industry",
|
|
467
|
+
"contradictions",
|
|
468
|
+
"completeness"
|
|
469
|
+
]
|
|
470
|
+
},
|
|
471
|
+
"default": [
|
|
472
|
+
"grammar",
|
|
473
|
+
"structure",
|
|
474
|
+
"contradictions"
|
|
475
|
+
]
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
},
|
|
480
|
+
{
|
|
481
|
+
"name": "besales_prompt_analyze_submit",
|
|
482
|
+
"description": "Submit готовый analysis result.",
|
|
483
|
+
"inputSchema": {
|
|
484
|
+
"type": "object",
|
|
485
|
+
"required": [
|
|
486
|
+
"agent_id",
|
|
487
|
+
"operation_id",
|
|
488
|
+
"stages",
|
|
489
|
+
"aggregated_issues"
|
|
490
|
+
],
|
|
491
|
+
"properties": {
|
|
492
|
+
"agent_id": {
|
|
493
|
+
"type": "string",
|
|
494
|
+
"format": "uuid"
|
|
495
|
+
},
|
|
496
|
+
"operation_id": {
|
|
497
|
+
"type": "string",
|
|
498
|
+
"format": "uuid"
|
|
499
|
+
},
|
|
500
|
+
"stages": {
|
|
501
|
+
"type": "array",
|
|
502
|
+
"minItems": 4,
|
|
503
|
+
"items": {
|
|
504
|
+
"type": "object",
|
|
505
|
+
"required": [
|
|
506
|
+
"name",
|
|
507
|
+
"output"
|
|
508
|
+
],
|
|
509
|
+
"properties": {
|
|
510
|
+
"name": {
|
|
511
|
+
"type": "string",
|
|
512
|
+
"enum": [
|
|
513
|
+
"grammar",
|
|
514
|
+
"industry",
|
|
515
|
+
"structure",
|
|
516
|
+
"aggregation"
|
|
517
|
+
]
|
|
518
|
+
},
|
|
519
|
+
"output": {
|
|
520
|
+
"type": "object"
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
},
|
|
525
|
+
"aggregated_issues": {
|
|
526
|
+
"type": "array",
|
|
527
|
+
"items": {
|
|
528
|
+
"type": "object"
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
},
|
|
534
|
+
{
|
|
535
|
+
"name": "besales_prompt_finalize",
|
|
536
|
+
"description": "Approve prompt version → AgentPromptSyncService creates new agent_version → runtime starts using new prompt.",
|
|
537
|
+
"inputSchema": {
|
|
538
|
+
"type": "object",
|
|
539
|
+
"required": [
|
|
540
|
+
"agent_id",
|
|
541
|
+
"draft_version_id"
|
|
542
|
+
],
|
|
543
|
+
"properties": {
|
|
544
|
+
"agent_id": {
|
|
545
|
+
"type": "string",
|
|
546
|
+
"format": "uuid"
|
|
547
|
+
},
|
|
548
|
+
"draft_version_id": {
|
|
549
|
+
"type": "string",
|
|
550
|
+
"format": "uuid"
|
|
551
|
+
},
|
|
552
|
+
"changelog_note": {
|
|
553
|
+
"type": "string"
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
},
|
|
558
|
+
{
|
|
559
|
+
"name": "besales_sandbox_run_start",
|
|
560
|
+
"description": "Start sandbox run для agent (full multi-persona × multi-scenario testing). Queued async.",
|
|
561
|
+
"inputSchema": {
|
|
562
|
+
"type": "object",
|
|
563
|
+
"required": [
|
|
564
|
+
"agent_id"
|
|
565
|
+
],
|
|
566
|
+
"properties": {
|
|
567
|
+
"agent_id": {
|
|
568
|
+
"type": "string",
|
|
569
|
+
"format": "uuid"
|
|
570
|
+
},
|
|
571
|
+
"scenario_ids": {
|
|
572
|
+
"type": "array",
|
|
573
|
+
"items": {
|
|
574
|
+
"type": "string",
|
|
575
|
+
"format": "uuid"
|
|
576
|
+
}
|
|
577
|
+
},
|
|
578
|
+
"options": {
|
|
579
|
+
"type": "object",
|
|
580
|
+
"properties": {
|
|
581
|
+
"check_routing": {
|
|
582
|
+
"type": "boolean",
|
|
583
|
+
"default": false
|
|
584
|
+
},
|
|
585
|
+
"check_pipeline_transitions": {
|
|
586
|
+
"type": "boolean",
|
|
587
|
+
"default": false
|
|
588
|
+
},
|
|
589
|
+
"check_agent_actions": {
|
|
590
|
+
"type": "boolean",
|
|
591
|
+
"default": false
|
|
592
|
+
},
|
|
593
|
+
"run_rag_golden_tests": {
|
|
594
|
+
"type": "boolean",
|
|
595
|
+
"default": false
|
|
596
|
+
},
|
|
597
|
+
"turns_per_scenario": {
|
|
598
|
+
"type": "integer",
|
|
599
|
+
"minimum": 1,
|
|
600
|
+
"maximum": 50,
|
|
601
|
+
"default": 10
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
},
|
|
608
|
+
{
|
|
609
|
+
"name": "besales_sandbox_findings_get_instructions",
|
|
610
|
+
"description": "⭐ EXTERNAL EXECUTION (NEW v3.1) — получить instructions для analysis sandbox results. Claude локально получает sandbox report + ICP/ТЗ контекст из чата → выдаёт structured findings (категория / severity / suggestion). Это ключевой fix для кейса с irrelevant findings от gpt-4o-mini.",
|
|
611
|
+
"inputSchema": {
|
|
612
|
+
"type": "object",
|
|
613
|
+
"required": [
|
|
614
|
+
"agent_id",
|
|
615
|
+
"run_id"
|
|
616
|
+
],
|
|
617
|
+
"properties": {
|
|
618
|
+
"agent_id": {
|
|
619
|
+
"type": "string",
|
|
620
|
+
"format": "uuid"
|
|
621
|
+
},
|
|
622
|
+
"run_id": {
|
|
623
|
+
"type": "string",
|
|
624
|
+
"format": "uuid"
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
}
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
"name": "besales_sandbox_findings_submit",
|
|
631
|
+
"description": "Submit Claude-generated sandbox findings. Findings сохраняются как SandboxRunFeedback с status=SUBMITTED (improvement-lab consumes).",
|
|
632
|
+
"inputSchema": {
|
|
633
|
+
"type": "object",
|
|
634
|
+
"required": [
|
|
635
|
+
"agent_id",
|
|
636
|
+
"run_id",
|
|
637
|
+
"operation_id",
|
|
638
|
+
"findings"
|
|
639
|
+
],
|
|
640
|
+
"properties": {
|
|
641
|
+
"agent_id": {
|
|
642
|
+
"type": "string",
|
|
643
|
+
"format": "uuid"
|
|
644
|
+
},
|
|
645
|
+
"run_id": {
|
|
646
|
+
"type": "string",
|
|
647
|
+
"format": "uuid"
|
|
648
|
+
},
|
|
649
|
+
"operation_id": {
|
|
650
|
+
"type": "string",
|
|
651
|
+
"format": "uuid"
|
|
652
|
+
},
|
|
653
|
+
"findings": {
|
|
654
|
+
"type": "array",
|
|
655
|
+
"items": {
|
|
656
|
+
"type": "object",
|
|
657
|
+
"required": [
|
|
658
|
+
"category",
|
|
659
|
+
"severity",
|
|
660
|
+
"message"
|
|
661
|
+
],
|
|
662
|
+
"properties": {
|
|
663
|
+
"scenario_id": {
|
|
664
|
+
"type": "string",
|
|
665
|
+
"format": "uuid"
|
|
666
|
+
},
|
|
667
|
+
"category": {
|
|
668
|
+
"type": "string",
|
|
669
|
+
"enum": [
|
|
670
|
+
"hallucination",
|
|
671
|
+
"wrong_action",
|
|
672
|
+
"missed_trigger",
|
|
673
|
+
"wrong_pipeline_transition",
|
|
674
|
+
"rag_miss",
|
|
675
|
+
"bad_tone",
|
|
676
|
+
"other"
|
|
677
|
+
]
|
|
678
|
+
},
|
|
679
|
+
"severity": {
|
|
680
|
+
"type": "string",
|
|
681
|
+
"enum": [
|
|
682
|
+
"low",
|
|
683
|
+
"medium",
|
|
684
|
+
"critical"
|
|
685
|
+
]
|
|
686
|
+
},
|
|
687
|
+
"message": {
|
|
688
|
+
"type": "string"
|
|
689
|
+
},
|
|
690
|
+
"suggestion": {
|
|
691
|
+
"type": "string"
|
|
692
|
+
},
|
|
693
|
+
"turn_index": {
|
|
694
|
+
"type": "integer"
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
},
|
|
702
|
+
{
|
|
703
|
+
"name": "besales_simulation_findings_get_instructions",
|
|
704
|
+
"description": "⭐ EXTERNAL EXECUTION (NEW v3.1) — после simulation (или sandbox-text-only) получить raw dialogues для analysis. Claude добавляет ICP/ТЗ context в анализ — получаются relevant findings, которые internal gpt-4o-mini часто не видит (например, character-level inconsistency).",
|
|
705
|
+
"inputSchema": {
|
|
706
|
+
"type": "object",
|
|
707
|
+
"required": [
|
|
708
|
+
"agent_id",
|
|
709
|
+
"simulation_id"
|
|
710
|
+
],
|
|
711
|
+
"properties": {
|
|
712
|
+
"agent_id": {
|
|
713
|
+
"type": "string",
|
|
714
|
+
"format": "uuid"
|
|
715
|
+
},
|
|
716
|
+
"simulation_id": {
|
|
717
|
+
"type": "string",
|
|
718
|
+
"format": "uuid"
|
|
719
|
+
}
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
},
|
|
723
|
+
{
|
|
724
|
+
"name": "besales_simulation_findings_submit",
|
|
725
|
+
"description": "Submit Claude-generated simulation findings.",
|
|
726
|
+
"inputSchema": {
|
|
727
|
+
"type": "object",
|
|
728
|
+
"required": [
|
|
729
|
+
"agent_id",
|
|
730
|
+
"simulation_id",
|
|
731
|
+
"operation_id",
|
|
732
|
+
"findings"
|
|
733
|
+
],
|
|
734
|
+
"properties": {
|
|
735
|
+
"agent_id": {
|
|
736
|
+
"type": "string",
|
|
737
|
+
"format": "uuid"
|
|
738
|
+
},
|
|
739
|
+
"simulation_id": {
|
|
740
|
+
"type": "string",
|
|
741
|
+
"format": "uuid"
|
|
742
|
+
},
|
|
743
|
+
"operation_id": {
|
|
744
|
+
"type": "string",
|
|
745
|
+
"format": "uuid"
|
|
746
|
+
},
|
|
747
|
+
"findings": {
|
|
748
|
+
"type": "array",
|
|
749
|
+
"items": {
|
|
750
|
+
"type": "object",
|
|
751
|
+
"required": [
|
|
752
|
+
"category",
|
|
753
|
+
"severity",
|
|
754
|
+
"message"
|
|
755
|
+
],
|
|
756
|
+
"properties": {
|
|
757
|
+
"dialogue_id": {
|
|
758
|
+
"type": "string",
|
|
759
|
+
"format": "uuid"
|
|
760
|
+
},
|
|
761
|
+
"category": {
|
|
762
|
+
"type": "string",
|
|
763
|
+
"enum": [
|
|
764
|
+
"hallucination",
|
|
765
|
+
"wrong_action",
|
|
766
|
+
"bad_tone",
|
|
767
|
+
"missed_context",
|
|
768
|
+
"contradiction",
|
|
769
|
+
"off_topic",
|
|
770
|
+
"other"
|
|
771
|
+
]
|
|
772
|
+
},
|
|
773
|
+
"severity": {
|
|
774
|
+
"type": "string",
|
|
775
|
+
"enum": [
|
|
776
|
+
"low",
|
|
777
|
+
"medium",
|
|
778
|
+
"critical"
|
|
779
|
+
]
|
|
780
|
+
},
|
|
781
|
+
"message": {
|
|
782
|
+
"type": "string"
|
|
783
|
+
},
|
|
784
|
+
"suggestion": {
|
|
785
|
+
"type": "string"
|
|
786
|
+
},
|
|
787
|
+
"reference_message_index": {
|
|
788
|
+
"type": "integer"
|
|
789
|
+
}
|
|
790
|
+
}
|
|
791
|
+
}
|
|
792
|
+
}
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
},
|
|
796
|
+
{
|
|
797
|
+
"name": "besales_qa_generation_get_instructions",
|
|
798
|
+
"description": "⭐ EXTERNAL EXECUTION (NEW v3.1) — получить instructions для bulk Q&A pairs generation для knowledge base. Claude генерирует 30+ Q&A pairs из company context + ICP и возвращает structured список. Active PromptHub/Knowledge operation, не Setup Pipeline step.",
|
|
799
|
+
"inputSchema": {
|
|
800
|
+
"type": "object",
|
|
801
|
+
"required": [
|
|
802
|
+
"agent_id"
|
|
803
|
+
],
|
|
804
|
+
"properties": {
|
|
805
|
+
"agent_id": {
|
|
806
|
+
"type": "string",
|
|
807
|
+
"format": "uuid"
|
|
808
|
+
},
|
|
809
|
+
"namespace_context": {
|
|
810
|
+
"type": "string"
|
|
811
|
+
},
|
|
812
|
+
"company_context": {
|
|
813
|
+
"type": "string"
|
|
814
|
+
},
|
|
815
|
+
"icp_profile_id": {
|
|
816
|
+
"type": "string",
|
|
817
|
+
"format": "uuid"
|
|
818
|
+
},
|
|
819
|
+
"target_count": {
|
|
820
|
+
"type": "integer",
|
|
821
|
+
"minimum": 5,
|
|
822
|
+
"maximum": 100,
|
|
823
|
+
"default": 30
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
}
|
|
827
|
+
},
|
|
828
|
+
{
|
|
829
|
+
"name": "besales_qa_generation_submit",
|
|
830
|
+
"description": "Submit Claude-generated Q&A pairs → создаются entries в knowledge_sources.",
|
|
831
|
+
"inputSchema": {
|
|
832
|
+
"type": "object",
|
|
833
|
+
"required": [
|
|
834
|
+
"agent_id",
|
|
835
|
+
"operation_id",
|
|
836
|
+
"qa_pairs"
|
|
837
|
+
],
|
|
838
|
+
"properties": {
|
|
839
|
+
"agent_id": {
|
|
840
|
+
"type": "string",
|
|
841
|
+
"format": "uuid"
|
|
842
|
+
},
|
|
843
|
+
"operation_id": {
|
|
844
|
+
"type": "string",
|
|
845
|
+
"format": "uuid"
|
|
846
|
+
},
|
|
847
|
+
"knowledge_space_id": {
|
|
848
|
+
"type": "string",
|
|
849
|
+
"format": "uuid"
|
|
850
|
+
},
|
|
851
|
+
"qa_pairs": {
|
|
852
|
+
"type": "array",
|
|
853
|
+
"items": {
|
|
854
|
+
"type": "object",
|
|
855
|
+
"required": [
|
|
856
|
+
"question",
|
|
857
|
+
"answer"
|
|
858
|
+
],
|
|
859
|
+
"properties": {
|
|
860
|
+
"question": {
|
|
861
|
+
"type": "string"
|
|
862
|
+
},
|
|
863
|
+
"answer": {
|
|
864
|
+
"type": "string"
|
|
865
|
+
},
|
|
866
|
+
"tags": {
|
|
867
|
+
"type": "array",
|
|
868
|
+
"items": {
|
|
869
|
+
"type": "string"
|
|
870
|
+
}
|
|
871
|
+
}
|
|
872
|
+
}
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
}
|
|
876
|
+
}
|
|
877
|
+
},
|
|
878
|
+
{
|
|
879
|
+
"name": "besales_platform_context_get",
|
|
880
|
+
"description": "Get sanitized platform setup context first when user gives platformId. Returns platform, agents, router, triggers, behavior, follow-up, pipeline settings and readiness flags; never returns channel credentials or secrets.",
|
|
881
|
+
"inputSchema": {
|
|
882
|
+
"type": "object",
|
|
883
|
+
"required": ["platform_id"],
|
|
884
|
+
"properties": {
|
|
885
|
+
"platform_id": { "type": "string", "format": "uuid" }
|
|
886
|
+
}
|
|
887
|
+
}
|
|
888
|
+
},
|
|
889
|
+
{
|
|
890
|
+
"name": "besales_agent_list",
|
|
891
|
+
"description": "List agents attached to an existing platform. Use after context when the user wants to inspect or choose an agent before targeted setup mutations.",
|
|
892
|
+
"inputSchema": {
|
|
893
|
+
"type": "object",
|
|
894
|
+
"required": ["platform_id"],
|
|
895
|
+
"properties": {
|
|
896
|
+
"platform_id": { "type": "string", "format": "uuid" }
|
|
897
|
+
}
|
|
898
|
+
}
|
|
899
|
+
},
|
|
900
|
+
{
|
|
901
|
+
"name": "besales_agent_create",
|
|
902
|
+
"description": "Create a REGULAR AgentChat inside an existing platform. Does not set production prompt content; use PromptHub tools for prompt generation/finalize.",
|
|
903
|
+
"inputSchema": {
|
|
904
|
+
"type": "object",
|
|
905
|
+
"required": ["platform_id", "name", "model_lane"],
|
|
906
|
+
"properties": {
|
|
907
|
+
"platform_id": { "type": "string", "format": "uuid" },
|
|
908
|
+
"name": { "type": "string" },
|
|
909
|
+
"description": { "type": ["string", "null"] },
|
|
910
|
+
"model_lane": { "type": "string", "enum": ["CHEAP", "STANDARD", "DEEP"] },
|
|
911
|
+
"default_icp_profile_id": { "type": "string", "format": "uuid" }
|
|
912
|
+
}
|
|
913
|
+
}
|
|
914
|
+
},
|
|
915
|
+
{
|
|
916
|
+
"name": "besales_agent_update",
|
|
917
|
+
"description": "Patch safe AgentChat metadata for an existing platform agent. Direct baseSystemPrompt edits are rejected; use PromptHub flow for prompt changes.",
|
|
918
|
+
"inputSchema": {
|
|
919
|
+
"type": "object",
|
|
920
|
+
"required": ["platform_id", "agent_id"],
|
|
921
|
+
"properties": {
|
|
922
|
+
"platform_id": { "type": "string", "format": "uuid" },
|
|
923
|
+
"agent_id": { "type": "string", "format": "uuid" },
|
|
924
|
+
"name": { "type": "string" },
|
|
925
|
+
"description": { "type": ["string", "null"] },
|
|
926
|
+
"model_lane": { "type": "string", "enum": ["CHEAP", "STANDARD", "DEEP"] },
|
|
927
|
+
"default_icp_profile_id": { "type": ["string", "null"], "format": "uuid" },
|
|
928
|
+
"use_global_history": { "type": "boolean" },
|
|
929
|
+
"adapt_to_user_language": { "type": "boolean" }
|
|
930
|
+
}
|
|
931
|
+
}
|
|
932
|
+
},
|
|
933
|
+
{
|
|
934
|
+
"name": "besales_agent_tools_update",
|
|
935
|
+
"description": "Patch tool bindings for one agent without deleting omitted tools. Use to enable, disable, reprioritize or add existing workspace/platform tools.",
|
|
936
|
+
"inputSchema": {
|
|
937
|
+
"type": "object",
|
|
938
|
+
"required": ["platform_id", "agent_id", "tools"],
|
|
939
|
+
"properties": {
|
|
940
|
+
"platform_id": { "type": "string", "format": "uuid" },
|
|
941
|
+
"agent_id": { "type": "string", "format": "uuid" },
|
|
942
|
+
"tools": {
|
|
943
|
+
"type": "array",
|
|
944
|
+
"items": {
|
|
945
|
+
"type": "object",
|
|
946
|
+
"required": ["tool_id"],
|
|
947
|
+
"properties": {
|
|
948
|
+
"tool_id": { "type": "string" },
|
|
949
|
+
"priority": { "type": "integer", "minimum": 1, "maximum": 100 },
|
|
950
|
+
"is_enabled": { "type": "boolean" },
|
|
951
|
+
"agent_specific_conditions": { "type": ["object", "null"] }
|
|
952
|
+
}
|
|
953
|
+
}
|
|
954
|
+
}
|
|
955
|
+
}
|
|
956
|
+
}
|
|
957
|
+
},
|
|
958
|
+
{
|
|
959
|
+
"name": "besales_router_update",
|
|
960
|
+
"description": "Patch router metadata/additionalPrompt only. Routing rules are separate. Direct routing or skip-LLM changes require explicit_confirmation.",
|
|
961
|
+
"inputSchema": {
|
|
962
|
+
"type": "object",
|
|
963
|
+
"required": ["platform_id"],
|
|
964
|
+
"properties": {
|
|
965
|
+
"platform_id": { "type": "string", "format": "uuid" },
|
|
966
|
+
"name": { "type": "string" },
|
|
967
|
+
"model": { "type": "string" },
|
|
968
|
+
"temperature": { "type": "number", "minimum": 0, "maximum": 2 },
|
|
969
|
+
"max_tokens": { "type": ["integer", "null"], "minimum": 1 },
|
|
970
|
+
"additional_prompt": { "type": ["string", "null"] },
|
|
971
|
+
"adapt_to_user_language": { "type": "boolean" },
|
|
972
|
+
"skip_llm_routing": { "type": "boolean" },
|
|
973
|
+
"direct_routing_agent_id": { "type": ["string", "null"], "format": "uuid" },
|
|
974
|
+
"explicit_confirmation": { "type": "boolean" },
|
|
975
|
+
"confirmation_reason": { "type": "string" }
|
|
976
|
+
}
|
|
977
|
+
}
|
|
978
|
+
},
|
|
979
|
+
{
|
|
980
|
+
"name": "besales_routing_rule_upsert",
|
|
981
|
+
"description": "Create or patch one router routing rule. Does not bulk replace the router. Direct agent routing requires explicit_confirmation.",
|
|
982
|
+
"inputSchema": {
|
|
983
|
+
"type": "object",
|
|
984
|
+
"required": ["platform_id", "routing_strategy", "custom_router_prompt"],
|
|
985
|
+
"properties": {
|
|
986
|
+
"platform_id": { "type": "string", "format": "uuid" },
|
|
987
|
+
"routing_rule_id": { "type": "string", "format": "uuid" },
|
|
988
|
+
"routing_strategy": { "type": "string", "enum": ["LEAD_STATUS", "CUSTOM_VARIABLE"] },
|
|
989
|
+
"deal_mode": { "type": ["string", "null"] },
|
|
990
|
+
"custom_variable_id": { "type": ["string", "null"], "format": "uuid" },
|
|
991
|
+
"variable_value": { "type": ["string", "null"] },
|
|
992
|
+
"custom_router_prompt": { "type": "string" },
|
|
993
|
+
"is_enabled": { "type": "boolean" },
|
|
994
|
+
"priority": { "type": "integer", "minimum": 0 },
|
|
995
|
+
"skip_llm": { "type": "boolean" },
|
|
996
|
+
"direct_agent_id": { "type": ["string", "null"], "format": "uuid" },
|
|
997
|
+
"lead_statuses": { "type": "array", "items": { "type": "object" } },
|
|
998
|
+
"explicit_confirmation": { "type": "boolean" },
|
|
999
|
+
"confirmation_reason": { "type": "string" }
|
|
1000
|
+
}
|
|
1001
|
+
}
|
|
1002
|
+
},
|
|
1003
|
+
{
|
|
1004
|
+
"name": "besales_trigger_upsert",
|
|
1005
|
+
"description": "Create trigger or patch trigger metadata for an agent. Existing actions are not bulk-replaced; webhook, operator, silent AI, CRM, calendar, outbound and follow-up actions require explicit_confirmation.",
|
|
1006
|
+
"inputSchema": {
|
|
1007
|
+
"type": "object",
|
|
1008
|
+
"required": ["platform_id", "agent_id"],
|
|
1009
|
+
"properties": {
|
|
1010
|
+
"platform_id": { "type": "string", "format": "uuid" },
|
|
1011
|
+
"agent_id": { "type": "string", "format": "uuid" },
|
|
1012
|
+
"trigger_id": { "type": "string", "format": "uuid" },
|
|
1013
|
+
"name": { "type": "string" },
|
|
1014
|
+
"condition": { "type": "string" },
|
|
1015
|
+
"is_enabled": { "type": "boolean" },
|
|
1016
|
+
"priority": { "type": "integer", "minimum": 1, "maximum": 100 },
|
|
1017
|
+
"stop_propagation": { "type": "boolean" },
|
|
1018
|
+
"scope": { "type": "string", "enum": ["ON_USER_MESSAGE"] },
|
|
1019
|
+
"metadata": { "type": "object" },
|
|
1020
|
+
"actions": { "type": "array", "items": { "type": "object" } },
|
|
1021
|
+
"explicit_confirmation": { "type": "boolean" },
|
|
1022
|
+
"confirmation_reason": { "type": "string" }
|
|
1023
|
+
}
|
|
1024
|
+
}
|
|
1025
|
+
},
|
|
1026
|
+
{
|
|
1027
|
+
"name": "besales_behavior_update",
|
|
1028
|
+
"description": "Patch allowlisted AgentBehavior fields for a platform. Operator/CRM-affecting behavior changes require explicit_confirmation.",
|
|
1029
|
+
"inputSchema": {
|
|
1030
|
+
"type": "object",
|
|
1031
|
+
"required": ["platform_id", "updates"],
|
|
1032
|
+
"properties": {
|
|
1033
|
+
"platform_id": { "type": "string", "format": "uuid" },
|
|
1034
|
+
"updates": { "type": "object" },
|
|
1035
|
+
"explicit_confirmation": { "type": "boolean" },
|
|
1036
|
+
"confirmation_reason": { "type": "string" }
|
|
1037
|
+
}
|
|
1038
|
+
}
|
|
1039
|
+
},
|
|
1040
|
+
{
|
|
1041
|
+
"name": "besales_followup_sequence_upsert",
|
|
1042
|
+
"description": "Create or patch a follow-up sequence definition only. Runtime executions and scheduled messages are read-only; enabling requires explicit_confirmation.",
|
|
1043
|
+
"inputSchema": {
|
|
1044
|
+
"type": "object",
|
|
1045
|
+
"required": ["platform_id", "name", "type", "trigger", "config"],
|
|
1046
|
+
"properties": {
|
|
1047
|
+
"platform_id": { "type": "string", "format": "uuid" },
|
|
1048
|
+
"sequence_id": { "type": "string", "format": "uuid" },
|
|
1049
|
+
"name": { "type": "string" },
|
|
1050
|
+
"description": { "type": ["string", "null"] },
|
|
1051
|
+
"type": { "type": "string", "enum": ["MEETING_REMINDER", "INACTIVE_USER_REACTIVATION", "LOST_CLIENTS"] },
|
|
1052
|
+
"enabled": { "type": "boolean" },
|
|
1053
|
+
"trigger": { "type": "string", "enum": ["USER_INACTIVITY", "DEAL_CLOSED", "BIRTHDAY_DATE", "MEETING_TIME", "CUSTOM_SCHEDULE", "LOST_CLIENTS"] },
|
|
1054
|
+
"config": { "type": "object" },
|
|
1055
|
+
"explicit_confirmation": { "type": "boolean" },
|
|
1056
|
+
"confirmation_reason": { "type": "string" }
|
|
1057
|
+
}
|
|
1058
|
+
}
|
|
1059
|
+
},
|
|
1060
|
+
{
|
|
1061
|
+
"name": "besales_pipeline_settings_update",
|
|
1062
|
+
"description": "Patch allowlisted platform PipelineSettings. CRM stage movement or lead/contact creation fields require explicit_confirmation.",
|
|
1063
|
+
"inputSchema": {
|
|
1064
|
+
"type": "object",
|
|
1065
|
+
"required": ["platform_id", "updates"],
|
|
1066
|
+
"properties": {
|
|
1067
|
+
"platform_id": { "type": "string", "format": "uuid" },
|
|
1068
|
+
"updates": { "type": "object" },
|
|
1069
|
+
"explicit_confirmation": { "type": "boolean" },
|
|
1070
|
+
"confirmation_reason": { "type": "string" }
|
|
1071
|
+
}
|
|
1072
|
+
}
|
|
1073
|
+
},
|
|
1074
|
+
{
|
|
1075
|
+
"name": "besales_platform_settings_update",
|
|
1076
|
+
"description": "Patch allowlisted platform settings only. Token/API key/secret fields are blocked; CRM-writing settings require explicit_confirmation.",
|
|
1077
|
+
"inputSchema": {
|
|
1078
|
+
"type": "object",
|
|
1079
|
+
"required": ["platform_id", "settings"],
|
|
1080
|
+
"properties": {
|
|
1081
|
+
"platform_id": { "type": "string", "format": "uuid" },
|
|
1082
|
+
"settings": { "type": "object" },
|
|
1083
|
+
"explicit_confirmation": { "type": "boolean" },
|
|
1084
|
+
"confirmation_reason": { "type": "string" }
|
|
1085
|
+
}
|
|
1086
|
+
}
|
|
1087
|
+
},
|
|
1088
|
+
{
|
|
1089
|
+
"name": "besales_audit_revert",
|
|
1090
|
+
"description": "Revert a reversible audit log created by Platform Setup Bridge for the same workspace/platform. CREATE reverts use disable/archive semantics where supported.",
|
|
1091
|
+
"inputSchema": {
|
|
1092
|
+
"type": "object",
|
|
1093
|
+
"required": ["platform_id", "audit_log_id"],
|
|
1094
|
+
"properties": {
|
|
1095
|
+
"platform_id": { "type": "string", "format": "uuid" },
|
|
1096
|
+
"audit_log_id": { "type": "string", "format": "uuid" }
|
|
1097
|
+
}
|
|
1098
|
+
}
|
|
1099
|
+
}
|
|
1100
|
+
],
|
|
1101
|
+
"resources": [
|
|
1102
|
+
{
|
|
1103
|
+
"uri": "besales://concepts/icp",
|
|
1104
|
+
"name": "ICP Concept Reference",
|
|
1105
|
+
"description": "Что такое ICP, segments / personas / scenarios.",
|
|
1106
|
+
"mimeType": "text/markdown"
|
|
1107
|
+
},
|
|
1108
|
+
{
|
|
1109
|
+
"uri": "besales://concepts/triggers",
|
|
1110
|
+
"name": "Actions & Triggers Reference",
|
|
1111
|
+
"description": "agent_actions, step types, condition language.",
|
|
1112
|
+
"mimeType": "text/markdown"
|
|
1113
|
+
},
|
|
1114
|
+
{
|
|
1115
|
+
"uri": "besales://concepts/sandbox",
|
|
1116
|
+
"name": "Sandbox Reference",
|
|
1117
|
+
"description": "Что такое sandbox, какие сценарии тестирует.",
|
|
1118
|
+
"mimeType": "text/markdown"
|
|
1119
|
+
},
|
|
1120
|
+
{
|
|
1121
|
+
"uri": "besales://concepts/handoff",
|
|
1122
|
+
"name": "Multi-agent Routing & Handoffs",
|
|
1123
|
+
"description": "Routing rules vs handoff rules, memory transfer.",
|
|
1124
|
+
"mimeType": "text/markdown"
|
|
1125
|
+
},
|
|
1126
|
+
{
|
|
1127
|
+
"uri": "besales://concepts/external-execution",
|
|
1128
|
+
"name": "External Execution Pattern (NEW v3.1)",
|
|
1129
|
+
"description": "Как работает 2-step pattern instructions/submit для LLM операций. Когда использовать external vs internal mode.",
|
|
1130
|
+
"mimeType": "text/markdown"
|
|
1131
|
+
}
|
|
1132
|
+
],
|
|
1133
|
+
"summary": {
|
|
1134
|
+
"total_tools": 31,
|
|
1135
|
+
"tools_by_category": {
|
|
1136
|
+
"icp_external_execution": 2,
|
|
1137
|
+
"prompt_generation_external": 2,
|
|
1138
|
+
"prompt_iteration_external": 2,
|
|
1139
|
+
"prompt_analysis_external": 2,
|
|
1140
|
+
"prompt_finalize": 1,
|
|
1141
|
+
"sandbox_run_start": 1,
|
|
1142
|
+
"sandbox_findings_external": 2,
|
|
1143
|
+
"simulation_findings_external": 2,
|
|
1144
|
+
"qa_generation_external": 2,
|
|
1145
|
+
"platform_setup_bridge": 13
|
|
1146
|
+
},
|
|
1147
|
+
"external_execution_pairs": [
|
|
1148
|
+
"besales_icp_analysis_get_instructions / submit",
|
|
1149
|
+
"besales_prompt_generate_get_instructions / submit",
|
|
1150
|
+
"besales_prompt_iterate_get_instructions / submit",
|
|
1151
|
+
"besales_prompt_analyze_get_instructions / submit",
|
|
1152
|
+
"besales_sandbox_findings_get_instructions / submit",
|
|
1153
|
+
"besales_simulation_findings_get_instructions / submit",
|
|
1154
|
+
"besales_qa_generation_get_instructions / submit"
|
|
1155
|
+
],
|
|
1156
|
+
"newly_added_in_v3_1": [
|
|
1157
|
+
"besales_sandbox_findings_get_instructions",
|
|
1158
|
+
"besales_sandbox_findings_submit",
|
|
1159
|
+
"besales_simulation_findings_get_instructions",
|
|
1160
|
+
"besales_simulation_findings_submit",
|
|
1161
|
+
"besales_qa_generation_get_instructions",
|
|
1162
|
+
"besales_qa_generation_submit"
|
|
1163
|
+
],
|
|
1164
|
+
"newly_added_in_p3_x_platform_setup_bridge": [
|
|
1165
|
+
"besales_platform_context_get",
|
|
1166
|
+
"besales_agent_list",
|
|
1167
|
+
"besales_agent_create",
|
|
1168
|
+
"besales_agent_update",
|
|
1169
|
+
"besales_agent_tools_update",
|
|
1170
|
+
"besales_router_update",
|
|
1171
|
+
"besales_routing_rule_upsert",
|
|
1172
|
+
"besales_trigger_upsert",
|
|
1173
|
+
"besales_behavior_update",
|
|
1174
|
+
"besales_followup_sequence_upsert",
|
|
1175
|
+
"besales_pipeline_settings_update",
|
|
1176
|
+
"besales_platform_settings_update",
|
|
1177
|
+
"besales_audit_revert"
|
|
1178
|
+
],
|
|
1179
|
+
"deferred_phase4_setup_tools": [
|
|
1180
|
+
"besales_business_context_save",
|
|
1181
|
+
"besales_channel_setup_save",
|
|
1182
|
+
"besales_crm_setup_save",
|
|
1183
|
+
"besales_finalize_agent",
|
|
1184
|
+
"besales_get_step_guidance",
|
|
1185
|
+
"besales_setup_events_poll",
|
|
1186
|
+
"besales_setup_session_advance",
|
|
1187
|
+
"besales_setup_session_create",
|
|
1188
|
+
"besales_setup_session_get",
|
|
1189
|
+
"besales_setup_step_submit_output"
|
|
1190
|
+
]
|
|
1191
|
+
}
|
|
1192
|
+
}
|