@powerhousedao/reactor 5.0.0-staging.8 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/dist/src/cache/buffer/ring-buffer.d.ts +37 -0
  2. package/dist/src/cache/buffer/ring-buffer.d.ts.map +1 -0
  3. package/dist/src/cache/buffer/ring-buffer.js +69 -0
  4. package/dist/src/cache/buffer/ring-buffer.js.map +1 -0
  5. package/dist/src/cache/kysely-write-cache.d.ts +133 -0
  6. package/dist/src/cache/kysely-write-cache.d.ts.map +1 -0
  7. package/dist/src/cache/kysely-write-cache.js +375 -0
  8. package/dist/src/cache/kysely-write-cache.js.map +1 -0
  9. package/dist/src/cache/lru/lru-tracker.d.ts +15 -0
  10. package/dist/src/cache/lru/lru-tracker.d.ts.map +1 -0
  11. package/dist/src/cache/lru/lru-tracker.js +96 -0
  12. package/dist/src/cache/lru/lru-tracker.js.map +1 -0
  13. package/dist/src/cache/types.d.ts +42 -0
  14. package/dist/src/cache/types.d.ts.map +1 -0
  15. package/dist/src/cache/types.js +2 -0
  16. package/dist/src/cache/types.js.map +1 -0
  17. package/dist/src/cache/write/interfaces.d.ts +83 -0
  18. package/dist/src/cache/write/interfaces.d.ts.map +1 -0
  19. package/dist/src/cache/write/interfaces.js +2 -0
  20. package/dist/src/cache/write/interfaces.js.map +1 -0
  21. package/dist/src/client/reactor-client.d.ts +103 -0
  22. package/dist/src/client/reactor-client.d.ts.map +1 -0
  23. package/dist/src/client/reactor-client.js +184 -0
  24. package/dist/src/client/reactor-client.js.map +1 -0
  25. package/dist/src/client/types.d.ts +213 -0
  26. package/dist/src/client/types.d.ts.map +1 -0
  27. package/dist/src/client/types.js +14 -0
  28. package/dist/src/client/types.js.map +1 -0
  29. package/dist/src/core/builder.d.ts +20 -0
  30. package/dist/src/core/builder.d.ts.map +1 -0
  31. package/dist/src/core/builder.js +47 -0
  32. package/dist/src/core/builder.js.map +1 -0
  33. package/dist/src/{reactor.d.ts → core/reactor.d.ts} +14 -30
  34. package/dist/src/core/reactor.d.ts.map +1 -0
  35. package/dist/src/{reactor.js → core/reactor.js} +162 -114
  36. package/dist/src/core/reactor.js.map +1 -0
  37. package/dist/src/{interfaces/reactor.d.ts → core/types.d.ts} +7 -7
  38. package/dist/src/core/types.d.ts.map +1 -0
  39. package/dist/src/core/types.js +2 -0
  40. package/dist/src/core/types.js.map +1 -0
  41. package/dist/src/{utils.d.ts → core/utils.d.ts} +2 -2
  42. package/dist/src/core/utils.d.ts.map +1 -0
  43. package/dist/src/core/utils.js.map +1 -0
  44. package/dist/src/events/event-bus.d.ts +2 -2
  45. package/dist/src/events/event-bus.d.ts.map +1 -1
  46. package/dist/src/events/event-bus.js +1 -1
  47. package/dist/src/events/event-bus.js.map +1 -1
  48. package/dist/src/events/interfaces.d.ts +1 -1
  49. package/dist/src/events/interfaces.d.ts.map +1 -1
  50. package/dist/src/events/types.d.ts +14 -0
  51. package/dist/src/events/types.d.ts.map +1 -1
  52. package/dist/src/events/types.js +6 -0
  53. package/dist/src/events/types.js.map +1 -1
  54. package/dist/src/executor/interfaces.d.ts +2 -2
  55. package/dist/src/executor/interfaces.d.ts.map +1 -1
  56. package/dist/src/executor/simple-job-executor-manager.d.ts +6 -1
  57. package/dist/src/executor/simple-job-executor-manager.d.ts.map +1 -1
  58. package/dist/src/executor/simple-job-executor-manager.js +121 -37
  59. package/dist/src/executor/simple-job-executor-manager.js.map +1 -1
  60. package/dist/src/executor/simple-job-executor.d.ts +32 -3
  61. package/dist/src/executor/simple-job-executor.d.ts.map +1 -1
  62. package/dist/src/executor/simple-job-executor.js +451 -17
  63. package/dist/src/executor/simple-job-executor.js.map +1 -1
  64. package/dist/src/executor/types.d.ts +10 -3
  65. package/dist/src/executor/types.d.ts.map +1 -1
  66. package/dist/src/executor/types.js.map +1 -1
  67. package/dist/src/executor/util.d.ts +47 -0
  68. package/dist/src/executor/util.d.ts.map +1 -0
  69. package/dist/src/executor/util.js +113 -0
  70. package/dist/src/executor/util.js.map +1 -0
  71. package/dist/src/index.d.ts +23 -3
  72. package/dist/src/index.d.ts.map +1 -1
  73. package/dist/src/index.js +30 -2
  74. package/dist/src/index.js.map +1 -1
  75. package/dist/src/job-tracker/in-memory-job-tracker.d.ts +16 -0
  76. package/dist/src/job-tracker/in-memory-job-tracker.d.ts.map +1 -0
  77. package/dist/src/job-tracker/in-memory-job-tracker.js +78 -0
  78. package/dist/src/job-tracker/in-memory-job-tracker.js.map +1 -0
  79. package/dist/src/job-tracker/index.d.ts +3 -0
  80. package/dist/src/job-tracker/index.d.ts.map +1 -0
  81. package/dist/src/job-tracker/index.js +2 -0
  82. package/dist/src/job-tracker/index.js.map +1 -0
  83. package/dist/src/job-tracker/interfaces.d.ts +41 -0
  84. package/dist/src/job-tracker/interfaces.d.ts.map +1 -0
  85. package/dist/src/job-tracker/interfaces.js +2 -0
  86. package/dist/src/job-tracker/interfaces.js.map +1 -0
  87. package/dist/src/queue/interfaces.d.ts +6 -5
  88. package/dist/src/queue/interfaces.d.ts.map +1 -1
  89. package/dist/src/queue/job-execution-handle.d.ts +5 -3
  90. package/dist/src/queue/job-execution-handle.d.ts.map +1 -1
  91. package/dist/src/queue/job-execution-handle.js +2 -2
  92. package/dist/src/queue/job-execution-handle.js.map +1 -1
  93. package/dist/src/queue/queue.d.ts +7 -5
  94. package/dist/src/queue/queue.d.ts.map +1 -1
  95. package/dist/src/queue/queue.js +61 -27
  96. package/dist/src/queue/queue.js.map +1 -1
  97. package/dist/src/queue/types.d.ts +11 -8
  98. package/dist/src/queue/types.d.ts.map +1 -1
  99. package/dist/src/queue/types.js.map +1 -1
  100. package/dist/src/read-models/coordinator.d.ts +38 -0
  101. package/dist/src/read-models/coordinator.d.ts.map +1 -0
  102. package/dist/src/read-models/coordinator.js +62 -0
  103. package/dist/src/read-models/coordinator.js.map +1 -0
  104. package/dist/src/read-models/document-view.d.ts +20 -0
  105. package/dist/src/read-models/document-view.d.ts.map +1 -0
  106. package/dist/src/read-models/document-view.js +365 -0
  107. package/dist/src/read-models/document-view.js.map +1 -0
  108. package/dist/src/read-models/interfaces.d.ts +29 -0
  109. package/dist/src/read-models/interfaces.d.ts.map +1 -0
  110. package/dist/src/read-models/interfaces.js +2 -0
  111. package/dist/src/read-models/interfaces.js.map +1 -0
  112. package/dist/src/read-models/types.d.ts +46 -0
  113. package/dist/src/read-models/types.d.ts.map +1 -0
  114. package/dist/src/read-models/types.js +2 -0
  115. package/dist/src/read-models/types.js.map +1 -0
  116. package/dist/src/registry/implementation.js +1 -1
  117. package/dist/src/registry/implementation.js.map +1 -1
  118. package/dist/src/shared/awaiter.d.ts +32 -0
  119. package/dist/src/shared/awaiter.d.ts.map +1 -0
  120. package/dist/src/shared/awaiter.js +132 -0
  121. package/dist/src/shared/awaiter.js.map +1 -0
  122. package/dist/src/shared/errors.d.ts +17 -0
  123. package/dist/src/shared/errors.d.ts.map +1 -0
  124. package/dist/src/shared/errors.js +33 -0
  125. package/dist/src/shared/errors.js.map +1 -0
  126. package/dist/src/shared/factories.d.ts +1 -1
  127. package/dist/src/shared/factories.d.ts.map +1 -1
  128. package/dist/src/shared/types.d.ts +17 -1
  129. package/dist/src/shared/types.d.ts.map +1 -1
  130. package/dist/src/shared/types.js +5 -0
  131. package/dist/src/shared/types.js.map +1 -1
  132. package/dist/src/signer/passthrough-signer.d.ts +6 -0
  133. package/dist/src/signer/passthrough-signer.d.ts.map +1 -0
  134. package/dist/src/signer/passthrough-signer.js +6 -0
  135. package/dist/src/signer/passthrough-signer.js.map +1 -0
  136. package/dist/src/signer/types.d.ts +15 -0
  137. package/dist/src/signer/types.d.ts.map +1 -0
  138. package/dist/src/signer/types.js +2 -0
  139. package/dist/src/signer/types.js.map +1 -0
  140. package/dist/src/storage/interfaces.d.ts +121 -0
  141. package/dist/src/storage/interfaces.d.ts.map +1 -0
  142. package/dist/src/storage/interfaces.js +19 -0
  143. package/dist/src/storage/interfaces.js.map +1 -0
  144. package/dist/src/storage/kysely/keyframe-store.d.ts +15 -0
  145. package/dist/src/storage/kysely/keyframe-store.d.ts.map +1 -0
  146. package/dist/src/storage/kysely/keyframe-store.js +71 -0
  147. package/dist/src/storage/kysely/keyframe-store.js.map +1 -0
  148. package/dist/src/storage/kysely/store.d.ts +15 -0
  149. package/dist/src/storage/kysely/store.d.ts.map +1 -0
  150. package/dist/src/storage/kysely/store.js +196 -0
  151. package/dist/src/storage/kysely/store.js.map +1 -0
  152. package/dist/src/storage/kysely/types.d.ts +39 -0
  153. package/dist/src/storage/kysely/types.d.ts.map +1 -0
  154. package/dist/src/storage/kysely/types.js +2 -0
  155. package/dist/src/storage/kysely/types.js.map +1 -0
  156. package/dist/src/storage/txn.d.ts +15 -0
  157. package/dist/src/storage/txn.d.ts.map +1 -0
  158. package/dist/src/storage/txn.js +41 -0
  159. package/dist/src/storage/txn.js.map +1 -0
  160. package/dist/src/subs/default-error-handler.d.ts +13 -0
  161. package/dist/src/subs/default-error-handler.d.ts.map +1 -0
  162. package/dist/src/subs/default-error-handler.js +27 -0
  163. package/dist/src/subs/default-error-handler.js.map +1 -0
  164. package/dist/src/subs/react-subscription-manager.d.ts +45 -0
  165. package/dist/src/subs/react-subscription-manager.d.ts.map +1 -0
  166. package/dist/src/subs/react-subscription-manager.js +185 -0
  167. package/dist/src/subs/react-subscription-manager.js.map +1 -0
  168. package/dist/src/subs/types.d.ts +64 -0
  169. package/dist/src/subs/types.d.ts.map +1 -0
  170. package/dist/src/subs/types.js +2 -0
  171. package/dist/src/subs/types.js.map +1 -0
  172. package/dist/src/utils/reshuffle.d.ts +30 -0
  173. package/dist/src/utils/reshuffle.d.ts.map +1 -0
  174. package/dist/src/utils/reshuffle.js +47 -0
  175. package/dist/src/utils/reshuffle.js.map +1 -0
  176. package/package.json +15 -9
  177. package/dist/bench/event-bus.bench.d.ts +0 -2
  178. package/dist/bench/event-bus.bench.d.ts.map +0 -1
  179. package/dist/bench/event-bus.bench.js +0 -228
  180. package/dist/bench/event-bus.bench.js.map +0 -1
  181. package/dist/bench/queue-only.bench.d.ts +0 -2
  182. package/dist/bench/queue-only.bench.d.ts.map +0 -1
  183. package/dist/bench/queue-only.bench.js +0 -46
  184. package/dist/bench/queue-only.bench.js.map +0 -1
  185. package/dist/bench/reactor-throughput.bench.d.ts +0 -2
  186. package/dist/bench/reactor-throughput.bench.d.ts.map +0 -1
  187. package/dist/bench/reactor-throughput.bench.js +0 -144
  188. package/dist/bench/reactor-throughput.bench.js.map +0 -1
  189. package/dist/src/interfaces/reactor.d.ts.map +0 -1
  190. package/dist/src/interfaces/reactor.js +0 -2
  191. package/dist/src/interfaces/reactor.js.map +0 -1
  192. package/dist/src/reactor.d.ts.map +0 -1
  193. package/dist/src/reactor.js.map +0 -1
  194. package/dist/src/utils.d.ts.map +0 -1
  195. package/dist/src/utils.js.map +0 -1
  196. package/dist/test/event-bus.test.d.ts +0 -2
  197. package/dist/test/event-bus.test.d.ts.map +0 -1
  198. package/dist/test/event-bus.test.js +0 -541
  199. package/dist/test/event-bus.test.js.map +0 -1
  200. package/dist/test/executor/executor-integration.test.d.ts +0 -2
  201. package/dist/test/executor/executor-integration.test.d.ts.map +0 -1
  202. package/dist/test/executor/executor-integration.test.js +0 -287
  203. package/dist/test/executor/executor-integration.test.js.map +0 -1
  204. package/dist/test/executor/job-execution-handle.test.d.ts +0 -2
  205. package/dist/test/executor/job-execution-handle.test.d.ts.map +0 -1
  206. package/dist/test/executor/job-execution-handle.test.js +0 -272
  207. package/dist/test/executor/job-execution-handle.test.js.map +0 -1
  208. package/dist/test/executor/simple-job-executor-manager.test.d.ts +0 -2
  209. package/dist/test/executor/simple-job-executor-manager.test.d.ts.map +0 -1
  210. package/dist/test/executor/simple-job-executor-manager.test.js +0 -132
  211. package/dist/test/executor/simple-job-executor-manager.test.js.map +0 -1
  212. package/dist/test/executor/simple-job-executor.test.d.ts +0 -2
  213. package/dist/test/executor/simple-job-executor.test.d.ts.map +0 -1
  214. package/dist/test/executor/simple-job-executor.test.js +0 -139
  215. package/dist/test/executor/simple-job-executor.test.js.map +0 -1
  216. package/dist/test/factories.d.ts +0 -122
  217. package/dist/test/factories.d.ts.map +0 -1
  218. package/dist/test/factories.js +0 -319
  219. package/dist/test/factories.js.map +0 -1
  220. package/dist/test/integration/document-drive-integration.test.d.ts +0 -2
  221. package/dist/test/integration/document-drive-integration.test.d.ts.map +0 -1
  222. package/dist/test/integration/document-drive-integration.test.js +0 -1102
  223. package/dist/test/integration/document-drive-integration.test.js.map +0 -1
  224. package/dist/test/integration/reactor-read.test.d.ts +0 -2
  225. package/dist/test/integration/reactor-read.test.d.ts.map +0 -1
  226. package/dist/test/integration/reactor-read.test.js +0 -300
  227. package/dist/test/integration/reactor-read.test.js.map +0 -1
  228. package/dist/test/queue/queue-integration.test.d.ts +0 -2
  229. package/dist/test/queue/queue-integration.test.d.ts.map +0 -1
  230. package/dist/test/queue/queue-integration.test.js +0 -322
  231. package/dist/test/queue/queue-integration.test.js.map +0 -1
  232. package/dist/test/queue/queue.test.d.ts +0 -2
  233. package/dist/test/queue/queue.test.d.ts.map +0 -1
  234. package/dist/test/queue/queue.test.js +0 -770
  235. package/dist/test/queue/queue.test.js.map +0 -1
  236. package/dist/test/registry/registry.test.d.ts +0 -2
  237. package/dist/test/registry/registry.test.d.ts.map +0 -1
  238. package/dist/test/registry/registry.test.js +0 -182
  239. package/dist/test/registry/registry.test.js.map +0 -1
  240. package/dist/test/utils.test.d.ts +0 -2
  241. package/dist/test/utils.test.d.ts.map +0 -1
  242. package/dist/test/utils.test.js +0 -66
  243. package/dist/test/utils.test.js.map +0 -1
  244. package/dist/tsconfig.tsbuildinfo +0 -1
  245. package/dist/vitest.config.d.ts +0 -3
  246. package/dist/vitest.config.d.ts.map +0 -1
  247. package/dist/vitest.config.js +0 -11
  248. package/dist/vitest.config.js.map +0 -1
  249. /package/dist/src/{utils.js → core/utils.js} +0 -0
@@ -1,319 +0,0 @@
1
- import { MemoryStorage, ReactorBuilder, driveDocumentModelModule, } from "document-drive";
2
- import { documentModelDocumentModelModule, } from "document-model";
3
- import { v4 as uuidv4 } from "uuid";
4
- import { vi } from "vitest";
5
- import { EventBus } from "../src/events/event-bus.js";
6
- import { SimpleJobExecutorManager } from "../src/executor/simple-job-executor-manager.js";
7
- import { SimpleJobExecutor } from "../src/executor/simple-job-executor.js";
8
- import { InMemoryQueue } from "../src/queue/queue.js";
9
- import { Reactor } from "../src/reactor.js";
10
- import { DocumentModelRegistry } from "../src/registry/implementation.js";
11
- /**
12
- * Factory for creating test Job objects
13
- */
14
- export function createTestJob(overrides = {}) {
15
- const defaultJob = {
16
- id: overrides.id || `job-${uuidv4()}`,
17
- documentId: "doc-1",
18
- scope: "global",
19
- branch: "main",
20
- operation: createTestOperation(overrides.operation ? { ...overrides.operation } : undefined),
21
- createdAt: new Date().toISOString(),
22
- queueHint: [],
23
- retryCount: 0,
24
- maxRetries: 3,
25
- };
26
- return {
27
- ...defaultJob,
28
- ...overrides,
29
- };
30
- }
31
- /**
32
- * Factory for creating minimal Job objects (useful for performance tests)
33
- */
34
- export function createMinimalJob(overrides = {}) {
35
- return {
36
- id: overrides.id || `job-${uuidv4()}`,
37
- documentId: overrides.documentId || "doc-1",
38
- scope: overrides.scope || "global",
39
- branch: overrides.branch || "main",
40
- operation: createMinimalOperation(),
41
- createdAt: overrides.createdAt || "2023-01-01T00:00:00.000Z",
42
- queueHint: overrides.queueHint || [],
43
- ...overrides,
44
- };
45
- }
46
- /**
47
- * Factory for creating test Operation objects
48
- */
49
- export function createTestOperation(overrides = {}) {
50
- const defaultOperation = {
51
- index: 1,
52
- timestampUtcMs: new Date().toISOString(),
53
- hash: "test-hash",
54
- skip: 0,
55
- action: createTestAction(overrides.action ? { ...overrides.action } : undefined),
56
- id: "op-1",
57
- };
58
- return {
59
- ...defaultOperation,
60
- ...overrides,
61
- };
62
- }
63
- /**
64
- * Factory for creating minimal Operation objects
65
- */
66
- export function createMinimalOperation(overrides = {}) {
67
- return {
68
- index: overrides.index ?? 0,
69
- timestampUtcMs: overrides.timestampUtcMs || "2023-01-01T00:00:00.000Z",
70
- hash: overrides.hash || "hash-123",
71
- skip: overrides.skip ?? 0,
72
- action: overrides.action || createMinimalAction(),
73
- id: overrides.id || `op-${uuidv4()}`,
74
- };
75
- }
76
- /**
77
- * Factory for creating test Action objects
78
- */
79
- export function createTestAction(overrides = {}) {
80
- const defaultAction = {
81
- id: uuidv4(),
82
- type: "test-operation",
83
- timestampUtcMs: new Date().toISOString(),
84
- input: { test: "data" },
85
- scope: "global",
86
- };
87
- return {
88
- ...defaultAction,
89
- ...overrides,
90
- };
91
- }
92
- /**
93
- * Factory for creating minimal Action objects
94
- */
95
- export function createMinimalAction(overrides = {}) {
96
- return {
97
- id: overrides.id || `action-${uuidv4()}`,
98
- type: overrides.type || "CREATE",
99
- timestampUtcMs: overrides.timestampUtcMs || "2023-01-01T00:00:00.000Z",
100
- input: overrides.input || { data: "test" },
101
- scope: overrides.scope || "global",
102
- };
103
- }
104
- /**
105
- * Factory for creating specific document model actions
106
- */
107
- export function createDocumentModelAction(type, overrides = {}) {
108
- const actionTypes = {
109
- SET_NAME: { name: "Test Name" },
110
- SET_DESCRIPTION: { description: "Test Description" },
111
- CREATE: { name: "New Document" },
112
- UPDATE: { data: "Updated Data" },
113
- };
114
- return {
115
- id: uuidv4(),
116
- type,
117
- scope: "global",
118
- timestampUtcMs: String(Date.now()),
119
- input: actionTypes[type] || {},
120
- ...overrides,
121
- };
122
- }
123
- /**
124
- * Factory for creating mock PHDocument objects
125
- */
126
- export function createDocModelDocument(overrides = {}) {
127
- const baseDocument = documentModelDocumentModelModule.utils.createDocument();
128
- if (overrides.id) {
129
- baseDocument.header.id = overrides.id;
130
- }
131
- if (overrides.slug) {
132
- baseDocument.header.slug = overrides.slug;
133
- }
134
- if (overrides.documentType) {
135
- baseDocument.header.documentType = overrides.documentType;
136
- }
137
- if (overrides.state) {
138
- baseDocument.state = {
139
- ...baseDocument.state,
140
- ...overrides.state,
141
- };
142
- }
143
- return baseDocument;
144
- }
145
- /**
146
- * Factory for creating test EventBus instances
147
- */
148
- export function createTestEventBus() {
149
- return new EventBus();
150
- }
151
- /**
152
- * Factory for creating test Queue instances
153
- */
154
- export function createTestQueue(eventBus) {
155
- return new InMemoryQueue(eventBus || createTestEventBus());
156
- }
157
- /**
158
- * Factory for creating test Registry instances
159
- */
160
- export function createTestRegistry(modules) {
161
- const registry = new DocumentModelRegistry();
162
- if (modules) {
163
- modules.forEach((module) => registry.registerModules(module));
164
- }
165
- else {
166
- // Register default module
167
- registry.registerModules(documentModelDocumentModelModule);
168
- }
169
- return registry;
170
- }
171
- /**
172
- * Factory for creating mock JobExecutor
173
- */
174
- export function createMockJobExecutor(overrides = {}) {
175
- return {
176
- executeJob: vi.fn().mockResolvedValue({ success: true }),
177
- ...overrides,
178
- };
179
- }
180
- /**
181
- * Factory for creating mock IDocumentStorage
182
- */
183
- export function createMockDocumentStorage(overrides = {}) {
184
- return {
185
- get: vi.fn().mockResolvedValue({
186
- header: {
187
- id: "doc-1",
188
- documentType: "powerhouse/document-model",
189
- },
190
- operations: { global: [] },
191
- state: {},
192
- }),
193
- set: vi.fn().mockResolvedValue(undefined),
194
- delete: vi.fn().mockResolvedValue(undefined),
195
- exists: vi.fn().mockResolvedValue(false),
196
- getChildren: vi.fn().mockResolvedValue([]),
197
- findByType: vi.fn().mockResolvedValue([]),
198
- resolveIds: vi.fn().mockResolvedValue([]),
199
- ...overrides,
200
- };
201
- }
202
- /**
203
- * Factory for creating mock IDocumentOperationStorage
204
- */
205
- export function createMockOperationStorage(overrides = {}) {
206
- return {
207
- addDocumentOperations: vi.fn().mockResolvedValue(undefined),
208
- ...overrides,
209
- };
210
- }
211
- /**
212
- * Factory for creating a complete test reactor setup
213
- */
214
- export async function createTestReactorSetup(documentModels = [
215
- documentModelDocumentModelModule,
216
- driveDocumentModelModule,
217
- ]) {
218
- const storage = new MemoryStorage();
219
- const eventBus = new EventBus();
220
- const queue = new InMemoryQueue(eventBus);
221
- // Create real drive server
222
- const builder = new ReactorBuilder(documentModels).withStorage(storage);
223
- const driveServer = builder.build();
224
- await driveServer.initialize();
225
- // Create registry and register modules
226
- const registry = new DocumentModelRegistry();
227
- registry.registerModules(documentModelDocumentModelModule);
228
- // Create job executor
229
- const jobExecutor = new SimpleJobExecutor(registry, storage, storage);
230
- // Create reactor
231
- const reactor = new Reactor(driveServer, storage, eventBus, queue, jobExecutor);
232
- return {
233
- reactor,
234
- driveServer,
235
- storage,
236
- eventBus,
237
- queue,
238
- jobExecutor,
239
- registry,
240
- };
241
- }
242
- /**
243
- * Factory for creating SimpleJobExecutorManager with dependencies
244
- */
245
- export function createTestJobExecutorManager(queue, eventBus, executor) {
246
- const actualQueue = queue || createTestQueue();
247
- const actualEventBus = eventBus || createTestEventBus();
248
- const actualExecutor = executor || createMockJobExecutor();
249
- const manager = new SimpleJobExecutorManager(() => actualExecutor, actualEventBus, actualQueue);
250
- return {
251
- manager,
252
- queue: actualQueue,
253
- eventBus: actualEventBus,
254
- executor: actualExecutor,
255
- };
256
- }
257
- /**
258
- * Factory for creating test data sets
259
- */
260
- export function createTestJobSet(count, baseOverrides = {}) {
261
- return Array.from({ length: count }, (_, i) => createTestJob({
262
- id: `job-${i + 1}`,
263
- ...baseOverrides,
264
- operation: createTestOperation({
265
- index: i,
266
- action: createTestAction({
267
- input: { name: `Action ${i + 1}` },
268
- }),
269
- }),
270
- }));
271
- }
272
- /**
273
- * Factory for creating jobs with dependencies
274
- */
275
- export function createJobWithDependencies(id, dependencies, overrides = {}) {
276
- return createTestJob({
277
- id,
278
- queueHint: dependencies,
279
- ...overrides,
280
- });
281
- }
282
- /**
283
- * Factory for creating a dependency chain of jobs
284
- */
285
- export function createJobDependencyChain(length) {
286
- const jobs = [];
287
- for (let i = 0; i < length; i++) {
288
- const dependencies = i === 0 ? [] : [`job-${i}`];
289
- jobs.push(createJobWithDependencies(`job-${i + 1}`, dependencies, {
290
- operation: createTestOperation({
291
- index: i,
292
- action: createTestAction({
293
- input: { name: `Chain Action ${i + 1}` },
294
- }),
295
- }),
296
- }));
297
- }
298
- return jobs;
299
- }
300
- /**
301
- * Factory for creating multiple actions for testing
302
- */
303
- export function createTestActions(count, type = "SET_NAME") {
304
- return Array.from({ length: count }, (_, i) => createDocumentModelAction(type, {
305
- input: { name: `Action ${i + 1}` },
306
- timestampUtcMs: String(Date.now() + i * 1000),
307
- }));
308
- }
309
- /**
310
- * Factory for creating mock documents in bulk
311
- */
312
- export function createTestDocuments(count, baseOverrides = {}) {
313
- return Array.from({ length: count }, (_, i) => createDocModelDocument({
314
- id: `doc-${i + 1}`,
315
- slug: `doc-${i + 1}`,
316
- ...baseOverrides,
317
- }));
318
- }
319
- //# sourceMappingURL=factories.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factories.js","sourceRoot":"","sources":["../../test/factories.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=document-drive-integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"document-drive-integration.test.d.ts","sourceRoot":"","sources":["../../../test/integration/document-drive-integration.test.ts"],"names":[],"mappings":""}