bunqueue 1.9.1 → 1.9.3

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 (165) hide show
  1. package/dist/application/operations/queueControl.d.ts.map +1 -1
  2. package/dist/application/operations/queueControl.js +6 -1
  3. package/dist/application/operations/queueControl.js.map +1 -1
  4. package/dist/application/queueManager.d.ts +115 -9
  5. package/dist/application/queueManager.d.ts.map +1 -1
  6. package/dist/application/queueManager.js +535 -26
  7. package/dist/application/queueManager.js.map +1 -1
  8. package/dist/cli/client.d.ts +6 -0
  9. package/dist/cli/client.d.ts.map +1 -1
  10. package/dist/cli/client.js +60 -48
  11. package/dist/cli/client.js.map +1 -1
  12. package/dist/cli/commands/server.d.ts.map +1 -1
  13. package/dist/cli/commands/server.js +30 -14
  14. package/dist/cli/commands/server.js.map +1 -1
  15. package/dist/cli/help.d.ts.map +1 -1
  16. package/dist/cli/help.js +10 -6
  17. package/dist/cli/help.js.map +1 -1
  18. package/dist/cli/index.d.ts.map +1 -1
  19. package/dist/cli/index.js +15 -2
  20. package/dist/cli/index.js.map +1 -1
  21. package/dist/client/queue/dlqOps.d.ts +24 -0
  22. package/dist/client/queue/dlqOps.d.ts.map +1 -0
  23. package/dist/client/queue/dlqOps.js +73 -0
  24. package/dist/client/queue/dlqOps.js.map +1 -0
  25. package/dist/client/queue/helpers.d.ts +20 -0
  26. package/dist/client/queue/helpers.d.ts.map +1 -0
  27. package/dist/client/queue/helpers.js +34 -0
  28. package/dist/client/queue/helpers.js.map +1 -0
  29. package/dist/client/queue/index.d.ts +8 -0
  30. package/dist/client/queue/index.d.ts.map +1 -0
  31. package/dist/client/queue/index.js +8 -0
  32. package/dist/client/queue/index.js.map +1 -0
  33. package/dist/client/queue/queue.d.ts +60 -0
  34. package/dist/client/queue/queue.d.ts.map +1 -0
  35. package/dist/client/queue/queue.js +322 -0
  36. package/dist/client/queue/queue.js.map +1 -0
  37. package/dist/client/queue.d.ts +3 -78
  38. package/dist/client/queue.d.ts.map +1 -1
  39. package/dist/client/queue.js +3 -463
  40. package/dist/client/queue.js.map +1 -1
  41. package/dist/client/sandboxed/index.d.ts +8 -0
  42. package/dist/client/sandboxed/index.d.ts.map +1 -0
  43. package/dist/client/sandboxed/index.js +7 -0
  44. package/dist/client/sandboxed/index.js.map +1 -0
  45. package/dist/client/sandboxed/types.d.ts +62 -0
  46. package/dist/client/sandboxed/types.d.ts.map +1 -0
  47. package/dist/client/sandboxed/types.js +6 -0
  48. package/dist/client/sandboxed/types.js.map +1 -0
  49. package/dist/client/sandboxed/worker.d.ts +38 -0
  50. package/dist/client/sandboxed/worker.d.ts.map +1 -0
  51. package/dist/client/sandboxed/worker.js +176 -0
  52. package/dist/client/sandboxed/worker.js.map +1 -0
  53. package/dist/client/sandboxed/wrapper.d.ts +13 -0
  54. package/dist/client/sandboxed/wrapper.d.ts.map +1 -0
  55. package/dist/client/sandboxed/wrapper.js +65 -0
  56. package/dist/client/sandboxed/wrapper.js.map +1 -0
  57. package/dist/client/sandboxedWorker.d.ts +4 -87
  58. package/dist/client/sandboxedWorker.d.ts.map +1 -1
  59. package/dist/client/sandboxedWorker.js +3 -296
  60. package/dist/client/sandboxedWorker.js.map +1 -1
  61. package/dist/client/tcp/client.d.ts +40 -0
  62. package/dist/client/tcp/client.d.ts.map +1 -0
  63. package/dist/client/tcp/client.js +289 -0
  64. package/dist/client/tcp/client.js.map +1 -0
  65. package/dist/client/tcp/connection.d.ts +57 -0
  66. package/dist/client/tcp/connection.d.ts.map +1 -0
  67. package/dist/client/tcp/connection.js +162 -0
  68. package/dist/client/tcp/connection.js.map +1 -0
  69. package/dist/client/tcp/health.d.ts +47 -0
  70. package/dist/client/tcp/health.d.ts.map +1 -0
  71. package/dist/client/tcp/health.js +95 -0
  72. package/dist/client/tcp/health.js.map +1 -0
  73. package/dist/client/tcp/index.d.ts +13 -0
  74. package/dist/client/tcp/index.d.ts.map +1 -0
  75. package/dist/client/tcp/index.js +12 -0
  76. package/dist/client/tcp/index.js.map +1 -0
  77. package/dist/client/tcp/lineBuffer.d.ts +17 -0
  78. package/dist/client/tcp/lineBuffer.d.ts.map +1 -0
  79. package/dist/client/tcp/lineBuffer.js +32 -0
  80. package/dist/client/tcp/lineBuffer.js.map +1 -0
  81. package/dist/client/tcp/reconnect.d.ts +38 -0
  82. package/dist/client/tcp/reconnect.d.ts.map +1 -0
  83. package/dist/client/tcp/reconnect.js +70 -0
  84. package/dist/client/tcp/reconnect.js.map +1 -0
  85. package/dist/client/tcp/shared.d.ts +11 -0
  86. package/dist/client/tcp/shared.d.ts.map +1 -0
  87. package/dist/client/tcp/shared.js +20 -0
  88. package/dist/client/tcp/shared.js.map +1 -0
  89. package/dist/client/tcp/types.d.ts +76 -0
  90. package/dist/client/tcp/types.d.ts.map +1 -0
  91. package/dist/client/tcp/types.js +20 -0
  92. package/dist/client/tcp/types.js.map +1 -0
  93. package/dist/client/tcpClient.d.ts +4 -110
  94. package/dist/client/tcpClient.d.ts.map +1 -1
  95. package/dist/client/tcpClient.js +3 -523
  96. package/dist/client/tcpClient.js.map +1 -1
  97. package/dist/client/tcpPool.d.ts +3 -0
  98. package/dist/client/tcpPool.d.ts.map +1 -1
  99. package/dist/client/tcpPool.js +21 -2
  100. package/dist/client/tcpPool.js.map +1 -1
  101. package/dist/client/types.d.ts +11 -2
  102. package/dist/client/types.d.ts.map +1 -1
  103. package/dist/client/types.js.map +1 -1
  104. package/dist/client/worker/ackBatcher.d.ts +40 -0
  105. package/dist/client/worker/ackBatcher.d.ts.map +1 -0
  106. package/dist/client/worker/ackBatcher.js +137 -0
  107. package/dist/client/worker/ackBatcher.js.map +1 -0
  108. package/dist/client/worker/index.d.ts +11 -0
  109. package/dist/client/worker/index.d.ts.map +1 -0
  110. package/dist/client/worker/index.js +10 -0
  111. package/dist/client/worker/index.js.map +1 -0
  112. package/dist/client/worker/jobParser.d.ts +10 -0
  113. package/dist/client/worker/jobParser.d.ts.map +1 -0
  114. package/dist/client/worker/jobParser.js +43 -0
  115. package/dist/client/worker/jobParser.js.map +1 -0
  116. package/dist/client/worker/processor.d.ts +24 -0
  117. package/dist/client/worker/processor.d.ts.map +1 -0
  118. package/dist/client/worker/processor.js +86 -0
  119. package/dist/client/worker/processor.js.map +1 -0
  120. package/dist/client/worker/types.d.ts +38 -0
  121. package/dist/client/worker/types.d.ts.map +1 -0
  122. package/dist/client/worker/types.js +14 -0
  123. package/dist/client/worker/types.js.map +1 -0
  124. package/dist/client/worker/worker.d.ts +53 -0
  125. package/dist/client/worker/worker.d.ts.map +1 -0
  126. package/dist/client/worker/worker.js +367 -0
  127. package/dist/client/worker/worker.js.map +1 -0
  128. package/dist/client/worker.d.ts +3 -69
  129. package/dist/client/worker.d.ts.map +1 -1
  130. package/dist/client/worker.js +3 -472
  131. package/dist/client/worker.js.map +1 -1
  132. package/dist/domain/queue/shard.d.ts +19 -2
  133. package/dist/domain/queue/shard.d.ts.map +1 -1
  134. package/dist/domain/queue/shard.js +36 -4
  135. package/dist/domain/queue/shard.js.map +1 -1
  136. package/dist/domain/types/command.d.ts +9 -0
  137. package/dist/domain/types/command.d.ts.map +1 -1
  138. package/dist/domain/types/job.d.ts +27 -0
  139. package/dist/domain/types/job.d.ts.map +1 -1
  140. package/dist/domain/types/job.js +34 -0
  141. package/dist/domain/types/job.js.map +1 -1
  142. package/dist/domain/types/response.d.ts +15 -1
  143. package/dist/domain/types/response.d.ts.map +1 -1
  144. package/dist/domain/types/response.js +16 -0
  145. package/dist/domain/types/response.js.map +1 -1
  146. package/dist/infrastructure/server/handlers/core.d.ts +1 -1
  147. package/dist/infrastructure/server/handlers/core.d.ts.map +1 -1
  148. package/dist/infrastructure/server/handlers/core.js +74 -15
  149. package/dist/infrastructure/server/handlers/core.js.map +1 -1
  150. package/dist/infrastructure/server/handlers/monitoring.d.ts.map +1 -1
  151. package/dist/infrastructure/server/handlers/monitoring.js +6 -4
  152. package/dist/infrastructure/server/handlers/monitoring.js.map +1 -1
  153. package/dist/infrastructure/server/http.d.ts +10 -3
  154. package/dist/infrastructure/server/http.d.ts.map +1 -1
  155. package/dist/infrastructure/server/http.js +244 -163
  156. package/dist/infrastructure/server/http.js.map +1 -1
  157. package/dist/infrastructure/server/tcp.d.ts +8 -3
  158. package/dist/infrastructure/server/tcp.d.ts.map +1 -1
  159. package/dist/infrastructure/server/tcp.js +77 -57
  160. package/dist/infrastructure/server/tcp.js.map +1 -1
  161. package/dist/infrastructure/server/types.d.ts +2 -0
  162. package/dist/infrastructure/server/types.d.ts.map +1 -1
  163. package/dist/main.js +24 -4
  164. package/dist/main.js.map +1 -1
  165. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * DLQ Operations
3
+ * Dead Letter Queue management for embedded mode
4
+ */
5
+ import type { DlqConfig, DlqEntry, DlqStats, DlqFilter, StallConfig } from '../types';
6
+ /** Set DLQ configuration (embedded only) */
7
+ export declare function setDlqConfig(queue: string, config: Partial<DlqConfig>): void;
8
+ /** Get DLQ configuration (embedded only) */
9
+ export declare function getDlqConfigEmbedded(queue: string): DlqConfig;
10
+ /** Get DLQ entries (embedded only) */
11
+ export declare function getDlqEntries<T>(queue: string, filter?: DlqFilter): DlqEntry<T>[];
12
+ /** Get DLQ statistics (embedded only) */
13
+ export declare function getDlqStatsEmbedded(queue: string): DlqStats;
14
+ /** Retry DLQ jobs by filter (embedded only) */
15
+ export declare function retryDlqByFilterEmbedded(queue: string, filter: DlqFilter): number;
16
+ /** Retry DLQ jobs (embedded) */
17
+ export declare function retryDlqEmbedded(queue: string, id?: string): number;
18
+ /** Purge DLQ (embedded) */
19
+ export declare function purgeDlqEmbedded(queue: string): number;
20
+ /** Set stall config (embedded only) */
21
+ export declare function setStallConfigEmbedded(queue: string, config: Record<string, unknown>): void;
22
+ /** Get stall config (embedded only) */
23
+ export declare function getStallConfigEmbedded(queue: string): StallConfig;
24
+ //# sourceMappingURL=dlqOps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dlqOps.d.ts","sourceRoot":"","sources":["../../../src/client/queue/dlqOps.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EACV,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,EAET,WAAW,EACZ,MAAM,UAAU,CAAC;AAKlB,4CAA4C;AAC5C,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAI5E;AAED,4CAA4C;AAC5C,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAI7D;AAED,sCAAsC;AACtC,wBAAgB,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAKjF;AAED,yCAAyC;AACzC,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,CAY3D;AAED,+CAA+C;AAC/C,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,CAMjF;AAED,gCAAgC;AAChC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED,2BAA2B;AAC3B,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,uCAAuC;AACvC,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAI3F;AAED,uCAAuC;AACvC,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAIjE"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * DLQ Operations
3
+ * Dead Letter Queue management for embedded mode
4
+ */
5
+ import { getSharedManager } from '../manager';
6
+ import { jobId } from '../../domain/types/job';
7
+ import { toDlqEntry } from '../types';
8
+ import { getShard, getDlqContext, toDomainFilter, toDomainDlqConfig } from './helpers';
9
+ import * as dlqOps from '../../application/dlqManager';
10
+ /** Set DLQ configuration (embedded only) */
11
+ export function setDlqConfig(queue, config) {
12
+ const manager = getSharedManager();
13
+ const ctx = getDlqContext(manager);
14
+ dlqOps.configureDlq(queue, ctx, toDomainDlqConfig(config));
15
+ }
16
+ /** Get DLQ configuration (embedded only) */
17
+ export function getDlqConfigEmbedded(queue) {
18
+ const manager = getSharedManager();
19
+ const ctx = getDlqContext(manager);
20
+ return dlqOps.getDlqConfig(queue, ctx);
21
+ }
22
+ /** Get DLQ entries (embedded only) */
23
+ export function getDlqEntries(queue, filter) {
24
+ const manager = getSharedManager();
25
+ const ctx = getDlqContext(manager);
26
+ const entries = dlqOps.getDlqEntries(queue, ctx, toDomainFilter(filter));
27
+ return entries.map((entry) => toDlqEntry(entry));
28
+ }
29
+ /** Get DLQ statistics (embedded only) */
30
+ export function getDlqStatsEmbedded(queue) {
31
+ const manager = getSharedManager();
32
+ const ctx = getDlqContext(manager);
33
+ const stats = dlqOps.getDlqStats(queue, ctx);
34
+ return {
35
+ total: stats.total,
36
+ byReason: stats.byReason,
37
+ pendingRetry: stats.pendingRetry,
38
+ expired: stats.expired,
39
+ oldestEntry: stats.oldestEntry,
40
+ newestEntry: stats.newestEntry,
41
+ };
42
+ }
43
+ /** Retry DLQ jobs by filter (embedded only) */
44
+ export function retryDlqByFilterEmbedded(queue, filter) {
45
+ const manager = getSharedManager();
46
+ const ctx = getDlqContext(manager);
47
+ const domainFilter = toDomainFilter(filter);
48
+ if (!domainFilter)
49
+ return 0;
50
+ return dlqOps.retryDlqByFilter(queue, ctx, domainFilter);
51
+ }
52
+ /** Retry DLQ jobs (embedded) */
53
+ export function retryDlqEmbedded(queue, id) {
54
+ const manager = getSharedManager();
55
+ return manager.retryDlq(queue, id ? jobId(id) : undefined);
56
+ }
57
+ /** Purge DLQ (embedded) */
58
+ export function purgeDlqEmbedded(queue) {
59
+ return getSharedManager().purgeDlq(queue);
60
+ }
61
+ /** Set stall config (embedded only) */
62
+ export function setStallConfigEmbedded(queue, config) {
63
+ const manager = getSharedManager();
64
+ const shard = getShard(manager, queue);
65
+ shard.setStallConfig(queue, config);
66
+ }
67
+ /** Get stall config (embedded only) */
68
+ export function getStallConfigEmbedded(queue) {
69
+ const manager = getSharedManager();
70
+ const shard = getShard(manager, queue);
71
+ return shard.getStallConfig(queue);
72
+ }
73
+ //# sourceMappingURL=dlqOps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dlqOps.js","sourceRoot":"","sources":["../../../src/client/queue/dlqOps.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Queue Helpers
3
+ * Utility functions for queue operations
4
+ */
5
+ import type { getSharedManager } from '../manager';
6
+ import type { Shard } from '../../domain/queue/shard';
7
+ import type { DlqFilter, DlqConfig as DomainDlqConfig } from '../../domain/types/dlq';
8
+ import type { DlqFilter as ClientDlqFilter } from '../types';
9
+ import type * as dlqOps from '../../application/dlqManager';
10
+ /** Check if embedded mode should be forced (for tests) */
11
+ export declare const FORCE_EMBEDDED: boolean;
12
+ /** Get shard from manager (embedded mode only) */
13
+ export declare function getShard(manager: ReturnType<typeof getSharedManager>, queue: string): Shard;
14
+ /** Create DLQ context (embedded mode only) */
15
+ export declare function getDlqContext(manager: ReturnType<typeof getSharedManager>): dlqOps.DlqContext;
16
+ /** Convert client filter to domain filter */
17
+ export declare function toDomainFilter(filter: ClientDlqFilter | undefined): DlqFilter | undefined;
18
+ /** Convert client DLQ config to domain config */
19
+ export declare function toDomainDlqConfig(config: Record<string, unknown>): Partial<DomainDlqConfig>;
20
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/client/queue/helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,KAAK,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,MAAM,8BAA8B,CAAC;AAE5D,0DAA0D;AAC1D,eAAO,MAAM,cAAc,SAAwC,CAAC;AAYpE,kDAAkD;AAClD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAG3F;AAED,8CAA8C;AAC9C,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAAG,MAAM,CAAC,UAAU,CAK7F;AAED,6CAA6C;AAC7C,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAGzF;AAED,iDAAiD;AACjD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAE3F"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Queue Helpers
3
+ * Utility functions for queue operations
4
+ */
5
+ import { shardIndex } from '../../shared/hash';
6
+ /** Check if embedded mode should be forced (for tests) */
7
+ export const FORCE_EMBEDDED = process.env.BUNQUEUE_EMBEDDED === '1';
8
+ /** Extract shards from manager (embedded mode only, accesses private property) */
9
+ function getShards(manager) {
10
+ return manager.shards;
11
+ }
12
+ /** Get shard from manager (embedded mode only) */
13
+ export function getShard(manager, queue) {
14
+ const idx = shardIndex(queue);
15
+ return getShards(manager)[idx];
16
+ }
17
+ /** Create DLQ context (embedded mode only) */
18
+ export function getDlqContext(manager) {
19
+ return {
20
+ shards: getShards(manager),
21
+ jobIndex: manager.getJobIndex(),
22
+ };
23
+ }
24
+ /** Convert client filter to domain filter */
25
+ export function toDomainFilter(filter) {
26
+ if (!filter)
27
+ return undefined;
28
+ return filter;
29
+ }
30
+ /** Convert client DLQ config to domain config */
31
+ export function toDomainDlqConfig(config) {
32
+ return config;
33
+ }
34
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/client/queue/helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAM/C,0DAA0D;AAC1D,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,GAAG,CAAC;AAOpE,kFAAkF;AAClF,SAAS,SAAS,CAAC,OAA4C;IAC7D,OAAQ,OAAuC,CAAC,MAAM,CAAC;AACzD,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,QAAQ,CAAC,OAA4C,EAAE,KAAa;IAClF,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,aAAa,CAAC,OAA4C;IACxE,OAAO;QACL,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC;QAC1B,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE;KAChC,CAAC;AACJ,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,cAAc,CAAC,MAAmC;IAChE,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,OAAO,MAA8B,CAAC;AACxC,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,iBAAiB,CAAC,MAA+B;IAC/D,OAAO,MAAkC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Queue Module
3
+ * Re-exports all queue components
4
+ */
5
+ export { FORCE_EMBEDDED, getShard, getDlqContext, toDomainFilter } from './helpers';
6
+ export * from './dlqOps';
7
+ export { Queue } from './queue';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/queue/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACpF,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Queue Module
3
+ * Re-exports all queue components
4
+ */
5
+ export { FORCE_EMBEDDED, getShard, getDlqContext, toDomainFilter } from './helpers';
6
+ export * from './dlqOps';
7
+ export { Queue } from './queue';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/queue/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACpF,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Queue
3
+ * BullMQ-style queue for job management
4
+ */
5
+ import type { Job, JobOptions, QueueOptions, StallConfig, DlqConfig, DlqEntry, DlqStats, DlqFilter } from '../types';
6
+ /**
7
+ * Queue class for adding and managing jobs
8
+ */
9
+ export declare class Queue<T = unknown> {
10
+ readonly name: string;
11
+ private readonly opts;
12
+ private readonly embedded;
13
+ private readonly tcpPool;
14
+ private readonly useSharedPool;
15
+ constructor(name: string, opts?: QueueOptions);
16
+ private get tcp();
17
+ /** Add a job to the queue */
18
+ add(name: string, data: T, opts?: JobOptions): Promise<Job<T>>;
19
+ /** Add multiple jobs (batch optimized) */
20
+ addBulk(jobs: Array<{
21
+ name: string;
22
+ data: T;
23
+ opts?: JobOptions;
24
+ }>): Promise<Job<T>[]>;
25
+ /** Get a job by ID */
26
+ getJob(id: string): Promise<Job<T> | null>;
27
+ /** Remove a job by ID */
28
+ remove(id: string): void;
29
+ /** Get job counts by state */
30
+ getJobCounts(): {
31
+ waiting: number;
32
+ active: number;
33
+ completed: number;
34
+ failed: number;
35
+ };
36
+ /** Get job counts (async, works with TCP) */
37
+ getJobCountsAsync(): Promise<{
38
+ waiting: number;
39
+ active: number;
40
+ completed: number;
41
+ failed: number;
42
+ }>;
43
+ pause(): void;
44
+ resume(): void;
45
+ drain(): void;
46
+ obliterate(): void;
47
+ setStallConfig(config: Partial<StallConfig>): void;
48
+ getStallConfig(): StallConfig;
49
+ setDlqConfig(config: Partial<DlqConfig>): void;
50
+ getDlqConfig(): DlqConfig;
51
+ getDlq(filter?: DlqFilter): DlqEntry<T>[];
52
+ getDlqStats(): DlqStats;
53
+ retryDlq(id?: string): number;
54
+ retryDlqByFilter(filter: DlqFilter): number;
55
+ purgeDlq(): number;
56
+ close(): void;
57
+ private createJobProxy;
58
+ private createSimpleJob;
59
+ }
60
+ //# sourceMappingURL=queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/client/queue/queue.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EACV,GAAG,EACH,UAAU,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,EAGV,MAAM,UAAU,CAAC;AAMlB;;GAEG;AACH,qBAAa,KAAK,CAAC,CAAC,GAAG,OAAO;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAe;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;gBAE5B,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,YAAiB;IA2BjD,OAAO,KAAK,GAAG,GAGd;IAED,6BAA6B;IACvB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IA0CxE,0CAA0C;IACpC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAkD3F,sBAAsB;IAChB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IA0BhD,yBAAyB;IACzB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKxB,8BAA8B;IAC9B,YAAY,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAQtF,6CAA6C;IACvC,iBAAiB,IAAI,OAAO,CAAC;QACjC,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAaF,KAAK,IAAI,IAAI;IAIb,MAAM,IAAI,IAAI;IAId,KAAK,IAAI,IAAI;IAIb,UAAU,IAAI,IAAI;IAMlB,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAQlD,cAAc,IAAI,WAAW;IAQ7B,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI;IAQ9C,YAAY,IAAI,SAAS;IAKzB,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE;IAKzC,WAAW,IAAI,QAAQ;IAcvB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAM7B,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM;IAK3C,QAAQ,IAAI,MAAM;IAMlB,KAAK,IAAI,IAAI;IAOb,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,eAAe;CAaxB"}
@@ -0,0 +1,322 @@
1
+ /**
2
+ * Queue
3
+ * BullMQ-style queue for job management
4
+ */
5
+ import { getSharedManager } from '../manager';
6
+ import { TcpConnectionPool, getSharedPool, releaseSharedPool } from '../tcpPool';
7
+ import { toPublicJob } from '../types';
8
+ import { jobId } from '../../domain/types/job';
9
+ import { FORCE_EMBEDDED } from './helpers';
10
+ import * as dlqOps from './dlqOps';
11
+ /**
12
+ * Queue class for adding and managing jobs
13
+ */
14
+ export class Queue {
15
+ name;
16
+ opts;
17
+ embedded;
18
+ tcpPool;
19
+ useSharedPool;
20
+ constructor(name, opts = {}) {
21
+ this.name = name;
22
+ this.opts = opts;
23
+ this.embedded = opts.embedded ?? FORCE_EMBEDDED;
24
+ if (this.embedded) {
25
+ this.tcpPool = null;
26
+ this.useSharedPool = false;
27
+ }
28
+ else {
29
+ const connOpts = opts.connection ?? {};
30
+ const poolSize = connOpts.poolSize ?? 4;
31
+ if (poolSize === 4 && !connOpts.token) {
32
+ this.tcpPool = getSharedPool({ host: connOpts.host, port: connOpts.port, poolSize });
33
+ this.useSharedPool = true;
34
+ }
35
+ else {
36
+ this.tcpPool = new TcpConnectionPool({
37
+ host: connOpts.host ?? 'localhost',
38
+ port: connOpts.port ?? 6789,
39
+ token: connOpts.token,
40
+ poolSize,
41
+ });
42
+ this.useSharedPool = false;
43
+ }
44
+ }
45
+ }
46
+ get tcp() {
47
+ if (!this.tcpPool)
48
+ throw new Error('No TCP connection available');
49
+ return this.tcpPool;
50
+ }
51
+ /** Add a job to the queue */
52
+ async add(name, data, opts = {}) {
53
+ const merged = { ...this.opts.defaultJobOptions, ...opts };
54
+ if (this.embedded) {
55
+ const manager = getSharedManager();
56
+ const job = await manager.push(this.name, {
57
+ data: { name, ...data },
58
+ priority: merged.priority,
59
+ delay: merged.delay,
60
+ maxAttempts: merged.attempts,
61
+ backoff: merged.backoff,
62
+ timeout: merged.timeout,
63
+ customId: merged.jobId,
64
+ removeOnComplete: merged.removeOnComplete,
65
+ removeOnFail: merged.removeOnFail,
66
+ repeat: merged.repeat,
67
+ stallTimeout: merged.stallTimeout,
68
+ });
69
+ return toPublicJob(job, name);
70
+ }
71
+ const response = await this.tcp.send({
72
+ cmd: 'PUSH',
73
+ queue: this.name,
74
+ data: { name, ...data },
75
+ priority: merged.priority,
76
+ delay: merged.delay,
77
+ maxAttempts: merged.attempts,
78
+ backoff: merged.backoff,
79
+ timeout: merged.timeout,
80
+ customId: merged.jobId,
81
+ removeOnComplete: merged.removeOnComplete,
82
+ removeOnFail: merged.removeOnFail,
83
+ stallTimeout: merged.stallTimeout,
84
+ });
85
+ if (!response.ok) {
86
+ throw new Error(response.error ?? 'Failed to add job');
87
+ }
88
+ const jobIdStr = response.id;
89
+ return this.createJobProxy(jobIdStr, name, data);
90
+ }
91
+ /** Add multiple jobs (batch optimized) */
92
+ async addBulk(jobs) {
93
+ if (jobs.length === 0)
94
+ return [];
95
+ const now = Date.now();
96
+ if (this.embedded) {
97
+ const manager = getSharedManager();
98
+ const inputs = jobs.map(({ name, data, opts }) => {
99
+ const m = { ...this.opts.defaultJobOptions, ...opts };
100
+ return {
101
+ data: { name, ...data },
102
+ priority: m.priority,
103
+ delay: m.delay,
104
+ maxAttempts: m.attempts,
105
+ backoff: m.backoff,
106
+ timeout: m.timeout,
107
+ customId: m.jobId,
108
+ removeOnComplete: m.removeOnComplete,
109
+ removeOnFail: m.removeOnFail,
110
+ repeat: m.repeat,
111
+ stallTimeout: m.stallTimeout,
112
+ };
113
+ });
114
+ const ids = await manager.pushBatch(this.name, inputs);
115
+ return ids.map((id, i) => this.createSimpleJob(String(id), jobs[i].name, jobs[i].data, now));
116
+ }
117
+ const jobInputs = jobs.map(({ name, data, opts }) => {
118
+ const m = { ...this.opts.defaultJobOptions, ...opts };
119
+ return {
120
+ data: { name, ...data },
121
+ priority: m.priority,
122
+ delay: m.delay,
123
+ maxAttempts: m.attempts,
124
+ backoff: m.backoff,
125
+ timeout: m.timeout,
126
+ customId: m.jobId,
127
+ removeOnComplete: m.removeOnComplete,
128
+ removeOnFail: m.removeOnFail,
129
+ stallTimeout: m.stallTimeout,
130
+ };
131
+ });
132
+ const response = await this.tcp.send({ cmd: 'PUSHB', queue: this.name, jobs: jobInputs });
133
+ if (!response.ok) {
134
+ throw new Error(response.error ?? 'Failed to add jobs');
135
+ }
136
+ const ids = response.ids;
137
+ return ids.map((id, i) => this.createSimpleJob(id, jobs[i].name, jobs[i].data, now));
138
+ }
139
+ /** Get a job by ID */
140
+ async getJob(id) {
141
+ if (this.embedded) {
142
+ const manager = getSharedManager();
143
+ const job = await manager.getJob(jobId(id));
144
+ if (!job)
145
+ return null;
146
+ const jobData = job.data;
147
+ return toPublicJob(job, jobData?.name ?? 'default');
148
+ }
149
+ const response = await this.tcp.send({ cmd: 'GetJob', id });
150
+ if (!response.ok || !response.job)
151
+ return null;
152
+ const jobData = response.job;
153
+ const data = jobData.data;
154
+ return {
155
+ id: String(jobData.id),
156
+ name: data?.name ?? 'default',
157
+ data: jobData.data,
158
+ queueName: this.name,
159
+ attemptsMade: jobData.attempts ?? 0,
160
+ timestamp: jobData.createdAt ?? Date.now(),
161
+ progress: jobData.progress ?? 0,
162
+ updateProgress: async () => { },
163
+ log: async () => { },
164
+ };
165
+ }
166
+ /** Remove a job by ID */
167
+ remove(id) {
168
+ if (this.embedded)
169
+ void getSharedManager().cancel(jobId(id));
170
+ else
171
+ void this.tcp.send({ cmd: 'Cancel', id });
172
+ }
173
+ /** Get job counts by state */
174
+ getJobCounts() {
175
+ if (this.embedded) {
176
+ const s = getSharedManager().getStats();
177
+ return { waiting: s.waiting, active: s.active, completed: s.completed, failed: s.dlq };
178
+ }
179
+ return { waiting: 0, active: 0, completed: 0, failed: 0 };
180
+ }
181
+ /** Get job counts (async, works with TCP) */
182
+ async getJobCountsAsync() {
183
+ if (this.embedded)
184
+ return this.getJobCounts();
185
+ const response = await this.tcp.send({ cmd: 'Stats' });
186
+ if (!response.ok)
187
+ return { waiting: 0, active: 0, completed: 0, failed: 0 };
188
+ const s = response.stats;
189
+ return {
190
+ waiting: s?.queued ?? 0,
191
+ active: s?.processing ?? 0,
192
+ completed: s?.completed ?? 0,
193
+ failed: s?.dlq ?? 0,
194
+ };
195
+ }
196
+ pause() {
197
+ if (this.embedded)
198
+ getSharedManager().pause(this.name);
199
+ else
200
+ void this.tcp.send({ cmd: 'Pause', queue: this.name });
201
+ }
202
+ resume() {
203
+ if (this.embedded)
204
+ getSharedManager().resume(this.name);
205
+ else
206
+ void this.tcp.send({ cmd: 'Resume', queue: this.name });
207
+ }
208
+ drain() {
209
+ if (this.embedded)
210
+ getSharedManager().drain(this.name);
211
+ else
212
+ void this.tcp.send({ cmd: 'Drain', queue: this.name });
213
+ }
214
+ obliterate() {
215
+ if (this.embedded)
216
+ getSharedManager().obliterate(this.name);
217
+ else
218
+ void this.tcp.send({ cmd: 'Obliterate', queue: this.name });
219
+ }
220
+ // Stall Detection
221
+ setStallConfig(config) {
222
+ if (!this.embedded) {
223
+ console.warn('setStallConfig: embedded only');
224
+ return;
225
+ }
226
+ dlqOps.setStallConfigEmbedded(this.name, config);
227
+ }
228
+ getStallConfig() {
229
+ if (!this.embedded) {
230
+ return { enabled: true, stallInterval: 30000, maxStalls: 3, gracePeriod: 5000 };
231
+ }
232
+ return dlqOps.getStallConfigEmbedded(this.name);
233
+ }
234
+ // DLQ Operations
235
+ setDlqConfig(config) {
236
+ if (!this.embedded) {
237
+ console.warn('setDlqConfig: embedded only');
238
+ return;
239
+ }
240
+ dlqOps.setDlqConfig(this.name, config);
241
+ }
242
+ getDlqConfig() {
243
+ if (!this.embedded)
244
+ return {};
245
+ return dlqOps.getDlqConfigEmbedded(this.name);
246
+ }
247
+ getDlq(filter) {
248
+ if (!this.embedded)
249
+ return [];
250
+ return dlqOps.getDlqEntries(this.name, filter);
251
+ }
252
+ getDlqStats() {
253
+ if (!this.embedded) {
254
+ return {
255
+ total: 0,
256
+ byReason: {},
257
+ pendingRetry: 0,
258
+ expired: 0,
259
+ oldestEntry: null,
260
+ newestEntry: null,
261
+ };
262
+ }
263
+ return dlqOps.getDlqStatsEmbedded(this.name);
264
+ }
265
+ retryDlq(id) {
266
+ if (this.embedded)
267
+ return dlqOps.retryDlqEmbedded(this.name, id);
268
+ void this.tcp.send({ cmd: 'RetryDlq', queue: this.name, id });
269
+ return 0;
270
+ }
271
+ retryDlqByFilter(filter) {
272
+ if (!this.embedded)
273
+ return 0;
274
+ return dlqOps.retryDlqByFilterEmbedded(this.name, filter);
275
+ }
276
+ purgeDlq() {
277
+ if (this.embedded)
278
+ return dlqOps.purgeDlqEmbedded(this.name);
279
+ void this.tcp.send({ cmd: 'PurgeDlq', queue: this.name });
280
+ return 0;
281
+ }
282
+ close() {
283
+ if (this.tcpPool) {
284
+ if (this.useSharedPool)
285
+ releaseSharedPool(this.tcpPool);
286
+ else
287
+ this.tcpPool.close();
288
+ }
289
+ }
290
+ createJobProxy(id, name, data) {
291
+ const tcp = this.tcp;
292
+ return {
293
+ id,
294
+ name,
295
+ data,
296
+ queueName: this.name,
297
+ attemptsMade: 0,
298
+ timestamp: Date.now(),
299
+ progress: 0,
300
+ updateProgress: async (progress, message) => {
301
+ await tcp.send({ cmd: 'Progress', id, progress, message });
302
+ },
303
+ log: async (message) => {
304
+ await tcp.send({ cmd: 'AddLog', id, message });
305
+ },
306
+ };
307
+ }
308
+ createSimpleJob(id, name, data, timestamp) {
309
+ return {
310
+ id,
311
+ name,
312
+ data,
313
+ queueName: this.name,
314
+ attemptsMade: 0,
315
+ timestamp,
316
+ progress: 0,
317
+ updateProgress: async () => { },
318
+ log: async () => { },
319
+ };
320
+ }
321
+ }
322
+ //# sourceMappingURL=queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/client/queue/queue.ts"],"names":[],"mappings":"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"}