@powerhousedao/reactor 5.0.0-staging.3 → 5.0.0-staging.30
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.
- package/dist/src/client/reactor-client.d.ts +103 -0
- package/dist/src/client/reactor-client.d.ts.map +1 -0
- package/dist/src/client/reactor-client.js +182 -0
- package/dist/src/client/reactor-client.js.map +1 -0
- package/dist/src/client/types.d.ts +213 -0
- package/dist/src/client/types.d.ts.map +1 -0
- package/dist/src/client/types.js +14 -0
- package/dist/src/client/types.js.map +1 -0
- package/dist/src/core/builder.d.ts +20 -0
- package/dist/src/core/builder.d.ts.map +1 -0
- package/dist/src/core/builder.js +47 -0
- package/dist/src/core/builder.js.map +1 -0
- package/dist/src/{reactor.d.ts → core/reactor.d.ts} +5 -15
- package/dist/src/core/reactor.d.ts.map +1 -0
- package/dist/src/{reactor.js → core/reactor.js} +49 -29
- package/dist/src/core/reactor.js.map +1 -0
- package/dist/src/{interfaces/reactor.d.ts → core/types.d.ts} +3 -3
- package/dist/src/core/types.d.ts.map +1 -0
- package/dist/src/core/types.js +2 -0
- package/dist/src/core/types.js.map +1 -0
- package/dist/src/{utils.d.ts → core/utils.d.ts} +2 -2
- package/dist/src/core/utils.d.ts.map +1 -0
- package/dist/src/{utils.js → core/utils.js} +3 -1
- package/dist/src/core/utils.js.map +1 -0
- package/dist/src/events/event-bus.d.ts +3 -3
- package/dist/src/events/event-bus.d.ts.map +1 -1
- package/dist/src/events/event-bus.js +1 -1
- package/dist/src/events/event-bus.js.map +1 -1
- package/dist/src/events/interfaces.d.ts +1 -1
- package/dist/src/events/interfaces.d.ts.map +1 -1
- package/dist/src/executor/interfaces.d.ts +2 -2
- package/dist/src/executor/interfaces.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor-manager.js +9 -9
- package/dist/src/executor/simple-job-executor-manager.js.map +1 -1
- package/dist/src/executor/simple-job-executor.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor.js.map +1 -1
- package/dist/src/executor/types.d.ts +1 -1
- package/dist/src/executor/types.d.ts.map +1 -1
- package/dist/src/index.d.ts +9 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/queue/interfaces.d.ts +20 -5
- package/dist/src/queue/interfaces.d.ts.map +1 -1
- package/dist/src/queue/job-execution-handle.d.ts +24 -0
- package/dist/src/queue/job-execution-handle.d.ts.map +1 -0
- package/dist/src/queue/job-execution-handle.js +62 -0
- package/dist/src/queue/job-execution-handle.js.map +1 -0
- package/dist/src/queue/queue.d.ts +24 -5
- package/dist/src/queue/queue.d.ts.map +1 -1
- package/dist/src/queue/queue.js +128 -46
- package/dist/src/queue/queue.js.map +1 -1
- package/dist/src/queue/types.d.ts +21 -0
- package/dist/src/queue/types.d.ts.map +1 -1
- package/dist/src/queue/types.js +12 -0
- package/dist/src/queue/types.js.map +1 -1
- package/dist/src/shared/awaiter.d.ts +32 -0
- package/dist/src/shared/awaiter.d.ts.map +1 -0
- package/dist/src/shared/awaiter.js +132 -0
- package/dist/src/shared/awaiter.js.map +1 -0
- package/dist/src/shared/factories.d.ts +1 -1
- package/dist/src/shared/factories.d.ts.map +1 -1
- package/dist/src/shared/types.d.ts +3 -0
- package/dist/src/shared/types.d.ts.map +1 -1
- package/dist/src/shared/types.js.map +1 -1
- package/dist/src/signer/passthrough-signer.d.ts +6 -0
- package/dist/src/signer/passthrough-signer.d.ts.map +1 -0
- package/dist/src/signer/passthrough-signer.js +6 -0
- package/dist/src/signer/passthrough-signer.js.map +1 -0
- package/dist/src/signer/types.d.ts +15 -0
- package/dist/src/signer/types.d.ts.map +1 -0
- package/dist/src/signer/types.js +2 -0
- package/dist/src/signer/types.js.map +1 -0
- package/dist/src/subs/default-error-handler.d.ts +13 -0
- package/dist/src/subs/default-error-handler.d.ts.map +1 -0
- package/dist/src/subs/default-error-handler.js +27 -0
- package/dist/src/subs/default-error-handler.js.map +1 -0
- package/dist/src/subs/react-subscription-manager.d.ts +45 -0
- package/dist/src/subs/react-subscription-manager.d.ts.map +1 -0
- package/dist/src/subs/react-subscription-manager.js +185 -0
- package/dist/src/subs/react-subscription-manager.js.map +1 -0
- package/dist/src/subs/types.d.ts +64 -0
- package/dist/src/subs/types.d.ts.map +1 -0
- package/dist/src/subs/types.js +2 -0
- package/dist/src/subs/types.js.map +1 -0
- package/package.json +6 -6
- package/dist/bench/end-to-end-flow.bench.d.ts +0 -2
- package/dist/bench/end-to-end-flow.bench.d.ts.map +0 -1
- package/dist/bench/end-to-end-flow.bench.js +0 -284
- package/dist/bench/end-to-end-flow.bench.js.map +0 -1
- package/dist/bench/event-bus.bench.d.ts +0 -2
- package/dist/bench/event-bus.bench.d.ts.map +0 -1
- package/dist/bench/event-bus.bench.js +0 -238
- package/dist/bench/event-bus.bench.js.map +0 -1
- package/dist/bench/queue-only.bench.d.ts +0 -2
- package/dist/bench/queue-only.bench.d.ts.map +0 -1
- package/dist/bench/queue-only.bench.js +0 -46
- package/dist/bench/queue-only.bench.js.map +0 -1
- package/dist/bench/reactor-throughput.bench.d.ts +0 -2
- package/dist/bench/reactor-throughput.bench.d.ts.map +0 -1
- package/dist/bench/reactor-throughput.bench.js +0 -164
- package/dist/bench/reactor-throughput.bench.js.map +0 -1
- package/dist/src/interfaces/reactor.d.ts.map +0 -1
- package/dist/src/interfaces/reactor.js +0 -2
- package/dist/src/interfaces/reactor.js.map +0 -1
- package/dist/src/reactor.d.ts.map +0 -1
- package/dist/src/reactor.js.map +0 -1
- package/dist/src/utils.d.ts.map +0 -1
- package/dist/src/utils.js.map +0 -1
- package/dist/test/event-bus.test.d.ts +0 -2
- package/dist/test/event-bus.test.d.ts.map +0 -1
- package/dist/test/event-bus.test.js +0 -532
- package/dist/test/event-bus.test.js.map +0 -1
- package/dist/test/executor-integration.test.d.ts +0 -2
- package/dist/test/executor-integration.test.d.ts.map +0 -1
- package/dist/test/executor-integration.test.js +0 -290
- package/dist/test/executor-integration.test.js.map +0 -1
- package/dist/test/factories.d.ts +0 -131
- package/dist/test/factories.d.ts.map +0 -1
- package/dist/test/factories.js +0 -347
- package/dist/test/factories.js.map +0 -1
- package/dist/test/queue.test.d.ts +0 -2
- package/dist/test/queue.test.d.ts.map +0 -1
- package/dist/test/queue.test.js +0 -587
- package/dist/test/queue.test.js.map +0 -1
- package/dist/test/reactor-queue.test.d.ts +0 -2
- package/dist/test/reactor-queue.test.d.ts.map +0 -1
- package/dist/test/reactor-queue.test.js +0 -328
- package/dist/test/reactor-queue.test.js.map +0 -1
- package/dist/test/reactor-read.test.d.ts +0 -2
- package/dist/test/reactor-read.test.d.ts.map +0 -1
- package/dist/test/reactor-read.test.js +0 -355
- package/dist/test/reactor-read.test.js.map +0 -1
- package/dist/test/registry.test.d.ts +0 -2
- package/dist/test/registry.test.d.ts.map +0 -1
- package/dist/test/registry.test.js +0 -182
- package/dist/test/registry.test.js.map +0 -1
- package/dist/test/simple-job-executor-manager.test.d.ts +0 -2
- package/dist/test/simple-job-executor-manager.test.d.ts.map +0 -1
- package/dist/test/simple-job-executor-manager.test.js +0 -132
- package/dist/test/simple-job-executor-manager.test.js.map +0 -1
- package/dist/test/simple-job-executor.test.d.ts +0 -2
- package/dist/test/simple-job-executor.test.d.ts.map +0 -1
- package/dist/test/simple-job-executor.test.js +0 -139
- package/dist/test/simple-job-executor.test.js.map +0 -1
- package/dist/test/utils.test.d.ts +0 -2
- package/dist/test/utils.test.d.ts.map +0 -1
- package/dist/test/utils.test.js +0 -66
- package/dist/test/utils.test.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/vitest.config.d.ts +0 -3
- package/dist/vitest.config.d.ts.map +0 -1
- package/dist/vitest.config.js +0 -11
- package/dist/vitest.config.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/subs/types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powerhousedao/reactor",
|
|
3
|
-
"version": "5.0.0-staging.
|
|
3
|
+
"version": "5.0.0-staging.30",
|
|
4
4
|
"description": "",
|
|
5
5
|
"repository": {
|
|
6
6
|
"url": "https://github.com/powerhouse-inc/powerhouse",
|
|
7
7
|
"directory": "packages/reactor"
|
|
8
8
|
},
|
|
9
9
|
"type": "module",
|
|
10
|
-
"types": "./dist/index.d.ts",
|
|
10
|
+
"types": "./dist/src/index.d.ts",
|
|
11
11
|
"exports": {
|
|
12
|
-
".": "./dist/index.js"
|
|
12
|
+
".": "./dist/src/index.js"
|
|
13
13
|
},
|
|
14
14
|
"imports": {
|
|
15
15
|
"#*": "./dist/src/*"
|
|
16
16
|
},
|
|
17
17
|
"files": [
|
|
18
|
-
"./dist"
|
|
18
|
+
"./dist/src"
|
|
19
19
|
],
|
|
20
20
|
"publishConfig": {
|
|
21
21
|
"access": "public"
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"license": "AGPL-3.0-only",
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"uuid": "^11.0.5",
|
|
28
|
-
"document-drive": "5.0.0-staging.
|
|
29
|
-
"document-model": "5.0.0-staging.
|
|
28
|
+
"document-drive": "5.0.0-staging.30",
|
|
29
|
+
"document-model": "5.0.0-staging.30"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"typescript": "^5.7.3",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"end-to-end-flow.bench.d.ts","sourceRoot":"","sources":["../../bench/end-to-end-flow.bench.ts"],"names":[],"mappings":""}
|
|
@@ -1,284 +0,0 @@
|
|
|
1
|
-
import { afterEach, beforeEach, bench, describe } from "vitest";
|
|
2
|
-
import { documentModelDocumentModelModule } from "document-model";
|
|
3
|
-
import { EventBus } from "../src/events/event-bus.js";
|
|
4
|
-
import { SimpleJobExecutor } from "../src/executor/simple-job-executor.js";
|
|
5
|
-
import { InMemoryQueue } from "../src/queue/queue.js";
|
|
6
|
-
import { DocumentModelRegistry } from "../src/registry/implementation.js";
|
|
7
|
-
// Test data generators
|
|
8
|
-
function createSimpleJob(id, documentId = "doc1", scope = "default", branch = "main") {
|
|
9
|
-
return {
|
|
10
|
-
id,
|
|
11
|
-
documentId,
|
|
12
|
-
scope,
|
|
13
|
-
branch,
|
|
14
|
-
operation: {
|
|
15
|
-
action: {
|
|
16
|
-
id: `action-${id}`,
|
|
17
|
-
type: "CREATE",
|
|
18
|
-
timestampUtcMs: new Date().toISOString(),
|
|
19
|
-
input: { data: `simple data ${id}` },
|
|
20
|
-
scope: scope,
|
|
21
|
-
},
|
|
22
|
-
index: 0,
|
|
23
|
-
timestampUtcMs: new Date().toISOString(),
|
|
24
|
-
hash: `hash-${Date.now()}`,
|
|
25
|
-
skip: 0,
|
|
26
|
-
},
|
|
27
|
-
maxRetries: 0,
|
|
28
|
-
createdAt: new Date().toISOString(),
|
|
29
|
-
queueHint: [],
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
function createComplexJob(id, documentId = "doc1", scope = "default", branch = "main") {
|
|
33
|
-
return {
|
|
34
|
-
id,
|
|
35
|
-
documentId,
|
|
36
|
-
scope,
|
|
37
|
-
branch,
|
|
38
|
-
operation: {
|
|
39
|
-
action: {
|
|
40
|
-
id: `action-${id}`,
|
|
41
|
-
type: "UPDATE",
|
|
42
|
-
timestampUtcMs: new Date().toISOString(),
|
|
43
|
-
input: {
|
|
44
|
-
data: Array.from({ length: 100 }, (_, i) => `complex data item ${i}`),
|
|
45
|
-
metadata: {
|
|
46
|
-
timestampUtcMs: Date.now(),
|
|
47
|
-
user: "test-user",
|
|
48
|
-
version: "1.0.0",
|
|
49
|
-
},
|
|
50
|
-
},
|
|
51
|
-
scope: scope,
|
|
52
|
-
},
|
|
53
|
-
index: Math.floor(Math.random() * 1000),
|
|
54
|
-
timestampUtcMs: new Date().toISOString(),
|
|
55
|
-
hash: `hash-${Date.now()}`,
|
|
56
|
-
skip: 0,
|
|
57
|
-
},
|
|
58
|
-
maxRetries: 0,
|
|
59
|
-
createdAt: new Date().toISOString(),
|
|
60
|
-
queueHint: [],
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
describe("Queue Performance", () => {
|
|
64
|
-
let eventBus;
|
|
65
|
-
let queue;
|
|
66
|
-
beforeEach(() => {
|
|
67
|
-
eventBus = new EventBus();
|
|
68
|
-
queue = new InMemoryQueue(eventBus);
|
|
69
|
-
});
|
|
70
|
-
afterEach(async () => {
|
|
71
|
-
await queue.clearAll();
|
|
72
|
-
});
|
|
73
|
-
bench("enqueue simple job", async () => {
|
|
74
|
-
const job = createSimpleJob(`job-${Math.random()}`);
|
|
75
|
-
await queue.enqueue(job);
|
|
76
|
-
});
|
|
77
|
-
bench("enqueue complex job", async () => {
|
|
78
|
-
const job = createComplexJob(`job-${Math.random()}`);
|
|
79
|
-
await queue.enqueue(job);
|
|
80
|
-
});
|
|
81
|
-
bench("enqueue and dequeue simple job", async () => {
|
|
82
|
-
const job = createSimpleJob(`job-${Math.random()}`);
|
|
83
|
-
await queue.enqueue(job);
|
|
84
|
-
await queue.dequeue(job.documentId, job.scope, job.branch);
|
|
85
|
-
});
|
|
86
|
-
bench("enqueue and dequeue complex job", async () => {
|
|
87
|
-
const job = createComplexJob(`job-${Math.random()}`);
|
|
88
|
-
await queue.enqueue(job);
|
|
89
|
-
await queue.dequeue(job.documentId, job.scope, job.branch);
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
describe("Queue Operations with Pre-filled Data", () => {
|
|
93
|
-
let eventBus;
|
|
94
|
-
let queue;
|
|
95
|
-
let prefilledJobs;
|
|
96
|
-
beforeEach(async () => {
|
|
97
|
-
eventBus = new EventBus();
|
|
98
|
-
queue = new InMemoryQueue(eventBus);
|
|
99
|
-
// Pre-fill queue with jobs for realistic testing
|
|
100
|
-
prefilledJobs = Array.from({ length: 100 }, (_, i) => createSimpleJob(`prefill-${i}`));
|
|
101
|
-
for (const job of prefilledJobs) {
|
|
102
|
-
await queue.enqueue(job);
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
afterEach(async () => {
|
|
106
|
-
await queue.clearAll();
|
|
107
|
-
});
|
|
108
|
-
bench("enqueue to populated queue", async () => {
|
|
109
|
-
const job = createSimpleJob(`new-${Math.random()}`);
|
|
110
|
-
await queue.enqueue(job);
|
|
111
|
-
});
|
|
112
|
-
bench("dequeue from populated queue", async () => {
|
|
113
|
-
await queue.dequeueNext();
|
|
114
|
-
});
|
|
115
|
-
bench("remove specific job from populated queue", async () => {
|
|
116
|
-
const randomJob = prefilledJobs[Math.floor(Math.random() * prefilledJobs.length)];
|
|
117
|
-
await queue.remove(randomJob.id);
|
|
118
|
-
});
|
|
119
|
-
bench("get queue size", async () => {
|
|
120
|
-
await queue.totalSize();
|
|
121
|
-
});
|
|
122
|
-
});
|
|
123
|
-
describe("Job Executor Performance", () => {
|
|
124
|
-
let executor;
|
|
125
|
-
let registry;
|
|
126
|
-
let mockDocStorage;
|
|
127
|
-
beforeEach(async () => {
|
|
128
|
-
// Setup registry
|
|
129
|
-
registry = new DocumentModelRegistry();
|
|
130
|
-
registry.registerModules(documentModelDocumentModelModule);
|
|
131
|
-
// Setup mock storage
|
|
132
|
-
mockDocStorage = {
|
|
133
|
-
get: async () => ({
|
|
134
|
-
header: { documentType: "powerhouse/document-model" },
|
|
135
|
-
operations: { global: [] },
|
|
136
|
-
state: {},
|
|
137
|
-
}),
|
|
138
|
-
set: async () => { },
|
|
139
|
-
delete: async () => { },
|
|
140
|
-
exists: async () => false,
|
|
141
|
-
getChildren: async () => [],
|
|
142
|
-
findByType: async () => [],
|
|
143
|
-
resolveIds: async () => [],
|
|
144
|
-
};
|
|
145
|
-
executor = new SimpleJobExecutor(registry, mockDocStorage, mockDocStorage);
|
|
146
|
-
});
|
|
147
|
-
bench("execute single simple job", async () => {
|
|
148
|
-
const job = createSimpleJob(`exec-${Math.random()}`);
|
|
149
|
-
await executor.executeJob(job);
|
|
150
|
-
});
|
|
151
|
-
bench("execute single complex job", async () => {
|
|
152
|
-
const job = createComplexJob(`exec-${Math.random()}`);
|
|
153
|
-
await executor.executeJob(job);
|
|
154
|
-
});
|
|
155
|
-
});
|
|
156
|
-
describe("Event Bus with Queue Integration", () => {
|
|
157
|
-
let eventBus;
|
|
158
|
-
let queue;
|
|
159
|
-
beforeEach(() => {
|
|
160
|
-
eventBus = new EventBus();
|
|
161
|
-
queue = new InMemoryQueue(eventBus);
|
|
162
|
-
});
|
|
163
|
-
afterEach(async () => {
|
|
164
|
-
await queue.clearAll();
|
|
165
|
-
});
|
|
166
|
-
bench("enqueue with event emission", async () => {
|
|
167
|
-
const job = createSimpleJob(`event-${Math.random()}`);
|
|
168
|
-
await queue.enqueue(job); // This triggers event emission
|
|
169
|
-
});
|
|
170
|
-
bench("multiple enqueues with events", async () => {
|
|
171
|
-
const jobs = Array.from({ length: 5 }, (_, i) => createSimpleJob(`batch-${i}-${Math.random()}`));
|
|
172
|
-
for (const job of jobs) {
|
|
173
|
-
await queue.enqueue(job);
|
|
174
|
-
}
|
|
175
|
-
});
|
|
176
|
-
});
|
|
177
|
-
describe("Multi-Queue Scenarios", () => {
|
|
178
|
-
let eventBus;
|
|
179
|
-
let queue;
|
|
180
|
-
beforeEach(() => {
|
|
181
|
-
eventBus = new EventBus();
|
|
182
|
-
queue = new InMemoryQueue(eventBus);
|
|
183
|
-
});
|
|
184
|
-
afterEach(async () => {
|
|
185
|
-
await queue.clearAll();
|
|
186
|
-
});
|
|
187
|
-
bench("enqueue jobs to different documents", async () => {
|
|
188
|
-
const job1 = createSimpleJob(`doc1-${Math.random()}`, "doc1");
|
|
189
|
-
const job2 = createSimpleJob(`doc2-${Math.random()}`, "doc2");
|
|
190
|
-
const job3 = createSimpleJob(`doc3-${Math.random()}`, "doc3");
|
|
191
|
-
await queue.enqueue(job1);
|
|
192
|
-
await queue.enqueue(job2);
|
|
193
|
-
await queue.enqueue(job3);
|
|
194
|
-
});
|
|
195
|
-
bench("enqueue jobs to different scopes", async () => {
|
|
196
|
-
const job1 = createSimpleJob(`scope1-${Math.random()}`, "doc1", "scope1");
|
|
197
|
-
const job2 = createSimpleJob(`scope2-${Math.random()}`, "doc1", "scope2");
|
|
198
|
-
const job3 = createSimpleJob(`scope3-${Math.random()}`, "doc1", "scope3");
|
|
199
|
-
await queue.enqueue(job1);
|
|
200
|
-
await queue.enqueue(job2);
|
|
201
|
-
await queue.enqueue(job3);
|
|
202
|
-
});
|
|
203
|
-
bench("enqueue jobs to different branches", async () => {
|
|
204
|
-
const job1 = createSimpleJob(`branch1-${Math.random()}`, "doc1", "default", "main");
|
|
205
|
-
const job2 = createSimpleJob(`branch2-${Math.random()}`, "doc1", "default", "feature");
|
|
206
|
-
const job3 = createSimpleJob(`branch3-${Math.random()}`, "doc1", "default", "develop");
|
|
207
|
-
await queue.enqueue(job1);
|
|
208
|
-
await queue.enqueue(job2);
|
|
209
|
-
await queue.enqueue(job3);
|
|
210
|
-
});
|
|
211
|
-
});
|
|
212
|
-
describe("Batch Operations Performance", () => {
|
|
213
|
-
let eventBus;
|
|
214
|
-
let queue;
|
|
215
|
-
beforeEach(() => {
|
|
216
|
-
eventBus = new EventBus();
|
|
217
|
-
queue = new InMemoryQueue(eventBus);
|
|
218
|
-
});
|
|
219
|
-
afterEach(async () => {
|
|
220
|
-
await queue.clearAll();
|
|
221
|
-
});
|
|
222
|
-
bench("enqueue 10 simple jobs", async () => {
|
|
223
|
-
const jobs = Array.from({ length: 10 }, (_, i) => createSimpleJob(`batch-10-${i}-${Math.random()}`));
|
|
224
|
-
for (const job of jobs) {
|
|
225
|
-
await queue.enqueue(job);
|
|
226
|
-
}
|
|
227
|
-
});
|
|
228
|
-
bench("enqueue 50 simple jobs", async () => {
|
|
229
|
-
const jobs = Array.from({ length: 50 }, (_, i) => createSimpleJob(`batch-50-${i}-${Math.random()}`));
|
|
230
|
-
for (const job of jobs) {
|
|
231
|
-
await queue.enqueue(job);
|
|
232
|
-
}
|
|
233
|
-
});
|
|
234
|
-
bench("enqueue 10 complex jobs", async () => {
|
|
235
|
-
const jobs = Array.from({ length: 10 }, (_, i) => createComplexJob(`batch-complex-10-${i}-${Math.random()}`));
|
|
236
|
-
for (const job of jobs) {
|
|
237
|
-
await queue.enqueue(job);
|
|
238
|
-
}
|
|
239
|
-
});
|
|
240
|
-
});
|
|
241
|
-
describe("Mixed Workload Performance", () => {
|
|
242
|
-
let executor;
|
|
243
|
-
let registry;
|
|
244
|
-
let mockDocStorage;
|
|
245
|
-
beforeEach(async () => {
|
|
246
|
-
// Setup registry
|
|
247
|
-
registry = new DocumentModelRegistry();
|
|
248
|
-
registry.registerModules(documentModelDocumentModelModule);
|
|
249
|
-
// Setup mock storage
|
|
250
|
-
mockDocStorage = {
|
|
251
|
-
get: async () => ({
|
|
252
|
-
header: { documentType: "powerhouse/document-model" },
|
|
253
|
-
operations: { global: [] },
|
|
254
|
-
state: {},
|
|
255
|
-
}),
|
|
256
|
-
set: async () => { },
|
|
257
|
-
delete: async () => { },
|
|
258
|
-
exists: async () => false,
|
|
259
|
-
getChildren: async () => [],
|
|
260
|
-
findByType: async () => [],
|
|
261
|
-
resolveIds: async () => [],
|
|
262
|
-
};
|
|
263
|
-
executor = new SimpleJobExecutor(registry, mockDocStorage, mockDocStorage);
|
|
264
|
-
});
|
|
265
|
-
bench("execute mixed simple and complex jobs", async () => {
|
|
266
|
-
const simpleJob = createSimpleJob(`mixed-simple-${Math.random()}`);
|
|
267
|
-
const complexJob = createComplexJob(`mixed-complex-${Math.random()}`);
|
|
268
|
-
await executor.executeJob(simpleJob);
|
|
269
|
-
await executor.executeJob(complexJob);
|
|
270
|
-
});
|
|
271
|
-
bench("execute 5 jobs with different complexities", async () => {
|
|
272
|
-
const jobs = [
|
|
273
|
-
createSimpleJob(`mix-1-${Math.random()}`),
|
|
274
|
-
createComplexJob(`mix-2-${Math.random()}`),
|
|
275
|
-
createSimpleJob(`mix-3-${Math.random()}`),
|
|
276
|
-
createComplexJob(`mix-4-${Math.random()}`),
|
|
277
|
-
createSimpleJob(`mix-5-${Math.random()}`),
|
|
278
|
-
];
|
|
279
|
-
for (const job of jobs) {
|
|
280
|
-
await executor.executeJob(job);
|
|
281
|
-
}
|
|
282
|
-
});
|
|
283
|
-
});
|
|
284
|
-
//# sourceMappingURL=end-to-end-flow.bench.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"end-to-end-flow.bench.js","sourceRoot":"","sources":["../../bench/end-to-end-flow.bench.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.bench.d.ts","sourceRoot":"","sources":["../../bench/event-bus.bench.ts"],"names":[],"mappings":""}
|
|
@@ -1,238 +0,0 @@
|
|
|
1
|
-
import { bench, describe } from "vitest";
|
|
2
|
-
import { EventBus } from "../src/events/event-bus.js";
|
|
3
|
-
// Event types for testing
|
|
4
|
-
const EVENT_TYPE_SYNC = 1;
|
|
5
|
-
const EVENT_TYPE_ASYNC = 2;
|
|
6
|
-
const EVENT_TYPE_MIXED = 3;
|
|
7
|
-
// Test data
|
|
8
|
-
const TEST_DATA = { message: "test event", timestampUtcMs: Date.now() };
|
|
9
|
-
/**
|
|
10
|
-
* Creates a synchronous subscriber that performs minimal work
|
|
11
|
-
*/
|
|
12
|
-
function createSyncSubscriber(id) {
|
|
13
|
-
return (type, data) => {
|
|
14
|
-
// Minimal synchronous work
|
|
15
|
-
const result = data.timestampUtcMs + id.length;
|
|
16
|
-
return result;
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Creates an asynchronous subscriber with configurable delay
|
|
21
|
-
*/
|
|
22
|
-
function createAsyncSubscriber(id, delayMs = 0) {
|
|
23
|
-
return async (type, data) => {
|
|
24
|
-
// Simulate async work
|
|
25
|
-
if (delayMs > 0) {
|
|
26
|
-
await new Promise((resolve) => setTimeout(resolve, delayMs));
|
|
27
|
-
}
|
|
28
|
-
return data.timestampUtcMs + id.length;
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Creates a subscriber that randomly decides to be sync or async
|
|
33
|
-
*/
|
|
34
|
-
function createMixedSubscriber(id, asyncProbability = 0.5) {
|
|
35
|
-
return async (type, data) => {
|
|
36
|
-
if (Math.random() < asyncProbability) {
|
|
37
|
-
// Async path with minimal delay
|
|
38
|
-
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
|
-
}
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Sets up an EventBus with multiple sync subscribers
|
|
49
|
-
*/
|
|
50
|
-
function setupSyncEventBus(subscriberCount) {
|
|
51
|
-
const eventBus = new EventBus();
|
|
52
|
-
for (let i = 0; i < subscriberCount; i++) {
|
|
53
|
-
eventBus.subscribe(EVENT_TYPE_SYNC, createSyncSubscriber(`sync-${i}`));
|
|
54
|
-
}
|
|
55
|
-
return eventBus;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Sets up an EventBus with multiple async subscribers
|
|
59
|
-
*/
|
|
60
|
-
function setupAsyncEventBus(subscriberCount, delayMs = 0) {
|
|
61
|
-
const eventBus = new EventBus();
|
|
62
|
-
for (let i = 0; i < subscriberCount; i++) {
|
|
63
|
-
eventBus.subscribe(EVENT_TYPE_ASYNC, createAsyncSubscriber(`async-${i}`, delayMs));
|
|
64
|
-
}
|
|
65
|
-
return eventBus;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Sets up an EventBus with mixed sync/async subscribers
|
|
69
|
-
*/
|
|
70
|
-
function setupMixedEventBus(subscriberCount, asyncProbability = 0.5) {
|
|
71
|
-
const eventBus = new EventBus();
|
|
72
|
-
for (let i = 0; i < subscriberCount; i++) {
|
|
73
|
-
eventBus.subscribe(EVENT_TYPE_MIXED, createMixedSubscriber(`mixed-${i}`, asyncProbability));
|
|
74
|
-
}
|
|
75
|
-
return eventBus;
|
|
76
|
-
}
|
|
77
|
-
describe("EventBus Sync Emission Throughput", () => {
|
|
78
|
-
const syncEventBus1 = setupSyncEventBus(1);
|
|
79
|
-
const syncEventBus5 = setupSyncEventBus(5);
|
|
80
|
-
const syncEventBus10 = setupSyncEventBus(10);
|
|
81
|
-
const syncEventBus25 = setupSyncEventBus(25);
|
|
82
|
-
const syncEventBus50 = setupSyncEventBus(50);
|
|
83
|
-
const syncEventBus100 = setupSyncEventBus(100);
|
|
84
|
-
bench("1 sync subscriber", async () => {
|
|
85
|
-
await syncEventBus1.emit(EVENT_TYPE_SYNC, TEST_DATA);
|
|
86
|
-
}, { time: 500 });
|
|
87
|
-
bench("5 sync subscribers", async () => {
|
|
88
|
-
await syncEventBus5.emit(EVENT_TYPE_SYNC, TEST_DATA);
|
|
89
|
-
}, { time: 500 });
|
|
90
|
-
bench("10 sync subscribers", async () => {
|
|
91
|
-
await syncEventBus10.emit(EVENT_TYPE_SYNC, TEST_DATA);
|
|
92
|
-
}, { time: 500 });
|
|
93
|
-
bench("25 sync subscribers", async () => {
|
|
94
|
-
await syncEventBus25.emit(EVENT_TYPE_SYNC, TEST_DATA);
|
|
95
|
-
}, { time: 500 });
|
|
96
|
-
bench("50 sync subscribers", async () => {
|
|
97
|
-
await syncEventBus50.emit(EVENT_TYPE_SYNC, TEST_DATA);
|
|
98
|
-
}, { time: 500 });
|
|
99
|
-
bench("100 sync subscribers", async () => {
|
|
100
|
-
await syncEventBus100.emit(EVENT_TYPE_SYNC, TEST_DATA);
|
|
101
|
-
}, { time: 500 });
|
|
102
|
-
});
|
|
103
|
-
describe("EventBus Async Emission Throughput", () => {
|
|
104
|
-
const asyncEventBus1_0ms = setupAsyncEventBus(1, 0);
|
|
105
|
-
const asyncEventBus5_0ms = setupAsyncEventBus(5, 0);
|
|
106
|
-
const asyncEventBus10_0ms = setupAsyncEventBus(10, 0);
|
|
107
|
-
const asyncEventBus1_1ms = setupAsyncEventBus(1, 1);
|
|
108
|
-
const asyncEventBus5_1ms = setupAsyncEventBus(5, 1);
|
|
109
|
-
const asyncEventBus10_1ms = setupAsyncEventBus(10, 1);
|
|
110
|
-
const asyncEventBus1_5ms = setupAsyncEventBus(1, 5);
|
|
111
|
-
const asyncEventBus5_5ms = setupAsyncEventBus(5, 5);
|
|
112
|
-
bench("1 async subscriber (0ms delay)", async () => {
|
|
113
|
-
await asyncEventBus1_0ms.emit(EVENT_TYPE_ASYNC, TEST_DATA);
|
|
114
|
-
}, { time: 500 });
|
|
115
|
-
bench("5 async subscribers (0ms delay)", async () => {
|
|
116
|
-
await asyncEventBus5_0ms.emit(EVENT_TYPE_ASYNC, TEST_DATA);
|
|
117
|
-
}, { time: 500 });
|
|
118
|
-
bench("10 async subscribers (0ms delay)", async () => {
|
|
119
|
-
await asyncEventBus10_0ms.emit(EVENT_TYPE_ASYNC, TEST_DATA);
|
|
120
|
-
}, { time: 500 });
|
|
121
|
-
bench("1 async subscriber (1ms delay)", async () => {
|
|
122
|
-
await asyncEventBus1_1ms.emit(EVENT_TYPE_ASYNC, TEST_DATA);
|
|
123
|
-
}, { time: 500 });
|
|
124
|
-
bench("5 async subscribers (1ms delay)", async () => {
|
|
125
|
-
await asyncEventBus5_1ms.emit(EVENT_TYPE_ASYNC, TEST_DATA);
|
|
126
|
-
}, { time: 500 });
|
|
127
|
-
bench("10 async subscribers (1ms delay)", async () => {
|
|
128
|
-
await asyncEventBus10_1ms.emit(EVENT_TYPE_ASYNC, TEST_DATA);
|
|
129
|
-
}, { time: 500 });
|
|
130
|
-
bench("1 async subscriber (5ms delay)", async () => {
|
|
131
|
-
await asyncEventBus1_5ms.emit(EVENT_TYPE_ASYNC, TEST_DATA);
|
|
132
|
-
}, { time: 500 });
|
|
133
|
-
bench("5 async subscribers (5ms delay)", async () => {
|
|
134
|
-
await asyncEventBus5_5ms.emit(EVENT_TYPE_ASYNC, TEST_DATA);
|
|
135
|
-
}, { time: 500 });
|
|
136
|
-
});
|
|
137
|
-
describe("EventBus Mixed Sync/Async Emission Throughput", () => {
|
|
138
|
-
const mixedEventBus10_10 = setupMixedEventBus(10, 0.1);
|
|
139
|
-
const mixedEventBus10_30 = setupMixedEventBus(10, 0.3);
|
|
140
|
-
const mixedEventBus10_50 = setupMixedEventBus(10, 0.5);
|
|
141
|
-
const mixedEventBus10_70 = setupMixedEventBus(10, 0.7);
|
|
142
|
-
const mixedEventBus10_90 = setupMixedEventBus(10, 0.9);
|
|
143
|
-
const mixedEventBus25_50 = setupMixedEventBus(25, 0.5);
|
|
144
|
-
const mixedEventBus50_50 = setupMixedEventBus(50, 0.5);
|
|
145
|
-
bench("10 subscribers (90% sync, 10% async)", async () => {
|
|
146
|
-
await mixedEventBus10_10.emit(EVENT_TYPE_MIXED, TEST_DATA);
|
|
147
|
-
}, { time: 500 });
|
|
148
|
-
bench("10 subscribers (70% sync, 30% async)", async () => {
|
|
149
|
-
await mixedEventBus10_30.emit(EVENT_TYPE_MIXED, TEST_DATA);
|
|
150
|
-
}, { time: 500 });
|
|
151
|
-
bench("10 subscribers (50% sync, 50% async)", async () => {
|
|
152
|
-
await mixedEventBus10_50.emit(EVENT_TYPE_MIXED, TEST_DATA);
|
|
153
|
-
}, { time: 500 });
|
|
154
|
-
bench("10 subscribers (30% sync, 70% async)", async () => {
|
|
155
|
-
await mixedEventBus10_70.emit(EVENT_TYPE_MIXED, TEST_DATA);
|
|
156
|
-
}, { time: 500 });
|
|
157
|
-
bench("10 subscribers (10% sync, 90% async)", async () => {
|
|
158
|
-
await mixedEventBus10_90.emit(EVENT_TYPE_MIXED, TEST_DATA);
|
|
159
|
-
}, { time: 500 });
|
|
160
|
-
bench("25 subscribers (50% sync, 50% async)", async () => {
|
|
161
|
-
await mixedEventBus25_50.emit(EVENT_TYPE_MIXED, TEST_DATA);
|
|
162
|
-
}, { time: 500 });
|
|
163
|
-
bench("50 subscribers (50% sync, 50% async)", async () => {
|
|
164
|
-
await mixedEventBus50_50.emit(EVENT_TYPE_MIXED, TEST_DATA);
|
|
165
|
-
}, { time: 500 });
|
|
166
|
-
});
|
|
167
|
-
describe("EventBus Subscription Management Performance", () => {
|
|
168
|
-
bench("Subscribe and unsubscribe (single)", () => {
|
|
169
|
-
const eventBus = new EventBus();
|
|
170
|
-
const unsubscribe = eventBus.subscribe(EVENT_TYPE_SYNC, createSyncSubscriber("temp"));
|
|
171
|
-
unsubscribe();
|
|
172
|
-
}, { time: 500 });
|
|
173
|
-
bench("Subscribe and unsubscribe (batch of 10)", () => {
|
|
174
|
-
const eventBus = new EventBus();
|
|
175
|
-
const unsubscribes = [];
|
|
176
|
-
for (let i = 0; i < 10; i++) {
|
|
177
|
-
unsubscribes.push(eventBus.subscribe(EVENT_TYPE_SYNC, createSyncSubscriber(`temp-${i}`)));
|
|
178
|
-
}
|
|
179
|
-
for (const unsubscribe of unsubscribes) {
|
|
180
|
-
unsubscribe();
|
|
181
|
-
}
|
|
182
|
-
}, { time: 500 });
|
|
183
|
-
bench("Subscribe and unsubscribe (batch of 100)", () => {
|
|
184
|
-
const eventBus = new EventBus();
|
|
185
|
-
const unsubscribes = [];
|
|
186
|
-
for (let i = 0; i < 100; i++) {
|
|
187
|
-
unsubscribes.push(eventBus.subscribe(EVENT_TYPE_SYNC, createSyncSubscriber(`temp-${i}`)));
|
|
188
|
-
}
|
|
189
|
-
for (const unsubscribe of unsubscribes) {
|
|
190
|
-
unsubscribe();
|
|
191
|
-
}
|
|
192
|
-
}, { time: 500 });
|
|
193
|
-
});
|
|
194
|
-
describe("EventBus Error Handling Performance", () => {
|
|
195
|
-
function createErrorSubscriber(shouldError) {
|
|
196
|
-
return (type, data) => {
|
|
197
|
-
if (shouldError) {
|
|
198
|
-
throw new Error("Test error");
|
|
199
|
-
}
|
|
200
|
-
return data.timestampUtcMs;
|
|
201
|
-
};
|
|
202
|
-
}
|
|
203
|
-
function createAsyncErrorSubscriber(shouldError) {
|
|
204
|
-
return async (type, data) => {
|
|
205
|
-
await new Promise((resolve) => setTimeout(resolve, 1));
|
|
206
|
-
if (shouldError) {
|
|
207
|
-
throw new Error("Test async error");
|
|
208
|
-
}
|
|
209
|
-
return data.timestampUtcMs;
|
|
210
|
-
};
|
|
211
|
-
}
|
|
212
|
-
// Test error aggregation performance
|
|
213
|
-
const errorEventBus = new EventBus();
|
|
214
|
-
errorEventBus.subscribe(EVENT_TYPE_SYNC, createErrorSubscriber(true));
|
|
215
|
-
errorEventBus.subscribe(EVENT_TYPE_SYNC, createErrorSubscriber(true));
|
|
216
|
-
errorEventBus.subscribe(EVENT_TYPE_SYNC, createErrorSubscriber(false));
|
|
217
|
-
const asyncErrorEventBus = new EventBus();
|
|
218
|
-
asyncErrorEventBus.subscribe(EVENT_TYPE_ASYNC, createAsyncErrorSubscriber(true));
|
|
219
|
-
asyncErrorEventBus.subscribe(EVENT_TYPE_ASYNC, createAsyncErrorSubscriber(true));
|
|
220
|
-
asyncErrorEventBus.subscribe(EVENT_TYPE_ASYNC, createAsyncErrorSubscriber(false));
|
|
221
|
-
bench("Error aggregation (sync)", async () => {
|
|
222
|
-
try {
|
|
223
|
-
await errorEventBus.emit(EVENT_TYPE_SYNC, TEST_DATA);
|
|
224
|
-
}
|
|
225
|
-
catch (error) {
|
|
226
|
-
// Expected error
|
|
227
|
-
}
|
|
228
|
-
}, { time: 500 });
|
|
229
|
-
bench("Error aggregation (async)", async () => {
|
|
230
|
-
try {
|
|
231
|
-
await asyncErrorEventBus.emit(EVENT_TYPE_ASYNC, TEST_DATA);
|
|
232
|
-
}
|
|
233
|
-
catch (error) {
|
|
234
|
-
// Expected error
|
|
235
|
-
}
|
|
236
|
-
}, { time: 500 });
|
|
237
|
-
});
|
|
238
|
-
//# sourceMappingURL=event-bus.bench.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.bench.js","sourceRoot":"","sources":["../../bench/event-bus.bench.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"queue-only.bench.d.ts","sourceRoot":"","sources":["../../bench/queue-only.bench.ts"],"names":[],"mappings":""}
|