@opencx/mcp 1.11.9 → 1.11.25

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 (145) hide show
  1. package/dist/api-client.d.ts +16 -11
  2. package/dist/api-client.d.ts.map +1 -1
  3. package/dist/api-client.js +41 -47
  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 -12
  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 +14 -9
  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 +24 -14
  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 +8 -6
  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/handoff-analytics.d.ts +1 -1
  56. package/dist/tools/handoff-analytics.d.ts.map +1 -1
  57. package/dist/tools/handoff-analytics.js +5 -6
  58. package/dist/tools/handoff-analytics.js.map +1 -1
  59. package/dist/tools/help-center.d.ts +1 -1
  60. package/dist/tools/help-center.d.ts.map +1 -1
  61. package/dist/tools/help-center.js +41 -11
  62. package/dist/tools/help-center.js.map +1 -1
  63. package/dist/tools/impact-report.d.ts +1 -1
  64. package/dist/tools/impact-report.d.ts.map +1 -1
  65. package/dist/tools/impact-report.js +3 -2
  66. package/dist/tools/impact-report.js.map +1 -1
  67. package/dist/tools/insights.d.ts +1 -1
  68. package/dist/tools/insights.d.ts.map +1 -1
  69. package/dist/tools/insights.js +19 -11
  70. package/dist/tools/insights.js.map +1 -1
  71. package/dist/tools/media.d.ts +1 -1
  72. package/dist/tools/media.d.ts.map +1 -1
  73. package/dist/tools/media.js +2 -3
  74. package/dist/tools/media.js.map +1 -1
  75. package/dist/tools/office-hours.d.ts +1 -1
  76. package/dist/tools/office-hours.d.ts.map +1 -1
  77. package/dist/tools/office-hours.js +42 -10
  78. package/dist/tools/office-hours.js.map +1 -1
  79. package/dist/tools/onboarding.js +1 -1
  80. package/dist/tools/onboarding.js.map +1 -1
  81. package/dist/tools/org.d.ts +1 -1
  82. package/dist/tools/org.d.ts.map +1 -1
  83. package/dist/tools/org.js +5 -4
  84. package/dist/tools/org.js.map +1 -1
  85. package/dist/tools/phone.d.ts +1 -1
  86. package/dist/tools/phone.d.ts.map +1 -1
  87. package/dist/tools/phone.js +59 -40
  88. package/dist/tools/phone.js.map +1 -1
  89. package/dist/tools/redaction.d.ts +1 -1
  90. package/dist/tools/redaction.d.ts.map +1 -1
  91. package/dist/tools/redaction.js +5 -4
  92. package/dist/tools/redaction.js.map +1 -1
  93. package/dist/tools/search.d.ts +1 -1
  94. package/dist/tools/search.d.ts.map +1 -1
  95. package/dist/tools/search.js +3 -2
  96. package/dist/tools/search.js.map +1 -1
  97. package/dist/tools/sequences.d.ts +1 -1
  98. package/dist/tools/sequences.d.ts.map +1 -1
  99. package/dist/tools/sequences.js +24 -13
  100. package/dist/tools/sequences.js.map +1 -1
  101. package/dist/tools/sessions.d.ts +1 -1
  102. package/dist/tools/sessions.d.ts.map +1 -1
  103. package/dist/tools/sessions.js +118 -80
  104. package/dist/tools/sessions.js.map +1 -1
  105. package/dist/tools/sla-analytics.d.ts +1 -1
  106. package/dist/tools/sla-analytics.d.ts.map +1 -1
  107. package/dist/tools/sla-analytics.js +26 -42
  108. package/dist/tools/sla-analytics.js.map +1 -1
  109. package/dist/tools/sla.d.ts +1 -1
  110. package/dist/tools/sla.d.ts.map +1 -1
  111. package/dist/tools/sla.js +18 -16
  112. package/dist/tools/sla.js.map +1 -1
  113. package/dist/tools/tags.d.ts +1 -1
  114. package/dist/tools/tags.d.ts.map +1 -1
  115. package/dist/tools/tags.js +11 -11
  116. package/dist/tools/tags.js.map +1 -1
  117. package/dist/tools/teams.d.ts +1 -1
  118. package/dist/tools/teams.d.ts.map +1 -1
  119. package/dist/tools/teams.js +24 -17
  120. package/dist/tools/teams.js.map +1 -1
  121. package/dist/tools/todos.d.ts +1 -1
  122. package/dist/tools/todos.d.ts.map +1 -1
  123. package/dist/tools/todos.js +11 -8
  124. package/dist/tools/todos.js.map +1 -1
  125. package/dist/tools/training.d.ts +1 -1
  126. package/dist/tools/training.d.ts.map +1 -1
  127. package/dist/tools/training.js +116 -73
  128. package/dist/tools/training.js.map +1 -1
  129. package/dist/tools/users.d.ts +1 -1
  130. package/dist/tools/users.d.ts.map +1 -1
  131. package/dist/tools/users.js +8 -8
  132. package/dist/tools/users.js.map +1 -1
  133. package/dist/tools/whatsapp.d.ts +1 -1
  134. package/dist/tools/whatsapp.d.ts.map +1 -1
  135. package/dist/tools/whatsapp.js +11 -2
  136. package/dist/tools/whatsapp.js.map +1 -1
  137. package/dist/tools/widget.d.ts +1 -1
  138. package/dist/tools/widget.d.ts.map +1 -1
  139. package/dist/tools/widget.js +3 -2
  140. package/dist/tools/widget.js.map +1 -1
  141. package/dist/tools/workflows.d.ts +1 -1
  142. package/dist/tools/workflows.d.ts.map +1 -1
  143. package/dist/tools/workflows.js +173 -74
  144. package/dist/tools/workflows.js.map +1 -1
  145. package/package.json +5 -2
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { safePath } from '../api-client.js';
2
+ import { jsonContent } from '../api-client.js';
3
3
  export function registerTrainingTools(server, client) {
4
4
  server.registerTool('list_training_scenarios', {
5
5
  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 +29,28 @@ export function registerTrainingTools(server, client) {
29
29
  .describe('Number of items to skip (default 0). String or number.'),
30
30
  },
31
31
  }, 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) }] };
32
+ const data = (await client.GET('/training', {
33
+ params: {
34
+ query: {
35
+ search,
36
+ type,
37
+ is_draft,
38
+ sort_by,
39
+ limit,
40
+ offset,
41
+ },
42
+ },
43
+ })).data;
44
+ return jsonContent(data);
41
45
  });
42
46
  server.registerTool('get_training_scenario', {
43
47
  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
48
  inputSchema: { id: z.string().describe('The training scenario ID') },
45
49
  }, async ({ id }) => {
46
- const data = await client.get(`/training/${safePath(id)}`);
47
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
50
+ const data = (await client.GET('/training/{id}', {
51
+ params: { path: { id } },
52
+ })).data;
53
+ return jsonContent(data);
48
54
  });
49
55
  server.registerTool('create_training_scenario', {
50
56
  description: `Create a new training scenario as a draft. The user can review and publish from the dashboard.
@@ -72,16 +78,18 @@ Use type "BEHAVIORAL" for always-active instructions or "SCENARIO_SPECIFIC" for
72
78
  .describe('Limit to specific contact segments. Empty = all segments.'),
73
79
  },
74
80
  }, async (params) => {
75
- const created = await client.post('/training/', {
76
- title: params.title,
77
- content: params.content,
78
- type: params.type,
79
- is_draft: true,
80
- directory_id: params.directory_id ?? null,
81
- restricted_to_channels: params.restricted_to_channels ?? [],
82
- restricted_to_segments: params.restricted_to_segments ?? [],
83
- });
84
- return { content: [{ type: 'text', text: JSON.stringify(created) }] };
81
+ const created = (await client.POST('/training', {
82
+ body: {
83
+ title: params.title,
84
+ content: params.content,
85
+ type: params.type,
86
+ is_draft: true,
87
+ directory_id: params.directory_id ?? null,
88
+ restricted_to_channels: (params.restricted_to_channels ?? []),
89
+ restricted_to_segments: params.restricted_to_segments ?? [],
90
+ },
91
+ })).data;
92
+ return { content: [{ type: 'text', text: JSON.stringify(created ?? {}) }] };
85
93
  });
86
94
  server.registerTool('update_training_scenario', {
87
95
  description: `Update a training scenario. ALWAYS use mode "diff" for content edits — the user must be able to accept/reject each change.
@@ -131,28 +139,40 @@ Only use mode "direct" for metadata-only updates (title, type, channels, segment
131
139
  ],
132
140
  };
133
141
  }
134
- const data = await client.put(`/training/${safePath(id)}/diff`, { diff_html });
135
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
142
+ const data = (await client.PUT('/training/{id}/diff', {
143
+ params: { path: { id } },
144
+ body: { diff_html },
145
+ })).data;
146
+ return jsonContent(data);
136
147
  }
137
148
  // PUT /:id requires title+content. Fetch current values for any missing fields.
138
149
  const current = title === undefined || content === undefined
139
- ? (await client.get(`/training/${safePath(id)}`))
150
+ ? z
151
+ .object({ title: z.string(), content: z.string() })
152
+ .parse((await client.GET('/training/{id}', {
153
+ params: { path: { id } },
154
+ })).data)
140
155
  : null;
141
- const data = await client.put(`/training/${safePath(id)}`, {
142
- title: title ?? current?.title,
143
- content: content ?? current?.content,
144
- ...rest,
145
- directory_id: rest.directory_id ?? null,
146
- restricted_to_channels: rest.restricted_to_channels ?? [],
147
- restricted_to_segments: rest.restricted_to_segments ?? [],
148
- });
149
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
156
+ const resolvedTitle = title ?? current?.title ?? '';
157
+ const resolvedContent = content ?? current?.content ?? '';
158
+ const data = (await client.PUT('/training/{id}', {
159
+ params: { path: { id } },
160
+ body: {
161
+ title: resolvedTitle,
162
+ content: resolvedContent,
163
+ ...rest,
164
+ directory_id: rest.directory_id ?? null,
165
+ restricted_to_channels: (rest.restricted_to_channels ?? []),
166
+ restricted_to_segments: rest.restricted_to_segments ?? [],
167
+ },
168
+ })).data;
169
+ return jsonContent(data);
150
170
  });
151
171
  server.registerTool('delete_training_scenario', {
152
172
  description: 'Permanently delete a training scenario by ID. This action cannot be undone.',
153
173
  inputSchema: { id: z.string().describe('The training scenario ID to delete') },
154
174
  }, async ({ id }) => {
155
- await client.delete(`/training/${safePath(id)}`);
175
+ await client.DELETE('/training/{id}', { params: { path: { id } } });
156
176
  return { content: [{ type: 'text', text: `Training scenario ${id} deleted successfully.` }] };
157
177
  });
158
178
  server.registerTool('publish_training_scenario', {
@@ -161,8 +181,11 @@ Only use mode "direct" for metadata-only updates (title, type, channels, segment
161
181
  id: z.string().describe('The training scenario ID to publish'),
162
182
  },
163
183
  }, async ({ id }) => {
164
- const data = await client.post(`/training/${safePath(id)}/publish`, {});
165
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
184
+ const data = (await client.POST('/training/{id}/publish', {
185
+ params: { path: { id } },
186
+ body: {},
187
+ })).data;
188
+ return jsonContent(data);
166
189
  });
167
190
  server.registerTool('toggle_training_draft', {
168
191
  description: 'Unpublish a training scenario (set to draft/inactive). To publish, use publish_training_scenario instead.',
@@ -170,8 +193,11 @@ Only use mode "direct" for metadata-only updates (title, type, channels, segment
170
193
  id: z.string().describe('The training scenario ID'),
171
194
  },
172
195
  }, async ({ id }) => {
173
- const data = await client.put(`/training/${safePath(id)}/draft`, { draft: true });
174
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
196
+ const data = (await client.PUT('/training/{id}/draft', {
197
+ params: { path: { id } },
198
+ body: { draft: true },
199
+ })).data;
200
+ return jsonContent(data);
175
201
  });
176
202
  server.registerTool('get_training_version_history', {
177
203
  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 +205,10 @@ Only use mode "direct" for metadata-only updates (title, type, channels, segment
179
205
  instruction_id: z.string().describe('The training scenario ID'),
180
206
  },
181
207
  }, async ({ instruction_id }) => {
182
- const data = await client.get(`/training/${safePath(instruction_id)}/versions`);
183
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
208
+ const data = (await client.GET('/training/{instructionId}/versions', {
209
+ params: { path: { instructionId: instruction_id } },
210
+ })).data;
211
+ return jsonContent(data);
184
212
  });
185
213
  server.registerTool('revert_training_version', {
186
214
  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 +217,11 @@ Only use mode "direct" for metadata-only updates (title, type, channels, segment
189
217
  version: z.coerce.number().int().positive().describe('The version number to revert to'),
190
218
  },
191
219
  }, 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) }] };
220
+ const data = (await client.POST('/training/{instructionId}/versions/{version}/revert', {
221
+ params: { path: { instructionId: instruction_id, version } },
222
+ body: {},
223
+ })).data;
224
+ return jsonContent(data);
194
225
  });
195
226
  server.registerTool('move_training_to_directory', {
196
227
  description: 'Move a training scenario into a directory for organization, or set directory_id to null to uncategorize it.',
@@ -202,7 +233,10 @@ Only use mode "direct" for metadata-only updates (title, type, channels, segment
202
233
  .describe('Target directory ID, or null to uncategorize'),
203
234
  },
204
235
  }, async ({ id, directory_id }) => {
205
- await client.post(`/training/${safePath(id)}/move`, { directory_id });
236
+ await client.POST('/training/{id}/move', {
237
+ params: { path: { id } },
238
+ body: { directory_id },
239
+ });
206
240
  return {
207
241
  content: [
208
242
  {
@@ -227,24 +261,23 @@ Only use mode "direct" for metadata-only updates (title, type, channels, segment
227
261
  .describe('Include published trainings (default: true)'),
228
262
  },
229
263
  }, 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) }] };
264
+ const data = (await client.GET('/training/directories/tree', {
265
+ params: { query: { show_drafts, show_published } },
266
+ })).data;
267
+ return jsonContent(data);
235
268
  });
236
269
  server.registerTool('list_training_directories', {
237
270
  description: 'List all directories used to organize training scenarios.',
238
271
  }, async () => {
239
- const data = await client.get('/training/directories');
240
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
272
+ const data = (await client.GET('/training/directories')).data;
273
+ return jsonContent(data);
241
274
  });
242
275
  server.registerTool('create_training_directory', {
243
276
  description: 'Create a new directory for organizing training scenarios.',
244
277
  inputSchema: { name: z.string().describe('The directory name') },
245
278
  }, async ({ name }) => {
246
- const data = await client.post('/training/directories', { name });
247
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
279
+ const data = (await client.POST('/training/directories', { body: { name } })).data;
280
+ return jsonContent(data);
248
281
  });
249
282
  server.registerTool('update_training_directory', {
250
283
  description: 'Rename a training directory.',
@@ -253,14 +286,19 @@ Only use mode "direct" for metadata-only updates (title, type, channels, segment
253
286
  name: z.string().describe('The new directory name'),
254
287
  },
255
288
  }, 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) }] };
289
+ const data = (await client.PUT('/training/directories/{directory_id}', {
290
+ params: { path: { directory_id } },
291
+ body: { name },
292
+ })).data;
293
+ return jsonContent(data);
258
294
  });
259
295
  server.registerTool('delete_training_directory', {
260
296
  description: 'Delete a training directory and ALL trainings inside it. This action cannot be undone.',
261
297
  inputSchema: { directory_id: z.string().describe('The directory ID to delete') },
262
298
  }, async ({ directory_id }) => {
263
- await client.delete(`/training/directories/${safePath(directory_id)}`);
299
+ await client.DELETE('/training/directories/{directory_id}', {
300
+ params: { path: { directory_id } },
301
+ });
264
302
  return {
265
303
  content: [{ type: 'text', text: `Directory ${directory_id} and its contents deleted.` }],
266
304
  };
@@ -288,16 +326,16 @@ Only use mode "direct" for metadata-only updates (title, type, channels, segment
288
326
  .describe('Filter by source type. Omit to search all.'),
289
327
  },
290
328
  }, 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) }] };
329
+ const data = (await client.POST('/training/search', {
330
+ body: {
331
+ query,
332
+ include_content: include_content ?? false,
333
+ limit: limit ?? 10,
334
+ sortBy: 'relevance',
335
+ sourceTypes: source_types,
336
+ },
337
+ })).data;
338
+ return jsonContent(data);
301
339
  });
302
340
  server.registerTool('get_ai_profile', {
303
341
  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 +346,7 @@ Only use mode "direct" for metadata-only updates (title, type, channels, segment
308
346
  prompt_message: z.string(),
309
347
  draft_prompt_message: z.string().nullable(),
310
348
  })
311
- .parse(await client.get('/training/ai-profile'));
349
+ .parse((await client.GET('/training/ai-profile')).data);
312
350
  return { content: [{ type: 'text', text: JSON.stringify(data) }] };
313
351
  });
314
352
  server.registerTool('update_ai_profile', {
@@ -325,9 +363,11 @@ This tool only saves a draft. Do NOT chain publish_ai_profile after it — leave
325
363
  .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
364
  },
327
365
  }, async (params) => {
328
- await client.patch('/training/ai-profile', {
329
- mode: 'diff',
330
- diff_html: params.diff_html,
366
+ await client.PATCH('/training/ai-profile', {
367
+ body: {
368
+ mode: 'diff',
369
+ diff_html: params.diff_html,
370
+ },
331
371
  });
332
372
  return {
333
373
  content: [
@@ -354,8 +394,8 @@ DO NOT call this tool unless one of these is true:
354
394
  Fails if there is no draft.`,
355
395
  inputSchema: {},
356
396
  }, async () => {
357
- const data = await client.post('/training/ai-profile/publish', {});
358
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
397
+ const data = (await client.POST('/training/ai-profile/publish')).data;
398
+ return jsonContent(data);
359
399
  });
360
400
  server.registerTool('bulk_publish_instructions', {
361
401
  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 +403,10 @@ Fails if there is no draft.`,
363
403
  ids: z.array(z.string()).min(1).max(50).describe('Array of instruction IDs to publish'),
364
404
  },
365
405
  }, async ({ ids }) => {
366
- const results = await Promise.allSettled(ids.map((id) => client.post(`/training/${safePath(id)}/publish`, {})));
406
+ const results = await Promise.allSettled(ids.map((id) => client.POST('/training/{id}/publish', {
407
+ params: { path: { id } },
408
+ body: {},
409
+ })));
367
410
  const summary = ids.map((id, i) => {
368
411
  const r = results[i];
369
412
  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,QA8ExE"}
@@ -1,5 +1,5 @@
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
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
5
  query: z
@@ -7,24 +7,24 @@ export function registerUserTools(server, client) {
7
7
  .optional()
8
8
  .describe('Optional case-insensitive search term for user name or email'),
9
9
  }, async ({ query }) => {
10
- const data = await client.get('/users/', { q: query });
11
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
10
+ const data = (await client.GET('/users', { params: { query: { q: query } } })).data;
11
+ return jsonContent(data);
12
12
  });
13
13
  server.tool('get_org_user', 'Get a specific organization user by user ID, including their team memberships and per-team availability.', {
14
14
  user_id: z.number().int().positive().describe('Organization user ID'),
15
15
  }, async ({ user_id }) => {
16
- const data = await client.get(`/users/${safePath(String(user_id))}`);
17
- return { content: [{ type: 'text', text: JSON.stringify(data) }] };
16
+ const data = (await client.GET('/users/{user_id}', { params: { path: { user_id } } })).data;
17
+ return jsonContent(data);
18
18
  });
19
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
20
  email: z.string().email().describe('Email address to invite'),
21
21
  }, async ({ email }) => {
22
- const data = await client.post('/users/invite', { email: email.toLowerCase().trim() });
22
+ const data = (await client.POST('/users/invite', { body: { email: email.toLowerCase().trim() } })).data;
23
23
  return {
24
24
  content: [
25
25
  {
26
26
  type: 'text',
27
- text: JSON.stringify(data),
27
+ text: JSON.stringify(data ?? {}),
28
28
  },
29
29
  ],
30
30
  };
@@ -36,7 +36,7 @@ export function registerUserTools(server, client) {
36
36
  .max(20)
37
37
  .describe('Array of email addresses to invite'),
38
38
  }, async ({ emails }) => {
39
- const results = await Promise.allSettled(emails.map((email) => client.post('/users/invite', { email: email.toLowerCase().trim() })));
39
+ const results = await Promise.allSettled(emails.map((email) => client.POST('/users/invite', { body: { email: email.toLowerCase().trim() } })));
40
40
  const summary = emails.map((email, i) => {
41
41
  const r = results[i];
42
42
  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;AAiG1D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA4Q5E"}
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;AAkFrD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAkc5E"}