@opencx/mcp 1.11.25 → 1.11.33

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 (68) hide show
  1. package/dist/api-client.d.ts +3 -3
  2. package/dist/api-client.d.ts.map +1 -1
  3. package/dist/api-client.js +3 -18
  4. package/dist/api-client.js.map +1 -1
  5. package/dist/tools/actions.d.ts.map +1 -1
  6. package/dist/tools/actions.js +10 -14
  7. package/dist/tools/actions.js.map +1 -1
  8. package/dist/tools/audit-logs.d.ts.map +1 -1
  9. package/dist/tools/audit-logs.js +36 -33
  10. package/dist/tools/audit-logs.js.map +1 -1
  11. package/dist/tools/contacts.d.ts.map +1 -1
  12. package/dist/tools/contacts.js +18 -16
  13. package/dist/tools/contacts.js.map +1 -1
  14. package/dist/tools/coworker.d.ts.map +1 -1
  15. package/dist/tools/coworker.js +46 -37
  16. package/dist/tools/coworker.js.map +1 -1
  17. package/dist/tools/firecrawl.d.ts.map +1 -1
  18. package/dist/tools/firecrawl.js +31 -24
  19. package/dist/tools/firecrawl.js.map +1 -1
  20. package/dist/tools/impact-report.d.ts.map +1 -1
  21. package/dist/tools/impact-report.js +12 -9
  22. package/dist/tools/impact-report.js.map +1 -1
  23. package/dist/tools/insights.d.ts.map +1 -1
  24. package/dist/tools/insights.js +87 -6
  25. package/dist/tools/insights.js.map +1 -1
  26. package/dist/tools/onboarding.d.ts.map +1 -1
  27. package/dist/tools/onboarding.js +7 -4
  28. package/dist/tools/onboarding.js.map +1 -1
  29. package/dist/tools/phone.d.ts.map +1 -1
  30. package/dist/tools/phone.js +7 -8
  31. package/dist/tools/phone.js.map +1 -1
  32. package/dist/tools/sequences.d.ts.map +1 -1
  33. package/dist/tools/sequences.js +2 -1
  34. package/dist/tools/sequences.js.map +1 -1
  35. package/dist/tools/sessions.d.ts.map +1 -1
  36. package/dist/tools/sessions.js +39 -50
  37. package/dist/tools/sessions.js.map +1 -1
  38. package/dist/tools/sla-analytics.d.ts.map +1 -1
  39. package/dist/tools/sla-analytics.js +7 -5
  40. package/dist/tools/sla-analytics.js.map +1 -1
  41. package/dist/tools/todos.d.ts.map +1 -1
  42. package/dist/tools/todos.js +19 -13
  43. package/dist/tools/todos.js.map +1 -1
  44. package/dist/tools/training.d.ts.map +1 -1
  45. package/dist/tools/training.js +22 -19
  46. package/dist/tools/training.js.map +1 -1
  47. package/dist/tools/users.d.ts.map +1 -1
  48. package/dist/tools/users.js +27 -15
  49. package/dist/tools/users.js.map +1 -1
  50. package/dist/tools/workflows.d.ts.map +1 -1
  51. package/dist/tools/workflows.js +73 -40
  52. package/dist/tools/workflows.js.map +1 -1
  53. package/dist/utils/json.d.ts +9 -0
  54. package/dist/utils/json.d.ts.map +1 -0
  55. package/dist/utils/json.js +10 -0
  56. package/dist/utils/json.js.map +1 -0
  57. package/dist/utils/session-channel.d.ts +4 -0
  58. package/dist/utils/session-channel.d.ts.map +1 -0
  59. package/dist/utils/session-channel.js +15 -0
  60. package/dist/utils/session-channel.js.map +1 -0
  61. package/dist/workflow-editor-state.d.ts +12 -2
  62. package/dist/workflow-editor-state.d.ts.map +1 -1
  63. package/dist/workflow-editor-state.js.map +1 -1
  64. package/dist/workflows.spec.d.ts +2 -0
  65. package/dist/workflows.spec.d.ts.map +1 -0
  66. package/dist/workflows.spec.js +109 -0
  67. package/dist/workflows.spec.js.map +1 -0
  68. package/package.json +1 -1
@@ -1,5 +1,6 @@
1
1
  import { type Client } from 'openapi-fetch';
2
2
  import type { paths } from './schema.js';
3
+ import { type JsonValue } from './utils/json.js';
3
4
  export declare class ApiError extends Error {
4
5
  readonly status: number;
5
6
  readonly statusText: string;
@@ -16,15 +17,14 @@ export declare class ApiError extends Error {
16
17
  export declare function safePath(segment: string): string;
17
18
  export type OpenCXClient = Client<paths> & {
18
19
  readonly coworkerSessionId: string | undefined;
19
- postMultipart(path: string, formData: FormData): Promise<unknown>;
20
- postJson(path: string, body: unknown): Promise<unknown>;
20
+ postMultipart(path: string, formData: FormData): Promise<JsonValue>;
21
21
  };
22
22
  export declare function createOpenCXClient(apiKey: string, baseUrl: string): OpenCXClient;
23
23
  /**
24
24
  * Wraps a value as an MCP text-content result. Handles `undefined` from 204
25
25
  * responses by falling back to `{}` so `JSON.stringify` always produces a string.
26
26
  */
27
- export declare function jsonContent(data: unknown): {
27
+ export declare function jsonContent<T>(data: T | undefined): {
28
28
  content: [{
29
29
  type: 'text';
30
30
  text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAAA,OAAqB,EAAE,KAAK,MAAM,EAAmB,MAAM,eAAe,CAAC;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,qBAAa,QAAS,SAAQ,KAAK;aAEf,MAAM,EAAE,MAAM;aACd,UAAU,EAAE,MAAM;aAClB,IAAI,EAAE,MAAM;gBAFZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM;CAK/B;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAchD;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG;IACzC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACzD,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,CA+DhF;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAExF"}
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAAA,OAAqB,EAAE,KAAK,MAAM,EAAmB,MAAM,eAAe,CAAC;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAElE,qBAAa,QAAS,SAAQ,KAAK;aAEf,MAAM,EAAE,MAAM;aACd,UAAU,EAAE,MAAM;aAClB,IAAI,EAAE,MAAM;gBAFZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM;CAK/B;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAchD;AAED,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG;IACzC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/C,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CACrE,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,YAAY,CA4ChF;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,SAAS,GAAG;IAAE,OAAO,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAEjG"}
@@ -1,4 +1,5 @@
1
1
  import createClient from 'openapi-fetch';
2
+ import { jsonValueSchema } from './utils/json.js';
2
3
  export class ApiError extends Error {
3
4
  status;
4
5
  statusText;
@@ -70,23 +71,7 @@ export function createOpenCXClient(apiKey, baseUrl) {
70
71
  }
71
72
  return parseJsonOrEmpty(await res.text());
72
73
  }
73
- async function postJson(path, body) {
74
- const url = `${normalizedBase}${path}`;
75
- const res = await fetch(url, {
76
- method: 'POST',
77
- headers: {
78
- ...headers,
79
- 'Content-Type': 'application/json',
80
- },
81
- body: JSON.stringify(body),
82
- });
83
- if (!res.ok) {
84
- const text = await res.text().catch(() => '');
85
- throw new ApiError(res.status, res.statusText, text);
86
- }
87
- return parseJsonOrEmpty(await res.text());
88
- }
89
- return Object.assign(client, { coworkerSessionId, postMultipart, postJson });
74
+ return Object.assign(client, { coworkerSessionId, postMultipart });
90
75
  }
91
76
  /**
92
77
  * Wraps a value as an MCP text-content result. Handles `undefined` from 204
@@ -105,6 +90,6 @@ export function jsonContent(data) {
105
90
  function parseJsonOrEmpty(text) {
106
91
  if (!text)
107
92
  return {};
108
- return JSON.parse(text);
93
+ return jsonValueSchema.parse(JSON.parse(text));
109
94
  }
110
95
  //# sourceMappingURL=api-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/tools/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAmJ1E"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../src/tools/actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAQrD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAyI1E"}
@@ -1,5 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { jsonContent } from '../api-client.js';
3
+ import { jsonValueSchema } from '../utils/json.js';
4
+ import { sessionChannelSchema } from '../utils/session-channel.js';
3
5
  export function registerActionTools(server, client) {
4
6
  server.registerTool('list_actions', {
5
7
  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.',
@@ -27,14 +29,14 @@ export function registerActionTools(server, client) {
27
29
  .optional()
28
30
  .describe('Unique operation ID (auto-generated from name if omitted)'),
29
31
  payload: z
30
- .record(z.string(), z.unknown())
32
+ .record(z.string(), jsonValueSchema)
31
33
  .describe('OpenAPI-style operation spec with parameters, requestBody, responses. ' +
32
34
  'Example: { "parameters": [{ "name": "order_id", "in": "path", "required": true, "schema": { "type": "string" } }], ' +
33
35
  '"requestBody": { "content": { "application/json": { "schema": { "type": "object", "properties": { "status": { "type": "string" } } } } } } }'),
34
36
  enabled_on_channel: z
35
37
  .object({
36
38
  channels: z
37
- .array(z.string())
39
+ .array(sessionChannelSchema)
38
40
  .describe('Channels: "web", "email", "whatsapp", "phone_voice", "sms", "slack", etc.'),
39
41
  })
40
42
  .optional()
@@ -43,12 +45,9 @@ export function registerActionTools(server, client) {
43
45
  tags: z.array(z.string()).optional().describe('Tags for organizing actions'),
44
46
  },
45
47
  }, async (params) => {
48
+ const body = params;
46
49
  const data = (await client.POST('/actions', {
47
- body: {
48
- ...params,
49
- payload: params.payload,
50
- enabled_on_channel: params.enabled_on_channel,
51
- },
50
+ body,
52
51
  })).data;
53
52
  return jsonContent(data);
54
53
  });
@@ -64,13 +63,13 @@ export function registerActionTools(server, client) {
64
63
  .optional()
65
64
  .describe('New HTTP method'),
66
65
  payload: z
67
- .record(z.string(), z.unknown())
66
+ .record(z.string(), jsonValueSchema)
68
67
  .optional()
69
68
  .describe('New OpenAPI-style operation spec (parameters, requestBody, responses)'),
70
69
  enabled_on_channel: z
71
70
  .object({
72
71
  channels: z
73
- .array(z.string())
72
+ .array(sessionChannelSchema)
74
73
  .describe('Channel names: "web", "email", "whatsapp", etc.'),
75
74
  })
76
75
  .optional()
@@ -79,13 +78,10 @@ export function registerActionTools(server, client) {
79
78
  tags: z.array(z.string()).optional().describe('New tags for organizing'),
80
79
  },
81
80
  }, async ({ action_id, ...body }) => {
81
+ const updateBody = body;
82
82
  const data = (await client.PATCH('/actions/{action_id}', {
83
83
  params: { path: { action_id } },
84
- body: {
85
- ...body,
86
- payload: body.payload,
87
- enabled_on_channel: body.enabled_on_channel,
88
- },
84
+ body: updateBody,
89
85
  })).data;
90
86
  return jsonContent(data);
91
87
  });
@@ -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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"}
@@ -1 +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;AAGpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAqE5E"}
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;AAGpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAuE5E"}
@@ -1,7 +1,8 @@
1
1
  import { z } from 'zod';
2
2
  import { jsonContent } from '../api-client.js';
3
3
  export function registerAuditLogTools(server, client) {
4
- 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
+ server.registerTool('get_audit_logs', {
5
+ description: `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.
5
6
 
6
7
  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?".
7
8
 
@@ -15,38 +16,40 @@ Each result includes:
15
16
  - changes.before / changes.after — exact field-level diff of what changed
16
17
  - actor_email — who made the change
17
18
  - event_type — "created", "updated", or "deleted"
18
- - created_at — when it happened`, {
19
- start_date: z
20
- .string()
21
- .datetime({ offset: true })
22
- .optional()
23
- .describe('ISO 8601 start datetime (e.g. "2026-03-23T00:00:00Z"). Defaults to 24 hours ago.'),
24
- end_date: z
25
- .string()
26
- .datetime({ offset: true })
27
- .optional()
28
- .describe('ISO 8601 end datetime (e.g. "2026-03-23T23:59:59Z"). Defaults to now.'),
29
- entity_type: z
30
- .string()
31
- .optional()
32
- .describe('Filter by entity type (e.g. "ai_instruction", "action", "ai_profile")'),
33
- event_type: z
34
- .string()
35
- .optional()
36
- .describe('Filter by event type (e.g. "created", "updated", "deleted")'),
37
- limit: z.coerce
38
- .number()
39
- .int()
40
- .min(1)
41
- .max(100)
42
- .optional()
43
- .describe('Max items to return (1–100, default 20). String or number.'),
44
- page: z.coerce
45
- .number()
46
- .int()
47
- .min(1)
48
- .optional()
49
- .describe('Page number (default 1). String or number.'),
19
+ - created_at — when it happened`,
20
+ inputSchema: {
21
+ start_date: z
22
+ .string()
23
+ .datetime({ offset: true })
24
+ .optional()
25
+ .describe('ISO 8601 start datetime (e.g. "2026-03-23T00:00:00Z"). Defaults to 24 hours ago.'),
26
+ end_date: z
27
+ .string()
28
+ .datetime({ offset: true })
29
+ .optional()
30
+ .describe('ISO 8601 end datetime (e.g. "2026-03-23T23:59:59Z"). Defaults to now.'),
31
+ entity_type: z
32
+ .string()
33
+ .optional()
34
+ .describe('Filter by entity type (e.g. "ai_instruction", "action", "ai_profile")'),
35
+ event_type: z
36
+ .string()
37
+ .optional()
38
+ .describe('Filter by event type (e.g. "created", "updated", "deleted")'),
39
+ limit: z.coerce
40
+ .number()
41
+ .int()
42
+ .min(1)
43
+ .max(100)
44
+ .optional()
45
+ .describe('Max items to return (1–100, default 20). String or number.'),
46
+ page: z.coerce
47
+ .number()
48
+ .int()
49
+ .min(1)
50
+ .optional()
51
+ .describe('Page number (default 1). String or number.'),
52
+ },
50
53
  }, async ({ start_date, end_date, entity_type, event_type, limit, page }) => {
51
54
  const data = (await client.GET('/audit-logs', {
52
55
  params: {
@@ -1 +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;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,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,CACX,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE;YAC9B,MAAM,EAAE;gBACN,KAAK,EAAE;oBACL,SAAS,EAAE,UAAU;oBACrB,OAAO,EAAE,QAAQ;oBACjB,UAAU,EAAE,WAAW;oBACvB,SAAS,EAAE,UAAU;oBACrB,KAAK;oBACL,IAAI;iBACL;aACF;SACF,CAAC,CACH,CAAC,IAAI,CAAC;QACP,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"audit-logs.js","sourceRoot":"","sources":["../../src/tools/audit-logs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,MAAM,UAAU,qBAAqB,CAAC,MAAiB,EAAE,MAAoB;IAC3E,MAAM,CAAC,YAAY,CACjB,gBAAgB,EAChB;QACE,WAAW,EAAE;;;;;;;;;;;;;;gCAca;QAC1B,WAAW,EAAE;YACb,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,kFAAkF,CAAC;YAC/F,QAAQ,EAAE,CAAC;iBACR,MAAM,EAAE;iBACR,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,uEAAuE,CAAC;YACpF,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,uEAAuE,CAAC;YACpF,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,6DAA6D,CAAC;YAC1E,KAAK,EAAE,CAAC,CAAC,MAAM;iBACZ,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,GAAG,CAAC;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,4DAA4D,CAAC;YACzE,IAAI,EAAE,CAAC,CAAC,MAAM;iBACX,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,EAAE;iBACV,QAAQ,CAAC,4CAA4C,CAAC;SACxD;KACF,EACD,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;QACvE,MAAM,IAAI,GAAG,CACX,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE;YAC9B,MAAM,EAAE;gBACN,KAAK,EAAE;oBACL,SAAS,EAAE,UAAU;oBACrB,OAAO,EAAE,QAAQ;oBACjB,UAAU,EAAE,WAAW;oBACvB,SAAS,EAAE,UAAU;oBACrB,KAAK;oBACL,IAAI;iBACL;aACF;SACF,CAAC,CACH,CAAC,IAAI,CAAC;QACP,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../src/tools/contacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA6F3E"}
1
+ {"version":3,"file":"contacts.d.ts","sourceRoot":"","sources":["../../src/tools/contacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAMrD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA+F3E"}
@@ -17,20 +17,21 @@ export function registerContactTools(server, client) {
17
17
  phone: z.string().optional().describe('Contact phone number'),
18
18
  name: z.string().optional().describe('Contact display name'),
19
19
  custom_data: z
20
- .record(z.string(), z.unknown())
20
+ .record(z.string(), z.string())
21
21
  .optional()
22
22
  .describe('Arbitrary key-value pairs to store on the contact'),
23
23
  },
24
24
  }, async (params) => {
25
- const data = (await client.POST('/contacts', {
26
- body: {
27
- contact: {
28
- email: params.email,
29
- phone: params.phone,
30
- name: params.name,
31
- custom_data: params.custom_data,
32
- },
25
+ const body = {
26
+ contact: {
27
+ email: params.email,
28
+ phone: params.phone,
29
+ name: params.name,
30
+ custom_data: params.custom_data,
33
31
  },
32
+ };
33
+ const data = (await client.POST('/contacts', {
34
+ body,
34
35
  })).data;
35
36
  return jsonContent(data);
36
37
  });
@@ -42,19 +43,20 @@ export function registerContactTools(server, client) {
42
43
  phone: z.string().optional().describe('New phone number'),
43
44
  name: z.string().optional().describe('New display name'),
44
45
  custom_data: z
45
- .record(z.string(), z.unknown())
46
+ .record(z.string(), z.string())
46
47
  .optional()
47
48
  .describe('Key-value pairs to merge into existing custom data'),
48
49
  },
49
50
  }, async ({ contact_id, ...fields }) => {
51
+ const body = {
52
+ contact: {
53
+ ...fields,
54
+ custom_data: fields.custom_data,
55
+ },
56
+ };
50
57
  const data = (await client.PATCH('/contacts/{contact_id}', {
51
58
  params: { path: { contact_id } },
52
- body: {
53
- contact: {
54
- ...fields,
55
- custom_data: fields.custom_data,
56
- },
57
- },
59
+ body,
58
60
  })).data;
59
61
  return jsonContent(data);
60
62
  });
@@ -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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"}
@@ -1 +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;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAsCrD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAsG5E"}
1
+ {"version":3,"file":"coworker.d.ts","sourceRoot":"","sources":["../../src/tools/coworker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAsCrD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA4G5E"}
@@ -32,53 +32,62 @@ Always ASK the user first: "Want me to notify the OpenCX team about this?" Only
32
32
 
33
33
  Provide a clear summary of what the user needs and any context about what you tried.`;
34
34
  export function registerCoworkerTools(server, client) {
35
- server.tool('investigate_session_debug', INVESTIGATE_SESSION_DEBUG_DESCRIPTION, {
36
- session_id: z
37
- .string()
38
- .uuid()
39
- .optional()
40
- .describe('Customer support / inbox session UUID (NOT the coworker chat session ID)'),
41
- ticket_number: z.string().optional().describe('Ticket number to resolve to a session'),
42
- date_from: z.string().datetime({ offset: true }).optional().describe('ISO 8601 start date'),
43
- date_to: z.string().datetime({ offset: true }).optional().describe('ISO 8601 end date'),
44
- channel_type: z
45
- .string()
46
- .optional()
47
- .describe('Filter by channel (web, whatsapp, email, etc.)'),
48
- contact_name: z.string().optional().describe('Filter by contact name (partial match)'),
49
- contact_email: z.string().optional().describe('Filter by contact email (partial match)'),
50
- keyword: z.string().optional().describe('Search keyword to match against message text'),
35
+ server.registerTool('investigate_session_debug', {
36
+ description: INVESTIGATE_SESSION_DEBUG_DESCRIPTION,
37
+ inputSchema: {
38
+ session_id: z
39
+ .string()
40
+ .uuid()
41
+ .optional()
42
+ .describe('Customer support / inbox session UUID (NOT the coworker chat session ID)'),
43
+ ticket_number: z.string().optional().describe('Ticket number to resolve to a session'),
44
+ date_from: z.string().datetime({ offset: true }).optional().describe('ISO 8601 start date'),
45
+ date_to: z.string().datetime({ offset: true }).optional().describe('ISO 8601 end date'),
46
+ channel_type: z
47
+ .string()
48
+ .optional()
49
+ .describe('Filter by channel (web, whatsapp, email, etc.)'),
50
+ contact_name: z.string().optional().describe('Filter by contact name (partial match)'),
51
+ contact_email: z.string().optional().describe('Filter by contact email (partial match)'),
52
+ keyword: z.string().optional().describe('Search keyword to match against message text'),
53
+ },
51
54
  }, async (params) => {
52
55
  const data = (await client.POST('/chat/sessions/investigate-debug', { body: params })).data;
53
56
  return jsonContent(data);
54
57
  });
55
- server.tool('notify_opencx_team', NOTIFY_TEAM_DESCRIPTION, {
56
- summary: z.string().min(1).max(2000).describe('Summary of what the user needs help with'),
57
- context: z.string().max(4000).optional().describe('Additional context about the situation'),
58
+ server.registerTool('notify_opencx_team', {
59
+ description: NOTIFY_TEAM_DESCRIPTION,
60
+ inputSchema: {
61
+ summary: z.string().min(1).max(2000).describe('Summary of what the user needs help with'),
62
+ context: z.string().max(4000).optional().describe('Additional context about the situation'),
63
+ },
58
64
  }, async (params) => {
59
65
  const data = (await client.POST('/companion/notify-team', { body: params })).data;
60
66
  return jsonContent(data);
61
67
  });
62
- server.tool('recall_conversation_history', `Retrieve earlier conversation history when your context has been compacted.
68
+ server.registerTool('recall_conversation_history', {
69
+ description: `Retrieve earlier conversation history when your context has been compacted.
63
70
  Returns parsed entries (messages, tool calls, reasoning) from the current coworker session.
64
71
  Use when you notice gaps in memory or need to reference earlier context.
65
- Supports filters to narrow results — prefer filtering over loading everything.`, {
66
- kind: z.enum(['message', 'tool', 'reasoning']).optional().describe('Filter by entry type'),
67
- role: z
68
- .enum(['user', 'assistant'])
69
- .optional()
70
- .describe('Filter messages by role (only applies when kind=message)'),
71
- keyword: z
72
- .string()
73
- .optional()
74
- .describe('Case-insensitive text search across message text and tool names'),
75
- limit: z
76
- .number()
77
- .int()
78
- .min(1)
79
- .max(500)
80
- .optional()
81
- .describe('Max entries to return (default 100, newest first)'),
72
+ Supports filters to narrow results — prefer filtering over loading everything.`,
73
+ inputSchema: {
74
+ kind: z.enum(['message', 'tool', 'reasoning']).optional().describe('Filter by entry type'),
75
+ role: z
76
+ .enum(['user', 'assistant'])
77
+ .optional()
78
+ .describe('Filter messages by role (only applies when kind=message)'),
79
+ keyword: z
80
+ .string()
81
+ .optional()
82
+ .describe('Case-insensitive text search across message text and tool names'),
83
+ limit: z
84
+ .number()
85
+ .int()
86
+ .min(1)
87
+ .max(500)
88
+ .optional()
89
+ .describe('Max entries to return (default 100, newest first)'),
90
+ },
82
91
  }, async ({ kind, role, keyword, limit = 100 }) => {
83
92
  const sessionId = client.coworkerSessionId;
84
93
  if (!sessionId) {
@@ -1 +1 @@
1
- {"version":3,"file":"coworker.js","sourceRoot":"","sources":["../../src/tools/coworker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coworker.js","sourceRoot":"","sources":["../../src/tools/coworker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"firecrawl.d.ts","sourceRoot":"","sources":["../../src/tools/firecrawl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAwDzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,QA6DvD"}
1
+ {"version":3,"file":"firecrawl.d.ts","sourceRoot":"","sources":["../../src/tools/firecrawl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAyDzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,QAkEvD"}
@@ -1,9 +1,10 @@
1
1
  import { z } from 'zod';
2
+ import { jsonValueSchema } from '../utils/json.js';
2
3
  const FIRECRAWL_BASE = 'https://api.firecrawl.dev/v2';
3
4
  const FIRECRAWL_TIMEOUT_MS = 30_000;
4
5
  const firecrawlResponseSchema = z.object({
5
6
  success: z.boolean(),
6
- data: z.unknown().optional(),
7
+ data: jsonValueSchema.optional(),
7
8
  error: z.string().optional(),
8
9
  });
9
10
  const firecrawlScrapeDataSchema = z.object({
@@ -53,23 +54,26 @@ function formatScrapeResult(data) {
53
54
  return parts.join('\n\n') || 'No content extracted';
54
55
  }
55
56
  export function registerFirecrawlTools(server) {
56
- server.tool('web_search', `Search the web and get full page content in one call. Returns titles, URLs, descriptions, and optionally full markdown of each result. This is your PRIMARY tool for website research — use it instead of WebFetch. Supports site-scoped queries like "site:example.com FAQ".
57
+ server.registerTool('web_search', {
58
+ description: `Search the web and get full page content in one call. Returns titles, URLs, descriptions, and optionally full markdown of each result. This is your PRIMARY tool for website research — use it instead of WebFetch. Supports site-scoped queries like "site:example.com FAQ".
57
59
 
58
- Use when: researching a business during onboarding, finding FAQ/pricing/policy pages, looking up documentation, discovering what a company does.`, {
59
- query: z.string().describe('Search query — use "site:domain.com topic" to scope to a site'),
60
- limit: z
61
- .number()
62
- .int()
63
- .min(1)
64
- .max(10)
65
- .optional()
66
- .default(5)
67
- .describe('Number of results (1-10)'),
68
- scrape: z
69
- .boolean()
70
- .optional()
71
- .default(true)
72
- .describe('Fetch full markdown content of each result (default: true)'),
60
+ Use when: researching a business during onboarding, finding FAQ/pricing/policy pages, looking up documentation, discovering what a company does.`,
61
+ inputSchema: {
62
+ query: z.string().describe('Search query — use "site:domain.com topic" to scope to a site'),
63
+ limit: z
64
+ .number()
65
+ .int()
66
+ .min(1)
67
+ .max(10)
68
+ .optional()
69
+ .default(5)
70
+ .describe('Number of results (1-10)'),
71
+ scrape: z
72
+ .boolean()
73
+ .optional()
74
+ .default(true)
75
+ .describe('Fetch full markdown content of each result (default: true)'),
76
+ },
73
77
  }, async ({ query, limit, scrape }) => {
74
78
  const apiKey = process.env.FIRECRAWL_API_KEY;
75
79
  if (!apiKey)
@@ -85,13 +89,16 @@ Use when: researching a business during onboarding, finding FAQ/pricing/policy p
85
89
  return error(data.error ?? 'Search failed');
86
90
  return { content: [{ type: 'text', text: JSON.stringify(data.data, null, 2) }] };
87
91
  });
88
- server.tool('web_scrape', `Scrape a single webpage and return clean markdown. Handles JavaScript-rendered pages. Use when you already have the exact URL (e.g. user gave you their homepage). For discovering pages, use web_search instead.`, {
89
- url: z.string().url().describe('The URL to scrape'),
90
- only_main_content: z
91
- .boolean()
92
- .optional()
93
- .default(true)
94
- .describe('Extract only main content, excluding nav/footer/sidebar'),
92
+ server.registerTool('web_scrape', {
93
+ description: 'Scrape a single webpage and return clean markdown. Handles JavaScript-rendered pages. Use when you already have the exact URL (e.g. user gave you their homepage). For discovering pages, use web_search instead.',
94
+ inputSchema: {
95
+ url: z.string().url().describe('The URL to scrape'),
96
+ only_main_content: z
97
+ .boolean()
98
+ .optional()
99
+ .default(true)
100
+ .describe('Extract only main content, excluding nav/footer/sidebar'),
101
+ },
95
102
  }, async ({ url, only_main_content }) => {
96
103
  const apiKey = process.env.FIRECRAWL_API_KEY;
97
104
  if (!apiKey)
@@ -1 +1 @@
1
- {"version":3,"file":"firecrawl.js","sourceRoot":"","sources":["../../src/tools/firecrawl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"firecrawl.js","sourceRoot":"","sources":["../../src/tools/firecrawl.ts"],"names":[],"mappings":"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"}