@opencx/mcp 1.8.4 → 1.9.0-alpha.0

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.
Files changed (96) hide show
  1. package/dist/api-client.d.ts +1 -0
  2. package/dist/api-client.d.ts.map +1 -1
  3. package/dist/api-client.js +5 -0
  4. package/dist/api-client.js.map +1 -1
  5. package/dist/bundle.cjs +24658 -0
  6. package/dist/index.js +62 -8
  7. package/dist/index.js.map +1 -1
  8. package/dist/server.d.ts.map +1 -1
  9. package/dist/server.js +10 -0
  10. package/dist/server.js.map +1 -1
  11. package/dist/tools/actions.js +5 -5
  12. package/dist/tools/actions.js.map +1 -1
  13. package/dist/tools/ask-questions.d.ts +4 -0
  14. package/dist/tools/ask-questions.d.ts.map +1 -0
  15. package/dist/tools/ask-questions.js +39 -0
  16. package/dist/tools/ask-questions.js.map +1 -0
  17. package/dist/tools/audit-logs.d.ts +4 -0
  18. package/dist/tools/audit-logs.d.ts.map +1 -0
  19. package/dist/tools/audit-logs.js +61 -0
  20. package/dist/tools/audit-logs.js.map +1 -0
  21. package/dist/tools/autopilot.js +4 -4
  22. package/dist/tools/autopilot.js.map +1 -1
  23. package/dist/tools/blocklist.d.ts.map +1 -1
  24. package/dist/tools/blocklist.js +29 -9
  25. package/dist/tools/blocklist.js.map +1 -1
  26. package/dist/tools/contacts.js +3 -3
  27. package/dist/tools/contacts.js.map +1 -1
  28. package/dist/tools/coworker.d.ts +4 -0
  29. package/dist/tools/coworker.d.ts.map +1 -0
  30. package/dist/tools/coworker.js +105 -0
  31. package/dist/tools/coworker.js.map +1 -0
  32. package/dist/tools/crawl.js +6 -6
  33. package/dist/tools/crawl.js.map +1 -1
  34. package/dist/tools/csat.js +3 -3
  35. package/dist/tools/csat.js.map +1 -1
  36. package/dist/tools/email.js +4 -4
  37. package/dist/tools/email.js.map +1 -1
  38. package/dist/tools/handoff-analytics.d.ts.map +1 -1
  39. package/dist/tools/handoff-analytics.js +12 -4
  40. package/dist/tools/handoff-analytics.js.map +1 -1
  41. package/dist/tools/help-center.js +6 -6
  42. package/dist/tools/help-center.js.map +1 -1
  43. package/dist/tools/impact-report.d.ts +4 -0
  44. package/dist/tools/impact-report.d.ts.map +1 -0
  45. package/dist/tools/impact-report.js +17 -0
  46. package/dist/tools/impact-report.js.map +1 -0
  47. package/dist/tools/insights.js +5 -5
  48. package/dist/tools/insights.js.map +1 -1
  49. package/dist/tools/media.js +1 -1
  50. package/dist/tools/media.js.map +1 -1
  51. package/dist/tools/office-hours.js +3 -3
  52. package/dist/tools/office-hours.js.map +1 -1
  53. package/dist/tools/org.js +2 -2
  54. package/dist/tools/org.js.map +1 -1
  55. package/dist/tools/phone.d.ts +6 -0
  56. package/dist/tools/phone.d.ts.map +1 -1
  57. package/dist/tools/phone.js +126 -21
  58. package/dist/tools/phone.js.map +1 -1
  59. package/dist/tools/redaction.js +6 -6
  60. package/dist/tools/redaction.js.map +1 -1
  61. package/dist/tools/search.js +1 -1
  62. package/dist/tools/search.js.map +1 -1
  63. package/dist/tools/sequences.d.ts.map +1 -1
  64. package/dist/tools/sequences.js +12 -7
  65. package/dist/tools/sequences.js.map +1 -1
  66. package/dist/tools/sessions.d.ts.map +1 -1
  67. package/dist/tools/sessions.js +281 -22
  68. package/dist/tools/sessions.js.map +1 -1
  69. package/dist/tools/sla-analytics.js +4 -4
  70. package/dist/tools/sla-analytics.js.map +1 -1
  71. package/dist/tools/sla.js +4 -4
  72. package/dist/tools/sla.js.map +1 -1
  73. package/dist/tools/tags.js +4 -4
  74. package/dist/tools/tags.js.map +1 -1
  75. package/dist/tools/teams.d.ts.map +1 -1
  76. package/dist/tools/teams.js +17 -10
  77. package/dist/tools/teams.js.map +1 -1
  78. package/dist/tools/training.d.ts.map +1 -1
  79. package/dist/tools/training.js +201 -52
  80. package/dist/tools/training.js.map +1 -1
  81. package/dist/tools/users.d.ts +4 -0
  82. package/dist/tools/users.d.ts.map +1 -0
  83. package/dist/tools/users.js +20 -0
  84. package/dist/tools/users.js.map +1 -0
  85. package/dist/tools/whatsapp.js +1 -1
  86. package/dist/tools/whatsapp.js.map +1 -1
  87. package/dist/tools/widget.js +3 -3
  88. package/dist/tools/widget.js.map +1 -1
  89. package/dist/tools/workflows.d.ts.map +1 -1
  90. package/dist/tools/workflows.js +27 -16
  91. package/dist/tools/workflows.js.map +1 -1
  92. package/dist/workflow-editor-state.d.ts +0 -5
  93. package/dist/workflow-editor-state.d.ts.map +1 -1
  94. package/dist/workflow-editor-state.js +14 -14
  95. package/dist/workflow-editor-state.js.map +1 -1
  96. package/package.json +2 -1
package/dist/index.js CHANGED
@@ -1,8 +1,53 @@
1
1
  #!/usr/bin/env node
2
+ import { createServer as createHttpServer } from 'node:http';
2
3
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
+ import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
3
5
  import { createServer } from './server.js';
4
6
  const DEFAULT_BASE_URL = 'https://api.open.cx';
5
- function main() {
7
+ function isHttpMode() {
8
+ return process.argv.includes('--http') || process.env.MCP_TRANSPORT === 'http';
9
+ }
10
+ function extractBearer(req) {
11
+ const auth = req.headers['authorization'];
12
+ if (typeof auth !== 'string')
13
+ return undefined;
14
+ const match = auth.match(/^Bearer\s+(.+)$/i);
15
+ return match?.[1];
16
+ }
17
+ function startHttpMode() {
18
+ const baseUrl = resolveBaseUrl();
19
+ const port = Number(process.env.MCP_HTTP_PORT) || 3100;
20
+ const httpServer = createHttpServer(async (req, res) => {
21
+ // Health check
22
+ if (req.method === 'GET' && req.url === '/health') {
23
+ res.writeHead(200, { 'Content-Type': 'application/json' });
24
+ res.end(JSON.stringify({ ok: true }));
25
+ return;
26
+ }
27
+ // Only handle /mcp
28
+ if (req.url !== '/mcp') {
29
+ res.writeHead(404);
30
+ res.end('Not found');
31
+ return;
32
+ }
33
+ const bearer = extractBearer(req);
34
+ if (!bearer) {
35
+ res.writeHead(401, { 'Content-Type': 'application/json' });
36
+ res.end(JSON.stringify({ error: 'Missing Authorization: Bearer <token>' }));
37
+ return;
38
+ }
39
+ const mcpServer = createServer(bearer, baseUrl);
40
+ const transport = new StreamableHTTPServerTransport({
41
+ sessionIdGenerator: undefined,
42
+ });
43
+ await mcpServer.connect(transport);
44
+ await transport.handleRequest(req, res);
45
+ });
46
+ httpServer.listen(port, '0.0.0.0', () => {
47
+ console.log(`OpenCX MCP HTTP server listening on http://0.0.0.0:${port}/mcp`);
48
+ });
49
+ }
50
+ function startStdioMode() {
6
51
  const apiKey = process.env.OPENCX_API_KEY;
7
52
  if (!apiKey) {
8
53
  console.error('Error: OPENCX_API_KEY environment variable is required.\n\n' +
@@ -20,6 +65,15 @@ function main() {
20
65
  ' }');
21
66
  process.exit(1);
22
67
  }
68
+ const baseUrl = resolveBaseUrl();
69
+ const server = createServer(apiKey, baseUrl);
70
+ const transport = new StdioServerTransport();
71
+ server.connect(transport).catch((err) => {
72
+ console.error('Failed to start OpenCX MCP server:', err);
73
+ process.exit(1);
74
+ });
75
+ }
76
+ function resolveBaseUrl() {
23
77
  const baseUrl = process.env.OPENCX_BASE_URL || DEFAULT_BASE_URL;
24
78
  try {
25
79
  const parsed = new URL(baseUrl);
@@ -33,12 +87,12 @@ function main() {
33
87
  console.error(`Error: OPENCX_BASE_URL is not a valid URL: "${baseUrl}"`);
34
88
  process.exit(1);
35
89
  }
36
- const server = createServer(apiKey, baseUrl);
37
- const transport = new StdioServerTransport();
38
- server.connect(transport).catch((err) => {
39
- console.error('Failed to start OpenCX MCP server:', err);
40
- process.exit(1);
41
- });
90
+ return baseUrl;
91
+ }
92
+ if (isHttpMode()) {
93
+ startHttpMode();
94
+ }
95
+ else {
96
+ startStdioMode();
42
97
  }
43
- main();
44
98
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,gBAAgB,GAAG,qBAAqB,CAAC;AAE/C,SAAS,IAAI;IACX,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAC1C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CACX,6DAA6D;YAC3D,+CAA+C;YAC/C,4CAA4C;YAC5C,iDAAiD;YACjD,OAAO;YACP,uBAAuB;YACvB,qBAAqB;YACrB,6BAA6B;YAC7B,0CAA0C;YAC1C,wDAAwD;YACxD,WAAW;YACX,SAAS;YACT,KAAK,CACR,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,gBAAgB,CAAC;IAEhE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,UAAU,GACd,MAAM,CAAC,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC;QACrE,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;YAChD,OAAO,CAAC,KAAK,CACX,qFAAqF,CACtF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,+CAA+C,OAAO,GAAG,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7C,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QAC/C,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA6BpE,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAoCvE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkCpE,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAyCvE"}
package/dist/server.js CHANGED
@@ -6,6 +6,7 @@ import { registerBlocklistTools } from './tools/blocklist.js';
6
6
  import { registerContactTools } from './tools/contacts.js';
7
7
  import { registerSessionTools } from './tools/sessions.js';
8
8
  import { registerTrainingTools } from './tools/training.js';
9
+ import { registerUserTools } from './tools/users.js';
9
10
  import { registerCrawlTools } from './tools/crawl.js';
10
11
  import { registerInsightTools } from './tools/insights.js';
11
12
  import { registerMediaTools } from './tools/media.js';
@@ -20,12 +21,16 @@ import { registerOfficeHoursTools } from './tools/office-hours.js';
20
21
  import { registerTagTools } from './tools/tags.js';
21
22
  import { registerCsatTools } from './tools/csat.js';
22
23
  import { registerWhatsAppTools } from './tools/whatsapp.js';
24
+ import { registerAuditLogTools } from './tools/audit-logs.js';
23
25
  import { registerHandoffAnalyticsTools } from './tools/handoff-analytics.js';
26
+ import { registerImpactReportTools } from './tools/impact-report.js';
24
27
  import { registerSlaAnalyticsTools } from './tools/sla-analytics.js';
28
+ import { registerCoworkerTools } from './tools/coworker.js';
25
29
  import { registerWorkflowTools } from './tools/workflows.js';
26
30
  import { registerHelpCenterTools } from './tools/help-center.js';
27
31
  import { registerRedactionTools } from './tools/redaction.js';
28
32
  import { registerWidgetTools } from './tools/widget.js';
33
+ import { registerAskQuestionsTools } from './tools/ask-questions.js';
29
34
  export function createServer(apiKey, baseUrl) {
30
35
  const server = new McpServer({
31
36
  name: 'OpenCX',
@@ -38,6 +43,7 @@ export function createServer(apiKey, baseUrl) {
38
43
  registerContactTools(server, client);
39
44
  registerSessionTools(server, client);
40
45
  registerTrainingTools(server, client);
46
+ registerUserTools(server, client);
41
47
  registerCrawlTools(server, client);
42
48
  registerInsightTools(server, client);
43
49
  registerMediaTools(server, client);
@@ -52,12 +58,16 @@ export function createServer(apiKey, baseUrl) {
52
58
  registerTagTools(server, client);
53
59
  registerCsatTools(server, client);
54
60
  registerWhatsAppTools(server, client);
61
+ registerAuditLogTools(server, client);
55
62
  registerHandoffAnalyticsTools(server, client);
63
+ registerImpactReportTools(server, client);
56
64
  registerSlaAnalyticsTools(server, client);
57
65
  registerWorkflowTools(server, client);
66
+ registerCoworkerTools(server, client);
58
67
  registerHelpCenterTools(server, client);
59
68
  registerRedactionTools(server, client);
60
69
  registerWidgetTools(server, client);
70
+ registerAskQuestionsTools(server, client);
61
71
  return server;
62
72
  }
63
73
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -5,14 +5,14 @@ export function registerActionTools(server, client) {
5
5
  description: 'List all actions (HTTP API calls) the AI agent can make during conversations. Actions define what APIs the AI can call to take real-world actions on behalf of users.',
6
6
  }, async () => {
7
7
  const data = await client.get('/actions/');
8
- return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
8
+ return { content: [{ type: 'text', text: JSON.stringify(data) }] };
9
9
  });
10
10
  server.registerTool('get_action', {
11
11
  description: 'Get a single action by ID, including its full OpenAPI-style payload specification (parameters, request body, responses).',
12
12
  inputSchema: { action_id: z.string().describe('The action ID') },
13
13
  }, async ({ action_id }) => {
14
14
  const data = await client.get(`/actions/${safePath(action_id)}`);
15
- return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
15
+ return { content: [{ type: 'text', text: JSON.stringify(data) }] };
16
16
  });
17
17
  server.registerTool('create_action', {
18
18
  description: 'Create a new action the AI agent can call. The payload field uses OpenAPI-style specs to define parameters, request body, and responses. The AI uses this to construct API calls during conversations.',
@@ -43,7 +43,7 @@ export function registerActionTools(server, client) {
43
43
  },
44
44
  }, async (params) => {
45
45
  const data = await client.post('/actions/', params);
46
- return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
46
+ return { content: [{ type: 'text', text: JSON.stringify(data) }] };
47
47
  });
48
48
  server.registerTool('update_action', {
49
49
  description: 'Update an existing action. Only the fields you provide will be changed; omitted fields keep their current values.',
@@ -73,7 +73,7 @@ export function registerActionTools(server, client) {
73
73
  },
74
74
  }, async ({ action_id, ...body }) => {
75
75
  const data = await client.patch(`/actions/${safePath(action_id)}`, body);
76
- return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
76
+ return { content: [{ type: 'text', text: JSON.stringify(data) }] };
77
77
  });
78
78
  server.registerTool('delete_action', {
79
79
  description: 'Permanently delete a single action by ID.',
@@ -86,7 +86,7 @@ export function registerActionTools(server, client) {
86
86
  description: 'Get all unique tags used across actions in your organization.',
87
87
  }, async () => {
88
88
  const data = await client.get('/actions/tags');
89
- return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
89
+ return { content: [{ type: 'text', text: JSON.stringify(data) }] };
90
90
  });
91
91
  }
92
92
  //# sourceMappingURL=actions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/tools/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../src/tools/actions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import type { OpenCXClient } from '../api-client.js';
3
+ export declare function registerAskQuestionsTools(server: McpServer, _client: OpenCXClient): void;
4
+ //# sourceMappingURL=ask-questions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ask-questions.d.ts","sourceRoot":"","sources":["../../src/tools/ask-questions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAUrD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,QAkCjF"}
@@ -0,0 +1,39 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { z } from 'zod';
3
+ const DESCRIPTION = `Request structured clarification from the user via the dashboard UI (chips + optional free text). Use ONLY when you are blocked and cannot proceed without user input.
4
+
5
+ Rules:
6
+ - Put ALL questions you need in ONE call (multiple entries in \`questions\`). Do NOT call this tool multiple times in a row.
7
+ - Each question must have \`prompt\`, \`selection\` (\`single\` or \`multiple\`), and \`options\` (2–12 short labels). The UI always offers a separate "describe manually" path — you do not add that yourself.
8
+ - This tool must be the LAST action in your turn. After calling it, STOP — do not write assistant text that repeats the same questions.
9
+ - Do NOT use the built-in AskUserQuestion (ask_user_question) tool for OpenCX coworker clarification; use this coworker tool instead.`;
10
+ export function registerAskQuestionsTools(server, _client) {
11
+ server.registerTool('ask_questions', {
12
+ description: DESCRIPTION,
13
+ inputSchema: {
14
+ questions: z
15
+ .array(z.object({
16
+ prompt: z.string().min(1).max(2000),
17
+ selection: z.enum(['single', 'multiple']),
18
+ options: z.array(z.string().min(1).max(500)).min(1).max(12),
19
+ }))
20
+ .min(1)
21
+ .max(10),
22
+ },
23
+ }, async ({ questions }) => {
24
+ const result = {
25
+ request_id: randomUUID(),
26
+ questions: questions.map((q) => ({
27
+ id: randomUUID(),
28
+ prompt: q.prompt,
29
+ selection: q.selection,
30
+ options: q.options.map((label) => ({
31
+ id: randomUUID(),
32
+ label,
33
+ })),
34
+ })),
35
+ };
36
+ return { content: [{ type: 'text', text: JSON.stringify(result) }] };
37
+ });
38
+ }
39
+ //# sourceMappingURL=ask-questions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ask-questions.js","sourceRoot":"","sources":["../../src/tools/ask-questions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,WAAW,GAAG;;;;;;sIAMkH,CAAC;AAEvI,MAAM,UAAU,yBAAyB,CAAC,MAAiB,EAAE,OAAqB;IAChF,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,WAAW,EAAE,WAAW;QACxB,WAAW,EAAE;YACX,SAAS,EAAE,CAAC;iBACT,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;gBACnC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACzC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;aAC5D,CAAC,CACH;iBACA,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,EAAE,CAAC;SACX;KACF,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QACtB,MAAM,MAAM,GAAG;YACb,UAAU,EAAE,UAAU,EAAE;YACxB,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC/B,EAAE,EAAE,UAAU,EAAE;gBAChB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACjC,EAAE,EAAE,UAAU,EAAE;oBAChB,KAAK;iBACN,CAAC,CAAC;aACJ,CAAC,CAAC;SACJ,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IACvE,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import { OpenCXClient } from '../api-client.js';
3
+ export declare function registerAuditLogTools(server: McpServer, client: OpenCXClient): void;
4
+ //# sourceMappingURL=audit-logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-logs.d.ts","sourceRoot":"","sources":["../../src/tools/audit-logs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA+D5E"}
@@ -0,0 +1,61 @@
1
+ import { z } from 'zod';
2
+ export function registerAuditLogTools(server, client) {
3
+ server.tool('get_audit_logs', `Query the audit log to see who changed what and when. Returns a paginated list of change events with before/after diffs, the actor who made the change, and timestamps.
4
+
5
+ Use this tool to investigate config changes that may have caused AI behavior shifts — for example, "what changed on March 23?" or "who edited the refund instruction yesterday?".
6
+
7
+ Common entity_type values:
8
+ - "ai_instruction" — work instruction created, updated, or deleted
9
+ - "action" — API action created, updated, or deleted
10
+ - "org_api_key" — API key created or revoked
11
+ - "ai_profile" — AI profile / system prompt changes
12
+
13
+ Each result includes:
14
+ - changes.before / changes.after — exact field-level diff of what changed
15
+ - actor_email — who made the change
16
+ - event_type — "created", "updated", or "deleted"
17
+ - created_at — when it happened`, {
18
+ start_date: z
19
+ .string()
20
+ .datetime({ offset: true })
21
+ .optional()
22
+ .describe('ISO 8601 start datetime (e.g. "2026-03-23T00:00:00Z"). Defaults to 24 hours ago.'),
23
+ end_date: z
24
+ .string()
25
+ .datetime({ offset: true })
26
+ .optional()
27
+ .describe('ISO 8601 end datetime (e.g. "2026-03-23T23:59:59Z"). Defaults to now.'),
28
+ entity_type: z
29
+ .string()
30
+ .optional()
31
+ .describe('Filter by entity type (e.g. "ai_instruction", "action", "ai_profile")'),
32
+ event_type: z
33
+ .string()
34
+ .optional()
35
+ .describe('Filter by event type (e.g. "created", "updated", "deleted")'),
36
+ limit: z.coerce
37
+ .number()
38
+ .int()
39
+ .min(1)
40
+ .max(100)
41
+ .optional()
42
+ .describe('Max items to return (1–100, default 20). String or number.'),
43
+ page: z.coerce
44
+ .number()
45
+ .int()
46
+ .min(1)
47
+ .optional()
48
+ .describe('Page number (default 1). String or number.'),
49
+ }, async ({ start_date, end_date, entity_type, event_type, limit, page }) => {
50
+ const data = await client.get('/audit-logs', {
51
+ startDate: start_date,
52
+ endDate: end_date,
53
+ entityType: entity_type,
54
+ eventType: event_type,
55
+ limit: limit?.toString(),
56
+ page: page?.toString(),
57
+ });
58
+ return { content: [{ type: 'text', text: JSON.stringify(data) }] };
59
+ });
60
+ }
61
+ //# sourceMappingURL=audit-logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-logs.js","sourceRoot":"","sources":["../../src/tools/audit-logs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,qBAAqB,CAAC,MAAiB,EAAE,MAAoB;IAC3E,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB;;;;;;;;;;;;;;gCAc4B,EAC5B;QACE,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;aAC1B,QAAQ,EAAE;aACV,QAAQ,CAAC,kFAAkF,CAAC;QAC/F,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;aAC1B,QAAQ,EAAE;aACV,QAAQ,CAAC,uEAAuE,CAAC;QACpF,WAAW,EAAE,CAAC;aACX,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,uEAAuE,CAAC;QACpF,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,6DAA6D,CAAC;QAC1E,KAAK,EAAE,CAAC,CAAC,MAAM;aACZ,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,GAAG,CAAC;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,4DAA4D,CAAC;QACzE,IAAI,EAAE,CAAC,CAAC,MAAM;aACX,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CAAC,4CAA4C,CAAC;KAC1D,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;QACvE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE;YAC3C,SAAS,EAAE,UAAU;YACrB,OAAO,EAAE,QAAQ;YACjB,UAAU,EAAE,WAAW;YACvB,SAAS,EAAE,UAAU;YACrB,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE;YACxB,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;SACvB,CAAC,CAAC;QACH,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"}
@@ -4,10 +4,10 @@ export function registerAutopilotTools(server, client) {
4
4
  description: 'Get the autopilot enabled/disabled status for each channel (web, email, phone, whatsapp, slack, sms, etc.). When autopilot is enabled, the AI automatically responds to customers on that channel.',
5
5
  }, async () => {
6
6
  const data = await client.get('/autopilot/');
7
- return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
7
+ return { content: [{ type: 'text', text: JSON.stringify(data) }] };
8
8
  });
9
9
  server.registerTool('set_autopilot', {
10
- description: 'Enable or disable AI autopilot for a specific channel, and optionally set the AI agent version. When disabled, conversations on that channel go directly to human agents. Agent v2 uses the latest OpenAI Agents framework with advanced reasoning.',
10
+ description: 'Enable or disable AI autopilot for a specific channel, and optionally set the AI agent version. When disabled, conversations go directly to human agents.',
11
11
  inputSchema: {
12
12
  channel: z
13
13
  .enum([
@@ -27,11 +27,11 @@ export function registerAutopilotTools(server, client) {
27
27
  ai_agent_version: z
28
28
  .enum(['v1', 'v2'])
29
29
  .optional()
30
- .describe('AI agent version. v2 uses the latest OpenAI Agents framework with advanced reasoning and tool calling.'),
30
+ .describe('AI agent version (v1 or v2)'),
31
31
  },
32
32
  }, async (params) => {
33
33
  const data = await client.put('/autopilot/', params);
34
- return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
34
+ return { content: [{ type: 'text', text: JSON.stringify(data) }] };
35
35
  });
36
36
  }
37
37
  //# sourceMappingURL=autopilot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"autopilot.js","sourceRoot":"","sources":["../../src/tools/autopilot.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,MAAoB;IAC5E,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EACT,oMAAoM;KACvM,EACD,KAAK,IAAI,EAAE;QACT,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC7C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,WAAW,EACT,qPAAqP;QACvP,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;iBACP,IAAI,CAAC;gBACJ,KAAK;gBACL,OAAO;gBACP,OAAO;gBACP,UAAU;gBACV,OAAO;gBACP,KAAK;gBACL,WAAW;gBACX,WAAW;gBACX,KAAK;gBACL,WAAW;aACZ,CAAC;iBACD,QAAQ,CAAC,uBAAuB,CAAC;YACpC,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;YACzF,gBAAgB,EAAE,CAAC;iBAChB,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBAClB,QAAQ,EAAE;iBACV,QAAQ,CACP,wGAAwG,CACzG;SACJ;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACrD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9E,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"autopilot.js","sourceRoot":"","sources":["../../src/tools/autopilot.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,MAAoB;IAC5E,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EACT,oMAAoM;KACvM,EACD,KAAK,IAAI,EAAE;QACT,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC7C,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,eAAe,EACf;QACE,WAAW,EACT,2JAA2J;QAC7J,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;iBACP,IAAI,CAAC;gBACJ,KAAK;gBACL,OAAO;gBACP,OAAO;gBACP,UAAU;gBACV,OAAO;gBACP,KAAK;gBACL,WAAW;gBACX,WAAW;gBACX,KAAK;gBACL,WAAW;aACZ,CAAC;iBACD,QAAQ,CAAC,uBAAuB,CAAC;YACpC,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;YACzF,gBAAgB,EAAE,CAAC;iBAChB,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBAClB,QAAQ,EAAE;iBACV,QAAQ,CACP,6BAA6B,CAC9B;SACJ;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QACrD,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"blocklist.d.ts","sourceRoot":"","sources":["../../src/tools/blocklist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;AAE1D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA2H7E"}
1
+ {"version":3,"file":"blocklist.d.ts","sourceRoot":"","sources":["../../src/tools/blocklist.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAY,MAAM,kBAAkB,CAAC;AAE1D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA+I7E"}
@@ -5,15 +5,25 @@ export function registerBlocklistTools(server, client) {
5
5
  server.registerTool('list_blocked_contacts', {
6
6
  description: 'List all blocked contacts. Blocked contacts are ignored by the AI — their messages get no automated response.',
7
7
  inputSchema: {
8
- page: z.number().optional().describe('Page number (default: 1)'),
9
- limit: z.number().optional().describe('Results per page (default: 20)'),
8
+ page: z.coerce
9
+ .number()
10
+ .int()
11
+ .min(1)
12
+ .optional()
13
+ .describe('Page number (default: 1). String or number.'),
14
+ limit: z.coerce
15
+ .number()
16
+ .int()
17
+ .min(1)
18
+ .optional()
19
+ .describe('Results per page (default: 20). String or number.'),
10
20
  },
11
21
  }, async ({ page, limit }) => {
12
22
  const data = await client.get('/blocklist/contacts', {
13
23
  page: page?.toString(),
14
24
  limit: limit?.toString(),
15
25
  });
16
- return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
26
+ return { content: [{ type: 'text', text: JSON.stringify(data) }] };
17
27
  });
18
28
  server.registerTool('block_contact', {
19
29
  description: 'Block a contact by email. The AI will stop responding to messages from this contact.',
@@ -30,7 +40,7 @@ export function registerBlocklistTools(server, client) {
30
40
  inputSchema: { contact_id: z.string().describe('The contact ID to check') },
31
41
  }, async ({ contact_id }) => {
32
42
  const data = await client.get(`/blocklist/contacts/check/${safePath(contact_id)}`);
33
- return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
43
+ return { content: [{ type: 'text', text: JSON.stringify(data) }] };
34
44
  });
35
45
  server.registerTool('unblock_contact', {
36
46
  description: 'Remove a contact from the blocklist. The AI will resume responding to them.',
@@ -43,15 +53,25 @@ export function registerBlocklistTools(server, client) {
43
53
  server.registerTool('list_blocked_domains', {
44
54
  description: 'List all blocked email domains. Messages from contacts on blocked domains are ignored by the AI.',
45
55
  inputSchema: {
46
- page: z.number().optional().describe('Page number (default: 1)'),
47
- limit: z.number().optional().describe('Results per page (default: 20)'),
56
+ page: z.coerce
57
+ .number()
58
+ .int()
59
+ .min(1)
60
+ .optional()
61
+ .describe('Page number (default: 1). String or number.'),
62
+ limit: z.coerce
63
+ .number()
64
+ .int()
65
+ .min(1)
66
+ .optional()
67
+ .describe('Results per page (default: 20). String or number.'),
48
68
  },
49
69
  }, async ({ page, limit }) => {
50
70
  const data = await client.get('/blocklist/domains', {
51
71
  page: page?.toString(),
52
72
  limit: limit?.toString(),
53
73
  });
54
- return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
74
+ return { content: [{ type: 'text', text: JSON.stringify(data) }] };
55
75
  });
56
76
  server.registerTool('block_domains', {
57
77
  description: 'Block one or more email domains. Pass comma-separated for multiple (e.g. "spam.com, junk.org"). Messages from these domains will be ignored by the AI.',
@@ -61,14 +81,14 @@ export function registerBlocklistTools(server, client) {
61
81
  },
62
82
  }, async (params) => {
63
83
  const data = await client.post('/blocklist/domains', params);
64
- return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
84
+ return { content: [{ type: 'text', text: JSON.stringify(data) }] };
65
85
  });
66
86
  server.registerTool('check_domain_blocked', {
67
87
  description: 'Check if a domain or email is blocked. Pass either a domain (e.g. "spam.com") or full email (e.g. "user@spam.com").',
68
88
  inputSchema: { value: z.string().describe('A domain or email to check') },
69
89
  }, async ({ value }) => {
70
90
  const data = await client.get('/blocklist/domains/check', { value });
71
- return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
91
+ return { content: [{ type: 'text', text: JSON.stringify(data) }] };
72
92
  });
73
93
  server.registerTool('unblock_domain', {
74
94
  description: 'Remove a domain from the blocklist.',
@@ -1 +1 @@
1
- {"version":3,"file":"blocklist.js","sourceRoot":"","sources":["../../src/tools/blocklist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blocklist.js","sourceRoot":"","sources":["../../src/tools/blocklist.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export function registerContactTools(server, client) {
8
8
  },
9
9
  }, async ({ cursor }) => {
10
10
  const data = await client.get('/contacts/', { cursor });
11
- return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
11
+ return { content: [{ type: 'text', text: JSON.stringify(data) }] };
12
12
  });
13
13
  server.registerTool('create_contact', {
14
14
  description: 'Create a new contact in your organization. At least one of email or phone is recommended for identification. Custom data can store arbitrary key-value pairs.',
@@ -30,7 +30,7 @@ export function registerContactTools(server, client) {
30
30
  custom_data: params.custom_data,
31
31
  },
32
32
  });
33
- return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
33
+ return { content: [{ type: 'text', text: JSON.stringify(data) }] };
34
34
  });
35
35
  server.registerTool('update_contact', {
36
36
  description: 'Update an existing contact. Only the provided fields will be changed; omitted fields remain unchanged.',
@@ -46,7 +46,7 @@ export function registerContactTools(server, client) {
46
46
  },
47
47
  }, async ({ contact_id, ...fields }) => {
48
48
  const data = await client.patch(`/contacts/${safePath(contact_id)}`, { contact: fields });
49
- return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
49
+ return { content: [{ type: 'text', text: JSON.stringify(data) }] };
50
50
  });
51
51
  server.registerTool('delete_contact', {
52
52
  description: 'Permanently delete a contact by ID. This action cannot be undone.',
@@ -1 +1 @@
1
- {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../src/tools/contacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contacts.js","sourceRoot":"","sources":["../../src/tools/contacts.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 registerCoworkerTools(server: McpServer, client: OpenCXClient): void;
4
+ //# sourceMappingURL=coworker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coworker.d.ts","sourceRoot":"","sources":["../../src/tools/coworker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,kBAAkB,CAAC;AA0B/D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAwG5E"}