@opencx/mcp 1.15.62 → 1.15.63
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/schema.d.ts +363 -3
- package/dist/schema.d.ts.map +1 -1
- package/dist/tools/macros.d.ts.map +1 -1
- package/dist/tools/macros.js +88 -2
- package/dist/tools/macros.js.map +1 -1
- package/dist/tools/macros.spec.js +101 -1
- package/dist/tools/macros.spec.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"macros.d.ts","sourceRoot":"","sources":["../../src/tools/macros.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"macros.d.ts","sourceRoot":"","sources":["../../src/tools/macros.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AA4DrD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAyNzE"}
|
package/dist/tools/macros.js
CHANGED
|
@@ -25,7 +25,18 @@ const macroBodySchema = {
|
|
|
25
25
|
title: z.string().describe('Macro display title shown in the inbox macro picker.'),
|
|
26
26
|
content: z.string().describe(macroContentDescription),
|
|
27
27
|
options: macroOptionsSchema.optional(),
|
|
28
|
+
exclude_from_suggestions: z
|
|
29
|
+
.boolean()
|
|
30
|
+
.optional()
|
|
31
|
+
.describe('When true, this macro is never suggested to agents (they can still search for it and use it). Defaults to false.'),
|
|
32
|
+
};
|
|
33
|
+
const macroSettingsInput = {
|
|
34
|
+
translation_languages: z
|
|
35
|
+
.array(z.string())
|
|
36
|
+
.max(10)
|
|
37
|
+
.describe('The FULL list of language codes (lower-case, such as `es`; at most 10, each one of `supported_translation_languages` from get_macro_settings, no repeats) to translate every org-wide macro into. It REPLACES the current list: call get_macro_settings first and send every language to keep. `[]` turns macro translation off.'),
|
|
28
38
|
};
|
|
39
|
+
z.object(macroSettingsInput);
|
|
29
40
|
export function registerMacroTools(server, client) {
|
|
30
41
|
server.registerTool('list_macros', {
|
|
31
42
|
description: 'List all macros (saved replies) for your organization. Macros are reusable agent-reply templates that support {{variable}} placeholders. Each macro may carry attachments (read-only here — authored in the OpenCX dashboard) and up to 3 tappable options (set with create_macro / update_macro).',
|
|
@@ -51,8 +62,82 @@ export function registerMacroTools(server, client) {
|
|
|
51
62
|
const data = (await client.GET('/macros/variables')).data;
|
|
52
63
|
return jsonContent(data);
|
|
53
64
|
});
|
|
65
|
+
server.registerTool('list_macro_suggestion_insights', {
|
|
66
|
+
description: "How each org-wide macro is doing as a suggested macro over the last 30 days: how often it was shown, used from the suggestions (`applied`), or reached for by search instead (`missed`), its `hit_rate`, the `threshold` it has to clear, and its `state`: `learning` (not enough use yet), `steady`, `proven` (agents use it, so it is suggested earlier), `muted` (shown often and never used, so it needs a higher bar), or `off` (the macro is excluded from suggestions or suggested macros are off for the workspace). Set `include_weekly` for 12 weekly counts per macro. Personal macros are not included. Macros excluded from suggestions with no activity in the last 30 days are left out. Change a macro's exclusion with update_macro.",
|
|
67
|
+
inputSchema: {
|
|
68
|
+
include_weekly: z
|
|
69
|
+
.boolean()
|
|
70
|
+
.optional()
|
|
71
|
+
.describe('Also return 12 weekly counts per macro, oldest first.'),
|
|
72
|
+
},
|
|
73
|
+
annotations: { title: 'List macro suggestion insights', readOnlyHint: true },
|
|
74
|
+
}, async ({ include_weekly }) => {
|
|
75
|
+
const data = (await client.GET('/macros/suggestion-insights', {
|
|
76
|
+
params: {
|
|
77
|
+
query: include_weekly === undefined
|
|
78
|
+
? {}
|
|
79
|
+
: { include_weekly: include_weekly ? 'true' : 'false' },
|
|
80
|
+
},
|
|
81
|
+
})).data;
|
|
82
|
+
return jsonContent(data);
|
|
83
|
+
});
|
|
84
|
+
server.registerTool('get_macro_suggestion_insights', {
|
|
85
|
+
description: 'How one org-wide macro is doing as a suggested macro over the last 30 days, with 12 weekly counts (oldest first): `shown`, `applied` (used from the suggestions), `missed` (reached for by search instead), `hit_rate`, the `threshold` it has to clear, and its `state`: `learning`, `steady`, `proven`, `muted`, or `off` (excluded from suggestions, or suggested macros are off for the workspace). See list_macro_suggestion_insights for what each state means.',
|
|
86
|
+
inputSchema: {
|
|
87
|
+
id: z.string().describe('Macro ID'),
|
|
88
|
+
},
|
|
89
|
+
annotations: { title: 'Get macro suggestion insights', readOnlyHint: true },
|
|
90
|
+
}, async ({ id }) => {
|
|
91
|
+
const data = (await client.GET('/macros/{id}/suggestion-insights', { params: { path: { id } } })).data;
|
|
92
|
+
return jsonContent(data);
|
|
93
|
+
});
|
|
94
|
+
server.registerTool('get_macro_settings', {
|
|
95
|
+
description: 'Get the macro settings: `translation_languages` (the languages every org-wide macro is translated into, in the order chosen; empty means translation is off), `max_translation_languages`, `supported_translation_languages` (the language codes that can be chosen), and `suggestions_enabled` (whether suggested macros are on for the workspace). Change the languages with update_macro_settings; the suggestions switch is read-only here.',
|
|
96
|
+
annotations: { title: 'Get macro settings', readOnlyHint: true },
|
|
97
|
+
}, async () => {
|
|
98
|
+
const data = (await client.GET('/macros/settings')).data;
|
|
99
|
+
return jsonContent(data);
|
|
100
|
+
});
|
|
101
|
+
server.registerTool('update_macro_settings', {
|
|
102
|
+
description: 'Choose the languages org-wide macros are translated into (`translation_languages`). IMPORTANT: choosing a new translation language translates EVERY org macro into it. Confirm the languages with the user first, and tell them how many macros exist (count them with list_macros). At most 10 languages, each from `supported_translation_languages` in get_macro_settings. The call REPLACES the whole list, so read get_macro_settings first and send the full list you want; languages already chosen are not translated again, and an empty list turns translation off. Translations are read-only generated copies: edit the macro and they refresh (see get_macro_translations / retranslate_macro). Variables like {{contact.full_name}} are never translated. The workspace suggested-macros switch (`suggestions_enabled` in get_macro_settings) is read-only here and is changed in Settings → Workspace. Returns the new settings.',
|
|
103
|
+
inputSchema: macroSettingsInput,
|
|
104
|
+
annotations: { title: 'Update macro settings', destructiveHint: true },
|
|
105
|
+
}, async (body) => {
|
|
106
|
+
const data = (await client.PUT('/macros/settings', { body })).data;
|
|
107
|
+
return jsonContent(data);
|
|
108
|
+
});
|
|
109
|
+
server.registerTool('get_macro_translations', {
|
|
110
|
+
description: "Get one org-wide macro's translation into each selected language: per language its `status` (`ready`, `pending` while it is being translated or after the macro changed, or `failed`) and the translated `title`, `content` and option labels (empty until `ready`), plus the macro's own `source_language`, which gets no translation. Translations are read-only generated copies: edit the macro and they refresh. Personal macros are not included.",
|
|
111
|
+
inputSchema: {
|
|
112
|
+
id: z.string().describe('Macro ID'),
|
|
113
|
+
},
|
|
114
|
+
annotations: { title: 'Get macro translations', readOnlyHint: true },
|
|
115
|
+
}, async ({ id }) => {
|
|
116
|
+
const data = (await client.GET('/macros/{id}/translations', { params: { path: { id } } }))
|
|
117
|
+
.data;
|
|
118
|
+
return jsonContent(data);
|
|
119
|
+
});
|
|
120
|
+
server.registerTool('retranslate_macro', {
|
|
121
|
+
description: 'Translate one org-wide macro again into the listed languages, or into every selected language when `languages` is left out (failed ones included). Returns `queued_languages`, the languages now waiting. Fails when no translation languages are selected (see update_macro_settings) a listed language is not one of them, or the macro has no translation in a listed language (such as its own). Check progress with get_macro_translations.',
|
|
122
|
+
inputSchema: {
|
|
123
|
+
id: z.string().describe('Macro ID'),
|
|
124
|
+
languages: z
|
|
125
|
+
.array(z.string())
|
|
126
|
+
.min(1)
|
|
127
|
+
.max(10)
|
|
128
|
+
.optional()
|
|
129
|
+
.describe('Language codes to translate again; each must be one of the selected `translation_languages`. Omit for all of them.'),
|
|
130
|
+
},
|
|
131
|
+
annotations: { title: 'Retranslate macro', destructiveHint: true },
|
|
132
|
+
}, async ({ id, ...body }) => {
|
|
133
|
+
const data = (await client.POST('/macros/{id}/translations/retranslate', {
|
|
134
|
+
params: { path: { id } },
|
|
135
|
+
body,
|
|
136
|
+
})).data;
|
|
137
|
+
return jsonContent(data);
|
|
138
|
+
});
|
|
54
139
|
server.registerTool('create_macro', {
|
|
55
|
-
description: 'Create an org-wide macro (saved reply). Use {{variable}} syntax in content to reference system or custom variables (see list_macro_variables). Optionally add up to 3 tappable options. Attachments cannot be added here — they are authored in the OpenCX dashboard.',
|
|
140
|
+
description: 'Create an org-wide macro (saved reply). Use {{variable}} syntax in content to reference system or custom variables (see list_macro_variables). Optionally add up to 3 tappable options, and set `exclude_from_suggestions` to keep it out of suggested macros. Attachments cannot be added here — they are authored in the OpenCX dashboard.',
|
|
56
141
|
inputSchema: macroBodySchema,
|
|
57
142
|
annotations: { title: 'Create macro', destructiveHint: false },
|
|
58
143
|
}, async (params) => {
|
|
@@ -60,13 +145,14 @@ export function registerMacroTools(server, client) {
|
|
|
60
145
|
return jsonContent(data);
|
|
61
146
|
});
|
|
62
147
|
server.registerTool('update_macro', {
|
|
63
|
-
description: 'Partially update an org-wide macro (saved reply) by ID. Only provided fields are changed. `options` replaces the whole list: pass each option to keep with its `id`, leave an option out to remove it, `[]` removes all; omit `options` to leave them untouched. Attachments cannot be changed here (dashboard-authored); text-only updates leave them untouched.',
|
|
148
|
+
description: 'Partially update an org-wide macro (saved reply) by ID. Only provided fields are changed. `options` replaces the whole list: pass each option to keep with its `id`, leave an option out to remove it, `[]` removes all; omit `options` to leave them untouched. `exclude_from_suggestions` controls whether the macro is ever suggested to agents. Attachments cannot be changed here (dashboard-authored); text-only updates leave them untouched.',
|
|
64
149
|
inputSchema: {
|
|
65
150
|
id: z.string().describe('Macro ID'),
|
|
66
151
|
category: macroBodySchema.category.optional(),
|
|
67
152
|
title: macroBodySchema.title.optional(),
|
|
68
153
|
content: macroBodySchema.content.optional(),
|
|
69
154
|
options: macroOptionsSchema.optional(),
|
|
155
|
+
exclude_from_suggestions: macroBodySchema.exclude_from_suggestions.describe('When true, this macro is never suggested to agents (they can still search for it and use it). Omit to leave it as it is.'),
|
|
70
156
|
},
|
|
71
157
|
annotations: { title: 'Update macro', destructiveHint: true },
|
|
72
158
|
}, async ({ id, ...body }) => {
|
package/dist/tools/macros.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"macros.js","sourceRoot":"","sources":["../../src/tools/macros.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/C,MAAM,uBAAuB,GAC3B,0oBAA0oB,CAAC;AAE7oB,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,UAAU,CAE3C,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC;KACzB,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;IACP,EAAE,EAAE,CAAC;SACF,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,mIAAmI,CACpI;IACH,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,CAAC,yEAAyE,CAAC;IACtF,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,gBAAgB,CAAC;SACtB,QAAQ,CACP,4JAA4J,CAC7J;CACJ,CAAC,CACH;KACA,GAAG,CAAC,CAAC,CAAC;KACN,QAAQ,CACP,+IAA+I,CAC5E,CAAC;AAExE,MAAM,eAAe,GAAG;IACtB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;IAC/F,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IAClF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACrD,OAAO,EAAE,kBAAkB,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"macros.js","sourceRoot":"","sources":["../../src/tools/macros.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ const macro = {
|
|
|
11
11
|
{ id: 'opt-no', label: 'No', type: 'text' },
|
|
12
12
|
],
|
|
13
13
|
};
|
|
14
|
-
describe('macro
|
|
14
|
+
describe('macro tools', () => {
|
|
15
15
|
let connection;
|
|
16
16
|
let requests;
|
|
17
17
|
let responses;
|
|
@@ -87,6 +87,106 @@ describe('macro option tools', () => {
|
|
|
87
87
|
});
|
|
88
88
|
expect(await requests.at(1)?.json()).toEqual({ title: 'Account access v2' });
|
|
89
89
|
});
|
|
90
|
+
it('create_macro and update_macro send exclude_from_suggestions only when given', async () => {
|
|
91
|
+
responses.push(Response.json(macro, { status: 201 }), Response.json(macro), Response.json(macro));
|
|
92
|
+
await connection.client.callTool({
|
|
93
|
+
name: 'create_macro',
|
|
94
|
+
arguments: {
|
|
95
|
+
title: 'Account access',
|
|
96
|
+
category: 'general',
|
|
97
|
+
content: '<p>Hi</p>',
|
|
98
|
+
exclude_from_suggestions: true,
|
|
99
|
+
},
|
|
100
|
+
});
|
|
101
|
+
await connection.client.callTool({
|
|
102
|
+
name: 'update_macro',
|
|
103
|
+
arguments: { id: 'macro-1', exclude_from_suggestions: false },
|
|
104
|
+
});
|
|
105
|
+
await connection.client.callTool({
|
|
106
|
+
name: 'update_macro',
|
|
107
|
+
arguments: { id: 'macro-1', title: 'Account access v2' },
|
|
108
|
+
});
|
|
109
|
+
expect(await requests.at(0)?.json()).toEqual({
|
|
110
|
+
title: 'Account access',
|
|
111
|
+
category: 'general',
|
|
112
|
+
content: '<p>Hi</p>',
|
|
113
|
+
exclude_from_suggestions: true,
|
|
114
|
+
});
|
|
115
|
+
expect(await requests.at(1)?.json()).toEqual({ exclude_from_suggestions: false });
|
|
116
|
+
expect(await requests.at(2)?.json()).toEqual({ title: 'Account access v2' });
|
|
117
|
+
});
|
|
118
|
+
it.each([
|
|
119
|
+
['list_macro_suggestion_insights', {}, '/macros/suggestion-insights'],
|
|
120
|
+
[
|
|
121
|
+
'list_macro_suggestion_insights',
|
|
122
|
+
{ include_weekly: true },
|
|
123
|
+
'/macros/suggestion-insights?include_weekly=true',
|
|
124
|
+
],
|
|
125
|
+
['get_macro_suggestion_insights', { id: 'macro-1' }, '/macros/macro-1/suggestion-insights'],
|
|
126
|
+
['get_macro_settings', {}, '/macros/settings'],
|
|
127
|
+
['get_macro_translations', { id: 'macro-1' }, '/macros/macro-1/translations'],
|
|
128
|
+
])('%s %j reads %s', async (name, args, path) => {
|
|
129
|
+
responses.push(Response.json({}));
|
|
130
|
+
const result = toolTextResultSchema.parse(await connection.client.callTool({ name, arguments: args }));
|
|
131
|
+
expect(result.isError).not.toBe(true);
|
|
132
|
+
expect(requests.map((request) => [request.method, request.url])).toEqual([
|
|
133
|
+
['GET', `https://api.test.com${path}`],
|
|
134
|
+
]);
|
|
135
|
+
});
|
|
136
|
+
it('update_macro_settings replaces the language list and never forwards the workspace suggestions switch', async () => {
|
|
137
|
+
responses.push(Response.json({}), Response.json({}));
|
|
138
|
+
await connection.client.callTool({
|
|
139
|
+
name: 'update_macro_settings',
|
|
140
|
+
arguments: { translation_languages: ['es', 'fr'], suggestions_enabled: false },
|
|
141
|
+
});
|
|
142
|
+
await connection.client.callTool({
|
|
143
|
+
name: 'update_macro_settings',
|
|
144
|
+
arguments: { translation_languages: [] }, // an empty list turns translation off: it must be sent
|
|
145
|
+
});
|
|
146
|
+
expect(requests.map((request) => [request.method, request.url])).toEqual([
|
|
147
|
+
['PUT', 'https://api.test.com/macros/settings'],
|
|
148
|
+
['PUT', 'https://api.test.com/macros/settings'],
|
|
149
|
+
]);
|
|
150
|
+
expect(await requests.at(0)?.json()).toEqual({ translation_languages: ['es', 'fr'] });
|
|
151
|
+
expect(await requests.at(1)?.json()).toEqual({ translation_languages: [] });
|
|
152
|
+
// the switch alone is not a valid call: nothing more goes out (the two calls above are the control)
|
|
153
|
+
const switchOnly = await connection.client.callTool({
|
|
154
|
+
name: 'update_macro_settings',
|
|
155
|
+
arguments: { suggestions_enabled: true },
|
|
156
|
+
});
|
|
157
|
+
expect(switchOnly.isError).toBe(true);
|
|
158
|
+
expect(requests).toHaveLength(2);
|
|
159
|
+
});
|
|
160
|
+
it('update_macro_settings rejects more than 10 languages before calling the API', async () => {
|
|
161
|
+
const languages = ['es', 'fr', 'de', 'it', 'pt', 'ja', 'ko', 'zh', 'hi', 'tr'];
|
|
162
|
+
const refused = await connection.client.callTool({
|
|
163
|
+
name: 'update_macro_settings',
|
|
164
|
+
arguments: { translation_languages: [...languages, 'ar'] },
|
|
165
|
+
});
|
|
166
|
+
expect(refused.isError).toBe(true);
|
|
167
|
+
expect(requests).toHaveLength(0);
|
|
168
|
+
// positive control: exactly 10 reaches the API
|
|
169
|
+
responses.push(Response.json({}));
|
|
170
|
+
await connection.client.callTool({
|
|
171
|
+
name: 'update_macro_settings',
|
|
172
|
+
arguments: { translation_languages: languages },
|
|
173
|
+
});
|
|
174
|
+
expect(requests).toHaveLength(1);
|
|
175
|
+
});
|
|
176
|
+
it('retranslate_macro posts the languages when given and an empty body when not', async () => {
|
|
177
|
+
responses.push(Response.json({ queued_languages: ['fr'] }, { status: 202 }), Response.json({ queued_languages: ['es', 'fr'] }, { status: 202 }));
|
|
178
|
+
await connection.client.callTool({
|
|
179
|
+
name: 'retranslate_macro',
|
|
180
|
+
arguments: { id: 'macro-1', languages: ['fr'] },
|
|
181
|
+
});
|
|
182
|
+
await connection.client.callTool({ name: 'retranslate_macro', arguments: { id: 'macro-1' } });
|
|
183
|
+
expect(requests.map((request) => [request.method, request.url])).toEqual([
|
|
184
|
+
['POST', 'https://api.test.com/macros/macro-1/translations/retranslate'],
|
|
185
|
+
['POST', 'https://api.test.com/macros/macro-1/translations/retranslate'],
|
|
186
|
+
]);
|
|
187
|
+
expect(await requests.at(0)?.json()).toEqual({ languages: ['fr'] });
|
|
188
|
+
expect(await requests.at(1)?.json()).toEqual({});
|
|
189
|
+
});
|
|
90
190
|
it.each([
|
|
91
191
|
['more than 3 options', ['A', 'B', 'C', 'D'].map((label) => ({ label, type: 'text' }))],
|
|
92
192
|
['a label over 20 characters', [{ label: 'x'.repeat(21), type: 'text' }]],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"macros.spec.js","sourceRoot":"","sources":["../../src/tools/macros.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE3E,MAAM,KAAK,GAAG;IACZ,EAAE,EAAE,SAAS;IACb,KAAK,EAAE,gBAAgB;IACvB,QAAQ,EAAE,SAAS;IACnB,OAAO,EAAE,oCAAoC;IAC7C,WAAW,EAAE,EAAE;IACf,OAAO,EAAE;QACP,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE;QACjD,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE;KAC5C;CACF,CAAC;AAEF,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"macros.spec.js","sourceRoot":"","sources":["../../src/tools/macros.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED