@opencx/mcp 1.15.38 → 1.15.40
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/contact-segments.spec.d.ts +2 -0
- package/dist/contact-segments.spec.d.ts.map +1 -0
- package/dist/contact-segments.spec.js +137 -0
- package/dist/contact-segments.spec.js.map +1 -0
- package/dist/schema.d.ts +1633 -586
- package/dist/schema.d.ts.map +1 -1
- package/dist/server.spec.js +3 -0
- package/dist/server.spec.js.map +1 -1
- package/dist/tools/contact-segment-schemas.d.ts +612 -0
- package/dist/tools/contact-segment-schemas.d.ts.map +1 -0
- package/dist/tools/contact-segment-schemas.js +49 -0
- package/dist/tools/contact-segment-schemas.js.map +1 -0
- 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 +49 -0
- package/dist/tools/contact-segments.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,55 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { jsonContent } from '../api-client.js';
|
|
3
|
+
import { contactSegmentDefinitionSchema } from './contact-segment-schemas.js';
|
|
3
4
|
export function registerContactSegmentTools(server, client) {
|
|
5
|
+
server.registerTool('create_contact_segment', {
|
|
6
|
+
description: 'Create a contact segment from saved filter rules. Requires segments:write. Membership is calculated in the background.',
|
|
7
|
+
inputSchema: {
|
|
8
|
+
name: z.string(),
|
|
9
|
+
description: z
|
|
10
|
+
.string()
|
|
11
|
+
.nullable()
|
|
12
|
+
.optional()
|
|
13
|
+
.describe('Optional description; defaults to null'),
|
|
14
|
+
definition: contactSegmentDefinitionSchema,
|
|
15
|
+
},
|
|
16
|
+
}, async (params) => {
|
|
17
|
+
const body = { ...params, description: params.description ?? null };
|
|
18
|
+
const { data } = await client.POST('/contacts/segments', { body });
|
|
19
|
+
return jsonContent(data);
|
|
20
|
+
});
|
|
21
|
+
server.registerTool('update_contact_segment', {
|
|
22
|
+
description: 'Update a contact segment. Supply at least one field; omitted fields stay unchanged. Definition replaces the complete filter rules and recalculates membership in the background when changed. Requires segments:write.',
|
|
23
|
+
inputSchema: z
|
|
24
|
+
.object({
|
|
25
|
+
segment_id: z.string().uuid(),
|
|
26
|
+
name: z.string().optional(),
|
|
27
|
+
description: z
|
|
28
|
+
.string()
|
|
29
|
+
.nullable()
|
|
30
|
+
.optional()
|
|
31
|
+
.describe('Pass null to clear the description'),
|
|
32
|
+
definition: contactSegmentDefinitionSchema.optional(),
|
|
33
|
+
})
|
|
34
|
+
.refine(({ name, description, definition }) => name !== undefined || description !== undefined || definition !== undefined, {
|
|
35
|
+
message: 'Provide at least one of name, description, or definition',
|
|
36
|
+
}),
|
|
37
|
+
}, async ({ segment_id, ...fields }) => {
|
|
38
|
+
const body = fields;
|
|
39
|
+
const { data } = await client.PATCH('/contacts/segments/{segment_id}', {
|
|
40
|
+
params: { path: { segment_id } },
|
|
41
|
+
body,
|
|
42
|
+
});
|
|
43
|
+
return jsonContent(data);
|
|
44
|
+
});
|
|
45
|
+
server.registerTool('delete_contact_segment', {
|
|
46
|
+
description: 'Permanently delete a segment and its stored memberships. Contacts are retained; references in other configurations are not rewritten. Requires segments:write.',
|
|
47
|
+
inputSchema: { segment_id: z.string().uuid() },
|
|
48
|
+
annotations: { destructiveHint: true },
|
|
49
|
+
}, async ({ segment_id }) => {
|
|
50
|
+
await client.DELETE('/contacts/segments/{segment_id}', { params: { path: { segment_id } } });
|
|
51
|
+
return jsonContent({ success: true });
|
|
52
|
+
});
|
|
4
53
|
server.registerTool('list_contact_segments', {
|
|
5
54
|
description: 'List contact segments defined in your organization. Segments are saved filter criteria over contacts (e.g. "VIP customers", "Trial users"). Returns paginated definitions including the underlying filter rules.',
|
|
6
55
|
inputSchema: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contact-segments.js","sourceRoot":"","sources":["../../src/tools/contact-segments.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"contact-segments.js","sourceRoot":"","sources":["../../src/tools/contact-segments.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED