bunqueue 2.5.0 → 2.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/cli/index.d.ts.map +1 -1
  2. package/dist/cli/index.js +17 -0
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/client/queue/operations/add.js +1 -1
  5. package/dist/client/queue/operations/add.js.map +1 -1
  6. package/dist/client/tcp/client.d.ts.map +1 -1
  7. package/dist/client/tcp/client.js +2 -1
  8. package/dist/client/tcp/client.js.map +1 -1
  9. package/dist/mcp/adapter.d.ts +1 -1
  10. package/dist/mcp/adapter.d.ts.map +1 -1
  11. package/dist/mcp/adapter.js +2 -2
  12. package/dist/mcp/adapter.js.map +1 -1
  13. package/dist/mcp/index.js +1 -1
  14. package/dist/mcp/index.js.map +1 -1
  15. package/dist/mcp/resources.d.ts.map +1 -1
  16. package/dist/mcp/resources.js +29 -10
  17. package/dist/mcp/resources.js.map +1 -1
  18. package/dist/mcp/tools/consumptionTools.d.ts.map +1 -1
  19. package/dist/mcp/tools/consumptionTools.js +17 -16
  20. package/dist/mcp/tools/consumptionTools.js.map +1 -1
  21. package/dist/mcp/tools/cronTools.d.ts.map +1 -1
  22. package/dist/mcp/tools/cronTools.js +10 -8
  23. package/dist/mcp/tools/cronTools.js.map +1 -1
  24. package/dist/mcp/tools/dlqTools.d.ts.map +1 -1
  25. package/dist/mcp/tools/dlqTools.js +9 -8
  26. package/dist/mcp/tools/dlqTools.js.map +1 -1
  27. package/dist/mcp/tools/jobMgmtTools.d.ts.map +1 -1
  28. package/dist/mcp/tools/jobMgmtTools.js +14 -12
  29. package/dist/mcp/tools/jobMgmtTools.js.map +1 -1
  30. package/dist/mcp/tools/jobTools.d.ts.map +1 -1
  31. package/dist/mcp/tools/jobTools.js +25 -22
  32. package/dist/mcp/tools/jobTools.js.map +1 -1
  33. package/dist/mcp/tools/monitoringTools.d.ts.map +1 -1
  34. package/dist/mcp/tools/monitoringTools.js +23 -22
  35. package/dist/mcp/tools/monitoringTools.js.map +1 -1
  36. package/dist/mcp/tools/queueTools.d.ts.map +1 -1
  37. package/dist/mcp/tools/queueTools.js +23 -22
  38. package/dist/mcp/tools/queueTools.js.map +1 -1
  39. package/dist/mcp/tools/rateLimitTools.d.ts.map +1 -1
  40. package/dist/mcp/tools/rateLimitTools.js +9 -8
  41. package/dist/mcp/tools/rateLimitTools.js.map +1 -1
  42. package/dist/mcp/tools/webhookTools.d.ts.map +1 -1
  43. package/dist/mcp/tools/webhookTools.js +9 -8
  44. package/dist/mcp/tools/webhookTools.js.map +1 -1
  45. package/dist/mcp/tools/withErrorHandler.d.ts +21 -0
  46. package/dist/mcp/tools/withErrorHandler.d.ts.map +1 -0
  47. package/dist/mcp/tools/withErrorHandler.js +24 -0
  48. package/dist/mcp/tools/withErrorHandler.js.map +1 -0
  49. package/dist/mcp/tools/workerMgmtTools.d.ts.map +1 -1
  50. package/dist/mcp/tools/workerMgmtTools.js +7 -6
  51. package/dist/mcp/tools/workerMgmtTools.js.map +1 -1
  52. package/package.json +1 -1
@@ -3,20 +3,21 @@
3
3
  * MCP Tools - Monitoring, Stats, Workers, Logs
4
4
  */
5
5
  import { z } from 'zod';
6
+ import { withErrorHandler } from './withErrorHandler';
6
7
  export function registerMonitoringTools(server, backend) {
7
- server.tool('bunqueue_get_stats', 'Get overall queue server statistics including throughput, memory usage, and uptime.', {}, async () => {
8
+ server.tool('bunqueue_get_stats', 'Get overall queue server statistics including throughput, memory usage, and uptime.', {}, withErrorHandler(async () => {
8
9
  const stats = await backend.getStats();
9
10
  return { content: [{ type: 'text', text: JSON.stringify(stats, null, 2) }] };
10
- });
11
+ }));
11
12
  server.tool('bunqueue_get_queue_stats', 'Get detailed statistics for a specific queue including job counts per state.', {
12
13
  queue: z.string().describe('Queue name'),
13
- }, async ({ queue }) => {
14
+ }, withErrorHandler(async ({ queue }) => {
14
15
  const counts = await backend.getJobCounts(queue);
15
16
  return {
16
17
  content: [{ type: 'text', text: JSON.stringify({ queue, ...counts }, null, 2) }],
17
18
  };
18
- });
19
- server.tool('bunqueue_list_workers', 'List all registered workers with their status, queues, and processing stats.', {}, async () => {
19
+ }));
20
+ server.tool('bunqueue_list_workers', 'List all registered workers with their status, queues, and processing stats.', {}, withErrorHandler(async () => {
20
21
  const workers = await backend.listWorkers();
21
22
  return {
22
23
  content: [
@@ -26,10 +27,10 @@ export function registerMonitoringTools(server, backend) {
26
27
  },
27
28
  ],
28
29
  };
29
- });
30
+ }));
30
31
  server.tool('bunqueue_get_job_logs', 'Get log entries for a specific job.', {
31
32
  jobId: z.string().describe('Job ID'),
32
- }, async ({ jobId }) => {
33
+ }, withErrorHandler(async ({ jobId }) => {
33
34
  const logs = await backend.getJobLogs(jobId);
34
35
  return {
35
36
  content: [
@@ -39,31 +40,31 @@ export function registerMonitoringTools(server, backend) {
39
40
  },
40
41
  ],
41
42
  };
42
- });
43
+ }));
43
44
  server.tool('bunqueue_add_job_log', 'Add a log entry to a job.', {
44
45
  jobId: z.string().describe('Job ID'),
45
46
  message: z.string().describe('Log message'),
46
47
  level: z.enum(['info', 'warn', 'error']).optional().describe('Log level (default: info)'),
47
- }, async ({ jobId, message, level }) => {
48
+ }, withErrorHandler(async ({ jobId, message, level }) => {
48
49
  const success = await backend.addJobLog(jobId, message, level);
49
50
  return { content: [{ type: 'text', text: JSON.stringify({ success, jobId }) }] };
50
- });
51
- server.tool('bunqueue_get_storage_status', 'Get storage health status. Reports if disk is full or has errors.', {}, async () => {
51
+ }));
52
+ server.tool('bunqueue_get_storage_status', 'Get storage health status. Reports if disk is full or has errors.', {}, withErrorHandler(async () => {
52
53
  const status = await backend.getStorageStatus();
53
54
  return { content: [{ type: 'text', text: JSON.stringify(status, null, 2) }] };
54
- });
55
- server.tool('bunqueue_get_per_queue_stats', 'Get detailed statistics broken down per queue (throughput, latency, etc.).', {}, async () => {
55
+ }));
56
+ server.tool('bunqueue_get_per_queue_stats', 'Get detailed statistics broken down per queue (throughput, latency, etc.).', {}, withErrorHandler(async () => {
56
57
  const stats = await backend.getPerQueueStats();
57
58
  return { content: [{ type: 'text', text: JSON.stringify(stats, null, 2) }] };
58
- });
59
- server.tool('bunqueue_get_memory_stats', 'Get memory usage statistics (jobIndex, completedJobs, cache sizes, etc.).', {}, async () => {
59
+ }));
60
+ server.tool('bunqueue_get_memory_stats', 'Get memory usage statistics (jobIndex, completedJobs, cache sizes, etc.).', {}, withErrorHandler(async () => {
60
61
  const stats = await backend.getMemoryStats();
61
62
  return { content: [{ type: 'text', text: JSON.stringify(stats, null, 2) }] };
62
- });
63
- server.tool('bunqueue_get_prometheus_metrics', 'Get metrics in Prometheus exposition format for monitoring.', {}, async () => {
63
+ }));
64
+ server.tool('bunqueue_get_prometheus_metrics', 'Get metrics in Prometheus exposition format for monitoring.', {}, withErrorHandler(async () => {
64
65
  const metrics = await backend.getPrometheusMetrics();
65
66
  return { content: [{ type: 'text', text: metrics }] };
66
- });
67
+ }));
67
68
  server.tool('bunqueue_clear_job_logs', 'Clear log entries for a specific job, optionally keeping the last N entries.', {
68
69
  jobId: z.string().describe('Job ID'),
69
70
  keepLogs: z
@@ -71,13 +72,13 @@ export function registerMonitoringTools(server, backend) {
71
72
  .min(0)
72
73
  .optional()
73
74
  .describe('Number of recent log entries to keep (default: 0 = clear all)'),
74
- }, async ({ jobId, keepLogs }) => {
75
+ }, withErrorHandler(async ({ jobId, keepLogs }) => {
75
76
  await backend.clearJobLogs(jobId, keepLogs);
76
77
  return {
77
78
  content: [{ type: 'text', text: JSON.stringify({ success: true, jobId }) }],
78
79
  };
79
- });
80
- server.tool('bunqueue_compact_memory', 'Force memory compaction to free unused memory.', {}, async () => {
80
+ }));
81
+ server.tool('bunqueue_compact_memory', 'Force memory compaction to free unused memory.', {}, withErrorHandler(async () => {
81
82
  await backend.compactMemory();
82
83
  return {
83
84
  content: [
@@ -87,6 +88,6 @@ export function registerMonitoringTools(server, backend) {
87
88
  },
88
89
  ],
89
90
  };
90
- });
91
+ }));
91
92
  }
92
93
  //# sourceMappingURL=monitoringTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"monitoringTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/monitoringTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monitoringTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/monitoringTools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"queueTools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/queueTools.ts"],"names":[],"mappings":"AACA;;;GAGG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,QAiLxE"}
1
+ {"version":3,"file":"queueTools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/queueTools.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,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,QAsLxE"}
@@ -4,17 +4,18 @@
4
4
  * List, count, pause, resume, drain, obliterate, clean, get jobs
5
5
  */
6
6
  import { z } from 'zod';
7
+ import { withErrorHandler } from './withErrorHandler';
7
8
  export function registerQueueTools(server, backend) {
8
- server.tool('bunqueue_list_queues', 'List all queues.', {}, async () => {
9
+ server.tool('bunqueue_list_queues', 'List all queues.', {}, withErrorHandler(async () => {
9
10
  const queues = await backend.listQueues();
10
11
  return { content: [{ type: 'text', text: JSON.stringify({ queues }) }] };
11
- });
12
+ }));
12
13
  server.tool('bunqueue_count_jobs', 'Count total jobs in a queue (all states).', {
13
14
  queue: z.string().describe('Queue name'),
14
- }, async ({ queue }) => {
15
+ }, withErrorHandler(async ({ queue }) => {
15
16
  const count = await backend.countJobs(queue);
16
17
  return { content: [{ type: 'text', text: JSON.stringify({ queue, count }) }] };
17
- });
18
+ }));
18
19
  server.tool('bunqueue_get_jobs', 'List jobs in a queue with optional state filter and pagination.', {
19
20
  queue: z.string().describe('Queue name'),
20
21
  state: z
@@ -23,7 +24,7 @@ export function registerQueueTools(server, backend) {
23
24
  .describe('Filter by job state'),
24
25
  start: z.number().optional().describe('Start index for pagination (default: 0)'),
25
26
  end: z.number().optional().describe('End index for pagination (default: 20)'),
26
- }, async ({ queue, state, start, end }) => {
27
+ }, withErrorHandler(async ({ queue, state, start, end }) => {
27
28
  const jobs = await backend.getJobs(queue, { state, start: start ?? 0, end: end ?? 20 });
28
29
  return {
29
30
  content: [
@@ -33,16 +34,16 @@ export function registerQueueTools(server, backend) {
33
34
  },
34
35
  ],
35
36
  };
36
- });
37
+ }));
37
38
  server.tool('bunqueue_get_job_counts', 'Get job counts per state for a queue (waiting, delayed, active, completed, failed).', {
38
39
  queue: z.string().describe('Queue name'),
39
- }, async ({ queue }) => {
40
+ }, withErrorHandler(async ({ queue }) => {
40
41
  const counts = await backend.getJobCounts(queue);
41
42
  return { content: [{ type: 'text', text: JSON.stringify({ queue, ...counts }) }] };
42
- });
43
+ }));
43
44
  server.tool('bunqueue_pause_queue', 'Pause job processing on a queue. No new jobs will be processed until resumed.', {
44
45
  queue: z.string().describe('Queue name'),
45
- }, async ({ queue }) => {
46
+ }, withErrorHandler(async ({ queue }) => {
46
47
  await backend.pauseQueue(queue);
47
48
  return {
48
49
  content: [
@@ -52,10 +53,10 @@ export function registerQueueTools(server, backend) {
52
53
  },
53
54
  ],
54
55
  };
55
- });
56
+ }));
56
57
  server.tool('bunqueue_resume_queue', 'Resume job processing on a paused queue.', {
57
58
  queue: z.string().describe('Queue name'),
58
- }, async ({ queue }) => {
59
+ }, withErrorHandler(async ({ queue }) => {
59
60
  await backend.resumeQueue(queue);
60
61
  return {
61
62
  content: [
@@ -65,20 +66,20 @@ export function registerQueueTools(server, backend) {
65
66
  },
66
67
  ],
67
68
  };
68
- });
69
+ }));
69
70
  server.tool('bunqueue_drain_queue', 'Remove all waiting jobs from a queue. Active jobs continue processing.', {
70
71
  queue: z.string().describe('Queue name'),
71
- }, async ({ queue }) => {
72
+ }, withErrorHandler(async ({ queue }) => {
72
73
  const removed = await backend.drainQueue(queue);
73
74
  return {
74
75
  content: [
75
76
  { type: 'text', text: JSON.stringify({ success: true, queue, removed }) },
76
77
  ],
77
78
  };
78
- });
79
+ }));
79
80
  server.tool('bunqueue_obliterate_queue', 'Remove ALL data from a queue (waiting, active, completed, failed). Destructive operation.', {
80
81
  queue: z.string().describe('Queue name'),
81
- }, async ({ queue }) => {
82
+ }, withErrorHandler(async ({ queue }) => {
82
83
  await backend.obliterateQueue(queue);
83
84
  return {
84
85
  content: [
@@ -88,7 +89,7 @@ export function registerQueueTools(server, backend) {
88
89
  },
89
90
  ],
90
91
  };
91
- });
92
+ }));
92
93
  server.tool('bunqueue_clean_queue', 'Remove old jobs from a queue based on grace period and state.', {
93
94
  queue: z.string().describe('Queue name'),
94
95
  graceMs: z.number().min(0).describe('Grace period in ms - only remove jobs older than this'),
@@ -97,29 +98,29 @@ export function registerQueueTools(server, backend) {
97
98
  .optional()
98
99
  .describe('State to clean (default: both completed and failed)'),
99
100
  limit: z.number().optional().describe('Maximum number of jobs to remove'),
100
- }, async ({ queue, graceMs, state, limit }) => {
101
+ }, withErrorHandler(async ({ queue, graceMs, state, limit }) => {
101
102
  const removed = await backend.cleanQueue(queue, graceMs, state, limit);
102
103
  return {
103
104
  content: [
104
105
  { type: 'text', text: JSON.stringify({ success: true, queue, removed }) },
105
106
  ],
106
107
  };
107
- });
108
+ }));
108
109
  server.tool('bunqueue_is_paused', 'Check if a queue is currently paused.', {
109
110
  queue: z.string().describe('Queue name'),
110
- }, async ({ queue }) => {
111
+ }, withErrorHandler(async ({ queue }) => {
111
112
  const paused = await backend.isPaused(queue);
112
113
  return { content: [{ type: 'text', text: JSON.stringify({ queue, paused }) }] };
113
- });
114
+ }));
114
115
  server.tool('bunqueue_get_counts_per_priority', 'Get job count breakdown by priority level for a queue.', {
115
116
  queue: z.string().describe('Queue name'),
116
- }, async ({ queue }) => {
117
+ }, withErrorHandler(async ({ queue }) => {
117
118
  const counts = await backend.getCountsPerPriority(queue);
118
119
  return {
119
120
  content: [
120
121
  { type: 'text', text: JSON.stringify({ queue, priorities: counts }, null, 2) },
121
122
  ],
122
123
  };
123
- });
124
+ }));
124
125
  }
125
126
  //# sourceMappingURL=queueTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queueTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/queueTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queueTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/queueTools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rateLimitTools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/rateLimitTools.ts"],"names":[],"mappings":"AACA;;GAEG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,QA8E5E"}
1
+ {"version":3,"file":"rateLimitTools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/rateLimitTools.ts"],"names":[],"mappings":"AACA;;GAEG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,QA8E5E"}
@@ -3,11 +3,12 @@
3
3
  * MCP Tools - Rate Limiting & Concurrency Control
4
4
  */
5
5
  import { z } from 'zod';
6
+ import { withErrorHandler } from './withErrorHandler';
6
7
  export function registerRateLimitTools(server, backend) {
7
8
  server.tool('bunqueue_set_rate_limit', 'Set rate limit for a queue (max jobs processed per second).', {
8
9
  queue: z.string().describe('Queue name'),
9
10
  limit: z.number().min(1).describe('Max jobs per second'),
10
- }, async ({ queue, limit }) => {
11
+ }, withErrorHandler(async ({ queue, limit }) => {
11
12
  await backend.setRateLimit(queue, limit);
12
13
  return {
13
14
  content: [
@@ -17,10 +18,10 @@ export function registerRateLimitTools(server, backend) {
17
18
  },
18
19
  ],
19
20
  };
20
- });
21
+ }));
21
22
  server.tool('bunqueue_clear_rate_limit', 'Remove rate limit from a queue, allowing unlimited throughput.', {
22
23
  queue: z.string().describe('Queue name'),
23
- }, async ({ queue }) => {
24
+ }, withErrorHandler(async ({ queue }) => {
24
25
  await backend.clearRateLimit(queue);
25
26
  return {
26
27
  content: [
@@ -30,11 +31,11 @@ export function registerRateLimitTools(server, backend) {
30
31
  },
31
32
  ],
32
33
  };
33
- });
34
+ }));
34
35
  server.tool('bunqueue_set_concurrency', 'Set concurrency limit for a queue (max simultaneous active jobs).', {
35
36
  queue: z.string().describe('Queue name'),
36
37
  limit: z.number().min(1).describe('Max concurrent jobs'),
37
- }, async ({ queue, limit }) => {
38
+ }, withErrorHandler(async ({ queue, limit }) => {
38
39
  await backend.setConcurrency(queue, limit);
39
40
  return {
40
41
  content: [
@@ -44,10 +45,10 @@ export function registerRateLimitTools(server, backend) {
44
45
  },
45
46
  ],
46
47
  };
47
- });
48
+ }));
48
49
  server.tool('bunqueue_clear_concurrency', 'Remove concurrency limit from a queue.', {
49
50
  queue: z.string().describe('Queue name'),
50
- }, async ({ queue }) => {
51
+ }, withErrorHandler(async ({ queue }) => {
51
52
  await backend.clearConcurrency(queue);
52
53
  return {
53
54
  content: [
@@ -57,6 +58,6 @@ export function registerRateLimitTools(server, backend) {
57
58
  },
58
59
  ],
59
60
  };
60
- });
61
+ }));
61
62
  }
62
63
  //# sourceMappingURL=rateLimitTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rateLimitTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/rateLimitTools.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,OAAmB;IAC3E,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,6DAA6D,EAC7D;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;KACzD,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QACzB,MAAM,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACzC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;iBACjE;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,gEAAgE,EAChE;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;KACzC,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QAClB,MAAM,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACpC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC;iBAC9E;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,mEAAmE,EACnE;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;KACzD,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QACzB,MAAM,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3C,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;iBACnE;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,4BAA4B,EAC5B,wCAAwC,EACxC;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;KACzC,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QAClB,MAAM,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACtC,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;iBACrF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"rateLimitTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/rateLimitTools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"webhookTools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/webhookTools.ts"],"names":[],"mappings":"AACA;;GAEG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,QAoE1E"}
1
+ {"version":3,"file":"webhookTools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/webhookTools.ts"],"names":[],"mappings":"AACA;;GAEG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,QAyE1E"}
@@ -3,6 +3,7 @@
3
3
  * MCP Tools - Webhook Management
4
4
  */
5
5
  import { z } from 'zod';
6
+ import { withErrorHandler } from './withErrorHandler';
6
7
  export function registerWebhookTools(server, backend) {
7
8
  server.tool('bunqueue_add_webhook', 'Add a webhook to receive notifications for job events.', {
8
9
  url: z.url().describe('Webhook URL to receive POST requests'),
@@ -17,21 +18,21 @@ export function registerWebhookTools(server, backend) {
17
18
  ]))
18
19
  .describe('Events to subscribe to'),
19
20
  queue: z.string().optional().describe('Limit to a specific queue (omit for all queues)'),
20
- }, async ({ url, events, queue }) => {
21
+ }, withErrorHandler(async ({ url, events, queue }) => {
21
22
  const webhook = await backend.addWebhook(url, events, queue);
22
23
  return {
23
24
  content: [
24
25
  { type: 'text', text: JSON.stringify({ success: true, ...webhook }, null, 2) },
25
26
  ],
26
27
  };
27
- });
28
+ }));
28
29
  server.tool('bunqueue_remove_webhook', 'Remove a webhook by ID.', {
29
30
  id: z.string().describe('Webhook ID to remove'),
30
- }, async ({ id }) => {
31
+ }, withErrorHandler(async ({ id }) => {
31
32
  const success = await backend.removeWebhook(id);
32
33
  return { content: [{ type: 'text', text: JSON.stringify({ success, id }) }] };
33
- });
34
- server.tool('bunqueue_list_webhooks', 'List all registered webhooks.', {}, async () => {
34
+ }));
35
+ server.tool('bunqueue_list_webhooks', 'List all registered webhooks.', {}, withErrorHandler(async () => {
35
36
  const webhooks = await backend.listWebhooks();
36
37
  return {
37
38
  content: [
@@ -41,15 +42,15 @@ export function registerWebhookTools(server, backend) {
41
42
  },
42
43
  ],
43
44
  };
44
- });
45
+ }));
45
46
  server.tool('bunqueue_set_webhook_enabled', 'Enable or disable a webhook without removing it.', {
46
47
  id: z.string().describe('Webhook ID'),
47
48
  enabled: z.boolean().describe('Whether the webhook should be enabled'),
48
- }, async ({ id, enabled }) => {
49
+ }, withErrorHandler(async ({ id, enabled }) => {
49
50
  const success = await backend.setWebhookEnabled(id, enabled);
50
51
  return {
51
52
  content: [{ type: 'text', text: JSON.stringify({ success, id, enabled }) }],
52
53
  };
53
- });
54
+ }));
54
55
  }
55
56
  //# sourceMappingURL=webhookTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"webhookTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/webhookTools.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,UAAU,oBAAoB,CAAC,MAAiB,EAAE,OAAmB;IACzE,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,wDAAwD,EACxD;QACE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QAC7D,MAAM,EAAE,CAAC;aACN,KAAK,CACJ,CAAC,CAAC,IAAI,CAAC;YACL,eAAe;YACf,YAAY;YACZ,cAAc;YACd,YAAY;YACZ,aAAa;YACb,aAAa;SACd,CAAC,CACH;aACA,QAAQ,CAAC,wBAAwB,CAAC;QACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;KACzF,EACD,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;QAC/B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7D,OAAO;YACL,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;aACxF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,yBAAyB,EACzB;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;KAChD,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QACf,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAChD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACzF,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,+BAA+B,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE;QACpF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;QAC9C,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,CAAC;IAEH,MAAM,CAAC,IAAI,CACT,8BAA8B,EAC9B,kDAAkD,EAClD;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACrC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;KACvE,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QACxB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC7D,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;SACrF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"webhookTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/webhookTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * MCP Tool Error Handler
3
+ * Wraps tool handlers with try/catch to return proper MCP error responses.
4
+ */
5
+ /** MCP tool result compatible with SDK's expected return type */
6
+ interface ToolResult {
7
+ [key: string]: unknown;
8
+ content: Array<{
9
+ type: 'text';
10
+ text: string;
11
+ }>;
12
+ isError?: boolean;
13
+ }
14
+ /**
15
+ * Wraps an MCP tool handler with error handling.
16
+ * Catches exceptions and returns a proper MCP error response with isError: true
17
+ * instead of letting raw stack traces propagate to the AI agent.
18
+ */
19
+ export declare function withErrorHandler<T>(fn: (args: T) => Promise<ToolResult>): (args: T) => Promise<ToolResult>;
20
+ export {};
21
+ //# sourceMappingURL=withErrorHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withErrorHandler.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/withErrorHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,iEAAiE;AACjE,UAAU,UAAU;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,GACnC,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,CAYlC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * MCP Tool Error Handler
3
+ * Wraps tool handlers with try/catch to return proper MCP error responses.
4
+ */
5
+ /**
6
+ * Wraps an MCP tool handler with error handling.
7
+ * Catches exceptions and returns a proper MCP error response with isError: true
8
+ * instead of letting raw stack traces propagate to the AI agent.
9
+ */
10
+ export function withErrorHandler(fn) {
11
+ return async (args) => {
12
+ try {
13
+ return await fn(args);
14
+ }
15
+ catch (err) {
16
+ const message = err instanceof Error ? err.message : String(err);
17
+ return {
18
+ content: [{ type: 'text', text: JSON.stringify({ error: message }) }],
19
+ isError: true,
20
+ };
21
+ }
22
+ };
23
+ }
24
+ //# sourceMappingURL=withErrorHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withErrorHandler.js","sourceRoot":"","sources":["../../../src/mcp/tools/withErrorHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,EAAoC;IAEpC,OAAO,KAAK,EAAE,IAAO,EAAE,EAAE;QACvB,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gBAC9E,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"workerMgmtTools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/workerMgmtTools.ts"],"names":[],"mappings":"AACA;;;GAGG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,QAyC7E"}
1
+ {"version":3,"file":"workerMgmtTools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/workerMgmtTools.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,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,QAyC7E"}
@@ -4,29 +4,30 @@
4
4
  * Register, unregister, heartbeat workers
5
5
  */
6
6
  import { z } from 'zod';
7
+ import { withErrorHandler } from './withErrorHandler';
7
8
  export function registerWorkerMgmtTools(server, backend) {
8
9
  server.tool('bunqueue_register_worker', 'Register a new worker to process jobs from specified queues.', {
9
10
  name: z.string().describe('Worker name/identifier'),
10
11
  queues: z.array(z.string()).min(1).describe('Queues this worker will process'),
11
- }, async ({ name, queues }) => {
12
+ }, withErrorHandler(async ({ name, queues }) => {
12
13
  const worker = await backend.registerWorker(name, queues);
13
14
  return {
14
15
  content: [
15
16
  { type: 'text', text: JSON.stringify({ success: true, worker }, null, 2) },
16
17
  ],
17
18
  };
18
- });
19
+ }));
19
20
  server.tool('bunqueue_unregister_worker', 'Unregister a worker, removing it from the active workers list.', {
20
21
  workerId: z.string().describe('Worker ID to unregister'),
21
- }, async ({ workerId }) => {
22
+ }, withErrorHandler(async ({ workerId }) => {
22
23
  const success = await backend.unregisterWorker(workerId);
23
24
  return { content: [{ type: 'text', text: JSON.stringify({ success, workerId }) }] };
24
- });
25
+ }));
25
26
  server.tool('bunqueue_worker_heartbeat', 'Send a heartbeat to keep a registered worker alive.', {
26
27
  workerId: z.string().describe('Worker ID'),
27
- }, async ({ workerId }) => {
28
+ }, withErrorHandler(async ({ workerId }) => {
28
29
  const success = await backend.workerHeartbeat(workerId);
29
30
  return { content: [{ type: 'text', text: JSON.stringify({ success, workerId }) }] };
30
- });
31
+ }));
31
32
  }
32
33
  //# sourceMappingURL=workerMgmtTools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workerMgmtTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/workerMgmtTools.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,UAAU,uBAAuB,CAAC,MAAiB,EAAE,OAAmB;IAC5E,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,8DAA8D,EAC9D;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACnD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;KAC/E,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1D,OAAO;YACL,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;aACpF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,4BAA4B,EAC5B,gEAAgE,EAChE;QACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KACzD,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACzD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC/F,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,qDAAqD,EACrD;QACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;KAC3C,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QACrB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACxD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC/F,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"workerMgmtTools.js","sourceRoot":"","sources":["../../../src/mcp/tools/workerMgmtTools.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,uBAAuB,CAAC,MAAiB,EAAE,OAAmB;IAC5E,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,8DAA8D,EAC9D;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACnD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;KAC/E,EACD,gBAAgB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1D,OAAO;YACL,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;aACpF;SACF,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,4BAA4B,EAC5B,gEAAgE,EAChE;QACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KACzD,EACD,gBAAgB,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QACtC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACzD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC/F,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,qDAAqD,EACrD;QACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;KAC3C,EACD,gBAAgB,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QACtC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACxD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC/F,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bunqueue",
3
- "version": "2.5.0",
3
+ "version": "2.5.2",
4
4
  "description": "High-performance job queue for Bun & AI agents. SQLite persistence, cron scheduling, priorities, retries, DLQ, webhooks, native MCP server. Zero external dependencies.",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",