@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.
- package/dist/api-client.d.ts +16 -11
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +41 -47
- package/dist/api-client.js.map +1 -1
- package/dist/api-client.spec.js +51 -89
- package/dist/api-client.spec.js.map +1 -1
- package/dist/schema.d.ts +12706 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +6 -0
- package/dist/schema.js.map +1 -0
- package/dist/server.js +2 -2
- package/dist/server.js.map +1 -1
- package/dist/server.spec.js +54 -51
- package/dist/server.spec.js.map +1 -1
- package/dist/tools/actions.d.ts +1 -1
- package/dist/tools/actions.d.ts.map +1 -1
- package/dist/tools/actions.js +26 -12
- package/dist/tools/actions.js.map +1 -1
- package/dist/tools/audit-logs.d.ts +1 -1
- package/dist/tools/audit-logs.d.ts.map +1 -1
- package/dist/tools/audit-logs.js +14 -9
- package/dist/tools/audit-logs.js.map +1 -1
- package/dist/tools/autopilot.d.ts +1 -1
- package/dist/tools/autopilot.d.ts.map +1 -1
- package/dist/tools/autopilot.js +5 -4
- package/dist/tools/autopilot.js.map +1 -1
- package/dist/tools/blocklist.d.ts +1 -1
- package/dist/tools/blocklist.d.ts.map +1 -1
- package/dist/tools/blocklist.js +20 -20
- package/dist/tools/blocklist.js.map +1 -1
- package/dist/tools/contact-segments.d.ts +1 -1
- package/dist/tools/contact-segments.d.ts.map +1 -1
- package/dist/tools/contact-segments.js +15 -12
- package/dist/tools/contact-segments.js.map +1 -1
- package/dist/tools/contacts.d.ts +1 -1
- package/dist/tools/contacts.d.ts.map +1 -1
- package/dist/tools/contacts.js +24 -14
- package/dist/tools/contacts.js.map +1 -1
- package/dist/tools/coworker.d.ts +1 -1
- package/dist/tools/coworker.d.ts.map +1 -1
- package/dist/tools/coworker.js +8 -6
- package/dist/tools/coworker.js.map +1 -1
- package/dist/tools/crawl.d.ts +1 -1
- package/dist/tools/crawl.d.ts.map +1 -1
- package/dist/tools/crawl.js +43 -14
- package/dist/tools/crawl.js.map +1 -1
- package/dist/tools/csat.d.ts +1 -1
- package/dist/tools/csat.d.ts.map +1 -1
- package/dist/tools/csat.js +16 -10
- package/dist/tools/csat.js.map +1 -1
- package/dist/tools/email.d.ts +1 -1
- package/dist/tools/email.d.ts.map +1 -1
- package/dist/tools/email.js +23 -9
- package/dist/tools/email.js.map +1 -1
- package/dist/tools/handoff-analytics.d.ts +1 -1
- package/dist/tools/handoff-analytics.d.ts.map +1 -1
- package/dist/tools/handoff-analytics.js +5 -6
- package/dist/tools/handoff-analytics.js.map +1 -1
- package/dist/tools/help-center.d.ts +1 -1
- package/dist/tools/help-center.d.ts.map +1 -1
- package/dist/tools/help-center.js +41 -11
- package/dist/tools/help-center.js.map +1 -1
- package/dist/tools/impact-report.d.ts +1 -1
- package/dist/tools/impact-report.d.ts.map +1 -1
- package/dist/tools/impact-report.js +3 -2
- package/dist/tools/impact-report.js.map +1 -1
- package/dist/tools/insights.d.ts +1 -1
- package/dist/tools/insights.d.ts.map +1 -1
- package/dist/tools/insights.js +19 -11
- package/dist/tools/insights.js.map +1 -1
- package/dist/tools/media.d.ts +1 -1
- package/dist/tools/media.d.ts.map +1 -1
- package/dist/tools/media.js +2 -3
- package/dist/tools/media.js.map +1 -1
- package/dist/tools/office-hours.d.ts +1 -1
- package/dist/tools/office-hours.d.ts.map +1 -1
- package/dist/tools/office-hours.js +42 -10
- package/dist/tools/office-hours.js.map +1 -1
- package/dist/tools/onboarding.js +1 -1
- package/dist/tools/onboarding.js.map +1 -1
- package/dist/tools/org.d.ts +1 -1
- package/dist/tools/org.d.ts.map +1 -1
- package/dist/tools/org.js +5 -4
- package/dist/tools/org.js.map +1 -1
- package/dist/tools/phone.d.ts +1 -1
- package/dist/tools/phone.d.ts.map +1 -1
- package/dist/tools/phone.js +59 -40
- package/dist/tools/phone.js.map +1 -1
- package/dist/tools/redaction.d.ts +1 -1
- package/dist/tools/redaction.d.ts.map +1 -1
- package/dist/tools/redaction.js +5 -4
- package/dist/tools/redaction.js.map +1 -1
- package/dist/tools/search.d.ts +1 -1
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +3 -2
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/sequences.d.ts +1 -1
- package/dist/tools/sequences.d.ts.map +1 -1
- package/dist/tools/sequences.js +24 -13
- package/dist/tools/sequences.js.map +1 -1
- package/dist/tools/sessions.d.ts +1 -1
- package/dist/tools/sessions.d.ts.map +1 -1
- package/dist/tools/sessions.js +118 -80
- package/dist/tools/sessions.js.map +1 -1
- package/dist/tools/sla-analytics.d.ts +1 -1
- package/dist/tools/sla-analytics.d.ts.map +1 -1
- package/dist/tools/sla-analytics.js +26 -42
- package/dist/tools/sla-analytics.js.map +1 -1
- package/dist/tools/sla.d.ts +1 -1
- package/dist/tools/sla.d.ts.map +1 -1
- package/dist/tools/sla.js +18 -16
- package/dist/tools/sla.js.map +1 -1
- package/dist/tools/tags.d.ts +1 -1
- package/dist/tools/tags.d.ts.map +1 -1
- package/dist/tools/tags.js +11 -11
- package/dist/tools/tags.js.map +1 -1
- package/dist/tools/teams.d.ts +1 -1
- package/dist/tools/teams.d.ts.map +1 -1
- package/dist/tools/teams.js +24 -17
- package/dist/tools/teams.js.map +1 -1
- package/dist/tools/todos.d.ts +1 -1
- package/dist/tools/todos.d.ts.map +1 -1
- package/dist/tools/todos.js +11 -8
- package/dist/tools/todos.js.map +1 -1
- package/dist/tools/training.d.ts +1 -1
- package/dist/tools/training.d.ts.map +1 -1
- package/dist/tools/training.js +116 -73
- package/dist/tools/training.js.map +1 -1
- package/dist/tools/users.d.ts +1 -1
- package/dist/tools/users.d.ts.map +1 -1
- package/dist/tools/users.js +8 -8
- package/dist/tools/users.js.map +1 -1
- package/dist/tools/whatsapp.d.ts +1 -1
- package/dist/tools/whatsapp.d.ts.map +1 -1
- package/dist/tools/whatsapp.js +11 -2
- package/dist/tools/whatsapp.js.map +1 -1
- package/dist/tools/widget.d.ts +1 -1
- package/dist/tools/widget.d.ts.map +1 -1
- package/dist/tools/widget.js +3 -2
- package/dist/tools/widget.js.map +1 -1
- package/dist/tools/workflows.d.ts +1 -1
- package/dist/tools/workflows.d.ts.map +1 -1
- package/dist/tools/workflows.js +173 -74
- package/dist/tools/workflows.js.map +1 -1
- package/package.json +5 -2
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { jsonContent } from '../api-client.js';
|
|
2
3
|
export function registerHandoffAnalyticsTools(server, client) {
|
|
3
4
|
server.registerTool('get_handoff_analytics', {
|
|
4
5
|
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. Optionally filter to handoffs referencing a specific instruction.',
|
|
@@ -17,12 +18,10 @@ export function registerHandoffAnalyticsTools(server, client) {
|
|
|
17
18
|
.describe('Filter to only handoffs that reference this instruction ID'),
|
|
18
19
|
},
|
|
19
20
|
}, async ({ start_date, end_date, instruction_id }) => {
|
|
20
|
-
const data = await client.
|
|
21
|
-
start_date,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
});
|
|
25
|
-
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
21
|
+
const data = (await client.GET('/handoff-analytics', {
|
|
22
|
+
params: { query: { start_date, end_date, instruction_id } },
|
|
23
|
+
})).data;
|
|
24
|
+
return jsonContent(data);
|
|
26
25
|
});
|
|
27
26
|
}
|
|
28
27
|
//# sourceMappingURL=handoff-analytics.js.map
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"handoff-analytics.js","sourceRoot":"","sources":["../../src/tools/handoff-analytics.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,MAAM,UAAU,6BAA6B,CAAC,MAAiB,EAAE,MAAoB;IACnF,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,WAAW,EACT,kWAAkW;QACpW,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;YAChF,cAAc,EAAE,CAAC;iBACd,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,4DAA4D,CAAC;SAC1E;KACF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE;QACjD,MAAM,IAAI,GAAG,CACX,MAAM,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE;YACrC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE;SAC5D,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 registerHelpCenterTools(server: McpServer, client: OpenCXClient): void;
|
|
4
4
|
//# sourceMappingURL=help-center.d.ts.map
|
|
@@ -1 +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;
|
|
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;AAGpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAuJ9E"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
2
|
+
import { jsonContent } from '../api-client.js';
|
|
3
3
|
export function registerHelpCenterTools(server, client) {
|
|
4
4
|
server.registerTool('list_help_centers', {
|
|
5
5
|
description: 'List all help centers in your organization. Help centers are self-service portals where customers can find answers to common questions.',
|
|
6
6
|
}, async () => {
|
|
7
|
-
const data = await client.
|
|
8
|
-
return
|
|
7
|
+
const data = (await client.GET('/hc')).data;
|
|
8
|
+
return jsonContent(data);
|
|
9
9
|
});
|
|
10
10
|
server.registerTool('export_help_center_content', {
|
|
11
11
|
description: 'Export the full content tree (categories and articles) of a help center. Returns all published content in a structured format.',
|
|
@@ -13,8 +13,10 @@ export function registerHelpCenterTools(server, client) {
|
|
|
13
13
|
help_center_id: z.string().describe('The help center ID'),
|
|
14
14
|
},
|
|
15
15
|
}, async ({ help_center_id }) => {
|
|
16
|
-
const data = await client.
|
|
17
|
-
|
|
16
|
+
const data = (await client.GET('/hc/{id}/export', {
|
|
17
|
+
params: { path: { id: help_center_id } },
|
|
18
|
+
})).data;
|
|
19
|
+
return jsonContent(data);
|
|
18
20
|
});
|
|
19
21
|
server.registerTool('sync_help_center_content', {
|
|
20
22
|
description: 'Replace the help center content tree atomically. Use export_help_center_content first to see the current structure.',
|
|
@@ -58,8 +60,32 @@ export function registerHelpCenterTools(server, client) {
|
|
|
58
60
|
.describe('The content tree to sync'),
|
|
59
61
|
},
|
|
60
62
|
}, async ({ help_center_id, categories }) => {
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
+
const mappedCategories = categories.map((cat) => ({
|
|
64
|
+
name: cat.title,
|
|
65
|
+
slug: cat.slug,
|
|
66
|
+
description: cat.description,
|
|
67
|
+
icon: cat.icon,
|
|
68
|
+
articles: (cat.articles ?? []).map((a) => ({
|
|
69
|
+
title: a.title,
|
|
70
|
+
slug: a.slug,
|
|
71
|
+
content_markdown: a.content,
|
|
72
|
+
})),
|
|
73
|
+
categories: cat.subcategories?.map((sub) => ({
|
|
74
|
+
name: sub.title,
|
|
75
|
+
slug: sub.slug,
|
|
76
|
+
description: sub.description,
|
|
77
|
+
articles: (sub.articles ?? []).map((a) => ({
|
|
78
|
+
title: a.title,
|
|
79
|
+
slug: a.slug,
|
|
80
|
+
content_markdown: a.content,
|
|
81
|
+
})),
|
|
82
|
+
})),
|
|
83
|
+
}));
|
|
84
|
+
const data = (await client.POST('/hc/{id}/sync', {
|
|
85
|
+
params: { path: { id: help_center_id } },
|
|
86
|
+
body: { categories: mappedCategories },
|
|
87
|
+
})).data;
|
|
88
|
+
return jsonContent(data);
|
|
63
89
|
});
|
|
64
90
|
server.registerTool('list_help_center_media', {
|
|
65
91
|
description: 'List all media files (images, documents) uploaded to a help center.',
|
|
@@ -67,8 +93,10 @@ export function registerHelpCenterTools(server, client) {
|
|
|
67
93
|
help_center_id: z.string().describe('The help center ID'),
|
|
68
94
|
},
|
|
69
95
|
}, async ({ help_center_id }) => {
|
|
70
|
-
const data = await client.
|
|
71
|
-
|
|
96
|
+
const data = (await client.GET('/hc/{id}/media', {
|
|
97
|
+
params: { path: { id: help_center_id } },
|
|
98
|
+
})).data;
|
|
99
|
+
return jsonContent(data);
|
|
72
100
|
});
|
|
73
101
|
server.registerTool('delete_help_center_media', {
|
|
74
102
|
description: 'Delete a media file from a help center.',
|
|
@@ -77,8 +105,10 @@ export function registerHelpCenterTools(server, client) {
|
|
|
77
105
|
media_id: z.string().describe('The media file ID to delete'),
|
|
78
106
|
},
|
|
79
107
|
}, async ({ help_center_id, media_id }) => {
|
|
80
|
-
|
|
81
|
-
|
|
108
|
+
await client.DELETE('/hc/{id}/media/{mediaId}', {
|
|
109
|
+
params: { path: { id: help_center_id, mediaId: media_id } },
|
|
110
|
+
});
|
|
111
|
+
return { content: [{ type: 'text', text: JSON.stringify({}) }] };
|
|
82
112
|
});
|
|
83
113
|
}
|
|
84
114
|
//# sourceMappingURL=help-center.js.map
|
|
@@ -1 +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,
|
|
1
|
+
{"version":3,"file":"help-center.js","sourceRoot":"","sources":["../../src/tools/help-center.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 registerImpactReportTools(server: McpServer, client: OpenCXClient): void;
|
|
4
4
|
//# sourceMappingURL=impact-report.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impact-report.d.ts","sourceRoot":"","sources":["../../src/tools/impact-report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"impact-report.d.ts","sourceRoot":"","sources":["../../src/tools/impact-report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAqBhF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { jsonContent } from '../api-client.js';
|
|
2
3
|
export function registerImpactReportTools(server, client) {
|
|
3
4
|
server.tool('get_impact_report', 'Get the AI automation rate and resolution breakdown. Returns total resolved, assumed resolved, handed off, and in-progress sessions along with the computed automation rate percentage. Defaults to the last 30 days if no dates are provided.', {
|
|
4
5
|
start_date: z
|
|
@@ -10,8 +11,8 @@ export function registerImpactReportTools(server, client) {
|
|
|
10
11
|
.optional()
|
|
11
12
|
.describe('End date in ISO 8601 format (e.g. "2025-01-31"). Defaults to now.'),
|
|
12
13
|
}, async ({ start_date, end_date }) => {
|
|
13
|
-
const data = await client.
|
|
14
|
-
return
|
|
14
|
+
const data = (await client.GET('/impact-report', { params: { query: { start_date, end_date } } })).data;
|
|
15
|
+
return jsonContent(data);
|
|
15
16
|
});
|
|
16
17
|
}
|
|
17
18
|
//# sourceMappingURL=impact-report.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impact-report.js","sourceRoot":"","sources":["../../src/tools/impact-report.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"impact-report.js","sourceRoot":"","sources":["../../src/tools/impact-report.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,MAAM,UAAU,yBAAyB,CAAC,MAAiB,EAAE,MAAoB;IAC/E,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,gPAAgP,EAChP;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,CACX,MAAM,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CACpF,CAAC,IAAI,CAAC;QACP,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/tools/insights.d.ts
CHANGED
|
@@ -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 registerInsightTools(server: McpServer, client: OpenCXClient): void;
|
|
4
4
|
//# sourceMappingURL=insights.d.ts.map
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"insights.d.ts","sourceRoot":"","sources":["../../src/tools/insights.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAqF3E"}
|
package/dist/tools/insights.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
2
|
+
import { jsonContent } from '../api-client.js';
|
|
3
3
|
export function registerInsightTools(server, client) {
|
|
4
4
|
server.registerTool('list_insights', {
|
|
5
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.',
|
|
@@ -7,22 +7,25 @@ export function registerInsightTools(server, client) {
|
|
|
7
7
|
cursor: z.string().optional().describe('Pagination cursor from a previous response'),
|
|
8
8
|
},
|
|
9
9
|
}, async ({ cursor }) => {
|
|
10
|
-
const data = await client.
|
|
11
|
-
|
|
10
|
+
const data = (await client.POST('/insights', {
|
|
11
|
+
body: { page: cursor ? Number(cursor) : 1 },
|
|
12
|
+
})).data;
|
|
13
|
+
return jsonContent(data);
|
|
12
14
|
});
|
|
13
15
|
server.registerTool('get_insight', {
|
|
14
16
|
description: 'Get full details of a specific customer insight by ID, including its category, related sessions, and resolution status.',
|
|
15
17
|
inputSchema: { id: z.string().describe('The insight ID') },
|
|
16
18
|
}, async ({ id }) => {
|
|
17
|
-
const data = await client.
|
|
18
|
-
return
|
|
19
|
+
const data = (await client.GET('/insights/{id}', { params: { path: { id } } })).data;
|
|
20
|
+
return jsonContent(data);
|
|
19
21
|
});
|
|
20
22
|
server.registerTool('resolve_insight', {
|
|
21
23
|
description: 'Mark a customer insight as resolved. Use this when the underlying issue has been addressed.',
|
|
22
24
|
inputSchema: { id: z.string().describe('The insight ID to resolve') },
|
|
23
25
|
}, async ({ id }) => {
|
|
24
|
-
const data = await client.
|
|
25
|
-
|
|
26
|
+
const data = (await client.POST('/insights/{id}/resolve', { params: { path: { id } } }))
|
|
27
|
+
.data;
|
|
28
|
+
return jsonContent(data);
|
|
26
29
|
});
|
|
27
30
|
server.registerTool('assign_insight', {
|
|
28
31
|
description: 'Assign a customer insight to a specific team for follow-up.',
|
|
@@ -31,8 +34,11 @@ export function registerInsightTools(server, client) {
|
|
|
31
34
|
group_id: z.string().describe('The team/group ID to assign the insight to'),
|
|
32
35
|
},
|
|
33
36
|
}, async ({ id, group_id }) => {
|
|
34
|
-
const data = await client.
|
|
35
|
-
|
|
37
|
+
const data = (await client.POST('/insights/{id}/assign', {
|
|
38
|
+
params: { path: { id } },
|
|
39
|
+
body: { groupId: group_id },
|
|
40
|
+
})).data;
|
|
41
|
+
return jsonContent(data);
|
|
36
42
|
});
|
|
37
43
|
server.registerTool('list_insight_categories', {
|
|
38
44
|
description: 'List all insight categories. Categories organize customer insights by theme (e.g. "billing issues", "feature requests").',
|
|
@@ -40,8 +46,10 @@ export function registerInsightTools(server, client) {
|
|
|
40
46
|
type: z.string().optional().describe('Filter categories by type'),
|
|
41
47
|
},
|
|
42
48
|
}, async ({ type }) => {
|
|
43
|
-
const data = await client.
|
|
44
|
-
|
|
49
|
+
const data = (await client.GET('/insights/categories', {
|
|
50
|
+
params: { query: { type: type } },
|
|
51
|
+
})).data;
|
|
52
|
+
return jsonContent(data);
|
|
45
53
|
});
|
|
46
54
|
}
|
|
47
55
|
//# sourceMappingURL=insights.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"insights.js","sourceRoot":"","sources":["../../src/tools/insights.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"insights.js","sourceRoot":"","sources":["../../src/tools/insights.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/media.d.ts
CHANGED
|
@@ -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 registerMediaTools(server: McpServer, client: OpenCXClient): void;
|
|
4
4
|
//# sourceMappingURL=media.d.ts.map
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/tools/media.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAYrD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAwDzE"}
|
package/dist/tools/media.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { readFile } from 'node:fs/promises';
|
|
2
2
|
import { basename, extname } from 'node:path';
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
+
import { jsonContent } from '../api-client.js';
|
|
4
5
|
const ALLOWED_EXTENSIONS = new Set(['.png', '.jpg', '.jpeg', '.gif', '.webp']);
|
|
5
6
|
const MIME_BY_EXT = {
|
|
6
7
|
'.png': 'image/png',
|
|
@@ -53,9 +54,7 @@ export function registerMediaTools(server, client) {
|
|
|
53
54
|
const formData = new FormData();
|
|
54
55
|
formData.append('file', blob, fileName);
|
|
55
56
|
const data = await client.postMultipart('/media/upload', formData);
|
|
56
|
-
return
|
|
57
|
-
content: [{ type: 'text', text: JSON.stringify(data) }],
|
|
58
|
-
};
|
|
57
|
+
return jsonContent(data);
|
|
59
58
|
});
|
|
60
59
|
}
|
|
61
60
|
//# sourceMappingURL=media.js.map
|
package/dist/tools/media.js.map
CHANGED
|
@@ -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;
|
|
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;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,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,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAEnE,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 registerOfficeHoursTools(server: McpServer, client: OpenCXClient): void;
|
|
4
4
|
//# sourceMappingURL=office-hours.d.ts.map
|
|
@@ -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;
|
|
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;AAGpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA6BrD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAiG/E"}
|
|
@@ -1,9 +1,24 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
2
|
+
import { jsonContent } from '../api-client.js';
|
|
3
|
+
const dayOfWeekValues = [
|
|
4
|
+
'everyday',
|
|
5
|
+
'friday',
|
|
6
|
+
'friday_and_saturday',
|
|
7
|
+
'monday',
|
|
8
|
+
'monday_to_friday',
|
|
9
|
+
'saturday',
|
|
10
|
+
'sunday',
|
|
11
|
+
'sunday_and_monday',
|
|
12
|
+
'sunday_to_thursday',
|
|
13
|
+
'thursday',
|
|
14
|
+
'tuesday',
|
|
15
|
+
'wednesday',
|
|
16
|
+
];
|
|
17
|
+
const dayOfWeekSchema = z.enum(dayOfWeekValues);
|
|
3
18
|
const DAY_OF_WEEK_DESC = 'Day(s) of week. Single days: "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday". ' +
|
|
4
19
|
'Ranges: "everyday", "monday_to_friday", "sunday_to_thursday", "friday_and_saturday", "sunday_and_monday".';
|
|
5
20
|
const ShiftParam = z.object({
|
|
6
|
-
day_of_week:
|
|
21
|
+
day_of_week: dayOfWeekSchema.describe(DAY_OF_WEEK_DESC),
|
|
7
22
|
start_time: z.string().describe('Start time in HH:mm:ss (e.g. "09:00:00")'),
|
|
8
23
|
end_time: z.string().describe('End time in HH:mm:ss (e.g. "17:00:00")'),
|
|
9
24
|
});
|
|
@@ -11,15 +26,15 @@ export function registerOfficeHoursTools(server, client) {
|
|
|
11
26
|
server.registerTool('list_office_hours', {
|
|
12
27
|
description: 'List all office hours schedules. Office hours define when your support team is available — the AI uses this to set expectations outside business hours.',
|
|
13
28
|
}, async () => {
|
|
14
|
-
const data = await client.
|
|
15
|
-
return
|
|
29
|
+
const data = (await client.GET('/office-hours')).data;
|
|
30
|
+
return jsonContent(data);
|
|
16
31
|
});
|
|
17
32
|
server.registerTool('get_office_hours', {
|
|
18
33
|
description: 'Get a specific office hours schedule by ID, including all its time shifts.',
|
|
19
34
|
inputSchema: { id: z.string().describe('The office hours schedule ID') },
|
|
20
35
|
}, async ({ id }) => {
|
|
21
|
-
const data = await client.
|
|
22
|
-
return
|
|
36
|
+
const data = (await client.GET('/office-hours/{id}', { params: { path: { id } } })).data;
|
|
37
|
+
return jsonContent(data);
|
|
23
38
|
});
|
|
24
39
|
server.registerTool('create_office_hours', {
|
|
25
40
|
description: 'Create a new office hours schedule. Define when support is available with time shifts. Example: for Mon-Fri 9am-5pm EST, use name "Business Hours", iana_timezone "America/New_York", and one shift with day_of_week "monday_to_friday", start_time "09:00:00", end_time "17:00:00".',
|
|
@@ -31,8 +46,16 @@ export function registerOfficeHoursTools(server, client) {
|
|
|
31
46
|
shifts: z.array(ShiftParam).describe('Time blocks when support is available'),
|
|
32
47
|
},
|
|
33
48
|
}, async (params) => {
|
|
34
|
-
const data = await client.
|
|
35
|
-
|
|
49
|
+
const data = (await client.POST('/office-hours', {
|
|
50
|
+
body: {
|
|
51
|
+
...params,
|
|
52
|
+
shifts: params.shifts.map((s) => ({
|
|
53
|
+
...s,
|
|
54
|
+
day_of_week: s.day_of_week,
|
|
55
|
+
})),
|
|
56
|
+
},
|
|
57
|
+
})).data;
|
|
58
|
+
return jsonContent(data);
|
|
36
59
|
});
|
|
37
60
|
server.registerTool('update_office_hours', {
|
|
38
61
|
description: 'Update an office hours schedule. The shifts array replaces ALL existing shifts — include every shift you want to keep.',
|
|
@@ -45,14 +68,23 @@ export function registerOfficeHoursTools(server, client) {
|
|
|
45
68
|
.describe('Complete replacement list of shifts'),
|
|
46
69
|
},
|
|
47
70
|
}, async ({ id, ...body }) => {
|
|
48
|
-
await client.
|
|
71
|
+
await client.PUT('/office-hours/{id}', {
|
|
72
|
+
params: { path: { id } },
|
|
73
|
+
body: {
|
|
74
|
+
...body,
|
|
75
|
+
shifts: body.shifts.map((s) => ({
|
|
76
|
+
...s,
|
|
77
|
+
day_of_week: s.day_of_week,
|
|
78
|
+
})),
|
|
79
|
+
},
|
|
80
|
+
});
|
|
49
81
|
return { content: [{ type: 'text', text: `Office hours ${id} updated.` }] };
|
|
50
82
|
});
|
|
51
83
|
server.registerTool('delete_office_hours', {
|
|
52
84
|
description: 'Delete an office hours schedule and all its shifts. This action cannot be undone.',
|
|
53
85
|
inputSchema: { id: z.string().describe('The office hours schedule ID to delete') },
|
|
54
86
|
}, async ({ id }) => {
|
|
55
|
-
await client.
|
|
87
|
+
await client.DELETE('/office-hours/{id}', { params: { path: { id } } });
|
|
56
88
|
return { content: [{ type: 'text', text: `Office hours ${id} deleted.` }] };
|
|
57
89
|
});
|
|
58
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"office-hours.js","sourceRoot":"","sources":["../../src/tools/office-hours.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"office-hours.js","sourceRoot":"","sources":["../../src/tools/office-hours.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/onboarding.js
CHANGED
|
@@ -9,7 +9,7 @@ The onboarding panel in the dashboard updates automatically when you call this.`
|
|
|
9
9
|
step: z.enum(['training', 'channels', 'teammates']).describe('The onboarding step to update'),
|
|
10
10
|
action: z.enum(['complete', 'skip']).describe('Whether the step is complete or skipped'),
|
|
11
11
|
}, async ({ step, action }) => {
|
|
12
|
-
await client.
|
|
12
|
+
await client.PATCH('/companion/onboarding', { body: { step, action } });
|
|
13
13
|
return {
|
|
14
14
|
content: [
|
|
15
15
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/tools/onboarding.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,uBAAuB,CAAC,MAAiB,EAAE,MAAoB;IAC7E,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B;;;;;gFAK4E,EAC5E;QACE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC7F,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;KACzF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;QACzB,MAAM,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/tools/onboarding.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,uBAAuB,CAAC,MAAiB,EAAE,MAAoB;IAC7E,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B;;;;;gFAK4E,EAC5E;QACE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC7F,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,yCAAyC,CAAC;KACzF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;QACzB,MAAM,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QACxE,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,oBAAoB,IAAI,eAAe,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,GAAG;iBAChG;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/tools/org.d.ts
CHANGED
|
@@ -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 registerOrgTools(server: McpServer, client: OpenCXClient): void;
|
|
4
4
|
//# sourceMappingURL=org.d.ts.map
|
package/dist/tools/org.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"org.d.ts","sourceRoot":"","sources":["../../src/tools/org.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"org.d.ts","sourceRoot":"","sources":["../../src/tools/org.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA0BvE"}
|
package/dist/tools/org.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
import { jsonContent } from '../api-client.js';
|
|
2
3
|
export function registerOrgTools(server, client) {
|
|
3
4
|
server.registerTool('get_organization', {
|
|
4
5
|
description: 'Get information about your OpenCX organization, including its name, creation date, and last update timestamp. Useful to verify which org your API key belongs to.',
|
|
5
6
|
}, async () => {
|
|
6
|
-
const data = await client.
|
|
7
|
-
return
|
|
7
|
+
const data = (await client.GET('/org')).data;
|
|
8
|
+
return jsonContent(data);
|
|
8
9
|
});
|
|
9
10
|
server.registerTool('update_organization', {
|
|
10
11
|
description: 'Update your organization name.',
|
|
@@ -12,8 +13,8 @@ export function registerOrgTools(server, client) {
|
|
|
12
13
|
name: z.string().describe('The new organization name'),
|
|
13
14
|
},
|
|
14
15
|
}, async ({ name }) => {
|
|
15
|
-
const data = await client.
|
|
16
|
-
return
|
|
16
|
+
const data = (await client.PATCH('/org', { body: { name } })).data;
|
|
17
|
+
return jsonContent(data);
|
|
17
18
|
});
|
|
18
19
|
}
|
|
19
20
|
//# sourceMappingURL=org.js.map
|
package/dist/tools/org.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"org.js","sourceRoot":"","sources":["../../src/tools/org.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"org.js","sourceRoot":"","sources":["../../src/tools/org.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,MAAM,UAAU,gBAAgB,CAAC,MAAiB,EAAE,MAAoB;IACtE,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EACT,mKAAmK;KACtK,EACD,KAAK,IAAI,EAAE;QACT,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7C,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EAAE,gCAAgC;QAC7C,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;SACvD;KACF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACjB,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/tools/phone.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
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
|
/** @internal exported for tests */
|
|
4
4
|
export declare function buildPhoneAgentCardSpec(agent: {
|
|
5
5
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phone.d.ts","sourceRoot":"","sources":["../../src/tools/phone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"phone.d.ts","sourceRoot":"","sources":["../../src/tools/phone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAYrD,mCAAmC;AACnC,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,MAAM,CAeT;AAWD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA2UzE"}
|