@besales/mcp 0.33.0 → 0.37.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.
Files changed (37) hide show
  1. package/README.md +45 -12
  2. package/dist/http/api-client.d.ts +2 -0
  3. package/dist/http/api-client.js +55 -0
  4. package/dist/http/api-client.js.map +1 -1
  5. package/dist/schemas/mcp-tools.json +965 -30
  6. package/dist/tools/definitions/broadcast-analytics.d.ts +28 -7
  7. package/dist/tools/definitions/broadcast-analytics.js +399 -33
  8. package/dist/tools/definitions/broadcast-analytics.js.map +1 -1
  9. package/dist/tools/definitions/broadcast-mailing-variants.d.ts +19 -0
  10. package/dist/tools/definitions/broadcast-mailing-variants.js +107 -0
  11. package/dist/tools/definitions/broadcast-mailing-variants.js.map +1 -0
  12. package/dist/tools/definitions/getcourse-wave.d.ts +147 -0
  13. package/dist/tools/definitions/getcourse-wave.js +505 -0
  14. package/dist/tools/definitions/getcourse-wave.js.map +1 -0
  15. package/dist/tools/definitions/platform-setup.d.ts +73 -8
  16. package/dist/tools/definitions/platform-setup.js +106 -504
  17. package/dist/tools/definitions/platform-setup.js.map +1 -1
  18. package/dist/tools/definitions/scheduled-tasks.d.ts +4 -0
  19. package/dist/tools/definitions/scheduled-tasks.js +14 -2
  20. package/dist/tools/definitions/scheduled-tasks.js.map +1 -1
  21. package/dist/tools/definitions/session.js +6 -4
  22. package/dist/tools/definitions/session.js.map +1 -1
  23. package/dist/tools/definitions/shared.d.ts +53 -0
  24. package/dist/tools/definitions/shared.js +71 -0
  25. package/dist/tools/definitions/shared.js.map +1 -1
  26. package/dist/tools/definitions.d.ts +121 -15
  27. package/dist/tools/definitions.js +2 -0
  28. package/dist/tools/definitions.js.map +1 -1
  29. package/dist/tools/registry-mapping-cases-core.d.ts +34 -0
  30. package/dist/tools/registry-mapping-cases-core.js +700 -0
  31. package/dist/tools/registry-mapping-cases-core.js.map +1 -0
  32. package/dist/tools/registry-mapping-cases-platform.d.ts +2 -0
  33. package/dist/tools/registry-mapping-cases-platform.js +910 -0
  34. package/dist/tools/registry-mapping-cases-platform.js.map +1 -0
  35. package/dist/tools/registry.js +12 -6
  36. package/dist/tools/registry.js.map +1 -1
  37. package/package.json +1 -1
@@ -0,0 +1,700 @@
1
+ export function createCoreMappingCases(ids) {
2
+ const { workspaceId, agentId, operationId, icpId, crmConnectionId, versionId, runId, scenarioId, simulationId, dialogueId, knowledgeSpaceId, segmentId, platformId, sampleId, } = ids;
3
+ return [] = [
4
+ {
5
+ name: 'besales_icp_list',
6
+ input: { workspace_id: workspaceId, limit: 20, cursor: 'next' },
7
+ method: 'GET',
8
+ path: `/workspaces/${workspaceId}/icp?limit=20&cursor=next`,
9
+ },
10
+ {
11
+ name: 'besales_icp_get',
12
+ input: { icp_id: icpId },
13
+ method: 'GET',
14
+ path: `/icp/${icpId}`,
15
+ },
16
+ {
17
+ name: 'besales_icp_scenarios_list',
18
+ input: { icp_id: icpId },
19
+ method: 'GET',
20
+ path: `/icp/${icpId}/scenarios`,
21
+ },
22
+ {
23
+ name: 'besales_icp_sample_messages',
24
+ input: { sample_id: sampleId },
25
+ method: 'GET',
26
+ path: `/samples/${sampleId}/messages`,
27
+ },
28
+ {
29
+ name: 'besales_icp_create',
30
+ input: {
31
+ workspace_id: workspaceId,
32
+ name: 'SaaS ICP',
33
+ description: 'B2B SaaS buyers',
34
+ source: 'from_dialogues',
35
+ },
36
+ path: `/workspaces/${workspaceId}/icp`,
37
+ body: {
38
+ name: 'SaaS ICP',
39
+ description: 'B2B SaaS buyers',
40
+ source: { type: 'from_dialogues' },
41
+ },
42
+ },
43
+ {
44
+ name: 'besales_icp_import_dialogues',
45
+ input: {
46
+ icp_id: icpId,
47
+ mode: 'text',
48
+ crm_connection_id: crmConnectionId,
49
+ outcome_filter: ['won', 'lost'],
50
+ days_ago: 90,
51
+ anonymize: true,
52
+ gdpr_confirmed: true,
53
+ },
54
+ path: `/icp/${icpId}/samples/import-from-crm`,
55
+ body: {
56
+ crmConnectionId,
57
+ outcomeFilter: ['won', 'lost'],
58
+ ageFilter: { daysAgo: 90 },
59
+ anonymize: true,
60
+ gdprConfirmed: true,
61
+ },
62
+ },
63
+ {
64
+ name: 'besales_icp_analysis_get_instructions',
65
+ input: {
66
+ workspace_id: workspaceId,
67
+ icp_profile_id: icpId,
68
+ business_context: { industry: 'SaaS' },
69
+ },
70
+ path: `/workspaces/${workspaceId}/icp/instructions`,
71
+ body: {
72
+ icpProfileId: icpId,
73
+ businessContext: { industry: 'SaaS' },
74
+ },
75
+ },
76
+ {
77
+ name: 'besales_icp_analysis_submit',
78
+ input: {
79
+ workspace_id: workspaceId,
80
+ operation_id: operationId,
81
+ icp_profile_id: icpId,
82
+ segments: [
83
+ {
84
+ id: segmentId,
85
+ name: 'Founders',
86
+ language_style: { tone: 'direct' },
87
+ },
88
+ ],
89
+ personas: [
90
+ {
91
+ name: 'Nina',
92
+ segment_id: segmentId,
93
+ pain_points: ['Manual sales work'],
94
+ messaging_hints: { avoid: ['jargon'] },
95
+ },
96
+ ],
97
+ },
98
+ path: `/workspaces/${workspaceId}/icp/external-submit`,
99
+ body: {
100
+ operationId,
101
+ icpProfileId: icpId,
102
+ segments: [
103
+ {
104
+ id: segmentId,
105
+ name: 'Founders',
106
+ languageStyle: { tone: 'direct' },
107
+ },
108
+ ],
109
+ personas: [
110
+ {
111
+ name: 'Nina',
112
+ segmentId,
113
+ painPoints: ['Manual sales work'],
114
+ messagingHints: { avoid: ['jargon'] },
115
+ },
116
+ ],
117
+ },
118
+ },
119
+ {
120
+ name: 'besales_prompt_generate_get_instructions',
121
+ input: {
122
+ agent_id: agentId,
123
+ icp_profile_id: icpId,
124
+ business_context: { industry: 'SaaS' },
125
+ style_hints: {
126
+ formality: 'friendly',
127
+ verbosity: 'balanced',
128
+ language: 'ru',
129
+ message_direction: 'OUTBOUND',
130
+ },
131
+ },
132
+ path: `/agents/${agentId}/prompt/generate/instructions`,
133
+ body: {
134
+ sourceType: 'icp_full',
135
+ icpProfileId: icpId,
136
+ businessContext: { industry: 'SaaS' },
137
+ styleHints: {
138
+ formality: 'friendly',
139
+ verbosity: 'balanced',
140
+ language: 'ru',
141
+ messageDirection: 'OUTBOUND',
142
+ },
143
+ },
144
+ },
145
+ {
146
+ name: 'besales_prompt_generate_submit',
147
+ input: {
148
+ agent_id: agentId,
149
+ operation_id: operationId,
150
+ stages: [
151
+ { name: 'structure_builder', output: { ok: true } },
152
+ { name: 'industry_validator', output: { ok: true } },
153
+ { name: 'prompt_tester', output: { ok: true } },
154
+ { name: 'finalizer', output: { ok: true } },
155
+ ],
156
+ final_content: 'Final prompt',
157
+ metadata: { total_tokens: 123, models: { finalizer: 'claude' } },
158
+ },
159
+ path: `/agents/${agentId}/prompt/generate/${operationId}/submit`,
160
+ body: {
161
+ stages: [
162
+ { name: 'structure_builder', output: { ok: true } },
163
+ { name: 'industry_validator', output: { ok: true } },
164
+ { name: 'prompt_tester', output: { ok: true } },
165
+ { name: 'finalizer', output: { ok: true } },
166
+ ],
167
+ finalContent: 'Final prompt',
168
+ metadata: { totalTokens: 123, models: { finalizer: 'claude' } },
169
+ },
170
+ },
171
+ {
172
+ name: 'besales_prompt_analyze_get_instructions',
173
+ input: { agent_id: agentId, version_id: versionId, modes: ['grammar', 'structure'] },
174
+ path: `/agents/${agentId}/prompt/analyze/instructions`,
175
+ body: { versionId, modes: ['grammar', 'structure'] },
176
+ },
177
+ {
178
+ name: 'besales_prompt_analyze_submit',
179
+ input: {
180
+ agent_id: agentId,
181
+ operation_id: operationId,
182
+ stages: [
183
+ { name: 'grammar', output: { ok: true } },
184
+ { name: 'industry', output: { ok: true } },
185
+ { name: 'structure', output: { ok: true } },
186
+ { name: 'aggregation', output: { ok: true } },
187
+ ],
188
+ aggregated_issues: [{ category: 'grammar', severity: 'warning' }],
189
+ },
190
+ path: `/agents/${agentId}/prompt/analyze/${operationId}/submit`,
191
+ body: {
192
+ stages: [
193
+ { name: 'grammar', output: { ok: true } },
194
+ { name: 'industry', output: { ok: true } },
195
+ { name: 'structure', output: { ok: true } },
196
+ { name: 'aggregation', output: { ok: true } },
197
+ ],
198
+ aggregatedIssues: [{ category: 'grammar', severity: 'warning' }],
199
+ },
200
+ },
201
+ {
202
+ name: 'besales_prompt_finalize',
203
+ input: { agent_id: agentId, draft_version_id: versionId, changelog_note: 'Approved' },
204
+ path: `/agents/${agentId}/prompt/approve`,
205
+ body: { draftVersionId: versionId, changelogNote: 'Approved' },
206
+ },
207
+ {
208
+ name: 'besales_sandbox_run_start',
209
+ input: {
210
+ agent_id: agentId,
211
+ scenario_ids: [scenarioId],
212
+ options: {
213
+ check_routing: true,
214
+ check_pipeline_transitions: false,
215
+ check_agent_actions: true,
216
+ run_rag_golden_tests: false,
217
+ turns_per_scenario: 8,
218
+ },
219
+ },
220
+ path: `/agents/${agentId}/sandbox-runs`,
221
+ body: {
222
+ scenarioIds: [scenarioId],
223
+ options: {
224
+ mode: 'single_agent',
225
+ clientMode: 'scripted',
226
+ checkRouting: true,
227
+ checkPipelineTransitions: false,
228
+ checkAgentActions: true,
229
+ runRagGoldenTests: false,
230
+ turnsPerScenario: 8,
231
+ },
232
+ },
233
+ },
234
+ {
235
+ name: 'besales_sandbox_findings_get_instructions',
236
+ input: { agent_id: agentId, run_id: runId },
237
+ path: `/agents/${agentId}/sandbox/runs/${runId}/findings/instructions`,
238
+ },
239
+ {
240
+ name: 'besales_sandbox_findings_submit',
241
+ input: {
242
+ agent_id: agentId,
243
+ run_id: runId,
244
+ operation_id: operationId,
245
+ findings: [
246
+ {
247
+ scenario_id: scenarioId,
248
+ category: 'hallucination',
249
+ severity: 'critical',
250
+ message: 'Invented policy',
251
+ suggestion: 'Use KB only',
252
+ turn_index: 2,
253
+ },
254
+ ],
255
+ },
256
+ path: `/agents/${agentId}/sandbox/runs/${runId}/findings/${operationId}/submit`,
257
+ body: {
258
+ findings: [
259
+ {
260
+ scenarioId,
261
+ category: 'hallucination',
262
+ severity: 'critical',
263
+ message: 'Invented policy',
264
+ suggestion: 'Use KB only',
265
+ turnIndex: 2,
266
+ },
267
+ ],
268
+ },
269
+ },
270
+ {
271
+ name: 'besales_simulation_findings_get_instructions',
272
+ input: { agent_id: agentId, simulation_id: simulationId },
273
+ path: `/agents/${agentId}/prompt/simulate-findings/instructions`,
274
+ body: { simulationId },
275
+ },
276
+ {
277
+ name: 'besales_simulation_findings_submit',
278
+ input: {
279
+ agent_id: agentId,
280
+ simulation_id: simulationId,
281
+ operation_id: operationId,
282
+ findings: [
283
+ {
284
+ dialogue_id: dialogueId,
285
+ category: 'off_topic',
286
+ severity: 'medium',
287
+ message: 'Went off topic',
288
+ suggestion: 'Refocus',
289
+ reference_message_index: 4,
290
+ },
291
+ ],
292
+ },
293
+ path: `/agents/${agentId}/prompt/simulate-findings/${operationId}/submit`,
294
+ body: {
295
+ findings: [
296
+ {
297
+ dialogueId,
298
+ category: 'off_topic',
299
+ severity: 'medium',
300
+ message: 'Went off topic',
301
+ suggestion: 'Refocus',
302
+ referenceMessageIndex: 4,
303
+ },
304
+ ],
305
+ },
306
+ },
307
+ {
308
+ name: 'besales_qa_generation_get_instructions',
309
+ input: {
310
+ agent_id: agentId,
311
+ namespace_context: 'Docs namespace',
312
+ company_context: 'B2B SaaS',
313
+ icp_profile_id: icpId,
314
+ target_count: 25,
315
+ },
316
+ path: `/agents/${agentId}/knowledge/qa-generation/instructions`,
317
+ body: {
318
+ namespaceContext: 'Docs namespace',
319
+ companyContext: 'B2B SaaS',
320
+ icpProfileId: icpId,
321
+ targetCount: 25,
322
+ },
323
+ },
324
+ {
325
+ name: 'besales_qa_generation_submit',
326
+ input: {
327
+ agent_id: agentId,
328
+ operation_id: operationId,
329
+ knowledge_space_id: knowledgeSpaceId,
330
+ qa_pairs: [{ question: 'What is it?', answer: 'A platform', tags: ['intro'] }],
331
+ },
332
+ path: `/agents/${agentId}/knowledge/qa-generation/${operationId}/submit`,
333
+ body: {
334
+ knowledgeSpaceId,
335
+ qaPairs: [{ question: 'What is it?', answer: 'A platform', tags: ['intro'] }],
336
+ },
337
+ },
338
+ {
339
+ name: 'besales_test_scenario_generate_get_instructions',
340
+ input: {
341
+ workspace_id: workspaceId,
342
+ icp_profile_id: icpId,
343
+ count: 3,
344
+ business_context: { industry: 'SaaS' },
345
+ },
346
+ path: `/workspaces/${workspaceId}/test-scenarios/instructions`,
347
+ body: {
348
+ icpProfileId: icpId,
349
+ count: 3,
350
+ businessContext: { industry: 'SaaS' },
351
+ },
352
+ },
353
+ {
354
+ name: 'besales_test_scenario_generate_submit',
355
+ input: {
356
+ workspace_id: workspaceId,
357
+ operation_id: operationId,
358
+ icp_profile_id: icpId,
359
+ scenarios: [
360
+ {
361
+ name: 'Impulsive buyer asks discount',
362
+ description: 'Hot lead spotted on landing',
363
+ segment_ids: [segmentId],
364
+ situations: [
365
+ { role: 'client', text: 'Дайте скидку 20%' },
366
+ { role: 'agent', text: 'Опишите задачу — посмотрим' },
367
+ ],
368
+ },
369
+ ],
370
+ },
371
+ path: `/workspaces/${workspaceId}/test-scenarios/external-submit`,
372
+ body: {
373
+ operationId,
374
+ icpProfileId: icpId,
375
+ scenarios: [
376
+ {
377
+ name: 'Impulsive buyer asks discount',
378
+ description: 'Hot lead spotted on landing',
379
+ segmentIds: [segmentId],
380
+ situations: [
381
+ { role: 'client', text: 'Дайте скидку 20%' },
382
+ { role: 'agent', text: 'Опишите задачу — посмотрим' },
383
+ ],
384
+ },
385
+ ],
386
+ },
387
+ },
388
+ {
389
+ name: 'besales_workspace_overview',
390
+ input: { workspace_id: workspaceId },
391
+ method: 'GET',
392
+ path: `/workspaces/${workspaceId}/overview`,
393
+ },
394
+ {
395
+ name: 'besales_platform_context_get',
396
+ input: { platform_id: platformId },
397
+ method: 'GET',
398
+ path: `/platforms/${platformId}/setup/context`,
399
+ },
400
+ {
401
+ name: 'besales_getcourse_wave_import',
402
+ input: {
403
+ workspace_id: workspaceId,
404
+ platform_id: platformId,
405
+ crm_id: crmConnectionId,
406
+ channels: ['MAX', 'VK'],
407
+ funnel: 'dih',
408
+ segment: 'post-web',
409
+ segment_description: 'Смотрел вебинар 120+ минут, без заявки и оплаты',
410
+ cohort_label: 'DIH post-web 12.07 batch 2',
411
+ message_variant: 'opener-b',
412
+ found_count: 137,
413
+ product_code: 'dih',
414
+ product_name: 'Дыхание',
415
+ contacts: [
416
+ {
417
+ contact_id: '12345',
418
+ deal_id: '67890',
419
+ transport: 'MAX',
420
+ dialog_id: '112233',
421
+ email: 'lead@example.com',
422
+ phone: '+79990000000',
423
+ first_name: 'Иван',
424
+ last_name: 'Иванов',
425
+ lead_last_active_at: '2026-07-11T09:30:00.000Z',
426
+ segment_entered_at: '2026-07-12T07:15:00.000Z',
427
+ },
428
+ ],
429
+ confirm: true,
430
+ },
431
+ method: 'POST',
432
+ path: `/workspaces/${workspaceId}/getcourse-waves/import`,
433
+ body: {
434
+ platformId,
435
+ crmId: crmConnectionId,
436
+ channels: ['MAX', 'VK'],
437
+ funnel: 'dih',
438
+ segment: 'post-web',
439
+ segmentDescription: 'Смотрел вебинар 120+ минут, без заявки и оплаты',
440
+ cohortLabel: 'DIH post-web 12.07 batch 2',
441
+ messageVariant: 'opener-b',
442
+ foundCount: 137,
443
+ productCode: 'dih',
444
+ productName: 'Дыхание',
445
+ contacts: [
446
+ {
447
+ contactId: '12345',
448
+ dealId: '67890',
449
+ transport: 'MAX',
450
+ dialogId: '112233',
451
+ email: 'lead@example.com',
452
+ phone: '+79990000000',
453
+ firstName: 'Иван',
454
+ lastName: 'Иванов',
455
+ leadLastActiveAt: '2026-07-11T09:30:00.000Z',
456
+ segmentEnteredAt: '2026-07-12T07:15:00.000Z',
457
+ },
458
+ ],
459
+ confirm: true,
460
+ },
461
+ },
462
+ {
463
+ name: 'besales_getcourse_wave_run_start',
464
+ input: {
465
+ workspace_id: workspaceId,
466
+ platform_id: platformId,
467
+ crm_id: crmConnectionId,
468
+ launch_key: workspaceId,
469
+ dry_run_hash: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
470
+ launch_type: 'status',
471
+ channels: ['MAX', 'VK'],
472
+ funnel: 'dih',
473
+ segment: 'post-web',
474
+ segment_description: 'Смотрел вебинар 120+ минут, без заявки и оплаты',
475
+ cohort_label: 'DIH durable 26.07',
476
+ message_variant: 'opener-c',
477
+ found_count: 5000,
478
+ product_code: 'dih',
479
+ product_name: 'Дыхание',
480
+ deal_fields: { '123': 'wave-ready' },
481
+ contacts: [
482
+ {
483
+ contact_id: '12345',
484
+ deal_id: '67890',
485
+ transport: 'MAX',
486
+ dialog_id: '112233',
487
+ email: 'lead@example.com',
488
+ phone: '+79990000000',
489
+ first_name: 'Иван',
490
+ last_name: 'Иванов',
491
+ lead_last_active_at: '2026-07-25T09:30:00.000Z',
492
+ segment_entered_at: '2026-07-26T07:15:00.000Z',
493
+ },
494
+ ],
495
+ confirm: true,
496
+ check_messenger_presence: true,
497
+ dedup_window_days: 30,
498
+ dedup_scope: 'same_funnel',
499
+ preflight: {
500
+ enabled: true,
501
+ product_title: 'Дыхание',
502
+ product_match_key: 'дыхание',
503
+ offer_id: 42,
504
+ other_product_active_deal_mode: 'block',
505
+ },
506
+ chunk_size: 250,
507
+ explicit_confirmation: true,
508
+ confirmation_reason: 'Оператор подтвердил запуск durable-волны',
509
+ },
510
+ method: 'POST',
511
+ path: `/workspaces/${workspaceId}/getcourse-wave-runs`,
512
+ body: {
513
+ platformId,
514
+ crmId: crmConnectionId,
515
+ launchKey: workspaceId,
516
+ dryRunHash: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',
517
+ launchType: 'status',
518
+ channels: ['MAX', 'VK'],
519
+ funnel: 'dih',
520
+ segment: 'post-web',
521
+ segmentDescription: 'Смотрел вебинар 120+ минут, без заявки и оплаты',
522
+ cohortLabel: 'DIH durable 26.07',
523
+ messageVariant: 'opener-c',
524
+ foundCount: 5000,
525
+ productCode: 'dih',
526
+ productName: 'Дыхание',
527
+ dealFields: { '123': 'wave-ready' },
528
+ contacts: [
529
+ {
530
+ contactId: '12345',
531
+ dealId: '67890',
532
+ transport: 'MAX',
533
+ dialogId: '112233',
534
+ email: 'lead@example.com',
535
+ phone: '+79990000000',
536
+ firstName: 'Иван',
537
+ lastName: 'Иванов',
538
+ leadLastActiveAt: '2026-07-25T09:30:00.000Z',
539
+ segmentEnteredAt: '2026-07-26T07:15:00.000Z',
540
+ },
541
+ ],
542
+ confirm: true,
543
+ checkMessengerPresence: true,
544
+ dedupWindowDays: 30,
545
+ dedupScope: 'same_funnel',
546
+ preflight: {
547
+ enabled: true,
548
+ productTitle: 'Дыхание',
549
+ productMatchKey: 'дыхание',
550
+ offerId: 42,
551
+ otherProductActiveDealMode: 'block',
552
+ },
553
+ chunkSize: 250,
554
+ },
555
+ },
556
+ {
557
+ name: 'besales_getcourse_wave_run_status',
558
+ input: { workspace_id: workspaceId, run_id: runId },
559
+ method: 'GET',
560
+ path: `/workspaces/${workspaceId}/getcourse-wave-runs/${runId}`,
561
+ },
562
+ {
563
+ name: 'besales_getcourse_wave_run_contacts',
564
+ input: {
565
+ workspace_id: workspaceId,
566
+ run_id: runId,
567
+ status: 'UNKNOWN',
568
+ cursor: operationId,
569
+ limit: 500,
570
+ },
571
+ method: 'GET',
572
+ path: `/workspaces/${workspaceId}/getcourse-wave-runs/${runId}/contacts?status=UNKNOWN&cursor=${operationId}&limit=500`,
573
+ },
574
+ {
575
+ name: 'besales_getcourse_wave_run_cancel',
576
+ input: { workspace_id: workspaceId, run_id: runId },
577
+ method: 'POST',
578
+ path: `/workspaces/${workspaceId}/getcourse-wave-runs/${runId}/cancel`,
579
+ },
580
+ {
581
+ name: 'besales_getcourse_wave_run_batch_start',
582
+ input: {
583
+ workspace_id: workspaceId,
584
+ batch_key: 'dih-batch-2026-07-26-attempt-1',
585
+ platform_id: platformId,
586
+ crm_id: crmConnectionId,
587
+ segments: [
588
+ {
589
+ launch_type: 'status',
590
+ contacts: [
591
+ {
592
+ contact_id: '12345',
593
+ deal_id: '67890',
594
+ transport: 'MAX',
595
+ dialog_id: '112233',
596
+ email: 'lead@example.com',
597
+ phone: '+79990000000',
598
+ first_name: 'Иван',
599
+ last_name: 'Иванов',
600
+ lead_last_active_at: '2026-07-25T09:30:00.000Z',
601
+ segment_entered_at: '2026-07-26T07:15:00.000Z',
602
+ },
603
+ ],
604
+ channels: ['MAX', 'VK'],
605
+ deal_fields: { '123': 'wave-ready' },
606
+ funnel: 'dih',
607
+ segment: 'post-web',
608
+ segment_description: 'Смотрел вебинар 120+ минут, без заявки и оплаты',
609
+ cohort_label: 'DIH batch 26.07',
610
+ message_variant: 'opener-c',
611
+ found_count: 200,
612
+ product_code: 'dih',
613
+ product_name: 'Дыхание',
614
+ preflight: {
615
+ enabled: true,
616
+ product_title: 'Дыхание',
617
+ product_match_key: 'дыхание',
618
+ offer_id: 42,
619
+ other_product_active_deal_mode: 'block',
620
+ },
621
+ check_messenger_presence: true,
622
+ dedup_window_days: 30,
623
+ dedup_scope: 'same_funnel',
624
+ chunk_size: 250,
625
+ },
626
+ ],
627
+ confirm: true,
628
+ explicit_confirmation: true,
629
+ confirmation_reason: 'Оператор подтвердил запуск очереди волн',
630
+ },
631
+ method: 'POST',
632
+ path: `/workspaces/${workspaceId}/getcourse-wave-runs/batch`,
633
+ body: {
634
+ batchKey: 'dih-batch-2026-07-26-attempt-1',
635
+ platformId,
636
+ crmId: crmConnectionId,
637
+ segments: [
638
+ {
639
+ launchType: 'status',
640
+ contacts: [
641
+ {
642
+ contactId: '12345',
643
+ dealId: '67890',
644
+ transport: 'MAX',
645
+ dialogId: '112233',
646
+ email: 'lead@example.com',
647
+ phone: '+79990000000',
648
+ firstName: 'Иван',
649
+ lastName: 'Иванов',
650
+ leadLastActiveAt: '2026-07-25T09:30:00.000Z',
651
+ segmentEnteredAt: '2026-07-26T07:15:00.000Z',
652
+ },
653
+ ],
654
+ channels: ['MAX', 'VK'],
655
+ dealFields: { '123': 'wave-ready' },
656
+ funnel: 'dih',
657
+ segment: 'post-web',
658
+ segmentDescription: 'Смотрел вебинар 120+ минут, без заявки и оплаты',
659
+ cohortLabel: 'DIH batch 26.07',
660
+ messageVariant: 'opener-c',
661
+ foundCount: 200,
662
+ productCode: 'dih',
663
+ productName: 'Дыхание',
664
+ preflight: {
665
+ enabled: true,
666
+ productTitle: 'Дыхание',
667
+ productMatchKey: 'дыхание',
668
+ offerId: 42,
669
+ otherProductActiveDealMode: 'block',
670
+ },
671
+ checkMessengerPresence: true,
672
+ dedupWindowDays: 30,
673
+ dedupScope: 'same_funnel',
674
+ chunkSize: 250,
675
+ },
676
+ ],
677
+ confirm: true,
678
+ },
679
+ },
680
+ {
681
+ name: 'besales_getcourse_wave_run_batch_status',
682
+ input: { workspace_id: workspaceId, batch_id: runId },
683
+ method: 'GET',
684
+ path: `/workspaces/${workspaceId}/getcourse-wave-runs/batches/${runId}`,
685
+ },
686
+ {
687
+ name: 'besales_getcourse_wave_run_batch_cancel',
688
+ input: { workspace_id: workspaceId, batch_id: runId },
689
+ method: 'POST',
690
+ path: `/workspaces/${workspaceId}/getcourse-wave-runs/batches/${runId}/cancel`,
691
+ },
692
+ {
693
+ name: 'besales_getcourse_wave_run_batch_resume',
694
+ input: { workspace_id: workspaceId, batch_id: runId },
695
+ method: 'POST',
696
+ path: `/workspaces/${workspaceId}/getcourse-wave-runs/batches/${runId}/resume`,
697
+ },
698
+ ];
699
+ }
700
+ //# sourceMappingURL=registry-mapping-cases-core.js.map