@opencx/mcp 1.15.51 → 1.15.53
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/email-tools.spec.js +24 -0
- package/dist/email-tools.spec.js.map +1 -1
- package/dist/schema.d.ts +250 -10
- package/dist/schema.d.ts.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +2 -0
- package/dist/server.js.map +1 -1
- package/dist/tools/email.d.ts.map +1 -1
- package/dist/tools/email.js +8 -3
- package/dist/tools/email.js.map +1 -1
- package/dist/tools/structured-fields.d.ts.map +1 -1
- package/dist/tools/structured-fields.js +54 -2
- package/dist/tools/structured-fields.js.map +1 -1
- package/dist/tools/team-settings.d.ts +4 -0
- package/dist/tools/team-settings.d.ts.map +1 -0
- package/dist/tools/team-settings.js +62 -0
- package/dist/tools/team-settings.js.map +1 -0
- package/dist/tools/team-settings.spec.d.ts +2 -0
- package/dist/tools/team-settings.spec.d.ts.map +1 -0
- package/dist/tools/team-settings.spec.js +148 -0
- package/dist/tools/team-settings.spec.js.map +1 -0
- package/package.json +1 -1
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2DpE,MAAM,WAAW,mBAAmB;IAClC,6FAA6F;IAC7F,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,mBAAwB,GAChC,SAAS,CAsEX"}
|
package/dist/server.js
CHANGED
|
@@ -17,6 +17,7 @@ import { registerKnowledgebaseTools } from './tools/knowledgebase.js';
|
|
|
17
17
|
import { registerInsightTools } from './tools/insights.js';
|
|
18
18
|
import { registerMediaTools } from './tools/media.js';
|
|
19
19
|
import { registerTeamTools } from './tools/teams.js';
|
|
20
|
+
import { registerTeamSettingsTools } from './tools/team-settings.js';
|
|
20
21
|
import { registerEmailTools } from './tools/email.js';
|
|
21
22
|
import { registerEmailTemplateTools } from './tools/email-templates.js';
|
|
22
23
|
import { registerMacroTools } from './tools/macros.js';
|
|
@@ -80,6 +81,7 @@ export function createServer(apiKey, baseUrl, options = {}) {
|
|
|
80
81
|
registerInsightTools(server, client);
|
|
81
82
|
registerMediaTools(server, client);
|
|
82
83
|
registerTeamTools(server, client);
|
|
84
|
+
registerTeamSettingsTools(server, client);
|
|
83
85
|
registerEmailTools(server, client);
|
|
84
86
|
registerEmailTemplateTools(server, client);
|
|
85
87
|
registerMacroTools(server, client);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,sCAAsC,EAAE,MAAM,0CAA0C,CAAC;AAClG,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,kCAAkC,EAAE,MAAM,mCAAmC,CAAC;AACvF,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,oCAAoC,EAAE,MAAM,qCAAqC,CAAC;AAC3F,OAAO,EAAE,8BAA8B,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAa9D,MAAM,UAAU,YAAY,CAC1B,MAAc,EACd,OAAe,EACf,UAA+B,EAAE;IAEjC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE;QACjD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;KAC7C,CAAC,CAAC;IAEH,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,+BAA+B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,2BAA2B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,sCAAsC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,4BAA4B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,6BAA6B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,+BAA+B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,8BAA8B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,kCAAkC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,4BAA4B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,oCAAoC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrD,8BAA8B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/C,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,0BAA0B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,sBAAsB,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAEpE,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../src/tools/email.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":"email.d.ts","sourceRoot":"","sources":["../../src/tools/email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAOrD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA8HzE"}
|
package/dist/tools/email.js
CHANGED
|
@@ -61,7 +61,7 @@ export function registerEmailTools(server, client) {
|
|
|
61
61
|
return jsonContent(data);
|
|
62
62
|
});
|
|
63
63
|
server.registerTool('list_email_domains', {
|
|
64
|
-
description: 'List all custom email sending domains configured for your organization, including their verification status.',
|
|
64
|
+
description: 'List all custom email sending domains configured for your organization, including their verification status and saved sending region when available.',
|
|
65
65
|
}, async () => {
|
|
66
66
|
const data = (await client.GET('/email/domains')).data;
|
|
67
67
|
return jsonContent(data);
|
|
@@ -70,9 +70,14 @@ export function registerEmailTools(server, client) {
|
|
|
70
70
|
description: 'Add a custom domain for sending emails. Returns DNS records that must be configured for verification.',
|
|
71
71
|
inputSchema: {
|
|
72
72
|
domain_name: z.string().describe('The domain name to add (e.g. "example.com")'),
|
|
73
|
+
region: z
|
|
74
|
+
.enum(['eu-west-1', 'us-east-1'])
|
|
75
|
+
.optional()
|
|
76
|
+
.describe('Sending region: eu-west-1 for EU (Ireland), or us-east-1 for US (North Virginia). Defaults to EU for new domains. Cannot be changed after creation.'),
|
|
73
77
|
},
|
|
74
|
-
}, async ({ domain_name }) => {
|
|
75
|
-
const
|
|
78
|
+
}, async ({ domain_name, region }) => {
|
|
79
|
+
const body = { domainName: domain_name, region };
|
|
80
|
+
const data = (await client.PUT('/email/domains', { body })).data;
|
|
76
81
|
return jsonContent(data);
|
|
77
82
|
});
|
|
78
83
|
server.registerTool('verify_email_domain', {
|
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,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/tools/email.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structured-fields.d.ts","sourceRoot":"","sources":["../../src/tools/structured-fields.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":"structured-fields.d.ts","sourceRoot":"","sources":["../../src/tools/structured-fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAmCrD,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAsOnF"}
|
|
@@ -16,9 +16,14 @@ const showWhenSchema = z
|
|
|
16
16
|
})
|
|
17
17
|
.nullable()
|
|
18
18
|
.describe('Dependent-field rule: the field applies to a session only while the parent holds one of `values`. Chains are allowed up to 5 levels, never a cycle. Hidden = not applicable: it holds no value, rejects every write, and is never required to close. Adding or changing a rule drops stored values that no longer apply. Pass null to remove the rule. Use this instead of nesting Choices when a second question should appear after a first answer.');
|
|
19
|
+
const groupIdSchema = z
|
|
20
|
+
.string()
|
|
21
|
+
.uuid()
|
|
22
|
+
.nullable()
|
|
23
|
+
.describe('Structured field group to file this field under (from list_structured_field_groups), or null for ungrouped. Groups only organize fields. A `show_when` rule may only link fields of the same group.');
|
|
19
24
|
export function registerStructuredFieldTools(server, client) {
|
|
20
25
|
server.registerTool('list_structured_fields', {
|
|
21
|
-
description: 'List every Structured Field for the organization. An "enum" field carries its full Choice tree, while a "user"/"team"/"tag" field carries live organization records in `system_options`. `show_when_field_id` + `show_when_values` describe a dependent-field rule (null = always applies).',
|
|
26
|
+
description: 'List every Structured Field for the organization. An "enum" field carries its full Choice tree, while a "user"/"team"/"tag" field carries live organization records in `system_options`. `show_when_field_id` + `show_when_values` describe a dependent-field rule (null = always applies). `group_id` is the structured field group the field is filed under (null = ungrouped).',
|
|
22
27
|
}, async () => {
|
|
23
28
|
const data = (await client.GET('/structured-fields')).data;
|
|
24
29
|
return jsonContent(data);
|
|
@@ -36,18 +41,20 @@ export function registerStructuredFieldTools(server, client) {
|
|
|
36
41
|
.optional()
|
|
37
42
|
.describe(typeDescription),
|
|
38
43
|
show_when: showWhenSchema.optional(),
|
|
44
|
+
group_id: groupIdSchema.optional(),
|
|
39
45
|
},
|
|
40
46
|
}, async (params) => {
|
|
41
47
|
const data = (await client.POST('/structured-fields', { body: params })).data;
|
|
42
48
|
return jsonContent(data);
|
|
43
49
|
});
|
|
44
50
|
server.registerTool('update_structured_field', {
|
|
45
|
-
description: 'Rename or redescribe a Structured Field,
|
|
51
|
+
description: 'Rename or redescribe a Structured Field, set/remove its dependent-field rule (`show_when`), or move it to another group (`group_id`). A field linked by a `show_when` rule cannot leave its group: remove the rule, move each field, then add the rule back. The key and type are immutable, and definitions never include a default value.',
|
|
46
52
|
inputSchema: {
|
|
47
53
|
field_id: z.string().uuid().describe('Structured Field ID'),
|
|
48
54
|
name: z.string().optional(),
|
|
49
55
|
description: z.string().optional(),
|
|
50
56
|
show_when: showWhenSchema.optional(),
|
|
57
|
+
group_id: groupIdSchema.optional(),
|
|
51
58
|
},
|
|
52
59
|
}, async ({ field_id, ...body }) => {
|
|
53
60
|
const data = (await client.PATCH('/structured-fields/{fieldId}', {
|
|
@@ -118,5 +125,50 @@ export function registerStructuredFieldTools(server, client) {
|
|
|
118
125
|
})).data;
|
|
119
126
|
return jsonContent(data);
|
|
120
127
|
});
|
|
128
|
+
server.registerTool('list_structured_field_groups', {
|
|
129
|
+
description: 'List the organization’s Structured Field groups (e.g. "QA", "Session details") in display order. A field’s `group_id` points at one of these; null means ungrouped.',
|
|
130
|
+
}, async () => {
|
|
131
|
+
const data = (await client.GET('/structured-fields/groups')).data;
|
|
132
|
+
return jsonContent(data);
|
|
133
|
+
});
|
|
134
|
+
server.registerTool('create_structured_field_group', {
|
|
135
|
+
description: 'Create a named group to organize Structured Fields. Names are unique per organization, case-insensitively. Groups only organize fields: a field behaves the same in any group.',
|
|
136
|
+
inputSchema: {
|
|
137
|
+
name: z.string().describe('Display name shown in the dashboard.'),
|
|
138
|
+
description: z
|
|
139
|
+
.string()
|
|
140
|
+
.nullable()
|
|
141
|
+
.optional()
|
|
142
|
+
.describe('What the group is for, shown under its name. Optional.'),
|
|
143
|
+
},
|
|
144
|
+
}, async (body) => {
|
|
145
|
+
const data = (await client.POST('/structured-fields/groups', { body })).data;
|
|
146
|
+
return jsonContent(data);
|
|
147
|
+
});
|
|
148
|
+
server.registerTool('update_structured_field_group', {
|
|
149
|
+
description: 'Rename a Structured Field group or change its description (null or blank removes it).',
|
|
150
|
+
inputSchema: {
|
|
151
|
+
group_id: z.string().uuid().describe('Structured Field group ID'),
|
|
152
|
+
name: z.string().optional(),
|
|
153
|
+
description: z.string().nullable().optional(),
|
|
154
|
+
},
|
|
155
|
+
}, async ({ group_id, ...body }) => {
|
|
156
|
+
const data = (await client.PATCH('/structured-fields/groups/{groupId}', {
|
|
157
|
+
params: { path: { groupId: group_id } },
|
|
158
|
+
body,
|
|
159
|
+
})).data;
|
|
160
|
+
return jsonContent(data);
|
|
161
|
+
});
|
|
162
|
+
server.registerTool('delete_structured_field_group', {
|
|
163
|
+
description: 'Delete a Structured Field group. It must hold no fields first — move each field to another group (or null) with update_structured_field, or delete it.',
|
|
164
|
+
inputSchema: {
|
|
165
|
+
group_id: z.string().uuid().describe('Structured Field group ID'),
|
|
166
|
+
},
|
|
167
|
+
}, async ({ group_id }) => {
|
|
168
|
+
const data = (await client.DELETE('/structured-fields/groups/{groupId}', {
|
|
169
|
+
params: { path: { groupId: group_id } },
|
|
170
|
+
})).data;
|
|
171
|
+
return jsonContent(data);
|
|
172
|
+
});
|
|
121
173
|
}
|
|
122
174
|
//# sourceMappingURL=structured-fields.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structured-fields.js","sourceRoot":"","sources":["../../src/tools/structured-fields.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,MAAM,cAAc,GAClB,4LAA4L,CAAC;AAC/L,MAAM,gBAAgB,GACpB,0LAA0L,CAAC;AAC7L,MAAM,eAAe,GACnB,wOAAwO,CAAC;AAE3O,MAAM,cAAc,GAAG,CAAC;KACrB,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,CAAC,iEAAiE,CAAC;IAC9E,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACP,uGAAuG,CACxG;CACJ,CAAC;KACD,QAAQ,EAAE;KACV,QAAQ,CACP,ubAAub,CACxb,CAAC;AAEJ,MAAM,UAAU,4BAA4B,CAAC,MAAiB,EAAE,MAAoB;IAClF,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"structured-fields.js","sourceRoot":"","sources":["../../src/tools/structured-fields.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
import type { OpenCXClient } from '../api-client.js';
|
|
3
|
+
export declare function registerTeamSettingsTools(server: McpServer, client: OpenCXClient): void;
|
|
4
|
+
//# sourceMappingURL=team-settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"team-settings.d.ts","sourceRoot":"","sources":["../../src/tools/team-settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAUrD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA+DhF"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { jsonContent } from '../api-client.js';
|
|
3
|
+
const distributions = [
|
|
4
|
+
'fewest_answered_today',
|
|
5
|
+
'longest_available',
|
|
6
|
+
];
|
|
7
|
+
export function registerTeamSettingsTools(server, client) {
|
|
8
|
+
server.registerTool('update_team_settings', {
|
|
9
|
+
description: 'Update support enablement and telephony settings for an existing team. Omitted settings stay unchanged. Requires teams:read and teams:write. Does not change membership, availability, or organization-wide auto-answer. Use get_team to review current settings first.',
|
|
10
|
+
inputSchema: {
|
|
11
|
+
team_id: z.string().uuid().describe('The existing team ID'),
|
|
12
|
+
is_support_enabled: z
|
|
13
|
+
.boolean()
|
|
14
|
+
.optional()
|
|
15
|
+
.describe('Whether the team can receive support sessions'),
|
|
16
|
+
telephony_pacing_enabled: z
|
|
17
|
+
.boolean()
|
|
18
|
+
.optional()
|
|
19
|
+
.describe('Queue calls and offer each call to one available teammate at a time'),
|
|
20
|
+
telephony_ring_seconds: z
|
|
21
|
+
.number()
|
|
22
|
+
.int()
|
|
23
|
+
.min(10)
|
|
24
|
+
.max(120)
|
|
25
|
+
.optional()
|
|
26
|
+
.describe('Seconds each teammate is offered a call, from 10 to 120'),
|
|
27
|
+
telephony_queue_wait_seconds: z
|
|
28
|
+
.number()
|
|
29
|
+
.int()
|
|
30
|
+
.min(30)
|
|
31
|
+
.max(3600)
|
|
32
|
+
.optional()
|
|
33
|
+
.describe('Maximum seconds a call can wait for the team, from 30 to 3600'),
|
|
34
|
+
telephony_distribution: z
|
|
35
|
+
.enum(distributions)
|
|
36
|
+
.optional()
|
|
37
|
+
.describe('Choose the teammate who has waited longest or answered the fewest calls today'),
|
|
38
|
+
call_wrap_up_seconds: z
|
|
39
|
+
.number()
|
|
40
|
+
.int()
|
|
41
|
+
.min(0)
|
|
42
|
+
.max(3600)
|
|
43
|
+
.nullable()
|
|
44
|
+
.optional()
|
|
45
|
+
.describe('Seconds blocked for wrap-up; 0 disables it, null inherits the organization setting'),
|
|
46
|
+
},
|
|
47
|
+
}, async ({ team_id, ...settings }) => {
|
|
48
|
+
if (Object.values(settings).every((value) => value === undefined)) {
|
|
49
|
+
return { ...jsonContent({ error: 'Provide at least one team setting' }), isError: true };
|
|
50
|
+
}
|
|
51
|
+
const params = { path: { teamId: team_id } };
|
|
52
|
+
const team = (await client.GET('/teams/{teamId}', { params })).data;
|
|
53
|
+
if (!team) {
|
|
54
|
+
return { ...jsonContent({ error: 'Team not found in this organization' }), isError: true };
|
|
55
|
+
}
|
|
56
|
+
// Do not replay the read snapshot: another caller may have renamed the team.
|
|
57
|
+
const body = settings;
|
|
58
|
+
const result = (await client.PUT('/teams/{teamId}', { params, body })).data;
|
|
59
|
+
return jsonContent(result);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=team-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"team-settings.js","sourceRoot":"","sources":["../../src/tools/team-settings.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAM/C,MAAM,aAAa,GAAG;IACpB,uBAAuB;IACvB,mBAAmB;CACgE,CAAC;AAEtF,MAAM,UAAU,yBAAyB,CAAC,MAAiB,EAAE,MAAoB;IAC/E,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EACT,yQAAyQ;QAC3Q,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YAC3D,kBAAkB,EAAE,CAAC;iBAClB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,+CAA+C,CAAC;YAC5D,wBAAwB,EAAE,CAAC;iBACxB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,qEAAqE,CAAC;YAClF,sBAAsB,EAAE,CAAC;iBACtB,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,EAAE,CAAC;iBACP,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,yDAAyD,CAAC;YACtE,4BAA4B,EAAE,CAAC;iBAC5B,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,EAAE,CAAC;iBACP,GAAG,CAAC,IAAI,CAAC;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,+DAA+D,CAAC;YAC5E,sBAAsB,EAAE,CAAC;iBACtB,IAAI,CAAC,aAAa,CAAC;iBACnB,QAAQ,EAAE;iBACV,QAAQ,CACP,+EAA+E,CAChF;YACH,oBAAoB,EAAE,CAAC;iBACpB,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,IAAI,CAAC;iBACT,QAAQ,EAAE;iBACV,QAAQ,EAAE;iBACV,QAAQ,CACP,oFAAoF,CACrF;SACJ;KACF,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE;QACjC,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;YAClE,OAAO,EAAE,GAAG,WAAW,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC3F,CAAC;QACD,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,GAAG,WAAW,CAAC,EAAE,KAAK,EAAE,qCAAqC,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC7F,CAAC;QACD,6EAA6E;QAC7E,MAAM,IAAI,GAAmB,QAAQ,CAAC;QACtC,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"team-settings.spec.d.ts","sourceRoot":"","sources":["../../src/tools/team-settings.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
+
import { connectInMemory, toolTextResultSchema } from '../spec-helpers.js';
|
|
3
|
+
const teamId = '0bf22121-730a-4ba4-a481-5d13fbc7b312';
|
|
4
|
+
describe('update_team_settings', () => {
|
|
5
|
+
let connection;
|
|
6
|
+
let requests;
|
|
7
|
+
let responses;
|
|
8
|
+
beforeEach(async () => {
|
|
9
|
+
requests = [];
|
|
10
|
+
responses = [];
|
|
11
|
+
vi.stubGlobal('fetch', vi.fn(async (input, init) => {
|
|
12
|
+
requests.push(new Request(input, init));
|
|
13
|
+
const response = responses.shift();
|
|
14
|
+
if (!response)
|
|
15
|
+
throw new Error('Unexpected API request');
|
|
16
|
+
return response;
|
|
17
|
+
}));
|
|
18
|
+
connection = await connectInMemory();
|
|
19
|
+
});
|
|
20
|
+
afterEach(async () => {
|
|
21
|
+
await connection.cleanup();
|
|
22
|
+
vi.unstubAllGlobals();
|
|
23
|
+
});
|
|
24
|
+
it('registers the tool and updates selected settings without replaying unrelated fields', async () => {
|
|
25
|
+
const catalog = await connection.client.listTools();
|
|
26
|
+
expect(catalog.tools.some((tool) => tool.name === 'update_team_settings')).toBe(true);
|
|
27
|
+
responses.push(Response.json({
|
|
28
|
+
id: teamId,
|
|
29
|
+
name: 'Support France',
|
|
30
|
+
description: 'Keep this description',
|
|
31
|
+
support_office_hours_id: 'existing-schedule',
|
|
32
|
+
is_support_enabled: false,
|
|
33
|
+
telephony_ring_seconds: 30,
|
|
34
|
+
call_wrap_up_seconds: 120,
|
|
35
|
+
}), Response.json({ message: 'Group updated successfully' }));
|
|
36
|
+
const settings = {
|
|
37
|
+
is_support_enabled: true,
|
|
38
|
+
telephony_pacing_enabled: true,
|
|
39
|
+
telephony_ring_seconds: 20,
|
|
40
|
+
telephony_queue_wait_seconds: 300,
|
|
41
|
+
telephony_distribution: 'longest_available',
|
|
42
|
+
call_wrap_up_seconds: 60,
|
|
43
|
+
};
|
|
44
|
+
const result = toolTextResultSchema.parse(await connection.client.callTool({
|
|
45
|
+
name: 'update_team_settings',
|
|
46
|
+
arguments: { team_id: teamId, ...settings },
|
|
47
|
+
}));
|
|
48
|
+
expect(result.isError).not.toBe(true);
|
|
49
|
+
expect(requests.map((request) => [request.method, request.url])).toEqual([
|
|
50
|
+
['GET', `https://api.test.com/teams/${teamId}`],
|
|
51
|
+
['PUT', `https://api.test.com/teams/${teamId}`],
|
|
52
|
+
]);
|
|
53
|
+
expect(await requests.at(1)?.json()).toEqual(settings);
|
|
54
|
+
expect(JSON.parse(result.content[0].text)).toEqual({ message: 'Group updated successfully' });
|
|
55
|
+
});
|
|
56
|
+
it.each([null, 0, 3600])('preserves explicit wrap-up value %s and false toggles', async (wrapUp) => {
|
|
57
|
+
responses.push(Response.json({ id: teamId, name: 'Sales' }), Response.json({ message: 'Updated' }));
|
|
58
|
+
const result = await connection.client.callTool({
|
|
59
|
+
name: 'update_team_settings',
|
|
60
|
+
arguments: {
|
|
61
|
+
team_id: teamId,
|
|
62
|
+
call_wrap_up_seconds: wrapUp,
|
|
63
|
+
is_support_enabled: false,
|
|
64
|
+
telephony_pacing_enabled: false,
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
expect(result.isError).not.toBe(true);
|
|
68
|
+
expect(await requests.at(1)?.json()).toEqual({
|
|
69
|
+
call_wrap_up_seconds: wrapUp,
|
|
70
|
+
is_support_enabled: false,
|
|
71
|
+
telephony_pacing_enabled: false,
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
it.each([
|
|
75
|
+
{ telephony_ring_seconds: 10, telephony_queue_wait_seconds: 30 },
|
|
76
|
+
{
|
|
77
|
+
telephony_ring_seconds: 120,
|
|
78
|
+
telephony_queue_wait_seconds: 3600,
|
|
79
|
+
telephony_distribution: 'fewest_answered_today',
|
|
80
|
+
},
|
|
81
|
+
])('accepts supported boundaries %j', async (settings) => {
|
|
82
|
+
responses.push(Response.json({ id: teamId, name: 'Support' }), Response.json({ message: 'Updated' }));
|
|
83
|
+
const result = await connection.client.callTool({
|
|
84
|
+
name: 'update_team_settings',
|
|
85
|
+
arguments: { team_id: teamId, ...settings },
|
|
86
|
+
});
|
|
87
|
+
expect(result.isError).not.toBe(true);
|
|
88
|
+
expect(await requests.at(1)?.json()).toEqual(settings);
|
|
89
|
+
});
|
|
90
|
+
it.each([
|
|
91
|
+
{ telephony_ring_seconds: 9 },
|
|
92
|
+
{ telephony_ring_seconds: 121 },
|
|
93
|
+
{ telephony_ring_seconds: 10.5 },
|
|
94
|
+
{ telephony_queue_wait_seconds: 29 },
|
|
95
|
+
{ telephony_queue_wait_seconds: 3601 },
|
|
96
|
+
{ call_wrap_up_seconds: -1 },
|
|
97
|
+
{ call_wrap_up_seconds: 3601 },
|
|
98
|
+
{ call_wrap_up_seconds: 1.5 },
|
|
99
|
+
{ telephony_distribution: 'everyone' },
|
|
100
|
+
{ is_support_enabled: 'true' },
|
|
101
|
+
{ telephony_pacing_enabled: null },
|
|
102
|
+
{},
|
|
103
|
+
])('rejects invalid or empty settings before calling the API: %j', async (settings) => {
|
|
104
|
+
const result = await connection.client.callTool({
|
|
105
|
+
name: 'update_team_settings',
|
|
106
|
+
arguments: { team_id: teamId, ...settings },
|
|
107
|
+
});
|
|
108
|
+
expect(result.isError).toBe(true);
|
|
109
|
+
expect(requests).toHaveLength(0);
|
|
110
|
+
});
|
|
111
|
+
it('rejects a malformed team ID before calling the API', async () => {
|
|
112
|
+
const result = await connection.client.callTool({
|
|
113
|
+
name: 'update_team_settings',
|
|
114
|
+
arguments: { team_id: '../teams', is_support_enabled: true },
|
|
115
|
+
});
|
|
116
|
+
expect(result.isError).toBe(true);
|
|
117
|
+
expect(requests).toHaveLength(0);
|
|
118
|
+
});
|
|
119
|
+
it('does not write when the organization-scoped lookup cannot find the team', async () => {
|
|
120
|
+
responses.push(Response.json(null));
|
|
121
|
+
const result = toolTextResultSchema.parse(await connection.client.callTool({
|
|
122
|
+
name: 'update_team_settings',
|
|
123
|
+
arguments: { team_id: teamId, is_support_enabled: true },
|
|
124
|
+
}));
|
|
125
|
+
expect(result.isError).toBe(true);
|
|
126
|
+
expect(requests.map((request) => request.method)).toEqual(['GET']);
|
|
127
|
+
expect(result.content[0].text).toContain('Team not found');
|
|
128
|
+
});
|
|
129
|
+
it.each([403, 500])('surfaces read failure %s without attempting an update', async (status) => {
|
|
130
|
+
responses.push(Response.json({ message: 'Read rejected' }, { status }));
|
|
131
|
+
const result = await connection.client.callTool({
|
|
132
|
+
name: 'update_team_settings',
|
|
133
|
+
arguments: { team_id: teamId, is_support_enabled: true },
|
|
134
|
+
});
|
|
135
|
+
expect(result.isError).toBe(true);
|
|
136
|
+
expect(requests.map((request) => request.method)).toEqual(['GET']);
|
|
137
|
+
});
|
|
138
|
+
it.each([403, 500])('surfaces write failure %s instead of claiming success', async (status) => {
|
|
139
|
+
responses.push(Response.json({ id: teamId, name: 'Support' }), Response.json({ message: 'Write rejected' }, { status }));
|
|
140
|
+
const result = await connection.client.callTool({
|
|
141
|
+
name: 'update_team_settings',
|
|
142
|
+
arguments: { team_id: teamId, is_support_enabled: true },
|
|
143
|
+
});
|
|
144
|
+
expect(result.isError).toBe(true);
|
|
145
|
+
expect(requests.map((request) => request.method)).toEqual(['GET', 'PUT']);
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
//# sourceMappingURL=team-settings.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"team-settings.spec.js","sourceRoot":"","sources":["../../src/tools/team-settings.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED