@powerhousedao/reactor 5.0.0-staging.1 → 5.0.0-staging.10

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 (133) hide show
  1. package/dist/bench/event-bus.bench.js +17 -27
  2. package/dist/bench/event-bus.bench.js.map +1 -1
  3. package/dist/bench/queue-only.bench.js +1 -0
  4. package/dist/bench/queue-only.bench.js.map +1 -1
  5. package/dist/bench/reactor-throughput.bench.js +42 -45
  6. package/dist/bench/reactor-throughput.bench.js.map +1 -1
  7. package/dist/src/events/event-bus.d.ts +3 -3
  8. package/dist/src/events/event-bus.d.ts.map +1 -1
  9. package/dist/src/events/event-bus.js +1 -1
  10. package/dist/src/events/event-bus.js.map +1 -1
  11. package/dist/src/events/interfaces.d.ts +1 -1
  12. package/dist/src/events/interfaces.d.ts.map +1 -1
  13. package/dist/src/executor/interfaces.d.ts +31 -54
  14. package/dist/src/executor/interfaces.d.ts.map +1 -1
  15. package/dist/src/executor/simple-job-executor-manager.d.ts +27 -0
  16. package/dist/src/executor/simple-job-executor-manager.d.ts.map +1 -0
  17. package/dist/src/executor/simple-job-executor-manager.js +128 -0
  18. package/dist/src/executor/simple-job-executor-manager.js.map +1 -0
  19. package/dist/src/executor/simple-job-executor.d.ts +19 -0
  20. package/dist/src/executor/simple-job-executor.d.ts.map +1 -0
  21. package/dist/src/executor/simple-job-executor.js +69 -0
  22. package/dist/src/executor/simple-job-executor.js.map +1 -0
  23. package/dist/src/executor/types.d.ts +23 -8
  24. package/dist/src/executor/types.d.ts.map +1 -1
  25. package/dist/src/executor/types.js.map +1 -1
  26. package/dist/src/index.d.ts +5 -1
  27. package/dist/src/index.d.ts.map +1 -1
  28. package/dist/src/index.js +5 -2
  29. package/dist/src/index.js.map +1 -1
  30. package/dist/src/queue/interfaces.d.ts +45 -5
  31. package/dist/src/queue/interfaces.d.ts.map +1 -1
  32. package/dist/src/queue/job-execution-handle.d.ts +24 -0
  33. package/dist/src/queue/job-execution-handle.d.ts.map +1 -0
  34. package/dist/src/queue/job-execution-handle.js +62 -0
  35. package/dist/src/queue/job-execution-handle.js.map +1 -0
  36. package/dist/src/queue/queue.d.ts +54 -5
  37. package/dist/src/queue/queue.d.ts.map +1 -1
  38. package/dist/src/queue/queue.js +237 -23
  39. package/dist/src/queue/queue.js.map +1 -1
  40. package/dist/src/queue/types.d.ts +25 -0
  41. package/dist/src/queue/types.d.ts.map +1 -1
  42. package/dist/src/queue/types.js +12 -0
  43. package/dist/src/queue/types.js.map +1 -1
  44. package/dist/src/reactor.d.ts +3 -12
  45. package/dist/src/reactor.d.ts.map +1 -1
  46. package/dist/src/reactor.js +14 -25
  47. package/dist/src/reactor.js.map +1 -1
  48. package/dist/src/registry/implementation.d.ts +62 -0
  49. package/dist/src/registry/implementation.d.ts.map +1 -0
  50. package/dist/src/registry/implementation.js +96 -0
  51. package/dist/src/registry/implementation.js.map +1 -0
  52. package/dist/src/registry/index.d.ts +3 -0
  53. package/dist/src/registry/index.d.ts.map +1 -0
  54. package/dist/src/registry/index.js +2 -0
  55. package/dist/src/registry/index.js.map +1 -0
  56. package/dist/src/registry/interfaces.d.ts +39 -0
  57. package/dist/src/registry/interfaces.d.ts.map +1 -0
  58. package/dist/src/registry/interfaces.js +2 -0
  59. package/dist/src/registry/interfaces.js.map +1 -0
  60. package/dist/src/shared/factories.d.ts +1 -1
  61. package/dist/src/shared/factories.d.ts.map +1 -1
  62. package/dist/src/utils.d.ts +2 -2
  63. package/dist/src/utils.d.ts.map +1 -1
  64. package/dist/src/utils.js +3 -1
  65. package/dist/src/utils.js.map +1 -1
  66. package/dist/test/event-bus.test.js +19 -10
  67. package/dist/test/event-bus.test.js.map +1 -1
  68. package/dist/test/executor/executor-integration.test.d.ts +2 -0
  69. package/dist/test/executor/executor-integration.test.d.ts.map +1 -0
  70. package/dist/test/executor/executor-integration.test.js +287 -0
  71. package/dist/test/executor/executor-integration.test.js.map +1 -0
  72. package/dist/test/executor/job-execution-handle.test.d.ts +2 -0
  73. package/dist/test/executor/job-execution-handle.test.d.ts.map +1 -0
  74. package/dist/test/executor/job-execution-handle.test.js +272 -0
  75. package/dist/test/executor/job-execution-handle.test.js.map +1 -0
  76. package/dist/test/executor/simple-job-executor-manager.test.d.ts +2 -0
  77. package/dist/test/executor/simple-job-executor-manager.test.d.ts.map +1 -0
  78. package/dist/test/executor/simple-job-executor-manager.test.js +132 -0
  79. package/dist/test/executor/simple-job-executor-manager.test.js.map +1 -0
  80. package/dist/test/executor/simple-job-executor.test.d.ts +2 -0
  81. package/dist/test/executor/simple-job-executor.test.d.ts.map +1 -0
  82. package/dist/test/executor/simple-job-executor.test.js +139 -0
  83. package/dist/test/executor/simple-job-executor.test.js.map +1 -0
  84. package/dist/test/factories.d.ts +123 -0
  85. package/dist/test/factories.d.ts.map +1 -0
  86. package/dist/test/factories.js +319 -0
  87. package/dist/test/factories.js.map +1 -0
  88. package/dist/test/integration/document-drive-integration.test.d.ts +2 -0
  89. package/dist/test/integration/document-drive-integration.test.d.ts.map +1 -0
  90. package/dist/test/integration/document-drive-integration.test.js +1102 -0
  91. package/dist/test/integration/document-drive-integration.test.js.map +1 -0
  92. package/dist/test/integration/reactor-read.test.d.ts.map +1 -0
  93. package/dist/test/{reactor-read.test.js → integration/reactor-read.test.js} +28 -67
  94. package/dist/test/integration/reactor-read.test.js.map +1 -0
  95. package/dist/test/queue/queue-integration.test.d.ts +2 -0
  96. package/dist/test/queue/queue-integration.test.d.ts.map +1 -0
  97. package/dist/test/queue/queue-integration.test.js +322 -0
  98. package/dist/test/queue/queue-integration.test.js.map +1 -0
  99. package/dist/test/{queue.test.d.ts.map → queue/queue.test.d.ts.map} +1 -1
  100. package/dist/test/queue/queue.test.js +770 -0
  101. package/dist/test/queue/queue.test.js.map +1 -0
  102. package/dist/test/registry/registry.test.d.ts +2 -0
  103. package/dist/test/registry/registry.test.d.ts.map +1 -0
  104. package/dist/test/registry/registry.test.js +182 -0
  105. package/dist/test/registry/registry.test.js.map +1 -0
  106. package/dist/tsconfig.tsbuildinfo +1 -1
  107. package/dist/vitest.config.d.ts +3 -0
  108. package/dist/vitest.config.d.ts.map +1 -0
  109. package/dist/vitest.config.js +11 -0
  110. package/dist/vitest.config.js.map +1 -0
  111. package/package.json +3 -3
  112. package/dist/bench/end-to-end-flow.bench.d.ts +0 -2
  113. package/dist/bench/end-to-end-flow.bench.d.ts.map +0 -1
  114. package/dist/bench/end-to-end-flow.bench.js +0 -266
  115. package/dist/bench/end-to-end-flow.bench.js.map +0 -1
  116. package/dist/src/executor/job-executor.d.ts +0 -62
  117. package/dist/src/executor/job-executor.d.ts.map +0 -1
  118. package/dist/src/executor/job-executor.js +0 -325
  119. package/dist/src/executor/job-executor.js.map +0 -1
  120. package/dist/test/job-executor.test.d.ts +0 -2
  121. package/dist/test/job-executor.test.d.ts.map +0 -1
  122. package/dist/test/job-executor.test.js +0 -587
  123. package/dist/test/job-executor.test.js.map +0 -1
  124. package/dist/test/queue.test.js +0 -407
  125. package/dist/test/queue.test.js.map +0 -1
  126. package/dist/test/reactor-read.test.d.ts.map +0 -1
  127. package/dist/test/reactor-read.test.js.map +0 -1
  128. package/dist/test/reactor-write.test.d.ts +0 -2
  129. package/dist/test/reactor-write.test.d.ts.map +0 -1
  130. package/dist/test/reactor-write.test.js +0 -232
  131. package/dist/test/reactor-write.test.js.map +0 -1
  132. /package/dist/test/{reactor-read.test.d.ts → integration/reactor-read.test.d.ts} +0 -0
  133. /package/dist/test/{queue.test.d.ts → queue/queue.test.d.ts} +0 -0
@@ -9,38 +9,30 @@ const TEST_DATA = { message: "test event", timestampUtcMs: Date.now() };
9
9
  /**
10
10
  * Creates a synchronous subscriber that performs minimal work
11
11
  */
12
- function createSyncSubscriber(id) {
13
- return (type, data) => {
14
- // Minimal synchronous work
15
- const result = data.timestampUtcMs + id.length;
16
- return result;
12
+ function createSyncSubscriber() {
13
+ return () => {
14
+ //
17
15
  };
18
16
  }
19
17
  /**
20
18
  * Creates an asynchronous subscriber with configurable delay
21
19
  */
22
- function createAsyncSubscriber(id, delayMs = 0) {
23
- return async (type, data) => {
20
+ function createAsyncSubscriber(delayMs = 0) {
21
+ return async () => {
24
22
  // Simulate async work
25
23
  if (delayMs > 0) {
26
24
  await new Promise((resolve) => setTimeout(resolve, delayMs));
27
25
  }
28
- return data.timestampUtcMs + id.length;
29
26
  };
30
27
  }
31
28
  /**
32
29
  * Creates a subscriber that randomly decides to be sync or async
33
30
  */
34
- function createMixedSubscriber(id, asyncProbability = 0.5) {
35
- return async (type, data) => {
31
+ function createMixedSubscriber(asyncProbability = 0.5) {
32
+ return async () => {
36
33
  if (Math.random() < asyncProbability) {
37
34
  // Async path with minimal delay
38
35
  await new Promise((resolve) => setImmediate(resolve));
39
- return data.timestampUtcMs + id.length;
40
- }
41
- else {
42
- // Sync path
43
- return data.timestampUtcMs + id.length;
44
36
  }
45
37
  };
46
38
  }
@@ -50,7 +42,7 @@ function createMixedSubscriber(id, asyncProbability = 0.5) {
50
42
  function setupSyncEventBus(subscriberCount) {
51
43
  const eventBus = new EventBus();
52
44
  for (let i = 0; i < subscriberCount; i++) {
53
- eventBus.subscribe(EVENT_TYPE_SYNC, createSyncSubscriber(`sync-${i}`));
45
+ eventBus.subscribe(EVENT_TYPE_SYNC, createSyncSubscriber());
54
46
  }
55
47
  return eventBus;
56
48
  }
@@ -60,7 +52,7 @@ function setupSyncEventBus(subscriberCount) {
60
52
  function setupAsyncEventBus(subscriberCount, delayMs = 0) {
61
53
  const eventBus = new EventBus();
62
54
  for (let i = 0; i < subscriberCount; i++) {
63
- eventBus.subscribe(EVENT_TYPE_ASYNC, createAsyncSubscriber(`async-${i}`, delayMs));
55
+ eventBus.subscribe(EVENT_TYPE_ASYNC, createAsyncSubscriber(delayMs));
64
56
  }
65
57
  return eventBus;
66
58
  }
@@ -70,7 +62,7 @@ function setupAsyncEventBus(subscriberCount, delayMs = 0) {
70
62
  function setupMixedEventBus(subscriberCount, asyncProbability = 0.5) {
71
63
  const eventBus = new EventBus();
72
64
  for (let i = 0; i < subscriberCount; i++) {
73
- eventBus.subscribe(EVENT_TYPE_MIXED, createMixedSubscriber(`mixed-${i}`, asyncProbability));
65
+ eventBus.subscribe(EVENT_TYPE_MIXED, createMixedSubscriber(asyncProbability));
74
66
  }
75
67
  return eventBus;
76
68
  }
@@ -167,14 +159,14 @@ describe("EventBus Mixed Sync/Async Emission Throughput", () => {
167
159
  describe("EventBus Subscription Management Performance", () => {
168
160
  bench("Subscribe and unsubscribe (single)", () => {
169
161
  const eventBus = new EventBus();
170
- const unsubscribe = eventBus.subscribe(EVENT_TYPE_SYNC, createSyncSubscriber("temp"));
162
+ const unsubscribe = eventBus.subscribe(EVENT_TYPE_SYNC, createSyncSubscriber());
171
163
  unsubscribe();
172
164
  }, { time: 500 });
173
165
  bench("Subscribe and unsubscribe (batch of 10)", () => {
174
166
  const eventBus = new EventBus();
175
167
  const unsubscribes = [];
176
168
  for (let i = 0; i < 10; i++) {
177
- unsubscribes.push(eventBus.subscribe(EVENT_TYPE_SYNC, createSyncSubscriber(`temp-${i}`)));
169
+ unsubscribes.push(eventBus.subscribe(EVENT_TYPE_SYNC, createSyncSubscriber()));
178
170
  }
179
171
  for (const unsubscribe of unsubscribes) {
180
172
  unsubscribe();
@@ -184,7 +176,7 @@ describe("EventBus Subscription Management Performance", () => {
184
176
  const eventBus = new EventBus();
185
177
  const unsubscribes = [];
186
178
  for (let i = 0; i < 100; i++) {
187
- unsubscribes.push(eventBus.subscribe(EVENT_TYPE_SYNC, createSyncSubscriber(`temp-${i}`)));
179
+ unsubscribes.push(eventBus.subscribe(EVENT_TYPE_SYNC, createSyncSubscriber()));
188
180
  }
189
181
  for (const unsubscribe of unsubscribes) {
190
182
  unsubscribe();
@@ -193,20 +185,18 @@ describe("EventBus Subscription Management Performance", () => {
193
185
  });
194
186
  describe("EventBus Error Handling Performance", () => {
195
187
  function createErrorSubscriber(shouldError) {
196
- return (type, data) => {
188
+ return () => {
197
189
  if (shouldError) {
198
190
  throw new Error("Test error");
199
191
  }
200
- return data.timestampUtcMs;
201
192
  };
202
193
  }
203
194
  function createAsyncErrorSubscriber(shouldError) {
204
- return async (type, data) => {
195
+ return async () => {
205
196
  await new Promise((resolve) => setTimeout(resolve, 1));
206
197
  if (shouldError) {
207
198
  throw new Error("Test async error");
208
199
  }
209
- return data.timestampUtcMs;
210
200
  };
211
201
  }
212
202
  // Test error aggregation performance
@@ -222,7 +212,7 @@ describe("EventBus Error Handling Performance", () => {
222
212
  try {
223
213
  await errorEventBus.emit(EVENT_TYPE_SYNC, TEST_DATA);
224
214
  }
225
- catch (error) {
215
+ catch {
226
216
  // Expected error
227
217
  }
228
218
  }, { time: 500 });
@@ -230,7 +220,7 @@ describe("EventBus Error Handling Performance", () => {
230
220
  try {
231
221
  await asyncErrorEventBus.emit(EVENT_TYPE_ASYNC, TEST_DATA);
232
222
  }
233
- catch (error) {
223
+ catch {
234
224
  // Expected error
235
225
  }
236
226
  }, { time: 500 });
@@ -1 +1 @@
1
- {"version":3,"file":"event-bus.bench.js","sourceRoot":"","sources":["../../bench/event-bus.bench.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-bus.bench.js","sourceRoot":"","sources":["../../bench/event-bus.bench.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ function createMinimalJob() {
26
26
  },
27
27
  maxRetries: 0,
28
28
  createdAt: "2023-01-01T00:00:00.000Z",
29
+ queueHint: [],
29
30
  };
30
31
  }
31
32
  describe("Queue Only Operations", () => {
@@ -1 +1 @@
1
- {"version":3,"file":"queue-only.bench.js","sourceRoot":"","sources":["../../bench/queue-only.bench.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,gDAAgD;AAChD,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAChC,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC;AAE1C,IAAI,UAAU,GAAG,CAAC,CAAC;AAEnB,SAAS,gBAAgB;IACvB,OAAO;QACL,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;QACzB,UAAU,EAAE,MAAM;QAClB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,MAAM;QACd,SAAS,EAAE;YACT,MAAM,EAAE;gBACN,EAAE,EAAE,UAAU,UAAU,EAAE;gBAC1B,IAAI,EAAE,QAAQ;gBACd,cAAc,EAAE,0BAA0B;gBAC1C,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;gBACvB,KAAK,EAAE,SAAS;aACjB;YACD,KAAK,EAAE,CAAC;YACR,cAAc,EAAE,0BAA0B;YAC1C,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,CAAC;SACR;QACD,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,0BAA0B;KACtC,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,KAAK,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;QAC/B,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;QAC/B,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"queue-only.bench.js","sourceRoot":"","sources":["../../bench/queue-only.bench.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,gDAAgD;AAChD,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;AAChC,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC;AAE1C,IAAI,UAAU,GAAG,CAAC,CAAC;AAEnB,SAAS,gBAAgB;IACvB,OAAO;QACL,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE;QACzB,UAAU,EAAE,MAAM;QAClB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,MAAM;QACd,SAAS,EAAE;YACT,MAAM,EAAE;gBACN,EAAE,EAAE,UAAU,UAAU,EAAE;gBAC1B,IAAI,EAAE,QAAQ;gBACd,cAAc,EAAE,0BAA0B;gBAC1C,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;gBACvB,KAAK,EAAE,SAAS;aACjB;YACD,KAAK,EAAE,CAAC;YACR,cAAc,EAAE,0BAA0B;YAC1C,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,CAAC;SACR;QACD,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,0BAA0B;QACrC,SAAS,EAAE,EAAE;KACd,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,KAAK,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;QAC/B,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC;QAC/B,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACzB,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,64 +1,66 @@
1
- import { bench, describe } from "vitest";
1
+ import { MemoryStorage } from "document-drive";
2
+ import { documentModelDocumentModelModule } from "document-model";
3
+ import { beforeAll, bench, describe } from "vitest";
2
4
  import { EventBus } from "../src/events/event-bus.js";
3
- import { InMemoryJobExecutor } from "../src/executor/job-executor.js";
5
+ import { SimpleJobExecutor } from "../src/executor/simple-job-executor.js";
4
6
  import { InMemoryQueue } from "../src/queue/queue.js";
7
+ import { DocumentModelRegistry } from "../src/registry/implementation.js";
8
+ import { createDocumentModelAction, createTestOperation, } from "../test/factories.js";
5
9
  // Pre-create shared components to avoid setup overhead
6
10
  const eventBus = new EventBus();
7
11
  const queue = new InMemoryQueue(eventBus);
8
- const executor = new InMemoryJobExecutor(eventBus, queue);
9
- // Initialize executor once
10
- await executor.start({ maxConcurrency: 5, jobTimeout: 10000 });
12
+ // Create registry with real document model
13
+ const registry = new DocumentModelRegistry();
14
+ registry.registerModules(documentModelDocumentModelModule);
15
+ // Use real storage
16
+ const storage = new MemoryStorage();
17
+ // Create real executor with real storage
18
+ const executor = new SimpleJobExecutor(registry, storage, storage);
19
+ // Pre-create a document for benchmarks
20
+ const testDocument = documentModelDocumentModelModule.utils.createDocument();
21
+ testDocument.header.id = "doc1";
11
22
  let jobCounter = 0;
12
23
  function createSimpleJob() {
24
+ const action = createDocumentModelAction("SET_NAME", {
25
+ input: { name: `Test Name ${++jobCounter}` },
26
+ });
27
+ const operation = createTestOperation({ action });
13
28
  return {
14
- id: `job-${++jobCounter}`,
29
+ id: `job-${jobCounter}`,
15
30
  documentId: "doc1",
16
- scope: "default",
31
+ scope: "global",
17
32
  branch: "main",
18
- operation: {
19
- action: {
20
- id: `action-${jobCounter}`,
21
- type: "CREATE",
22
- timestampUtcMs: "2023-01-01T00:00:00.000Z",
23
- input: { data: "simple data" },
24
- scope: "default",
25
- },
26
- index: 0,
27
- timestampUtcMs: "2023-01-01T00:00:00.000Z",
28
- hash: "hash-123",
29
- skip: 0,
30
- },
33
+ operation,
31
34
  maxRetries: 0,
32
- createdAt: "2023-01-01T00:00:00.000Z",
35
+ createdAt: new Date().toISOString(),
36
+ queueHint: [],
33
37
  };
34
38
  }
35
39
  function createComplexJob() {
40
+ const action = createDocumentModelAction("SET_DESCRIPTION", {
41
+ input: {
42
+ description: Array.from({ length: 100 }, (_, i) => `Description line ${i}`).join("\n"),
43
+ },
44
+ });
45
+ const operation = createTestOperation({
46
+ action,
47
+ index: Math.floor(Math.random() * 1000),
48
+ });
36
49
  return {
37
50
  id: `job-${++jobCounter}`,
38
51
  documentId: "doc1",
39
- scope: "default",
52
+ scope: "global",
40
53
  branch: "main",
41
- operation: {
42
- action: {
43
- id: `action-${jobCounter}`,
44
- type: "UPDATE",
45
- timestampUtcMs: "2023-01-01T00:00:00.000Z",
46
- input: {
47
- data: Array.from({ length: 100 }, (_, i) => `item ${i}`),
48
- metadata: { timestampUtcMs: Date.now(), user: "test" },
49
- },
50
- scope: "default",
51
- },
52
- index: Math.floor(Math.random() * 1000),
53
- timestampUtcMs: "2023-01-01T00:00:00.000Z",
54
- hash: "hash-456",
55
- skip: 0,
56
- },
54
+ operation,
57
55
  maxRetries: 0,
58
- createdAt: "2023-01-01T00:00:00.000Z",
56
+ createdAt: new Date().toISOString(),
57
+ queueHint: [],
59
58
  };
60
59
  }
61
60
  describe("Queue Throughput", () => {
61
+ beforeAll(async () => {
62
+ await storage.create(testDocument);
63
+ });
62
64
  bench("enqueue simple job", async () => {
63
65
  const job = createSimpleJob();
64
66
  await queue.enqueue(job);
@@ -91,12 +93,7 @@ describe("Job Executor Throughput", () => {
91
93
  const job = createComplexJob();
92
94
  await executor.executeJob(job);
93
95
  });
94
- bench("executor status check", async () => {
95
- await executor.getStatus();
96
- });
97
- bench("executor stats check", async () => {
98
- await executor.getStats();
99
- });
96
+ // Status and stats checks are now on the manager, not individual executors
100
97
  });
101
98
  describe("End-to-End Throughput", () => {
102
99
  bench("enqueue with event emission", async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"reactor-throughput.bench.js","sourceRoot":"","sources":["../../bench/reactor-throughput.bench.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reactor-throughput.bench.js","sourceRoot":"","sources":["../../bench/reactor-throughput.bench.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { type IEventBus } from "./interfaces.js";
2
- import { type Unsubscribe } from "./types.js";
1
+ import type { IEventBus } from "./interfaces.js";
2
+ import type { Subscriber, Unsubscribe } from "./types.js";
3
3
  export declare class EventBus implements IEventBus {
4
- private eventTypeToSubscribers;
4
+ readonly eventTypeToSubscribers: Map<number, Subscriber[]>;
5
5
  subscribe<K>(type: number, subscriber: (type: number, event: K) => void | Promise<void>): Unsubscribe;
6
6
  emit(type: number, data: any): Promise<void>;
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../../src/events/event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAEpB,qBAAa,QAAS,YAAW,SAAS;IACxC,OAAO,CAAC,sBAAsB,CAAmC;IAEjE,SAAS,CAAC,CAAC,EACT,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC3D,WAAW;IA8BR,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAwBnD"}
1
+ {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../../src/events/event-bus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG1D,qBAAa,QAAS,YAAW,SAAS;IACxC,SAAgB,sBAAsB,4BAAmC;IAEzE,SAAS,CAAC,CAAC,EACT,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC3D,WAAW;IA8BR,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAwBnD"}
@@ -1,4 +1,4 @@
1
- import { EventBusAggregateError, } from "./types.js";
1
+ import { EventBusAggregateError } from "./types.js";
2
2
  export class EventBus {
3
3
  eventTypeToSubscribers = new Map();
4
4
  subscribe(type, subscriber) {
@@ -1 +1 @@
1
- {"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../src/events/event-bus.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,GAGvB,MAAM,YAAY,CAAC;AAEpB,MAAM,OAAO,QAAQ;IACX,sBAAsB,GAAG,IAAI,GAAG,EAAwB,CAAC;IAEjE,SAAS,CACP,IAAY,EACZ,UAA4D;QAE5D,IAAI,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,EAAE,CAAC;YACV,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAwB,CAAC,CAAC;QAEpC,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,OAAO,GAAG,EAAE;YACV,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO;YACT,CAAC;YACD,IAAI,GAAG,IAAI,CAAC;YAEZ,MAAM,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO;YACT,CAAC;YAED,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,UAAwB,CAAC,CAAC;YAClD,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBACf,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACrB,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,IAAS;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,kFAAkF;QAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAE9B,2DAA2D;QAC3D,MAAM,MAAM,GAAU,EAAE,CAAC;QACzB,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../src/events/event-bus.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,OAAO,QAAQ;IACH,sBAAsB,GAAG,IAAI,GAAG,EAAwB,CAAC;IAEzE,SAAS,CACP,IAAY,EACZ,UAA4D;QAE5D,IAAI,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,EAAE,CAAC;YACV,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAwB,CAAC,CAAC;QAEpC,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,OAAO,GAAG,EAAE;YACV,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO;YACT,CAAC;YACD,IAAI,GAAG,IAAI,CAAC;YAEZ,MAAM,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,OAAO;YACT,CAAC;YAED,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,UAAwB,CAAC,CAAC;YAClD,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBACf,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACrB,CAAC;YACD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,IAAS;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,kFAAkF;QAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAE9B,2DAA2D;QAC3D,MAAM,MAAM,GAAU,EAAE,CAAC;QACzB,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QAED,0EAA0E;QAC1E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import { type Unsubscribe } from "./types.js";
1
+ import type { Unsubscribe } from "./types.js";
2
2
  /**
3
3
  * Describes an object that manages event subscriptions and emissions.
4
4
  */
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/events/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;;;;;;;OAQG;IACH,SAAS,CAAC,CAAC,EACT,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC3D,WAAW,CAAC;IAEf;;;;;;;;OAQG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/events/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB;;;;;;;;OAQG;IACH,SAAS,CAAC,CAAC,EACT,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC3D,WAAW,CAAC;IAEf;;;;;;;;OAQG;IACH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C"}
@@ -1,72 +1,49 @@
1
- import { type Job } from "../queue/types.js";
2
- import { type JobExecutorConfig, type JobResult } from "./types.js";
1
+ import type { Job } from "../queue/types.js";
2
+ import type { ExecutorManagerStatus, JobResult } from "./types.js";
3
3
  /**
4
- * Interface for executing jobs from the queue.
5
- * Listens for 'jobAvailable' events from the event bus and pulls jobs from IQueue when capacity allows.
4
+ * Simple interface for executing a job.
5
+ * A JobExecutor simply takes a job and executes it - nothing more.
6
6
  */
7
7
  export interface IJobExecutor {
8
8
  /**
9
- * Start the job executor.
10
- * Begins listening for 'jobAvailable' events from the event bus and executing jobs when capacity allows.
11
- *
12
- * @param config - Configuration options for the executor
13
- * @returns Promise that resolves when the executor is started
14
- */
15
- start(config?: JobExecutorConfig): Promise<void>;
16
- /**
17
- * Stop the job executor.
18
- * Gracefully stops listening for events and waits for current jobs to complete.
19
- * @param graceful - Whether to wait for current jobs to complete
20
- * @returns Promise that resolves when the executor is stopped
21
- */
22
- stop(graceful?: boolean): Promise<void>;
23
- /**
24
- * Execute a single job immediately.
9
+ * Execute a single job.
25
10
  * @param job - The job to execute
26
11
  * @returns Promise that resolves to the job result
27
12
  */
28
13
  executeJob(job: Job): Promise<JobResult>;
14
+ }
15
+ /**
16
+ * Interface for managing multiple job executors.
17
+ * Listens for 'jobAvailable' events from the event bus, pulls jobs from the queue,
18
+ * and coordinates the distribution of jobs across multiple executor instances.
19
+ */
20
+ export interface IJobExecutorManager {
29
21
  /**
30
- * Get the current status of the job executor.
31
- * @returns Promise that resolves to the executor status
32
- */
33
- getStatus(): Promise<{
34
- isRunning: boolean;
35
- activeJobs: number;
36
- totalJobsProcessed: number;
37
- totalJobsSucceeded: number;
38
- totalJobsFailed: number;
39
- lastJobCompletedAt?: string;
40
- uptime?: number;
41
- }>;
42
- /**
43
- * Get statistics about job execution performance.
44
- * @returns Promise that resolves to execution statistics
22
+ * Start the executor manager.
23
+ * Begins listening for 'jobAvailable' events and dispatching to executors.
24
+ *
25
+ * @param numExecutors - Number of executor instances to create
26
+ * @returns Promise that resolves when the manager is started
45
27
  */
46
- getStats(): Promise<{
47
- averageExecutionTime: number;
48
- successRate: number;
49
- jobsPerSecond: number;
50
- queueBacklog: number;
51
- }>;
28
+ start(numExecutors: number): Promise<void>;
52
29
  /**
53
- * Pause job execution.
54
- * Stops processing new jobs but keeps the executor running.
55
- * @returns Promise that resolves when execution is paused
30
+ * Stop the executor manager.
31
+ *
32
+ * @param graceful - Whether to wait for current jobs to complete
33
+ * @returns Promise that resolves when the manager is stopped
56
34
  */
57
- pause(): Promise<void>;
35
+ stop(graceful?: boolean): Promise<void>;
58
36
  /**
59
- * Resume job execution.
60
- * Resumes processing jobs from the queue.
61
- * @returns Promise that resolves when execution is resumed
37
+ * Get all managed executor instances.
38
+ *
39
+ * @returns Array of executor instances
62
40
  */
63
- resume(): Promise<void>;
41
+ getExecutors(): IJobExecutor[];
64
42
  /**
65
- * Subscribe to job execution events.
66
- * @param event - The event type to subscribe to
67
- * @param handler - The event handler function
68
- * @returns Function to unsubscribe from the event
43
+ * Get the current status of the manager.
44
+ *
45
+ * @returns The current manager status
69
46
  */
70
- on(event: "jobStarted" | "jobCompleted" | "jobFailed" | "executorStarted" | "executorStopped", handler: (data: any) => void): () => void;
47
+ getStatus(): ExecutorManagerStatus;
71
48
  }
72
49
  //# sourceMappingURL=interfaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/executor/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAEpE;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjD;;;;;OAKG;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAEzC;;;OAGG;IACH,SAAS,IAAI,OAAO,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,eAAe,EAAE,MAAM,CAAC;QACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IAEH;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC;QAClB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;IAEH;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;;;OAIG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;;;;OAKG;IACH,EAAE,CACA,KAAK,EACD,YAAY,GACZ,cAAc,GACd,WAAW,GACX,iBAAiB,GACjB,iBAAiB,EACrB,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAC3B,MAAM,IAAI,CAAC;CACf"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/executor/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEnE;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CAC1C;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3C;;;;;OAKG;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExC;;;;OAIG;IACH,YAAY,IAAI,YAAY,EAAE,CAAC;IAE/B;;;;OAIG;IACH,SAAS,IAAI,qBAAqB,CAAC;CACpC"}
@@ -0,0 +1,27 @@
1
+ import type { IEventBus } from "../events/interfaces.js";
2
+ import type { IQueue } from "../queue/interfaces.js";
3
+ import type { IJobExecutor, IJobExecutorManager } from "./interfaces.js";
4
+ import type { ExecutorManagerStatus } from "./types.js";
5
+ export type JobExecutorFactory = () => IJobExecutor;
6
+ /**
7
+ * Manages multiple job executors and coordinates job distribution.
8
+ * Listens for job available events and dispatches jobs to executors.
9
+ */
10
+ export declare class SimpleJobExecutorManager implements IJobExecutorManager {
11
+ private executorFactory;
12
+ private eventBus;
13
+ private queue;
14
+ private executors;
15
+ private isRunning;
16
+ private activeJobs;
17
+ private totalJobsProcessed;
18
+ private unsubscribe?;
19
+ constructor(executorFactory: JobExecutorFactory, eventBus: IEventBus, queue: IQueue);
20
+ start(numExecutors: number): Promise<void>;
21
+ stop(graceful?: boolean): Promise<void>;
22
+ getExecutors(): IJobExecutor[];
23
+ getStatus(): ExecutorManagerStatus;
24
+ private processNextJob;
25
+ private processExistingJobs;
26
+ }
27
+ //# sourceMappingURL=simple-job-executor-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-job-executor-manager.d.ts","sourceRoot":"","sources":["../../../src/executor/simple-job-executor-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,MAAM,kBAAkB,GAAG,MAAM,YAAY,CAAC;AAEpD;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IAQhE,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,KAAK;IATf,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,kBAAkB,CAAK;IAC/B,OAAO,CAAC,WAAW,CAAC,CAAa;gBAGvB,eAAe,EAAE,kBAAkB,EACnC,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,MAAM;IAGjB,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC1C,IAAI,CAAC,QAAQ,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB1C,YAAY,IAAI,YAAY,EAAE;IAI9B,SAAS,IAAI,qBAAqB;YASpB,cAAc;YA+Cd,mBAAmB;CAWlC"}