@besales/mcp 0.45.0 → 0.47.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 (189) hide show
  1. package/README.md +96 -55
  2. package/dist/auth/connection-store.d.ts +21 -1
  3. package/dist/auth/connection-store.js +46 -2
  4. package/dist/auth/connection-store.js.map +1 -1
  5. package/dist/auth/oauth-client.d.ts +5 -1
  6. package/dist/auth/oauth-client.js +22 -12
  7. package/dist/auth/oauth-client.js.map +1 -1
  8. package/dist/cli.js +14 -5
  9. package/dist/cli.js.map +1 -1
  10. package/dist/http/api-client.d.ts +16 -1
  11. package/dist/http/api-client.js +50 -2
  12. package/dist/http/api-client.js.map +1 -1
  13. package/dist/instructions/server-instructions.d.ts +4 -13
  14. package/dist/instructions/server-instructions.js +68 -274
  15. package/dist/instructions/server-instructions.js.map +1 -1
  16. package/dist/prompts/registry.d.ts +15 -0
  17. package/dist/prompts/registry.js +83 -0
  18. package/dist/prompts/registry.js.map +1 -0
  19. package/dist/resources/concepts/feedback-sheets.md +7 -4
  20. package/dist/resources/concepts/handoff.md +4 -1
  21. package/dist/resources/concepts/sandbox.md +14 -5
  22. package/dist/resources/concepts/triggers.md +6 -2
  23. package/dist/resources/concepts/workbook-classification.md +26 -21
  24. package/dist/resources/docs/campaigns.md +20 -0
  25. package/dist/resources/docs/crm-integration.md +3 -1
  26. package/dist/resources/docs/follow-up.md +19 -0
  27. package/dist/resources/docs/platforms.md +2 -2
  28. package/dist/resources/docs/routing.md +18 -0
  29. package/dist/resources/docs/task-state.md +30 -0
  30. package/dist/resources/docs/trigger-actions.md +28 -0
  31. package/dist/resources/docs/variables.md +18 -0
  32. package/dist/resources/registry.js +51 -2
  33. package/dist/resources/registry.js.map +1 -1
  34. package/dist/resources/workflows/compare-models.md +4 -3
  35. package/dist/resources/workflows/connect-crm-from-scratch.md +8 -0
  36. package/dist/resources/workflows/extract-from-document.md +8 -1
  37. package/dist/resources/workflows/iterate-with-sandbox.md +5 -2
  38. package/dist/resources/workflows/platform-setup-from-scratch.md +90 -2
  39. package/dist/resources/workflows/production-readiness-check.md +22 -18
  40. package/dist/schemas/mcp-tools.json +1537 -177
  41. package/dist/server.d.ts +2 -0
  42. package/dist/server.js +8 -2
  43. package/dist/server.js.map +1 -1
  44. package/dist/tasks/task-state-store.d.ts +68 -0
  45. package/dist/tasks/task-state-store.js +278 -0
  46. package/dist/tasks/task-state-store.js.map +1 -0
  47. package/dist/tools/annotations.d.ts +7 -0
  48. package/dist/tools/annotations.js +16 -0
  49. package/dist/tools/annotations.js.map +1 -0
  50. package/dist/tools/contracts.js +7 -1
  51. package/dist/tools/contracts.js.map +1 -1
  52. package/dist/tools/definitions/agent-design.d.ts +49 -20
  53. package/dist/tools/definitions/agent-design.js +192 -19
  54. package/dist/tools/definitions/agent-design.js.map +1 -1
  55. package/dist/tools/definitions/analytics.d.ts +40 -0
  56. package/dist/tools/definitions/analytics.js +233 -0
  57. package/dist/tools/definitions/analytics.js.map +1 -0
  58. package/dist/tools/definitions/broadcast-analytics.d.ts +5 -4
  59. package/dist/tools/definitions/broadcast-analytics.js +26 -4
  60. package/dist/tools/definitions/broadcast-analytics.js.map +1 -1
  61. package/dist/tools/definitions/broadcast-mailing-variants.d.ts +2 -0
  62. package/dist/tools/definitions/broadcast-mailing-variants.js +10 -0
  63. package/dist/tools/definitions/broadcast-mailing-variants.js.map +1 -1
  64. package/dist/tools/definitions/broadcast-scheduler.d.ts +20 -1
  65. package/dist/tools/definitions/broadcast-scheduler.js +134 -8
  66. package/dist/tools/definitions/broadcast-scheduler.js.map +1 -1
  67. package/dist/tools/definitions/contacts.d.ts +15 -0
  68. package/dist/tools/definitions/contacts.js +84 -0
  69. package/dist/tools/definitions/contacts.js.map +1 -0
  70. package/dist/tools/definitions/crm-platform.d.ts +2 -0
  71. package/dist/tools/definitions/crm-platform.js +95 -5
  72. package/dist/tools/definitions/crm-platform.js.map +1 -1
  73. package/dist/tools/definitions/datasource.d.ts +1 -0
  74. package/dist/tools/definitions/datasource.js +16 -1
  75. package/dist/tools/definitions/datasource.js.map +1 -1
  76. package/dist/tools/definitions/dialogue-audit.d.ts +2 -2
  77. package/dist/tools/definitions/dialogue-audit.js +54 -16
  78. package/dist/tools/definitions/dialogue-audit.js.map +1 -1
  79. package/dist/tools/definitions/dialogue-export.d.ts +1 -1
  80. package/dist/tools/definitions/dialogue-export.js +12 -0
  81. package/dist/tools/definitions/dialogue-export.js.map +1 -1
  82. package/dist/tools/definitions/external-api-channels.js +39 -12
  83. package/dist/tools/definitions/external-api-channels.js.map +1 -1
  84. package/dist/tools/definitions/follow-up-funnel-test.js +4 -0
  85. package/dist/tools/definitions/follow-up-funnel-test.js.map +1 -1
  86. package/dist/tools/definitions/follow-up-setup.js +3 -0
  87. package/dist/tools/definitions/follow-up-setup.js.map +1 -1
  88. package/dist/tools/definitions/follow-up.d.ts +1 -1
  89. package/dist/tools/definitions/follow-up.js +6 -0
  90. package/dist/tools/definitions/follow-up.js.map +1 -1
  91. package/dist/tools/definitions/getcourse-anchor-refresh.d.ts +3 -0
  92. package/dist/tools/definitions/getcourse-anchor-refresh.js +29 -2
  93. package/dist/tools/definitions/getcourse-anchor-refresh.js.map +1 -1
  94. package/dist/tools/definitions/getcourse-cold-welcome.d.ts +20 -2
  95. package/dist/tools/definitions/getcourse-cold-welcome.js +128 -7
  96. package/dist/tools/definitions/getcourse-cold-welcome.js.map +1 -1
  97. package/dist/tools/definitions/getcourse-wave.js +14 -0
  98. package/dist/tools/definitions/getcourse-wave.js.map +1 -1
  99. package/dist/tools/definitions/help.d.ts +8 -0
  100. package/dist/tools/definitions/help.js +219 -0
  101. package/dist/tools/definitions/help.js.map +1 -0
  102. package/dist/tools/definitions/knowledge.d.ts +27 -5
  103. package/dist/tools/definitions/knowledge.js +200 -33
  104. package/dist/tools/definitions/knowledge.js.map +1 -1
  105. package/dist/tools/definitions/link-tracking.js +31 -0
  106. package/dist/tools/definitions/link-tracking.js.map +1 -1
  107. package/dist/tools/definitions/model-comparison.js +12 -3
  108. package/dist/tools/definitions/model-comparison.js.map +1 -1
  109. package/dist/tools/definitions/operational-overview.d.ts +3 -0
  110. package/dist/tools/definitions/operational-overview.js +23 -0
  111. package/dist/tools/definitions/operational-overview.js.map +1 -0
  112. package/dist/tools/definitions/operator-workflow.d.ts +20 -0
  113. package/dist/tools/definitions/operator-workflow.js +114 -0
  114. package/dist/tools/definitions/operator-workflow.js.map +1 -0
  115. package/dist/tools/definitions/platform-setup.d.ts +54 -3
  116. package/dist/tools/definitions/platform-setup.js +211 -5
  117. package/dist/tools/definitions/platform-setup.js.map +1 -1
  118. package/dist/tools/definitions/scheduled-tasks.js +2 -0
  119. package/dist/tools/definitions/scheduled-tasks.js.map +1 -1
  120. package/dist/tools/definitions/session.js +103 -5
  121. package/dist/tools/definitions/session.js.map +1 -1
  122. package/dist/tools/definitions/shared.d.ts +272 -10
  123. package/dist/tools/definitions/shared.js +154 -8
  124. package/dist/tools/definitions/shared.js.map +1 -1
  125. package/dist/tools/definitions/task-state.d.ts +76 -0
  126. package/dist/tools/definitions/task-state.js +301 -0
  127. package/dist/tools/definitions/task-state.js.map +1 -0
  128. package/dist/tools/definitions/trigger-contact-claims.d.ts +7 -0
  129. package/dist/tools/definitions/trigger-contact-claims.js +60 -0
  130. package/dist/tools/definitions/trigger-contact-claims.js.map +1 -0
  131. package/dist/tools/definitions.d.ts +334 -35
  132. package/dist/tools/definitions.js +14 -0
  133. package/dist/tools/definitions.js.map +1 -1
  134. package/dist/tools/description-localization.d.ts +2 -0
  135. package/dist/tools/description-localization.js +46 -0
  136. package/dist/tools/description-localization.js.map +1 -0
  137. package/dist/tools/incomplete-list.d.ts +23 -0
  138. package/dist/tools/incomplete-list.js +39 -0
  139. package/dist/tools/incomplete-list.js.map +1 -0
  140. package/dist/tools/inventory.d.ts +10 -0
  141. package/dist/tools/inventory.js +49 -0
  142. package/dist/tools/inventory.js.map +1 -0
  143. package/dist/tools/registry-mapping-cases-core.js +122 -4
  144. package/dist/tools/registry-mapping-cases-core.js.map +1 -1
  145. package/dist/tools/registry-mapping-cases-platform.js +69 -0
  146. package/dist/tools/registry-mapping-cases-platform.js.map +1 -1
  147. package/dist/tools/registry.d.ts +2 -0
  148. package/dist/tools/registry.js +60 -8
  149. package/dist/tools/registry.js.map +1 -1
  150. package/dist/tools/result-envelope.d.ts +46 -0
  151. package/dist/tools/result-envelope.js +184 -0
  152. package/dist/tools/result-envelope.js.map +1 -0
  153. package/dist/tools/result.d.ts +41 -3
  154. package/dist/tools/result.js +229 -27
  155. package/dist/tools/result.js.map +1 -1
  156. package/dist/tools/tool-title.d.ts +2 -0
  157. package/dist/tools/tool-title.js +12 -0
  158. package/dist/tools/tool-title.js.map +1 -0
  159. package/dist/tools/toolsets.d.ts +37 -0
  160. package/dist/tools/toolsets.js +64 -0
  161. package/dist/tools/toolsets.js.map +1 -0
  162. package/dist/tools/trigger-action-config.js +4 -0
  163. package/dist/tools/trigger-action-config.js.map +1 -1
  164. package/dist/tools/verify-with.d.ts +5 -0
  165. package/dist/tools/verify-with.js +36 -0
  166. package/dist/tools/verify-with.js.map +1 -0
  167. package/dist/types/api-contract.gen.d.ts +2612 -332
  168. package/dist/utils/logger.d.ts +11 -0
  169. package/dist/utils/logger.js +64 -8
  170. package/dist/utils/logger.js.map +1 -1
  171. package/docs/agent-usage-guide.full.ru.md +21 -15
  172. package/docs/agent-usage-guide.ru.md +24 -16
  173. package/docs/async-operation-lifecycle.md +46 -0
  174. package/docs/connect.ru.md +120 -0
  175. package/docs/evals/model-behavior-scorecard.md +80 -0
  176. package/docs/failure-semantics.md +56 -0
  177. package/docs/help-navigation.md +48 -0
  178. package/docs/host-compatibility-matrix.md +153 -0
  179. package/docs/host-setup.md +22 -6
  180. package/docs/operation-coverage.md +114 -0
  181. package/docs/pii-policy.md +46 -0
  182. package/docs/response-size-budget.md +150 -0
  183. package/docs/task-state.md +58 -0
  184. package/docs/tool-effects.md +46 -0
  185. package/docs/tool-surface.md +91 -0
  186. package/package.json +6 -2
  187. package/scripts/model-eval-server.js +213 -0
  188. package/scripts/probe-mcp-protocol.js +134 -0
  189. package/scripts/run-model-eval.js +447 -0
@@ -43,6 +43,11 @@ const variantContentShape = {
43
43
  // ⚠️ УСТАРЕЛО с 23.08.2026 и на поведение НЕ влияет: режим убран, поле принимается ради
44
44
  // обратной совместимости и игнорируется сервером.
45
45
  cold_welcome_channels_mode: coldWelcomeChannelsModeEnum.optional(),
46
+ // ПЕРЕКРЫТИЕ тихого периода этой рассылкой, в сутках. `0` = «этот текст можно слать внутри
47
+ // тихого периода» — это и есть разрешение. `null` = рассылка не перекрывает (действует
48
+ // площадка, затем воркспейс, затем 0). ⚠️ `null` и `0` — РАЗНЫЕ значения: не подставляй ноль
49
+ // вместо «не задано».
50
+ quiet_days_override: z.number().int().min(0).nullable().optional(),
46
51
  default_deal_fields: z
47
52
  .union([
48
53
  z.record(z.string().regex(/^\d+$/, 'Ключ default_deal_fields обязан быть числовым fieldId GetCourse'), z.union([z.string(), z.number(), z.boolean(), z.null()])),
@@ -60,11 +65,13 @@ const variantContentBody = (input) => ({
60
65
  defaultChannels: input.default_channels,
61
66
  coldWelcomeChannels: input.cold_welcome_channels,
62
67
  coldWelcomeChannelsMode: input.cold_welcome_channels_mode,
68
+ quietDaysOverride: input.quiet_days_override,
63
69
  defaultDealFields: input.default_deal_fields,
64
70
  });
65
71
  export const broadcastMailingVariantTools = [
66
72
  defineTool({
67
73
  name: 'besales_broadcast_mailing_variant_list',
74
+ sideEffect: 'none',
68
75
  requiredFields: [],
69
76
  defaultWorkspaceId: true,
70
77
  schema: z
@@ -85,6 +92,7 @@ export const broadcastMailingVariantTools = [
85
92
  }),
86
93
  defineTool({
87
94
  name: 'besales_broadcast_mailing_variant_create',
95
+ sideEffect: 'write',
88
96
  requiredFields: ['name'],
89
97
  defaultWorkspaceId: true,
90
98
  schema: z
@@ -112,6 +120,7 @@ export const broadcastMailingVariantTools = [
112
120
  }),
113
121
  defineTool({
114
122
  name: 'besales_broadcast_mailing_variant_update',
123
+ sideEffect: 'write',
115
124
  requiredFields: ['mailing_variant_id'],
116
125
  defaultWorkspaceId: true,
117
126
  schema: z
@@ -162,6 +171,7 @@ export const broadcastMailingVariantTools = [
162
171
  }),
163
172
  defineTool({
164
173
  name: 'besales_broadcast_mailing_variant_delete',
174
+ sideEffect: 'write',
165
175
  requiredFields: ['mailing_variant_id', 'explicit_confirmation'],
166
176
  defaultWorkspaceId: true,
167
177
  schema: z
@@ -1 +1 @@
1
- {"version":3,"file":"broadcast-mailing-variants.js","sourceRoot":"","sources":["../../../src/tools/definitions/broadcast-mailing-variants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"broadcast-mailing-variants.js","sourceRoot":"","sources":["../../../src/tools/definitions/broadcast-mailing-variants.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,11 @@ export declare const broadcastSchedulerTools: (import("./shared.js").ToolDefinit
20
20
  workspace_id?: string | undefined;
21
21
  funnels?: string[] | "all" | undefined;
22
22
  product_codes?: string[] | "all" | undefined;
23
+ window_mode?: "FIXED" | "ROLLING" | undefined;
24
+ window_from_local?: string | undefined;
25
+ window_to_local?: string | undefined;
23
26
  days_of_week?: number[] | undefined;
27
+ days_of_month?: number[] | undefined;
24
28
  channels?: ("Site" | "Email" | "SMS" | "Telegram" | "Facebook" | "VK" | "Chatium" | "WhatsApp" | "Viber" | "MAX")[] | undefined;
25
29
  channels_mode?: "RESTRICT" | "ADD" | undefined;
26
30
  is_enabled?: boolean | undefined;
@@ -38,7 +42,11 @@ export declare const broadcastSchedulerTools: (import("./shared.js").ToolDefinit
38
42
  workspace_id?: string | undefined;
39
43
  funnels?: string[] | "all" | undefined;
40
44
  product_codes?: string[] | "all" | undefined;
45
+ window_mode?: "FIXED" | "ROLLING" | undefined;
46
+ window_from_local?: string | undefined;
47
+ window_to_local?: string | undefined;
41
48
  days_of_week?: number[] | undefined;
49
+ days_of_month?: number[] | undefined;
42
50
  channels?: ("Site" | "Email" | "SMS" | "Telegram" | "Facebook" | "VK" | "Chatium" | "WhatsApp" | "Viber" | "MAX")[] | undefined;
43
51
  channels_mode?: "RESTRICT" | "ADD" | undefined;
44
52
  is_enabled?: boolean | undefined;
@@ -50,6 +58,11 @@ export declare const broadcastSchedulerTools: (import("./shared.js").ToolDefinit
50
58
  schedule_id: string;
51
59
  workspace_id?: string | undefined;
52
60
  limit?: number | undefined;
61
+ }> | import("./shared.js").ToolDefinition<{
62
+ workspace_id?: string | undefined;
63
+ from?: string | undefined;
64
+ to?: string | undefined;
65
+ limit?: number | undefined;
53
66
  }> | import("./shared.js").ToolDefinition<{
54
67
  segment_id: string;
55
68
  facets: {
@@ -61,8 +74,14 @@ export declare const broadcastSchedulerTools: (import("./shared.js").ToolDefinit
61
74
  webinarDayMin?: number | undefined;
62
75
  webinarDayMax?: number | undefined;
63
76
  bannerClick?: "ANY" | "YES" | "NO" | undefined;
77
+ prelist?: "ANY" | "YES" | "NO" | undefined;
78
+ previousSegment?: {
79
+ key: string;
80
+ minDaysSince: number;
81
+ } | undefined;
82
+ untouchedOnly?: boolean | undefined;
64
83
  };
65
- freshness_anchor: "SERIES_END" | "SERIES_END_PLUS_WAIT" | "LAST_APPLICATION" | "REGISTRATION";
84
+ freshness_anchor: "REGISTRATION" | "SERIES_END" | "SERIES_END_PLUS_WAIT" | "LAST_APPLICATION" | "PRELIST";
66
85
  workspace_id?: string | undefined;
67
86
  wait_after_series_end_hours?: number | undefined;
68
87
  priority?: number | undefined;
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { compactObject, defineTool, getcourseTransportEnum, uuidSchema, withInstructions, } from './shared.js';
2
+ import { buildListQuery, compactObject, defineTool, getcourseTransportEnum, uuidSchema, withInstructions, } from './shared.js';
3
3
  /** Границы — паритет с DTO бэкенда: расхождение даёт 400 уже после подтверждения оператором. */
4
4
  const DAILY_CAP_MAX = 5000;
5
5
  /**
@@ -9,18 +9,48 @@ const DAILY_CAP_MAX = 5000;
9
9
  */
10
10
  const FRESHNESS_DAYS_MAX = 78;
11
11
  const COOLDOWN_DAYS_MAX = 365;
12
+ /**
13
+ * Потолок строк в выдаче снимков — паритет с `POOL_SNAPSHOT_LIST_LIMIT` бэкенда.
14
+ *
15
+ * ⚠️⚠️ Границу обязан знать ИМЕННО агент, а не только сервер: ответ печатается целиком, и полный
16
+ * период на две тысячи строк со счётчиками — это мегабайты текста. Инструмент заведён из-за
17
+ * таймаута предпросмотра; без потолка он упёрся бы в предел того же рода с другой стороны.
18
+ */
19
+ const POOL_SNAPSHOT_LIST_LIMIT = 2000;
12
20
  const WAIT_HOURS_MAX = 720;
21
+ /** Локальная дата площадки — та же форма, что у бэкенда. */
22
+ const LOCAL_DATE_RE = /^\d{4}-\d{2}-\d{2}$/u;
13
23
  const orderSchema = z.enum(['FRESH_FIRST', 'OLD_FIRST']);
14
24
  const anchorSchema = z.enum([
15
25
  'SERIES_END',
16
26
  'SERIES_END_PLUS_WAIT',
17
27
  'LAST_APPLICATION',
18
28
  'REGISTRATION',
29
+ // ⚠️ Схема СТРОГАЯ: значение, объявленное на сервере и забытое здесь, отвергается ещё до
30
+ // запроса — фича остаётся недостижимой через MCP, и выглядит это как ошибка ввода агента.
31
+ 'PRELIST',
19
32
  ]);
20
33
  /**
21
34
  * Тело расписания. `funnels`/`product_codes` принимают литерал `all` — обычный пользователь
22
35
  * говорит «шли по всем воронкам», и заставлять его перечислять их руками незачем.
23
36
  */
37
+ /**
38
+ * Пара «дни недели + числа месяца» запрещена.
39
+ *
40
+ * ⚠️ Правило продублировано в схеме намеренно: бэкенд и CHECK базы её тоже не пускают, но модель
41
+ * узнавала бы об этом из 400-й — а описание инструмента для того и существует, чтобы правило было
42
+ * известно ДО вызова.
43
+ */
44
+ const assertSingleRepeatAxis = (input, ctx) => {
45
+ if ((input.days_of_week?.length ?? 0) > 0 && (input.days_of_month?.length ?? 0) > 0) {
46
+ ctx.addIssue({
47
+ code: z.ZodIssueCode.custom,
48
+ path: ['days_of_month'],
49
+ message: 'Повтор задаётся ЛИБО days_of_week, ЛИБО days_of_month: вместе они дают «31-е и ' +
50
+ 'понедельник», то есть расписание, которое не сработает годами',
51
+ });
52
+ }
53
+ };
24
54
  const scheduleShape = {
25
55
  workspace_id: uuidSchema.optional(),
26
56
  segment_id: uuidSchema,
@@ -32,10 +62,20 @@ const scheduleShape = {
32
62
  .union([z.literal('all'), z.array(z.string().trim().min(1).max(64)).max(50)])
33
63
  .optional(),
34
64
  freshness_days: z.number().int().min(1).max(FRESHNESS_DAYS_MAX),
65
+ window_mode: z.enum(['ROLLING', 'FIXED']).optional(),
66
+ // ⚠️ ЛОКАЛЬНАЯ дата площадки, а не момент: момент сдвинул бы границу на смещение зоны.
67
+ window_from_local: z.string().regex(LOCAL_DATE_RE, 'window_from_local: дата ГГГГ-ММ-ДД').optional(),
68
+ // Конец ВКЛЮЧИТЕЛЬНО: «по 20 августа» берёт весь двадцатый день.
69
+ window_to_local: z.string().regex(LOCAL_DATE_RE, 'window_to_local: дата ГГГГ-ММ-ДД').optional(),
35
70
  time_local: z
36
71
  .string()
37
72
  .regex(/^([01]\d|2[0-3]):([0-5]\d)$/, 'time_local: формат HH:mm в таймзоне площадки'),
38
73
  days_of_week: z.array(z.number().int().min(1).max(7)).max(7).optional(),
74
+ // ⚠️ Взаимоисключимо с `days_of_week`: вместе они означают «31-е И понедельник». Пару отвергает
75
+ // и бэкенд 400-й, и CHECK базы — но узнавать об этом из ошибки сервера модель не должна, поэтому
76
+ // запрет продублирован схемой (см. `superRefine` ниже). Число больше длины месяца попадает на
77
+ // ПОСЛЕДНИЙ его день.
78
+ days_of_month: z.array(z.number().int().min(1).max(31)).max(31).optional(),
39
79
  daily_cap: z.number().int().min(1).max(DAILY_CAP_MAX),
40
80
  selection_order: orderSchema,
41
81
  cooldown_days: z.number().int().min(0).max(COOLDOWN_DAYS_MAX),
@@ -66,8 +106,12 @@ const toScheduleBody = (input) => compactObject({
66
106
  funnels: toList(input.funnels),
67
107
  productCodes: toList(input.product_codes),
68
108
  freshnessDays: input.freshness_days,
109
+ windowMode: input.window_mode,
110
+ windowFromLocal: input.window_from_local,
111
+ windowToLocal: input.window_to_local,
69
112
  timeLocal: input.time_local,
70
113
  daysOfWeek: input.days_of_week,
114
+ daysOfMonth: input.days_of_month,
71
115
  dailyCap: input.daily_cap,
72
116
  selectionOrder: input.selection_order,
73
117
  cooldownDays: input.cooldown_days,
@@ -88,6 +132,7 @@ const toScheduleBody = (input) => compactObject({
88
132
  export const broadcastSchedulerTools = [
89
133
  defineTool({
90
134
  name: 'besales_broadcast_schedule_list',
135
+ sideEffect: 'none',
91
136
  requiredFields: [],
92
137
  defaultWorkspaceId: true,
93
138
  schema: z.object({ workspace_id: uuidSchema.optional() }).strict(),
@@ -102,6 +147,7 @@ export const broadcastSchedulerTools = [
102
147
  }),
103
148
  defineTool({
104
149
  name: 'besales_broadcast_schedule_preview',
150
+ sideEffect: 'none',
105
151
  requiredFields: [
106
152
  'segment_id',
107
153
  'mailing_variant_id',
@@ -114,7 +160,7 @@ export const broadcastSchedulerTools = [
114
160
  'cooldown_days',
115
161
  ],
116
162
  defaultWorkspaceId: true,
117
- schema: z.object(scheduleShape).strict(),
163
+ schema: z.object(scheduleShape).strict().superRefine(assertSingleRepeatAxis),
118
164
  createRequest: (input) => ({
119
165
  method: 'POST',
120
166
  path: `/workspaces/${input.workspace_id}/broadcast-schedules/preview`,
@@ -122,8 +168,12 @@ export const broadcastSchedulerTools = [
122
168
  }),
123
169
  enhanceResponse: (response) => withInstructions(response, [
124
170
  'Ничего не отправляет и не пишет: считает ТЕМ ЖЕ путём, что и крон — тот же источник фактов, тот же компилятор правила, те же исключения.',
125
- '⚠️ Показывай пользователю excludedBy числами. alreadySentSegment — этим сегментом уже слали; coldWelcomeClaimed — одноразовое приветствие сожжено (механизм cold_welcome такого не повторит); journal — контакт подавался этим расписанием и ждёт паузы; cooldown — получал любую нашу рассылку в окне.',
126
- '⚠️ unverifiable — «нечем проверить», а НЕ «не подходит»: нет назначения серии, серия ещё идёт, нет длительности просмотра. Эти люди в рассылку не идут, и это правильно: отсутствие данных о явке не равно отсутствию человека на эфире.',
171
+ '⚠️ Показывай пользователю excludedBy числами. alreadySentSegment — этим сегментом уже слали; alreadyGreeted — человек уже получал «Первое сообщение» (одно на контакт навсегда, любым сегментом; прежнее имя ключа coldWelcomeClaimed приходит от старого бэкенда в окне выкатки); activeEpisode — человека уже ведёт автоприём регистраций (приветствие должны и не отдали, либо подготовлен повторный вход на новый эфир); touchClaimed — это касание уже занято в журнале; journal — контакт подавался этим расписанием и ждёт паузы; cooldown — получал любую нашу рассылку в окне.',
172
+ '⚠️⚠️ productNotInList — у расписания задан список продуктов, а у этих людей продукт другой или не указан вовсе. Прежде этот отсев шёл МОЛЧА: строка выбрасывалась без счётчика, и часть пула исчезала без причины. Чинится списком продуктов в расписании.',
173
+ '⚠️⚠️ notReachable — ни один из ВЫБРАННЫХ каналов до человека не доходит, и это подтвердил ответ школы. Про невыбранные каналы число не говорит ничего. Чинится составом каналов расписания или рассылки, а не правилом сегмента: вердикт записывается вместе с набором каналов и перестаёт держать паузу, как только набор изменили.',
174
+ '⚠️⚠️ factsUnknown — НЕ отсев: эти люди в пуле. Число значит «школу про них ещё не спрашивали», и без него ноль в notReachable читается как «все достижимы». Доставки оно НЕ обещает: тот же прогон опрашивает школу перед подачей (по 300 за раз) и часть из них тогда отсеет — в отчёте прогона эти числа уже пересчитаны.',
175
+ '⚠️ Если notReachable равен размеру пула, сперва проверь площадку: когда НИ ОДИН выбранный канал ею не обслуживается, недостижимы будут все до единого, и чинится это в настройках площадки, а не в расписании. Предпросмотр в этом случае показывает отдельное предупреждение, а прогон закрывается своей причиной.', '⚠️ unverifiable — «нечем проверить», а НЕ «не подходит»: нет назначения серии, серия ещё идёт, нет длительности просмотра. Эти люди в рассылку не идут, и это правильно: отсутствие данных о явке не равно отсутствию человека на эфире.',
176
+ '⚠️⚠️ truncatedSeriesSkipped — ЕДИНСТВЕННАЯ источниковая причина, которую чинит сам оператор: выборка упёрлась в потолок строк, и запись о явке серии могла остаться за его границей, поэтому судить о ней нечем. Чинится окном расписания за минуту — сузить свежесть, список воронок или продуктов. До 10.09.2026 это число складывалось с unverifiable и читалось как жалоба на данные школы: не путай их снова.',
127
177
  'factsAsOf — момент, на который источник считает данные полными. Сильно устаревшее значение означает, что аналитика отстаёт и «не пришедшие» могут быть ложными.',
128
178
  '⚠️⚠️ overlaps — контакты, которых за последнюю неделю подавали ДРУГИЕ расписания. Непустой список означает, что человек рискует получить несколько сообщений: разведи расписания кулдауном или приоритетом сегментов, прежде чем включать.',
129
179
  'byProduct показывает, как отбор разложится по продуктам — крон нарежет подачу этими же блоками.',
@@ -131,6 +181,7 @@ export const broadcastSchedulerTools = [
131
181
  }),
132
182
  defineTool({
133
183
  name: 'besales_broadcast_schedule_upsert',
184
+ sideEffect: 'write',
134
185
  requiredFields: [
135
186
  'segment_id',
136
187
  'mailing_variant_id',
@@ -143,7 +194,10 @@ export const broadcastSchedulerTools = [
143
194
  'cooldown_days',
144
195
  ],
145
196
  defaultWorkspaceId: true,
146
- schema: z.object({ ...scheduleShape, schedule_id: uuidSchema.optional() }).strict(),
197
+ schema: z
198
+ .object({ ...scheduleShape, schedule_id: uuidSchema.optional() })
199
+ .strict()
200
+ .superRefine(assertSingleRepeatAxis),
147
201
  createRequest: (input) => input.schedule_id
148
202
  ? {
149
203
  method: 'PUT',
@@ -165,6 +219,7 @@ export const broadcastSchedulerTools = [
165
219
  }),
166
220
  defineTool({
167
221
  name: 'besales_broadcast_schedule_delete',
222
+ sideEffect: 'write',
168
223
  requiredFields: ['schedule_id', 'explicit_confirmation'],
169
224
  defaultWorkspaceId: true,
170
225
  schema: z
@@ -185,6 +240,7 @@ export const broadcastSchedulerTools = [
185
240
  }),
186
241
  defineTool({
187
242
  name: 'besales_broadcast_schedule_runs',
243
+ sideEffect: 'none',
188
244
  requiredFields: ['schedule_id'],
189
245
  defaultWorkspaceId: true,
190
246
  schema: z
@@ -194,10 +250,14 @@ export const broadcastSchedulerTools = [
194
250
  limit: z.number().int().min(1).max(100).optional(),
195
251
  })
196
252
  .strict(),
253
+ // ⚠️⚠️ Параметр клеится в ПУТЬ. Транспорт (`ApiToolRequest`) знает только method/path/body,
254
+ // поля `query` в нём нет — оно выбрасывалось МОЛЧА, и `limit` не доезжал до бэкенда никогда:
255
+ // сколько бы прогонов агент ни просил, приходило серверных 30, без ошибки и без признака
256
+ // усечения. Тот же приём уже применён в `follow-up.ts` и `platform-setup.ts`.
197
257
  createRequest: (input) => ({
198
258
  method: 'GET',
199
- path: `/workspaces/${input.workspace_id}/broadcast-schedules/${input.schedule_id}/runs`,
200
- query: compactObject({ limit: input.limit }),
259
+ path: `/workspaces/${input.workspace_id}/broadcast-schedules/${input.schedule_id}/runs` +
260
+ buildListQuery({ limit: input.limit }),
201
261
  }),
202
262
  enhanceResponse: (response) => withInstructions(response, [
203
263
  'periodBucket — локальная ДАТА площадки: один прогон на сутки, повтор в тот же день невозможен.',
@@ -206,8 +266,47 @@ export const broadcastSchedulerTools = [
206
266
  'attempts растёт на каждом WAITING_RESOURCE: большое число означает, что воркспейс постоянно занят и расписание стоит передвинуть по времени.',
207
267
  ]),
208
268
  }),
269
+ /**
270
+ * Суточные снимки пула.
271
+ *
272
+ * ⚠️⚠️ Существует ровно потому, что `besales_broadcast_schedule_preview` боевого расписания НЕ
273
+ * укладывается в таймаут MCP (замер 09.09.2026): он ходит во внешний источник фактов и обходит
274
+ * десятки тысяч строк. Снимок читается из своей таблицы мгновенно. Это не замена предпросмотру:
275
+ * предпросмотр отвечает «как будет, если поменять правило», снимок — «что было вчера».
276
+ */
277
+ defineTool({
278
+ name: 'besales_broadcast_schedule_pool_snapshots',
279
+ sideEffect: 'none',
280
+ requiredFields: [],
281
+ defaultWorkspaceId: true,
282
+ schema: z
283
+ .object({
284
+ workspace_id: uuidSchema.optional(),
285
+ // ⚠️ Проверяется только ФОРМА: `2026-02-30` регуляркой проходит, существование даты
286
+ // сверяет сервер. Форма здесь ради того же, ради чего и остальные границы в этом файле —
287
+ // чтобы правило было известно ДО вызова, а не приезжало 400-й.
288
+ from: z.string().regex(LOCAL_DATE_RE).optional(),
289
+ to: z.string().regex(LOCAL_DATE_RE).optional(),
290
+ limit: z.number().int().min(1).max(POOL_SNAPSHOT_LIST_LIMIT).optional(),
291
+ })
292
+ .strict(),
293
+ createRequest: (input) => ({
294
+ method: 'GET',
295
+ path: `/workspaces/${input.workspace_id}/broadcast-schedules/pool-snapshots` +
296
+ buildListQuery({ from: input.from, to: input.to, limit: input.limit }),
297
+ }),
298
+ enhanceResponse: (response) => withInstructions(response, [
299
+ '⚠️⚠️ Три состояния РАЗНЫЕ, и схлопывать их в ноль нельзя: строки за день нет — снимок не считали; status=FAILED — считали и не смогли (причина в error), poolSize и selectedCount при этом null, а не 0; truncated=true — снимок упёрся в бюджет строк источника, то есть показано НАЧАЛО окна, а не окно.',
300
+ '⚠️ truncated в КОРНЕ ответа, рядом с rows, — про ВЫДАЧУ, а не про пул. Потолков два и лечатся они противоположным: если ты передал limit — строк больше ТВОЕГО потолка, подними limit; если не передал — упёрлись в общий потолок выдачи, сузь from/to. Одноимённое поле ВНУТРИ строки — про пул того дня.',
301
+ '⚠️ selectedCount значит «отобрано на момент расчёта», а не «уедет сегодня»: день мог быть нерабочим по расписанию, площадка — неактивной, а части отобранных прогон сперва заведёт карточку.',
302
+ 'Снимок берётся раз в сутки утром по зоне ПЛОЩАДКИ и ПРИБЛИЖАЕТ момент тика, но с ним не совпадает: скользящее окно свежести привязано к «сейчас» расчёта, а тик срабатывает в своё timeLocal. Точный час — константа бэкенда, наизусть его не называй.',
303
+ 'Строки живут дольше расписаний: внешнего ключа нет намеренно, и снимки удалённого расписания остаются в истории — scheduleId в ответе может не найтись в besales_broadcast_schedule_list.',
304
+ '⚠️ Ответ печатается ЦЕЛИКОМ. Строк в сутки столько же, сколько расписаний, и без from/limit за год наберутся мегабайты текста: спрашивай окно, которое собираешься читать.',
305
+ ]),
306
+ }),
209
307
  defineTool({
210
308
  name: 'besales_broadcast_segment_rule_set',
309
+ sideEffect: 'write',
211
310
  requiredFields: ['segment_id', 'facets', 'freshness_anchor'],
212
311
  defaultWorkspaceId: true,
213
312
  schema: z
@@ -222,6 +321,32 @@ export const broadcastSchedulerTools = [
222
321
  webinarDayMin: z.number().int().min(0).optional(),
223
322
  webinarDayMax: z.number().int().min(0).optional(),
224
323
  bannerClick: z.enum(['YES', 'NO', 'ANY']).optional(),
324
+ // Применимость и метки заказа предсписка объявляет ВОРОНКА в источнике фактов, а не
325
+ // мы: у нас настройки больше нет. Правила у воронки нет или данные не готовы — строки
326
+ // приходят непроверяемыми, и людям не уйдёт ничего.
327
+ prelist: z.enum(['YES', 'NO', 'ANY']).optional(),
328
+ /**
329
+ * ⚠️⚠️ ПОВТОРНОЕ касание. Сегмент уходит тем, у кого `key` был ПОСЛЕДНИМ нашим
330
+ * касанием и кто нам не ответил. Снимает вечный одноразовый claim приветствия —
331
+ * единственную структурную защиту от второго сообщения живому человеку, — поэтому
332
+ * порог снизу зеркалит серверную константу и здесь: ниже 30 суток сервер откажет.
333
+ */
334
+ previousSegment: z
335
+ .object({
336
+ key: z.string().min(1).max(64),
337
+ minDaysSince: z.number().int().min(30).max(78),
338
+ })
339
+ .strict()
340
+ .optional(),
341
+ /**
342
+ * Право первого касания: сегмент уходит только тем, кому мы ещё НИКОГДА не писали.
343
+ *
344
+ * ⚠️⚠️ Молчание значит `true` — это сегодняшнее поведение платформы. Выключение
345
+ * осознанное и снимает ровно одну защиту: человеку, уже получившему от нас холодное
346
+ * приветствие, уйдёт ВТОРОЕ первое сообщение. Остальные гейты (ответ, оператор,
347
+ * тихий период, «этим сегментом уже слали») продолжают работать.
348
+ */
349
+ untouchedOnly: z.boolean().optional(),
225
350
  // ⚠️⚠️ ОБЯЗАТЕЛЬНЫ на сервере (`SEGMENT_FACETS_REQUIRED_GUARDS`): необязательное
226
351
  // поле с дефолтом «неважно» делало законным правило целиком из умолчаний, а такое
227
352
  // правило матчит КАЖДОГО в окне — рассылка ушла бы и людям с живой заявкой у
@@ -249,9 +374,10 @@ export const broadcastSchedulerTools = [
249
374
  '⚠️⚠️ 409 означает, что сегментом УЖЕ отправляли и правило заморожено. Это не ошибка доступа: строки отчётов уже несут это имя, и правка правила задним числом сделала бы разрез несопоставимым сам с собой. Заведи НОВЫЙ сегмент.',
250
375
  'attended=NO проходит только достоверный «не пришёл». Человек, про которого данных нет (серия ещё идёт, назначения нет), в сегмент НЕ попадает — и это защита: отсутствие данных о явке не равно отсутствию человека на эфире.',
251
376
  'Секунды, а не минуты: «от 120 минут» — это activeSecondsMin=7200. Контакт без известной длительности порог не проходит.',
252
- 'wait_after_series_end_hours — сколько ждать после эфира, прежде чем считать отсутствие явки доказанным. Меньше ждём — свежее касание и больше ошибок; дольше — наоборот. Разумный дефолт 48.',
377
+ 'wait_after_series_end_hours — сколько ждать после эфира, прежде чем считать отсутствие явки доказанным. Дефолт 1 час: касание свежее, но явка к этому моменту досчитана у меньшинства (6 ч → 56 %, 24 ч → 74 %, 48 ч → 81 %), и недосчитанный контакт в отбор не попадает. Поэтому при коротком ожидании ставьте freshness_days от 3: при 1 человека смотрят ровно один раз.',
253
378
  'application=CANCELLED требует отменённой заявки И отсутствия живой: с человеком, у которого заявка в работе, разговаривает менеджер.',
254
379
  'payment=NOT_ANYWHERE исключает всех, кто когда-либо успешно платил — включая тех, кому потом сделали возврат: он действительно платил.',
380
+ 'untouchedOnly не указан = true: сегмент уходит только тем, кому мы никогда не писали. Ставьте false осознанно — это разрешает второе первое сообщение человеку, уже получившему от нас холодное приветствие в другой воронке.',
255
381
  ]),
256
382
  }),
257
383
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"broadcast-scheduler.js","sourceRoot":"","sources":["../../../src/tools/definitions/broadcast-scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"broadcast-scheduler.js","sourceRoot":"","sources":["../../../src/tools/definitions/broadcast-scheduler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export declare const contactTools: (import("./shared.js").ToolDefinition<{
2
+ workspace_id?: string | undefined;
3
+ limit?: number | undefined;
4
+ cursor?: string | undefined;
5
+ search?: string | undefined;
6
+ external_id?: string | undefined;
7
+ phone?: string | undefined;
8
+ email?: string | undefined;
9
+ channel_id?: string | undefined;
10
+ }> | import("./shared.js").ToolDefinition<{
11
+ contact_id: string;
12
+ }> | import("./shared.js").ToolDefinition<{
13
+ contact_id: string;
14
+ message_id?: string | undefined;
15
+ }>)[];
@@ -0,0 +1,84 @@
1
+ import { z } from 'zod';
2
+ import { assertCompleteList } from '../incomplete-list.js';
3
+ import { defineTool, uuidSchema, withInstructions } from './shared.js';
4
+ const CONTACTS_MAX_PAGE_SIZE = 50;
5
+ export const contactTools = [
6
+ defineTool({
7
+ name: 'besales_contact_search',
8
+ sideEffect: 'none',
9
+ closedWorld: true,
10
+ defaultWorkspaceId: true,
11
+ requiredFields: [],
12
+ resultPolicy: { neverTruncate: true },
13
+ schema: z
14
+ .object({
15
+ workspace_id: uuidSchema.optional(),
16
+ limit: z.number().int().min(1).max(CONTACTS_MAX_PAGE_SIZE).optional(),
17
+ cursor: z.string().min(1).optional(),
18
+ search: z.string().trim().min(1).optional(),
19
+ external_id: z.string().trim().min(1).optional(),
20
+ phone: z.string().trim().min(1).optional(),
21
+ email: z.string().trim().min(1).optional(),
22
+ channel_id: uuidSchema.optional(),
23
+ })
24
+ .strict(),
25
+ createRequest: (input) => {
26
+ const query = new URLSearchParams();
27
+ if (input.limit !== undefined)
28
+ query.set('limit', String(input.limit));
29
+ if (input.cursor)
30
+ query.set('cursor', input.cursor);
31
+ if (input.search)
32
+ query.set('search', input.search);
33
+ if (input.external_id)
34
+ query.set('externalId', input.external_id);
35
+ if (input.phone)
36
+ query.set('phone', input.phone);
37
+ if (input.email)
38
+ query.set('email', input.email);
39
+ if (input.channel_id)
40
+ query.set('channelId', input.channel_id);
41
+ const suffix = query.size > 0 ? `?${query.toString()}` : '';
42
+ return { method: 'GET', path: `/workspaces/${input.workspace_id}/contacts${suffix}` };
43
+ },
44
+ enhanceResponse: (response, input) => assertCompleteList(response, {
45
+ pageRequested: input.limit !== undefined || input.cursor !== undefined,
46
+ toolName: 'besales_contact_search',
47
+ howToPage: `Повтори вызов с limit до ${CONTACTS_MAX_PAGE_SIZE} и cursor из ответа, пока cursor не станет пустым.`,
48
+ }),
49
+ }),
50
+ defineTool({
51
+ name: 'besales_contact_get',
52
+ sideEffect: 'none',
53
+ closedWorld: true,
54
+ requiredFields: ['contact_id'],
55
+ resultPolicy: { neverTruncate: true },
56
+ schema: z.object({ contact_id: uuidSchema }).strict(),
57
+ createRequest: (input) => ({ method: 'GET', path: `/contacts/${input.contact_id}` }),
58
+ }),
59
+ defineTool({
60
+ name: 'besales_contact_diagnostics_get',
61
+ sideEffect: 'none',
62
+ closedWorld: true,
63
+ requiredFields: ['contact_id'],
64
+ resultPolicy: { neverTruncate: true },
65
+ schema: z
66
+ .object({
67
+ contact_id: uuidSchema,
68
+ message_id: uuidSchema.optional(),
69
+ })
70
+ .strict(),
71
+ createRequest: (input) => ({
72
+ method: 'GET',
73
+ path: `/contacts/${input.contact_id}/diagnostics` +
74
+ (input.message_id ? `?messageId=${encodeURIComponent(input.message_id)}` : ''),
75
+ }),
76
+ enhanceResponse: (response) => withInstructions(response, [
77
+ 'Evidence-first: silence/operator/routing/transport описывают только сохранённые факты.',
78
+ 'rag=not_recorded означает отсутствие durable production trace, а не ноль найденных знаний.',
79
+ 'Tool executions связаны с контактом по времени; не называй их точным событием выбранного сообщения.',
80
+ 'Для следующего шага используй contact/platform/agent/message IDs из ответа; не повторяй отправку по неизвестному исходу.',
81
+ ]),
82
+ }),
83
+ ];
84
+ //# sourceMappingURL=contacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../../src/tools/definitions/contacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEvE,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAElC,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,UAAU,CAAC;QACT,IAAI,EAAE,wBAAwB;QAC9B,UAAU,EAAE,MAAM;QAClB,WAAW,EAAE,IAAI;QACjB,kBAAkB,EAAE,IAAI;QACxB,cAAc,EAAE,EAAE;QAClB,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;QACrC,MAAM,EAAE,CAAC;aACN,MAAM,CAAC;YACN,YAAY,EAAE,UAAU,CAAC,QAAQ,EAAE;YACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE;YACrE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YACpC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YAChD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC1C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;YAC1C,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;SAClC,CAAC;aACD,MAAM,EAAE;QACX,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;YACvB,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;gBAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACvE,IAAI,KAAK,CAAC,MAAM;gBAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACpD,IAAI,KAAK,CAAC,MAAM;gBAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACpD,IAAI,KAAK,CAAC,WAAW;gBAAE,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAClE,IAAI,KAAK,CAAC,KAAK;gBAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,KAAK,CAAC,KAAK;gBAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,KAAK,CAAC,UAAU;gBAAE,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YAC/D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,KAAK,CAAC,YAAY,YAAY,MAAM,EAAE,EAAE,CAAC;QACxF,CAAC;QACD,eAAe,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CACnC,kBAAkB,CAAC,QAAQ,EAAE;YAC3B,aAAa,EAAE,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;YACtE,QAAQ,EAAE,wBAAwB;YAClC,SAAS,EAAE,4BAA4B,sBAAsB,oDAAoD;SAClH,CAAC;KACL,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,qBAAqB;QAC3B,UAAU,EAAE,MAAM;QAClB,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,CAAC,YAAY,CAAC;QAC9B,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;QACrC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;QACrD,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,aAAa,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC;KACrF,CAAC;IACF,UAAU,CAAC;QACT,IAAI,EAAE,iCAAiC;QACvC,UAAU,EAAE,MAAM;QAClB,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,CAAC,YAAY,CAAC;QAC9B,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;QACrC,MAAM,EAAE,CAAC;aACN,MAAM,CAAC;YACN,UAAU,EAAE,UAAU;YACtB,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;SAClC,CAAC;aACD,MAAM,EAAE;QACX,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACzB,MAAM,EAAE,KAAK;YACb,IAAI,EACF,aAAa,KAAK,CAAC,UAAU,cAAc;gBAC3C,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjF,CAAC;QACF,eAAe,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC5B,gBAAgB,CAAC,QAAQ,EAAE;YACzB,wFAAwF;YACxF,4FAA4F;YAC5F,qGAAqG;YACrG,0HAA0H;SAC3H,CAAC;KACL,CAAC;CACH,CAAC"}
@@ -3,6 +3,8 @@ export declare const crmPlatformTools: (import("./shared.js").ToolDefinition<{
3
3
  workspace_id?: string | undefined;
4
4
  platform_id?: string | undefined;
5
5
  filter?: "all" | "variables" | "constants" | undefined;
6
+ limit?: number | undefined;
7
+ cursor?: string | undefined;
6
8
  }> | import("./shared.js").ToolDefinition<{
7
9
  scope: "WORKSPACE" | "CHANNEL";
8
10
  name: string;