bunqueue 1.9.2 → 1.9.4

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 (103) hide show
  1. package/README.md +93 -5
  2. package/dist/application/operations/push.d.ts.map +1 -1
  3. package/dist/application/operations/push.js +48 -9
  4. package/dist/application/operations/push.js.map +1 -1
  5. package/dist/application/queueManager.d.ts +25 -0
  6. package/dist/application/queueManager.d.ts.map +1 -1
  7. package/dist/application/queueManager.js +122 -2
  8. package/dist/application/queueManager.js.map +1 -1
  9. package/dist/cli/client.d.ts +6 -0
  10. package/dist/cli/client.d.ts.map +1 -1
  11. package/dist/cli/client.js +60 -48
  12. package/dist/cli/client.js.map +1 -1
  13. package/dist/cli/commands/cron.js +3 -0
  14. package/dist/cli/commands/cron.js.map +1 -1
  15. package/dist/cli/commands/server.d.ts.map +1 -1
  16. package/dist/cli/commands/server.js +32 -5
  17. package/dist/cli/commands/server.js.map +1 -1
  18. package/dist/cli/help.d.ts.map +1 -1
  19. package/dist/cli/help.js +10 -6
  20. package/dist/cli/help.js.map +1 -1
  21. package/dist/cli/index.d.ts.map +1 -1
  22. package/dist/cli/index.js +15 -2
  23. package/dist/cli/index.js.map +1 -1
  24. package/dist/client/queue/queue.d.ts +22 -0
  25. package/dist/client/queue/queue.d.ts.map +1 -1
  26. package/dist/client/queue/queue.js +77 -0
  27. package/dist/client/queue/queue.js.map +1 -1
  28. package/dist/client/tcp/client.d.ts +0 -3
  29. package/dist/client/tcp/client.d.ts.map +1 -1
  30. package/dist/client/tcp/client.js +5 -4
  31. package/dist/client/tcp/client.js.map +1 -1
  32. package/dist/client/tcp/connection.d.ts +11 -2
  33. package/dist/client/tcp/connection.d.ts.map +1 -1
  34. package/dist/client/tcp/connection.js +54 -42
  35. package/dist/client/tcp/connection.js.map +1 -1
  36. package/dist/client/tcp/types.d.ts +8 -1
  37. package/dist/client/tcp/types.d.ts.map +1 -1
  38. package/dist/client/tcp/types.js +1 -0
  39. package/dist/client/tcp/types.js.map +1 -1
  40. package/dist/client/tcpPool.d.ts.map +1 -1
  41. package/dist/client/tcpPool.js +6 -0
  42. package/dist/client/tcpPool.js.map +1 -1
  43. package/dist/client/types.d.ts +4 -2
  44. package/dist/client/types.d.ts.map +1 -1
  45. package/dist/client/types.js.map +1 -1
  46. package/dist/domain/queue/shard.d.ts +15 -4
  47. package/dist/domain/queue/shard.d.ts.map +1 -1
  48. package/dist/domain/queue/shard.js +70 -6
  49. package/dist/domain/queue/shard.js.map +1 -1
  50. package/dist/domain/types/command.d.ts +12 -1
  51. package/dist/domain/types/command.d.ts.map +1 -1
  52. package/dist/domain/types/cron.d.ts +4 -0
  53. package/dist/domain/types/cron.d.ts.map +1 -1
  54. package/dist/domain/types/cron.js +1 -0
  55. package/dist/domain/types/cron.js.map +1 -1
  56. package/dist/domain/types/deduplication.d.ts +44 -0
  57. package/dist/domain/types/deduplication.d.ts.map +1 -0
  58. package/dist/domain/types/deduplication.js +27 -0
  59. package/dist/domain/types/deduplication.js.map +1 -0
  60. package/dist/domain/types/job.d.ts +9 -0
  61. package/dist/domain/types/job.d.ts.map +1 -1
  62. package/dist/domain/types/job.js.map +1 -1
  63. package/dist/infrastructure/persistence/schema.d.ts +1 -1
  64. package/dist/infrastructure/persistence/schema.d.ts.map +1 -1
  65. package/dist/infrastructure/persistence/schema.js +2 -1
  66. package/dist/infrastructure/persistence/schema.js.map +1 -1
  67. package/dist/infrastructure/persistence/sqlite.d.ts.map +1 -1
  68. package/dist/infrastructure/persistence/sqlite.js +2 -1
  69. package/dist/infrastructure/persistence/sqlite.js.map +1 -1
  70. package/dist/infrastructure/persistence/statements.d.ts +1 -0
  71. package/dist/infrastructure/persistence/statements.d.ts.map +1 -1
  72. package/dist/infrastructure/persistence/statements.js +2 -2
  73. package/dist/infrastructure/scheduler/cronParser.d.ts +4 -2
  74. package/dist/infrastructure/scheduler/cronParser.d.ts.map +1 -1
  75. package/dist/infrastructure/scheduler/cronParser.js +6 -4
  76. package/dist/infrastructure/scheduler/cronParser.js.map +1 -1
  77. package/dist/infrastructure/scheduler/cronScheduler.js +3 -3
  78. package/dist/infrastructure/scheduler/cronScheduler.js.map +1 -1
  79. package/dist/infrastructure/server/handler.d.ts.map +1 -1
  80. package/dist/infrastructure/server/handler.js +6 -2
  81. package/dist/infrastructure/server/handler.js.map +1 -1
  82. package/dist/infrastructure/server/handlers/cron.d.ts.map +1 -1
  83. package/dist/infrastructure/server/handlers/cron.js +3 -0
  84. package/dist/infrastructure/server/handlers/cron.js.map +1 -1
  85. package/dist/infrastructure/server/handlers/dlq.d.ts +4 -0
  86. package/dist/infrastructure/server/handlers/dlq.d.ts.map +1 -1
  87. package/dist/infrastructure/server/handlers/dlq.js +10 -0
  88. package/dist/infrastructure/server/handlers/dlq.js.map +1 -1
  89. package/dist/infrastructure/server/handlers/query.d.ts +7 -3
  90. package/dist/infrastructure/server/handlers/query.d.ts.map +1 -1
  91. package/dist/infrastructure/server/handlers/query.js +14 -5
  92. package/dist/infrastructure/server/handlers/query.js.map +1 -1
  93. package/dist/infrastructure/server/http.d.ts +10 -3
  94. package/dist/infrastructure/server/http.d.ts.map +1 -1
  95. package/dist/infrastructure/server/http.js +233 -219
  96. package/dist/infrastructure/server/http.js.map +1 -1
  97. package/dist/infrastructure/server/tcp.d.ts +8 -3
  98. package/dist/infrastructure/server/tcp.d.ts.map +1 -1
  99. package/dist/infrastructure/server/tcp.js +77 -65
  100. package/dist/infrastructure/server/tcp.js.map +1 -1
  101. package/dist/main.js +22 -4
  102. package/dist/main.js.map +1 -1
  103. package/package.json +1 -1
@@ -2,14 +2,19 @@
2
2
  * TCP Server
3
3
  * Handles TCP connections with JSON line protocol
4
4
  */
5
- import type { Socket } from 'bun';
5
+ import type { Socket, TCPSocketListener, UnixSocketListener } from 'bun';
6
6
  import type { QueueManager } from '../../application/queueManager';
7
7
  import { type HandlerContext } from './handler';
8
8
  import { LineBuffer, type ConnectionState } from './protocol';
9
9
  /** TCP Server configuration */
10
10
  export interface TcpServerConfig {
11
- port: number;
11
+ /** TCP port (ignored if socketPath is set) */
12
+ port?: number;
13
+ /** Hostname to bind (ignored if socketPath is set) */
12
14
  hostname?: string;
15
+ /** Unix socket path (takes priority over port/hostname) */
16
+ socketPath?: string;
17
+ /** Auth tokens for authentication */
13
18
  authTokens?: string[];
14
19
  }
15
20
  /** Per-connection data */
@@ -22,7 +27,7 @@ interface ConnectionData {
22
27
  * Create and start TCP server
23
28
  */
24
29
  export declare function createTcpServer(queueManager: QueueManager, config: TcpServerConfig): {
25
- server: Bun.TCPSocketListener<ConnectionData>;
30
+ server: TCPSocketListener<ConnectionData> | UnixSocketListener<ConnectionData>;
26
31
  connections: Map<string, Socket<ConnectionData>>;
27
32
  /** Get connection count */
28
33
  getConnectionCount(): number;
@@ -1 +1 @@
1
- {"version":3,"file":"tcp.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/server/tcp.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAuC,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAKnG,+BAA+B;AAC/B,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,0BAA0B;AAC1B,UAAU,cAAc;IACtB,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,cAAc,CAAC;CACrB;AAkBD;;GAEG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe;;;IAwF/E,2BAA2B;0BACL,MAAM;IAI5B,mCAAmC;uBAChB,MAAM,GAAG,IAAI;IAOhC,sBAAsB;YACd,IAAI;EASf;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"tcp.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/server/tcp.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,KAAK,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAuC,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAKnG,+BAA+B;AAC/B,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,0BAA0B;AAC1B,UAAU,cAAc;IACtB,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,cAAc,CAAC;CACrB;AAkBD;;GAEG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe;;;IAmG/E,2BAA2B;0BACL,MAAM;IAI5B,mCAAmC;uBAChB,MAAM,GAAG,IAAI;IAOhC,sBAAsB;YACd,IAAI;EASf;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -25,75 +25,87 @@ function errorResponseLine(message, reqId) {
25
25
  export function createTcpServer(queueManager, config) {
26
26
  const authTokens = new Set(config.authTokens ?? []);
27
27
  const connections = new Map();
28
- const server = Bun.listen({
29
- hostname: config.hostname ?? '0.0.0.0',
30
- port: config.port,
31
- socket: {
32
- open(socket) {
33
- const clientId = uuid();
34
- const state = createConnectionState(clientId);
35
- const ctx = {
36
- queueManager,
37
- authTokens,
38
- authenticated: authTokens.size === 0, // Auto-auth if no tokens
39
- clientId, // For job ownership tracking
40
- };
41
- socket.data = {
42
- state,
43
- buffer: new LineBuffer(),
44
- ctx,
45
- };
46
- connections.set(clientId, socket);
47
- tcpLog.info('Client connected', { clientId });
48
- },
49
- async data(socket, data) {
50
- const { buffer, ctx, state } = socket.data;
51
- const rateLimiter = getRateLimiter();
52
- // Check rate limit
53
- if (!rateLimiter.isAllowed(state.clientId)) {
54
- socket.write(errorResponseLine('Rate limit exceeded'));
55
- return;
56
- }
57
- const text = textDecoder.decode(data);
58
- const lines = buffer.addData(text);
59
- for (const line of lines) {
60
- const cmd = parseCommand(line);
61
- if (!cmd) {
62
- socket.write(errorResponseLine('Invalid command'));
63
- continue;
64
- }
65
- try {
66
- const response = await handleCommand(cmd, ctx);
67
- socket.write(serializeResponseLine(response));
68
- }
69
- catch (err) {
70
- const message = err instanceof Error ? err.message : 'Unknown error';
71
- socket.write(errorResponseLine(message, cmd.reqId));
72
- }
28
+ const socketHandlers = {
29
+ open(socket) {
30
+ const clientId = uuid();
31
+ const state = createConnectionState(clientId);
32
+ const ctx = {
33
+ queueManager,
34
+ authTokens,
35
+ authenticated: authTokens.size === 0, // Auto-auth if no tokens
36
+ clientId, // For job ownership tracking
37
+ };
38
+ socket.data = {
39
+ state,
40
+ buffer: new LineBuffer(),
41
+ ctx,
42
+ };
43
+ connections.set(clientId, socket);
44
+ tcpLog.info('Client connected', { clientId });
45
+ },
46
+ async data(socket, data) {
47
+ const { buffer, ctx, state } = socket.data;
48
+ const rateLimiter = getRateLimiter();
49
+ // Check rate limit
50
+ if (!rateLimiter.isAllowed(state.clientId)) {
51
+ socket.write(errorResponseLine('Rate limit exceeded'));
52
+ return;
53
+ }
54
+ const text = textDecoder.decode(data);
55
+ const lines = buffer.addData(text);
56
+ for (const line of lines) {
57
+ const cmd = parseCommand(line);
58
+ if (!cmd) {
59
+ socket.write(errorResponseLine('Invalid command'));
60
+ continue;
73
61
  }
74
- },
75
- close(socket) {
76
- const clientId = socket.data.state.clientId;
77
- connections.delete(clientId);
78
- getRateLimiter().removeClient(clientId);
79
- // Release all jobs owned by this client back to queue
80
- const released = queueManager.releaseClientJobs(clientId);
81
- if (released > 0) {
82
- tcpLog.info('Client disconnected, released jobs', { clientId, released });
62
+ try {
63
+ const response = await handleCommand(cmd, ctx);
64
+ socket.write(serializeResponseLine(response));
83
65
  }
84
- else {
85
- tcpLog.info('Client disconnected', { clientId });
66
+ catch (err) {
67
+ const message = err instanceof Error ? err.message : 'Unknown error';
68
+ socket.write(errorResponseLine(message, cmd.reqId));
86
69
  }
87
- },
88
- error(_socket, error) {
89
- tcpLog.error('Connection error', { error: error.message });
90
- },
91
- drain(_socket) {
92
- // Called when socket is ready for more writes after backpressure
93
- },
70
+ }
71
+ },
72
+ close(socket) {
73
+ const clientId = socket.data.state.clientId;
74
+ connections.delete(clientId);
75
+ getRateLimiter().removeClient(clientId);
76
+ // Release all jobs owned by this client back to queue
77
+ const released = queueManager.releaseClientJobs(clientId);
78
+ if (released > 0) {
79
+ tcpLog.info('Client disconnected, released jobs', { clientId, released });
80
+ }
81
+ else {
82
+ tcpLog.info('Client disconnected', { clientId });
83
+ }
84
+ },
85
+ error(_socket, error) {
86
+ tcpLog.error('Connection error', { error: error.message });
94
87
  },
95
- });
96
- tcpLog.info('Server listening', { host: config.hostname ?? '0.0.0.0', port: config.port });
88
+ drain(_socket) {
89
+ // Called when socket is ready for more writes after backpressure
90
+ },
91
+ };
92
+ // Create server - Unix socket or TCP based on config
93
+ let server;
94
+ if (config.socketPath) {
95
+ server = Bun.listen({
96
+ unix: config.socketPath,
97
+ socket: socketHandlers,
98
+ });
99
+ tcpLog.info('Server listening', { unix: config.socketPath });
100
+ }
101
+ else {
102
+ server = Bun.listen({
103
+ hostname: config.hostname ?? '0.0.0.0',
104
+ port: config.port ?? 6789,
105
+ socket: socketHandlers,
106
+ });
107
+ tcpLog.info('Server listening', { host: config.hostname ?? '0.0.0.0', port: config.port });
108
+ }
97
109
  return {
98
110
  server,
99
111
  connections,
@@ -1 +1 @@
1
- {"version":3,"file":"tcp.js","sourceRoot":"","sources":["../../../src/infrastructure/server/tcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tcp.js","sourceRoot":"","sources":["../../../src/infrastructure/server/tcp.ts"],"names":[],"mappings":"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"}
package/dist/main.js CHANGED
@@ -49,6 +49,8 @@ function loadConfig() {
49
49
  tcpPort: parseInt(process.env.TCP_PORT ?? '6789'),
50
50
  httpPort: parseInt(process.env.HTTP_PORT ?? '6790'),
51
51
  hostname: process.env.HOST ?? '0.0.0.0',
52
+ tcpSocketPath: process.env.TCP_SOCKET_PATH,
53
+ httpSocketPath: process.env.HTTP_SOCKET_PATH,
52
54
  authTokens: process.env.AUTH_TOKENS?.split(',').filter(Boolean) ?? [],
53
55
  dataPath: process.env.DATA_PATH ?? process.env.SQLITE_PATH,
54
56
  corsOrigins: process.env.CORS_ALLOW_ORIGIN?.split(',').filter(Boolean) ?? ['*'],
@@ -64,6 +66,19 @@ function printBanner(config) {
64
66
  const magenta = '\x1b[35m';
65
67
  const green = '\x1b[32m';
66
68
  const yellow = '\x1b[33m';
69
+ // Format TCP endpoint display
70
+ const tcpDisplay = config.tcpSocketPath
71
+ ? `${bold}${config.tcpSocketPath}${reset} ${dim}(unix)${reset}`
72
+ : `${bold}${config.hostname}:${config.tcpPort}${reset}`;
73
+ // Format HTTP endpoint display
74
+ const httpDisplay = config.httpSocketPath
75
+ ? `${bold}${config.httpSocketPath}${reset} ${dim}(unix)${reset}`
76
+ : `${bold}${config.hostname}:${config.httpPort}${reset}`;
77
+ // Socket mode display
78
+ const hasUnixSockets = config.tcpSocketPath !== undefined || config.httpSocketPath !== undefined;
79
+ const socketDisplay = hasUnixSockets
80
+ ? `${green}enabled${reset} ${dim}(${config.tcpSocketPath ? 'TCP' : ''}${config.tcpSocketPath && config.httpSocketPath ? '+' : ''}${config.httpSocketPath ? 'HTTP' : ''})${reset}`
81
+ : `${dim}disabled${reset}`;
67
82
  console.log(`
68
83
  ${magenta} (\\(\\ ${reset}
69
84
  ${magenta} ( -.-) ${bold}bunqueue${reset} ${dim}v${VERSION}${reset}
@@ -71,8 +86,9 @@ ${magenta} o_(")(") ${reset}${dim}High-performance job queue for Bun${
71
86
 
72
87
  ${dim}─────────────────────────────────────────────────${reset}
73
88
 
74
- ${green}●${reset} TCP ${bold}${config.hostname}:${config.tcpPort}${reset}
75
- ${green}●${reset} HTTP ${bold}${config.hostname}:${config.httpPort}${reset}
89
+ ${green}●${reset} TCP ${tcpDisplay}
90
+ ${green}●${reset} HTTP ${httpDisplay}
91
+ ${yellow}●${reset} Socket ${socketDisplay}
76
92
  ${yellow}●${reset} Data ${config.dataPath ?? 'in-memory'}
77
93
  ${yellow}●${reset} Auth ${config.authTokens.length > 0 ? `${green}enabled${reset}` : `${dim}disabled${reset}`}
78
94
  ${yellow}●${reset} Backup ${config.s3BackupEnabled ? `${green}S3 enabled${reset}` : `${dim}disabled${reset}`}
@@ -91,14 +107,16 @@ function startServer() {
91
107
  const queueManager = new QueueManager({
92
108
  dataPath: config.dataPath,
93
109
  });
94
- // Start TCP server
110
+ // Start TCP server (Unix socket or TCP)
95
111
  const tcpServer = createTcpServer(queueManager, {
112
+ socketPath: config.tcpSocketPath,
96
113
  port: config.tcpPort,
97
114
  hostname: config.hostname,
98
115
  authTokens: config.authTokens,
99
116
  });
100
- // Start HTTP server
117
+ // Start HTTP server (Unix socket or TCP)
101
118
  const httpServer = createHttpServer(queueManager, {
119
+ socketPath: config.httpSocketPath,
102
120
  port: config.httpPort,
103
121
  hostname: config.hostname,
104
122
  authTokens: config.authTokens,
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bunqueue",
3
- "version": "1.9.2",
3
+ "version": "1.9.4",
4
4
  "description": "High-performance job queue server written in Bun. SQLite persistence, cron scheduling, priorities, retries, DLQ, webhooks. Minimal dependencies.",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",