@opencx/mcp 1.9.1 → 1.10.0-alpha.1
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/bundle.cjs +24658 -0
- package/dist/index.js +0 -0
- package/dist/tools/phone.d.ts.map +1 -1
- package/dist/tools/phone.js +29 -11
- package/dist/tools/phone.js.map +1 -1
- package/dist/tools/sequences.d.ts.map +1 -1
- package/dist/tools/sequences.js +104 -13
- package/dist/tools/sequences.js.map +1 -1
- package/package.json +10 -9
- package/LICENSE +0 -21
package/dist/index.js
CHANGED
|
File without changes
|
|
@@ -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;AAc1D,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,QA0RzE"}
|
package/dist/tools/phone.js
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { safePath } from '../api-client.js';
|
|
3
3
|
const AGENT_PREFIX = '/phone';
|
|
4
|
+
const PhoneAgentResponseSchema = z.object({
|
|
5
|
+
id: z.string(),
|
|
6
|
+
name: z.string(),
|
|
7
|
+
model: z.string(),
|
|
8
|
+
});
|
|
4
9
|
function specFence(json) {
|
|
5
10
|
return `\`\`\`spec\n${JSON.stringify(json)}\n\`\`\``;
|
|
6
11
|
}
|
|
@@ -21,6 +26,14 @@ export function buildPhoneAgentCardSpec(agent) {
|
|
|
21
26
|
},
|
|
22
27
|
});
|
|
23
28
|
}
|
|
29
|
+
function buildSpecFromResponse(data, fallback) {
|
|
30
|
+
const parsed = PhoneAgentResponseSchema.passthrough().parse(data);
|
|
31
|
+
return buildPhoneAgentCardSpec({
|
|
32
|
+
id: parsed.id || fallback?.id || '',
|
|
33
|
+
name: parsed.name || fallback?.name || '',
|
|
34
|
+
model: parsed.model,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
24
37
|
export function registerPhoneTools(server, client) {
|
|
25
38
|
server.registerTool('list_voices', {
|
|
26
39
|
description: 'List available voices with optional filters. Returns an array of { voice_id, name, labels: { accent, gender, age, language, use_case }, preview_url }. Default limit is 20 — use offset to page through results. After receiving this data, render a List spec where each item has: label=name, secondary=language·gender·accent, badge=use_case, playUrl=preview_url, action={ label: "Select voice", message: "Use voice \"{name}\" ({voice_id}) for the phone agent." } (row click sends the message).',
|
|
@@ -69,7 +82,7 @@ export function registerPhoneTools(server, client) {
|
|
|
69
82
|
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
70
83
|
});
|
|
71
84
|
server.registerTool('create_phone_agent', {
|
|
72
|
-
description: 'Create a new AI phone agent powered by the latest voice model. Only name is required — everything else has sensible defaults. When the user should choose a voice, call `list_voices` and emit a List spec (see catalog uiPrompt rules).',
|
|
85
|
+
description: 'Create a new AI phone agent powered by the latest voice model. Only name is required — everything else has sensible defaults. When the user should choose a voice, call `list_voices` and emit a List spec (see catalog uiPrompt rules). The response includes a PhoneAgentCard ```spec block — include it verbatim in your message so the user can test the agent from chat.',
|
|
73
86
|
inputSchema: {
|
|
74
87
|
name: z.string().describe('A name for the phone agent (e.g. "Billing Support")'),
|
|
75
88
|
type: z
|
|
@@ -101,10 +114,13 @@ export function registerPhoneTools(server, client) {
|
|
|
101
114
|
},
|
|
102
115
|
}, async (params) => {
|
|
103
116
|
const data = await client.post(AGENT_PREFIX, params);
|
|
104
|
-
|
|
117
|
+
const spec = buildSpecFromResponse(data, { name: params.name });
|
|
118
|
+
return {
|
|
119
|
+
content: [{ type: 'text', text: `${JSON.stringify(data)}\n\n${spec}` }],
|
|
120
|
+
};
|
|
105
121
|
});
|
|
106
122
|
server.registerTool('update_phone_agent', {
|
|
107
|
-
description: 'Update an existing AI phone agent. Only the fields you provide will be changed.',
|
|
123
|
+
description: 'Update an existing AI phone agent. Only the fields you provide will be changed. The response includes a PhoneAgentCard ```spec block — include it verbatim in your message so the user can test the agent from chat.',
|
|
108
124
|
inputSchema: {
|
|
109
125
|
phone_agent_id: z.string().describe('The phone agent ID to update'),
|
|
110
126
|
name: z.string().optional().describe('New name'),
|
|
@@ -119,7 +135,10 @@ export function registerPhoneTools(server, client) {
|
|
|
119
135
|
},
|
|
120
136
|
}, async ({ phone_agent_id, ...body }) => {
|
|
121
137
|
const data = await client.patch(`${AGENT_PREFIX}/${safePath(phone_agent_id)}`, body);
|
|
122
|
-
|
|
138
|
+
const spec = buildSpecFromResponse(data, { id: phone_agent_id });
|
|
139
|
+
return {
|
|
140
|
+
content: [{ type: 'text', text: `${JSON.stringify(data)}\n\n${spec}` }],
|
|
141
|
+
};
|
|
123
142
|
});
|
|
124
143
|
server.registerTool('delete_phone_agent', {
|
|
125
144
|
description: 'Permanently delete an AI phone agent and release its phone number. This action cannot be undone.',
|
|
@@ -162,21 +181,20 @@ export function registerPhoneTools(server, client) {
|
|
|
162
181
|
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
163
182
|
});
|
|
164
183
|
server.registerTool('present_phone_agent', {
|
|
165
|
-
description: '
|
|
184
|
+
description: 'Re-present an existing phone agent as an inline PhoneAgentCard so the user can click "Test via web". ' +
|
|
185
|
+
'Not needed right after create_phone_agent or update_phone_agent — those already include the card. ' +
|
|
186
|
+
'Use this only to re-show a previously created agent (e.g. after get_phone_agent).',
|
|
166
187
|
inputSchema: {
|
|
167
188
|
phone_agent_id: z.string().describe('The phone agent UUID'),
|
|
168
189
|
},
|
|
169
190
|
}, async ({ phone_agent_id }) => {
|
|
170
|
-
const agent =
|
|
171
|
-
const
|
|
172
|
-
const name = typeof agent.name === 'string' ? agent.name : 'Phone agent';
|
|
173
|
-
const model = typeof agent.model === 'string' ? agent.model : '';
|
|
174
|
-
const text = buildPhoneAgentCardSpec({ id, name, model });
|
|
191
|
+
const agent = await client.get(`${AGENT_PREFIX}/${safePath(phone_agent_id)}`);
|
|
192
|
+
const spec = buildSpecFromResponse(agent, { id: phone_agent_id, name: 'Phone agent' });
|
|
175
193
|
return {
|
|
176
194
|
content: [
|
|
177
195
|
{
|
|
178
196
|
type: 'text',
|
|
179
|
-
text: `Phone agent ready. Inline card below — user can test from chat.\n\n${
|
|
197
|
+
text: `Phone agent ready. Inline card below — user can test from chat.\n\n${spec}`,
|
|
180
198
|
},
|
|
181
199
|
],
|
|
182
200
|
};
|
package/dist/tools/phone.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phone.js","sourceRoot":"","sources":["../../src/tools/phone.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"phone.js","sourceRoot":"","sources":["../../src/tools/phone.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequences.d.ts","sourceRoot":"","sources":["../../src/tools/sequences.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"sequences.d.ts","sourceRoot":"","sources":["../../src/tools/sequences.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;AAkG1D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAgH5E"}
|
package/dist/tools/sequences.js
CHANGED
|
@@ -1,26 +1,110 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { safePath } from '../api-client.js';
|
|
3
|
+
const ContactFilterSchema = z
|
|
4
|
+
.union([
|
|
5
|
+
z.object({ type: z.literal('all_contacts') }),
|
|
6
|
+
z.object({
|
|
7
|
+
type: z.literal('contact_id_in'),
|
|
8
|
+
contact_ids: z.array(z.string()).describe('Array of contact UUIDs'),
|
|
9
|
+
}),
|
|
10
|
+
z.object({
|
|
11
|
+
type: z.literal('contacts_email_in'),
|
|
12
|
+
email_in: z.array(z.string()).describe('Array of email addresses'),
|
|
13
|
+
}),
|
|
14
|
+
z.object({
|
|
15
|
+
type: z.literal('contacts_phone_number_in'),
|
|
16
|
+
phone_number_in: z.array(z.string()).describe('Array of phone numbers'),
|
|
17
|
+
}),
|
|
18
|
+
z.object({
|
|
19
|
+
type: z.literal('contacts_email_domain_name_in'),
|
|
20
|
+
domain_name_in: z.array(z.string()).describe('Array of email domain names (e.g. "example.com")'),
|
|
21
|
+
}),
|
|
22
|
+
z.object({
|
|
23
|
+
type: z.literal('contacts_name_in'),
|
|
24
|
+
name_in: z.array(z.string()).describe('Array of contact names (partial match)'),
|
|
25
|
+
}),
|
|
26
|
+
z.object({
|
|
27
|
+
type: z.literal('contact_belongs_to_segment'),
|
|
28
|
+
segment_id: z.string().describe('Segment ID'),
|
|
29
|
+
}),
|
|
30
|
+
])
|
|
31
|
+
.describe('A single filter condition');
|
|
32
|
+
const SequenceStepActionSchema = z
|
|
33
|
+
.union([
|
|
34
|
+
z.object({
|
|
35
|
+
type: z.literal('send_emails'),
|
|
36
|
+
data: z.object({
|
|
37
|
+
from_email: z.string().describe('Sender email address'),
|
|
38
|
+
email_subject: z.string().describe('Email subject line'),
|
|
39
|
+
email_body: z.string().describe('Email body (HTML supported)'),
|
|
40
|
+
email_sender_name: z.string().describe('Display name of the sender'),
|
|
41
|
+
email_is_transactional: z
|
|
42
|
+
.boolean()
|
|
43
|
+
.describe('If true, this is a transactional email (not marketing)'),
|
|
44
|
+
}),
|
|
45
|
+
}),
|
|
46
|
+
z.object({
|
|
47
|
+
type: z.literal('make_phone_calls'),
|
|
48
|
+
data: z.object({
|
|
49
|
+
aiPhoneAgentId: z.string().describe('ID of the AI phone agent to use for calls'),
|
|
50
|
+
}),
|
|
51
|
+
}),
|
|
52
|
+
z.object({
|
|
53
|
+
type: z.literal('send_sms_messages'),
|
|
54
|
+
data: z.object({
|
|
55
|
+
message: z.string().describe('The SMS message text to send'),
|
|
56
|
+
}),
|
|
57
|
+
}),
|
|
58
|
+
z.object({
|
|
59
|
+
type: z.literal('send_whatsapp_messages'),
|
|
60
|
+
data: z.object({
|
|
61
|
+
phone_number_id: z.string().describe('WhatsApp Business phone number ID'),
|
|
62
|
+
template: z.object({
|
|
63
|
+
name: z.string().describe('Template name'),
|
|
64
|
+
language: z.string().describe('Template language code'),
|
|
65
|
+
parameters: z.record(z.unknown()).describe('Template parameters mapping'),
|
|
66
|
+
}),
|
|
67
|
+
}),
|
|
68
|
+
}),
|
|
69
|
+
])
|
|
70
|
+
.describe('Use "send_emails" for email, "make_phone_calls" for AI phone agent calls, "send_sms_messages" for SMS, "send_whatsapp_messages" for WhatsApp.');
|
|
71
|
+
const SequenceFilterSchema = z
|
|
72
|
+
.object({
|
|
73
|
+
or: z
|
|
74
|
+
.array(z.object({ and: z.array(ContactFilterSchema) }))
|
|
75
|
+
.nonempty()
|
|
76
|
+
.describe('Array of OR groups, each containing AND conditions'),
|
|
77
|
+
})
|
|
78
|
+
.nullable()
|
|
79
|
+
.describe('Contact filter. Use { or: [{ and: [{ type: "all_contacts" }] }] } for all contacts. ' +
|
|
80
|
+
'Use { or: [{ and: [{ type: "contact_id_in", contact_ids: ["id1"] }] }] } for specific contacts. ' +
|
|
81
|
+
'Pass null to add contacts later via add_contacts_to_sequence.');
|
|
82
|
+
const SequenceStepInputSchema = z.object({
|
|
83
|
+
action: SequenceStepActionSchema,
|
|
84
|
+
delay_in_minutes: z.coerce
|
|
85
|
+
.number()
|
|
86
|
+
.int()
|
|
87
|
+
.min(0)
|
|
88
|
+
.optional()
|
|
89
|
+
.describe('Delay in minutes before executing this step (0 or omit for immediate)'),
|
|
90
|
+
});
|
|
3
91
|
export function registerSequenceTools(server, client) {
|
|
4
92
|
server.registerTool('create_sequence', {
|
|
5
|
-
description: 'Create an outbound AI sequence. Sequences automate multi-step outreach to contacts via email, SMS,
|
|
93
|
+
description: 'Create an outbound AI sequence. Sequences automate multi-step outreach to contacts via email, SMS, phone calls, or WhatsApp. ' +
|
|
94
|
+
'Requires at least one step with an action, and a filter to select target contacts. ' +
|
|
95
|
+
'Use filter { or: [{ and: [{ type: "all_contacts" }] }] } to target all contacts, or pass null and add contacts later with add_contacts_to_sequence.',
|
|
6
96
|
inputSchema: {
|
|
7
97
|
name: z.string().describe('A name for the sequence'),
|
|
98
|
+
custom_id: z.string().optional().describe('Optional custom identifier for this sequence'),
|
|
8
99
|
is_continuous: z
|
|
9
100
|
.boolean()
|
|
10
101
|
.optional()
|
|
11
102
|
.describe('If true, the sequence runs continuously and contacts can be added over time'),
|
|
103
|
+
filter: SequenceFilterSchema,
|
|
12
104
|
steps: z
|
|
13
|
-
.array(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
.number()
|
|
17
|
-
.int()
|
|
18
|
-
.min(0)
|
|
19
|
-
.optional()
|
|
20
|
-
.describe('Delay before this step in minutes (string or number)'),
|
|
21
|
-
}))
|
|
22
|
-
.optional()
|
|
23
|
-
.describe('The sequence steps to execute in order'),
|
|
105
|
+
.array(SequenceStepInputSchema)
|
|
106
|
+
.nonempty()
|
|
107
|
+
.describe('Ordered steps the sequence will execute. At least one step is required.'),
|
|
24
108
|
},
|
|
25
109
|
}, async (params) => {
|
|
26
110
|
const data = await client.post('/sequences/', params);
|
|
@@ -34,11 +118,18 @@ export function registerSequenceTools(server, client) {
|
|
|
34
118
|
return { content: [{ type: 'text', text: JSON.stringify(data) }] };
|
|
35
119
|
});
|
|
36
120
|
server.registerTool('update_sequence', {
|
|
37
|
-
description: 'Update an existing sequence configuration.',
|
|
121
|
+
description: 'Update an existing sequence configuration. Only provided fields are changed.',
|
|
38
122
|
inputSchema: {
|
|
39
123
|
sequence_id: z.string().describe('The sequence ID to update'),
|
|
40
124
|
name: z.string().optional().describe('New name'),
|
|
125
|
+
custom_id: z.string().optional().describe('New custom identifier'),
|
|
41
126
|
is_continuous: z.boolean().optional().describe('Update continuous mode'),
|
|
127
|
+
filter: SequenceFilterSchema.optional().describe('New contact filter'),
|
|
128
|
+
steps: z
|
|
129
|
+
.array(SequenceStepInputSchema)
|
|
130
|
+
.nonempty()
|
|
131
|
+
.optional()
|
|
132
|
+
.describe('New sequence steps (replaces all existing steps)'),
|
|
42
133
|
},
|
|
43
134
|
}, async ({ sequence_id, ...body }) => {
|
|
44
135
|
const data = await client.patch(`/sequences/${safePath(sequence_id)}`, body);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequences.js","sourceRoot":"","sources":["../../src/tools/sequences.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAgB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,
|
|
1
|
+
{"version":3,"file":"sequences.js","sourceRoot":"","sources":["../../src/tools/sequences.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAgB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,mBAAmB,GAAG,CAAC;KAC1B,KAAK,CAAC;IACL,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;IAC7C,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;QAChC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;KACpE,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACpC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;KACnE,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,0BAA0B,CAAC;QAC3C,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;KACxE,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,+BAA+B,CAAC;QAChD,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,kDAAkD,CAAC;KACjG,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;QACnC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;KAChF,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,4BAA4B,CAAC;QAC7C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;KAC9C,CAAC;CACH,CAAC;KACD,QAAQ,CAAC,2BAA2B,CAAC,CAAC;AAEzC,MAAM,wBAAwB,GAAG,CAAC;KAC/B,KAAK,CAAC;IACL,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACb,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YACvD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACxD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YAC9D,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;YACpE,sBAAsB,EAAE,CAAC;iBACtB,OAAO,EAAE;iBACT,QAAQ,CAAC,wDAAwD,CAAC;SACtE,CAAC;KACH,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;QACnC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACb,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;SACjF,CAAC;KACH,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACpC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACb,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;SAC7D,CAAC;KACH,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC;QACzC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;YACb,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACzE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;gBACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;gBAC1C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;gBACvD,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,6BAA6B,CAAC;aAC1E,CAAC;SACH,CAAC;KACH,CAAC;CACH,CAAC;KACD,QAAQ,CACP,+IAA+I,CAChJ,CAAC;AAEJ,MAAM,oBAAoB,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN,EAAE,EAAE,CAAC;SACF,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;SACtD,QAAQ,EAAE;SACV,QAAQ,CAAC,oDAAoD,CAAC;CAClE,CAAC;KACD,QAAQ,EAAE;KACV,QAAQ,CACP,sFAAsF;IACpF,kGAAkG;IAClG,+DAA+D,CAClE,CAAC;AAEJ,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,wBAAwB;IAChC,gBAAgB,EAAE,CAAC,CAAC,MAAM;SACvB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CAAC,uEAAuE,CAAC;CACrF,CAAC,CAAC;AAEH,MAAM,UAAU,qBAAqB,CAAC,MAAiB,EAAE,MAAoB;IAC3E,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EACT,+HAA+H;YAC/H,qFAAqF;YACrF,qJAAqJ;QACvJ,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACpD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;YACzF,aAAa,EAAE,CAAC;iBACb,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,6EAA6E,CAAC;YAC1F,MAAM,EAAE,oBAAoB;YAC5B,KAAK,EAAE,CAAC;iBACL,KAAK,CAAC,uBAAuB,CAAC;iBAC9B,QAAQ,EAAE;iBACV,QAAQ,CAAC,yEAAyE,CAAC;SACvF;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACtD,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,cAAc,EACd;QACE,WAAW,EACT,oHAAoH;QACtH,WAAW,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;KACrE,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACrE,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,iBAAiB,EACjB;QACE,WAAW,EAAE,8EAA8E;QAC3F,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YAC7D,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;YAChD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAClE,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;YACxE,MAAM,EAAE,oBAAoB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACtE,KAAK,EAAE,CAAC;iBACL,KAAK,CAAC,uBAAuB,CAAC;iBAC9B,QAAQ,EAAE;iBACV,QAAQ,EAAE;iBACV,QAAQ,CAAC,kDAAkD,CAAC;SAChE;KACF,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7E,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,wGAAwG;QAC1G,WAAW,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE;KAC9E,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,QAAQ,CAAC,WAAW,CAAC,QAAQ,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;IAEF,MAAM,CAAC,YAAY,CACjB,iBAAiB,EACjB;QACE,WAAW,EACT,yGAAyG;QAC3G,WAAW,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE;KAC/E,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC5E,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,0BAA0B,EAC1B;QACE,WAAW,EACT,0GAA0G;QAC5G,WAAW,EAAE;YACX,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACnD,QAAQ,EAAE,CAAC;iBACR,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;aAC5D,CAAC,CACH;iBACA,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,CAAC,yCAAyC,CAAC;SACvD;KACF,EACD,KAAK,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE;QAClC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,cAAc,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7F,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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opencx/mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.0-alpha.1",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "MCP server for OpenCX — manage contacts, sessions, training, and more from Claude Desktop, Cursor, or any MCP client.",
|
|
6
6
|
"type": "module",
|
|
@@ -11,6 +11,14 @@
|
|
|
11
11
|
"files": [
|
|
12
12
|
"dist"
|
|
13
13
|
],
|
|
14
|
+
"scripts": {
|
|
15
|
+
"build": "tsc",
|
|
16
|
+
"bundle": "pnpm build && pnpx esbuild dist/index.js --bundle --format=cjs --platform=node --target=node18 --outfile=dist/bundle.cjs",
|
|
17
|
+
"dev": "tsc --watch",
|
|
18
|
+
"start": "node dist/index.js",
|
|
19
|
+
"test": "vitest run",
|
|
20
|
+
"prepublishOnly": "pnpm build"
|
|
21
|
+
},
|
|
14
22
|
"publishConfig": {
|
|
15
23
|
"access": "public"
|
|
16
24
|
},
|
|
@@ -33,12 +41,5 @@
|
|
|
33
41
|
"@types/node": "^25.3.0",
|
|
34
42
|
"typescript": "^5.9.3",
|
|
35
43
|
"vitest": "^4.0.17"
|
|
36
|
-
},
|
|
37
|
-
"scripts": {
|
|
38
|
-
"build": "tsc",
|
|
39
|
-
"bundle": "pnpm build && pnpx esbuild dist/index.js --bundle --format=cjs --platform=node --target=node18 --outfile=dist/bundle.cjs",
|
|
40
|
-
"dev": "tsc --watch",
|
|
41
|
-
"start": "node dist/index.js",
|
|
42
|
-
"test": "vitest run"
|
|
43
44
|
}
|
|
44
|
-
}
|
|
45
|
+
}
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2023 OpenCopilot
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|