@opencx/mcp 1.8.4 → 1.9.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api-client.d.ts +1 -0
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +5 -0
- package/dist/api-client.js.map +1 -1
- package/dist/bundle.cjs +24658 -0
- package/dist/index.js +62 -8
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +10 -0
- package/dist/server.js.map +1 -1
- package/dist/tools/actions.js +5 -5
- package/dist/tools/actions.js.map +1 -1
- package/dist/tools/ask-questions.d.ts +4 -0
- package/dist/tools/ask-questions.d.ts.map +1 -0
- package/dist/tools/ask-questions.js +39 -0
- package/dist/tools/ask-questions.js.map +1 -0
- package/dist/tools/audit-logs.d.ts +4 -0
- package/dist/tools/audit-logs.d.ts.map +1 -0
- package/dist/tools/audit-logs.js +61 -0
- package/dist/tools/audit-logs.js.map +1 -0
- package/dist/tools/autopilot.js +4 -4
- package/dist/tools/autopilot.js.map +1 -1
- package/dist/tools/blocklist.d.ts.map +1 -1
- package/dist/tools/blocklist.js +29 -9
- package/dist/tools/blocklist.js.map +1 -1
- package/dist/tools/contacts.js +3 -3
- package/dist/tools/contacts.js.map +1 -1
- package/dist/tools/coworker.d.ts +4 -0
- package/dist/tools/coworker.d.ts.map +1 -0
- package/dist/tools/coworker.js +105 -0
- package/dist/tools/coworker.js.map +1 -0
- package/dist/tools/crawl.js +6 -6
- package/dist/tools/crawl.js.map +1 -1
- package/dist/tools/csat.js +3 -3
- package/dist/tools/csat.js.map +1 -1
- package/dist/tools/email.js +4 -4
- package/dist/tools/email.js.map +1 -1
- package/dist/tools/handoff-analytics.d.ts.map +1 -1
- package/dist/tools/handoff-analytics.js +12 -4
- package/dist/tools/handoff-analytics.js.map +1 -1
- package/dist/tools/help-center.js +6 -6
- package/dist/tools/help-center.js.map +1 -1
- package/dist/tools/impact-report.d.ts +4 -0
- package/dist/tools/impact-report.d.ts.map +1 -0
- package/dist/tools/impact-report.js +17 -0
- package/dist/tools/impact-report.js.map +1 -0
- package/dist/tools/insights.js +5 -5
- package/dist/tools/insights.js.map +1 -1
- package/dist/tools/media.js +1 -1
- package/dist/tools/media.js.map +1 -1
- package/dist/tools/office-hours.js +3 -3
- package/dist/tools/office-hours.js.map +1 -1
- package/dist/tools/org.js +2 -2
- package/dist/tools/org.js.map +1 -1
- package/dist/tools/phone.d.ts +6 -0
- package/dist/tools/phone.d.ts.map +1 -1
- package/dist/tools/phone.js +126 -21
- package/dist/tools/phone.js.map +1 -1
- package/dist/tools/redaction.js +6 -6
- package/dist/tools/redaction.js.map +1 -1
- package/dist/tools/search.js +1 -1
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/sequences.d.ts.map +1 -1
- package/dist/tools/sequences.js +12 -7
- package/dist/tools/sequences.js.map +1 -1
- package/dist/tools/sessions.d.ts.map +1 -1
- package/dist/tools/sessions.js +281 -22
- package/dist/tools/sessions.js.map +1 -1
- package/dist/tools/sla-analytics.js +4 -4
- package/dist/tools/sla-analytics.js.map +1 -1
- package/dist/tools/sla.js +4 -4
- package/dist/tools/sla.js.map +1 -1
- package/dist/tools/tags.js +4 -4
- package/dist/tools/tags.js.map +1 -1
- package/dist/tools/teams.d.ts.map +1 -1
- package/dist/tools/teams.js +17 -10
- package/dist/tools/teams.js.map +1 -1
- package/dist/tools/training.d.ts.map +1 -1
- package/dist/tools/training.js +201 -52
- package/dist/tools/training.js.map +1 -1
- package/dist/tools/users.d.ts +4 -0
- package/dist/tools/users.d.ts.map +1 -0
- package/dist/tools/users.js +20 -0
- package/dist/tools/users.js.map +1 -0
- package/dist/tools/whatsapp.js +1 -1
- package/dist/tools/whatsapp.js.map +1 -1
- package/dist/tools/widget.js +3 -3
- package/dist/tools/widget.js.map +1 -1
- package/dist/tools/workflows.d.ts.map +1 -1
- package/dist/tools/workflows.js +27 -16
- package/dist/tools/workflows.js.map +1 -1
- package/dist/workflow-editor-state.d.ts +0 -5
- package/dist/workflow-editor-state.d.ts.map +1 -1
- package/dist/workflow-editor-state.js +14 -14
- package/dist/workflow-editor-state.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { safePath } from '../api-client.js';
|
|
3
|
+
const INVESTIGATE_SESSION_DEBUG_DESCRIPTION = `Investigate a chat session with full debug_json — the richest debug data available. Returns session summary, complete chat history with per-message AI reasoning, tool calls, citations, KB items loaded, handoff details, tags, CSAT, and diagnostics.
|
|
4
|
+
|
|
5
|
+
Use this tool whenever the user asks about AI behavior, wants to debug why a session was handled a certain way, or reports unexpected AI responses. This is the ONLY tool that returns raw debug_json with the AI's reasoning steps and source citations.
|
|
6
|
+
|
|
7
|
+
IMPORTANT: session_id must be a customer support / inbox session UUID (from the inbox, returned by mcp__opencx__* session tools). It is NOT the coworker chat session ID from the current page URL. Use ticket_number or search filters when you don't have the inbox session UUID.
|
|
8
|
+
|
|
9
|
+
Inputs are all optional but at least one is required:
|
|
10
|
+
- session_id: inbox/customer session UUID (NOT the coworker session ID from the page URL)
|
|
11
|
+
- ticket_number: resolve by ticket number (preferred when the user gives a ticket #)
|
|
12
|
+
- date_from/date_to: search within a date window
|
|
13
|
+
- channel_type, contact_name, contact_email, keyword: narrow the search
|
|
14
|
+
|
|
15
|
+
If multiple sessions match, the tool returns candidates for the user to pick from.`;
|
|
16
|
+
const NOTIFY_TEAM_DESCRIPTION = `Notify the OpenCX team when you cannot help the user or when they explicitly ask to escalate. Use this when:
|
|
17
|
+
- You cannot perform the requested action (no tool available, out of scope)
|
|
18
|
+
- The user is frustrated or unsatisfied with your responses
|
|
19
|
+
- You encounter repeated failures on the same task
|
|
20
|
+
- The user explicitly asks to contact the team
|
|
21
|
+
|
|
22
|
+
Always ASK the user first: "Want me to notify the OpenCX team about this?" Only call this tool after they confirm.
|
|
23
|
+
|
|
24
|
+
Provide a clear summary of what the user needs and any context about what you tried.`;
|
|
25
|
+
export function registerCoworkerTools(server, client) {
|
|
26
|
+
server.tool('investigate_session_debug', INVESTIGATE_SESSION_DEBUG_DESCRIPTION, {
|
|
27
|
+
session_id: z
|
|
28
|
+
.string()
|
|
29
|
+
.uuid()
|
|
30
|
+
.optional()
|
|
31
|
+
.describe('Customer support / inbox session UUID (NOT the coworker chat session ID)'),
|
|
32
|
+
ticket_number: z.string().optional().describe('Ticket number to resolve to a session'),
|
|
33
|
+
date_from: z.string().datetime({ offset: true }).optional().describe('ISO 8601 start date'),
|
|
34
|
+
date_to: z.string().datetime({ offset: true }).optional().describe('ISO 8601 end date'),
|
|
35
|
+
channel_type: z
|
|
36
|
+
.string()
|
|
37
|
+
.optional()
|
|
38
|
+
.describe('Filter by channel (web, whatsapp, email, etc.)'),
|
|
39
|
+
contact_name: z.string().optional().describe('Filter by contact name (partial match)'),
|
|
40
|
+
contact_email: z.string().optional().describe('Filter by contact email (partial match)'),
|
|
41
|
+
keyword: z.string().optional().describe('Search keyword to match against message text'),
|
|
42
|
+
}, async (params) => {
|
|
43
|
+
const data = await client.post('/chat/sessions/investigate-debug', params);
|
|
44
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
45
|
+
});
|
|
46
|
+
server.tool('notify_opencx_team', NOTIFY_TEAM_DESCRIPTION, {
|
|
47
|
+
summary: z.string().min(1).max(2000).describe('Summary of what the user needs help with'),
|
|
48
|
+
context: z.string().max(4000).optional().describe('Additional context about the situation'),
|
|
49
|
+
}, async (params) => {
|
|
50
|
+
const data = await client.post('/coworker/notify-team', params);
|
|
51
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
52
|
+
});
|
|
53
|
+
server.tool('recall_conversation_history', `Retrieve earlier conversation history when your context has been compacted.
|
|
54
|
+
Returns parsed entries (messages, tool calls, reasoning) from the current coworker session.
|
|
55
|
+
Use when you notice gaps in memory or need to reference earlier context.
|
|
56
|
+
Supports filters to narrow results — prefer filtering over loading everything.`, {
|
|
57
|
+
kind: z.enum(['message', 'tool', 'reasoning']).optional().describe('Filter by entry type'),
|
|
58
|
+
role: z
|
|
59
|
+
.enum(['user', 'assistant'])
|
|
60
|
+
.optional()
|
|
61
|
+
.describe('Filter messages by role (only applies when kind=message)'),
|
|
62
|
+
keyword: z
|
|
63
|
+
.string()
|
|
64
|
+
.optional()
|
|
65
|
+
.describe('Case-insensitive text search across message text and tool names'),
|
|
66
|
+
limit: z
|
|
67
|
+
.number()
|
|
68
|
+
.int()
|
|
69
|
+
.min(1)
|
|
70
|
+
.max(500)
|
|
71
|
+
.optional()
|
|
72
|
+
.describe('Max entries to return (default 100, newest first)'),
|
|
73
|
+
}, async ({ kind, role, keyword, limit = 100 }) => {
|
|
74
|
+
const sessionId = client.coworkerSessionId;
|
|
75
|
+
if (!sessionId) {
|
|
76
|
+
return {
|
|
77
|
+
content: [{ type: 'text', text: 'No coworker session ID available.' }],
|
|
78
|
+
isError: true,
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
const data = await client.get(`/coworker/sessions/${safePath(sessionId)}`);
|
|
82
|
+
const kw = keyword?.toLowerCase();
|
|
83
|
+
let entries = data.events;
|
|
84
|
+
if (kind || role || kw) {
|
|
85
|
+
entries = entries.filter((e) => {
|
|
86
|
+
if (kind && e.kind !== kind)
|
|
87
|
+
return false;
|
|
88
|
+
if (role && (e.kind !== 'message' || e.role !== role))
|
|
89
|
+
return false;
|
|
90
|
+
if (kw) {
|
|
91
|
+
if (e.kind === 'message' || e.kind === 'reasoning')
|
|
92
|
+
return e.text?.toLowerCase().includes(kw) ?? false;
|
|
93
|
+
if (e.kind === 'tool')
|
|
94
|
+
return ((e.name?.toLowerCase().includes(kw) || e.output?.toLowerCase().includes(kw)) ??
|
|
95
|
+
false);
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
return true;
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
entries = entries.slice(-limit).reverse();
|
|
102
|
+
return { content: [{ type: 'text', text: JSON.stringify(entries) }] };
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=coworker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coworker.js","sourceRoot":"","sources":["../../src/tools/coworker.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/crawl.js
CHANGED
|
@@ -9,7 +9,7 @@ export function registerCrawlTools(server, client) {
|
|
|
9
9
|
},
|
|
10
10
|
}, async (params) => {
|
|
11
11
|
const data = await client.get('/crawl/', { page: params.page, limit: params.limit });
|
|
12
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
12
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
13
13
|
});
|
|
14
14
|
server.registerTool('create_datasource', {
|
|
15
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.',
|
|
@@ -19,21 +19,21 @@ export function registerCrawlTools(server, client) {
|
|
|
19
19
|
},
|
|
20
20
|
}, async (params) => {
|
|
21
21
|
const data = await client.post('/crawl/', params);
|
|
22
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
22
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
23
23
|
});
|
|
24
24
|
server.registerTool('get_datasource', {
|
|
25
25
|
description: 'Get details of a specific website datasource, including its configuration and crawl status.',
|
|
26
26
|
inputSchema: { id: z.string().describe('The datasource ID') },
|
|
27
27
|
}, async ({ id }) => {
|
|
28
28
|
const data = await client.get(`/crawl/${safePath(id)}`);
|
|
29
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
29
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
30
30
|
});
|
|
31
31
|
server.registerTool('start_crawl', {
|
|
32
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
33
|
inputSchema: { id: z.string().describe('The datasource ID to crawl') },
|
|
34
34
|
}, async ({ id }) => {
|
|
35
35
|
const data = await client.post(`/crawl/${safePath(id)}/crawl`);
|
|
36
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
36
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
37
37
|
});
|
|
38
38
|
server.registerTool('get_crawl_status', {
|
|
39
39
|
description: 'Get the status and progress of a specific crawl job.',
|
|
@@ -43,7 +43,7 @@ export function registerCrawlTools(server, client) {
|
|
|
43
43
|
},
|
|
44
44
|
}, async ({ datasource_id, job_id }) => {
|
|
45
45
|
const data = await client.get(`/crawl/${safePath(datasource_id)}/crawls/${safePath(job_id)}`);
|
|
46
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
46
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
47
47
|
});
|
|
48
48
|
server.registerTool('list_crawled_pages', {
|
|
49
49
|
description: 'List pages discovered by a website datasource crawl. Can filter by sync status and search by URL or title.',
|
|
@@ -56,7 +56,7 @@ export function registerCrawlTools(server, client) {
|
|
|
56
56
|
},
|
|
57
57
|
}, async ({ datasource_id, ...query }) => {
|
|
58
58
|
const data = await client.get(`/crawl/${safePath(datasource_id)}/pages`, query);
|
|
59
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
59
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
62
|
//# sourceMappingURL=crawl.js.map
|
package/dist/tools/crawl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crawl.js","sourceRoot":"","sources":["../../src/tools/crawl.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,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EACT,sKAAsK;QACxK,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC7D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;SACvE;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACrF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"crawl.js","sourceRoot":"","sources":["../../src/tools/crawl.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,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EACT,sKAAsK;QACxK,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC7D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;SACvE;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACrF,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;IAEF,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,WAAW,EACT,uKAAuK;QACzK,WAAW,EAAE;YACX,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YACtE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;SAC5E;KACF,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,CAAC,EAAE,CAAC,EAAE,CAAC;IACrE,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,WAAW,EACT,6FAA6F;QAC/F,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;KAC9D,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACxD,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;IAEF,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,WAAW,EACT,+JAA+J;QACjK,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE;KACvE,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC/D,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;IAEF,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EAAE,sDAAsD;QACnE,WAAW,EAAE;YACX,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACvD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;SAChD;KACF,EACD,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,QAAQ,CAAC,aAAa,CAAC,WAAW,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9F,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;IAEF,MAAM,CAAC,YAAY,CACjB,oBAAoB,EACpB;QACE,WAAW,EACT,4GAA4G;QAC9G,WAAW,EAAE;YACX,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACvD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC7D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACzD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACpE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;SACvE;KACF,EACD,KAAK,EAAE,EAAE,aAAa,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;QACpC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChF,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"}
|
package/dist/tools/csat.js
CHANGED
|
@@ -12,7 +12,7 @@ export function registerCsatTools(server, client) {
|
|
|
12
12
|
page: params.page,
|
|
13
13
|
per_page: params.per_page,
|
|
14
14
|
});
|
|
15
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
15
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
16
16
|
});
|
|
17
17
|
server.registerTool('get_csat_score', {
|
|
18
18
|
description: 'Get a specific CSAT score by its ID, including the rating value, comment, and associated session.',
|
|
@@ -21,7 +21,7 @@ export function registerCsatTools(server, client) {
|
|
|
21
21
|
},
|
|
22
22
|
}, async ({ score_id }) => {
|
|
23
23
|
const data = await client.get(`/csat/scores/${safePath(score_id)}`);
|
|
24
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
24
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
25
25
|
});
|
|
26
26
|
server.registerTool('get_session_csat', {
|
|
27
27
|
description: 'Get the CSAT score for a specific chat session, if one was submitted.',
|
|
@@ -30,7 +30,7 @@ export function registerCsatTools(server, client) {
|
|
|
30
30
|
},
|
|
31
31
|
}, async ({ session_id }) => {
|
|
32
32
|
const data = await client.get(`/csat/scores/session/${safePath(session_id)}`);
|
|
33
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
33
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
36
|
//# sourceMappingURL=csat.js.map
|
package/dist/tools/csat.js.map
CHANGED
|
@@ -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,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,
|
|
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,CAAC,EAAE,CAAC,EAAE,CAAC;IACrE,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,CAAC,EAAE,CAAC,EAAE,CAAC;IACrE,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,CAAC,EAAE,CAAC,EAAE,CAAC;IACrE,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/tools/email.js
CHANGED
|
@@ -33,13 +33,13 @@ export function registerEmailTools(server, client) {
|
|
|
33
33
|
},
|
|
34
34
|
}, async (params) => {
|
|
35
35
|
const data = await client.post('/email/', params);
|
|
36
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
36
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
37
37
|
});
|
|
38
38
|
server.registerTool('list_email_domains', {
|
|
39
39
|
description: 'List all custom email sending domains configured for your organization, including their verification status.',
|
|
40
40
|
}, async () => {
|
|
41
41
|
const data = await client.get('/email/domains');
|
|
42
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
42
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
43
43
|
});
|
|
44
44
|
server.registerTool('add_email_domain', {
|
|
45
45
|
description: 'Add a custom domain for sending emails. Returns DNS records that must be configured for verification.',
|
|
@@ -48,7 +48,7 @@ export function registerEmailTools(server, client) {
|
|
|
48
48
|
},
|
|
49
49
|
}, async ({ domain_name }) => {
|
|
50
50
|
const data = await client.put('/email/domains', { domainName: domain_name });
|
|
51
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
51
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
52
52
|
});
|
|
53
53
|
server.registerTool('verify_email_domain', {
|
|
54
54
|
description: 'Trigger verification of a custom email domain. The domain DNS records must be configured before verification will succeed.',
|
|
@@ -57,7 +57,7 @@ export function registerEmailTools(server, client) {
|
|
|
57
57
|
},
|
|
58
58
|
}, async ({ domain_name }) => {
|
|
59
59
|
const data = await client.patch(`/email/domains/${safePath(domain_name)}/verify`);
|
|
60
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
60
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
63
|
//# sourceMappingURL=email.js.map
|
package/dist/tools/email.js.map
CHANGED
|
@@ -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,YAAY,CACjB,YAAY,EACZ;QACE,WAAW,EACT,uKAAuK;QACzK,WAAW,EAAE;YACX,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,KAAK,EAAE;iBACP,QAAQ,CAAC,2DAA2D,CAAC;YACxE,UAAU,EAAE,CAAC;iBACV,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;aAC7D,CAAC,CACH;iBACA,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,uCAAuC,CAAC;YACpD,gBAAgB,EAAE,CAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,8DAA8D,CAAC;YAC3E,sBAAsB,EAAE,CAAC;iBACtB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,4CAA4C,CAAC;YACzD,0BAA0B,EAAE,CAAC;iBAC1B,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,mDAAmD,CAAC;YAChE,mBAAmB,EAAE,CAAC;iBACnB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,0CAA0C,CAAC;SACxD;KACF,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,
|
|
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,
|
|
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,QA8BpF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export function registerHandoffAnalyticsTools(server, client) {
|
|
3
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.',
|
|
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. Optionally filter to handoffs referencing a specific instruction.',
|
|
5
5
|
inputSchema: {
|
|
6
6
|
start_date: z
|
|
7
7
|
.string()
|
|
@@ -11,10 +11,18 @@ export function registerHandoffAnalyticsTools(server, client) {
|
|
|
11
11
|
.string()
|
|
12
12
|
.optional()
|
|
13
13
|
.describe('End date in ISO 8601 format (e.g. "2025-01-31"). Defaults to now.'),
|
|
14
|
+
instruction_id: z
|
|
15
|
+
.string()
|
|
16
|
+
.optional()
|
|
17
|
+
.describe('Filter to only handoffs that reference this instruction ID'),
|
|
14
18
|
},
|
|
15
|
-
}, async ({ start_date, end_date }) => {
|
|
16
|
-
const data = await client.get('/handoff-analytics/', {
|
|
17
|
-
|
|
19
|
+
}, async ({ start_date, end_date, instruction_id }) => {
|
|
20
|
+
const data = await client.get('/handoff-analytics/', {
|
|
21
|
+
start_date,
|
|
22
|
+
end_date,
|
|
23
|
+
instruction_id,
|
|
24
|
+
});
|
|
25
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
18
26
|
});
|
|
19
27
|
}
|
|
20
28
|
//# 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;AAGxB,MAAM,UAAU,6BAA6B,CAAC,MAAiB,EAAE,MAAoB;IACnF,MAAM,CAAC,YAAY,CACjB,uBAAuB,EACvB;QACE,WAAW,EACT,
|
|
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,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,MAAM,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE;YACnD,UAAU;YACV,QAAQ;YACR,cAAc;SACf,CAAC,CAAC;QACH,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"}
|
|
@@ -5,7 +5,7 @@ export function registerHelpCenterTools(server, client) {
|
|
|
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
7
|
const data = await client.get('/hc/');
|
|
8
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
8
|
+
return { content: [{ type: 'text', text: JSON.stringify(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.',
|
|
@@ -14,10 +14,10 @@ export function registerHelpCenterTools(server, client) {
|
|
|
14
14
|
},
|
|
15
15
|
}, async ({ help_center_id }) => {
|
|
16
16
|
const data = await client.get(`/hc/${safePath(help_center_id)}/export`);
|
|
17
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
17
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
18
18
|
});
|
|
19
19
|
server.registerTool('sync_help_center_content', {
|
|
20
|
-
description: 'Replace the help center content tree atomically.
|
|
20
|
+
description: 'Replace the help center content tree atomically. Use export_help_center_content first to see the current structure.',
|
|
21
21
|
inputSchema: {
|
|
22
22
|
help_center_id: z.string().describe('The help center ID'),
|
|
23
23
|
categories: z
|
|
@@ -59,7 +59,7 @@ export function registerHelpCenterTools(server, client) {
|
|
|
59
59
|
},
|
|
60
60
|
}, async ({ help_center_id, categories }) => {
|
|
61
61
|
const data = await client.post(`/hc/${safePath(help_center_id)}/sync`, { categories });
|
|
62
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
62
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
63
63
|
});
|
|
64
64
|
server.registerTool('list_help_center_media', {
|
|
65
65
|
description: 'List all media files (images, documents) uploaded to a help center.',
|
|
@@ -68,7 +68,7 @@ export function registerHelpCenterTools(server, client) {
|
|
|
68
68
|
},
|
|
69
69
|
}, async ({ help_center_id }) => {
|
|
70
70
|
const data = await client.get(`/hc/${safePath(help_center_id)}/media`);
|
|
71
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
71
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
72
72
|
});
|
|
73
73
|
server.registerTool('delete_help_center_media', {
|
|
74
74
|
description: 'Delete a media file from a help center.',
|
|
@@ -78,7 +78,7 @@ export function registerHelpCenterTools(server, client) {
|
|
|
78
78
|
},
|
|
79
79
|
}, async ({ help_center_id, media_id }) => {
|
|
80
80
|
const data = await client.delete(`/hc/${safePath(help_center_id)}/media/${safePath(media_id)}`);
|
|
81
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
81
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
82
82
|
});
|
|
83
83
|
}
|
|
84
84
|
//# 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,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,
|
|
1
|
+
{"version":3,"file":"help-center.js","sourceRoot":"","sources":["../../src/tools/help-center.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +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;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAmBhF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export function registerImpactReportTools(server, client) {
|
|
3
|
+
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
|
+
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.'),
|
|
12
|
+
}, async ({ start_date, end_date }) => {
|
|
13
|
+
const data = await client.get('/impact-report/', { start_date, end_date });
|
|
14
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=impact-report.js.map
|
|
@@ -0,0 +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;AAGxB,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,MAAM,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3E,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"}
|
package/dist/tools/insights.js
CHANGED
|
@@ -8,21 +8,21 @@ export function registerInsightTools(server, client) {
|
|
|
8
8
|
},
|
|
9
9
|
}, async ({ cursor }) => {
|
|
10
10
|
const data = await client.post('/insights/', { cursor });
|
|
11
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
11
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
12
12
|
});
|
|
13
13
|
server.registerTool('get_insight', {
|
|
14
14
|
description: 'Get full details of a specific customer insight by ID, including its category, related sessions, and resolution status.',
|
|
15
15
|
inputSchema: { id: z.string().describe('The insight ID') },
|
|
16
16
|
}, async ({ id }) => {
|
|
17
17
|
const data = await client.get(`/insights/${safePath(id)}`);
|
|
18
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
18
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
19
19
|
});
|
|
20
20
|
server.registerTool('resolve_insight', {
|
|
21
21
|
description: 'Mark a customer insight as resolved. Use this when the underlying issue has been addressed.',
|
|
22
22
|
inputSchema: { id: z.string().describe('The insight ID to resolve') },
|
|
23
23
|
}, async ({ id }) => {
|
|
24
24
|
const data = await client.post(`/insights/${safePath(id)}/resolve`);
|
|
25
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
25
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
26
26
|
});
|
|
27
27
|
server.registerTool('assign_insight', {
|
|
28
28
|
description: 'Assign a customer insight to a specific team for follow-up.',
|
|
@@ -32,7 +32,7 @@ export function registerInsightTools(server, client) {
|
|
|
32
32
|
},
|
|
33
33
|
}, async ({ id, group_id }) => {
|
|
34
34
|
const data = await client.post(`/insights/${safePath(id)}/assign`, { groupId: group_id });
|
|
35
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
35
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
36
36
|
});
|
|
37
37
|
server.registerTool('list_insight_categories', {
|
|
38
38
|
description: 'List all insight categories. Categories organize customer insights by theme (e.g. "billing issues", "feature requests").',
|
|
@@ -41,7 +41,7 @@ export function registerInsightTools(server, client) {
|
|
|
41
41
|
},
|
|
42
42
|
}, async ({ type }) => {
|
|
43
43
|
const data = await client.get('/insights/categories', { type });
|
|
44
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
44
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
47
|
//# 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,EAAgB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,MAAoB;IAC1E,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,WAAW,EACT,4LAA4L;QAC9L,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;SACrF;KACF,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACnB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACzD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"insights.js","sourceRoot":"","sources":["../../src/tools/insights.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/media.js
CHANGED
|
@@ -54,7 +54,7 @@ export function registerMediaTools(server, client) {
|
|
|
54
54
|
formData.append('file', blob, fileName);
|
|
55
55
|
const data = await client.postMultipart('/media/upload', formData);
|
|
56
56
|
return {
|
|
57
|
-
content: [{ type: 'text', text: JSON.stringify(data
|
|
57
|
+
content: [{ type: 'text', text: JSON.stringify(data) }],
|
|
58
58
|
};
|
|
59
59
|
});
|
|
60
60
|
}
|
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;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,
|
|
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,CAAC,EAAE,CAAC;SACxD,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -12,14 +12,14 @@ export function registerOfficeHoursTools(server, client) {
|
|
|
12
12
|
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
13
|
}, async () => {
|
|
14
14
|
const data = await client.get('/office-hours/');
|
|
15
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
15
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
16
16
|
});
|
|
17
17
|
server.registerTool('get_office_hours', {
|
|
18
18
|
description: 'Get a specific office hours schedule by ID, including all its time shifts.',
|
|
19
19
|
inputSchema: { id: z.string().describe('The office hours schedule ID') },
|
|
20
20
|
}, async ({ id }) => {
|
|
21
21
|
const data = await client.get(`/office-hours/${safePath(id)}`);
|
|
22
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
22
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
23
23
|
});
|
|
24
24
|
server.registerTool('create_office_hours', {
|
|
25
25
|
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".',
|
|
@@ -32,7 +32,7 @@ export function registerOfficeHoursTools(server, client) {
|
|
|
32
32
|
},
|
|
33
33
|
}, async (params) => {
|
|
34
34
|
const data = await client.post('/office-hours/', params);
|
|
35
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
35
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
36
36
|
});
|
|
37
37
|
server.registerTool('update_office_hours', {
|
|
38
38
|
description: 'Update an office hours schedule. The shifts array replaces ALL existing shifts — include every shift you want to keep.',
|
|
@@ -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,EAAgB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,gBAAgB,GACpB,6GAA6G;IAC7G,2GAA2G,CAAC;AAE9G,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAClD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;IAC3E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;CACxE,CAAC,CAAC;AAEH,MAAM,UAAU,wBAAwB,CAAC,MAAiB,EAAE,MAAoB;IAC9E,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,WAAW,EACT,yJAAyJ;KAC5J,EACD,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,
|
|
1
|
+
{"version":3,"file":"office-hours.js","sourceRoot":"","sources":["../../src/tools/office-hours.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/org.js
CHANGED
|
@@ -4,7 +4,7 @@ export function registerOrgTools(server, client) {
|
|
|
4
4
|
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
5
|
}, async () => {
|
|
6
6
|
const data = await client.get('/org/');
|
|
7
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
7
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
8
8
|
});
|
|
9
9
|
server.registerTool('update_organization', {
|
|
10
10
|
description: 'Update your organization name.',
|
|
@@ -13,7 +13,7 @@ export function registerOrgTools(server, client) {
|
|
|
13
13
|
},
|
|
14
14
|
}, async ({ name }) => {
|
|
15
15
|
const data = await client.patch('/org/', { name });
|
|
16
|
-
return { content: [{ type: 'text', text: JSON.stringify(data
|
|
16
|
+
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
19
|
//# 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;AAGxB,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,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"org.js","sourceRoot":"","sources":["../../src/tools/org.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,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,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,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;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,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,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"}
|
package/dist/tools/phone.d.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
2
|
import { OpenCXClient } from '../api-client.js';
|
|
3
|
+
/** @internal exported for tests */
|
|
4
|
+
export declare function buildPhoneAgentCardSpec(agent: {
|
|
5
|
+
id: string;
|
|
6
|
+
name: string;
|
|
7
|
+
model: string;
|
|
8
|
+
}): string;
|
|
3
9
|
export declare function registerPhoneTools(server: McpServer, client: OpenCXClient): void;
|
|
4
10
|
//# sourceMappingURL=phone.d.ts.map
|
|
@@ -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;AAEpE,OAAO,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"phone.d.ts","sourceRoot":"","sources":["../../src/tools/phone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;AAQ1D,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;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAwRzE"}
|