bunqueue 2.6.63 → 2.6.65
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/queueManager.d.ts +2 -0
- package/dist/application/queueManager.d.ts.map +1 -1
- package/dist/application/queueManager.js +19 -5
- package/dist/application/queueManager.js.map +1 -1
- package/dist/infrastructure/cloud/snapshotCollector.d.ts +20 -0
- package/dist/infrastructure/cloud/snapshotCollector.d.ts.map +1 -1
- package/dist/infrastructure/cloud/snapshotCollector.js +6 -0
- package/dist/infrastructure/cloud/snapshotCollector.js.map +1 -1
- package/dist/infrastructure/cloud/types.d.ts +20 -0
- package/dist/infrastructure/cloud/types.d.ts.map +1 -1
- package/dist/mcp/index.js +24 -0
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/tools/consumptionTools.js +8 -8
- package/dist/mcp/tools/consumptionTools.js.map +1 -1
- package/dist/mcp/tools/cronTools.d.ts.map +1 -1
- package/dist/mcp/tools/cronTools.js +4 -4
- package/dist/mcp/tools/cronTools.js.map +1 -1
- package/dist/mcp/tools/dlqTools.js +4 -4
- package/dist/mcp/tools/dlqTools.js.map +1 -1
- package/dist/mcp/tools/flowTools.js +4 -4
- package/dist/mcp/tools/flowTools.js.map +1 -1
- package/dist/mcp/tools/handlerTools.d.ts.map +1 -1
- package/dist/mcp/tools/handlerTools.js +3 -3
- package/dist/mcp/tools/handlerTools.js.map +1 -1
- package/dist/mcp/tools/jobMgmtTools.js +6 -6
- package/dist/mcp/tools/jobMgmtTools.js.map +1 -1
- package/dist/mcp/tools/jobTools.d.ts.map +1 -1
- package/dist/mcp/tools/jobTools.js +11 -11
- package/dist/mcp/tools/jobTools.js.map +1 -1
- package/dist/mcp/tools/mcpTracker.d.ts +53 -0
- package/dist/mcp/tools/mcpTracker.d.ts.map +1 -0
- package/dist/mcp/tools/mcpTracker.js +65 -0
- package/dist/mcp/tools/mcpTracker.js.map +1 -0
- package/dist/mcp/tools/monitoringTools.js +11 -11
- package/dist/mcp/tools/monitoringTools.js.map +1 -1
- package/dist/mcp/tools/queueTools.js +11 -11
- package/dist/mcp/tools/queueTools.js.map +1 -1
- package/dist/mcp/tools/rateLimitTools.js +4 -4
- package/dist/mcp/tools/rateLimitTools.js.map +1 -1
- package/dist/mcp/tools/webhookTools.js +4 -4
- package/dist/mcp/tools/webhookTools.js.map +1 -1
- package/dist/mcp/tools/withErrorHandler.d.ts +4 -5
- package/dist/mcp/tools/withErrorHandler.d.ts.map +1 -1
- package/dist/mcp/tools/withErrorHandler.js +54 -6
- package/dist/mcp/tools/withErrorHandler.js.map +1 -1
- package/dist/mcp/tools/workerMgmtTools.js +3 -3
- package/dist/mcp/tools/workerMgmtTools.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cronTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/cronTools.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,UAAU,iBAAiB,CAAC,MAAiB,EAAE,OAAmB;IACtE,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,8EAA8E,EAC9E;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACjD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACpE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;QACvF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QACvF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;KACzD,EACD,gBAAgB,
|
|
1
|
+
{"version":3,"file":"cronTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/cronTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export function registerDlqTools(server, backend) {
|
|
|
8
8
|
server.tool('bunqueue_get_dlq', 'Get Dead Letter Queue entries for a queue. Shows jobs that permanently failed.', {
|
|
9
9
|
queue: z.string().describe('Queue name'),
|
|
10
10
|
limit: z.number().optional().describe('Max entries to return (default: 20)'),
|
|
11
|
-
}, withErrorHandler(async ({ queue, limit }) => {
|
|
11
|
+
}, withErrorHandler('bunqueue_get_dlq', async ({ queue, limit }) => {
|
|
12
12
|
const jobs = await backend.getDlq(queue, limit ?? 20);
|
|
13
13
|
return {
|
|
14
14
|
content: [
|
|
@@ -22,7 +22,7 @@ export function registerDlqTools(server, backend) {
|
|
|
22
22
|
server.tool('bunqueue_retry_dlq', 'Retry jobs from the Dead Letter Queue. Moves them back to waiting state.', {
|
|
23
23
|
queue: z.string().describe('Queue name'),
|
|
24
24
|
jobId: z.string().optional().describe('Specific job ID to retry (omit to retry all)'),
|
|
25
|
-
}, withErrorHandler(async ({ queue, jobId }) => {
|
|
25
|
+
}, withErrorHandler('bunqueue_retry_dlq', async ({ queue, jobId }) => {
|
|
26
26
|
const retried = await backend.retryDlq(queue, jobId);
|
|
27
27
|
return {
|
|
28
28
|
content: [
|
|
@@ -32,7 +32,7 @@ export function registerDlqTools(server, backend) {
|
|
|
32
32
|
}));
|
|
33
33
|
server.tool('bunqueue_purge_dlq', 'Remove all entries from the Dead Letter Queue permanently.', {
|
|
34
34
|
queue: z.string().describe('Queue name'),
|
|
35
|
-
}, withErrorHandler(async ({ queue }) => {
|
|
35
|
+
}, withErrorHandler('bunqueue_purge_dlq', async ({ queue }) => {
|
|
36
36
|
const purged = await backend.purgeDlq(queue);
|
|
37
37
|
return {
|
|
38
38
|
content: [
|
|
@@ -46,7 +46,7 @@ export function registerDlqTools(server, backend) {
|
|
|
46
46
|
.string()
|
|
47
47
|
.optional()
|
|
48
48
|
.describe('Specific job ID to retry (omit to retry all completed)'),
|
|
49
|
-
}, withErrorHandler(async ({ queue, jobId }) => {
|
|
49
|
+
}, withErrorHandler('bunqueue_retry_completed', async ({ queue, jobId }) => {
|
|
50
50
|
const retried = await backend.retryCompleted(queue, jobId);
|
|
51
51
|
return {
|
|
52
52
|
content: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dlqTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/dlqTools.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,UAAU,gBAAgB,CAAC,MAAiB,EAAE,OAAmB;IACrE,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,gFAAgF,EAChF;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KAC7E,EACD,gBAAgB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"dlqTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/dlqTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,7 +42,7 @@ export function registerFlowTools(server, backend) {
|
|
|
42
42
|
.array(flowJobSchema)
|
|
43
43
|
.optional()
|
|
44
44
|
.describe('Child jobs (processed BEFORE this job)'),
|
|
45
|
-
}, withErrorHandler(async ({ name, queueName, data, opts, children }) => {
|
|
45
|
+
}, withErrorHandler('bunqueue_add_flow', async ({ name, queueName, data, opts, children }) => {
|
|
46
46
|
const result = await backend.addFlow({
|
|
47
47
|
name,
|
|
48
48
|
queueName,
|
|
@@ -57,14 +57,14 @@ export function registerFlowTools(server, backend) {
|
|
|
57
57
|
.array(flowStepSchema)
|
|
58
58
|
.min(1)
|
|
59
59
|
.describe('Steps executed in order, each depending on the previous'),
|
|
60
|
-
}, withErrorHandler(async ({ steps }) => {
|
|
60
|
+
}, withErrorHandler('bunqueue_add_flow_chain', async ({ steps }) => {
|
|
61
61
|
const result = await backend.addFlowChain(steps);
|
|
62
62
|
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
63
63
|
}));
|
|
64
64
|
server.tool('bunqueue_add_flow_bulk_then', 'Fan-out/fan-in: run parallel jobs, then execute a final job when ALL parallel jobs complete.', {
|
|
65
65
|
parallel: z.array(flowStepSchema).min(1).describe('Jobs that run in parallel'),
|
|
66
66
|
final: flowStepSchema.describe('Final job that runs after all parallel jobs complete'),
|
|
67
|
-
}, withErrorHandler(async ({ parallel, final: finalStep }) => {
|
|
67
|
+
}, withErrorHandler('bunqueue_add_flow_bulk_then', async ({ parallel, final: finalStep }) => {
|
|
68
68
|
const result = await backend.addFlowBulkThen(parallel, finalStep);
|
|
69
69
|
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
70
70
|
}));
|
|
@@ -73,7 +73,7 @@ export function registerFlowTools(server, backend) {
|
|
|
73
73
|
queueName: z.string().describe('Queue name where the job is located'),
|
|
74
74
|
depth: z.number().optional().describe('Max traversal depth (default: 10)'),
|
|
75
75
|
maxChildren: z.number().optional().describe('Max children per level'),
|
|
76
|
-
}, withErrorHandler(async ({ jobId, queueName, depth, maxChildren }) => {
|
|
76
|
+
}, withErrorHandler('bunqueue_get_flow', async ({ jobId, queueName, depth, maxChildren }) => {
|
|
77
77
|
const result = await backend.getFlow(jobId, queueName, depth ?? 10, maxChildren);
|
|
78
78
|
if (!result) {
|
|
79
79
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/flowTools.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,oCAAoC;AACpC,MAAM,aAAa,GAAG,CAAC;KACpB,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IAC/E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACtE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;CAC/D,CAAC;KACD,QAAQ,EAAE;KACV,QAAQ,CAAC,uBAAuB,CAAC,CAAC;AAErC,kCAAkC;AAClC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACpE,IAAI,EAAE,aAAa;CACpB,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,aAAa,GAAc,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAC3C,CAAC,CAAC,MAAM,CAAC;IACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC1C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IAC/E,IAAI,EAAE,aAAa;IACnB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;CAC7F,CAAC,CACH,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,MAAiB,EAAE,OAAmB;IACtE,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB,+HAA+H,EAC/H;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACjD,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC/E,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,CAAC;aACR,KAAK,CAAC,aAAa,CAAC;aACpB,QAAQ,EAAE;aACV,QAAQ,CAAC,wCAAwC,CAAC;KACtD,EACD,gBAAgB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"flowTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/flowTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlerTools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/handlerTools.ts"],"names":[],"mappings":"AACA;;;GAGG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"handlerTools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/handlerTools.ts"],"names":[],"mappings":"AACA;;;GAGG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,mBAAmB,QAkFpF"}
|
|
@@ -23,7 +23,7 @@ export function registerHandlerTools(server, registry) {
|
|
|
23
23
|
.max(120000)
|
|
24
24
|
.optional()
|
|
25
25
|
.describe('Request timeout in ms (default: 30000)'),
|
|
26
|
-
}, withErrorHandler(async ({ queue, url, method, headers, body, timeoutMs }) => {
|
|
26
|
+
}, withErrorHandler('bunqueue_register_handler', async ({ queue, url, method, headers, body, timeoutMs }) => {
|
|
27
27
|
registry.register(queue, { url, method, headers, body, timeoutMs });
|
|
28
28
|
return {
|
|
29
29
|
content: [
|
|
@@ -41,7 +41,7 @@ export function registerHandlerTools(server, registry) {
|
|
|
41
41
|
}));
|
|
42
42
|
server.tool('bunqueue_unregister_handler', 'Remove an HTTP handler from a queue and stop its worker.', {
|
|
43
43
|
queue: z.string().describe('Queue name to remove the handler from'),
|
|
44
|
-
}, withErrorHandler(async ({ queue }) => {
|
|
44
|
+
}, withErrorHandler('bunqueue_unregister_handler', async ({ queue }) => {
|
|
45
45
|
const removed = registry.unregister(queue);
|
|
46
46
|
return {
|
|
47
47
|
content: [
|
|
@@ -52,7 +52,7 @@ export function registerHandlerTools(server, registry) {
|
|
|
52
52
|
],
|
|
53
53
|
};
|
|
54
54
|
}));
|
|
55
|
-
server.tool('bunqueue_list_handlers', 'List all active HTTP handlers and their workers.', {}, withErrorHandler(async () => {
|
|
55
|
+
server.tool('bunqueue_list_handlers', 'List all active HTTP handlers and their workers.', {}, withErrorHandler('bunqueue_list_handlers', async () => {
|
|
56
56
|
const handlers = registry.list();
|
|
57
57
|
return {
|
|
58
58
|
content: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlerTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/handlerTools.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,QAA6B;IACnF,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,4JAA4J,EAC5J;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QACjE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QACnF,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;aACtC,QAAQ,CAAC,sCAAsC,CAAC;QACnD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACpF,IAAI,EAAE,CAAC;aACJ,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,2DAA2D,CAAC;QACxE,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,GAAG,CAAC,IAAI,CAAC;aACT,GAAG,CAAC,MAAM,CAAC;aACX,QAAQ,EAAE;aACV,QAAQ,CAAC,wCAAwC,CAAC;KACtD,EACD,gBAAgB,
|
|
1
|
+
{"version":3,"file":"handlerTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/handlerTools.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,QAA6B;IACnF,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,4JAA4J,EAC5J;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QACjE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;QACnF,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;aACtC,QAAQ,CAAC,sCAAsC,CAAC;QACnD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QACpF,IAAI,EAAE,CAAC;aACJ,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,2DAA2D,CAAC;QACxE,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,GAAG,CAAC,IAAI,CAAC;aACT,GAAG,CAAC,MAAM,CAAC;aACX,QAAQ,EAAE;aACV,QAAQ,CAAC,wCAAwC,CAAC;KACtD,EACD,gBAAgB,CACd,2BAA2B,EAC3B,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;QACzD,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QACpE,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;wBACE,OAAO,EAAE,IAAI;wBACb,KAAK;wBACL,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,IAAI,KAAK,EAAE;wBACvD,OAAO,EAAE,4BAA4B,KAAK,2BAA2B,MAAM,IAAI,GAAG,EAAE;qBACrF,EACD,IAAI,EACJ,CAAC,CACF;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,6BAA6B,EAC7B,0DAA0D,EAC1D;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;KACpE,EACD,gBAAgB,CAAC,6BAA6B,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QAClE,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;iBAClD;aACF;SACF,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,kDAAkD,EAClD,EAAE,EACF,gBAAgB,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;QACjC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;iBACpE;aACF;SACF,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -9,14 +9,14 @@ export function registerJobMgmtTools(server, backend) {
|
|
|
9
9
|
server.tool('bunqueue_update_job_data', 'Update the payload data of a job.', {
|
|
10
10
|
jobId: z.string().describe('Job ID'),
|
|
11
11
|
data: z.record(z.string(), z.unknown()).describe('New job payload data'),
|
|
12
|
-
}, withErrorHandler(async ({ jobId, data }) => {
|
|
12
|
+
}, withErrorHandler('bunqueue_update_job_data', async ({ jobId, data }) => {
|
|
13
13
|
const success = await backend.updateJobData(jobId, data);
|
|
14
14
|
return { content: [{ type: 'text', text: JSON.stringify({ success, jobId }) }] };
|
|
15
15
|
}));
|
|
16
16
|
server.tool('bunqueue_change_job_priority', 'Change the priority of a waiting job. Higher priority = processed first.', {
|
|
17
17
|
jobId: z.string().describe('Job ID'),
|
|
18
18
|
priority: z.number().describe('New priority value'),
|
|
19
|
-
}, withErrorHandler(async ({ jobId, priority }) => {
|
|
19
|
+
}, withErrorHandler('bunqueue_change_job_priority', async ({ jobId, priority }) => {
|
|
20
20
|
const success = await backend.changeJobPriority(jobId, priority);
|
|
21
21
|
return {
|
|
22
22
|
content: [{ type: 'text', text: JSON.stringify({ success, jobId, priority }) }],
|
|
@@ -25,7 +25,7 @@ export function registerJobMgmtTools(server, backend) {
|
|
|
25
25
|
server.tool('bunqueue_move_to_delayed', 'Move a job to delayed state with a specific delay in milliseconds.', {
|
|
26
26
|
jobId: z.string().describe('Job ID'),
|
|
27
27
|
delay: z.number().min(0).describe('Delay in milliseconds'),
|
|
28
|
-
}, withErrorHandler(async ({ jobId, delay }) => {
|
|
28
|
+
}, withErrorHandler('bunqueue_move_to_delayed', async ({ jobId, delay }) => {
|
|
29
29
|
const success = await backend.moveToDelayed(jobId, delay);
|
|
30
30
|
return {
|
|
31
31
|
content: [{ type: 'text', text: JSON.stringify({ success, jobId, delay }) }],
|
|
@@ -33,13 +33,13 @@ export function registerJobMgmtTools(server, backend) {
|
|
|
33
33
|
}));
|
|
34
34
|
server.tool('bunqueue_discard_job', 'Discard a job permanently, removing it from the queue.', {
|
|
35
35
|
jobId: z.string().describe('Job ID to discard'),
|
|
36
|
-
}, withErrorHandler(async ({ jobId }) => {
|
|
36
|
+
}, withErrorHandler('bunqueue_discard_job', async ({ jobId }) => {
|
|
37
37
|
const success = await backend.discardJob(jobId);
|
|
38
38
|
return { content: [{ type: 'text', text: JSON.stringify({ success, jobId }) }] };
|
|
39
39
|
}));
|
|
40
40
|
server.tool('bunqueue_get_progress', 'Get the progress and progress message of a job.', {
|
|
41
41
|
jobId: z.string().describe('Job ID'),
|
|
42
|
-
}, withErrorHandler(async ({ jobId }) => {
|
|
42
|
+
}, withErrorHandler('bunqueue_get_progress', async ({ jobId }) => {
|
|
43
43
|
const result = await backend.getProgress(jobId);
|
|
44
44
|
if (!result) {
|
|
45
45
|
return {
|
|
@@ -52,7 +52,7 @@ export function registerJobMgmtTools(server, backend) {
|
|
|
52
52
|
server.tool('bunqueue_change_delay', 'Change the delay of a delayed job.', {
|
|
53
53
|
jobId: z.string().describe('Job ID'),
|
|
54
54
|
delay: z.number().min(0).describe('New delay in milliseconds'),
|
|
55
|
-
}, withErrorHandler(async ({ jobId, delay }) => {
|
|
55
|
+
}, withErrorHandler('bunqueue_change_delay', async ({ jobId, delay }) => {
|
|
56
56
|
const success = await backend.changeDelay(jobId, delay);
|
|
57
57
|
return {
|
|
58
58
|
content: [{ type: 'text', text: JSON.stringify({ success, jobId, delay }) }],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobMgmtTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/jobMgmtTools.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,OAAmB;IACzE,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,mCAAmC,EACnC;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACpC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;KACzE,EACD,gBAAgB,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"jobMgmtTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/jobMgmtTools.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,OAAmB;IACzE,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,mCAAmC,EACnC;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACpC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;KACzE,EACD,gBAAgB,CAAC,0BAA0B,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE;QACrE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACzD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC5F,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,8BAA8B,EAC9B,0EAA0E,EAC1E;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACpC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;KACpD,EACD,gBAAgB,CAAC,8BAA8B,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC7E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACjE,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;SACzF,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,oEAAoE,EACpE;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;KAC3D,EACD,gBAAgB,CAAC,0BAA0B,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QACtE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1D,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;SACtF,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,wDAAwD,EACxD;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;KAChD,EACD,gBAAgB,CAAC,sBAAsB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QAC3D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC5F,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,iDAAiD,EACjD;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;KACrC,EACD,gBAAgB,CAAC,uBAAuB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QAC5D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC;gBACtF,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9F,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,oCAAoC,EACpC;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2BAA2B,CAAC;KAC/D,EACD,gBAAgB,CAAC,uBAAuB,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QACnE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACxD,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;SACtF,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobTools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/jobTools.ts"],"names":[],"mappings":"AACA;;;GAGG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"jobTools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/jobTools.ts"],"names":[],"mappings":"AACA;;;GAGG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,QAgLtE"}
|
|
@@ -13,7 +13,7 @@ export function registerJobTools(server, backend) {
|
|
|
13
13
|
priority: z.number().optional().describe('Priority (higher = processed first)'),
|
|
14
14
|
delay: z.number().optional().describe('Delay in milliseconds before processing'),
|
|
15
15
|
attempts: z.number().optional().describe('Max retry attempts (default: 3)'),
|
|
16
|
-
}, withErrorHandler(async ({ queue, name, data, priority, delay, attempts }) => {
|
|
16
|
+
}, withErrorHandler('bunqueue_add_job', async ({ queue, name, data, priority, delay, attempts }) => {
|
|
17
17
|
const result = await backend.addJob(queue, name, data, { priority, delay, attempts });
|
|
18
18
|
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
19
19
|
}));
|
|
@@ -27,13 +27,13 @@ export function registerJobTools(server, backend) {
|
|
|
27
27
|
delay: z.number().optional(),
|
|
28
28
|
}))
|
|
29
29
|
.describe('Array of jobs to add'),
|
|
30
|
-
}, withErrorHandler(async ({ queue, jobs }) => {
|
|
30
|
+
}, withErrorHandler('bunqueue_add_jobs_bulk', async ({ queue, jobs }) => {
|
|
31
31
|
const result = await backend.addJobsBulk(queue, jobs);
|
|
32
32
|
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
33
33
|
}));
|
|
34
34
|
server.tool('bunqueue_get_job', 'Get a job by ID. Returns job details including state, progress, and data.', {
|
|
35
35
|
jobId: z.string().describe('Job ID'),
|
|
36
|
-
}, withErrorHandler(async ({ jobId }) => {
|
|
36
|
+
}, withErrorHandler('bunqueue_get_job', async ({ jobId }) => {
|
|
37
37
|
const job = await backend.getJob(jobId);
|
|
38
38
|
if (!job) {
|
|
39
39
|
return {
|
|
@@ -45,13 +45,13 @@ export function registerJobTools(server, backend) {
|
|
|
45
45
|
}));
|
|
46
46
|
server.tool('bunqueue_get_job_state', 'Get the current state of a job (waiting, delayed, active, completed, failed).', {
|
|
47
47
|
jobId: z.string().describe('Job ID'),
|
|
48
|
-
}, withErrorHandler(async ({ jobId }) => {
|
|
48
|
+
}, withErrorHandler('bunqueue_get_job_state', async ({ jobId }) => {
|
|
49
49
|
const state = await backend.getJobState(jobId);
|
|
50
50
|
return { content: [{ type: 'text', text: JSON.stringify({ jobId, state }) }] };
|
|
51
51
|
}));
|
|
52
52
|
server.tool('bunqueue_get_job_result', 'Get the result of a completed job.', {
|
|
53
53
|
jobId: z.string().describe('Job ID'),
|
|
54
|
-
}, withErrorHandler(async ({ jobId }) => {
|
|
54
|
+
}, withErrorHandler('bunqueue_get_job_result', async ({ jobId }) => {
|
|
55
55
|
const result = await backend.getJobResult(jobId);
|
|
56
56
|
return {
|
|
57
57
|
content: [{ type: 'text', text: JSON.stringify({ jobId, result }, null, 2) }],
|
|
@@ -59,13 +59,13 @@ export function registerJobTools(server, backend) {
|
|
|
59
59
|
}));
|
|
60
60
|
server.tool('bunqueue_cancel_job', 'Cancel a waiting or delayed job.', {
|
|
61
61
|
jobId: z.string().describe('Job ID to cancel'),
|
|
62
|
-
}, withErrorHandler(async ({ jobId }) => {
|
|
62
|
+
}, withErrorHandler('bunqueue_cancel_job', async ({ jobId }) => {
|
|
63
63
|
const success = await backend.cancelJob(jobId);
|
|
64
64
|
return { content: [{ type: 'text', text: JSON.stringify({ success, jobId }) }] };
|
|
65
65
|
}));
|
|
66
66
|
server.tool('bunqueue_promote_job', 'Promote a delayed job to waiting state for immediate processing.', {
|
|
67
67
|
jobId: z.string().describe('Job ID to promote'),
|
|
68
|
-
}, withErrorHandler(async ({ jobId }) => {
|
|
68
|
+
}, withErrorHandler('bunqueue_promote_job', async ({ jobId }) => {
|
|
69
69
|
const success = await backend.promoteJob(jobId);
|
|
70
70
|
return { content: [{ type: 'text', text: JSON.stringify({ success, jobId }) }] };
|
|
71
71
|
}));
|
|
@@ -73,7 +73,7 @@ export function registerJobTools(server, backend) {
|
|
|
73
73
|
jobId: z.string().describe('Job ID'),
|
|
74
74
|
progress: z.number().min(0).max(100).describe('Progress value (0-100)'),
|
|
75
75
|
message: z.string().optional().describe('Optional progress message'),
|
|
76
|
-
}, withErrorHandler(async ({ jobId, progress, message }) => {
|
|
76
|
+
}, withErrorHandler('bunqueue_update_progress', async ({ jobId, progress, message }) => {
|
|
77
77
|
const success = await backend.updateProgress(jobId, progress, message);
|
|
78
78
|
return {
|
|
79
79
|
content: [{ type: 'text', text: JSON.stringify({ success, jobId, progress }) }],
|
|
@@ -81,7 +81,7 @@ export function registerJobTools(server, backend) {
|
|
|
81
81
|
}));
|
|
82
82
|
server.tool('bunqueue_get_children_values', 'Get return values from all child jobs of a parent job. Used with FlowProducer workflows.', {
|
|
83
83
|
parentJobId: z.string().describe('Parent job ID'),
|
|
84
|
-
}, withErrorHandler(async ({ parentJobId }) => {
|
|
84
|
+
}, withErrorHandler('bunqueue_get_children_values', async ({ parentJobId }) => {
|
|
85
85
|
const values = await backend.getChildrenValues(parentJobId);
|
|
86
86
|
return {
|
|
87
87
|
content: [
|
|
@@ -94,7 +94,7 @@ export function registerJobTools(server, backend) {
|
|
|
94
94
|
}));
|
|
95
95
|
server.tool('bunqueue_get_job_by_custom_id', 'Look up a job by its custom ID (set via jobId option during creation).', {
|
|
96
96
|
customId: z.string().describe('Custom job ID'),
|
|
97
|
-
}, withErrorHandler(async ({ customId }) => {
|
|
97
|
+
}, withErrorHandler('bunqueue_get_job_by_custom_id', async ({ customId }) => {
|
|
98
98
|
const job = await backend.getJobByCustomId(customId);
|
|
99
99
|
if (!job) {
|
|
100
100
|
return {
|
|
@@ -107,7 +107,7 @@ export function registerJobTools(server, backend) {
|
|
|
107
107
|
server.tool('bunqueue_wait_for_job', 'Wait for a job to complete within a timeout. Returns true if completed, false if timed out.', {
|
|
108
108
|
jobId: z.string().describe('Job ID to wait for'),
|
|
109
109
|
timeoutMs: z.number().min(100).max(30000).describe('Maximum wait time in milliseconds'),
|
|
110
|
-
}, withErrorHandler(async ({ jobId, timeoutMs }) => {
|
|
110
|
+
}, withErrorHandler('bunqueue_wait_for_job', async ({ jobId, timeoutMs }) => {
|
|
111
111
|
const completed = await backend.waitForJobCompletion(jobId, timeoutMs);
|
|
112
112
|
return { content: [{ type: 'text', text: JSON.stringify({ jobId, completed }) }] };
|
|
113
113
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/jobTools.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,UAAU,gBAAgB,CAAC,MAAiB,EAAE,OAAmB;IACrE,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB,2CAA2C,EAC3C;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACpE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QAC/E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QAChF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;KAC5E,EACD,gBAAgB,
|
|
1
|
+
{"version":3,"file":"jobTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/jobTools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Operation Tracker
|
|
3
|
+
* Bounded ring buffer that records MCP tool invocations for cloud dashboard telemetry.
|
|
4
|
+
* O(n) worst-case per record due to Array.shift() at capacity, but n is capped at 200.
|
|
5
|
+
* Constant memory (~40KB max).
|
|
6
|
+
*/
|
|
7
|
+
/** Single MCP tool invocation record */
|
|
8
|
+
export interface McpOperation {
|
|
9
|
+
/** Tool name (e.g., "bunqueue_add_job") */
|
|
10
|
+
tool: string;
|
|
11
|
+
/** Queue affected (null for global operations like list_queues, get_stats) */
|
|
12
|
+
queue: string | null;
|
|
13
|
+
/** Invocation timestamp (Date.now()) */
|
|
14
|
+
timestamp: number;
|
|
15
|
+
/** Execution duration in milliseconds */
|
|
16
|
+
durationMs: number;
|
|
17
|
+
/** Whether the invocation succeeded */
|
|
18
|
+
success: boolean;
|
|
19
|
+
/** Error message if failed */
|
|
20
|
+
error: string | null;
|
|
21
|
+
}
|
|
22
|
+
/** Aggregated MCP usage summary */
|
|
23
|
+
export interface McpSummary {
|
|
24
|
+
/** Total invocations since last drain */
|
|
25
|
+
totalInvocations: number;
|
|
26
|
+
/** Successful invocations */
|
|
27
|
+
successCount: number;
|
|
28
|
+
/** Failed invocations */
|
|
29
|
+
failureCount: number;
|
|
30
|
+
/** Average execution duration in ms */
|
|
31
|
+
avgDurationMs: number;
|
|
32
|
+
/** Top tools by invocation count */
|
|
33
|
+
topTools: Array<{
|
|
34
|
+
tool: string;
|
|
35
|
+
count: number;
|
|
36
|
+
}>;
|
|
37
|
+
}
|
|
38
|
+
declare class McpOperationTracker {
|
|
39
|
+
private buffer;
|
|
40
|
+
/** Record a tool invocation */
|
|
41
|
+
record(op: McpOperation): void;
|
|
42
|
+
/** Drain all recorded operations (consumer calls this each snapshot) */
|
|
43
|
+
drain(): McpOperation[];
|
|
44
|
+
/** Peek at buffered operations without draining */
|
|
45
|
+
peek(): readonly McpOperation[];
|
|
46
|
+
/** Get summary stats from current buffer */
|
|
47
|
+
getSummary(): McpSummary;
|
|
48
|
+
get count(): number;
|
|
49
|
+
}
|
|
50
|
+
/** Global singleton — shared between withErrorHandler (producer) and cloud agent (consumer) */
|
|
51
|
+
export declare const mcpTracker: McpOperationTracker;
|
|
52
|
+
export {};
|
|
53
|
+
//# sourceMappingURL=mcpTracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpTracker.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/mcpTracker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,wCAAwC;AACxC,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,8EAA8E;IAC9E,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,mCAAmC;AACnC,MAAM,WAAW,UAAU;IACzB,yCAAyC;IACzC,gBAAgB,EAAE,MAAM,CAAC;IACzB,6BAA6B;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD;AAID,cAAM,mBAAmB;IACvB,OAAO,CAAC,MAAM,CAAsB;IAEpC,+BAA+B;IAC/B,MAAM,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI;IAO9B,wEAAwE;IACxE,KAAK,IAAI,YAAY,EAAE;IAIvB,mDAAmD;IACnD,IAAI,IAAI,SAAS,YAAY,EAAE;IAI/B,4CAA4C;IAC5C,UAAU,IAAI,UAAU;IAqCxB,IAAI,KAAK,IAAI,MAAM,CAElB;CACF;AAED,+FAA+F;AAC/F,eAAO,MAAM,UAAU,qBAA4B,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Operation Tracker
|
|
3
|
+
* Bounded ring buffer that records MCP tool invocations for cloud dashboard telemetry.
|
|
4
|
+
* O(n) worst-case per record due to Array.shift() at capacity, but n is capped at 200.
|
|
5
|
+
* Constant memory (~40KB max).
|
|
6
|
+
*/
|
|
7
|
+
const MAX_BUFFER_SIZE = 200;
|
|
8
|
+
class McpOperationTracker {
|
|
9
|
+
buffer = [];
|
|
10
|
+
/** Record a tool invocation */
|
|
11
|
+
record(op) {
|
|
12
|
+
if (this.buffer.length >= MAX_BUFFER_SIZE) {
|
|
13
|
+
this.buffer.shift();
|
|
14
|
+
}
|
|
15
|
+
this.buffer.push(op);
|
|
16
|
+
}
|
|
17
|
+
/** Drain all recorded operations (consumer calls this each snapshot) */
|
|
18
|
+
drain() {
|
|
19
|
+
return this.buffer.splice(0);
|
|
20
|
+
}
|
|
21
|
+
/** Peek at buffered operations without draining */
|
|
22
|
+
peek() {
|
|
23
|
+
return this.buffer;
|
|
24
|
+
}
|
|
25
|
+
/** Get summary stats from current buffer */
|
|
26
|
+
getSummary() {
|
|
27
|
+
const ops = this.buffer;
|
|
28
|
+
const total = ops.length;
|
|
29
|
+
if (total === 0) {
|
|
30
|
+
return {
|
|
31
|
+
totalInvocations: 0,
|
|
32
|
+
successCount: 0,
|
|
33
|
+
failureCount: 0,
|
|
34
|
+
avgDurationMs: 0,
|
|
35
|
+
topTools: [],
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
let successCount = 0;
|
|
39
|
+
let totalDuration = 0;
|
|
40
|
+
const toolCounts = new Map();
|
|
41
|
+
for (const op of ops) {
|
|
42
|
+
if (op.success)
|
|
43
|
+
successCount++;
|
|
44
|
+
totalDuration += op.durationMs;
|
|
45
|
+
toolCounts.set(op.tool, (toolCounts.get(op.tool) ?? 0) + 1);
|
|
46
|
+
}
|
|
47
|
+
const topTools = [...toolCounts.entries()]
|
|
48
|
+
.sort((a, b) => b[1] - a[1])
|
|
49
|
+
.slice(0, 10)
|
|
50
|
+
.map(([tool, count]) => ({ tool, count }));
|
|
51
|
+
return {
|
|
52
|
+
totalInvocations: total,
|
|
53
|
+
successCount,
|
|
54
|
+
failureCount: total - successCount,
|
|
55
|
+
avgDurationMs: Math.round(totalDuration / total),
|
|
56
|
+
topTools,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
get count() {
|
|
60
|
+
return this.buffer.length;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/** Global singleton — shared between withErrorHandler (producer) and cloud agent (consumer) */
|
|
64
|
+
export const mcpTracker = new McpOperationTracker();
|
|
65
|
+
//# sourceMappingURL=mcpTracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcpTracker.js","sourceRoot":"","sources":["../../../src/mcp/tools/mcpTracker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgCH,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,MAAM,mBAAmB;IACf,MAAM,GAAmB,EAAE,CAAC;IAEpC,+BAA+B;IAC/B,MAAM,CAAC,EAAgB;QACrB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACvB,CAAC;IAED,wEAAwE;IACxE,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED,mDAAmD;IACnD,IAAI;QACF,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,4CAA4C;IAC5C,UAAU;QACR,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;QACxB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,OAAO;gBACL,gBAAgB,EAAE,CAAC;gBACnB,YAAY,EAAE,CAAC;gBACf,YAAY,EAAE,CAAC;gBACf,aAAa,EAAE,CAAC;gBAChB,QAAQ,EAAE,EAAE;aACb,CAAC;QACJ,CAAC;QAED,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAE7C,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,EAAE,CAAC,OAAO;gBAAE,YAAY,EAAE,CAAC;YAC/B,aAAa,IAAI,EAAE,CAAC,UAAU,CAAC;YAC/B,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;aACvC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;aACZ,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAE7C,OAAO;YACL,gBAAgB,EAAE,KAAK;YACvB,YAAY;YACZ,YAAY,EAAE,KAAK,GAAG,YAAY;YAClC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;YAChD,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;CACF;AAED,+FAA+F;AAC/F,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,mBAAmB,EAAE,CAAC"}
|
|
@@ -5,19 +5,19 @@
|
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
import { withErrorHandler } from './withErrorHandler';
|
|
7
7
|
export function registerMonitoringTools(server, backend) {
|
|
8
|
-
server.tool('bunqueue_get_stats', 'Get overall queue server statistics including throughput, memory usage, and uptime.', {}, withErrorHandler(async () => {
|
|
8
|
+
server.tool('bunqueue_get_stats', 'Get overall queue server statistics including throughput, memory usage, and uptime.', {}, withErrorHandler('bunqueue_get_stats', async () => {
|
|
9
9
|
const stats = await backend.getStats();
|
|
10
10
|
return { content: [{ type: 'text', text: JSON.stringify(stats, null, 2) }] };
|
|
11
11
|
}));
|
|
12
12
|
server.tool('bunqueue_get_queue_stats', 'Get detailed statistics for a specific queue including job counts per state.', {
|
|
13
13
|
queue: z.string().describe('Queue name'),
|
|
14
|
-
}, withErrorHandler(async ({ queue }) => {
|
|
14
|
+
}, withErrorHandler('bunqueue_get_queue_stats', async ({ queue }) => {
|
|
15
15
|
const counts = await backend.getJobCounts(queue);
|
|
16
16
|
return {
|
|
17
17
|
content: [{ type: 'text', text: JSON.stringify({ queue, ...counts }, null, 2) }],
|
|
18
18
|
};
|
|
19
19
|
}));
|
|
20
|
-
server.tool('bunqueue_list_workers', 'List all registered workers with their status, queues, and processing stats.', {}, withErrorHandler(async () => {
|
|
20
|
+
server.tool('bunqueue_list_workers', 'List all registered workers with their status, queues, and processing stats.', {}, withErrorHandler('bunqueue_list_workers', async () => {
|
|
21
21
|
const workers = await backend.listWorkers();
|
|
22
22
|
return {
|
|
23
23
|
content: [
|
|
@@ -30,7 +30,7 @@ export function registerMonitoringTools(server, backend) {
|
|
|
30
30
|
}));
|
|
31
31
|
server.tool('bunqueue_get_job_logs', 'Get log entries for a specific job.', {
|
|
32
32
|
jobId: z.string().describe('Job ID'),
|
|
33
|
-
}, withErrorHandler(async ({ jobId }) => {
|
|
33
|
+
}, withErrorHandler('bunqueue_get_job_logs', async ({ jobId }) => {
|
|
34
34
|
const logs = await backend.getJobLogs(jobId);
|
|
35
35
|
return {
|
|
36
36
|
content: [
|
|
@@ -45,23 +45,23 @@ export function registerMonitoringTools(server, backend) {
|
|
|
45
45
|
jobId: z.string().describe('Job ID'),
|
|
46
46
|
message: z.string().describe('Log message'),
|
|
47
47
|
level: z.enum(['info', 'warn', 'error']).optional().describe('Log level (default: info)'),
|
|
48
|
-
}, withErrorHandler(async ({ jobId, message, level }) => {
|
|
48
|
+
}, withErrorHandler('bunqueue_add_job_log', async ({ jobId, message, level }) => {
|
|
49
49
|
const success = await backend.addJobLog(jobId, message, level);
|
|
50
50
|
return { content: [{ type: 'text', text: JSON.stringify({ success, jobId }) }] };
|
|
51
51
|
}));
|
|
52
|
-
server.tool('bunqueue_get_storage_status', 'Get storage health status. Reports if disk is full or has errors.', {}, withErrorHandler(async () => {
|
|
52
|
+
server.tool('bunqueue_get_storage_status', 'Get storage health status. Reports if disk is full or has errors.', {}, withErrorHandler('bunqueue_get_storage_status', async () => {
|
|
53
53
|
const status = await backend.getStorageStatus();
|
|
54
54
|
return { content: [{ type: 'text', text: JSON.stringify(status, null, 2) }] };
|
|
55
55
|
}));
|
|
56
|
-
server.tool('bunqueue_get_per_queue_stats', 'Get detailed statistics broken down per queue (throughput, latency, etc.).', {}, withErrorHandler(async () => {
|
|
56
|
+
server.tool('bunqueue_get_per_queue_stats', 'Get detailed statistics broken down per queue (throughput, latency, etc.).', {}, withErrorHandler('bunqueue_get_per_queue_stats', async () => {
|
|
57
57
|
const stats = await backend.getPerQueueStats();
|
|
58
58
|
return { content: [{ type: 'text', text: JSON.stringify(stats, null, 2) }] };
|
|
59
59
|
}));
|
|
60
|
-
server.tool('bunqueue_get_memory_stats', 'Get memory usage statistics (jobIndex, completedJobs, cache sizes, etc.).', {}, withErrorHandler(async () => {
|
|
60
|
+
server.tool('bunqueue_get_memory_stats', 'Get memory usage statistics (jobIndex, completedJobs, cache sizes, etc.).', {}, withErrorHandler('bunqueue_get_memory_stats', async () => {
|
|
61
61
|
const stats = await backend.getMemoryStats();
|
|
62
62
|
return { content: [{ type: 'text', text: JSON.stringify(stats, null, 2) }] };
|
|
63
63
|
}));
|
|
64
|
-
server.tool('bunqueue_get_prometheus_metrics', 'Get metrics in Prometheus exposition format for monitoring.', {}, withErrorHandler(async () => {
|
|
64
|
+
server.tool('bunqueue_get_prometheus_metrics', 'Get metrics in Prometheus exposition format for monitoring.', {}, withErrorHandler('bunqueue_get_prometheus_metrics', async () => {
|
|
65
65
|
const metrics = await backend.getPrometheusMetrics();
|
|
66
66
|
return { content: [{ type: 'text', text: metrics }] };
|
|
67
67
|
}));
|
|
@@ -72,13 +72,13 @@ export function registerMonitoringTools(server, backend) {
|
|
|
72
72
|
.min(0)
|
|
73
73
|
.optional()
|
|
74
74
|
.describe('Number of recent log entries to keep (default: 0 = clear all)'),
|
|
75
|
-
}, withErrorHandler(async ({ jobId, keepLogs }) => {
|
|
75
|
+
}, withErrorHandler('bunqueue_clear_job_logs', async ({ jobId, keepLogs }) => {
|
|
76
76
|
await backend.clearJobLogs(jobId, keepLogs);
|
|
77
77
|
return {
|
|
78
78
|
content: [{ type: 'text', text: JSON.stringify({ success: true, jobId }) }],
|
|
79
79
|
};
|
|
80
80
|
}));
|
|
81
|
-
server.tool('bunqueue_compact_memory', 'Force memory compaction to free unused memory.', {}, withErrorHandler(async () => {
|
|
81
|
+
server.tool('bunqueue_compact_memory', 'Force memory compaction to free unused memory.', {}, withErrorHandler('bunqueue_compact_memory', async () => {
|
|
82
82
|
await backend.compactMemory();
|
|
83
83
|
return {
|
|
84
84
|
content: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitoringTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/monitoringTools.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,UAAU,uBAAuB,CAAC,MAAiB,EAAE,OAAmB;IAC5E,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,qFAAqF,EACrF,EAAE,EACF,gBAAgB,CAAC,KAAK,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"monitoringTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/monitoringTools.ts"],"names":[],"mappings":"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"}
|