@opencx/mcp 1.15.15 → 1.15.21
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/campaign-tools.spec.d.ts +2 -0
- package/dist/campaign-tools.spec.d.ts.map +1 -0
- package/dist/campaign-tools.spec.js +508 -0
- package/dist/campaign-tools.spec.js.map +1 -0
- package/dist/companies.spec.d.ts +2 -0
- package/dist/companies.spec.d.ts.map +1 -0
- package/dist/companies.spec.js +191 -0
- package/dist/companies.spec.js.map +1 -0
- package/dist/phone-caller-number-tool.spec.d.ts +2 -0
- package/dist/phone-caller-number-tool.spec.d.ts.map +1 -0
- package/dist/phone-caller-number-tool.spec.js +97 -0
- package/dist/phone-caller-number-tool.spec.js.map +1 -0
- package/dist/schema.d.ts +10756 -7565
- package/dist/schema.d.ts.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +12 -2
- package/dist/server.js.map +1 -1
- package/dist/slack-tools.spec.d.ts +2 -0
- package/dist/slack-tools.spec.d.ts.map +1 -0
- package/dist/slack-tools.spec.js +148 -0
- package/dist/slack-tools.spec.js.map +1 -0
- package/dist/tools/campaign-channel.d.ts +4 -0
- package/dist/tools/campaign-channel.d.ts.map +1 -0
- package/dist/tools/campaign-channel.js +250 -0
- package/dist/tools/campaign-channel.js.map +1 -0
- package/dist/tools/campaign-discovery.d.ts +4 -0
- package/dist/tools/campaign-discovery.d.ts.map +1 -0
- package/dist/tools/campaign-discovery.js +70 -0
- package/dist/tools/campaign-discovery.js.map +1 -0
- package/dist/tools/campaign-qualification.d.ts +4 -0
- package/dist/tools/campaign-qualification.d.ts.map +1 -0
- package/dist/tools/campaign-qualification.js +289 -0
- package/dist/tools/campaign-qualification.js.map +1 -0
- package/dist/tools/campaign-spine.d.ts +4 -0
- package/dist/tools/campaign-spine.d.ts.map +1 -0
- package/dist/tools/campaign-spine.js +630 -0
- package/dist/tools/campaign-spine.js.map +1 -0
- package/dist/tools/companies.d.ts +4 -0
- package/dist/tools/companies.d.ts.map +1 -0
- package/dist/tools/companies.js +127 -0
- package/dist/tools/companies.js.map +1 -0
- package/dist/tools/macros.js +1 -1
- package/dist/tools/macros.js.map +1 -1
- package/dist/tools/phone.d.ts.map +1 -1
- package/dist/tools/phone.js +54 -2
- package/dist/tools/phone.js.map +1 -1
- package/dist/tools/reports.d.ts.map +1 -1
- package/dist/tools/reports.js +1 -0
- package/dist/tools/reports.js.map +1 -1
- package/dist/tools/sla.d.ts.map +1 -1
- package/dist/tools/sla.js +3 -3
- package/dist/tools/sla.js.map +1 -1
- package/dist/tools/slack.d.ts +4 -0
- package/dist/tools/slack.d.ts.map +1 -0
- package/dist/tools/slack.js +76 -0
- package/dist/tools/slack.js.map +1 -0
- package/dist/utils/session-channel.d.ts +2 -2
- package/dist/utils/session-channel.d.ts.map +1 -1
- package/dist/utils/session-channel.js +1 -0
- package/dist/utils/session-channel.js.map +1 -1
- package/package.json +1 -1
- package/dist/tools/sequences.d.ts +0 -4
- package/dist/tools/sequences.d.ts.map +0 -1
- package/dist/tools/sequences.js +0 -182
- package/dist/tools/sequences.js.map +0 -1
package/dist/tools/sequences.js
DELETED
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { jsonContent } from '../api-client.js';
|
|
3
|
-
import { jsonValueSchema } from '../utils/json.js';
|
|
4
|
-
const ContactFilterSchema = z
|
|
5
|
-
.union([
|
|
6
|
-
z.object({ type: z.literal('all_contacts') }),
|
|
7
|
-
z.object({
|
|
8
|
-
type: z.literal('contact_id_in'),
|
|
9
|
-
contact_ids: z.array(z.string()).describe('Array of contact UUIDs'),
|
|
10
|
-
}),
|
|
11
|
-
z.object({
|
|
12
|
-
type: z.literal('contacts_email_in'),
|
|
13
|
-
email_in: z.array(z.string()).describe('Array of email addresses'),
|
|
14
|
-
}),
|
|
15
|
-
z.object({
|
|
16
|
-
type: z.literal('contacts_phone_number_in'),
|
|
17
|
-
phone_number_in: z.array(z.string()).describe('Array of phone numbers'),
|
|
18
|
-
}),
|
|
19
|
-
z.object({
|
|
20
|
-
type: z.literal('contacts_email_domain_name_in'),
|
|
21
|
-
domain_name_in: z
|
|
22
|
-
.array(z.string())
|
|
23
|
-
.describe('Array of email domain names (e.g. "example.com")'),
|
|
24
|
-
}),
|
|
25
|
-
z.object({
|
|
26
|
-
type: z.literal('contacts_name_in'),
|
|
27
|
-
name_in: z.array(z.string()).describe('Array of contact names (partial match)'),
|
|
28
|
-
}),
|
|
29
|
-
z.object({
|
|
30
|
-
type: z.literal('contact_belongs_to_segment'),
|
|
31
|
-
segment_id: z.string().describe('Segment ID'),
|
|
32
|
-
}),
|
|
33
|
-
])
|
|
34
|
-
.describe('A single filter condition');
|
|
35
|
-
const SequenceStepActionSchema = z
|
|
36
|
-
.union([
|
|
37
|
-
z.object({
|
|
38
|
-
type: z.literal('send_emails'),
|
|
39
|
-
data: z.object({
|
|
40
|
-
from_email: z.string().describe('Sender email address'),
|
|
41
|
-
email_subject: z.string().describe('Email subject line'),
|
|
42
|
-
email_body: z.string().describe('Email body (HTML supported)'),
|
|
43
|
-
email_sender_name: z.string().describe('Display name of the sender'),
|
|
44
|
-
email_is_transactional: z
|
|
45
|
-
.boolean()
|
|
46
|
-
.describe('If true, this is a transactional email (not marketing)'),
|
|
47
|
-
}),
|
|
48
|
-
}),
|
|
49
|
-
z.object({
|
|
50
|
-
type: z.literal('make_phone_calls'),
|
|
51
|
-
data: z.object({
|
|
52
|
-
aiPhoneAgentId: z.string().describe('ID of the AI phone agent to use for calls'),
|
|
53
|
-
}),
|
|
54
|
-
}),
|
|
55
|
-
z.object({
|
|
56
|
-
type: z.literal('send_sms_messages'),
|
|
57
|
-
data: z.object({
|
|
58
|
-
message: z.string().describe('The SMS message text to send'),
|
|
59
|
-
}),
|
|
60
|
-
}),
|
|
61
|
-
z.object({
|
|
62
|
-
type: z.literal('send_whatsapp_messages'),
|
|
63
|
-
data: z.object({
|
|
64
|
-
phone_number_id: z.string().describe('WhatsApp Business phone number ID'),
|
|
65
|
-
template: z.object({
|
|
66
|
-
name: z.string().describe('Template name'),
|
|
67
|
-
language: z.string().describe('Template language code'),
|
|
68
|
-
parameters: z.record(z.string(), jsonValueSchema).describe('Template parameters mapping'),
|
|
69
|
-
}),
|
|
70
|
-
}),
|
|
71
|
-
}),
|
|
72
|
-
])
|
|
73
|
-
.describe('Use "send_emails" for email, "make_phone_calls" for AI phone agent calls, "send_sms_messages" for SMS, "send_whatsapp_messages" for WhatsApp.');
|
|
74
|
-
const SequenceFilterSchema = z
|
|
75
|
-
.object({
|
|
76
|
-
or: z
|
|
77
|
-
.array(z.object({ and: z.array(ContactFilterSchema) }))
|
|
78
|
-
.nonempty()
|
|
79
|
-
.describe('Array of OR groups, each containing AND conditions'),
|
|
80
|
-
})
|
|
81
|
-
.nullable()
|
|
82
|
-
.describe('Contact filter. Use { or: [{ and: [{ type: "all_contacts" }] }] } for all contacts. ' +
|
|
83
|
-
'Use { or: [{ and: [{ type: "contact_id_in", contact_ids: ["id1"] }] }] } for specific contacts. ' +
|
|
84
|
-
'Pass null to add contacts later via add_contacts_to_sequence.');
|
|
85
|
-
const SequenceStepInputSchema = z.object({
|
|
86
|
-
action: SequenceStepActionSchema,
|
|
87
|
-
delay_in_minutes: z.coerce
|
|
88
|
-
.number()
|
|
89
|
-
.int()
|
|
90
|
-
.min(0)
|
|
91
|
-
.optional()
|
|
92
|
-
.describe('Delay in minutes before executing this step (0 or omit for immediate)'),
|
|
93
|
-
});
|
|
94
|
-
export function registerSequenceTools(server, client) {
|
|
95
|
-
server.registerTool('create_sequence', {
|
|
96
|
-
description: 'Create an outbound AI sequence. Sequences automate multi-step outreach to contacts via email, SMS, phone calls, or WhatsApp. ' +
|
|
97
|
-
'Requires at least one step with an action, and a filter to select target contacts. ' +
|
|
98
|
-
'Use filter { or: [{ and: [{ type: "all_contacts" }] }] } to target all contacts, or pass null and add contacts later with add_contacts_to_sequence.',
|
|
99
|
-
inputSchema: {
|
|
100
|
-
name: z.string().describe('A name for the sequence'),
|
|
101
|
-
custom_id: z.string().optional().describe('Optional custom identifier for this sequence'),
|
|
102
|
-
is_continuous: z
|
|
103
|
-
.boolean()
|
|
104
|
-
.optional()
|
|
105
|
-
.describe('If true, the sequence runs continuously and contacts can be added over time'),
|
|
106
|
-
filter: SequenceFilterSchema,
|
|
107
|
-
steps: z
|
|
108
|
-
.array(SequenceStepInputSchema)
|
|
109
|
-
.nonempty()
|
|
110
|
-
.describe('Ordered steps the sequence will execute. At least one step is required.'),
|
|
111
|
-
},
|
|
112
|
-
}, async (params) => {
|
|
113
|
-
const data = (await client.POST('/sequences', {
|
|
114
|
-
body: {
|
|
115
|
-
...params,
|
|
116
|
-
is_continuous: params.is_continuous ?? true,
|
|
117
|
-
},
|
|
118
|
-
})).data;
|
|
119
|
-
return jsonContent(data);
|
|
120
|
-
});
|
|
121
|
-
server.registerTool('get_sequence', {
|
|
122
|
-
description: 'Get details of a specific outbound sequence, including its steps, status, and whether it is continuous or one-off.',
|
|
123
|
-
inputSchema: { sequence_id: z.string().describe('The sequence ID') },
|
|
124
|
-
}, async ({ sequence_id }) => {
|
|
125
|
-
const data = (await client.GET('/sequences/{sequence_id}', { params: { path: { sequence_id } } })).data;
|
|
126
|
-
return jsonContent(data);
|
|
127
|
-
});
|
|
128
|
-
server.registerTool('update_sequence', {
|
|
129
|
-
description: 'Update an existing sequence configuration. Only provided fields are changed.',
|
|
130
|
-
inputSchema: {
|
|
131
|
-
sequence_id: z.string().describe('The sequence ID to update'),
|
|
132
|
-
name: z.string().optional().describe('New name'),
|
|
133
|
-
custom_id: z.string().optional().describe('New custom identifier'),
|
|
134
|
-
is_continuous: z.boolean().optional().describe('Update continuous mode'),
|
|
135
|
-
filter: SequenceFilterSchema.optional().describe('New contact filter'),
|
|
136
|
-
steps: z
|
|
137
|
-
.array(SequenceStepInputSchema)
|
|
138
|
-
.nonempty()
|
|
139
|
-
.optional()
|
|
140
|
-
.describe('New sequence steps (replaces all existing steps)'),
|
|
141
|
-
},
|
|
142
|
-
}, async ({ sequence_id, ...body }) => {
|
|
143
|
-
const data = (await client.PATCH('/sequences/{sequence_id}', {
|
|
144
|
-
params: { path: { sequence_id } },
|
|
145
|
-
body,
|
|
146
|
-
})).data;
|
|
147
|
-
return jsonContent(data);
|
|
148
|
-
});
|
|
149
|
-
server.registerTool('start_sequence', {
|
|
150
|
-
description: 'Start a sequence. Once started, the sequence will begin executing its steps for the enrolled contacts.',
|
|
151
|
-
inputSchema: { sequence_id: z.string().describe('The sequence ID to start') },
|
|
152
|
-
}, async ({ sequence_id }) => {
|
|
153
|
-
const data = (await client.PUT('/sequences/{sequence_id}/start', { params: { path: { sequence_id } } })).data;
|
|
154
|
-
return jsonContent(data);
|
|
155
|
-
});
|
|
156
|
-
server.registerTool('cancel_sequence', {
|
|
157
|
-
description: 'Cancel a running sequence. Contacts that have not yet been processed will not receive further messages.',
|
|
158
|
-
inputSchema: { sequence_id: z.string().describe('The sequence ID to cancel') },
|
|
159
|
-
}, async ({ sequence_id }) => {
|
|
160
|
-
const data = (await client.PUT('/sequences/{sequence_id}/cancel', { params: { path: { sequence_id } } })).data;
|
|
161
|
-
return jsonContent(data);
|
|
162
|
-
});
|
|
163
|
-
server.registerTool('add_contacts_to_sequence', {
|
|
164
|
-
description: 'Add contacts to a continuous sequence. The contacts will be enrolled and start receiving sequence steps.',
|
|
165
|
-
inputSchema: {
|
|
166
|
-
sequence_id: z.string().describe('The sequence ID'),
|
|
167
|
-
contacts: z
|
|
168
|
-
.array(z.object({
|
|
169
|
-
contact_id: z.string().describe('The contact ID to enroll'),
|
|
170
|
-
}))
|
|
171
|
-
.min(1)
|
|
172
|
-
.describe('List of contacts to add to the sequence'),
|
|
173
|
-
},
|
|
174
|
-
}, async ({ sequence_id, contacts }) => {
|
|
175
|
-
const data = (await client.POST('/sequences/{sequence_id}/contacts', {
|
|
176
|
-
params: { path: { sequence_id } },
|
|
177
|
-
body: { contacts: contacts.map((c) => ({ id: c.contact_id })) },
|
|
178
|
-
})).data;
|
|
179
|
-
return jsonContent(data);
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
//# sourceMappingURL=sequences.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sequences.js","sourceRoot":"","sources":["../../src/tools/sequences.ts"],"names":[],"mappings":"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"}
|