@opencx/mcp 1.15.57 → 1.15.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/schema.d.ts +173 -49
- package/dist/schema.d.ts.map +1 -1
- package/dist/tool-annotations.spec.d.ts +2 -0
- package/dist/tool-annotations.spec.d.ts.map +1 -0
- package/dist/tool-annotations.spec.js +29 -0
- package/dist/tool-annotations.spec.js.map +1 -0
- package/dist/tools/actions.d.ts.map +1 -1
- package/dist/tools/actions.js +7 -0
- package/dist/tools/actions.js.map +1 -1
- package/dist/tools/ask-questions.d.ts.map +1 -1
- package/dist/tools/ask-questions.js +1 -0
- package/dist/tools/ask-questions.js.map +1 -1
- package/dist/tools/audit-logs.d.ts.map +1 -1
- package/dist/tools/audit-logs.js +1 -0
- package/dist/tools/audit-logs.js.map +1 -1
- package/dist/tools/autopilot.d.ts.map +1 -1
- package/dist/tools/autopilot.js +4 -0
- package/dist/tools/autopilot.js.map +1 -1
- package/dist/tools/availability-statuses.d.ts.map +1 -1
- package/dist/tools/availability-statuses.js +4 -0
- package/dist/tools/availability-statuses.js.map +1 -1
- package/dist/tools/blocklist.d.ts.map +1 -1
- package/dist/tools/blocklist.js +13 -0
- package/dist/tools/blocklist.js.map +1 -1
- package/dist/tools/call-flows.d.ts.map +1 -1
- package/dist/tools/call-flows.js +3 -0
- package/dist/tools/call-flows.js.map +1 -1
- package/dist/tools/campaign-channel.d.ts.map +1 -1
- package/dist/tools/campaign-channel.js +9 -0
- package/dist/tools/campaign-channel.js.map +1 -1
- package/dist/tools/campaign-discovery.d.ts.map +1 -1
- package/dist/tools/campaign-discovery.js +1 -0
- package/dist/tools/campaign-discovery.js.map +1 -1
- package/dist/tools/campaign-personalization.d.ts.map +1 -1
- package/dist/tools/campaign-personalization.js +3 -0
- package/dist/tools/campaign-personalization.js.map +1 -1
- package/dist/tools/campaign-qualification.d.ts.map +1 -1
- package/dist/tools/campaign-qualification.js +7 -0
- package/dist/tools/campaign-qualification.js.map +1 -1
- package/dist/tools/campaign-spine.d.ts.map +1 -1
- package/dist/tools/campaign-spine.js +22 -0
- package/dist/tools/campaign-spine.js.map +1 -1
- package/dist/tools/companies.d.ts.map +1 -1
- package/dist/tools/companies.js +9 -0
- package/dist/tools/companies.js.map +1 -1
- package/dist/tools/contact-segments.d.ts.map +1 -1
- package/dist/tools/contact-segments.js +7 -1
- package/dist/tools/contact-segments.js.map +1 -1
- package/dist/tools/contacts.d.ts.map +1 -1
- package/dist/tools/contacts.js +7 -0
- package/dist/tools/contacts.js.map +1 -1
- package/dist/tools/conversation-sankey.d.ts.map +1 -1
- package/dist/tools/conversation-sankey.js +3 -0
- package/dist/tools/conversation-sankey.js.map +1 -1
- package/dist/tools/coworker.d.ts.map +1 -1
- package/dist/tools/coworker.js +3 -0
- package/dist/tools/coworker.js.map +1 -1
- package/dist/tools/crawl.d.ts.map +1 -1
- package/dist/tools/crawl.js +7 -0
- package/dist/tools/crawl.js.map +1 -1
- package/dist/tools/csat.d.ts.map +1 -1
- package/dist/tools/csat.js +5 -0
- package/dist/tools/csat.js.map +1 -1
- package/dist/tools/custom-statuses.d.ts.map +1 -1
- package/dist/tools/custom-statuses.js +5 -0
- package/dist/tools/custom-statuses.js.map +1 -1
- package/dist/tools/email-fleet.js +1 -1
- package/dist/tools/email-fleet.js.map +1 -1
- package/dist/tools/email-templates.d.ts.map +1 -1
- package/dist/tools/email-templates.js +6 -0
- package/dist/tools/email-templates.js.map +1 -1
- package/dist/tools/email.d.ts.map +1 -1
- package/dist/tools/email.js +4 -0
- package/dist/tools/email.js.map +1 -1
- package/dist/tools/firecrawl.d.ts.map +1 -1
- package/dist/tools/firecrawl.js +2 -0
- package/dist/tools/firecrawl.js.map +1 -1
- package/dist/tools/follow-ups.d.ts.map +1 -1
- package/dist/tools/follow-ups.js +3 -0
- package/dist/tools/follow-ups.js.map +1 -1
- package/dist/tools/handoff-analytics.d.ts.map +1 -1
- package/dist/tools/handoff-analytics.js +2 -0
- package/dist/tools/handoff-analytics.js.map +1 -1
- package/dist/tools/help-center.d.ts.map +1 -1
- package/dist/tools/help-center.js +35 -0
- package/dist/tools/help-center.js.map +1 -1
- package/dist/tools/impact-report.d.ts.map +1 -1
- package/dist/tools/impact-report.js +1 -0
- package/dist/tools/impact-report.js.map +1 -1
- package/dist/tools/inbox-views.d.ts.map +1 -1
- package/dist/tools/inbox-views.js +4 -0
- package/dist/tools/inbox-views.js.map +1 -1
- package/dist/tools/insights.d.ts.map +1 -1
- package/dist/tools/insights.js +16 -0
- package/dist/tools/insights.js.map +1 -1
- package/dist/tools/knowledgebase.d.ts.map +1 -1
- package/dist/tools/knowledgebase.js +2 -0
- package/dist/tools/knowledgebase.js.map +1 -1
- package/dist/tools/macros.d.ts.map +1 -1
- package/dist/tools/macros.js +30 -3
- package/dist/tools/macros.js.map +1 -1
- package/dist/tools/macros.spec.d.ts +2 -0
- package/dist/tools/macros.spec.d.ts.map +1 -0
- package/dist/tools/macros.spec.js +104 -0
- package/dist/tools/macros.spec.js.map +1 -0
- package/dist/tools/media.d.ts.map +1 -1
- package/dist/tools/media.js +1 -0
- package/dist/tools/media.js.map +1 -1
- package/dist/tools/office-hours.d.ts.map +1 -1
- package/dist/tools/office-hours.js +7 -0
- package/dist/tools/office-hours.js.map +1 -1
- package/dist/tools/onboarding.d.ts.map +1 -1
- package/dist/tools/onboarding.js +1 -0
- package/dist/tools/onboarding.js.map +1 -1
- package/dist/tools/org.d.ts.map +1 -1
- package/dist/tools/org.js +2 -0
- package/dist/tools/org.js.map +1 -1
- package/dist/tools/outbound-blocklist.d.ts.map +1 -1
- package/dist/tools/outbound-blocklist.js +3 -0
- package/dist/tools/outbound-blocklist.js.map +1 -1
- package/dist/tools/phone.d.ts.map +1 -1
- package/dist/tools/phone.js +15 -0
- package/dist/tools/phone.js.map +1 -1
- package/dist/tools/redaction.d.ts.map +1 -1
- package/dist/tools/redaction.js +2 -0
- package/dist/tools/redaction.js.map +1 -1
- package/dist/tools/reports.d.ts.map +1 -1
- package/dist/tools/reports.js +4 -0
- package/dist/tools/reports.js.map +1 -1
- package/dist/tools/resource-usage.d.ts.map +1 -1
- package/dist/tools/resource-usage.js +2 -0
- package/dist/tools/resource-usage.js.map +1 -1
- package/dist/tools/salesforce-ai-reply-templates.d.ts.map +1 -1
- package/dist/tools/salesforce-ai-reply-templates.js +5 -0
- package/dist/tools/salesforce-ai-reply-templates.js.map +1 -1
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +1 -0
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/sessions.d.ts.map +1 -1
- package/dist/tools/sessions.js +22 -0
- package/dist/tools/sessions.js.map +1 -1
- package/dist/tools/skills.d.ts.map +1 -1
- package/dist/tools/skills.js +7 -0
- package/dist/tools/skills.js.map +1 -1
- package/dist/tools/sla-analytics.d.ts.map +1 -1
- package/dist/tools/sla-analytics.js +4 -0
- package/dist/tools/sla-analytics.js.map +1 -1
- package/dist/tools/sla.d.ts.map +1 -1
- package/dist/tools/sla.js +5 -0
- package/dist/tools/sla.js.map +1 -1
- package/dist/tools/slack.d.ts.map +1 -1
- package/dist/tools/slack.js +6 -0
- package/dist/tools/slack.js.map +1 -1
- package/dist/tools/structured-fields.d.ts.map +1 -1
- package/dist/tools/structured-fields.js +11 -0
- package/dist/tools/structured-fields.js.map +1 -1
- package/dist/tools/tags.d.ts.map +1 -1
- package/dist/tools/tags.js +12 -1
- package/dist/tools/tags.js.map +1 -1
- package/dist/tools/team-categories.d.ts.map +1 -1
- package/dist/tools/team-categories.js +2 -0
- package/dist/tools/team-categories.js.map +1 -1
- package/dist/tools/team-settings.d.ts.map +1 -1
- package/dist/tools/team-settings.js +1 -0
- package/dist/tools/team-settings.js.map +1 -1
- package/dist/tools/teams.d.ts.map +1 -1
- package/dist/tools/teams.js +9 -0
- package/dist/tools/teams.js.map +1 -1
- package/dist/tools/todos.d.ts.map +1 -1
- package/dist/tools/todos.js +2 -0
- package/dist/tools/todos.js.map +1 -1
- package/dist/tools/training.d.ts.map +1 -1
- package/dist/tools/training.js +21 -0
- package/dist/tools/training.js.map +1 -1
- package/dist/tools/users.d.ts.map +1 -1
- package/dist/tools/users.js +5 -0
- package/dist/tools/users.js.map +1 -1
- package/dist/tools/whatsapp.d.ts.map +1 -1
- package/dist/tools/whatsapp.js +1 -0
- package/dist/tools/whatsapp.js.map +1 -1
- package/dist/tools/widget.d.ts.map +1 -1
- package/dist/tools/widget.js +1 -0
- package/dist/tools/widget.js.map +1 -1
- package/dist/tools/workflows.d.ts.map +1 -1
- package/dist/tools/workflows.js +18 -0
- package/dist/tools/workflows.js.map +1 -1
- package/package.json +1 -1
|
@@ -24,6 +24,7 @@ const groupIdSchema = z
|
|
|
24
24
|
export function registerStructuredFieldTools(server, client) {
|
|
25
25
|
server.registerTool('list_structured_fields', {
|
|
26
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).',
|
|
27
|
+
annotations: { title: 'List structured fields', readOnlyHint: true },
|
|
27
28
|
}, async () => {
|
|
28
29
|
const data = (await client.GET('/structured-fields')).data;
|
|
29
30
|
return jsonContent(data);
|
|
@@ -43,6 +44,7 @@ export function registerStructuredFieldTools(server, client) {
|
|
|
43
44
|
show_when: showWhenSchema.optional(),
|
|
44
45
|
group_id: groupIdSchema.optional(),
|
|
45
46
|
},
|
|
47
|
+
annotations: { title: 'Create structured field', destructiveHint: false },
|
|
46
48
|
}, async (params) => {
|
|
47
49
|
const data = (await client.POST('/structured-fields', { body: params })).data;
|
|
48
50
|
return jsonContent(data);
|
|
@@ -56,6 +58,7 @@ export function registerStructuredFieldTools(server, client) {
|
|
|
56
58
|
show_when: showWhenSchema.optional(),
|
|
57
59
|
group_id: groupIdSchema.optional(),
|
|
58
60
|
},
|
|
61
|
+
annotations: { title: 'Update structured field', destructiveHint: true },
|
|
59
62
|
}, async ({ field_id, ...body }) => {
|
|
60
63
|
const data = (await client.PATCH('/structured-fields/{fieldId}', {
|
|
61
64
|
params: { path: { fieldId: field_id } },
|
|
@@ -68,6 +71,7 @@ export function registerStructuredFieldTools(server, client) {
|
|
|
68
71
|
inputSchema: {
|
|
69
72
|
field_id: z.string().uuid().describe('Structured Field ID'),
|
|
70
73
|
},
|
|
74
|
+
annotations: { title: 'Delete structured field', destructiveHint: true },
|
|
71
75
|
}, async ({ field_id }) => {
|
|
72
76
|
const data = (await client.DELETE('/structured-fields/{fieldId}', {
|
|
73
77
|
params: { path: { fieldId: field_id } },
|
|
@@ -90,6 +94,7 @@ export function registerStructuredFieldTools(server, client) {
|
|
|
90
94
|
.optional()
|
|
91
95
|
.describe('Parent Choice ID to nest under, or omit/null for a root Choice.'),
|
|
92
96
|
},
|
|
97
|
+
annotations: { title: 'Create structured field variant', destructiveHint: false },
|
|
93
98
|
}, async ({ field_id, ...body }) => {
|
|
94
99
|
const data = (await client.POST('/structured-fields/{fieldId}/variants', {
|
|
95
100
|
params: { path: { fieldId: field_id } },
|
|
@@ -106,6 +111,7 @@ export function registerStructuredFieldTools(server, client) {
|
|
|
106
111
|
variant_description: z.string().optional(),
|
|
107
112
|
parent_id: z.string().uuid().nullable().optional(),
|
|
108
113
|
},
|
|
114
|
+
annotations: { title: 'Update structured field variant', destructiveHint: true },
|
|
109
115
|
}, async ({ field_id, variant_id, ...body }) => {
|
|
110
116
|
const data = (await client.PATCH('/structured-fields/{fieldId}/variants/{optionId}', {
|
|
111
117
|
params: { path: { fieldId: field_id, optionId: variant_id } },
|
|
@@ -119,6 +125,7 @@ export function registerStructuredFieldTools(server, client) {
|
|
|
119
125
|
field_id: z.string().uuid().describe('Structured Field ID'),
|
|
120
126
|
variant_id: z.string().uuid().describe('Choice ID'),
|
|
121
127
|
},
|
|
128
|
+
annotations: { title: 'Delete structured field variant', destructiveHint: true },
|
|
122
129
|
}, async ({ field_id, variant_id }) => {
|
|
123
130
|
const data = (await client.DELETE('/structured-fields/{fieldId}/variants/{optionId}', {
|
|
124
131
|
params: { path: { fieldId: field_id, optionId: variant_id } },
|
|
@@ -127,6 +134,7 @@ export function registerStructuredFieldTools(server, client) {
|
|
|
127
134
|
});
|
|
128
135
|
server.registerTool('list_structured_field_groups', {
|
|
129
136
|
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.',
|
|
137
|
+
annotations: { title: 'List structured field groups', readOnlyHint: true },
|
|
130
138
|
}, async () => {
|
|
131
139
|
const data = (await client.GET('/structured-fields/groups')).data;
|
|
132
140
|
return jsonContent(data);
|
|
@@ -141,6 +149,7 @@ export function registerStructuredFieldTools(server, client) {
|
|
|
141
149
|
.optional()
|
|
142
150
|
.describe('What the group is for, shown under its name. Optional.'),
|
|
143
151
|
},
|
|
152
|
+
annotations: { title: 'Create structured field group', destructiveHint: false },
|
|
144
153
|
}, async (body) => {
|
|
145
154
|
const data = (await client.POST('/structured-fields/groups', { body })).data;
|
|
146
155
|
return jsonContent(data);
|
|
@@ -152,6 +161,7 @@ export function registerStructuredFieldTools(server, client) {
|
|
|
152
161
|
name: z.string().optional(),
|
|
153
162
|
description: z.string().nullable().optional(),
|
|
154
163
|
},
|
|
164
|
+
annotations: { title: 'Update structured field group', destructiveHint: true },
|
|
155
165
|
}, async ({ group_id, ...body }) => {
|
|
156
166
|
const data = (await client.PATCH('/structured-fields/groups/{groupId}', {
|
|
157
167
|
params: { path: { groupId: group_id } },
|
|
@@ -164,6 +174,7 @@ export function registerStructuredFieldTools(server, client) {
|
|
|
164
174
|
inputSchema: {
|
|
165
175
|
group_id: z.string().uuid().describe('Structured Field group ID'),
|
|
166
176
|
},
|
|
177
|
+
annotations: { title: 'Delete structured field group', destructiveHint: true },
|
|
167
178
|
}, async ({ group_id }) => {
|
|
168
179
|
const data = (await client.DELETE('/structured-fields/groups/{groupId}', {
|
|
169
180
|
params: { path: { groupId: group_id } },
|
|
@@ -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,wcAAwc,CACzc,CAAC;AAEJ,MAAM,aAAa,GAAG,CAAC;KACpB,MAAM,EAAE;KACR,IAAI,EAAE;KACN,QAAQ,EAAE;KACV,QAAQ,CACP,qMAAqM,CACtM,CAAC;AAEJ,MAAM,UAAU,4BAA4B,CAAC,MAAiB,EAAE,MAAoB;IAClF,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,WAAW,EACT,mXAAmX;
|
|
1
|
+
{"version":3,"file":"structured-fields.js","sourceRoot":"","sources":["../../src/tools/structured-fields.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/tags.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../src/tools/tags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../src/tools/tags.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAmNvE"}
|
package/dist/tools/tags.js
CHANGED
|
@@ -20,12 +20,14 @@ export function registerTagTools(server, client) {
|
|
|
20
20
|
.optional()
|
|
21
21
|
.describe('Max tags to return (clamped to 200)'),
|
|
22
22
|
},
|
|
23
|
+
annotations: { title: 'List tags', readOnlyHint: true },
|
|
23
24
|
}, async ({ search, category_id, limit }) => {
|
|
24
25
|
const data = (await client.GET('/tags', { params: { query: { search, category_id, limit } } })).data;
|
|
25
26
|
return jsonContent(data);
|
|
26
27
|
});
|
|
27
28
|
server.registerTool('list_tags_in_use', {
|
|
28
29
|
description: 'List all tag names that are actually applied to sessions right now. Useful to see which tags are being used vs. sitting unused.',
|
|
30
|
+
annotations: { title: 'List tags in use', readOnlyHint: true },
|
|
29
31
|
}, async () => {
|
|
30
32
|
const data = (await client.GET('/tags/in-use')).data;
|
|
31
33
|
return jsonContent(data);
|
|
@@ -51,6 +53,7 @@ export function registerTagTools(server, client) {
|
|
|
51
53
|
.optional()
|
|
52
54
|
.describe('Assign the tag to a category (uuid from list_tag_categories). null clears the category; omit to leave it unchanged.'),
|
|
53
55
|
},
|
|
56
|
+
annotations: { title: 'Upsert tag', destructiveHint: true },
|
|
54
57
|
}, async (params) => {
|
|
55
58
|
await client.PUT('/tags', { body: params });
|
|
56
59
|
return { content: [{ type: 'text', text: `Tag "${params.tag_name}" saved.` }] };
|
|
@@ -60,12 +63,14 @@ export function registerTagTools(server, client) {
|
|
|
60
63
|
inputSchema: {
|
|
61
64
|
tag_name: z.string().describe('The tag name to remove'),
|
|
62
65
|
},
|
|
66
|
+
annotations: { title: 'Delete tag', destructiveHint: true },
|
|
63
67
|
}, async ({ tag_name }) => {
|
|
64
68
|
await client.DELETE('/tags/{tag_name}', { params: { path: { tag_name } } });
|
|
65
69
|
return { content: [{ type: 'text', text: `Tag "${tag_name}" removed.` }] };
|
|
66
70
|
});
|
|
67
71
|
server.registerTool('get_auto_tagging_status', {
|
|
68
72
|
description: 'Check whether AI auto-tagging is enabled. When enabled, the AI automatically applies relevant tags to chat sessions based on conversation content.',
|
|
73
|
+
annotations: { title: 'Get auto tagging status', readOnlyHint: true },
|
|
69
74
|
}, async () => {
|
|
70
75
|
const data = (await client.GET('/tags/auto-tagging')).data;
|
|
71
76
|
return jsonContent(data);
|
|
@@ -75,6 +80,7 @@ export function registerTagTools(server, client) {
|
|
|
75
80
|
inputSchema: {
|
|
76
81
|
enabled: z.boolean().describe('Set true to enable auto-tagging, false to disable'),
|
|
77
82
|
},
|
|
83
|
+
annotations: { title: 'Set auto tagging', destructiveHint: true },
|
|
78
84
|
}, async ({ enabled }) => {
|
|
79
85
|
const data = (await client.PUT('/tags/auto-tagging', { body: { enabled } })).data;
|
|
80
86
|
return jsonContent(data);
|
|
@@ -93,8 +99,10 @@ export function registerTagTools(server, client) {
|
|
|
93
99
|
.optional()
|
|
94
100
|
.describe('Max categories to return (clamped to 200)'),
|
|
95
101
|
},
|
|
102
|
+
annotations: { title: 'List tag categories', readOnlyHint: true },
|
|
96
103
|
}, async ({ search, limit }) => {
|
|
97
|
-
const data = (await client.GET('/tags/categories', { params: { query: { search, limit } } }))
|
|
104
|
+
const data = (await client.GET('/tags/categories', { params: { query: { search, limit } } }))
|
|
105
|
+
.data;
|
|
98
106
|
return jsonContent(data);
|
|
99
107
|
});
|
|
100
108
|
server.registerTool('create_tag_category', {
|
|
@@ -105,6 +113,7 @@ export function registerTagTools(server, client) {
|
|
|
105
113
|
.string()
|
|
106
114
|
.describe('What this category covers — used by the AI to decide which of its tags apply.'),
|
|
107
115
|
},
|
|
116
|
+
annotations: { title: 'Create tag category', destructiveHint: false },
|
|
108
117
|
}, async ({ name, description }) => {
|
|
109
118
|
const data = (await client.POST('/tags/categories', { body: { name, description } })).data;
|
|
110
119
|
return jsonContent(data);
|
|
@@ -116,6 +125,7 @@ export function registerTagTools(server, client) {
|
|
|
116
125
|
name: z.string().optional().describe('New category name'),
|
|
117
126
|
description: z.string().optional().describe('New category description'),
|
|
118
127
|
},
|
|
128
|
+
annotations: { title: 'Update tag category', destructiveHint: true },
|
|
119
129
|
}, async ({ id, name, description }) => {
|
|
120
130
|
const data = (await client.PUT('/tags/categories/{id}', {
|
|
121
131
|
params: { path: { id } },
|
|
@@ -128,6 +138,7 @@ export function registerTagTools(server, client) {
|
|
|
128
138
|
inputSchema: {
|
|
129
139
|
id: z.string().uuid().describe('The category id to delete (from list_tag_categories)'),
|
|
130
140
|
},
|
|
141
|
+
annotations: { title: 'Delete tag category', destructiveHint: true },
|
|
131
142
|
}, async ({ id }) => {
|
|
132
143
|
await client.DELETE('/tags/categories/{id}', { params: { path: { id } } });
|
|
133
144
|
return { content: [{ type: 'text', text: 'Tag category deleted.' }] };
|
package/dist/tools/tags.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/tools/tags.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,MAAM,UAAU,gBAAgB,CAAC,MAAiB,EAAE,MAAoB;IACtE,MAAM,CAAC,YAAY,CACjB,WAAW,EACX;QACE,WAAW,EACT,uTAAuT;QACzT,WAAW,EAAE;YACX,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,6DAA6D,CAAC;YAC1E,WAAW,EAAE,CAAC;iBACX,MAAM,EAAE;iBACR,IAAI,EAAE;iBACN,QAAQ,EAAE;iBACV,QAAQ,CAAC,4EAA4E,CAAC;YACzF,KAAK,EAAE,CAAC,CAAC,MAAM;iBACZ,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,QAAQ,EAAE;iBACV,QAAQ,CAAC,qCAAqC,CAAC;SACnD;
|
|
1
|
+
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/tools/tags.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team-categories.d.ts","sourceRoot":"","sources":["../../src/tools/team-categories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAMrD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"team-categories.d.ts","sourceRoot":"","sources":["../../src/tools/team-categories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAMrD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA0BhF"}
|
|
@@ -3,12 +3,14 @@ import { jsonContent } from '../api-client.js';
|
|
|
3
3
|
export function registerTeamCategoryTools(server, client) {
|
|
4
4
|
server.registerTool('list_team_categories', {
|
|
5
5
|
description: 'List team categories in the current workspace, including unused categories. Requires teams:read. Use the category ID with create_team or update_team_settings. Categories organize teams without changing routing.',
|
|
6
|
+
annotations: { title: 'List team categories', readOnlyHint: true },
|
|
6
7
|
}, async () => jsonContent((await client.GET('/teams/categories')).data));
|
|
7
8
|
server.registerTool('create_team_category', {
|
|
8
9
|
description: 'Create a team category such as Telephony or Chat. Requires teams:write. An existing name, ignoring case and surrounding spaces, reuses the existing category. Returns the ID to assign with create_team or update_team_settings; does not assign teams automatically.',
|
|
9
10
|
inputSchema: {
|
|
10
11
|
name: z.string().trim().min(1).max(80).describe('Category name, 1 to 80 characters'),
|
|
11
12
|
},
|
|
13
|
+
annotations: { title: 'Create team category', destructiveHint: false },
|
|
12
14
|
}, async ({ name }) => {
|
|
13
15
|
const body = { name };
|
|
14
16
|
return jsonContent((await client.POST('/teams/categories', { body })).data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team-categories.js","sourceRoot":"","sources":["../../src/tools/team-categories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAO/C,MAAM,UAAU,yBAAyB,CAAC,MAAiB,EAAE,MAAoB;IAC/E,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EACT,oNAAoN;
|
|
1
|
+
{"version":3,"file":"team-categories.js","sourceRoot":"","sources":["../../src/tools/team-categories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAO/C,MAAM,UAAU,yBAAyB,CAAC,MAAiB,EAAE,MAAoB;IAC/E,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EACT,oNAAoN;QACtN,WAAW,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,IAAI,EAAE;KACnE,EACD,KAAK,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CACtE,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EACT,uQAAuQ;QACzQ,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;SACrF;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,KAAK,EAAE;KACvE,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACjB,MAAM,IAAI,GAAuB,EAAE,IAAI,EAAE,CAAC;QAC1C,OAAO,WAAW,CAAC,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9E,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +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;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAgBrD,eAAO,MAAM,iBAAiB;;;;;;;;;;;CAmE7B,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,
|
|
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;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAgBrD,eAAO,MAAM,iBAAiB;;;;;;;;;;;CAmE7B,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA2BhF"}
|
|
@@ -76,6 +76,7 @@ export function registerTeamSettingsTools(server, client) {
|
|
|
76
76
|
team_id: z.string().uuid().describe('The existing team ID'),
|
|
77
77
|
...teamSettingsShape,
|
|
78
78
|
},
|
|
79
|
+
annotations: { title: 'Update team settings', destructiveHint: true },
|
|
79
80
|
}, async ({ team_id, ...settings }) => {
|
|
80
81
|
if (Object.values(settings).every((value) => value === undefined)) {
|
|
81
82
|
return { ...jsonContent({ error: 'Provide at least one team setting' }), isError: true };
|
|
@@ -1 +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,oBAAoB,GAAG;IAC3B,YAAY;IACZ,aAAa;IACb,YAAY;CAC4E,CAAC;AAE3F,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,kBAAkB,EAAE,CAAC;SAClB,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,+CAA+C,CAAC;IAC5D,wBAAwB,EAAE,CAAC;SACxB,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,qEAAqE,CAAC;IAClF,sBAAsB,EAAE,CAAC;SACtB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,EAAE,CAAC;SACP,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,yDAAyD,CAAC;IACtE,4BAA4B,EAAE,CAAC;SAC5B,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,EAAE,CAAC;SACP,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,+DAA+D,CAAC;IAC5E,sBAAsB,EAAE,CAAC;SACtB,IAAI,CAAC,aAAa,CAAC;SACnB,QAAQ,EAAE;SACV,QAAQ,CAAC,+EAA+E,CAAC;IAC5F,oBAAoB,EAAE,CAAC;SACpB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,oFAAoF,CAAC;IACjG,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CACP,0FAA0F,CAC3F;IACH,uBAAuB,EAAE,CAAC;SACvB,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CACP,8FAA8F,CAC/F;IACH,2BAA2B,EAAE,CAAC;SAC3B,IAAI,CAAC,oBAAoB,CAAC;SAC1B,QAAQ,EAAE;SACV,QAAQ,CAAC,uCAAuC,CAAC;IACpD,4BAA4B,EAAE,CAAC;SAC5B,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,IAAI,CAAC;SACT,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,EAAE,gDAAgD,CAAC;SAC/F,QAAQ,EAAE;SACV,QAAQ,CAAC,mFAAmF,CAAC;CAKjG,CAAC;AAEF,MAAM,UAAU,yBAAyB,CAAC,MAAiB,EAAE,MAAoB;IAC/E,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EACT,kUAAkU;QACpU,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;YAC3D,GAAG,iBAAiB;SACrB;
|
|
1
|
+
{"version":3,"file":"team-settings.js","sourceRoot":"","sources":["../../src/tools/team-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teams.d.ts","sourceRoot":"","sources":["../../src/tools/teams.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"teams.d.ts","sourceRoot":"","sources":["../../src/tools/teams.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QA2JxE"}
|
package/dist/tools/teams.js
CHANGED
|
@@ -4,6 +4,7 @@ import { jsonContent } from '../api-client.js';
|
|
|
4
4
|
export function registerTeamTools(server, client) {
|
|
5
5
|
server.registerTool('list_teams', {
|
|
6
6
|
description: 'List all teams in your organization. Teams are used to group agents for routing, assignment, and reporting.',
|
|
7
|
+
annotations: { title: 'List teams', readOnlyHint: true },
|
|
7
8
|
}, async () => {
|
|
8
9
|
const data = (await client.GET('/teams')).data;
|
|
9
10
|
return jsonContent(data);
|
|
@@ -11,6 +12,7 @@ export function registerTeamTools(server, client) {
|
|
|
11
12
|
server.registerTool('get_team', {
|
|
12
13
|
description: 'Get details of a specific team by ID, including its name and member count. Teams group agents for routing, assignment, and reporting.',
|
|
13
14
|
inputSchema: { team_id: z.string().describe('The team ID') },
|
|
15
|
+
annotations: { title: 'Get team', readOnlyHint: true },
|
|
14
16
|
}, async ({ team_id }) => {
|
|
15
17
|
const data = (await client.GET('/teams/{teamId}', { params: { path: { teamId: team_id } } }))
|
|
16
18
|
.data;
|
|
@@ -23,6 +25,7 @@ export function registerTeamTools(server, client) {
|
|
|
23
25
|
description: z.string().optional().describe('A description of the team'),
|
|
24
26
|
...teamSettingsShape,
|
|
25
27
|
},
|
|
28
|
+
annotations: { title: 'Create team', destructiveHint: false },
|
|
26
29
|
}, async (params) => {
|
|
27
30
|
const body = params;
|
|
28
31
|
const data = (await client.POST('/teams', { body })).data;
|
|
@@ -35,6 +38,7 @@ export function registerTeamTools(server, client) {
|
|
|
35
38
|
name: z.string().describe('New team name'),
|
|
36
39
|
description: z.string().optional().describe('New description'),
|
|
37
40
|
},
|
|
41
|
+
annotations: { title: 'Update team', destructiveHint: true },
|
|
38
42
|
}, async ({ team_id, ...body }) => {
|
|
39
43
|
const data = (await client.PUT('/teams/{teamId}', { params: { path: { teamId: team_id } }, body })).data;
|
|
40
44
|
return jsonContent(data);
|
|
@@ -42,6 +46,7 @@ export function registerTeamTools(server, client) {
|
|
|
42
46
|
server.registerTool('delete_team', {
|
|
43
47
|
description: 'Permanently delete a team by ID. This action cannot be undone. Members will be unassigned from the team.',
|
|
44
48
|
inputSchema: { team_id: z.string().describe('The team ID to delete') },
|
|
49
|
+
annotations: { title: 'Delete team', destructiveHint: true },
|
|
45
50
|
}, async ({ team_id }) => {
|
|
46
51
|
await client.DELETE('/teams/{teamId}', { params: { path: { teamId: team_id } } });
|
|
47
52
|
return { content: [{ type: 'text', text: `Team ${team_id} deleted successfully.` }] };
|
|
@@ -49,6 +54,7 @@ export function registerTeamTools(server, client) {
|
|
|
49
54
|
server.registerTool('list_team_members', {
|
|
50
55
|
description: 'List all users (agents) assigned to a specific team, including their current availability and chat capacity.',
|
|
51
56
|
inputSchema: { team_id: z.string().describe('The team ID') },
|
|
57
|
+
annotations: { title: 'List team members', readOnlyHint: true },
|
|
52
58
|
}, async ({ team_id }) => {
|
|
53
59
|
const data = (await client.GET('/teams/{teamId}/users', { params: { path: { teamId: team_id } } })).data;
|
|
54
60
|
return jsonContent(data);
|
|
@@ -56,6 +62,7 @@ export function registerTeamTools(server, client) {
|
|
|
56
62
|
server.registerTool('list_available_team_members', {
|
|
57
63
|
description: 'List only currently available users in a team, including their availability and chat capacity. Use this before assigning or transferring sessions when you need a likely assignee.',
|
|
58
64
|
inputSchema: { team_id: z.string().describe('The team ID') },
|
|
65
|
+
annotations: { title: 'List available team members', readOnlyHint: true },
|
|
59
66
|
}, async ({ team_id }) => {
|
|
60
67
|
const data = (await client.GET('/teams/{teamId}/users/available', {
|
|
61
68
|
params: { path: { teamId: team_id } },
|
|
@@ -68,6 +75,7 @@ export function registerTeamTools(server, client) {
|
|
|
68
75
|
team_id: z.string().describe('The team ID'),
|
|
69
76
|
user_id: z.number().int().describe('The user ID to add to the team'),
|
|
70
77
|
},
|
|
78
|
+
annotations: { title: 'Add team member', destructiveHint: false },
|
|
71
79
|
}, async ({ team_id, user_id }) => {
|
|
72
80
|
const data = (await client.POST('/teams/{teamId}/users', {
|
|
73
81
|
params: { path: { teamId: team_id } },
|
|
@@ -81,6 +89,7 @@ export function registerTeamTools(server, client) {
|
|
|
81
89
|
team_id: z.string().describe('The team ID'),
|
|
82
90
|
user_id: z.number().int().describe('The user ID to remove from the team'),
|
|
83
91
|
},
|
|
92
|
+
annotations: { title: 'Remove team member', destructiveHint: true },
|
|
84
93
|
}, async ({ team_id, user_id }) => {
|
|
85
94
|
await client.DELETE('/teams/{teamId}/users/{userId}', {
|
|
86
95
|
params: { path: { teamId: team_id, userId: user_id } },
|
package/dist/tools/teams.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teams.js","sourceRoot":"","sources":["../../src/tools/teams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,MAAM,UAAU,iBAAiB,CAAC,MAAiB,EAAE,MAAoB;IACvE,MAAM,CAAC,YAAY,CACjB,YAAY,EACZ;QACE,WAAW,EACT,6GAA6G;
|
|
1
|
+
{"version":3,"file":"teams.js","sourceRoot":"","sources":["../../src/tools/teams.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"todos.d.ts","sourceRoot":"","sources":["../../src/tools/todos.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAYrD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"todos.d.ts","sourceRoot":"","sources":["../../src/tools/todos.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAYrD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAiExE"}
|
package/dist/tools/todos.js
CHANGED
|
@@ -22,6 +22,7 @@ export function registerTodoTools(server, client) {
|
|
|
22
22
|
.max(50)
|
|
23
23
|
.describe('The ordered list of tasks you plan to complete'),
|
|
24
24
|
},
|
|
25
|
+
annotations: { title: 'Set session todos', destructiveHint: true },
|
|
25
26
|
}, async ({ items }) => {
|
|
26
27
|
const sessionId = client.coworkerSessionId;
|
|
27
28
|
if (!sessionId) {
|
|
@@ -42,6 +43,7 @@ export function registerTodoTools(server, client) {
|
|
|
42
43
|
index: z.number().int().min(0).describe('Zero-based index of the todo item'),
|
|
43
44
|
status: z.enum(['in_progress', 'completed']).describe('New status for the todo item'),
|
|
44
45
|
},
|
|
46
|
+
annotations: { title: 'Update session todo', destructiveHint: true },
|
|
45
47
|
}, async ({ index, status }) => {
|
|
46
48
|
const sessionId = client.coworkerSessionId;
|
|
47
49
|
if (!sessionId) {
|
package/dist/tools/todos.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"todos.js","sourceRoot":"","sources":["../../src/tools/todos.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,MAAM,qBAAqB,GAAG;;;;+HAIiG,CAAC;AAEhI,MAAM,uBAAuB,GAAG;;mEAEmC,CAAC;AAEpE,MAAM,UAAU,iBAAiB,CAAC,MAAiB,EAAE,MAAoB;IACvE,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE;YACX,KAAK,EAAE,CAAC;iBACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,KAAK,EAAE,CAAC;qBACL,MAAM,EAAE;qBACR,QAAQ,CAAC,wEAAwE,CAAC;aACtF,CAAC,CACH;iBACA,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,EAAE,CAAC;iBACP,QAAQ,CAAC,gDAAgD,CAAC;SAC9D;
|
|
1
|
+
{"version":3,"file":"todos.js","sourceRoot":"","sources":["../../src/tools/todos.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,MAAM,qBAAqB,GAAG;;;;+HAIiG,CAAC;AAEhI,MAAM,uBAAuB,GAAG;;mEAEmC,CAAC;AAEpE,MAAM,UAAU,iBAAiB,CAAC,MAAiB,EAAE,MAAoB;IACvE,MAAM,CAAC,YAAY,CACjB,mBAAmB,EACnB;QACE,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE;YACX,KAAK,EAAE,CAAC;iBACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;gBACP,KAAK,EAAE,CAAC;qBACL,MAAM,EAAE;qBACR,QAAQ,CAAC,wEAAwE,CAAC;aACtF,CAAC,CACH;iBACA,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,EAAE,CAAC;iBACP,QAAQ,CAAC,gDAAgD,CAAC;SAC9D;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,IAAI,EAAE;KACnE,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QAClB,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC;gBACtE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,CACX,MAAM,MAAM,CAAC,GAAG,CAAC,uCAAuC,EAAE;YACxD,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE;YAC/B,IAAI,EAAE,EAAE,KAAK,EAAE;SAChB,CAAC,CACH,CAAC,IAAI,CAAC;QACP,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,qBAAqB,EACrB;QACE,WAAW,EAAE,uBAAuB;QACpC,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YAC5E,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;SACtF;QACD,WAAW,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,IAAI,EAAE;KACrE,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;QAC1B,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mCAAmC,EAAE,CAAC;gBACtE,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,CACX,MAAM,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE;YAC1D,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE;YAC/B,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;SACxB,CAAC,CACH,CAAC,IAAI,CAAC;QACP,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"training.d.ts","sourceRoot":"","sources":["../../src/tools/training.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAWrD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"training.d.ts","sourceRoot":"","sources":["../../src/tools/training.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAWrD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,QAgsB5E"}
|
package/dist/tools/training.js
CHANGED
|
@@ -29,6 +29,7 @@ export function registerTrainingTools(server, client) {
|
|
|
29
29
|
.optional()
|
|
30
30
|
.describe('Number of items to skip (default 0). String or number.'),
|
|
31
31
|
},
|
|
32
|
+
annotations: { title: 'List training scenarios', readOnlyHint: true },
|
|
32
33
|
}, async ({ search, type, is_draft, sort_by, limit, offset }) => {
|
|
33
34
|
const data = (await client.GET('/training', {
|
|
34
35
|
params: {
|
|
@@ -51,6 +52,7 @@ export function registerTrainingTools(server, client) {
|
|
|
51
52
|
.string()
|
|
52
53
|
.describe('REQUIRED. The training scenario ID (UUID). Get it from list_training_scenarios first if you only know the title.'),
|
|
53
54
|
},
|
|
55
|
+
annotations: { title: 'Get training scenario', readOnlyHint: true },
|
|
54
56
|
}, async ({ id }) => {
|
|
55
57
|
const data = (await client.GET('/training/{id}', {
|
|
56
58
|
params: { path: { id } },
|
|
@@ -96,6 +98,7 @@ Optional start_time/end_time limit when the AI uses this instruction (UTC ISO 86
|
|
|
96
98
|
.optional()
|
|
97
99
|
.describe('UTC instant when the AI stops using this instruction'),
|
|
98
100
|
},
|
|
101
|
+
annotations: { title: 'Create training scenario', destructiveHint: false },
|
|
99
102
|
}, async (params) => {
|
|
100
103
|
const body = {
|
|
101
104
|
title: params.title,
|
|
@@ -173,6 +176,7 @@ Schedule fields (start_time, end_time) are ONLY applied in mode "direct" — the
|
|
|
173
176
|
.optional()
|
|
174
177
|
.describe('Required when mode is "diff". The COMPLETE instruction content HTML — every paragraph from get_training_scenario reproduced verbatim — with data-diff-suggestion markup wrapped ONLY around the changed phrases. NOT just the diff/change. The server stores this value as the new draft_content verbatim; sending only the edited paragraph will silently truncate the instruction to that paragraph. Length must be ≥ ~95% of the original content length. Load the content-editor skill first.'),
|
|
175
178
|
},
|
|
179
|
+
annotations: { title: 'Update training scenario', destructiveHint: true },
|
|
176
180
|
}, async ({ id, mode, diff_html, title, content, start_time, end_time, ...rest }) => {
|
|
177
181
|
if (mode === 'diff') {
|
|
178
182
|
if (!diff_html) {
|
|
@@ -228,6 +232,7 @@ Schedule fields (start_time, end_time) are ONLY applied in mode "direct" — the
|
|
|
228
232
|
.optional()
|
|
229
233
|
.describe('Contact segment ids this instruction applies to. [] = all contacts.'),
|
|
230
234
|
},
|
|
235
|
+
annotations: { title: 'Set instruction restrictions', destructiveHint: true },
|
|
231
236
|
}, async ({ id, restricted_to_channels, restricted_to_segments }) => {
|
|
232
237
|
const body = {
|
|
233
238
|
...(restricted_to_channels !== undefined ? { restricted_to_channels } : {}),
|
|
@@ -239,6 +244,7 @@ Schedule fields (start_time, end_time) are ONLY applied in mode "direct" — the
|
|
|
239
244
|
server.registerTool('delete_training_scenario', {
|
|
240
245
|
description: 'Permanently delete a training scenario by ID. This action cannot be undone.',
|
|
241
246
|
inputSchema: { id: z.string().describe('The training scenario ID to delete') },
|
|
247
|
+
annotations: { title: 'Delete training scenario', destructiveHint: true },
|
|
242
248
|
}, async ({ id }) => {
|
|
243
249
|
await client.DELETE('/training/{id}', { params: { path: { id } } });
|
|
244
250
|
return { content: [{ type: 'text', text: `Training scenario ${id} deleted successfully.` }] };
|
|
@@ -248,6 +254,7 @@ Schedule fields (start_time, end_time) are ONLY applied in mode "direct" — the
|
|
|
248
254
|
inputSchema: {
|
|
249
255
|
id: z.string().describe('The training scenario ID to publish'),
|
|
250
256
|
},
|
|
257
|
+
annotations: { title: 'Publish training scenario', destructiveHint: true },
|
|
251
258
|
}, async ({ id }) => {
|
|
252
259
|
const data = (await client.POST('/training/{id}/publish', {
|
|
253
260
|
params: { path: { id } },
|
|
@@ -260,6 +267,7 @@ Schedule fields (start_time, end_time) are ONLY applied in mode "direct" — the
|
|
|
260
267
|
inputSchema: {
|
|
261
268
|
id: z.string().describe('The training scenario ID'),
|
|
262
269
|
},
|
|
270
|
+
annotations: { title: 'Toggle training draft', destructiveHint: true },
|
|
263
271
|
}, async ({ id }) => {
|
|
264
272
|
const data = (await client.PUT('/training/{id}/draft', {
|
|
265
273
|
params: { path: { id } },
|
|
@@ -272,6 +280,7 @@ Schedule fields (start_time, end_time) are ONLY applied in mode "direct" — the
|
|
|
272
280
|
inputSchema: {
|
|
273
281
|
instruction_id: z.string().describe('The training scenario ID'),
|
|
274
282
|
},
|
|
283
|
+
annotations: { title: 'Get training version history', readOnlyHint: true },
|
|
275
284
|
}, async ({ instruction_id }) => {
|
|
276
285
|
const data = (await client.GET('/training/{instructionId}/versions', {
|
|
277
286
|
params: { path: { instructionId: instruction_id } },
|
|
@@ -284,6 +293,7 @@ Schedule fields (start_time, end_time) are ONLY applied in mode "direct" — the
|
|
|
284
293
|
instruction_id: z.string().describe('The training scenario ID'),
|
|
285
294
|
version: z.coerce.number().int().positive().describe('The version number to revert to'),
|
|
286
295
|
},
|
|
296
|
+
annotations: { title: 'Revert training version', destructiveHint: true },
|
|
287
297
|
}, async ({ instruction_id, version }) => {
|
|
288
298
|
const data = (await client.POST('/training/{instructionId}/versions/{version}/revert', {
|
|
289
299
|
params: { path: { instructionId: instruction_id, version } },
|
|
@@ -300,6 +310,7 @@ Schedule fields (start_time, end_time) are ONLY applied in mode "direct" — the
|
|
|
300
310
|
.nullable()
|
|
301
311
|
.describe('Target directory ID, or null to uncategorize'),
|
|
302
312
|
},
|
|
313
|
+
annotations: { title: 'Move training to directory', destructiveHint: true },
|
|
303
314
|
}, async ({ id, directory_id }) => {
|
|
304
315
|
await client.POST('/training/{id}/move', {
|
|
305
316
|
params: { path: { id } },
|
|
@@ -328,6 +339,7 @@ Schedule fields (start_time, end_time) are ONLY applied in mode "direct" — the
|
|
|
328
339
|
.optional()
|
|
329
340
|
.describe('Include published trainings (default: true)'),
|
|
330
341
|
},
|
|
342
|
+
annotations: { title: 'Get training directory tree', readOnlyHint: true },
|
|
331
343
|
}, async ({ show_drafts, show_published }) => {
|
|
332
344
|
const data = (await client.GET('/training/directories/tree', {
|
|
333
345
|
params: { query: { show_drafts, show_published } },
|
|
@@ -336,6 +348,7 @@ Schedule fields (start_time, end_time) are ONLY applied in mode "direct" — the
|
|
|
336
348
|
});
|
|
337
349
|
server.registerTool('list_training_directories', {
|
|
338
350
|
description: 'List all directories used to organize training scenarios.',
|
|
351
|
+
annotations: { title: 'List training directories', readOnlyHint: true },
|
|
339
352
|
}, async () => {
|
|
340
353
|
const data = (await client.GET('/training/directories')).data;
|
|
341
354
|
return jsonContent(data);
|
|
@@ -350,6 +363,7 @@ Schedule fields (start_time, end_time) are ONLY applied in mode "direct" — the
|
|
|
350
363
|
.optional()
|
|
351
364
|
.describe('Parent directory id. Omit or null for a top-level directory.'),
|
|
352
365
|
},
|
|
366
|
+
annotations: { title: 'Create training directory', destructiveHint: false },
|
|
353
367
|
}, async ({ name, parent_id }) => {
|
|
354
368
|
const data = (await client.POST('/training/directories', {
|
|
355
369
|
body: { name, ...(parent_id !== undefined ? { parent_id } : {}) },
|
|
@@ -367,6 +381,7 @@ Schedule fields (start_time, end_time) are ONLY applied in mode "direct" — the
|
|
|
367
381
|
.optional()
|
|
368
382
|
.describe('New parent directory id, or null for top level. Omit to keep the current parent.'),
|
|
369
383
|
},
|
|
384
|
+
annotations: { title: 'Update training directory', destructiveHint: true },
|
|
370
385
|
}, async ({ directory_id, name, parent_id }) => {
|
|
371
386
|
const data = (await client.PUT('/training/directories/{directory_id}', {
|
|
372
387
|
params: { path: { directory_id } },
|
|
@@ -380,6 +395,7 @@ Schedule fields (start_time, end_time) are ONLY applied in mode "direct" — the
|
|
|
380
395
|
server.registerTool('delete_training_directory', {
|
|
381
396
|
description: 'Delete a training directory and ALL trainings inside it. This action cannot be undone.',
|
|
382
397
|
inputSchema: { directory_id: z.string().describe('The directory ID to delete') },
|
|
398
|
+
annotations: { title: 'Delete training directory', destructiveHint: true },
|
|
383
399
|
}, async ({ directory_id }) => {
|
|
384
400
|
await client.DELETE('/training/directories/{directory_id}', {
|
|
385
401
|
params: { path: { directory_id } },
|
|
@@ -410,6 +426,7 @@ Schedule fields (start_time, end_time) are ONLY applied in mode "direct" — the
|
|
|
410
426
|
.optional()
|
|
411
427
|
.describe('Filter by source type. Omit to search all.'),
|
|
412
428
|
},
|
|
429
|
+
annotations: { title: 'Search training knowledge', readOnlyHint: true },
|
|
413
430
|
}, async ({ query, limit, include_content, source_types }) => {
|
|
414
431
|
const data = (await client.POST('/training/search', {
|
|
415
432
|
body: {
|
|
@@ -424,6 +441,7 @@ Schedule fields (start_time, end_time) are ONLY applied in mode "direct" — the
|
|
|
424
441
|
});
|
|
425
442
|
server.registerTool('get_ai_profile', {
|
|
426
443
|
description: "Get the AI agent identity and profile — name and system prompt (prompt_message). Use this when the user asks about who the AI is, its personality, its identity, or its context settings. The AI profile lives under the Knowledge Base / AI Instructions section. If draft_prompt_message is set, it contains pending changes that haven't been published yet — read it as the current working version.",
|
|
444
|
+
annotations: { title: 'Get AI profile', readOnlyHint: true },
|
|
427
445
|
}, async () => {
|
|
428
446
|
const data = z
|
|
429
447
|
.object({
|
|
@@ -455,6 +473,7 @@ This tool only saves a draft. Do NOT chain publish_ai_profile after it — leave
|
|
|
455
473
|
.string()
|
|
456
474
|
.describe('The COMPLETE AI Profile document HTML — every paragraph from get_ai_profile reproduced verbatim — with data-diff-suggestion markup wrapped ONLY around the changed phrases. NOT just the diff/change. The server stores this value as the new draft_prompt_message verbatim; sending only the edited paragraph will silently truncate the AI Profile to that paragraph and the rest is lost on publish. Length must be ≥ ~95% of the original prompt_message length. Load the content-editor skill first.'),
|
|
457
475
|
},
|
|
476
|
+
annotations: { title: 'Update AI profile', destructiveHint: true },
|
|
458
477
|
}, async (params) => {
|
|
459
478
|
await client.PATCH('/training/ai-profile', {
|
|
460
479
|
body: {
|
|
@@ -486,6 +505,7 @@ DO NOT call this tool unless one of these is true:
|
|
|
486
505
|
|
|
487
506
|
Fails if there is no draft.`,
|
|
488
507
|
inputSchema: {},
|
|
508
|
+
annotations: { title: 'Publish AI profile', destructiveHint: true },
|
|
489
509
|
}, async () => {
|
|
490
510
|
const data = (await client.POST('/training/ai-profile/publish')).data;
|
|
491
511
|
return jsonContent(data);
|
|
@@ -495,6 +515,7 @@ Fails if there is no draft.`,
|
|
|
495
515
|
inputSchema: {
|
|
496
516
|
ids: z.array(z.string()).min(1).max(50).describe('Array of instruction IDs to publish'),
|
|
497
517
|
},
|
|
518
|
+
annotations: { title: 'Bulk publish instructions', destructiveHint: true },
|
|
498
519
|
}, async ({ ids }) => {
|
|
499
520
|
const results = await Promise.allSettled(ids.map((id) => client.POST('/training/{id}/publish', {
|
|
500
521
|
params: { path: { id } },
|