@opencx/mcp 1.11.16 → 1.11.33

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 (164) hide show
  1. package/dist/api-client.d.ts +17 -12
  2. package/dist/api-client.d.ts.map +1 -1
  3. package/dist/api-client.js +35 -56
  4. package/dist/api-client.js.map +1 -1
  5. package/dist/api-client.spec.js +51 -89
  6. package/dist/api-client.spec.js.map +1 -1
  7. package/dist/schema.d.ts +12706 -0
  8. package/dist/schema.d.ts.map +1 -0
  9. package/dist/schema.js +6 -0
  10. package/dist/schema.js.map +1 -0
  11. package/dist/server.js +2 -2
  12. package/dist/server.js.map +1 -1
  13. package/dist/server.spec.js +54 -51
  14. package/dist/server.spec.js.map +1 -1
  15. package/dist/tools/actions.d.ts +1 -1
  16. package/dist/tools/actions.d.ts.map +1 -1
  17. package/dist/tools/actions.js +26 -16
  18. package/dist/tools/actions.js.map +1 -1
  19. package/dist/tools/audit-logs.d.ts +1 -1
  20. package/dist/tools/audit-logs.d.ts.map +1 -1
  21. package/dist/tools/audit-logs.js +50 -42
  22. package/dist/tools/audit-logs.js.map +1 -1
  23. package/dist/tools/autopilot.d.ts +1 -1
  24. package/dist/tools/autopilot.d.ts.map +1 -1
  25. package/dist/tools/autopilot.js +5 -4
  26. package/dist/tools/autopilot.js.map +1 -1
  27. package/dist/tools/blocklist.d.ts +1 -1
  28. package/dist/tools/blocklist.d.ts.map +1 -1
  29. package/dist/tools/blocklist.js +20 -20
  30. package/dist/tools/blocklist.js.map +1 -1
  31. package/dist/tools/contact-segments.d.ts +1 -1
  32. package/dist/tools/contact-segments.d.ts.map +1 -1
  33. package/dist/tools/contact-segments.js +15 -12
  34. package/dist/tools/contact-segments.js.map +1 -1
  35. package/dist/tools/contacts.d.ts +1 -1
  36. package/dist/tools/contacts.d.ts.map +1 -1
  37. package/dist/tools/contacts.js +23 -11
  38. package/dist/tools/contacts.js.map +1 -1
  39. package/dist/tools/coworker.d.ts +1 -1
  40. package/dist/tools/coworker.d.ts.map +1 -1
  41. package/dist/tools/coworker.js +54 -43
  42. package/dist/tools/coworker.js.map +1 -1
  43. package/dist/tools/crawl.d.ts +1 -1
  44. package/dist/tools/crawl.d.ts.map +1 -1
  45. package/dist/tools/crawl.js +43 -14
  46. package/dist/tools/crawl.js.map +1 -1
  47. package/dist/tools/csat.d.ts +1 -1
  48. package/dist/tools/csat.d.ts.map +1 -1
  49. package/dist/tools/csat.js +16 -10
  50. package/dist/tools/csat.js.map +1 -1
  51. package/dist/tools/email.d.ts +1 -1
  52. package/dist/tools/email.d.ts.map +1 -1
  53. package/dist/tools/email.js +23 -9
  54. package/dist/tools/email.js.map +1 -1
  55. package/dist/tools/firecrawl.d.ts.map +1 -1
  56. package/dist/tools/firecrawl.js +31 -24
  57. package/dist/tools/firecrawl.js.map +1 -1
  58. package/dist/tools/handoff-analytics.d.ts +1 -1
  59. package/dist/tools/handoff-analytics.d.ts.map +1 -1
  60. package/dist/tools/handoff-analytics.js +5 -6
  61. package/dist/tools/handoff-analytics.js.map +1 -1
  62. package/dist/tools/help-center.d.ts +1 -1
  63. package/dist/tools/help-center.d.ts.map +1 -1
  64. package/dist/tools/help-center.js +41 -11
  65. package/dist/tools/help-center.js.map +1 -1
  66. package/dist/tools/impact-report.d.ts +1 -1
  67. package/dist/tools/impact-report.d.ts.map +1 -1
  68. package/dist/tools/impact-report.js +15 -11
  69. package/dist/tools/impact-report.js.map +1 -1
  70. package/dist/tools/insights.d.ts +1 -1
  71. package/dist/tools/insights.d.ts.map +1 -1
  72. package/dist/tools/insights.js +104 -15
  73. package/dist/tools/insights.js.map +1 -1
  74. package/dist/tools/media.d.ts +1 -1
  75. package/dist/tools/media.d.ts.map +1 -1
  76. package/dist/tools/media.js +2 -3
  77. package/dist/tools/media.js.map +1 -1
  78. package/dist/tools/office-hours.d.ts +1 -1
  79. package/dist/tools/office-hours.d.ts.map +1 -1
  80. package/dist/tools/office-hours.js +42 -10
  81. package/dist/tools/office-hours.js.map +1 -1
  82. package/dist/tools/onboarding.d.ts.map +1 -1
  83. package/dist/tools/onboarding.js +8 -5
  84. package/dist/tools/onboarding.js.map +1 -1
  85. package/dist/tools/org.d.ts +1 -1
  86. package/dist/tools/org.d.ts.map +1 -1
  87. package/dist/tools/org.js +5 -4
  88. package/dist/tools/org.js.map +1 -1
  89. package/dist/tools/phone.d.ts +1 -1
  90. package/dist/tools/phone.d.ts.map +1 -1
  91. package/dist/tools/phone.js +66 -48
  92. package/dist/tools/phone.js.map +1 -1
  93. package/dist/tools/redaction.d.ts +1 -1
  94. package/dist/tools/redaction.d.ts.map +1 -1
  95. package/dist/tools/redaction.js +5 -4
  96. package/dist/tools/redaction.js.map +1 -1
  97. package/dist/tools/search.d.ts +1 -1
  98. package/dist/tools/search.d.ts.map +1 -1
  99. package/dist/tools/search.js +3 -2
  100. package/dist/tools/search.js.map +1 -1
  101. package/dist/tools/sequences.d.ts +1 -1
  102. package/dist/tools/sequences.d.ts.map +1 -1
  103. package/dist/tools/sequences.js +26 -14
  104. package/dist/tools/sequences.js.map +1 -1
  105. package/dist/tools/sessions.d.ts +1 -1
  106. package/dist/tools/sessions.d.ts.map +1 -1
  107. package/dist/tools/sessions.js +150 -123
  108. package/dist/tools/sessions.js.map +1 -1
  109. package/dist/tools/sla-analytics.d.ts +1 -1
  110. package/dist/tools/sla-analytics.d.ts.map +1 -1
  111. package/dist/tools/sla-analytics.js +31 -45
  112. package/dist/tools/sla-analytics.js.map +1 -1
  113. package/dist/tools/sla.d.ts +1 -1
  114. package/dist/tools/sla.d.ts.map +1 -1
  115. package/dist/tools/sla.js +18 -16
  116. package/dist/tools/sla.js.map +1 -1
  117. package/dist/tools/tags.d.ts +1 -1
  118. package/dist/tools/tags.d.ts.map +1 -1
  119. package/dist/tools/tags.js +11 -11
  120. package/dist/tools/tags.js.map +1 -1
  121. package/dist/tools/teams.d.ts +1 -1
  122. package/dist/tools/teams.d.ts.map +1 -1
  123. package/dist/tools/teams.js +24 -17
  124. package/dist/tools/teams.js.map +1 -1
  125. package/dist/tools/todos.d.ts +1 -1
  126. package/dist/tools/todos.d.ts.map +1 -1
  127. package/dist/tools/todos.js +30 -21
  128. package/dist/tools/todos.js.map +1 -1
  129. package/dist/tools/training.d.ts +1 -1
  130. package/dist/tools/training.d.ts.map +1 -1
  131. package/dist/tools/training.js +110 -64
  132. package/dist/tools/training.js.map +1 -1
  133. package/dist/tools/users.d.ts +1 -1
  134. package/dist/tools/users.d.ts.map +1 -1
  135. package/dist/tools/users.js +35 -23
  136. package/dist/tools/users.js.map +1 -1
  137. package/dist/tools/whatsapp.d.ts +1 -1
  138. package/dist/tools/whatsapp.d.ts.map +1 -1
  139. package/dist/tools/whatsapp.js +11 -2
  140. package/dist/tools/whatsapp.js.map +1 -1
  141. package/dist/tools/widget.d.ts +1 -1
  142. package/dist/tools/widget.d.ts.map +1 -1
  143. package/dist/tools/widget.js +3 -2
  144. package/dist/tools/widget.js.map +1 -1
  145. package/dist/tools/workflows.d.ts +1 -1
  146. package/dist/tools/workflows.d.ts.map +1 -1
  147. package/dist/tools/workflows.js +164 -93
  148. package/dist/tools/workflows.js.map +1 -1
  149. package/dist/utils/json.d.ts +9 -0
  150. package/dist/utils/json.d.ts.map +1 -0
  151. package/dist/utils/json.js +10 -0
  152. package/dist/utils/json.js.map +1 -0
  153. package/dist/utils/session-channel.d.ts +4 -0
  154. package/dist/utils/session-channel.d.ts.map +1 -0
  155. package/dist/utils/session-channel.js +15 -0
  156. package/dist/utils/session-channel.js.map +1 -0
  157. package/dist/workflow-editor-state.d.ts +12 -2
  158. package/dist/workflow-editor-state.d.ts.map +1 -1
  159. package/dist/workflow-editor-state.js.map +1 -1
  160. package/dist/workflows.spec.d.ts +2 -0
  161. package/dist/workflows.spec.d.ts.map +1 -0
  162. package/dist/workflows.spec.js +109 -0
  163. package/dist/workflows.spec.js.map +1 -0
  164. package/package.json +5 -2
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
- import { safePath } from '../api-client.js';
2
+ import { jsonContent } from '../api-client.js';
3
+ import { sessionChannelSchema } from '../utils/session-channel.js';
3
4
  export function registerTrainingTools(server, client) {
4
5
  server.registerTool('list_training_scenarios', {
5
6
  description: 'List custom training scenarios for your AI agent with filtering and pagination. Training scenarios teach the AI how to handle specific customer situations. Two types: BEHAVIORAL (always active, controls tone/style) and SCENARIO_SPECIFIC (activated when a matching question is asked).',
@@ -29,22 +30,28 @@ export function registerTrainingTools(server, client) {
29
30
  .describe('Number of items to skip (default 0). String or number.'),
30
31
  },
31
32
  }, async ({ search, type, is_draft, sort_by, limit, offset }) => {
32
- const data = await client.get('/training/', {
33
- search,
34
- type,
35
- is_draft,
36
- sort_by,
37
- limit: limit?.toString(),
38
- offset: offset?.toString(),
39
- });
40
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
33
+ const data = (await client.GET('/training', {
34
+ params: {
35
+ query: {
36
+ search,
37
+ type,
38
+ is_draft,
39
+ sort_by,
40
+ limit,
41
+ offset,
42
+ },
43
+ },
44
+ })).data;
45
+ return jsonContent(data);
41
46
  });
42
47
  server.registerTool('get_training_scenario', {
43
48
  description: 'Get a single training scenario by ID. Returns title/content (published) and draft_title/draft_content (current draft, null if none). IMPORTANT: always use draft_title ?? title and draft_content ?? content to get the current version.',
44
49
  inputSchema: { id: z.string().describe('The training scenario ID') },
45
50
  }, async ({ id }) => {
46
- const data = await client.get(`/training/${safePath(id)}`);
47
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
51
+ const data = (await client.GET('/training/{id}', {
52
+ params: { path: { id } },
53
+ })).data;
54
+ return jsonContent(data);
48
55
  });
49
56
  server.registerTool('create_training_scenario', {
50
57
  description: `Create a new training scenario as a draft. The user can review and publish from the dashboard.
@@ -63,7 +70,7 @@ Use type "BEHAVIORAL" for always-active instructions or "SCENARIO_SPECIFIC" for
63
70
  .optional()
64
71
  .describe('Directory ID to organize this scenario into'),
65
72
  restricted_to_channels: z
66
- .array(z.string())
73
+ .array(sessionChannelSchema)
67
74
  .optional()
68
75
  .describe('Limit to specific channels (e.g. ["web", "email"]). Empty = all channels.'),
69
76
  restricted_to_segments: z
@@ -72,7 +79,7 @@ Use type "BEHAVIORAL" for always-active instructions or "SCENARIO_SPECIFIC" for
72
79
  .describe('Limit to specific contact segments. Empty = all segments.'),
73
80
  },
74
81
  }, async (params) => {
75
- const created = await client.post('/training/', {
82
+ const body = {
76
83
  title: params.title,
77
84
  content: params.content,
78
85
  type: params.type,
@@ -80,8 +87,11 @@ Use type "BEHAVIORAL" for always-active instructions or "SCENARIO_SPECIFIC" for
80
87
  directory_id: params.directory_id ?? null,
81
88
  restricted_to_channels: params.restricted_to_channels ?? [],
82
89
  restricted_to_segments: params.restricted_to_segments ?? [],
83
- });
84
- return { content: [{ type: 'text', text: JSON.stringify(created) }] };
90
+ };
91
+ const created = (await client.POST('/training', {
92
+ body,
93
+ })).data;
94
+ return { content: [{ type: 'text', text: JSON.stringify(created ?? {}) }] };
85
95
  });
86
96
  server.registerTool('update_training_scenario', {
87
97
  description: `Update a training scenario. ALWAYS use mode "diff" for content edits — the user must be able to accept/reject each change.
@@ -107,7 +117,7 @@ Only use mode "direct" for metadata-only updates (title, type, channels, segment
107
117
  is_draft: z.boolean().optional().describe('Draft status. (direct mode)'),
108
118
  directory_id: z.string().nullable().optional().describe('Directory ID. (direct mode)'),
109
119
  restricted_to_channels: z
110
- .array(z.string())
120
+ .array(sessionChannelSchema)
111
121
  .optional()
112
122
  .describe('Channel restrictions. (direct mode)'),
113
123
  restricted_to_segments: z
@@ -131,28 +141,41 @@ Only use mode "direct" for metadata-only updates (title, type, channels, segment
131
141
  ],
132
142
  };
133
143
  }
134
- const data = await client.put(`/training/${safePath(id)}/diff`, { diff_html });
135
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
144
+ const data = (await client.PUT('/training/{id}/diff', {
145
+ params: { path: { id } },
146
+ body: { diff_html },
147
+ })).data;
148
+ return jsonContent(data);
136
149
  }
137
150
  // PUT /:id requires title+content. Fetch current values for any missing fields.
138
151
  const current = title === undefined || content === undefined
139
- ? (await client.get(`/training/${safePath(id)}`))
152
+ ? z
153
+ .object({ title: z.string(), content: z.string() })
154
+ .parse((await client.GET('/training/{id}', {
155
+ params: { path: { id } },
156
+ })).data)
140
157
  : null;
141
- const data = await client.put(`/training/${safePath(id)}`, {
142
- title: title ?? current?.title,
143
- content: content ?? current?.content,
158
+ const resolvedTitle = title ?? current?.title ?? '';
159
+ const resolvedContent = content ?? current?.content ?? '';
160
+ const body = {
161
+ title: resolvedTitle,
162
+ content: resolvedContent,
144
163
  ...rest,
145
164
  directory_id: rest.directory_id ?? null,
146
165
  restricted_to_channels: rest.restricted_to_channels ?? [],
147
166
  restricted_to_segments: rest.restricted_to_segments ?? [],
148
- });
149
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
167
+ };
168
+ const data = (await client.PUT('/training/{id}', {
169
+ params: { path: { id } },
170
+ body,
171
+ })).data;
172
+ return jsonContent(data);
150
173
  });
151
174
  server.registerTool('delete_training_scenario', {
152
175
  description: 'Permanently delete a training scenario by ID. This action cannot be undone.',
153
176
  inputSchema: { id: z.string().describe('The training scenario ID to delete') },
154
177
  }, async ({ id }) => {
155
- await client.delete(`/training/${safePath(id)}`);
178
+ await client.DELETE('/training/{id}', { params: { path: { id } } });
156
179
  return { content: [{ type: 'text', text: `Training scenario ${id} deleted successfully.` }] };
157
180
  });
158
181
  server.registerTool('publish_training_scenario', {
@@ -161,8 +184,11 @@ Only use mode "direct" for metadata-only updates (title, type, channels, segment
161
184
  id: z.string().describe('The training scenario ID to publish'),
162
185
  },
163
186
  }, async ({ id }) => {
164
- const data = await client.post(`/training/${safePath(id)}/publish`, {});
165
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
187
+ const data = (await client.POST('/training/{id}/publish', {
188
+ params: { path: { id } },
189
+ body: {},
190
+ })).data;
191
+ return jsonContent(data);
166
192
  });
167
193
  server.registerTool('toggle_training_draft', {
168
194
  description: 'Unpublish a training scenario (set to draft/inactive). To publish, use publish_training_scenario instead.',
@@ -170,8 +196,11 @@ Only use mode "direct" for metadata-only updates (title, type, channels, segment
170
196
  id: z.string().describe('The training scenario ID'),
171
197
  },
172
198
  }, async ({ id }) => {
173
- const data = await client.put(`/training/${safePath(id)}/draft`, { draft: true });
174
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
199
+ const data = (await client.PUT('/training/{id}/draft', {
200
+ params: { path: { id } },
201
+ body: { draft: true },
202
+ })).data;
203
+ return jsonContent(data);
175
204
  });
176
205
  server.registerTool('get_training_version_history', {
177
206
  description: 'Get the full version history for a training scenario. Each publish creates an immutable version snapshot. Returns versions in reverse chronological order with version numbers, content, and who published each version.',
@@ -179,8 +208,10 @@ Only use mode "direct" for metadata-only updates (title, type, channels, segment
179
208
  instruction_id: z.string().describe('The training scenario ID'),
180
209
  },
181
210
  }, async ({ instruction_id }) => {
182
- const data = await client.get(`/training/${safePath(instruction_id)}/versions`);
183
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
211
+ const data = (await client.GET('/training/{instructionId}/versions', {
212
+ params: { path: { instructionId: instruction_id } },
213
+ })).data;
214
+ return jsonContent(data);
184
215
  });
185
216
  server.registerTool('revert_training_version', {
186
217
  description: 'Revert a training scenario to a previous version. This instantly publishes the old version content as a new version number. Version history is preserved.',
@@ -189,8 +220,11 @@ Only use mode "direct" for metadata-only updates (title, type, channels, segment
189
220
  version: z.coerce.number().int().positive().describe('The version number to revert to'),
190
221
  },
191
222
  }, async ({ instruction_id, version }) => {
192
- const data = await client.post(`/training/${safePath(instruction_id)}/versions/${version}/revert`, {});
193
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
223
+ const data = (await client.POST('/training/{instructionId}/versions/{version}/revert', {
224
+ params: { path: { instructionId: instruction_id, version } },
225
+ body: {},
226
+ })).data;
227
+ return jsonContent(data);
194
228
  });
195
229
  server.registerTool('move_training_to_directory', {
196
230
  description: 'Move a training scenario into a directory for organization, or set directory_id to null to uncategorize it.',
@@ -202,7 +236,10 @@ Only use mode "direct" for metadata-only updates (title, type, channels, segment
202
236
  .describe('Target directory ID, or null to uncategorize'),
203
237
  },
204
238
  }, async ({ id, directory_id }) => {
205
- await client.post(`/training/${safePath(id)}/move`, { directory_id });
239
+ await client.POST('/training/{id}/move', {
240
+ params: { path: { id } },
241
+ body: { directory_id },
242
+ });
206
243
  return {
207
244
  content: [
208
245
  {
@@ -227,24 +264,23 @@ Only use mode "direct" for metadata-only updates (title, type, channels, segment
227
264
  .describe('Include published trainings (default: true)'),
228
265
  },
229
266
  }, async ({ show_drafts, show_published }) => {
230
- const data = await client.get('/training/directories/tree', {
231
- show_drafts,
232
- show_published,
233
- });
234
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
267
+ const data = (await client.GET('/training/directories/tree', {
268
+ params: { query: { show_drafts, show_published } },
269
+ })).data;
270
+ return jsonContent(data);
235
271
  });
236
272
  server.registerTool('list_training_directories', {
237
273
  description: 'List all directories used to organize training scenarios.',
238
274
  }, async () => {
239
- const data = await client.get('/training/directories');
240
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
275
+ const data = (await client.GET('/training/directories')).data;
276
+ return jsonContent(data);
241
277
  });
242
278
  server.registerTool('create_training_directory', {
243
279
  description: 'Create a new directory for organizing training scenarios.',
244
280
  inputSchema: { name: z.string().describe('The directory name') },
245
281
  }, async ({ name }) => {
246
- const data = await client.post('/training/directories', { name });
247
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
282
+ const data = (await client.POST('/training/directories', { body: { name } })).data;
283
+ return jsonContent(data);
248
284
  });
249
285
  server.registerTool('update_training_directory', {
250
286
  description: 'Rename a training directory.',
@@ -253,14 +289,19 @@ Only use mode "direct" for metadata-only updates (title, type, channels, segment
253
289
  name: z.string().describe('The new directory name'),
254
290
  },
255
291
  }, async ({ directory_id, name }) => {
256
- const data = await client.put(`/training/directories/${safePath(directory_id)}`, { name });
257
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
292
+ const data = (await client.PUT('/training/directories/{directory_id}', {
293
+ params: { path: { directory_id } },
294
+ body: { name },
295
+ })).data;
296
+ return jsonContent(data);
258
297
  });
259
298
  server.registerTool('delete_training_directory', {
260
299
  description: 'Delete a training directory and ALL trainings inside it. This action cannot be undone.',
261
300
  inputSchema: { directory_id: z.string().describe('The directory ID to delete') },
262
301
  }, async ({ directory_id }) => {
263
- await client.delete(`/training/directories/${safePath(directory_id)}`);
302
+ await client.DELETE('/training/directories/{directory_id}', {
303
+ params: { path: { directory_id } },
304
+ });
264
305
  return {
265
306
  content: [{ type: 'text', text: `Directory ${directory_id} and its contents deleted.` }],
266
307
  };
@@ -288,16 +329,16 @@ Only use mode "direct" for metadata-only updates (title, type, channels, segment
288
329
  .describe('Filter by source type. Omit to search all.'),
289
330
  },
290
331
  }, async ({ query, limit, include_content, source_types }) => {
291
- const body = {
292
- query,
293
- include_content: include_content ?? false,
294
- };
295
- if (limit !== undefined)
296
- body.limit = limit;
297
- if (source_types)
298
- body.sourceTypes = source_types;
299
- const data = await client.post('/training/search', body);
300
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
332
+ const data = (await client.POST('/training/search', {
333
+ body: {
334
+ query,
335
+ include_content: include_content ?? false,
336
+ limit: limit ?? 10,
337
+ sortBy: 'relevance',
338
+ sourceTypes: source_types,
339
+ },
340
+ })).data;
341
+ return jsonContent(data);
301
342
  });
302
343
  server.registerTool('get_ai_profile', {
303
344
  description: "Get the AI agent identity and profile — name and system prompt (prompt_message). Use this when the user asks about who the AI is, its personality, its identity, or its context settings. The AI profile lives under the Knowledge Base / AI Instructions section. If draft_prompt_message is set, it contains pending changes that haven't been published yet — read it as the current working version.",
@@ -308,7 +349,7 @@ Only use mode "direct" for metadata-only updates (title, type, channels, segment
308
349
  prompt_message: z.string(),
309
350
  draft_prompt_message: z.string().nullable(),
310
351
  })
311
- .parse(await client.get('/training/ai-profile'));
352
+ .parse((await client.GET('/training/ai-profile')).data);
312
353
  return { content: [{ type: 'text', text: JSON.stringify(data) }] };
313
354
  });
314
355
  server.registerTool('update_ai_profile', {
@@ -325,9 +366,11 @@ This tool only saves a draft. Do NOT chain publish_ai_profile after it — leave
325
366
  .describe('TipTap diff HTML with data-diff-suggestion or data-diff-suggestion-block markup. Load the content-editor skill first to learn the exact format. Plain HTML without diff markup will fail.'),
326
367
  },
327
368
  }, async (params) => {
328
- await client.patch('/training/ai-profile', {
329
- mode: 'diff',
330
- diff_html: params.diff_html,
369
+ await client.PATCH('/training/ai-profile', {
370
+ body: {
371
+ mode: 'diff',
372
+ diff_html: params.diff_html,
373
+ },
331
374
  });
332
375
  return {
333
376
  content: [
@@ -354,8 +397,8 @@ DO NOT call this tool unless one of these is true:
354
397
  Fails if there is no draft.`,
355
398
  inputSchema: {},
356
399
  }, async () => {
357
- const data = await client.post('/training/ai-profile/publish', {});
358
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
400
+ const data = (await client.POST('/training/ai-profile/publish')).data;
401
+ return jsonContent(data);
359
402
  });
360
403
  server.registerTool('bulk_publish_instructions', {
361
404
  description: 'Publish multiple draft instructions at once. Each instruction is published independently — if one fails, the others still succeed. Returns results for each.',
@@ -363,7 +406,10 @@ Fails if there is no draft.`,
363
406
  ids: z.array(z.string()).min(1).max(50).describe('Array of instruction IDs to publish'),
364
407
  },
365
408
  }, async ({ ids }) => {
366
- const results = await Promise.allSettled(ids.map((id) => client.post(`/training/${safePath(id)}/publish`, {})));
409
+ const results = await Promise.allSettled(ids.map((id) => client.POST('/training/{id}/publish', {
410
+ params: { path: { id } },
411
+ body: {},
412
+ })));
367
413
  const summary = ids.map((id, i) => {
368
414
  const r = results[i];
369
415
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"training.js","sourceRoot":"","sources":["../../src/tools/training.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"training.js","sourceRoot":"","sources":["../../src/tools/training.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import { OpenCXClient } from '../api-client.js';
2
+ import type { OpenCXClient } from '../api-client.js';
3
3
  export declare function registerUserTools(server: McpServer, client: OpenCXClient): void;
4
4
  //# sourceMappingURL=users.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/tools/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;AAE1D,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAwExE"}
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/tools/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA0FxE"}
@@ -1,42 +1,54 @@
1
1
  import { z } from 'zod';
2
- import { safePath } from '../api-client.js';
2
+ import { jsonContent } from '../api-client.js';
3
3
  export function registerUserTools(server, client) {
4
- server.tool('list_org_users', 'List users in the organization. Use this to discover valid agent user IDs before assigning sessions, creating comments, or managing team membership. Supports optional search by name or email.', {
5
- query: z
6
- .string()
7
- .optional()
8
- .describe('Optional case-insensitive search term for user name or email'),
4
+ server.registerTool('list_org_users', {
5
+ description: 'List users in the organization. Use this to discover valid agent user IDs before assigning sessions, creating comments, or managing team membership. Supports optional search by name or email.',
6
+ inputSchema: {
7
+ query: z
8
+ .string()
9
+ .optional()
10
+ .describe('Optional case-insensitive search term for user name or email'),
11
+ },
9
12
  }, async ({ query }) => {
10
- const data = await client.get('/users/', { q: query });
11
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
13
+ const data = (await client.GET('/users', { params: { query: { q: query } } })).data;
14
+ return jsonContent(data);
12
15
  });
13
- server.tool('get_org_user', 'Get a specific organization user by user ID, including their team memberships and per-team availability.', {
14
- user_id: z.number().int().positive().describe('Organization user ID'),
16
+ server.registerTool('get_org_user', {
17
+ description: 'Get a specific organization user by user ID, including their team memberships and per-team availability.',
18
+ inputSchema: {
19
+ user_id: z.number().int().positive().describe('Organization user ID'),
20
+ },
15
21
  }, async ({ user_id }) => {
16
- const data = await client.get(`/users/${safePath(String(user_id))}`);
17
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
22
+ const data = (await client.GET('/users/{user_id}', { params: { path: { user_id } } })).data;
23
+ return jsonContent(data);
18
24
  });
19
- server.tool('invite_teammate', `Invite a new teammate to the organization by email. Sends an invitation email with a link to join. Use when the user asks to add, invite, or onboard a team member.`, {
20
- email: z.string().email().describe('Email address to invite'),
25
+ server.registerTool('invite_teammate', {
26
+ description: 'Invite a new teammate to the organization by email. Sends an invitation email with a link to join. Use when the user asks to add, invite, or onboard a team member.',
27
+ inputSchema: {
28
+ email: z.string().email().describe('Email address to invite'),
29
+ },
21
30
  }, async ({ email }) => {
22
- const data = await client.post('/users/invite', { email: email.toLowerCase().trim() });
31
+ const data = (await client.POST('/users/invite', { body: { email: email.toLowerCase().trim() } })).data;
23
32
  return {
24
33
  content: [
25
34
  {
26
35
  type: 'text',
27
- text: JSON.stringify(data),
36
+ text: JSON.stringify(data ?? {}),
28
37
  },
29
38
  ],
30
39
  };
31
40
  });
32
- server.tool('bulk_invite_teammates', `Invite multiple teammates at once. Each email is invited independently — if one fails, the others still succeed.`, {
33
- emails: z
34
- .array(z.string().email())
35
- .min(1)
36
- .max(20)
37
- .describe('Array of email addresses to invite'),
41
+ server.registerTool('bulk_invite_teammates', {
42
+ description: 'Invite multiple teammates at once. Each email is invited independently — if one fails, the others still succeed.',
43
+ inputSchema: {
44
+ emails: z
45
+ .array(z.string().email())
46
+ .min(1)
47
+ .max(20)
48
+ .describe('Array of email addresses to invite'),
49
+ },
38
50
  }, async ({ emails }) => {
39
- const results = await Promise.allSettled(emails.map((email) => client.post('/users/invite', { email: email.toLowerCase().trim() })));
51
+ const results = await Promise.allSettled(emails.map((email) => client.POST('/users/invite', { body: { email: email.toLowerCase().trim() } })));
40
52
  const summary = emails.map((email, i) => {
41
53
  const r = results[i];
42
54
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/tools/users.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/tools/users.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import { OpenCXClient } from '../api-client.js';
2
+ import type { OpenCXClient } from '../api-client.js';
3
3
  export declare function registerWhatsAppTools(server: McpServer, client: OpenCXClient): void;
4
4
  //# sourceMappingURL=whatsapp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp.d.ts","sourceRoot":"","sources":["../../src/tools/whatsapp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA+B5E"}
1
+ {"version":3,"file":"whatsapp.d.ts","sourceRoot":"","sources":["../../src/tools/whatsapp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAyC5E"}
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { jsonContent } from '../api-client.js';
2
3
  export function registerWhatsAppTools(server, client) {
3
4
  server.registerTool('send_whatsapp_template', {
4
5
  description: 'Send a WhatsApp template message to a contact. Templates must be pre-approved by WhatsApp. This creates or continues a chat session with the contact.',
@@ -22,8 +23,16 @@ export function registerWhatsAppTools(server, client) {
22
23
  .describe('Existing session ID to associate the message with'),
23
24
  },
24
25
  }, async (params) => {
25
- const data = await client.post('/whatsapp/send-template', params);
26
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
26
+ const data = (await client.POST('/whatsapp/send-template', {
27
+ body: {
28
+ template_id: params.template_id,
29
+ phone_number_id: params.phone_number_id,
30
+ variables: params.variables ? Object.values(params.variables) : [],
31
+ contact: { phone_number: params.contact.phone },
32
+ session_id: params.session_id,
33
+ },
34
+ })).data;
35
+ return jsonContent(data);
27
36
  });
28
37
  }
29
38
  //# sourceMappingURL=whatsapp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"whatsapp.js","sourceRoot":"","sources":["../../src/tools/whatsapp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,qBAAqB,CAAC,MAAiB,EAAE,MAAoB;IAC3E,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,WAAW,EACT,uJAAuJ;QACzJ,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YACpE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;YAC1F,OAAO,EAAE,CAAC;iBACP,MAAM,CAAC;gBACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;gBAClE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;gBAC5D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;aACvD,CAAC;iBACD,QAAQ,CAAC,qCAAqC,CAAC;YAClD,SAAS,EAAE,CAAC;iBACT,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;iBAC9B,QAAQ,EAAE;iBACV,QAAQ,CAAC,iDAAiD,CAAC;YAC9D,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mDAAmD,CAAC;SACjE;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;QAClE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACrE,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"whatsapp.js","sourceRoot":"","sources":["../../src/tools/whatsapp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,MAAM,UAAU,qBAAqB,CAAC,MAAiB,EAAE,MAAoB;IAC3E,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,WAAW,EACT,uJAAuJ;QACzJ,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YACpE,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;YAC1F,OAAO,EAAE,CAAC;iBACP,MAAM,CAAC;gBACN,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;gBAClE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;gBAC5D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;aACvD,CAAC;iBACD,QAAQ,CAAC,qCAAqC,CAAC;YAClD,SAAS,EAAE,CAAC;iBACT,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;iBAC9B,QAAQ,EAAE;iBACV,QAAQ,CAAC,iDAAiD,CAAC;YAC9D,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mDAAmD,CAAC;SACjE;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,CACX,MAAM,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAC3C,IAAI,EAAE;gBACJ,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,eAAe,EAAE,MAAM,CAAC,eAAe;gBACvC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;gBAClE,OAAO,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE;gBAC/C,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B;SACF,CAAC,CACH,CAAC,IAAI,CAAC;QACP,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import { OpenCXClient } from '../api-client.js';
2
+ import type { OpenCXClient } from '../api-client.js';
3
3
  export declare function registerWidgetTools(server: McpServer, client: OpenCXClient): void;
4
4
  //# sourceMappingURL=widget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../src/tools/widget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA2B1E"}
1
+ {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../src/tools/widget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA2B1E"}
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { jsonContent } from '../api-client.js';
2
3
  export function registerWidgetTools(server, client) {
3
4
  server.registerTool('authenticate_widget_user', {
4
5
  description: 'Generate a JWT token for an authenticated chat widget user. Creates or updates the contact and returns a token for embedding the widget.',
@@ -16,8 +17,8 @@ export function registerWidgetTools(server, client) {
16
17
  .describe('Additional context for the AI agent about this user'),
17
18
  },
18
19
  }, async (params) => {
19
- const data = await client.post('/widget/authenticate-user', params);
20
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
20
+ const data = (await client.POST('/widget/authenticate-user', { body: params })).data;
21
+ return jsonContent(data);
21
22
  });
22
23
  }
23
24
  //# sourceMappingURL=widget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"widget.js","sourceRoot":"","sources":["../../src/tools/widget.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,MAAoB;IACzE,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,WAAW,EACT,0IAA0I;QAC5I,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;YAC/E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YAC5D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YAC7D,UAAU,EAAE,CAAC;iBACV,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBAClE,QAAQ,EAAE;iBACV,QAAQ,CAAC,gDAAgD,CAAC;YAC7D,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,qDAAqD,CACtD;SACJ;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;QACpE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACrE,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"widget.js","sourceRoot":"","sources":["../../src/tools/widget.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,MAAoB;IACzE,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,WAAW,EACT,0IAA0I;QAC5I,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;YAC/E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YAC5D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YAC7D,UAAU,EAAE,CAAC;iBACV,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;iBAClE,QAAQ,EAAE;iBACV,QAAQ,CAAC,gDAAgD,CAAC;YAC7D,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,qDAAqD,CACtD;SACJ;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACrF,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import { OpenCXClient } from '../api-client.js';
2
+ import type { OpenCXClient } from '../api-client.js';
3
3
  export declare function registerWorkflowTools(server: McpServer, client: OpenCXClient): void;
4
4
  //# sourceMappingURL=workflows.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/tools/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;AA+E1D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAoY5E"}
1
+ {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/tools/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAqJrD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAyd5E"}