bunqueue 2.6.4 → 2.6.6
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/application/operations/jobManagement.d.ts.map +1 -1
- package/dist/application/operations/jobManagement.js +2 -1
- package/dist/application/operations/jobManagement.js.map +1 -1
- package/dist/application/operations/queryOperations.d.ts.map +1 -1
- package/dist/application/operations/queryOperations.js +18 -7
- package/dist/application/operations/queryOperations.js.map +1 -1
- package/dist/client/flowPush.d.ts.map +1 -1
- package/dist/client/flowPush.js +4 -0
- package/dist/client/flowPush.js.map +1 -1
- package/dist/client/sandboxed/queueOps.d.ts.map +1 -1
- package/dist/client/sandboxed/queueOps.js +7 -1
- package/dist/client/sandboxed/queueOps.js.map +1 -1
- package/dist/client/sandboxed/worker.d.ts +2 -0
- package/dist/client/sandboxed/worker.d.ts.map +1 -1
- package/dist/client/sandboxed/worker.js +2 -1
- package/dist/client/sandboxed/worker.js.map +1 -1
- package/dist/client/worker/worker.d.ts +1 -1
- package/dist/client/worker/worker.d.ts.map +1 -1
- package/dist/client/worker/worker.js +14 -3
- package/dist/client/worker/worker.js.map +1 -1
- package/dist/domain/types/job.d.ts +1 -0
- package/dist/domain/types/job.d.ts.map +1 -1
- package/dist/domain/types/job.js +1 -1
- package/dist/domain/types/job.js.map +1 -1
- package/dist/mcp/mcpHandlers.d.ts +129 -0
- package/dist/mcp/mcpHandlers.d.ts.map +1 -0
- package/dist/mcp/mcpHandlers.js +204 -0
- package/dist/mcp/mcpHandlers.js.map +1 -0
- package/dist/mcp/mcpTools.d.ts +15 -0
- package/dist/mcp/mcpTools.d.ts.map +1 -0
- package/dist/mcp/mcpTools.js +277 -0
- package/dist/mcp/mcpTools.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.js","sourceRoot":"","sources":["../../../src/domain/types/job.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,iCAAiC;AACjC,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,EAAW,CAAC;AACrB,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,aAAa;IAC3B,OAAO,GAAG,CAAC,YAAY,EAAW,CAAC;AACrC,CAAC;AA+CD,4CAA4C;AAC5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"job.js","sourceRoot":"","sources":["../../../src/domain/types/job.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool Handlers
|
|
3
|
+
* Implementation of tool operations for the bunqueue MCP server
|
|
4
|
+
*/
|
|
5
|
+
export type ToolArgs = Record<string, unknown>;
|
|
6
|
+
export declare function handleAddJob(args: ToolArgs): Promise<{
|
|
7
|
+
jobId: string;
|
|
8
|
+
queue: unknown;
|
|
9
|
+
message: string;
|
|
10
|
+
}>;
|
|
11
|
+
export declare function handleAddJobsBulk(args: ToolArgs): Promise<{
|
|
12
|
+
count: number;
|
|
13
|
+
jobIds: string[];
|
|
14
|
+
queue: unknown;
|
|
15
|
+
}>;
|
|
16
|
+
export declare function handleGetJob(args: ToolArgs): Promise<{
|
|
17
|
+
error: string;
|
|
18
|
+
id?: undefined;
|
|
19
|
+
name?: undefined;
|
|
20
|
+
data?: undefined;
|
|
21
|
+
queue?: undefined;
|
|
22
|
+
progress?: undefined;
|
|
23
|
+
attempts?: undefined;
|
|
24
|
+
maxAttempts?: undefined;
|
|
25
|
+
createdAt?: undefined;
|
|
26
|
+
} | {
|
|
27
|
+
id: string;
|
|
28
|
+
name: string;
|
|
29
|
+
data: unknown;
|
|
30
|
+
queue: string;
|
|
31
|
+
progress: number;
|
|
32
|
+
attempts: number;
|
|
33
|
+
maxAttempts: number;
|
|
34
|
+
createdAt: string;
|
|
35
|
+
error?: undefined;
|
|
36
|
+
}>;
|
|
37
|
+
export declare function handleCancelJob(args: ToolArgs): Promise<{
|
|
38
|
+
success: boolean;
|
|
39
|
+
jobId: unknown;
|
|
40
|
+
}>;
|
|
41
|
+
export declare function handleUpdateProgress(args: ToolArgs): Promise<{
|
|
42
|
+
success: boolean;
|
|
43
|
+
jobId: unknown;
|
|
44
|
+
progress: unknown;
|
|
45
|
+
}>;
|
|
46
|
+
export declare function handlePauseQueue(args: ToolArgs): {
|
|
47
|
+
success: boolean;
|
|
48
|
+
queue: unknown;
|
|
49
|
+
message: string;
|
|
50
|
+
};
|
|
51
|
+
export declare function handleResumeQueue(args: ToolArgs): {
|
|
52
|
+
success: boolean;
|
|
53
|
+
queue: unknown;
|
|
54
|
+
message: string;
|
|
55
|
+
};
|
|
56
|
+
export declare function handleDrainQueue(args: ToolArgs): {
|
|
57
|
+
success: boolean;
|
|
58
|
+
queue: unknown;
|
|
59
|
+
removed: number;
|
|
60
|
+
message: string;
|
|
61
|
+
};
|
|
62
|
+
export declare function handleObliterateQueue(args: ToolArgs): {
|
|
63
|
+
success: boolean;
|
|
64
|
+
queue: unknown;
|
|
65
|
+
message: string;
|
|
66
|
+
};
|
|
67
|
+
export declare function handleListQueues(): {
|
|
68
|
+
queues: string[];
|
|
69
|
+
};
|
|
70
|
+
export declare function handleCountJobs(args: ToolArgs): {
|
|
71
|
+
queue: unknown;
|
|
72
|
+
count: number;
|
|
73
|
+
};
|
|
74
|
+
export declare function handleSetRateLimit(args: ToolArgs): {
|
|
75
|
+
success: boolean;
|
|
76
|
+
queue: unknown;
|
|
77
|
+
rateLimit: unknown;
|
|
78
|
+
};
|
|
79
|
+
export declare function handleSetConcurrency(args: ToolArgs): {
|
|
80
|
+
success: boolean;
|
|
81
|
+
queue: unknown;
|
|
82
|
+
concurrency: unknown;
|
|
83
|
+
};
|
|
84
|
+
export declare function handleGetDlq(args: ToolArgs): {
|
|
85
|
+
id: string;
|
|
86
|
+
name: string;
|
|
87
|
+
data: unknown;
|
|
88
|
+
attempts: number;
|
|
89
|
+
createdAt: string;
|
|
90
|
+
}[];
|
|
91
|
+
export declare function handleRetryDlq(args: ToolArgs): {
|
|
92
|
+
success: boolean;
|
|
93
|
+
queue: unknown;
|
|
94
|
+
retried: number;
|
|
95
|
+
};
|
|
96
|
+
export declare function handlePurgeDlq(args: ToolArgs): {
|
|
97
|
+
success: boolean;
|
|
98
|
+
queue: unknown;
|
|
99
|
+
purged: number;
|
|
100
|
+
};
|
|
101
|
+
export declare function handleAddCron(args: ToolArgs): {
|
|
102
|
+
success: boolean;
|
|
103
|
+
name: string;
|
|
104
|
+
queue: string;
|
|
105
|
+
nextRun: string | null;
|
|
106
|
+
};
|
|
107
|
+
export declare function handleListCrons(): {
|
|
108
|
+
name: string;
|
|
109
|
+
queue: string;
|
|
110
|
+
schedule: string | null;
|
|
111
|
+
repeatEvery: number | null;
|
|
112
|
+
nextRun: string | null;
|
|
113
|
+
executions: number;
|
|
114
|
+
}[];
|
|
115
|
+
export declare function handleDeleteCron(args: ToolArgs): {
|
|
116
|
+
success: boolean;
|
|
117
|
+
name: unknown;
|
|
118
|
+
};
|
|
119
|
+
export declare function handleGetStats(): Record<string, number>;
|
|
120
|
+
export declare function handleGetJobLogs(args: ToolArgs): import("../domain/types/worker").JobLogEntry[];
|
|
121
|
+
export declare function handleAddJobLog(args: ToolArgs): {
|
|
122
|
+
success: boolean;
|
|
123
|
+
jobId: unknown;
|
|
124
|
+
};
|
|
125
|
+
type ToolHandler = (args: ToolArgs) => unknown;
|
|
126
|
+
export declare const TOOL_HANDLERS: Map<string, ToolHandler>;
|
|
127
|
+
export declare function handleToolCall(name: string, args: ToolArgs): unknown;
|
|
128
|
+
export {};
|
|
129
|
+
//# sourceMappingURL=mcpHandlers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpHandlers.d.ts","sourceRoot":"","sources":["../../src/mcp/mcpHandlers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAW/C,wBAAsB,YAAY,CAAC,IAAI,EAAE,QAAQ;;;;GAShD;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,QAAQ;;;;GAUrD;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,QAAQ;;;;;;;;;;;;;;;;;;;;GAehD;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,QAAQ;;;GAInD;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,QAAQ;;;;GAQxD;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ;;;;EAI9C;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ;;;;EAI/C;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ;;;;;EAI9C;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ;;;;EAInD;AAED,wBAAgB,gBAAgB;;EAG/B;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ;;;EAG7C;AAID,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ;;;;EAIhD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ;;;;EAIlD;AAID,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ;;;;;;IAc1C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ;;;;EAK5C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ;;;;EAI5C;AAID,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ;;;;;EAgB3C;AAED,wBAAgB,eAAe;;;;;;;IAU9B;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ;;;EAI9C;AAID,wBAAgB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASvD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,kDAG9C;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ;;;EAK7C;AAID,KAAK,WAAW,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;AAE/C,eAAO,MAAM,aAAa,0BAuBxB,CAAC;AAEH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAIpE"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool Handlers
|
|
3
|
+
* Implementation of tool operations for the bunqueue MCP server
|
|
4
|
+
*/
|
|
5
|
+
import { getSharedManager } from '../client/manager';
|
|
6
|
+
import { jobId } from '../domain/types/job';
|
|
7
|
+
// Job Operations
|
|
8
|
+
export async function handleAddJob(args) {
|
|
9
|
+
const manager = getSharedManager();
|
|
10
|
+
const job = await manager.push(args.queue, {
|
|
11
|
+
data: { name: args.name, ...args.data },
|
|
12
|
+
priority: args.priority,
|
|
13
|
+
delay: args.delay,
|
|
14
|
+
maxAttempts: args.attempts,
|
|
15
|
+
});
|
|
16
|
+
return { jobId: String(job.id), queue: args.queue, message: 'Job added successfully' };
|
|
17
|
+
}
|
|
18
|
+
export async function handleAddJobsBulk(args) {
|
|
19
|
+
const manager = getSharedManager();
|
|
20
|
+
const jobs = args.jobs;
|
|
21
|
+
const inputs = jobs.map((j) => ({
|
|
22
|
+
data: { name: j.name, ...j.data },
|
|
23
|
+
priority: j.priority,
|
|
24
|
+
delay: j.delay,
|
|
25
|
+
}));
|
|
26
|
+
const jobIds = await manager.pushBatch(args.queue, inputs);
|
|
27
|
+
return { count: jobIds.length, jobIds: jobIds.map(String), queue: args.queue };
|
|
28
|
+
}
|
|
29
|
+
export async function handleGetJob(args) {
|
|
30
|
+
const manager = getSharedManager();
|
|
31
|
+
const job = await manager.getJob(jobId(args.jobId));
|
|
32
|
+
if (!job)
|
|
33
|
+
return { error: 'Job not found' };
|
|
34
|
+
const data = job.data;
|
|
35
|
+
return {
|
|
36
|
+
id: String(job.id),
|
|
37
|
+
name: data?.name ?? 'default',
|
|
38
|
+
data: job.data,
|
|
39
|
+
queue: job.queue,
|
|
40
|
+
progress: job.progress,
|
|
41
|
+
attempts: job.attempts,
|
|
42
|
+
maxAttempts: job.maxAttempts,
|
|
43
|
+
createdAt: new Date(job.createdAt).toISOString(),
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export async function handleCancelJob(args) {
|
|
47
|
+
const manager = getSharedManager();
|
|
48
|
+
const cancelled = await manager.cancel(jobId(args.jobId));
|
|
49
|
+
return { success: cancelled, jobId: args.jobId };
|
|
50
|
+
}
|
|
51
|
+
export async function handleUpdateProgress(args) {
|
|
52
|
+
const manager = getSharedManager();
|
|
53
|
+
const updated = await manager.updateProgress(jobId(args.jobId), args.progress, args.message);
|
|
54
|
+
return { success: updated, jobId: args.jobId, progress: args.progress };
|
|
55
|
+
}
|
|
56
|
+
// Queue Control
|
|
57
|
+
export function handlePauseQueue(args) {
|
|
58
|
+
const manager = getSharedManager();
|
|
59
|
+
manager.pause(args.queue);
|
|
60
|
+
return { success: true, queue: args.queue, message: 'Queue paused' };
|
|
61
|
+
}
|
|
62
|
+
export function handleResumeQueue(args) {
|
|
63
|
+
const manager = getSharedManager();
|
|
64
|
+
manager.resume(args.queue);
|
|
65
|
+
return { success: true, queue: args.queue, message: 'Queue resumed' };
|
|
66
|
+
}
|
|
67
|
+
export function handleDrainQueue(args) {
|
|
68
|
+
const manager = getSharedManager();
|
|
69
|
+
const removed = manager.drain(args.queue);
|
|
70
|
+
return { success: true, queue: args.queue, removed, message: `Removed ${removed} waiting jobs` };
|
|
71
|
+
}
|
|
72
|
+
export function handleObliterateQueue(args) {
|
|
73
|
+
const manager = getSharedManager();
|
|
74
|
+
manager.obliterate(args.queue);
|
|
75
|
+
return { success: true, queue: args.queue, message: 'Queue obliterated' };
|
|
76
|
+
}
|
|
77
|
+
export function handleListQueues() {
|
|
78
|
+
const manager = getSharedManager();
|
|
79
|
+
return { queues: manager.listQueues() };
|
|
80
|
+
}
|
|
81
|
+
export function handleCountJobs(args) {
|
|
82
|
+
const manager = getSharedManager();
|
|
83
|
+
return { queue: args.queue, count: manager.count(args.queue) };
|
|
84
|
+
}
|
|
85
|
+
// Rate Limiting
|
|
86
|
+
export function handleSetRateLimit(args) {
|
|
87
|
+
const manager = getSharedManager();
|
|
88
|
+
manager.setRateLimit(args.queue, args.limit);
|
|
89
|
+
return { success: true, queue: args.queue, rateLimit: args.limit };
|
|
90
|
+
}
|
|
91
|
+
export function handleSetConcurrency(args) {
|
|
92
|
+
const manager = getSharedManager();
|
|
93
|
+
manager.setConcurrency(args.queue, args.limit);
|
|
94
|
+
return { success: true, queue: args.queue, concurrency: args.limit };
|
|
95
|
+
}
|
|
96
|
+
// DLQ Operations
|
|
97
|
+
export function handleGetDlq(args) {
|
|
98
|
+
const manager = getSharedManager();
|
|
99
|
+
const limit = args.limit || 20;
|
|
100
|
+
const jobs = manager.getDlq(args.queue, limit);
|
|
101
|
+
return jobs.map((j) => {
|
|
102
|
+
const data = j.data;
|
|
103
|
+
return {
|
|
104
|
+
id: String(j.id),
|
|
105
|
+
name: data?.name ?? 'default',
|
|
106
|
+
data: j.data,
|
|
107
|
+
attempts: j.attempts,
|
|
108
|
+
createdAt: new Date(j.createdAt).toISOString(),
|
|
109
|
+
};
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
export function handleRetryDlq(args) {
|
|
113
|
+
const manager = getSharedManager();
|
|
114
|
+
const id = args.jobId ? jobId(args.jobId) : undefined;
|
|
115
|
+
const retried = manager.retryDlq(args.queue, id);
|
|
116
|
+
return { success: true, queue: args.queue, retried };
|
|
117
|
+
}
|
|
118
|
+
export function handlePurgeDlq(args) {
|
|
119
|
+
const manager = getSharedManager();
|
|
120
|
+
const purged = manager.purgeDlq(args.queue);
|
|
121
|
+
return { success: true, queue: args.queue, purged };
|
|
122
|
+
}
|
|
123
|
+
// Cron Jobs
|
|
124
|
+
export function handleAddCron(args) {
|
|
125
|
+
const manager = getSharedManager();
|
|
126
|
+
const cron = manager.addCron({
|
|
127
|
+
name: args.name,
|
|
128
|
+
queue: args.queue,
|
|
129
|
+
data: args.data,
|
|
130
|
+
schedule: args.schedule,
|
|
131
|
+
repeatEvery: args.repeatEvery,
|
|
132
|
+
priority: args.priority,
|
|
133
|
+
});
|
|
134
|
+
return {
|
|
135
|
+
success: true,
|
|
136
|
+
name: cron.name,
|
|
137
|
+
queue: cron.queue,
|
|
138
|
+
nextRun: cron.nextRun ? new Date(cron.nextRun).toISOString() : null,
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
export function handleListCrons() {
|
|
142
|
+
const manager = getSharedManager();
|
|
143
|
+
return manager.listCrons().map((c) => ({
|
|
144
|
+
name: c.name,
|
|
145
|
+
queue: c.queue,
|
|
146
|
+
schedule: c.schedule,
|
|
147
|
+
repeatEvery: c.repeatEvery,
|
|
148
|
+
nextRun: c.nextRun ? new Date(c.nextRun).toISOString() : null,
|
|
149
|
+
executions: c.executions,
|
|
150
|
+
}));
|
|
151
|
+
}
|
|
152
|
+
export function handleDeleteCron(args) {
|
|
153
|
+
const manager = getSharedManager();
|
|
154
|
+
const deleted = manager.removeCron(args.name);
|
|
155
|
+
return { success: deleted, name: args.name };
|
|
156
|
+
}
|
|
157
|
+
// Stats & Logs
|
|
158
|
+
export function handleGetStats() {
|
|
159
|
+
const manager = getSharedManager();
|
|
160
|
+
const stats = manager.getStats();
|
|
161
|
+
// Convert BigInt to number for JSON serialization
|
|
162
|
+
return JSON.parse(JSON.stringify(stats, (_key, value) => typeof value === 'bigint' ? Number(value) : value));
|
|
163
|
+
}
|
|
164
|
+
export function handleGetJobLogs(args) {
|
|
165
|
+
const manager = getSharedManager();
|
|
166
|
+
return manager.getLogs(jobId(args.jobId));
|
|
167
|
+
}
|
|
168
|
+
export function handleAddJobLog(args) {
|
|
169
|
+
const manager = getSharedManager();
|
|
170
|
+
const level = args.level ?? 'info';
|
|
171
|
+
const added = manager.addLog(jobId(args.jobId), args.message, level);
|
|
172
|
+
return { success: added, jobId: args.jobId };
|
|
173
|
+
}
|
|
174
|
+
export const TOOL_HANDLERS = new Map([
|
|
175
|
+
['bunqueue_add_job', handleAddJob],
|
|
176
|
+
['bunqueue_add_jobs_bulk', handleAddJobsBulk],
|
|
177
|
+
['bunqueue_get_job', handleGetJob],
|
|
178
|
+
['bunqueue_cancel_job', handleCancelJob],
|
|
179
|
+
['bunqueue_update_progress', handleUpdateProgress],
|
|
180
|
+
['bunqueue_pause_queue', handlePauseQueue],
|
|
181
|
+
['bunqueue_resume_queue', handleResumeQueue],
|
|
182
|
+
['bunqueue_drain_queue', handleDrainQueue],
|
|
183
|
+
['bunqueue_obliterate_queue', handleObliterateQueue],
|
|
184
|
+
['bunqueue_list_queues', () => handleListQueues()],
|
|
185
|
+
['bunqueue_count_jobs', handleCountJobs],
|
|
186
|
+
['bunqueue_set_rate_limit', handleSetRateLimit],
|
|
187
|
+
['bunqueue_set_concurrency', handleSetConcurrency],
|
|
188
|
+
['bunqueue_get_dlq', handleGetDlq],
|
|
189
|
+
['bunqueue_retry_dlq', handleRetryDlq],
|
|
190
|
+
['bunqueue_purge_dlq', handlePurgeDlq],
|
|
191
|
+
['bunqueue_add_cron', handleAddCron],
|
|
192
|
+
['bunqueue_list_crons', () => handleListCrons()],
|
|
193
|
+
['bunqueue_delete_cron', handleDeleteCron],
|
|
194
|
+
['bunqueue_get_stats', () => handleGetStats()],
|
|
195
|
+
['bunqueue_get_job_logs', handleGetJobLogs],
|
|
196
|
+
['bunqueue_add_job_log', handleAddJobLog],
|
|
197
|
+
]);
|
|
198
|
+
export function handleToolCall(name, args) {
|
|
199
|
+
const handler = TOOL_HANDLERS.get(name);
|
|
200
|
+
if (!handler)
|
|
201
|
+
throw new Error(`Unknown tool: ${name}`);
|
|
202
|
+
return handler(args);
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=mcpHandlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpHandlers.js","sourceRoot":"","sources":["../../src/mcp/mcpHandlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool Definitions
|
|
3
|
+
* Tool schemas for the bunqueue MCP server
|
|
4
|
+
*/
|
|
5
|
+
export interface Tool {
|
|
6
|
+
name: string;
|
|
7
|
+
description: string;
|
|
8
|
+
inputSchema: {
|
|
9
|
+
type: 'object';
|
|
10
|
+
properties: Record<string, unknown>;
|
|
11
|
+
required?: string[];
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export declare const TOOLS: Tool[];
|
|
15
|
+
//# sourceMappingURL=mcpTools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpTools.d.ts","sourceRoot":"","sources":["../../src/mcp/mcpTools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED,eAAO,MAAM,KAAK,EAAE,IAAI,EA+QvB,CAAC"}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Tool Definitions
|
|
3
|
+
* Tool schemas for the bunqueue MCP server
|
|
4
|
+
*/
|
|
5
|
+
export const TOOLS = [
|
|
6
|
+
// Job Operations
|
|
7
|
+
{
|
|
8
|
+
name: 'bunqueue_add_job',
|
|
9
|
+
description: 'Add a job to a queue. Returns the job ID.',
|
|
10
|
+
inputSchema: {
|
|
11
|
+
type: 'object',
|
|
12
|
+
properties: {
|
|
13
|
+
queue: { type: 'string', description: 'Queue name' },
|
|
14
|
+
name: { type: 'string', description: 'Job name/type' },
|
|
15
|
+
data: { type: 'object', description: 'Job payload data' },
|
|
16
|
+
priority: { type: 'number', description: 'Priority (higher = processed first)' },
|
|
17
|
+
delay: { type: 'number', description: 'Delay in milliseconds before processing' },
|
|
18
|
+
attempts: { type: 'number', description: 'Max retry attempts (default: 3)' },
|
|
19
|
+
},
|
|
20
|
+
required: ['queue', 'name', 'data'],
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'bunqueue_add_jobs_bulk',
|
|
25
|
+
description: 'Add multiple jobs to a queue in a single operation.',
|
|
26
|
+
inputSchema: {
|
|
27
|
+
type: 'object',
|
|
28
|
+
properties: {
|
|
29
|
+
queue: { type: 'string', description: 'Queue name' },
|
|
30
|
+
jobs: {
|
|
31
|
+
type: 'array',
|
|
32
|
+
description: 'Array of jobs to add',
|
|
33
|
+
items: {
|
|
34
|
+
type: 'object',
|
|
35
|
+
properties: {
|
|
36
|
+
name: { type: 'string' },
|
|
37
|
+
data: { type: 'object' },
|
|
38
|
+
priority: { type: 'number' },
|
|
39
|
+
delay: { type: 'number' },
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
required: ['queue', 'jobs'],
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'bunqueue_get_job',
|
|
49
|
+
description: 'Get a job by ID.',
|
|
50
|
+
inputSchema: {
|
|
51
|
+
type: 'object',
|
|
52
|
+
properties: {
|
|
53
|
+
jobId: { type: 'string', description: 'Job ID' },
|
|
54
|
+
},
|
|
55
|
+
required: ['jobId'],
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name: 'bunqueue_cancel_job',
|
|
60
|
+
description: 'Cancel a waiting or delayed job.',
|
|
61
|
+
inputSchema: {
|
|
62
|
+
type: 'object',
|
|
63
|
+
properties: {
|
|
64
|
+
jobId: { type: 'string', description: 'Job ID to cancel' },
|
|
65
|
+
},
|
|
66
|
+
required: ['jobId'],
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: 'bunqueue_update_progress',
|
|
71
|
+
description: 'Update job progress (0-100).',
|
|
72
|
+
inputSchema: {
|
|
73
|
+
type: 'object',
|
|
74
|
+
properties: {
|
|
75
|
+
jobId: { type: 'string', description: 'Job ID' },
|
|
76
|
+
progress: { type: 'number', description: 'Progress value (0-100)' },
|
|
77
|
+
message: { type: 'string', description: 'Optional progress message' },
|
|
78
|
+
},
|
|
79
|
+
required: ['jobId', 'progress'],
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
// Queue Control
|
|
83
|
+
{
|
|
84
|
+
name: 'bunqueue_pause_queue',
|
|
85
|
+
description: 'Pause job processing on a queue.',
|
|
86
|
+
inputSchema: {
|
|
87
|
+
type: 'object',
|
|
88
|
+
properties: {
|
|
89
|
+
queue: { type: 'string', description: 'Queue name' },
|
|
90
|
+
},
|
|
91
|
+
required: ['queue'],
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
name: 'bunqueue_resume_queue',
|
|
96
|
+
description: 'Resume job processing on a paused queue.',
|
|
97
|
+
inputSchema: {
|
|
98
|
+
type: 'object',
|
|
99
|
+
properties: {
|
|
100
|
+
queue: { type: 'string', description: 'Queue name' },
|
|
101
|
+
},
|
|
102
|
+
required: ['queue'],
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
name: 'bunqueue_drain_queue',
|
|
107
|
+
description: 'Remove all waiting jobs from a queue.',
|
|
108
|
+
inputSchema: {
|
|
109
|
+
type: 'object',
|
|
110
|
+
properties: {
|
|
111
|
+
queue: { type: 'string', description: 'Queue name' },
|
|
112
|
+
},
|
|
113
|
+
required: ['queue'],
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
name: 'bunqueue_obliterate_queue',
|
|
118
|
+
description: 'Remove ALL data from a queue (waiting, active, completed, failed).',
|
|
119
|
+
inputSchema: {
|
|
120
|
+
type: 'object',
|
|
121
|
+
properties: {
|
|
122
|
+
queue: { type: 'string', description: 'Queue name' },
|
|
123
|
+
},
|
|
124
|
+
required: ['queue'],
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
name: 'bunqueue_list_queues',
|
|
129
|
+
description: 'List all queues.',
|
|
130
|
+
inputSchema: {
|
|
131
|
+
type: 'object',
|
|
132
|
+
properties: {},
|
|
133
|
+
},
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
name: 'bunqueue_count_jobs',
|
|
137
|
+
description: 'Count jobs in a queue.',
|
|
138
|
+
inputSchema: {
|
|
139
|
+
type: 'object',
|
|
140
|
+
properties: {
|
|
141
|
+
queue: { type: 'string', description: 'Queue name' },
|
|
142
|
+
},
|
|
143
|
+
required: ['queue'],
|
|
144
|
+
},
|
|
145
|
+
},
|
|
146
|
+
// Rate Limiting
|
|
147
|
+
{
|
|
148
|
+
name: 'bunqueue_set_rate_limit',
|
|
149
|
+
description: 'Set rate limit for a queue (jobs per second).',
|
|
150
|
+
inputSchema: {
|
|
151
|
+
type: 'object',
|
|
152
|
+
properties: {
|
|
153
|
+
queue: { type: 'string', description: 'Queue name' },
|
|
154
|
+
limit: { type: 'number', description: 'Max jobs per second' },
|
|
155
|
+
},
|
|
156
|
+
required: ['queue', 'limit'],
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
name: 'bunqueue_set_concurrency',
|
|
161
|
+
description: 'Set concurrency limit for a queue.',
|
|
162
|
+
inputSchema: {
|
|
163
|
+
type: 'object',
|
|
164
|
+
properties: {
|
|
165
|
+
queue: { type: 'string', description: 'Queue name' },
|
|
166
|
+
limit: { type: 'number', description: 'Max concurrent jobs' },
|
|
167
|
+
},
|
|
168
|
+
required: ['queue', 'limit'],
|
|
169
|
+
},
|
|
170
|
+
},
|
|
171
|
+
// DLQ Operations
|
|
172
|
+
{
|
|
173
|
+
name: 'bunqueue_get_dlq',
|
|
174
|
+
description: 'Get Dead Letter Queue entries for a queue.',
|
|
175
|
+
inputSchema: {
|
|
176
|
+
type: 'object',
|
|
177
|
+
properties: {
|
|
178
|
+
queue: { type: 'string', description: 'Queue name' },
|
|
179
|
+
limit: { type: 'number', description: 'Max entries to return (default: 20)' },
|
|
180
|
+
},
|
|
181
|
+
required: ['queue'],
|
|
182
|
+
},
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
name: 'bunqueue_retry_dlq',
|
|
186
|
+
description: 'Retry jobs from the Dead Letter Queue.',
|
|
187
|
+
inputSchema: {
|
|
188
|
+
type: 'object',
|
|
189
|
+
properties: {
|
|
190
|
+
queue: { type: 'string', description: 'Queue name' },
|
|
191
|
+
jobId: { type: 'string', description: 'Specific job ID to retry (optional)' },
|
|
192
|
+
},
|
|
193
|
+
required: ['queue'],
|
|
194
|
+
},
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
name: 'bunqueue_purge_dlq',
|
|
198
|
+
description: 'Remove all entries from the Dead Letter Queue.',
|
|
199
|
+
inputSchema: {
|
|
200
|
+
type: 'object',
|
|
201
|
+
properties: {
|
|
202
|
+
queue: { type: 'string', description: 'Queue name' },
|
|
203
|
+
},
|
|
204
|
+
required: ['queue'],
|
|
205
|
+
},
|
|
206
|
+
},
|
|
207
|
+
// Cron Jobs
|
|
208
|
+
{
|
|
209
|
+
name: 'bunqueue_add_cron',
|
|
210
|
+
description: 'Add a recurring cron job.',
|
|
211
|
+
inputSchema: {
|
|
212
|
+
type: 'object',
|
|
213
|
+
properties: {
|
|
214
|
+
name: { type: 'string', description: 'Unique cron job name' },
|
|
215
|
+
queue: { type: 'string', description: 'Target queue name' },
|
|
216
|
+
data: { type: 'object', description: 'Job payload data' },
|
|
217
|
+
schedule: { type: 'string', description: 'Cron pattern (e.g., "0 * * * *" for hourly)' },
|
|
218
|
+
repeatEvery: { type: 'number', description: 'Alternative: repeat every N milliseconds' },
|
|
219
|
+
priority: { type: 'number', description: 'Job priority' },
|
|
220
|
+
},
|
|
221
|
+
required: ['name', 'queue', 'data'],
|
|
222
|
+
},
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
name: 'bunqueue_list_crons',
|
|
226
|
+
description: 'List all scheduled cron jobs.',
|
|
227
|
+
inputSchema: {
|
|
228
|
+
type: 'object',
|
|
229
|
+
properties: {},
|
|
230
|
+
},
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
name: 'bunqueue_delete_cron',
|
|
234
|
+
description: 'Delete a cron job by name.',
|
|
235
|
+
inputSchema: {
|
|
236
|
+
type: 'object',
|
|
237
|
+
properties: {
|
|
238
|
+
name: { type: 'string', description: 'Cron job name to delete' },
|
|
239
|
+
},
|
|
240
|
+
required: ['name'],
|
|
241
|
+
},
|
|
242
|
+
},
|
|
243
|
+
// Stats & Logs
|
|
244
|
+
{
|
|
245
|
+
name: 'bunqueue_get_stats',
|
|
246
|
+
description: 'Get overall queue statistics.',
|
|
247
|
+
inputSchema: {
|
|
248
|
+
type: 'object',
|
|
249
|
+
properties: {},
|
|
250
|
+
},
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
name: 'bunqueue_get_job_logs',
|
|
254
|
+
description: 'Get logs for a specific job.',
|
|
255
|
+
inputSchema: {
|
|
256
|
+
type: 'object',
|
|
257
|
+
properties: {
|
|
258
|
+
jobId: { type: 'string', description: 'Job ID' },
|
|
259
|
+
},
|
|
260
|
+
required: ['jobId'],
|
|
261
|
+
},
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
name: 'bunqueue_add_job_log',
|
|
265
|
+
description: 'Add a log entry to a job.',
|
|
266
|
+
inputSchema: {
|
|
267
|
+
type: 'object',
|
|
268
|
+
properties: {
|
|
269
|
+
jobId: { type: 'string', description: 'Job ID' },
|
|
270
|
+
message: { type: 'string', description: 'Log message' },
|
|
271
|
+
level: { type: 'string', enum: ['info', 'warn', 'error'], description: 'Log level' },
|
|
272
|
+
},
|
|
273
|
+
required: ['jobId', 'message'],
|
|
274
|
+
},
|
|
275
|
+
},
|
|
276
|
+
];
|
|
277
|
+
//# sourceMappingURL=mcpTools.js.map
|