@carrierllc/mcp 0.2.1 → 0.2.3
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/index.d.ts +0 -13
- package/dist/index.js +9374 -77
- package/dist/index.js.map +1 -1
- package/package.json +11 -10
- package/dist/apps/app-state.d.ts +0 -19
- package/dist/apps/app-state.d.ts.map +0 -1
- package/dist/apps/app-state.js +0 -28
- package/dist/apps/app-state.js.map +0 -1
- package/dist/apps/balance-topup.d.ts +0 -19
- package/dist/apps/balance-topup.d.ts.map +0 -1
- package/dist/apps/balance-topup.js +0 -121
- package/dist/apps/balance-topup.js.map +0 -1
- package/dist/apps/fleet-health-app.d.ts +0 -29
- package/dist/apps/fleet-health-app.d.ts.map +0 -1
- package/dist/apps/fleet-health-app.js +0 -152
- package/dist/apps/fleet-health-app.js.map +0 -1
- package/dist/apps/index.d.ts +0 -37
- package/dist/apps/index.d.ts.map +0 -1
- package/dist/apps/index.js +0 -42
- package/dist/apps/index.js.map +0 -1
- package/dist/apps/provisioning-wizard.d.ts +0 -11
- package/dist/apps/provisioning-wizard.d.ts.map +0 -1
- package/dist/apps/provisioning-wizard.js +0 -345
- package/dist/apps/provisioning-wizard.js.map +0 -1
- package/dist/audit.d.ts +0 -31
- package/dist/audit.d.ts.map +0 -1
- package/dist/audit.js +0 -42
- package/dist/audit.js.map +0 -1
- package/dist/billing-thresholds.d.ts +0 -71
- package/dist/billing-thresholds.d.ts.map +0 -1
- package/dist/billing-thresholds.js +0 -238
- package/dist/billing-thresholds.js.map +0 -1
- package/dist/billing.d.ts +0 -95
- package/dist/billing.d.ts.map +0 -1
- package/dist/billing.js +0 -239
- package/dist/billing.js.map +0 -1
- package/dist/clerk.d.ts +0 -125
- package/dist/clerk.d.ts.map +0 -1
- package/dist/clerk.js +0 -389
- package/dist/clerk.js.map +0 -1
- package/dist/client.d.ts +0 -35
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -85
- package/dist/client.js.map +0 -1
- package/dist/credits.d.ts +0 -165
- package/dist/credits.d.ts.map +0 -1
- package/dist/credits.js +0 -483
- package/dist/credits.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/intelligence.d.ts +0 -4
- package/dist/intelligence.d.ts.map +0 -1
- package/dist/intelligence.js +0 -977
- package/dist/intelligence.js.map +0 -1
- package/dist/list-recent-ocs-events.d.ts +0 -48
- package/dist/list-recent-ocs-events.d.ts.map +0 -1
- package/dist/list-recent-ocs-events.js +0 -160
- package/dist/list-recent-ocs-events.js.map +0 -1
- package/dist/manus-client.d.ts +0 -429
- package/dist/manus-client.d.ts.map +0 -1
- package/dist/manus-client.js +0 -401
- package/dist/manus-client.js.map +0 -1
- package/dist/manus-common.d.ts +0 -5
- package/dist/manus-common.d.ts.map +0 -1
- package/dist/manus-common.js +0 -5
- package/dist/manus-common.js.map +0 -1
- package/dist/manus-schedule.d.ts +0 -74
- package/dist/manus-schedule.d.ts.map +0 -1
- package/dist/manus-schedule.js +0 -213
- package/dist/manus-schedule.js.map +0 -1
- package/dist/manus-usage.d.ts +0 -32
- package/dist/manus-usage.d.ts.map +0 -1
- package/dist/manus-usage.js +0 -120
- package/dist/manus-usage.js.map +0 -1
- package/dist/manus-webhook.d.ts +0 -60
- package/dist/manus-webhook.d.ts.map +0 -1
- package/dist/manus-webhook.js +0 -361
- package/dist/manus-webhook.js.map +0 -1
- package/dist/pricing-tools.d.ts +0 -26
- package/dist/pricing-tools.d.ts.map +0 -1
- package/dist/pricing-tools.js +0 -428
- package/dist/pricing-tools.js.map +0 -1
- package/dist/projects-tools.d.ts +0 -39
- package/dist/projects-tools.d.ts.map +0 -1
- package/dist/projects-tools.js +0 -545
- package/dist/projects-tools.js.map +0 -1
- package/dist/prompts.d.ts +0 -7
- package/dist/prompts.d.ts.map +0 -1
- package/dist/prompts.js +0 -151
- package/dist/prompts.js.map +0 -1
- package/dist/stripe-connect-tools.d.ts +0 -33
- package/dist/stripe-connect-tools.d.ts.map +0 -1
- package/dist/stripe-connect-tools.js +0 -504
- package/dist/stripe-connect-tools.js.map +0 -1
- package/dist/timing-safe-equal.d.ts +0 -5
- package/dist/timing-safe-equal.d.ts.map +0 -1
- package/dist/timing-safe-equal.js +0 -13
- package/dist/timing-safe-equal.js.map +0 -1
- package/dist/tools-backlog.d.ts +0 -37
- package/dist/tools-backlog.d.ts.map +0 -1
- package/dist/tools-backlog.js +0 -410
- package/dist/tools-backlog.js.map +0 -1
- package/dist/tools-carrier-ask.d.ts +0 -138
- package/dist/tools-carrier-ask.d.ts.map +0 -1
- package/dist/tools-carrier-ask.js +0 -913
- package/dist/tools-carrier-ask.js.map +0 -1
- package/dist/tools-pricing.d.ts +0 -18
- package/dist/tools-pricing.d.ts.map +0 -1
- package/dist/tools-pricing.js +0 -172
- package/dist/tools-pricing.js.map +0 -1
- package/dist/tools-ui-agent-ask.d.ts +0 -29
- package/dist/tools-ui-agent-ask.d.ts.map +0 -1
- package/dist/tools-ui-agent-ask.js +0 -272
- package/dist/tools-ui-agent-ask.js.map +0 -1
- package/dist/tools-ui-agent-schedule.d.ts +0 -29
- package/dist/tools-ui-agent-schedule.d.ts.map +0 -1
- package/dist/tools-ui-agent-schedule.js +0 -517
- package/dist/tools-ui-agent-schedule.js.map +0 -1
- package/dist/tools-ui-agent.d.ts +0 -40
- package/dist/tools-ui-agent.d.ts.map +0 -1
- package/dist/tools-ui-agent.js +0 -508
- package/dist/tools-ui-agent.js.map +0 -1
- package/dist/tools.d.ts +0 -60
- package/dist/tools.d.ts.map +0 -1
- package/dist/tools.js +0 -1384
- package/dist/tools.js.map +0 -1
- package/dist/types.d.ts +0 -298
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -5
- package/dist/types.js.map +0 -1
|
@@ -1,517 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Carrier MCP — Manus Scheduled Tasks + Usage Telemetry tools (v1.0.0).
|
|
3
|
-
*
|
|
4
|
-
* NEW TOOLS:
|
|
5
|
-
* ui_agent_schedule_create — create a recurring Manus agent run (cron-based)
|
|
6
|
-
* ui_agent_schedule_list — list the caller's schedules
|
|
7
|
-
* ui_agent_schedule_delete — delete a schedule by ID
|
|
8
|
-
* ui_agent_schedule_pause — pause a schedule
|
|
9
|
-
* ui_agent_schedule_resume — resume a paused schedule
|
|
10
|
-
* ui_agent_usage — current month spend + remaining credits (60s KV cache)
|
|
11
|
-
*
|
|
12
|
-
* SCOPE GATES:
|
|
13
|
-
* - schedule_create / delete / pause / resume: admin only
|
|
14
|
-
* - schedule_list / usage: read
|
|
15
|
-
*
|
|
16
|
-
* CRON SAFETY:
|
|
17
|
-
* - Minimum interval: 5 minutes (rejects * * * * * and sub-5-min step/list expressions)
|
|
18
|
-
*
|
|
19
|
-
* AUDIT:
|
|
20
|
-
* - Every mutating call writes an AE row.
|
|
21
|
-
* - ui_agent_usage emits threshold events when remaining_credits < 1000 (warning) or < 100 (critical).
|
|
22
|
-
*/
|
|
23
|
-
import { z } from "zod";
|
|
24
|
-
import { createSchedule, listSchedules, deleteSchedule, pauseSchedule, resumeSchedule, validateCron, ManusScheduleError, } from "./manus-schedule.js";
|
|
25
|
-
import { getUsage, emitUsageThresholdIfNeeded } from "./manus-usage.js";
|
|
26
|
-
/** Doc + registry merge — keep aligned with scope checks in registerScheduleAndUsageTools. */
|
|
27
|
-
export const UI_AGENT_SCHEDULE_TOOL_SCOPES = {
|
|
28
|
-
ui_agent_schedule_create: "admin",
|
|
29
|
-
ui_agent_schedule_list: "read",
|
|
30
|
-
ui_agent_schedule_delete: "admin",
|
|
31
|
-
ui_agent_schedule_pause: "admin",
|
|
32
|
-
ui_agent_schedule_resume: "admin",
|
|
33
|
-
ui_agent_usage: "read",
|
|
34
|
-
};
|
|
35
|
-
function noManusKeyError() {
|
|
36
|
-
return {
|
|
37
|
-
isError: true,
|
|
38
|
-
content: [
|
|
39
|
-
{
|
|
40
|
-
type: "text",
|
|
41
|
-
text: JSON.stringify({
|
|
42
|
-
error: "manus_api_not_configured",
|
|
43
|
-
message: "MANUS_API_KEY is not configured on this Carrier MCP deployment. " +
|
|
44
|
-
"Schedule and usage tools require a Manus API key. " +
|
|
45
|
-
"Contact your Carrier MCP administrator.",
|
|
46
|
-
}),
|
|
47
|
-
},
|
|
48
|
-
],
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
function scopeError(toolName, required, actual) {
|
|
52
|
-
return {
|
|
53
|
-
isError: true,
|
|
54
|
-
content: [
|
|
55
|
-
{
|
|
56
|
-
type: "text",
|
|
57
|
-
text: `Scope denied: tool '${toolName}' requires '${required}' scope. Your token has: [${actual.join(", ")}].`,
|
|
58
|
-
},
|
|
59
|
-
],
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
// ---------------------------------------------------------------------------
|
|
63
|
-
// Tool registrations
|
|
64
|
-
// ---------------------------------------------------------------------------
|
|
65
|
-
export function registerScheduleAndUsageTools(server, ctx) {
|
|
66
|
-
// =========================================================================
|
|
67
|
-
// ui_agent_schedule_create
|
|
68
|
-
// =========================================================================
|
|
69
|
-
server.registerTool("ui_agent_schedule_create", {
|
|
70
|
-
title: "Create Manus Schedule (UI Agent)",
|
|
71
|
-
description: "Creates a recurring Manus agent run on a cron schedule. " +
|
|
72
|
-
"Use this to automate periodic OCS audits, fleet health checks, or any recurring " +
|
|
73
|
-
"browser-automation task. Minimum interval: 5 minutes (*/1, */2, */3, */4 and '* * * * *' are rejected). " +
|
|
74
|
-
"Requires admin scope. Returns schedule_id.",
|
|
75
|
-
inputSchema: {
|
|
76
|
-
name: z.string().describe("Human-readable name for this schedule"),
|
|
77
|
-
cron: z
|
|
78
|
-
.string()
|
|
79
|
-
.describe("Standard 5-field cron expression (minute hour day month weekday). " +
|
|
80
|
-
"Minimum interval: 5 minutes. Example: '0 */6 * * *' = every 6 hours."),
|
|
81
|
-
prompt_template: z
|
|
82
|
-
.string()
|
|
83
|
-
.describe("Agent prompt/task template the Manus agent will execute on each run"),
|
|
84
|
-
profile: z
|
|
85
|
-
.string()
|
|
86
|
-
.optional()
|
|
87
|
-
.describe("Manus agent profile to use. Defaults to 'manus-1.6-lite'."),
|
|
88
|
-
},
|
|
89
|
-
}, async (args) => {
|
|
90
|
-
const start = Date.now();
|
|
91
|
-
if (!ctx.props.scope.includes("admin")) {
|
|
92
|
-
ctx.audit({
|
|
93
|
-
tool_name: "ui_agent_schedule_create",
|
|
94
|
-
ocs_method: "[manus:schedule.create]",
|
|
95
|
-
status: "scope_denied",
|
|
96
|
-
dry_run: false,
|
|
97
|
-
duration_ms: 0,
|
|
98
|
-
});
|
|
99
|
-
return scopeError("ui_agent_schedule_create", "admin", ctx.props.scope);
|
|
100
|
-
}
|
|
101
|
-
if (!ctx.env.MANUS_API_KEY) {
|
|
102
|
-
return noManusKeyError();
|
|
103
|
-
}
|
|
104
|
-
const cronError = validateCron(args.cron);
|
|
105
|
-
if (cronError) {
|
|
106
|
-
return {
|
|
107
|
-
isError: true,
|
|
108
|
-
content: [{ type: "text", text: JSON.stringify({ error: "invalid_cron", message: cronError }) }],
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
try {
|
|
112
|
-
const result = await createSchedule(ctx.env.MANUS_API_KEY, {
|
|
113
|
-
name: args.name,
|
|
114
|
-
cron: args.cron,
|
|
115
|
-
prompt_template: args.prompt_template,
|
|
116
|
-
agent_profile: args.profile,
|
|
117
|
-
});
|
|
118
|
-
ctx.audit({
|
|
119
|
-
tool_name: "ui_agent_schedule_create",
|
|
120
|
-
ocs_method: "[manus:schedule.create]",
|
|
121
|
-
status: result.ok ? "ok" : "error",
|
|
122
|
-
dry_run: false,
|
|
123
|
-
duration_ms: Date.now() - start,
|
|
124
|
-
event_type: "ui_agent_dispatch",
|
|
125
|
-
});
|
|
126
|
-
if (!result.ok || !result.schedule_id) {
|
|
127
|
-
return {
|
|
128
|
-
isError: true,
|
|
129
|
-
content: [
|
|
130
|
-
{
|
|
131
|
-
type: "text",
|
|
132
|
-
text: JSON.stringify({
|
|
133
|
-
error: "schedule_create_failed",
|
|
134
|
-
message: result.error?.message ?? "Manus schedule.create returned ok=false",
|
|
135
|
-
code: result.error?.code,
|
|
136
|
-
}),
|
|
137
|
-
},
|
|
138
|
-
],
|
|
139
|
-
};
|
|
140
|
-
}
|
|
141
|
-
return {
|
|
142
|
-
content: [
|
|
143
|
-
{
|
|
144
|
-
type: "text",
|
|
145
|
-
text: JSON.stringify({
|
|
146
|
-
status: "created",
|
|
147
|
-
schedule_id: result.schedule_id,
|
|
148
|
-
name: args.name,
|
|
149
|
-
cron: args.cron,
|
|
150
|
-
}, null, 2),
|
|
151
|
-
},
|
|
152
|
-
],
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
catch (err) {
|
|
156
|
-
ctx.audit({
|
|
157
|
-
tool_name: "ui_agent_schedule_create",
|
|
158
|
-
ocs_method: "[manus:schedule.create]",
|
|
159
|
-
status: "error",
|
|
160
|
-
dry_run: false,
|
|
161
|
-
duration_ms: Date.now() - start,
|
|
162
|
-
event_type: "ui_agent_dispatch",
|
|
163
|
-
});
|
|
164
|
-
const msg = err instanceof ManusScheduleError
|
|
165
|
-
? `Manus API error (HTTP ${err.statusCode}): ${err.message}`
|
|
166
|
-
: (err instanceof Error ? err.message : String(err));
|
|
167
|
-
return { isError: true, content: [{ type: "text", text: msg }] };
|
|
168
|
-
}
|
|
169
|
-
});
|
|
170
|
-
// =========================================================================
|
|
171
|
-
// ui_agent_schedule_list
|
|
172
|
-
// =========================================================================
|
|
173
|
-
server.registerTool("ui_agent_schedule_list", {
|
|
174
|
-
title: "List Manus Schedules",
|
|
175
|
-
description: "Lists all Manus recurring schedules configured for this API key. " +
|
|
176
|
-
"Returns schedule IDs, names, cron expressions, status (active/paused), " +
|
|
177
|
-
"and next/last run timestamps.",
|
|
178
|
-
inputSchema: {},
|
|
179
|
-
}, async () => {
|
|
180
|
-
const start = Date.now();
|
|
181
|
-
if (!ctx.props.scope.includes("read")) {
|
|
182
|
-
ctx.audit({
|
|
183
|
-
tool_name: "ui_agent_schedule_list",
|
|
184
|
-
ocs_method: "[manus:schedule.list]",
|
|
185
|
-
status: "scope_denied",
|
|
186
|
-
dry_run: false,
|
|
187
|
-
duration_ms: 0,
|
|
188
|
-
});
|
|
189
|
-
return scopeError("ui_agent_schedule_list", "read", ctx.props.scope);
|
|
190
|
-
}
|
|
191
|
-
if (!ctx.env.MANUS_API_KEY) {
|
|
192
|
-
return noManusKeyError();
|
|
193
|
-
}
|
|
194
|
-
try {
|
|
195
|
-
const result = await listSchedules(ctx.env.MANUS_API_KEY);
|
|
196
|
-
ctx.audit({
|
|
197
|
-
tool_name: "ui_agent_schedule_list",
|
|
198
|
-
ocs_method: "[manus:schedule.list]",
|
|
199
|
-
status: result.ok ? "ok" : "error",
|
|
200
|
-
dry_run: false,
|
|
201
|
-
duration_ms: Date.now() - start,
|
|
202
|
-
});
|
|
203
|
-
if (!result.ok) {
|
|
204
|
-
return {
|
|
205
|
-
isError: true,
|
|
206
|
-
content: [
|
|
207
|
-
{
|
|
208
|
-
type: "text",
|
|
209
|
-
text: JSON.stringify({
|
|
210
|
-
error: "schedule_list_failed",
|
|
211
|
-
message: result.error?.message ?? "Manus schedule.list returned ok=false",
|
|
212
|
-
}),
|
|
213
|
-
},
|
|
214
|
-
],
|
|
215
|
-
};
|
|
216
|
-
}
|
|
217
|
-
return {
|
|
218
|
-
content: [
|
|
219
|
-
{
|
|
220
|
-
type: "text",
|
|
221
|
-
text: JSON.stringify({ schedules: result.schedules ?? [] }, null, 2),
|
|
222
|
-
},
|
|
223
|
-
],
|
|
224
|
-
};
|
|
225
|
-
}
|
|
226
|
-
catch (err) {
|
|
227
|
-
ctx.audit({
|
|
228
|
-
tool_name: "ui_agent_schedule_list",
|
|
229
|
-
ocs_method: "[manus:schedule.list]",
|
|
230
|
-
status: "error",
|
|
231
|
-
dry_run: false,
|
|
232
|
-
duration_ms: Date.now() - start,
|
|
233
|
-
});
|
|
234
|
-
const msg = err instanceof ManusScheduleError
|
|
235
|
-
? `Manus API error (HTTP ${err.statusCode}): ${err.message}`
|
|
236
|
-
: (err instanceof Error ? err.message : String(err));
|
|
237
|
-
return { isError: true, content: [{ type: "text", text: msg }] };
|
|
238
|
-
}
|
|
239
|
-
});
|
|
240
|
-
// =========================================================================
|
|
241
|
-
// ui_agent_schedule_delete
|
|
242
|
-
// =========================================================================
|
|
243
|
-
server.registerTool("ui_agent_schedule_delete", {
|
|
244
|
-
title: "Delete Manus Schedule",
|
|
245
|
-
description: "Permanently deletes a Manus recurring schedule. " +
|
|
246
|
-
"This cannot be undone. Use ui_agent_schedule_pause to temporarily suspend instead. " +
|
|
247
|
-
"Requires admin scope.",
|
|
248
|
-
inputSchema: {
|
|
249
|
-
schedule_id: z.string().describe("ID of the schedule to delete"),
|
|
250
|
-
},
|
|
251
|
-
}, async (args) => {
|
|
252
|
-
const start = Date.now();
|
|
253
|
-
if (!ctx.props.scope.includes("admin")) {
|
|
254
|
-
ctx.audit({
|
|
255
|
-
tool_name: "ui_agent_schedule_delete",
|
|
256
|
-
ocs_method: "[manus:schedule.delete]",
|
|
257
|
-
status: "scope_denied",
|
|
258
|
-
dry_run: false,
|
|
259
|
-
duration_ms: 0,
|
|
260
|
-
});
|
|
261
|
-
return scopeError("ui_agent_schedule_delete", "admin", ctx.props.scope);
|
|
262
|
-
}
|
|
263
|
-
if (!ctx.env.MANUS_API_KEY) {
|
|
264
|
-
return noManusKeyError();
|
|
265
|
-
}
|
|
266
|
-
try {
|
|
267
|
-
const result = await deleteSchedule(ctx.env.MANUS_API_KEY, args.schedule_id);
|
|
268
|
-
ctx.audit({
|
|
269
|
-
tool_name: "ui_agent_schedule_delete",
|
|
270
|
-
ocs_method: "[manus:schedule.delete]",
|
|
271
|
-
status: result.ok ? "ok" : "error",
|
|
272
|
-
dry_run: false,
|
|
273
|
-
duration_ms: Date.now() - start,
|
|
274
|
-
event_type: "ui_agent_dispatch",
|
|
275
|
-
});
|
|
276
|
-
if (!result.ok) {
|
|
277
|
-
return {
|
|
278
|
-
isError: true,
|
|
279
|
-
content: [
|
|
280
|
-
{
|
|
281
|
-
type: "text",
|
|
282
|
-
text: JSON.stringify({
|
|
283
|
-
error: "schedule_delete_failed",
|
|
284
|
-
message: result.error?.message ?? "Manus schedule.delete returned ok=false",
|
|
285
|
-
}),
|
|
286
|
-
},
|
|
287
|
-
],
|
|
288
|
-
};
|
|
289
|
-
}
|
|
290
|
-
return {
|
|
291
|
-
content: [
|
|
292
|
-
{
|
|
293
|
-
type: "text",
|
|
294
|
-
text: JSON.stringify({ status: "deleted", schedule_id: args.schedule_id }, null, 2),
|
|
295
|
-
},
|
|
296
|
-
],
|
|
297
|
-
};
|
|
298
|
-
}
|
|
299
|
-
catch (err) {
|
|
300
|
-
ctx.audit({
|
|
301
|
-
tool_name: "ui_agent_schedule_delete",
|
|
302
|
-
ocs_method: "[manus:schedule.delete]",
|
|
303
|
-
status: "error",
|
|
304
|
-
dry_run: false,
|
|
305
|
-
duration_ms: Date.now() - start,
|
|
306
|
-
event_type: "ui_agent_dispatch",
|
|
307
|
-
});
|
|
308
|
-
const msg = err instanceof ManusScheduleError
|
|
309
|
-
? `Manus API error (HTTP ${err.statusCode}): ${err.message}`
|
|
310
|
-
: (err instanceof Error ? err.message : String(err));
|
|
311
|
-
return { isError: true, content: [{ type: "text", text: msg }] };
|
|
312
|
-
}
|
|
313
|
-
});
|
|
314
|
-
// =========================================================================
|
|
315
|
-
// ui_agent_schedule_pause
|
|
316
|
-
// =========================================================================
|
|
317
|
-
server.registerTool("ui_agent_schedule_pause", {
|
|
318
|
-
title: "Pause Manus Schedule",
|
|
319
|
-
description: "Pauses an active Manus recurring schedule. The schedule is preserved and can be " +
|
|
320
|
-
"resumed later with ui_agent_schedule_resume. Requires admin scope.",
|
|
321
|
-
inputSchema: {
|
|
322
|
-
schedule_id: z.string().describe("ID of the schedule to pause"),
|
|
323
|
-
},
|
|
324
|
-
}, async (args) => {
|
|
325
|
-
const start = Date.now();
|
|
326
|
-
if (!ctx.props.scope.includes("admin")) {
|
|
327
|
-
ctx.audit({
|
|
328
|
-
tool_name: "ui_agent_schedule_pause",
|
|
329
|
-
ocs_method: "[manus:schedule.pause]",
|
|
330
|
-
status: "scope_denied",
|
|
331
|
-
dry_run: false,
|
|
332
|
-
duration_ms: 0,
|
|
333
|
-
});
|
|
334
|
-
return scopeError("ui_agent_schedule_pause", "admin", ctx.props.scope);
|
|
335
|
-
}
|
|
336
|
-
if (!ctx.env.MANUS_API_KEY) {
|
|
337
|
-
return noManusKeyError();
|
|
338
|
-
}
|
|
339
|
-
try {
|
|
340
|
-
const result = await pauseSchedule(ctx.env.MANUS_API_KEY, args.schedule_id);
|
|
341
|
-
ctx.audit({
|
|
342
|
-
tool_name: "ui_agent_schedule_pause",
|
|
343
|
-
ocs_method: "[manus:schedule.pause]",
|
|
344
|
-
status: result.ok ? "ok" : "error",
|
|
345
|
-
dry_run: false,
|
|
346
|
-
duration_ms: Date.now() - start,
|
|
347
|
-
event_type: "ui_agent_dispatch",
|
|
348
|
-
});
|
|
349
|
-
if (!result.ok) {
|
|
350
|
-
return {
|
|
351
|
-
isError: true,
|
|
352
|
-
content: [
|
|
353
|
-
{
|
|
354
|
-
type: "text",
|
|
355
|
-
text: JSON.stringify({
|
|
356
|
-
error: "schedule_pause_failed",
|
|
357
|
-
message: result.error?.message ?? "Manus schedule.pause returned ok=false",
|
|
358
|
-
}),
|
|
359
|
-
},
|
|
360
|
-
],
|
|
361
|
-
};
|
|
362
|
-
}
|
|
363
|
-
return {
|
|
364
|
-
content: [
|
|
365
|
-
{
|
|
366
|
-
type: "text",
|
|
367
|
-
text: JSON.stringify({ status: "paused", schedule_id: args.schedule_id }, null, 2),
|
|
368
|
-
},
|
|
369
|
-
],
|
|
370
|
-
};
|
|
371
|
-
}
|
|
372
|
-
catch (err) {
|
|
373
|
-
ctx.audit({
|
|
374
|
-
tool_name: "ui_agent_schedule_pause",
|
|
375
|
-
ocs_method: "[manus:schedule.pause]",
|
|
376
|
-
status: "error",
|
|
377
|
-
dry_run: false,
|
|
378
|
-
duration_ms: Date.now() - start,
|
|
379
|
-
event_type: "ui_agent_dispatch",
|
|
380
|
-
});
|
|
381
|
-
const msg = err instanceof ManusScheduleError
|
|
382
|
-
? `Manus API error (HTTP ${err.statusCode}): ${err.message}`
|
|
383
|
-
: (err instanceof Error ? err.message : String(err));
|
|
384
|
-
return { isError: true, content: [{ type: "text", text: msg }] };
|
|
385
|
-
}
|
|
386
|
-
});
|
|
387
|
-
// =========================================================================
|
|
388
|
-
// ui_agent_schedule_resume
|
|
389
|
-
// =========================================================================
|
|
390
|
-
server.registerTool("ui_agent_schedule_resume", {
|
|
391
|
-
title: "Resume Manus Schedule",
|
|
392
|
-
description: "Resumes a paused Manus recurring schedule. Requires admin scope.",
|
|
393
|
-
inputSchema: {
|
|
394
|
-
schedule_id: z.string().describe("ID of the schedule to resume"),
|
|
395
|
-
},
|
|
396
|
-
}, async (args) => {
|
|
397
|
-
const start = Date.now();
|
|
398
|
-
if (!ctx.props.scope.includes("admin")) {
|
|
399
|
-
ctx.audit({
|
|
400
|
-
tool_name: "ui_agent_schedule_resume",
|
|
401
|
-
ocs_method: "[manus:schedule.resume]",
|
|
402
|
-
status: "scope_denied",
|
|
403
|
-
dry_run: false,
|
|
404
|
-
duration_ms: 0,
|
|
405
|
-
});
|
|
406
|
-
return scopeError("ui_agent_schedule_resume", "admin", ctx.props.scope);
|
|
407
|
-
}
|
|
408
|
-
if (!ctx.env.MANUS_API_KEY) {
|
|
409
|
-
return noManusKeyError();
|
|
410
|
-
}
|
|
411
|
-
try {
|
|
412
|
-
const result = await resumeSchedule(ctx.env.MANUS_API_KEY, args.schedule_id);
|
|
413
|
-
ctx.audit({
|
|
414
|
-
tool_name: "ui_agent_schedule_resume",
|
|
415
|
-
ocs_method: "[manus:schedule.resume]",
|
|
416
|
-
status: result.ok ? "ok" : "error",
|
|
417
|
-
dry_run: false,
|
|
418
|
-
duration_ms: Date.now() - start,
|
|
419
|
-
event_type: "ui_agent_dispatch",
|
|
420
|
-
});
|
|
421
|
-
if (!result.ok) {
|
|
422
|
-
return {
|
|
423
|
-
isError: true,
|
|
424
|
-
content: [
|
|
425
|
-
{
|
|
426
|
-
type: "text",
|
|
427
|
-
text: JSON.stringify({
|
|
428
|
-
error: "schedule_resume_failed",
|
|
429
|
-
message: result.error?.message ?? "Manus schedule.resume returned ok=false",
|
|
430
|
-
}),
|
|
431
|
-
},
|
|
432
|
-
],
|
|
433
|
-
};
|
|
434
|
-
}
|
|
435
|
-
return {
|
|
436
|
-
content: [
|
|
437
|
-
{
|
|
438
|
-
type: "text",
|
|
439
|
-
text: JSON.stringify({ status: "active", schedule_id: args.schedule_id }, null, 2),
|
|
440
|
-
},
|
|
441
|
-
],
|
|
442
|
-
};
|
|
443
|
-
}
|
|
444
|
-
catch (err) {
|
|
445
|
-
ctx.audit({
|
|
446
|
-
tool_name: "ui_agent_schedule_resume",
|
|
447
|
-
ocs_method: "[manus:schedule.resume]",
|
|
448
|
-
status: "error",
|
|
449
|
-
dry_run: false,
|
|
450
|
-
duration_ms: Date.now() - start,
|
|
451
|
-
event_type: "ui_agent_dispatch",
|
|
452
|
-
});
|
|
453
|
-
const msg = err instanceof ManusScheduleError
|
|
454
|
-
? `Manus API error (HTTP ${err.statusCode}): ${err.message}`
|
|
455
|
-
: (err instanceof Error ? err.message : String(err));
|
|
456
|
-
return { isError: true, content: [{ type: "text", text: msg }] };
|
|
457
|
-
}
|
|
458
|
-
});
|
|
459
|
-
// =========================================================================
|
|
460
|
-
// ui_agent_usage
|
|
461
|
-
// =========================================================================
|
|
462
|
-
server.registerTool("ui_agent_usage", {
|
|
463
|
-
title: "Manus Usage & Credits",
|
|
464
|
-
description: "Returns current month Manus credit spend, remaining balance, and task count. " +
|
|
465
|
-
"Result is cached for 60 seconds in KV to avoid rate-limiting the Manus API. " +
|
|
466
|
-
"Emits an Analytics Engine event when remaining_credits drops below 1000 (warning) " +
|
|
467
|
-
"or 100 (critical). Use this to track Carrier's Manus credit burn.",
|
|
468
|
-
inputSchema: {},
|
|
469
|
-
}, async () => {
|
|
470
|
-
const start = Date.now();
|
|
471
|
-
if (!ctx.props.scope.includes("read")) {
|
|
472
|
-
ctx.audit({
|
|
473
|
-
tool_name: "ui_agent_usage",
|
|
474
|
-
ocs_method: "[manus:usage.get]",
|
|
475
|
-
status: "scope_denied",
|
|
476
|
-
dry_run: false,
|
|
477
|
-
duration_ms: 0,
|
|
478
|
-
});
|
|
479
|
-
return scopeError("ui_agent_usage", "read", ctx.props.scope);
|
|
480
|
-
}
|
|
481
|
-
if (!ctx.env.MANUS_API_KEY) {
|
|
482
|
-
return noManusKeyError();
|
|
483
|
-
}
|
|
484
|
-
try {
|
|
485
|
-
const { data, from_cache } = await getUsage(ctx.env.MANUS_API_KEY, ctx.env);
|
|
486
|
-
// Emit threshold AE event if needed (fire-and-forget)
|
|
487
|
-
emitUsageThresholdIfNeeded(ctx.env, data);
|
|
488
|
-
ctx.audit({
|
|
489
|
-
tool_name: "ui_agent_usage",
|
|
490
|
-
ocs_method: "[manus:usage.get]",
|
|
491
|
-
status: "ok",
|
|
492
|
-
dry_run: false,
|
|
493
|
-
duration_ms: Date.now() - start,
|
|
494
|
-
});
|
|
495
|
-
return {
|
|
496
|
-
content: [
|
|
497
|
-
{
|
|
498
|
-
type: "text",
|
|
499
|
-
text: JSON.stringify({ ...data, from_cache }, null, 2),
|
|
500
|
-
},
|
|
501
|
-
],
|
|
502
|
-
};
|
|
503
|
-
}
|
|
504
|
-
catch (err) {
|
|
505
|
-
ctx.audit({
|
|
506
|
-
tool_name: "ui_agent_usage",
|
|
507
|
-
ocs_method: "[manus:usage.get]",
|
|
508
|
-
status: "error",
|
|
509
|
-
dry_run: false,
|
|
510
|
-
duration_ms: Date.now() - start,
|
|
511
|
-
});
|
|
512
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
513
|
-
return { isError: true, content: [{ type: "text", text: msg }] };
|
|
514
|
-
}
|
|
515
|
-
});
|
|
516
|
-
}
|
|
517
|
-
//# sourceMappingURL=tools-ui-agent-schedule.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tools-ui-agent-schedule.js","sourceRoot":"","sources":["../src/tools-ui-agent-schedule.ts"],"names":[],"mappings":"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"}
|
package/dist/tools-ui-agent.d.ts
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Carrier MCP — UI-Agent tools (v1.1.1).
|
|
3
|
-
*
|
|
4
|
-
* These tools handle OCS operations that are NOT exposed via the OCS REST API
|
|
5
|
-
* (confirmed by NOC/Bridge4IP on 2026-05-13). Instead of calling OCS JSON-RPC,
|
|
6
|
-
* they spawn a Manus "lite" agent that drives the OCS web dashboard via browser
|
|
7
|
-
* automation to complete the operation.
|
|
8
|
-
*
|
|
9
|
-
* Gap IDs covered:
|
|
10
|
-
* G-01 createSteeringList — create a new steering list
|
|
11
|
-
* G-02 buildSteeringList — add/remove operators in a steering list
|
|
12
|
-
* G-03 setSteeringListOnAccount — assign steering list at account level
|
|
13
|
-
* G-05 createAccount — create a new reseller sub-account
|
|
14
|
-
* G-12 destination list CRUD — create/edit/delete destination lists
|
|
15
|
-
* G-18 deletePackageTemplate — delete a package template
|
|
16
|
-
* G-19 editLocationZone/deleteLocationZone — edit or delete location zones
|
|
17
|
-
*
|
|
18
|
-
* AUTH FLOW:
|
|
19
|
-
* OCS portal credentials are stored in Clerk privateMetadata (org or user level).
|
|
20
|
-
* At dispatch time, getOcsPortalCredentials() reads them via the Clerk Backend API.
|
|
21
|
-
* Credentials are passed to the Manus agent prompt — the agent uses them to log
|
|
22
|
-
* into the OCS dashboard before performing the requested operation.
|
|
23
|
-
*
|
|
24
|
-
* MANUS API:
|
|
25
|
-
* Uses v2 task.create with agent_profile "manus-1.6-lite", hide_in_task_list true,
|
|
26
|
-
* and structured_output_schema to extract a typed result from the agent's work.
|
|
27
|
-
*
|
|
28
|
-
* SAFETY:
|
|
29
|
-
* - All UI-agent tools require "write" or "admin" scope.
|
|
30
|
-
* - Destructive operations support dry_run (returns the prompt without dispatching).
|
|
31
|
-
* - Audit log records ui_agent_dispatched status + Manus task_id.
|
|
32
|
-
* - Credentials are never logged or returned in tool output.
|
|
33
|
-
*/
|
|
34
|
-
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
35
|
-
import type { ToolContext } from "./tools.js";
|
|
36
|
-
import type { ToolScope } from "./types.js";
|
|
37
|
-
export declare const UI_AGENT_TOOL_SCOPES: Record<string, ToolScope>;
|
|
38
|
-
export declare const UI_AGENT_DESTRUCTIVE_TOOLS: Set<string>;
|
|
39
|
-
export declare function registerAllUiAgentTools(server: McpServer, ctx: ToolContext): void;
|
|
40
|
-
//# sourceMappingURL=tools-ui-agent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tools-ui-agent.d.ts","sourceRoot":"","sources":["../src/tools-ui-agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AA+S5C,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAW1D,CAAC;AAEF,eAAO,MAAM,0BAA0B,aAWrC,CAAC;AAKH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,WAAW,GACf,IAAI,CA4RN"}
|