@opencx/mcp 1.8.1 → 1.8.3

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 (86) hide show
  1. package/dist/server.d.ts.map +1 -1
  2. package/dist/server.js +8 -0
  3. package/dist/server.js.map +1 -1
  4. package/dist/tools/actions.d.ts.map +1 -1
  5. package/dist/tools/actions.js +67 -51
  6. package/dist/tools/actions.js.map +1 -1
  7. package/dist/tools/autopilot.d.ts.map +1 -1
  8. package/dist/tools/autopilot.js +26 -6
  9. package/dist/tools/autopilot.js.map +1 -1
  10. package/dist/tools/blocklist.d.ts.map +1 -1
  11. package/dist/tools/blocklist.js +40 -16
  12. package/dist/tools/blocklist.js.map +1 -1
  13. package/dist/tools/contacts.d.ts.map +1 -1
  14. package/dist/tools/contacts.js +35 -19
  15. package/dist/tools/contacts.js.map +1 -1
  16. package/dist/tools/crawl.d.ts.map +1 -1
  17. package/dist/tools/crawl.js +35 -17
  18. package/dist/tools/crawl.js.map +1 -1
  19. package/dist/tools/csat.d.ts.map +1 -1
  20. package/dist/tools/csat.js +18 -5
  21. package/dist/tools/csat.js.map +1 -1
  22. package/dist/tools/email.d.ts.map +1 -1
  23. package/dist/tools/email.js +43 -29
  24. package/dist/tools/email.js.map +1 -1
  25. package/dist/tools/handoff-analytics.d.ts.map +1 -1
  26. package/dist/tools/handoff-analytics.js +12 -9
  27. package/dist/tools/handoff-analytics.js.map +1 -1
  28. package/dist/tools/help-center.d.ts +4 -0
  29. package/dist/tools/help-center.d.ts.map +1 -0
  30. package/dist/tools/help-center.js +84 -0
  31. package/dist/tools/help-center.js.map +1 -0
  32. package/dist/tools/insights.d.ts.map +1 -1
  33. package/dist/tools/insights.js +24 -9
  34. package/dist/tools/insights.js.map +1 -1
  35. package/dist/tools/media.d.ts.map +1 -1
  36. package/dist/tools/media.js +5 -4
  37. package/dist/tools/media.js.map +1 -1
  38. package/dist/tools/office-hours.d.ts.map +1 -1
  39. package/dist/tools/office-hours.js +30 -18
  40. package/dist/tools/office-hours.js.map +1 -1
  41. package/dist/tools/org.d.ts.map +1 -1
  42. package/dist/tools/org.js +9 -2
  43. package/dist/tools/org.js.map +1 -1
  44. package/dist/tools/phone.d.ts.map +1 -1
  45. package/dist/tools/phone.js +75 -56
  46. package/dist/tools/phone.js.map +1 -1
  47. package/dist/tools/redaction.d.ts +4 -0
  48. package/dist/tools/redaction.d.ts.map +1 -0
  49. package/dist/tools/redaction.js +30 -0
  50. package/dist/tools/redaction.js.map +1 -0
  51. package/dist/tools/search.d.ts.map +1 -1
  52. package/dist/tools/search.js +7 -4
  53. package/dist/tools/search.js.map +1 -1
  54. package/dist/tools/sequences.d.ts.map +1 -1
  55. package/dist/tools/sequences.js +46 -28
  56. package/dist/tools/sequences.js.map +1 -1
  57. package/dist/tools/sessions.d.ts.map +1 -1
  58. package/dist/tools/sessions.js +117 -80
  59. package/dist/tools/sessions.js.map +1 -1
  60. package/dist/tools/sla-analytics.d.ts.map +1 -1
  61. package/dist/tools/sla-analytics.js +25 -13
  62. package/dist/tools/sla-analytics.js.map +1 -1
  63. package/dist/tools/sla.d.ts +4 -0
  64. package/dist/tools/sla.d.ts.map +1 -0
  65. package/dist/tools/sla.js +93 -0
  66. package/dist/tools/sla.js.map +1 -0
  67. package/dist/tools/tags.d.ts.map +1 -1
  68. package/dist/tools/tags.js +28 -13
  69. package/dist/tools/tags.js.map +1 -1
  70. package/dist/tools/teams.d.ts.map +1 -1
  71. package/dist/tools/teams.js +40 -17
  72. package/dist/tools/teams.js.map +1 -1
  73. package/dist/tools/training.d.ts.map +1 -1
  74. package/dist/tools/training.js +126 -81
  75. package/dist/tools/training.js.map +1 -1
  76. package/dist/tools/whatsapp.d.ts.map +1 -1
  77. package/dist/tools/whatsapp.js +21 -20
  78. package/dist/tools/whatsapp.js.map +1 -1
  79. package/dist/tools/widget.d.ts +4 -0
  80. package/dist/tools/widget.d.ts.map +1 -0
  81. package/dist/tools/widget.js +23 -0
  82. package/dist/tools/widget.js.map +1 -0
  83. package/dist/tools/workflows.d.ts.map +1 -1
  84. package/dist/tools/workflows.js +104 -65
  85. package/dist/tools/workflows.js.map +1 -1
  86. package/package.json +1 -1
@@ -1,41 +1,59 @@
1
1
  import { z } from 'zod';
2
2
  import { safePath } from '../api-client.js';
3
3
  export function registerCrawlTools(server, client) {
4
- server.tool('list_datasources', 'List website datasources configured for knowledge base crawling. Each datasource represents a website whose pages are crawled and synced into the AI knowledge base.', {
5
- page: z.string().optional().describe('Page number (1-based)'),
6
- limit: z.string().optional().describe('Results per page (default 20)'),
4
+ server.registerTool('list_datasources', {
5
+ description: 'List website datasources configured for knowledge base crawling. Each datasource represents a website whose pages are crawled and synced into the AI knowledge base.',
6
+ inputSchema: {
7
+ page: z.string().optional().describe('Page number (1-based)'),
8
+ limit: z.string().optional().describe('Results per page (default 20)'),
9
+ },
7
10
  }, async (params) => {
8
11
  const data = await client.get('/crawl/', { page: params.page, limit: params.limit });
9
12
  return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
10
13
  });
11
- server.tool('create_datasource', 'Create a new website datasource for crawling. The URL is the root page to start crawling from. Pages discovered during the crawl will be added to the knowledge base.', {
12
- url: z.string().url().describe('The root URL of the website to crawl'),
13
- name: z.string().optional().describe('A friendly name for this datasource'),
14
+ server.registerTool('create_datasource', {
15
+ description: 'Create a new website datasource for crawling. The URL is the root page to start crawling from. Pages discovered during the crawl will be added to the knowledge base.',
16
+ inputSchema: {
17
+ url: z.string().url().describe('The root URL of the website to crawl'),
18
+ name: z.string().optional().describe('A friendly name for this datasource'),
19
+ },
14
20
  }, async (params) => {
15
21
  const data = await client.post('/crawl/', params);
16
22
  return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
17
23
  });
18
- server.tool('get_datasource', 'Get details of a specific website datasource, including its configuration and crawl status.', { id: z.string().describe('The datasource ID') }, async ({ id }) => {
24
+ server.registerTool('get_datasource', {
25
+ description: 'Get details of a specific website datasource, including its configuration and crawl status.',
26
+ inputSchema: { id: z.string().describe('The datasource ID') },
27
+ }, async ({ id }) => {
19
28
  const data = await client.get(`/crawl/${safePath(id)}`);
20
29
  return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
21
30
  });
22
- server.tool('start_crawl', 'Trigger a new crawl for a website datasource. This will discover and sync new pages into the knowledge base. Only one crawl can run at a time per datasource.', { id: z.string().describe('The datasource ID to crawl') }, async ({ id }) => {
31
+ server.registerTool('start_crawl', {
32
+ description: 'Trigger a new crawl for a website datasource. This will discover and sync new pages into the knowledge base. Only one crawl can run at a time per datasource.',
33
+ inputSchema: { id: z.string().describe('The datasource ID to crawl') },
34
+ }, async ({ id }) => {
23
35
  const data = await client.post(`/crawl/${safePath(id)}/crawl`);
24
36
  return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
25
37
  });
26
- server.tool('get_crawl_status', 'Get the status and progress of a specific crawl job.', {
27
- datasource_id: z.string().describe('The datasource ID'),
28
- job_id: z.string().describe('The crawl job ID'),
38
+ server.registerTool('get_crawl_status', {
39
+ description: 'Get the status and progress of a specific crawl job.',
40
+ inputSchema: {
41
+ datasource_id: z.string().describe('The datasource ID'),
42
+ job_id: z.string().describe('The crawl job ID'),
43
+ },
29
44
  }, async ({ datasource_id, job_id }) => {
30
45
  const data = await client.get(`/crawl/${safePath(datasource_id)}/crawls/${safePath(job_id)}`);
31
46
  return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
32
47
  });
33
- server.tool('list_crawled_pages', 'List pages discovered by a website datasource crawl. Can filter by sync status and search by URL or title.', {
34
- datasource_id: z.string().describe('The datasource ID'),
35
- page: z.string().optional().describe('Page number (1-based)'),
36
- limit: z.string().optional().describe('Results per page'),
37
- sync_status: z.string().optional().describe('Filter by sync status'),
38
- search: z.string().optional().describe('Search pages by URL or title'),
48
+ server.registerTool('list_crawled_pages', {
49
+ description: 'List pages discovered by a website datasource crawl. Can filter by sync status and search by URL or title.',
50
+ inputSchema: {
51
+ datasource_id: z.string().describe('The datasource ID'),
52
+ page: z.string().optional().describe('Page number (1-based)'),
53
+ limit: z.string().optional().describe('Results per page'),
54
+ sync_status: z.string().optional().describe('Filter by sync status'),
55
+ search: z.string().optional().describe('Search pages by URL or title'),
56
+ },
39
57
  }, async ({ datasource_id, ...query }) => {
40
58
  const data = await client.get(`/crawl/${safePath(datasource_id)}/pages`, query);
41
59
  return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
@@ -1 +1 @@
1
- {"version":3,"file":"crawl.js","sourceRoot":"","sources":["../../src/tools/crawl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crawl.js","sourceRoot":"","sources":["../../src/tools/crawl.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"csat.d.ts","sourceRoot":"","sources":["../../src/tools/csat.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,QAoCxE"}
1
+ {"version":3,"file":"csat.d.ts","sourceRoot":"","sources":["../../src/tools/csat.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,QAgDxE"}
@@ -1,9 +1,12 @@
1
1
  import { z } from 'zod';
2
2
  import { safePath } from '../api-client.js';
3
3
  export function registerCsatTools(server, client) {
4
- server.tool('list_csat_scores', 'List customer satisfaction (CSAT) scores with pagination. CSAT scores are collected after chat sessions to measure customer satisfaction.', {
5
- page: z.string().optional().describe('Page number (1-based, default 1)'),
6
- per_page: z.string().optional().describe('Results per page (default 20)'),
4
+ server.registerTool('list_csat_scores', {
5
+ description: 'List customer satisfaction (CSAT) scores with pagination. CSAT scores are collected after chat sessions to measure customer satisfaction.',
6
+ inputSchema: {
7
+ page: z.string().optional().describe('Page number (1-based, default 1)'),
8
+ per_page: z.string().optional().describe('Results per page (default 20)'),
9
+ },
7
10
  }, async (params) => {
8
11
  const data = await client.get('/csat/scores', {
9
12
  page: params.page,
@@ -11,11 +14,21 @@ export function registerCsatTools(server, client) {
11
14
  });
12
15
  return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
13
16
  });
14
- server.tool('get_csat_score', 'Get a specific CSAT score by its ID, including the rating value, comment, and associated session.', { score_id: z.string().describe('The CSAT score ID') }, async ({ score_id }) => {
17
+ server.registerTool('get_csat_score', {
18
+ description: 'Get a specific CSAT score by its ID, including the rating value, comment, and associated session.',
19
+ inputSchema: {
20
+ score_id: z.string().describe('The CSAT score ID'),
21
+ },
22
+ }, async ({ score_id }) => {
15
23
  const data = await client.get(`/csat/scores/${safePath(score_id)}`);
16
24
  return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
17
25
  });
18
- server.tool('get_session_csat', 'Get the CSAT score for a specific chat session, if one was submitted.', { session_id: z.string().describe('The session ID to look up CSAT for') }, async ({ session_id }) => {
26
+ server.registerTool('get_session_csat', {
27
+ description: 'Get the CSAT score for a specific chat session, if one was submitted.',
28
+ inputSchema: {
29
+ session_id: z.string().describe('The session ID to look up CSAT for'),
30
+ },
31
+ }, async ({ session_id }) => {
19
32
  const data = await client.get(`/csat/scores/session/${safePath(session_id)}`);
20
33
  return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
21
34
  });
@@ -1 +1 @@
1
- {"version":3,"file":"csat.js","sourceRoot":"","sources":["../../src/tools/csat.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAgB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,UAAU,iBAAiB,CAAC,MAAiB,EAAE,MAAoB;IACvE,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,2IAA2I,EAC3I;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QACxE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;KAC1E,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE;YAC5C,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,mGAAmG,EACnG,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,EACtD,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QACrB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,gBAAgB,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,uEAAuE,EACvE,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC,EAAE,EACzE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QACvB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,wBAAwB,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"csat.js","sourceRoot":"","sources":["../../src/tools/csat.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAgB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,UAAU,iBAAiB,CAAC,MAAiB,EAAE,MAAoB;IACvE,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EACT,2IAA2I;QAC7I,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YACxE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;SAC1E;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE;YAC5C,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,WAAW,EACT,mGAAmG;QACrG,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;SACnD;KACF,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QACrB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,gBAAgB,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EAAE,uEAAuE;QACpF,WAAW,EAAE;YACX,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;SACtE;KACF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;QACvB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,wBAAwB,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC9E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../src/tools/email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;AAE1D,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAsEzE"}
1
+ {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../src/tools/email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;AAE1D,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAoFzE"}
@@ -1,46 +1,60 @@
1
1
  import { z } from 'zod';
2
2
  import { safePath } from '../api-client.js';
3
3
  export function registerEmailTools(server, client) {
4
- server.tool('send_email', 'Send AI-generated emails to one or more contacts. The AI composes the email content based on the contact context. You must have a verified sending domain configured.', {
5
- from_email: z.string().email().describe('The sender email address (must be from a verified domain)'),
6
- recipients: z
7
- .array(z.object({
8
- contact_id: z.string().describe('The contact ID to send to'),
9
- }))
10
- .min(1)
11
- .describe('List of contacts to send the email to'),
12
- delay_in_minutes: z
13
- .number()
14
- .optional()
15
- .describe('Delay before sending, in minutes (default: send immediately)'),
16
- fallback_email_subject: z
17
- .string()
18
- .optional()
19
- .describe('Subject line to use if AI generation fails'),
20
- fallback_email_sender_name: z
21
- .string()
22
- .optional()
23
- .describe('Sender display name to use if AI generation fails'),
24
- fallback_email_body: z
25
- .string()
26
- .optional()
27
- .describe('Email body to use if AI generation fails'),
4
+ server.registerTool('send_email', {
5
+ description: 'Send AI-generated emails to one or more contacts. The AI composes the email content based on the contact context. You must have a verified sending domain configured.',
6
+ inputSchema: {
7
+ from_email: z
8
+ .string()
9
+ .email()
10
+ .describe('The sender email address (must be from a verified domain)'),
11
+ recipients: z
12
+ .array(z.object({
13
+ contact_id: z.string().describe('The contact ID to send to'),
14
+ }))
15
+ .min(1)
16
+ .describe('List of contacts to send the email to'),
17
+ delay_in_minutes: z
18
+ .number()
19
+ .optional()
20
+ .describe('Delay before sending, in minutes (default: send immediately)'),
21
+ fallback_email_subject: z
22
+ .string()
23
+ .optional()
24
+ .describe('Subject line to use if AI generation fails'),
25
+ fallback_email_sender_name: z
26
+ .string()
27
+ .optional()
28
+ .describe('Sender display name to use if AI generation fails'),
29
+ fallback_email_body: z
30
+ .string()
31
+ .optional()
32
+ .describe('Email body to use if AI generation fails'),
33
+ },
28
34
  }, async (params) => {
29
35
  const data = await client.post('/email/', params);
30
36
  return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
31
37
  });
32
- server.tool('list_email_domains', 'List all custom email sending domains configured for your organization, including their verification status.', {}, async () => {
38
+ server.registerTool('list_email_domains', {
39
+ description: 'List all custom email sending domains configured for your organization, including their verification status.',
40
+ }, async () => {
33
41
  const data = await client.get('/email/domains');
34
42
  return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
35
43
  });
36
- server.tool('add_email_domain', 'Add a custom domain for sending emails. Returns DNS records that must be configured for verification.', {
37
- domain_name: z.string().describe('The domain name to add (e.g. "example.com")'),
44
+ server.registerTool('add_email_domain', {
45
+ description: 'Add a custom domain for sending emails. Returns DNS records that must be configured for verification.',
46
+ inputSchema: {
47
+ domain_name: z.string().describe('The domain name to add (e.g. "example.com")'),
48
+ },
38
49
  }, async ({ domain_name }) => {
39
50
  const data = await client.put('/email/domains', { domainName: domain_name });
40
51
  return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
41
52
  });
42
- server.tool('verify_email_domain', 'Trigger verification of a custom email domain. The domain DNS records must be configured before verification will succeed.', {
43
- domain_name: z.string().describe('The domain name to verify'),
53
+ server.registerTool('verify_email_domain', {
54
+ description: 'Trigger verification of a custom email domain. The domain DNS records must be configured before verification will succeed.',
55
+ inputSchema: {
56
+ domain_name: z.string().describe('The domain name to verify'),
57
+ },
44
58
  }, async ({ domain_name }) => {
45
59
  const data = await client.patch(`/email/domains/${safePath(domain_name)}/verify`);
46
60
  return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
@@ -1 +1 @@
1
- {"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/tools/email.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAgB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,UAAU,kBAAkB,CAAC,MAAiB,EAAE,MAAoB;IACxE,MAAM,CAAC,IAAI,CACT,YAAY,EACZ,uKAAuK,EACvK;QACE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;QACpG,UAAU,EAAE,CAAC;aACV,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;SAC7D,CAAC,CACH;aACA,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CAAC,uCAAuC,CAAC;QACpD,gBAAgB,EAAE,CAAC;aAChB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,8DAA8D,CAAC;QAC3E,sBAAsB,EAAE,CAAC;aACtB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,4CAA4C,CAAC;QACzD,0BAA0B,EAAE,CAAC;aAC1B,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,mDAAmD,CAAC;QAChE,mBAAmB,EAAE,CAAC;aACnB,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,0CAA0C,CAAC;KACxD,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAClD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,8GAA8G,EAC9G,EAAE,EACF,KAAK,IAAI,EAAE;QACT,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAChD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,uGAAuG,EACvG;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;KAChF,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;QAC7E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,4HAA4H,EAC5H;QACE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;KAC9D,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,kBAAkB,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAClF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/tools/email.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handoff-analytics.d.ts","sourceRoot":"","sources":["../../src/tools/handoff-analytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAmBpF"}
1
+ {"version":3,"file":"handoff-analytics.d.ts","sourceRoot":"","sources":["../../src/tools/handoff-analytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAsBpF"}
@@ -1,14 +1,17 @@
1
1
  import { z } from 'zod';
2
2
  export function registerHandoffAnalyticsTools(server, client) {
3
- server.tool('get_handoff_analytics', 'Get a comprehensive overview of AI-to-human handoff events. Returns reason breakdowns (why the AI handed off), sentiment analysis, daily trends, and referenced resources (knowledge articles, tools, instructions, prohibited topics). Defaults to the last 30 days if no dates are provided.', {
4
- start_date: z
5
- .string()
6
- .optional()
7
- .describe('Start date in ISO 8601 format (e.g. "2025-01-01"). Defaults to 30 days ago.'),
8
- end_date: z
9
- .string()
10
- .optional()
11
- .describe('End date in ISO 8601 format (e.g. "2025-01-31"). Defaults to now.'),
3
+ server.registerTool('get_handoff_analytics', {
4
+ description: 'Get a comprehensive overview of AI-to-human handoff events. Returns reason breakdowns (why the AI handed off), sentiment analysis, daily trends, and referenced resources (knowledge articles, tools, instructions, prohibited topics). Defaults to the last 30 days if no dates are provided.',
5
+ inputSchema: {
6
+ start_date: z
7
+ .string()
8
+ .optional()
9
+ .describe('Start date in ISO 8601 format (e.g. "2025-01-01"). Defaults to 30 days ago.'),
10
+ end_date: z
11
+ .string()
12
+ .optional()
13
+ .describe('End date in ISO 8601 format (e.g. "2025-01-31"). Defaults to now.'),
14
+ },
12
15
  }, async ({ start_date, end_date }) => {
13
16
  const data = await client.get('/handoff-analytics/', { start_date, end_date });
14
17
  return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
@@ -1 +1 @@
1
- {"version":3,"file":"handoff-analytics.js","sourceRoot":"","sources":["../../src/tools/handoff-analytics.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,6BAA6B,CAAC,MAAiB,EAAE,MAAoB;IACnF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,gSAAgS,EAChS;QACE,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,6EAA6E,CAAC;QAC1F,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,mEAAmE,CAAC;KACjF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"handoff-analytics.js","sourceRoot":"","sources":["../../src/tools/handoff-analytics.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,6BAA6B,CAAC,MAAiB,EAAE,MAAoB;IACnF,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,WAAW,EACT,gSAAgS;QAClS,WAAW,EAAE;YACX,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,6EAA6E,CAAC;YAC1F,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mEAAmE,CAAC;SACjF;KACF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/E,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import { OpenCXClient } from '../api-client.js';
3
+ export declare function registerHelpCenterTools(server: McpServer, client: OpenCXClient): void;
4
+ //# sourceMappingURL=help-center.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help-center.d.ts","sourceRoot":"","sources":["../../src/tools/help-center.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;AAE1D,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAqH9E"}
@@ -0,0 +1,84 @@
1
+ import { z } from 'zod';
2
+ import { safePath } from '../api-client.js';
3
+ export function registerHelpCenterTools(server, client) {
4
+ server.registerTool('list_help_centers', {
5
+ description: 'List all help centers in your organization. Help centers are self-service portals where customers can find answers to common questions.',
6
+ }, async () => {
7
+ const data = await client.get('/hc/');
8
+ return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
9
+ });
10
+ server.registerTool('export_help_center_content', {
11
+ description: 'Export the full content tree (categories and articles) of a help center. Returns all published content in a structured format.',
12
+ inputSchema: {
13
+ help_center_id: z.string().describe('The help center ID'),
14
+ },
15
+ }, async ({ help_center_id }) => {
16
+ const data = await client.get(`/hc/${safePath(help_center_id)}/export`);
17
+ return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
18
+ });
19
+ server.registerTool('sync_help_center_content', {
20
+ description: 'Replace the help center content tree atomically. Diffs and applies changes. Use export_help_center_content first to see the current structure, then modify and sync back.',
21
+ inputSchema: {
22
+ help_center_id: z.string().describe('The help center ID'),
23
+ categories: z
24
+ .array(z.object({
25
+ slug: z.string().describe('URL-friendly identifier for the category'),
26
+ title: z.string().describe('Display title of the category'),
27
+ description: z.string().optional().describe('Category description'),
28
+ icon: z.string().optional().describe('Icon identifier'),
29
+ articles: z
30
+ .array(z.object({
31
+ slug: z.string().describe('URL-friendly identifier for the article'),
32
+ title: z.string().describe('Article title'),
33
+ content: z.string().describe('Article content in markdown'),
34
+ status: z
35
+ .enum(['published', 'draft'])
36
+ .optional()
37
+ .describe('Publication status'),
38
+ }))
39
+ .optional()
40
+ .describe('Articles in this category'),
41
+ subcategories: z
42
+ .array(z.object({
43
+ slug: z.string(),
44
+ title: z.string(),
45
+ description: z.string().optional(),
46
+ articles: z
47
+ .array(z.object({
48
+ slug: z.string(),
49
+ title: z.string(),
50
+ content: z.string(),
51
+ status: z.enum(['published', 'draft']).optional(),
52
+ }))
53
+ .optional(),
54
+ }))
55
+ .optional()
56
+ .describe('Nested subcategories'),
57
+ }))
58
+ .describe('The content tree to sync'),
59
+ },
60
+ }, async ({ help_center_id, categories }) => {
61
+ const data = await client.post(`/hc/${safePath(help_center_id)}/sync`, { categories });
62
+ return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
63
+ });
64
+ server.registerTool('list_help_center_media', {
65
+ description: 'List all media files (images, documents) uploaded to a help center.',
66
+ inputSchema: {
67
+ help_center_id: z.string().describe('The help center ID'),
68
+ },
69
+ }, async ({ help_center_id }) => {
70
+ const data = await client.get(`/hc/${safePath(help_center_id)}/media`);
71
+ return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
72
+ });
73
+ server.registerTool('delete_help_center_media', {
74
+ description: 'Delete a media file from a help center.',
75
+ inputSchema: {
76
+ help_center_id: z.string().describe('The help center ID'),
77
+ media_id: z.string().describe('The media file ID to delete'),
78
+ },
79
+ }, async ({ help_center_id, media_id }) => {
80
+ const data = await client.delete(`/hc/${safePath(help_center_id)}/media/${safePath(media_id)}`);
81
+ return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
82
+ });
83
+ }
84
+ //# sourceMappingURL=help-center.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help-center.js","sourceRoot":"","sources":["../../src/tools/help-center.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAgB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,UAAU,uBAAuB,CAAC,MAAiB,EAAE,MAAoB;IAC7E,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,WAAW,EACT,yIAAyI;KAC5I,EACD,KAAK,IAAI,EAAE;QACT,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,4BAA4B,EAC5B;QACE,WAAW,EACT,gIAAgI;QAClI,WAAW,EAAE;YACX,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;SAC1D;KACF,EACD,KAAK,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE;QAC3B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACxE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,WAAW,EACT,2KAA2K;QAC7K,WAAW,EAAE;YACX,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACzD,UAAU,EAAE,CAAC;iBACV,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;gBACrE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;gBAC3D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;gBACnE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;gBACvD,QAAQ,EAAE,CAAC;qBACR,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;oBACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;oBACpE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;oBAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;oBAC3D,MAAM,EAAE,CAAC;yBACN,IAAI,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;yBAC5B,QAAQ,EAAE;yBACV,QAAQ,CAAC,oBAAoB,CAAC;iBAClC,CAAC,CACH;qBACA,QAAQ,EAAE;qBACV,QAAQ,CAAC,2BAA2B,CAAC;gBACxC,aAAa,EAAE,CAAC;qBACb,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;oBACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;oBAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;oBACjB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBAClC,QAAQ,EAAE,CAAC;yBACR,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;wBACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;wBAChB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;wBACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;wBACnB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;qBAClD,CAAC,CACH;yBACA,QAAQ,EAAE;iBACd,CAAC,CACH;qBACA,QAAQ,EAAE;qBACV,QAAQ,CAAC,sBAAsB,CAAC;aACpC,CAAC,CACH;iBACA,QAAQ,CAAC,0BAA0B,CAAC;SACxC;KACF,EACD,KAAK,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,EAAE;QACvC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QACvF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,WAAW,EAAE,qEAAqE;QAClF,WAAW,EAAE;YACX,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;SAC1D;KACF,EACD,KAAK,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE;QAC3B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACvE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,WAAW,EAAE,yCAAyC;QACtD,WAAW,EAAE;YACX,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACzD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;SAC7D;KACF,EACD,KAAK,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAC9B,OAAO,QAAQ,CAAC,cAAc,CAAC,UAAU,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAC9D,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"insights.d.ts","sourceRoot":"","sources":["../../src/tools/insights.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;AAE1D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAyD3E"}
1
+ {"version":3,"file":"insights.d.ts","sourceRoot":"","sources":["../../src/tools/insights.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;AAE1D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAuE3E"}
@@ -1,29 +1,44 @@
1
1
  import { z } from 'zod';
2
2
  import { safePath } from '../api-client.js';
3
3
  export function registerInsightTools(server, client) {
4
- server.tool('list_insights', 'List customer insights (Voice of Customer) with pagination. Insights are automatically generated from chat sessions and represent recurring customer themes, issues, or feedback patterns.', {
5
- cursor: z.string().optional().describe('Pagination cursor from a previous response'),
4
+ server.registerTool('list_insights', {
5
+ description: 'List customer insights (Voice of Customer) with pagination. Insights are automatically generated from chat sessions and represent recurring customer themes, issues, or feedback patterns.',
6
+ inputSchema: {
7
+ cursor: z.string().optional().describe('Pagination cursor from a previous response'),
8
+ },
6
9
  }, async ({ cursor }) => {
7
10
  const data = await client.post('/insights/', { cursor });
8
11
  return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
9
12
  });
10
- server.tool('get_insight', 'Get full details of a specific customer insight by ID, including its category, related sessions, and resolution status.', { id: z.string().describe('The insight ID') }, async ({ id }) => {
13
+ server.registerTool('get_insight', {
14
+ description: 'Get full details of a specific customer insight by ID, including its category, related sessions, and resolution status.',
15
+ inputSchema: { id: z.string().describe('The insight ID') },
16
+ }, async ({ id }) => {
11
17
  const data = await client.get(`/insights/${safePath(id)}`);
12
18
  return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
13
19
  });
14
- server.tool('resolve_insight', 'Mark a customer insight as resolved. Use this when the underlying issue has been addressed.', { id: z.string().describe('The insight ID to resolve') }, async ({ id }) => {
20
+ server.registerTool('resolve_insight', {
21
+ description: 'Mark a customer insight as resolved. Use this when the underlying issue has been addressed.',
22
+ inputSchema: { id: z.string().describe('The insight ID to resolve') },
23
+ }, async ({ id }) => {
15
24
  const data = await client.post(`/insights/${safePath(id)}/resolve`);
16
25
  return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
17
26
  });
18
- server.tool('assign_insight', 'Assign a customer insight to a specific team for follow-up.', {
19
- id: z.string().describe('The insight ID to assign'),
20
- group_id: z.string().describe('The team/group ID to assign the insight to'),
27
+ server.registerTool('assign_insight', {
28
+ description: 'Assign a customer insight to a specific team for follow-up.',
29
+ inputSchema: {
30
+ id: z.string().describe('The insight ID to assign'),
31
+ group_id: z.string().describe('The team/group ID to assign the insight to'),
32
+ },
21
33
  }, async ({ id, group_id }) => {
22
34
  const data = await client.post(`/insights/${safePath(id)}/assign`, { groupId: group_id });
23
35
  return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
24
36
  });
25
- server.tool('list_insight_categories', 'List all insight categories. Categories organize customer insights by theme (e.g. "billing issues", "feature requests").', {
26
- type: z.string().optional().describe('Filter categories by type'),
37
+ server.registerTool('list_insight_categories', {
38
+ description: 'List all insight categories. Categories organize customer insights by theme (e.g. "billing issues", "feature requests").',
39
+ inputSchema: {
40
+ type: z.string().optional().describe('Filter categories by type'),
41
+ },
27
42
  }, async ({ type }) => {
28
43
  const data = await client.get('/insights/categories', { type });
29
44
  return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
@@ -1 +1 @@
1
- {"version":3,"file":"insights.js","sourceRoot":"","sources":["../../src/tools/insights.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"insights.js","sourceRoot":"","sources":["../../src/tools/insights.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/tools/media.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAYhD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA4DzE"}
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/tools/media.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAYhD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA6DzE"}
@@ -11,10 +11,11 @@ const MIME_BY_EXT = {
11
11
  };
12
12
  const MAX_FILE_SIZE = 5 * 1024 * 1024; // 5 MB
13
13
  export function registerMediaTools(server, client) {
14
- server.tool('upload_image', 'Upload a local image file to OpenCX storage. Returns a URL you can embed in training scenario content. Only PNG, JPEG, GIF, and WebP are allowed (max 5 MB).', {
15
- file_path: z
16
- .string()
17
- .describe('Absolute path to the image file on disk'),
14
+ server.registerTool('upload_image', {
15
+ description: 'Upload a local image file to OpenCX storage. Returns a URL you can embed in training scenario content. Only PNG, JPEG, GIF, and WebP are allowed (max 5 MB).',
16
+ inputSchema: {
17
+ file_path: z.string().describe('Absolute path to the image file on disk'),
18
+ },
18
19
  }, async ({ file_path }) => {
19
20
  const ext = extname(file_path).toLowerCase();
20
21
  if (!ALLOWED_EXTENSIONS.has(ext)) {
@@ -1 +1 @@
1
- {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/tools/media.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/E,MAAM,WAAW,GAA2B;IAC1C,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,YAAY;CACtB,CAAC;AACF,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;AAE9C,MAAM,UAAU,kBAAkB,CAAC,MAAiB,EAAE,MAAoB;IACxE,MAAM,CAAC,IAAI,CACT,cAAc,EACd,8JAA8J,EAC9J;QACE,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,QAAQ,CAAC,yCAAyC,CAAC;KACvD,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QACtB,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,mBAAmB,GAAG,2BAA2B,CAAC,GAAG,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;qBAC5F;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEzC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;aACnD,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;YAClC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB;qBACtF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAExC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CACrC,eAAe,EACf,QAAQ,CACT,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;SACjE,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/tools/media.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC/E,MAAM,WAAW,GAA2B;IAC1C,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,YAAY;CACtB,CAAC;AACF,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;AAE9C,MAAM,UAAU,kBAAkB,CAAC,MAAiB,EAAE,MAAoB;IACxE,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EACT,8JAA8J;QAChK,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;SAC1E;KACF,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QACtB,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,mBAAmB,GAAG,2BAA2B,CAAC,GAAG,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;qBAC5F;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEzC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;aACnD,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;YAClC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB;qBACtF;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAExC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,aAAa,CACrC,eAAe,EACf,QAAQ,CACT,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;SACjE,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"office-hours.d.ts","sourceRoot":"","sources":["../../src/tools/office-hours.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;AAY1D,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAiE/E"}
1
+ {"version":3,"file":"office-hours.d.ts","sourceRoot":"","sources":["../../src/tools/office-hours.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;AAY1D,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA8E/E"}