bunqueue 1.9.8 → 2.0.0

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 (219) hide show
  1. package/dist/application/backgroundTasks.d.ts +10 -0
  2. package/dist/application/backgroundTasks.d.ts.map +1 -1
  3. package/dist/application/backgroundTasks.js +64 -13
  4. package/dist/application/backgroundTasks.js.map +1 -1
  5. package/dist/application/cleanupTasks.js +5 -1
  6. package/dist/application/cleanupTasks.js.map +1 -1
  7. package/dist/application/clientTracking.d.ts.map +1 -1
  8. package/dist/application/clientTracking.js +25 -16
  9. package/dist/application/clientTracking.js.map +1 -1
  10. package/dist/application/contextFactory.d.ts.map +1 -1
  11. package/dist/application/contextFactory.js +1 -0
  12. package/dist/application/contextFactory.js.map +1 -1
  13. package/dist/application/dependencyProcessor.d.ts.map +1 -1
  14. package/dist/application/dependencyProcessor.js +14 -13
  15. package/dist/application/dependencyProcessor.js.map +1 -1
  16. package/dist/application/eventsManager.d.ts.map +1 -1
  17. package/dist/application/eventsManager.js +16 -4
  18. package/dist/application/eventsManager.js.map +1 -1
  19. package/dist/application/jobLogsManager.d.ts +2 -2
  20. package/dist/application/jobLogsManager.d.ts.map +1 -1
  21. package/dist/application/jobLogsManager.js +13 -3
  22. package/dist/application/jobLogsManager.js.map +1 -1
  23. package/dist/application/lockManager.d.ts +1 -0
  24. package/dist/application/lockManager.d.ts.map +1 -1
  25. package/dist/application/lockManager.js +54 -36
  26. package/dist/application/lockManager.js.map +1 -1
  27. package/dist/application/operations/ack.d.ts +3 -1
  28. package/dist/application/operations/ack.d.ts.map +1 -1
  29. package/dist/application/operations/ack.js +25 -1
  30. package/dist/application/operations/ack.js.map +1 -1
  31. package/dist/application/operations/ackHelpers.d.ts +1 -0
  32. package/dist/application/operations/ackHelpers.d.ts.map +1 -1
  33. package/dist/application/operations/ackHelpers.js +12 -1
  34. package/dist/application/operations/ackHelpers.js.map +1 -1
  35. package/dist/application/operations/jobManagement.d.ts +1 -1
  36. package/dist/application/operations/jobManagement.d.ts.map +1 -1
  37. package/dist/application/operations/jobManagement.js +23 -3
  38. package/dist/application/operations/jobManagement.js.map +1 -1
  39. package/dist/application/operations/push.d.ts +1 -1
  40. package/dist/application/operations/push.d.ts.map +1 -1
  41. package/dist/application/operations/push.js +25 -9
  42. package/dist/application/operations/push.js.map +1 -1
  43. package/dist/application/operations/queryOperations.d.ts +3 -0
  44. package/dist/application/operations/queryOperations.d.ts.map +1 -1
  45. package/dist/application/operations/queryOperations.js +29 -0
  46. package/dist/application/operations/queryOperations.js.map +1 -1
  47. package/dist/application/queueManager.d.ts +15 -1
  48. package/dist/application/queueManager.d.ts.map +1 -1
  49. package/dist/application/queueManager.js +77 -3
  50. package/dist/application/queueManager.js.map +1 -1
  51. package/dist/application/stallDetection.js +27 -22
  52. package/dist/application/stallDetection.js.map +1 -1
  53. package/dist/application/types.js +1 -1
  54. package/dist/application/types.js.map +1 -1
  55. package/dist/application/webhookManager.d.ts.map +1 -1
  56. package/dist/application/webhookManager.js +18 -2
  57. package/dist/application/webhookManager.js.map +1 -1
  58. package/dist/application/workerManager.d.ts.map +1 -1
  59. package/dist/application/workerManager.js +4 -2
  60. package/dist/application/workerManager.js.map +1 -1
  61. package/dist/cli/client.d.ts +3 -5
  62. package/dist/cli/client.d.ts.map +1 -1
  63. package/dist/cli/client.js +31 -27
  64. package/dist/cli/client.js.map +1 -1
  65. package/dist/cli/commands/core.js +3 -3
  66. package/dist/cli/commands/core.js.map +1 -1
  67. package/dist/cli/commands/job.js +14 -14
  68. package/dist/cli/commands/job.js.map +1 -1
  69. package/dist/cli/commands/server.d.ts.map +1 -1
  70. package/dist/cli/commands/server.js +5 -29
  71. package/dist/cli/commands/server.js.map +1 -1
  72. package/dist/cli/index.d.ts.map +1 -1
  73. package/dist/cli/index.js +1 -9
  74. package/dist/cli/index.js.map +1 -1
  75. package/dist/client/events.d.ts +29 -1
  76. package/dist/client/events.d.ts.map +1 -1
  77. package/dist/client/events.js +96 -28
  78. package/dist/client/events.js.map +1 -1
  79. package/dist/client/flow.d.ts +144 -3
  80. package/dist/client/flow.d.ts.map +1 -1
  81. package/dist/client/flow.js +538 -68
  82. package/dist/client/flow.js.map +1 -1
  83. package/dist/client/index.d.ts +2 -2
  84. package/dist/client/index.d.ts.map +1 -1
  85. package/dist/client/queue/queue.d.ts +260 -1
  86. package/dist/client/queue/queue.d.ts.map +1 -1
  87. package/dist/client/queue/queue.js +1346 -17
  88. package/dist/client/queue/queue.js.map +1 -1
  89. package/dist/client/sandboxed/types.d.ts +1 -0
  90. package/dist/client/sandboxed/types.d.ts.map +1 -1
  91. package/dist/client/sandboxed/worker.d.ts +1 -0
  92. package/dist/client/sandboxed/worker.d.ts.map +1 -1
  93. package/dist/client/sandboxed/worker.js +31 -8
  94. package/dist/client/sandboxed/worker.js.map +1 -1
  95. package/dist/client/sandboxed/wrapper.d.ts.map +1 -1
  96. package/dist/client/sandboxed/wrapper.js +10 -1
  97. package/dist/client/sandboxed/wrapper.js.map +1 -1
  98. package/dist/client/tcp/client.d.ts +4 -1
  99. package/dist/client/tcp/client.d.ts.map +1 -1
  100. package/dist/client/tcp/client.js +26 -8
  101. package/dist/client/tcp/client.js.map +1 -1
  102. package/dist/client/tcp/connection.d.ts +6 -8
  103. package/dist/client/tcp/connection.d.ts.map +1 -1
  104. package/dist/client/tcp/connection.js +24 -22
  105. package/dist/client/tcp/connection.js.map +1 -1
  106. package/dist/client/tcp/index.d.ts +0 -1
  107. package/dist/client/tcp/index.d.ts.map +1 -1
  108. package/dist/client/tcp/index.js +0 -1
  109. package/dist/client/tcp/index.js.map +1 -1
  110. package/dist/client/tcp/types.d.ts +8 -13
  111. package/dist/client/tcp/types.d.ts.map +1 -1
  112. package/dist/client/tcp/types.js +0 -1
  113. package/dist/client/tcp/types.js.map +1 -1
  114. package/dist/client/tcpPool.d.ts.map +1 -1
  115. package/dist/client/tcpPool.js +19 -14
  116. package/dist/client/tcpPool.js.map +1 -1
  117. package/dist/client/types.d.ts +430 -13
  118. package/dist/client/types.d.ts.map +1 -1
  119. package/dist/client/types.js +346 -5
  120. package/dist/client/types.js.map +1 -1
  121. package/dist/client/worker/ackBatcher.d.ts +2 -1
  122. package/dist/client/worker/ackBatcher.d.ts.map +1 -1
  123. package/dist/client/worker/ackBatcher.js +29 -18
  124. package/dist/client/worker/ackBatcher.js.map +1 -1
  125. package/dist/client/worker/jobParser.d.ts.map +1 -1
  126. package/dist/client/worker/jobParser.js +8 -7
  127. package/dist/client/worker/jobParser.js.map +1 -1
  128. package/dist/client/worker/processor.d.ts.map +1 -1
  129. package/dist/client/worker/processor.js +15 -6
  130. package/dist/client/worker/processor.js.map +1 -1
  131. package/dist/client/worker/worker.d.ts +117 -0
  132. package/dist/client/worker/worker.d.ts.map +1 -1
  133. package/dist/client/worker/worker.js +375 -3
  134. package/dist/client/worker/worker.js.map +1 -1
  135. package/dist/domain/queue/dlqShard.d.ts +2 -0
  136. package/dist/domain/queue/dlqShard.d.ts.map +1 -1
  137. package/dist/domain/queue/dlqShard.js +12 -2
  138. package/dist/domain/queue/dlqShard.js.map +1 -1
  139. package/dist/domain/queue/priorityQueue.d.ts.map +1 -1
  140. package/dist/domain/queue/priorityQueue.js +24 -18
  141. package/dist/domain/queue/priorityQueue.js.map +1 -1
  142. package/dist/domain/queue/shard.d.ts +8 -2
  143. package/dist/domain/queue/shard.d.ts.map +1 -1
  144. package/dist/domain/queue/shard.js +27 -9
  145. package/dist/domain/queue/shard.js.map +1 -1
  146. package/dist/domain/queue/temporalManager.d.ts +1 -0
  147. package/dist/domain/queue/temporalManager.d.ts.map +1 -1
  148. package/dist/domain/queue/temporalManager.js +2 -1
  149. package/dist/domain/queue/temporalManager.js.map +1 -1
  150. package/dist/domain/queue/uniqueKeyManager.d.ts +2 -2
  151. package/dist/domain/queue/uniqueKeyManager.d.ts.map +1 -1
  152. package/dist/domain/queue/uniqueKeyManager.js +3 -3
  153. package/dist/domain/queue/uniqueKeyManager.js.map +1 -1
  154. package/dist/domain/types/command.d.ts +6 -0
  155. package/dist/domain/types/command.d.ts.map +1 -1
  156. package/dist/domain/types/job.d.ts +89 -2
  157. package/dist/domain/types/job.d.ts.map +1 -1
  158. package/dist/domain/types/job.js +94 -26
  159. package/dist/domain/types/job.js.map +1 -1
  160. package/dist/domain/types/queue.d.ts +11 -1
  161. package/dist/domain/types/queue.d.ts.map +1 -1
  162. package/dist/infrastructure/persistence/sqlite.d.ts +2 -0
  163. package/dist/infrastructure/persistence/sqlite.d.ts.map +1 -1
  164. package/dist/infrastructure/persistence/sqlite.js +5 -1
  165. package/dist/infrastructure/persistence/sqlite.js.map +1 -1
  166. package/dist/infrastructure/persistence/sqliteBatch.d.ts +9 -4
  167. package/dist/infrastructure/persistence/sqliteBatch.d.ts.map +1 -1
  168. package/dist/infrastructure/persistence/sqliteBatch.js +38 -21
  169. package/dist/infrastructure/persistence/sqliteBatch.js.map +1 -1
  170. package/dist/infrastructure/persistence/sqliteSerializer.d.ts.map +1 -1
  171. package/dist/infrastructure/persistence/sqliteSerializer.js +14 -0
  172. package/dist/infrastructure/persistence/sqliteSerializer.js.map +1 -1
  173. package/dist/infrastructure/persistence/statements.d.ts +1 -1
  174. package/dist/infrastructure/persistence/statements.d.ts.map +1 -1
  175. package/dist/infrastructure/persistence/statements.js +3 -2
  176. package/dist/infrastructure/persistence/statements.js.map +1 -1
  177. package/dist/infrastructure/scheduler/cronScheduler.d.ts +7 -0
  178. package/dist/infrastructure/scheduler/cronScheduler.d.ts.map +1 -1
  179. package/dist/infrastructure/scheduler/cronScheduler.js +46 -12
  180. package/dist/infrastructure/scheduler/cronScheduler.js.map +1 -1
  181. package/dist/infrastructure/server/handlers/core.d.ts.map +1 -1
  182. package/dist/infrastructure/server/handlers/core.js +26 -19
  183. package/dist/infrastructure/server/handlers/core.js.map +1 -1
  184. package/dist/infrastructure/server/handlers/query.d.ts.map +1 -1
  185. package/dist/infrastructure/server/handlers/query.js +1 -16
  186. package/dist/infrastructure/server/handlers/query.js.map +1 -1
  187. package/dist/infrastructure/server/http.d.ts.map +1 -1
  188. package/dist/infrastructure/server/http.js +27 -2
  189. package/dist/infrastructure/server/http.js.map +1 -1
  190. package/dist/infrastructure/server/protocol.d.ts +15 -1
  191. package/dist/infrastructure/server/protocol.d.ts.map +1 -1
  192. package/dist/infrastructure/server/protocol.js +37 -3
  193. package/dist/infrastructure/server/protocol.js.map +1 -1
  194. package/dist/infrastructure/server/rateLimiter.d.ts.map +1 -1
  195. package/dist/infrastructure/server/rateLimiter.js +5 -3
  196. package/dist/infrastructure/server/rateLimiter.js.map +1 -1
  197. package/dist/infrastructure/server/tcp.d.ts +8 -10
  198. package/dist/infrastructure/server/tcp.d.ts.map +1 -1
  199. package/dist/infrastructure/server/tcp.js +87 -46
  200. package/dist/infrastructure/server/tcp.js.map +1 -1
  201. package/dist/main.js +7 -6
  202. package/dist/main.js.map +1 -1
  203. package/dist/shared/lock.d.ts +1 -1
  204. package/dist/shared/lock.d.ts.map +1 -1
  205. package/dist/shared/lock.js +6 -4
  206. package/dist/shared/lock.js.map +1 -1
  207. package/dist/shared/lru.d.ts +51 -0
  208. package/dist/shared/lru.d.ts.map +1 -1
  209. package/dist/shared/lru.js +89 -3
  210. package/dist/shared/lru.js.map +1 -1
  211. package/dist/shared/skipList.d.ts +10 -2
  212. package/dist/shared/skipList.d.ts.map +1 -1
  213. package/dist/shared/skipList.js +22 -1
  214. package/dist/shared/skipList.js.map +1 -1
  215. package/package.json +1 -1
  216. package/dist/client/tcp/lineBuffer.d.ts +0 -17
  217. package/dist/client/tcp/lineBuffer.d.ts.map +0 -1
  218. package/dist/client/tcp/lineBuffer.js +0 -32
  219. package/dist/client/tcp/lineBuffer.js.map +0 -1
@@ -194,10 +194,29 @@ export class LineBuffer {
194
194
  this.buffer = '';
195
195
  }
196
196
  }
197
+ /** Maximum allowed frame size (64MB) - prevents memory exhaustion DoS */
198
+ export const MAX_FRAME_SIZE = 64 * 1024 * 1024;
199
+ /** Error thrown when frame size exceeds maximum */
200
+ export class FrameSizeError extends Error {
201
+ requestedSize;
202
+ maxSize;
203
+ constructor(requestedSize, maxSize) {
204
+ super(`Frame size ${requestedSize} exceeds maximum allowed size ${maxSize}`);
205
+ this.requestedSize = requestedSize;
206
+ this.maxSize = maxSize;
207
+ this.name = 'FrameSizeError';
208
+ }
209
+ }
197
210
  /** Binary protocol frame parser */
198
211
  export class FrameParser {
199
212
  buffer = new Uint8Array(0);
200
- /** Add data and extract complete frames */
213
+ maxFrameSize;
214
+ constructor(maxFrameSize = MAX_FRAME_SIZE) {
215
+ this.maxFrameSize = maxFrameSize;
216
+ }
217
+ /** Add data and extract complete frames
218
+ * @throws {FrameSizeError} if frame length exceeds maxFrameSize
219
+ */
201
220
  addData(data) {
202
221
  // Concatenate buffers
203
222
  const newBuffer = new Uint8Array(this.buffer.length + data.length);
@@ -206,8 +225,19 @@ export class FrameParser {
206
225
  this.buffer = newBuffer;
207
226
  const frames = [];
208
227
  while (this.buffer.length >= 4) {
209
- // Read length prefix (big-endian u32)
210
- const length = (this.buffer[0] << 24) | (this.buffer[1] << 16) | (this.buffer[2] << 8) | this.buffer[3];
228
+ // Read length prefix (big-endian u32) using unsigned right shift to ensure positive value
229
+ // Using >>> 0 at the end converts the result to an unsigned 32-bit integer
230
+ const length = ((this.buffer[0] << 24) |
231
+ (this.buffer[1] << 16) |
232
+ (this.buffer[2] << 8) |
233
+ this.buffer[3]) >>>
234
+ 0;
235
+ // Validate frame size to prevent memory exhaustion DoS
236
+ if (length > this.maxFrameSize) {
237
+ // Clear buffer to prevent further processing of malicious data
238
+ this.buffer = new Uint8Array(0);
239
+ throw new FrameSizeError(length, this.maxFrameSize);
240
+ }
211
241
  if (this.buffer.length < 4 + length) {
212
242
  // Not enough data
213
243
  break;
@@ -218,6 +248,10 @@ export class FrameParser {
218
248
  }
219
249
  return frames;
220
250
  }
251
+ /** Clear the internal buffer */
252
+ clear() {
253
+ this.buffer = new Uint8Array(0);
254
+ }
221
255
  /** Create a framed message */
222
256
  static frame(data) {
223
257
  const frame = new Uint8Array(4 + data.length);
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/infrastructure/server/protocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/infrastructure/server/protocol.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rateLimiter.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/server/rateLimiter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AA0DD,uDAAuD;AACvD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyC;IAClE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,eAAe,CAA+C;gBAE1D,MAAM,GAAE,OAAO,CAAC,iBAAiB,CAAM;IAKnD,mEAAmE;IACnE,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAqBpC,2DAA2D;IAC3D,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAYtC,oCAAoC;IACpC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIpC,6BAA6B;IAC7B,OAAO,CAAC,YAAY;IAQpB,wDAAwD;IACxD,OAAO,CAAC,OAAO;IAkBf,4BAA4B;IAC5B,IAAI,IAAI,IAAI;CAMb;AAKD,wCAAwC;AACxC,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,mBAAmB,CAGvF;AAED,2CAA2C;AAC3C,wBAAgB,eAAe,IAAI,IAAI,CAKtC"}
1
+ {"version":3,"file":"rateLimiter.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/server/rateLimiter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AA4DD,uDAAuD;AACvD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyC;IAClE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,eAAe,CAA+C;gBAE1D,MAAM,GAAE,OAAO,CAAC,iBAAiB,CAAM;IAKnD,mEAAmE;IACnE,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAqBpC,2DAA2D;IAC3D,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAYtC,oCAAoC;IACpC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIpC,6BAA6B;IAC7B,OAAO,CAAC,YAAY;IAQpB,wDAAwD;IACxD,OAAO,CAAC,OAAO;IAkBf,4BAA4B;IAC5B,IAAI,IAAI,IAAI;CAMb;AAKD,wCAAwC;AACxC,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,mBAAmB,CAGvF;AAED,2CAA2C;AAC3C,wBAAgB,eAAe,IAAI,IAAI,CAKtC"}
@@ -4,9 +4,11 @@
4
4
  * Uses sliding window with O(1) amortized check instead of O(n) filter
5
5
  */
6
6
  const DEFAULT_CONFIG = {
7
- windowMs: 60_000,
8
- maxRequests: Infinity,
9
- cleanupIntervalMs: 60_000,
7
+ windowMs: parseInt(process.env.RATE_LIMIT_WINDOW_MS ?? '60000', 10),
8
+ maxRequests: process.env.RATE_LIMIT_MAX_REQUESTS
9
+ ? parseInt(process.env.RATE_LIMIT_MAX_REQUESTS, 10)
10
+ : Infinity,
11
+ cleanupIntervalMs: parseInt(process.env.RATE_LIMIT_CLEANUP_MS ?? '60000', 10),
10
12
  };
11
13
  /**
12
14
  * Sliding window deque for O(1) amortized rate limiting
@@ -1 +1 @@
1
- {"version":3,"file":"rateLimiter.js","sourceRoot":"","sources":["../../../src/infrastructure/server/rateLimiter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rateLimiter.js","sourceRoot":"","sources":["../../../src/infrastructure/server/rateLimiter.ts"],"names":[],"mappings":"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"}
@@ -1,38 +1,36 @@
1
1
  /**
2
2
  * TCP Server
3
- * Handles TCP connections with JSON line protocol
3
+ * Handles TCP connections with msgpack binary protocol
4
4
  */
5
- import type { Socket, TCPSocketListener, UnixSocketListener } from 'bun';
5
+ import type { Socket, TCPSocketListener } from 'bun';
6
6
  import type { QueueManager } from '../../application/queueManager';
7
7
  import { type HandlerContext } from './handler';
8
- import { LineBuffer, type ConnectionState } from './protocol';
8
+ import { FrameParser, type ConnectionState } from './protocol';
9
9
  /** TCP Server configuration */
10
10
  export interface TcpServerConfig {
11
- /** TCP port (ignored if socketPath is set) */
11
+ /** TCP port */
12
12
  port?: number;
13
- /** Hostname to bind (ignored if socketPath is set) */
13
+ /** Hostname to bind */
14
14
  hostname?: string;
15
- /** Unix socket path (takes priority over port/hostname) */
16
- socketPath?: string;
17
15
  /** Auth tokens for authentication */
18
16
  authTokens?: string[];
19
17
  }
20
18
  /** Per-connection data */
21
19
  interface ConnectionData {
22
20
  state: ConnectionState;
23
- buffer: LineBuffer;
21
+ frameParser: FrameParser;
24
22
  ctx: HandlerContext;
25
23
  }
26
24
  /**
27
25
  * Create and start TCP server
28
26
  */
29
27
  export declare function createTcpServer(queueManager: QueueManager, config: TcpServerConfig): {
30
- server: TCPSocketListener<ConnectionData> | UnixSocketListener<ConnectionData>;
28
+ server: TCPSocketListener<ConnectionData>;
31
29
  connections: Map<string, Socket<ConnectionData>>;
32
30
  /** Get connection count */
33
31
  getConnectionCount(): number;
34
32
  /** Broadcast to all connections */
35
- broadcast(message: string): void;
33
+ broadcast(message: unknown): void;
36
34
  /** Stop the server */
37
35
  stop(): void;
38
36
  };
@@ -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,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;;;IAyG/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,MAAM,KAAK,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAGnE,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EACL,WAAW,EAGX,KAAK,eAAe,EACrB,MAAM,YAAY,CAAC;AAuCpB,+BAA+B;AAC/B,MAAM,WAAW,eAAe;IAC9B,eAAe;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uBAAuB;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,0BAA0B;AAC1B,UAAU,cAAc;IACtB,KAAK,EAAE,eAAe,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,GAAG,EAAE,cAAc,CAAC;CACrB;AAYD;;GAEG;AACH,wBAAgB,eAAe,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe;;;IA8H/E,2BAA2B;0BACL,MAAM;IAI5B,mCAAmC;uBAChB,OAAO,GAAG,IAAI;IAOjC,sBAAsB;YACd,IAAI;EASf;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC"}
@@ -1,23 +1,47 @@
1
1
  /**
2
2
  * TCP Server
3
- * Handles TCP connections with JSON line protocol
3
+ * Handles TCP connections with msgpack binary protocol
4
4
  */
5
5
  import { handleCommand } from './handler';
6
- import { LineBuffer, parseCommand, createConnectionState } from './protocol';
6
+ import { FrameParser, FrameSizeError, createConnectionState, } from './protocol';
7
7
  import { uuid } from '../../shared/hash';
8
8
  import { tcpLog } from '../../shared/logger';
9
9
  import { getRateLimiter } from './rateLimiter';
10
- /** Reusable TextDecoder - avoid allocation per message */
11
- const textDecoder = new TextDecoder();
12
- /** Pre-allocated newline buffer for efficient writes */
13
- const NEWLINE = '\n';
14
- /** Serialize response with newline - avoids string concat per message */
15
- function serializeResponseLine(response) {
16
- return JSON.stringify(response) + NEWLINE;
10
+ import { pack, unpack } from 'msgpackr';
11
+ /**
12
+ * Release client jobs with retry logic and exponential backoff.
13
+ * Ensures jobs are not left in an inconsistent state if release fails.
14
+ */
15
+ async function releaseClientJobsWithRetry(queueManager, clientId, maxRetries = 3) {
16
+ let lastError;
17
+ for (let attempt = 0; attempt < maxRetries; attempt++) {
18
+ try {
19
+ return await queueManager.releaseClientJobs(clientId);
20
+ }
21
+ catch (err) {
22
+ lastError = err instanceof Error ? err : new Error(String(err));
23
+ tcpLog.warn('Release client jobs failed, retrying', {
24
+ clientId,
25
+ attempt: attempt + 1,
26
+ error: lastError.message,
27
+ });
28
+ // Exponential backoff: 100ms, 200ms, 400ms
29
+ await new Promise((r) => setTimeout(r, 100 * Math.pow(2, attempt)));
30
+ }
31
+ }
32
+ tcpLog.error('Failed to release client jobs after retries', {
33
+ clientId,
34
+ error: lastError?.message,
35
+ });
36
+ throw lastError ?? new Error('Failed to release client jobs after retries');
17
37
  }
18
- /** Error response with newline */
19
- function errorResponseLine(message, reqId) {
20
- return JSON.stringify({ ok: false, error: message, reqId }) + NEWLINE;
38
+ /** Serialize response to framed msgpack */
39
+ function serializeResponse(response) {
40
+ return FrameParser.frame(pack(response));
41
+ }
42
+ /** Error response as framed msgpack */
43
+ function errorResponse(message, reqId) {
44
+ return FrameParser.frame(pack({ ok: false, error: message, reqId }));
21
45
  }
22
46
  /**
23
47
  * Create and start TCP server
@@ -37,35 +61,57 @@ export function createTcpServer(queueManager, config) {
37
61
  };
38
62
  socket.data = {
39
63
  state,
40
- buffer: new LineBuffer(),
64
+ frameParser: new FrameParser(),
41
65
  ctx,
42
66
  };
43
67
  connections.set(clientId, socket);
44
68
  tcpLog.info('Client connected', { clientId });
45
69
  },
46
70
  async data(socket, data) {
47
- const { buffer, ctx, state } = socket.data;
71
+ const { frameParser, ctx, state } = socket.data;
48
72
  const rateLimiter = getRateLimiter();
49
73
  // Check rate limit
50
74
  if (!rateLimiter.isAllowed(state.clientId)) {
51
- socket.write(errorResponseLine('Rate limit exceeded'));
75
+ socket.write(errorResponse('Rate limit exceeded'));
52
76
  return;
53
77
  }
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'));
78
+ let frames;
79
+ try {
80
+ frames = frameParser.addData(new Uint8Array(data));
81
+ }
82
+ catch (err) {
83
+ if (err instanceof FrameSizeError) {
84
+ tcpLog.warn('Frame size exceeded', {
85
+ clientId: state.clientId,
86
+ requestedSize: err.requestedSize,
87
+ maxSize: err.maxSize,
88
+ });
89
+ socket.write(errorResponse(`Frame too large: ${err.requestedSize} bytes exceeds maximum ${err.maxSize}`));
90
+ socket.end();
91
+ return;
92
+ }
93
+ throw err;
94
+ }
95
+ for (const frame of frames) {
96
+ let cmd;
97
+ try {
98
+ cmd = unpack(frame);
99
+ }
100
+ catch {
101
+ socket.write(errorResponse('Invalid command format'));
102
+ continue;
103
+ }
104
+ if (!cmd?.cmd) {
105
+ socket.write(errorResponse('Invalid command'));
60
106
  continue;
61
107
  }
62
108
  try {
63
109
  const response = await handleCommand(cmd, ctx);
64
- socket.write(serializeResponseLine(response));
110
+ socket.write(serializeResponse(response));
65
111
  }
66
112
  catch (err) {
67
113
  const message = err instanceof Error ? err.message : 'Unknown error';
68
- socket.write(errorResponseLine(message, cmd.reqId));
114
+ socket.write(errorResponse(message, cmd.reqId));
69
115
  }
70
116
  }
71
117
  },
@@ -73,9 +119,8 @@ export function createTcpServer(queueManager, config) {
73
119
  const clientId = socket.data.state.clientId;
74
120
  connections.delete(clientId);
75
121
  getRateLimiter().removeClient(clientId);
76
- // Release all jobs owned by this client back to queue (async with proper locking)
77
- queueManager
78
- .releaseClientJobs(clientId)
122
+ // Release all jobs owned by this client back to queue with retry logic
123
+ releaseClientJobsWithRetry(queueManager, clientId)
79
124
  .then((released) => {
80
125
  if (released > 0) {
81
126
  tcpLog.info('Client disconnected, released jobs', { clientId, released });
@@ -85,7 +130,13 @@ export function createTcpServer(queueManager, config) {
85
130
  }
86
131
  })
87
132
  .catch((err) => {
88
- tcpLog.error('Failed to release client jobs', { clientId, error: String(err) });
133
+ // After all retries failed, log the final error
134
+ // Jobs may be left in inconsistent state - manual intervention may be needed
135
+ tcpLog.error('Client jobs may be in inconsistent state', {
136
+ clientId,
137
+ error: String(err),
138
+ action: 'Manual cleanup may be required',
139
+ });
89
140
  });
90
141
  },
91
142
  error(_socket, error) {
@@ -95,23 +146,13 @@ export function createTcpServer(queueManager, config) {
95
146
  // Called when socket is ready for more writes after backpressure
96
147
  },
97
148
  };
98
- // Create server - Unix socket or TCP based on config
99
- let server;
100
- if (config.socketPath) {
101
- server = Bun.listen({
102
- unix: config.socketPath,
103
- socket: socketHandlers,
104
- });
105
- tcpLog.info('Server listening', { unix: config.socketPath });
106
- }
107
- else {
108
- server = Bun.listen({
109
- hostname: config.hostname ?? '0.0.0.0',
110
- port: config.port ?? 6789,
111
- socket: socketHandlers,
112
- });
113
- tcpLog.info('Server listening', { host: config.hostname ?? '0.0.0.0', port: config.port });
114
- }
149
+ // Create TCP server
150
+ const server = Bun.listen({
151
+ hostname: config.hostname ?? '0.0.0.0',
152
+ port: config.port ?? 6789,
153
+ socket: socketHandlers,
154
+ });
155
+ tcpLog.info('Server listening', { host: config.hostname ?? '0.0.0.0', port: config.port });
115
156
  return {
116
157
  server,
117
158
  connections,
@@ -121,9 +162,9 @@ export function createTcpServer(queueManager, config) {
121
162
  },
122
163
  /** Broadcast to all connections */
123
164
  broadcast(message) {
124
- const messageWithNewline = message + NEWLINE;
165
+ const frame = FrameParser.frame(pack(message));
125
166
  for (const socket of connections.values()) {
126
- socket.write(messageWithNewline);
167
+ socket.write(frame);
127
168
  }
128
169
  },
129
170
  /** Stop the server */
@@ -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
@@ -3,6 +3,9 @@
3
3
  * bunqueue - High-performance job queue server for Bun
4
4
  * Main entry point - routes to CLI for client commands or starts server
5
5
  */
6
+ /** Configurable timeouts from environment (must be before startServer call) */
7
+ const SHUTDOWN_TIMEOUT_MS = parseInt(process.env.SHUTDOWN_TIMEOUT_MS ?? '30000', 10);
8
+ const STATS_INTERVAL_MS = parseInt(process.env.STATS_INTERVAL_MS ?? '30000', 10);
6
9
  // Check for CLI client commands (not server mode)
7
10
  const clientCommands = [
8
11
  'push',
@@ -107,16 +110,14 @@ function startServer() {
107
110
  const queueManager = new QueueManager({
108
111
  dataPath: config.dataPath,
109
112
  });
110
- // Start TCP server (Unix socket or TCP)
113
+ // Start TCP server
111
114
  const tcpServer = createTcpServer(queueManager, {
112
- socketPath: config.tcpSocketPath,
113
115
  port: config.tcpPort,
114
116
  hostname: config.hostname,
115
117
  authTokens: config.authTokens,
116
118
  });
117
- // Start HTTP server (Unix socket or TCP)
119
+ // Start HTTP server
118
120
  const httpServer = createHttpServer(queueManager, {
119
- socketPath: config.httpSocketPath,
120
121
  port: config.httpPort,
121
122
  hostname: config.hostname,
122
123
  authTokens: config.authTokens,
@@ -137,7 +138,7 @@ function startServer() {
137
138
  clearInterval(statsInterval);
138
139
  tcpServer.stop();
139
140
  httpServer.stop();
140
- const shutdownTimeout = 30_000;
141
+ const shutdownTimeout = SHUTDOWN_TIMEOUT_MS;
141
142
  const start = Date.now();
142
143
  while (Date.now() - start < shutdownTimeout) {
143
144
  const stats = queueManager.getStats();
@@ -180,7 +181,7 @@ function startServer() {
180
181
  locks: memStats.jobLocks,
181
182
  clients: memStats.clientJobsTotal,
182
183
  });
183
- }, 30_000);
184
+ }, STATS_INTERVAL_MS);
184
185
  }
185
186
  // Enable JSON logging if requested
186
187
  if (process.env.LOG_FORMAT === 'json') {
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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"}
@@ -21,7 +21,7 @@ export declare class AsyncLock {
21
21
  private readonly queue;
22
22
  /**
23
23
  * Acquire the lock
24
- * @param timeoutMs - Maximum time to wait (default: 5000ms)
24
+ * @param timeoutMs - Maximum time to wait (default: DEFAULT_LOCK_TIMEOUT_MS)
25
25
  */
26
26
  acquire(timeoutMs?: number): Promise<LockGuard>;
27
27
  /** Check if lock is held */
@@ -1 +1 @@
1
- {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/shared/lock.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,8BAA8B;AAC9B,MAAM,WAAW,SAAS;IACxB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,yBAAyB;AACzB,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,GAAE,MAAqC;CAI3D;AAQD;;;;GAIG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAE1C;;;OAGG;IACG,OAAO,CAAC,SAAS,GAAE,MAAa,GAAG,OAAO,CAAC,SAAS,CAAC;IA6C3D,4BAA4B;IAC5B,QAAQ,IAAI,OAAO;IAInB,oDAAoD;IACpD,cAAc,IAAI,MAAM;CAGzB;AAED;;;;;GAKG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAEhD;;;OAGG;IACG,WAAW,CAAC,SAAS,GAAE,MAAa,GAAG,OAAO,CAAC,SAAS,CAAC;IAgD/D;;;;OAIG;IACG,YAAY,CAAC,SAAS,GAAE,MAAa,GAAG,OAAO,CAAC,SAAS,CAAC;IA8ChE,oEAAoE;IACpE,OAAO,CAAC,gBAAgB;IA2BxB,wBAAwB;IACxB,QAAQ,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;CAOxE;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC,CAOZ;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC,CAOZ;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,CAAC,EACnC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC,CAOZ"}
1
+ {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../src/shared/lock.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,8BAA8B;AAC9B,MAAM,WAAW,SAAS;IACxB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,yBAAyB;AACzB,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,GAAE,MAAqC;CAI3D;AAQD;;;;GAIG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAE1C;;;OAGG;IACG,OAAO,CAAC,SAAS,GAAE,MAAgC,GAAG,OAAO,CAAC,SAAS,CAAC;IA6C9E,4BAA4B;IAC5B,QAAQ,IAAI,OAAO;IAInB,oDAAoD;IACpD,cAAc,IAAI,MAAM;CAGzB;AAED;;;;;GAKG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAEhD;;;OAGG;IACG,WAAW,CAAC,SAAS,GAAE,MAAgC,GAAG,OAAO,CAAC,SAAS,CAAC;IAgDlF;;;;OAIG;IACG,YAAY,CAAC,SAAS,GAAE,MAAgC,GAAG,OAAO,CAAC,SAAS,CAAC;IA8CnF,oEAAoE;IACpE,OAAO,CAAC,gBAAgB;IA2BxB,wBAAwB;IACxB,QAAQ,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE;CAOxE;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAC9B,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC,CAOZ;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC,CAOZ;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,CAAC,EACnC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC,CAOZ"}
@@ -3,6 +3,8 @@
3
3
  * Provides read-write locks with timeout support
4
4
  * Optimized with O(1) queue operations using wrapped resolvers
5
5
  */
6
+ /** Default lock timeout in milliseconds */
7
+ const DEFAULT_LOCK_TIMEOUT_MS = parseInt(process.env.LOCK_TIMEOUT_MS ?? '5000', 10);
6
8
  /** Lock timeout error */
7
9
  export class LockTimeoutError extends Error {
8
10
  constructor(message = 'Lock acquisition timed out') {
@@ -20,9 +22,9 @@ export class AsyncLock {
20
22
  queue = [];
21
23
  /**
22
24
  * Acquire the lock
23
- * @param timeoutMs - Maximum time to wait (default: 5000ms)
25
+ * @param timeoutMs - Maximum time to wait (default: DEFAULT_LOCK_TIMEOUT_MS)
24
26
  */
25
- async acquire(timeoutMs = 5000) {
27
+ async acquire(timeoutMs = DEFAULT_LOCK_TIMEOUT_MS) {
26
28
  const start = Date.now();
27
29
  while (this.locked) {
28
30
  const remaining = timeoutMs - (Date.now() - start);
@@ -84,7 +86,7 @@ export class RWLock {
84
86
  * Acquire read lock
85
87
  * Multiple readers can hold simultaneously
86
88
  */
87
- async acquireRead(timeoutMs = 5000) {
89
+ async acquireRead(timeoutMs = DEFAULT_LOCK_TIMEOUT_MS) {
88
90
  const start = Date.now();
89
91
  // Wait if writer is active or writers are waiting (writer priority)
90
92
  while (this.writer || this.writerWaiting > 0) {
@@ -129,7 +131,7 @@ export class RWLock {
129
131
  * Exclusive access, no readers or other writers
130
132
  * Optimized: synchronous fast path when uncontested
131
133
  */
132
- async acquireWrite(timeoutMs = 5000) {
134
+ async acquireWrite(timeoutMs = DEFAULT_LOCK_TIMEOUT_MS) {
133
135
  // Fast path: uncontested - acquire synchronously without Promise overhead
134
136
  if (!this.writer && this.readers === 0) {
135
137
  this.writer = true;
@@ -1 +1 @@
1
- {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/shared/lock.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,yBAAyB;AACzB,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,UAAkB,4BAA4B;QACxD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAQD;;;;GAIG;AACH,MAAM,OAAO,SAAS;IACZ,MAAM,GAAG,KAAK,CAAC;IACN,KAAK,GAAiB,EAAE,CAAC;IAE1C;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,YAAoB,IAAI;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEzB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;YACnD,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,gBAAgB,EAAE,CAAC;YAC/B,CAAC;YAED,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,MAAM,KAAK,GAAe,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;gBAExD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC5B,6CAA6C;oBAC7C,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;oBACvB,OAAO,EAAE,CAAC;gBACZ,CAAC,EAAE,SAAS,CAAC,CAAC;gBAEd,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE;oBACnB,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC;gBAEF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,OAAO;YACL,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,oEAAoE;gBACpE,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC9B,OAAO,IAAI,EAAE,CAAC;oBACZ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;wBACpB,IAAI,CAAC,OAAO,EAAE,CAAC;wBACf,MAAM;oBACR,CAAC;oBACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC5B,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IAED,4BAA4B;IAC5B,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,oDAAoD;IACpD,cAAc;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,MAAM;IACT,OAAO,GAAG,CAAC,CAAC;IACZ,MAAM,GAAG,KAAK,CAAC;IACf,aAAa,GAAG,CAAC,CAAC;IACT,WAAW,GAAiB,EAAE,CAAC;IAC/B,WAAW,GAAiB,EAAE,CAAC;IAEhD;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,YAAoB,IAAI;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEzB,oEAAoE;QACpE,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;YACnD,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,gBAAgB,CAAC,iCAAiC,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,MAAM,KAAK,GAAe,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;gBAExD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC5B,6CAA6C;oBAC7C,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;oBACvB,OAAO,EAAE,CAAC;gBACZ,CAAC,EAAE,SAAS,CAAC,CAAC;gBAEd,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE;oBACnB,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC;gBAEF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,OAAO;YACL,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;oBACjD,yBAAyB;oBACzB,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;oBACpC,OAAO,IAAI,EAAE,CAAC;wBACZ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;4BACpB,IAAI,CAAC,OAAO,EAAE,CAAC;4BACf,MAAM;wBACR,CAAC;wBACD,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;oBAClC,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,YAAoB,IAAI;QACzC,0EAA0E;QAC1E,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACjC,CAAC;QAED,8CAA8C;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;gBACvC,MAAM,SAAS,GAAG,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;gBACnD,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;oBACnB,MAAM,IAAI,gBAAgB,CAAC,kCAAkC,CAAC,CAAC;gBACjE,CAAC;gBAED,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBAClC,MAAM,KAAK,GAAe,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;oBAExD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC5B,6CAA6C;wBAC7C,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;wBACvB,OAAO,EAAE,CAAC;oBACZ,CAAC,EAAE,SAAS,CAAC,CAAC;oBAEd,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE;wBACnB,YAAY,CAAC,KAAK,CAAC,CAAC;wBACpB,OAAO,EAAE,CAAC;oBACZ,CAAC,CAAC;oBAEF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC/B,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YAEnB,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,oEAAoE;IAC5D,gBAAgB;QACtB,OAAO;YACL,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,0CAA0C;gBAC1C,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;oBAC3B,yBAAyB;oBACzB,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;oBACpC,OAAO,IAAI,EAAE,CAAC;wBACZ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;4BACpB,IAAI,CAAC,OAAO,EAAE,CAAC;4BACf,OAAO;wBACT,CAAC;wBACD,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;oBAClC,CAAC;gBACH,CAAC;gBACD,mDAAmD;gBACnD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC3C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;wBACrB,KAAK,CAAC,OAAO,EAAE,CAAC;oBAClB,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IAED,wBAAwB;IACxB,QAAQ;QACN,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC;IACJ,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,IAAe,EACf,EAAwB,EACxB,SAAkB;IAElB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,IAAY,EACZ,EAAwB,EACxB,SAAkB;IAElB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAChD,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,EAAwB,EACxB,SAAkB;IAElB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/shared/lock.ts"],"names":[],"mappings":"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"}