@powerhousedao/reactor 5.0.0-staging.8 → 5.0.1-staging.1

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 (248) 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} +13 -30
  34. package/dist/src/core/reactor.d.ts.map +1 -0
  35. package/dist/src/{reactor.js → core/reactor.js} +147 -111
  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 +5 -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 +98 -36
  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 +436 -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 +15 -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 +1 -1
  88. package/dist/src/queue/interfaces.d.ts.map +1 -1
  89. package/dist/src/queue/job-execution-handle.d.ts +2 -1
  90. package/dist/src/queue/job-execution-handle.d.ts.map +1 -1
  91. package/dist/src/queue/job-execution-handle.js.map +1 -1
  92. package/dist/src/queue/queue.d.ts +3 -3
  93. package/dist/src/queue/queue.d.ts.map +1 -1
  94. package/dist/src/queue/queue.js +47 -25
  95. package/dist/src/queue/queue.js.map +1 -1
  96. package/dist/src/queue/types.d.ts +7 -5
  97. package/dist/src/queue/types.d.ts.map +1 -1
  98. package/dist/src/queue/types.js.map +1 -1
  99. package/dist/src/read-models/coordinator.d.ts +38 -0
  100. package/dist/src/read-models/coordinator.d.ts.map +1 -0
  101. package/dist/src/read-models/coordinator.js +62 -0
  102. package/dist/src/read-models/coordinator.js.map +1 -0
  103. package/dist/src/read-models/document-view.d.ts +20 -0
  104. package/dist/src/read-models/document-view.d.ts.map +1 -0
  105. package/dist/src/read-models/document-view.js +365 -0
  106. package/dist/src/read-models/document-view.js.map +1 -0
  107. package/dist/src/read-models/interfaces.d.ts +29 -0
  108. package/dist/src/read-models/interfaces.d.ts.map +1 -0
  109. package/dist/src/read-models/interfaces.js +2 -0
  110. package/dist/src/read-models/interfaces.js.map +1 -0
  111. package/dist/src/read-models/types.d.ts +46 -0
  112. package/dist/src/read-models/types.d.ts.map +1 -0
  113. package/dist/src/read-models/types.js +2 -0
  114. package/dist/src/read-models/types.js.map +1 -0
  115. package/dist/src/registry/implementation.js +1 -1
  116. package/dist/src/registry/implementation.js.map +1 -1
  117. package/dist/src/shared/awaiter.d.ts +32 -0
  118. package/dist/src/shared/awaiter.d.ts.map +1 -0
  119. package/dist/src/shared/awaiter.js +132 -0
  120. package/dist/src/shared/awaiter.js.map +1 -0
  121. package/dist/src/shared/errors.d.ts +17 -0
  122. package/dist/src/shared/errors.d.ts.map +1 -0
  123. package/dist/src/shared/errors.js +33 -0
  124. package/dist/src/shared/errors.js.map +1 -0
  125. package/dist/src/shared/factories.d.ts +1 -1
  126. package/dist/src/shared/factories.d.ts.map +1 -1
  127. package/dist/src/shared/types.d.ts +8 -0
  128. package/dist/src/shared/types.d.ts.map +1 -1
  129. package/dist/src/shared/types.js +5 -0
  130. package/dist/src/shared/types.js.map +1 -1
  131. package/dist/src/signer/passthrough-signer.d.ts +6 -0
  132. package/dist/src/signer/passthrough-signer.d.ts.map +1 -0
  133. package/dist/src/signer/passthrough-signer.js +6 -0
  134. package/dist/src/signer/passthrough-signer.js.map +1 -0
  135. package/dist/src/signer/types.d.ts +15 -0
  136. package/dist/src/signer/types.d.ts.map +1 -0
  137. package/dist/src/signer/types.js +2 -0
  138. package/dist/src/signer/types.js.map +1 -0
  139. package/dist/src/storage/interfaces.d.ts +121 -0
  140. package/dist/src/storage/interfaces.d.ts.map +1 -0
  141. package/dist/src/storage/interfaces.js +19 -0
  142. package/dist/src/storage/interfaces.js.map +1 -0
  143. package/dist/src/storage/kysely/keyframe-store.d.ts +15 -0
  144. package/dist/src/storage/kysely/keyframe-store.d.ts.map +1 -0
  145. package/dist/src/storage/kysely/keyframe-store.js +71 -0
  146. package/dist/src/storage/kysely/keyframe-store.js.map +1 -0
  147. package/dist/src/storage/kysely/store.d.ts +15 -0
  148. package/dist/src/storage/kysely/store.d.ts.map +1 -0
  149. package/dist/src/storage/kysely/store.js +196 -0
  150. package/dist/src/storage/kysely/store.js.map +1 -0
  151. package/dist/src/storage/kysely/types.d.ts +39 -0
  152. package/dist/src/storage/kysely/types.d.ts.map +1 -0
  153. package/dist/src/storage/kysely/types.js +2 -0
  154. package/dist/src/storage/kysely/types.js.map +1 -0
  155. package/dist/src/storage/txn.d.ts +15 -0
  156. package/dist/src/storage/txn.d.ts.map +1 -0
  157. package/dist/src/storage/txn.js +41 -0
  158. package/dist/src/storage/txn.js.map +1 -0
  159. package/dist/src/subs/default-error-handler.d.ts +13 -0
  160. package/dist/src/subs/default-error-handler.d.ts.map +1 -0
  161. package/dist/src/subs/default-error-handler.js +27 -0
  162. package/dist/src/subs/default-error-handler.js.map +1 -0
  163. package/dist/src/subs/react-subscription-manager.d.ts +45 -0
  164. package/dist/src/subs/react-subscription-manager.d.ts.map +1 -0
  165. package/dist/src/subs/react-subscription-manager.js +185 -0
  166. package/dist/src/subs/react-subscription-manager.js.map +1 -0
  167. package/dist/src/subs/types.d.ts +64 -0
  168. package/dist/src/subs/types.d.ts.map +1 -0
  169. package/dist/src/subs/types.js +2 -0
  170. package/dist/src/subs/types.js.map +1 -0
  171. package/dist/src/utils/reshuffle.d.ts +30 -0
  172. package/dist/src/utils/reshuffle.d.ts.map +1 -0
  173. package/dist/src/utils/reshuffle.js +47 -0
  174. package/dist/src/utils/reshuffle.js.map +1 -0
  175. package/package.json +15 -9
  176. package/dist/bench/event-bus.bench.d.ts +0 -2
  177. package/dist/bench/event-bus.bench.d.ts.map +0 -1
  178. package/dist/bench/event-bus.bench.js +0 -228
  179. package/dist/bench/event-bus.bench.js.map +0 -1
  180. package/dist/bench/queue-only.bench.d.ts +0 -2
  181. package/dist/bench/queue-only.bench.d.ts.map +0 -1
  182. package/dist/bench/queue-only.bench.js +0 -46
  183. package/dist/bench/queue-only.bench.js.map +0 -1
  184. package/dist/bench/reactor-throughput.bench.d.ts +0 -2
  185. package/dist/bench/reactor-throughput.bench.d.ts.map +0 -1
  186. package/dist/bench/reactor-throughput.bench.js +0 -144
  187. package/dist/bench/reactor-throughput.bench.js.map +0 -1
  188. package/dist/src/interfaces/reactor.d.ts.map +0 -1
  189. package/dist/src/interfaces/reactor.js +0 -2
  190. package/dist/src/interfaces/reactor.js.map +0 -1
  191. package/dist/src/reactor.d.ts.map +0 -1
  192. package/dist/src/reactor.js.map +0 -1
  193. package/dist/src/utils.d.ts.map +0 -1
  194. package/dist/src/utils.js.map +0 -1
  195. package/dist/test/event-bus.test.d.ts +0 -2
  196. package/dist/test/event-bus.test.d.ts.map +0 -1
  197. package/dist/test/event-bus.test.js +0 -541
  198. package/dist/test/event-bus.test.js.map +0 -1
  199. package/dist/test/executor/executor-integration.test.d.ts +0 -2
  200. package/dist/test/executor/executor-integration.test.d.ts.map +0 -1
  201. package/dist/test/executor/executor-integration.test.js +0 -287
  202. package/dist/test/executor/executor-integration.test.js.map +0 -1
  203. package/dist/test/executor/job-execution-handle.test.d.ts +0 -2
  204. package/dist/test/executor/job-execution-handle.test.d.ts.map +0 -1
  205. package/dist/test/executor/job-execution-handle.test.js +0 -272
  206. package/dist/test/executor/job-execution-handle.test.js.map +0 -1
  207. package/dist/test/executor/simple-job-executor-manager.test.d.ts +0 -2
  208. package/dist/test/executor/simple-job-executor-manager.test.d.ts.map +0 -1
  209. package/dist/test/executor/simple-job-executor-manager.test.js +0 -132
  210. package/dist/test/executor/simple-job-executor-manager.test.js.map +0 -1
  211. package/dist/test/executor/simple-job-executor.test.d.ts +0 -2
  212. package/dist/test/executor/simple-job-executor.test.d.ts.map +0 -1
  213. package/dist/test/executor/simple-job-executor.test.js +0 -139
  214. package/dist/test/executor/simple-job-executor.test.js.map +0 -1
  215. package/dist/test/factories.d.ts +0 -122
  216. package/dist/test/factories.d.ts.map +0 -1
  217. package/dist/test/factories.js +0 -319
  218. package/dist/test/factories.js.map +0 -1
  219. package/dist/test/integration/document-drive-integration.test.d.ts +0 -2
  220. package/dist/test/integration/document-drive-integration.test.d.ts.map +0 -1
  221. package/dist/test/integration/document-drive-integration.test.js +0 -1102
  222. package/dist/test/integration/document-drive-integration.test.js.map +0 -1
  223. package/dist/test/integration/reactor-read.test.d.ts +0 -2
  224. package/dist/test/integration/reactor-read.test.d.ts.map +0 -1
  225. package/dist/test/integration/reactor-read.test.js +0 -300
  226. package/dist/test/integration/reactor-read.test.js.map +0 -1
  227. package/dist/test/queue/queue-integration.test.d.ts +0 -2
  228. package/dist/test/queue/queue-integration.test.d.ts.map +0 -1
  229. package/dist/test/queue/queue-integration.test.js +0 -322
  230. package/dist/test/queue/queue-integration.test.js.map +0 -1
  231. package/dist/test/queue/queue.test.d.ts +0 -2
  232. package/dist/test/queue/queue.test.d.ts.map +0 -1
  233. package/dist/test/queue/queue.test.js +0 -770
  234. package/dist/test/queue/queue.test.js.map +0 -1
  235. package/dist/test/registry/registry.test.d.ts +0 -2
  236. package/dist/test/registry/registry.test.d.ts.map +0 -1
  237. package/dist/test/registry/registry.test.js +0 -182
  238. package/dist/test/registry/registry.test.js.map +0 -1
  239. package/dist/test/utils.test.d.ts +0 -2
  240. package/dist/test/utils.test.d.ts.map +0 -1
  241. package/dist/test/utils.test.js +0 -66
  242. package/dist/test/utils.test.js.map +0 -1
  243. package/dist/tsconfig.tsbuildinfo +0 -1
  244. package/dist/vitest.config.d.ts +0 -3
  245. package/dist/vitest.config.d.ts.map +0 -1
  246. package/dist/vitest.config.js +0 -11
  247. package/dist/vitest.config.js.map +0 -1
  248. /package/dist/src/{utils.js → core/utils.js} +0 -0
@@ -1,287 +0,0 @@
1
- import { MemoryStorage, driveDocumentModelModule, } from "document-drive";
2
- import { beforeEach, describe, expect, it, vi } from "vitest";
3
- import { SimpleJobExecutor } from "../../src/executor/simple-job-executor.js";
4
- import { DocumentModelRegistry } from "../../src/registry/implementation.js";
5
- describe("SimpleJobExecutor Integration", () => {
6
- let executor;
7
- let registry;
8
- let storage;
9
- beforeEach(() => {
10
- // Use real storage that implements both IDocumentStorage and IDocumentOperationStorage
11
- storage = new MemoryStorage();
12
- // Setup registry with real document-drive model
13
- registry = new DocumentModelRegistry();
14
- registry.registerModules(driveDocumentModelModule);
15
- // Create executor with real storage
16
- executor = new SimpleJobExecutor(registry, storage, storage);
17
- });
18
- describe("Document Drive Operations", () => {
19
- it("should execute a job and persist the operation to storage", async () => {
20
- // Create a document-drive document
21
- const document = driveDocumentModelModule.utils.createDocument();
22
- await storage.create(document);
23
- // Create a job to add a folder
24
- const job = {
25
- id: "job-1",
26
- documentId: document.header.id,
27
- scope: "global",
28
- branch: "main",
29
- operation: {
30
- action: {
31
- id: "action-1",
32
- type: "ADD_FOLDER",
33
- scope: "global",
34
- timestampUtcMs: Date.now().toString(),
35
- input: {
36
- id: "folder-1",
37
- name: "Test Folder",
38
- parentFolder: null,
39
- },
40
- },
41
- index: 0,
42
- timestampUtcMs: Date.now().toString(),
43
- hash: "test-hash",
44
- skip: 0,
45
- },
46
- createdAt: Date.now().toString(),
47
- queueHint: [],
48
- };
49
- // Execute the job
50
- const result = await executor.executeJob(job);
51
- // Verify job executed successfully
52
- expect(result.success).toBe(true);
53
- expect(result.operation).toBeDefined();
54
- expect(result.error).toBeUndefined();
55
- // Verify operation was persisted to storage
56
- const updatedDocument = await storage.get(document.header.id);
57
- expect(updatedDocument.operations.global).toHaveLength(1);
58
- const persistedOperation = updatedDocument.operations.global[0];
59
- expect(persistedOperation.action.type).toBe("ADD_FOLDER");
60
- expect(persistedOperation.action.input).toMatchObject({
61
- id: "folder-1",
62
- name: "Test Folder",
63
- parentFolder: null,
64
- });
65
- // Verify document state reflects the change
66
- // The state structure uses 'nodes' array for both files and folders
67
- const globalState = updatedDocument.state.global;
68
- expect(globalState).toBeDefined();
69
- expect(globalState.nodes).toBeDefined();
70
- expect(globalState.nodes).toHaveLength(1);
71
- expect(globalState.nodes[0]).toMatchObject({
72
- id: "folder-1",
73
- name: "Test Folder",
74
- parentFolder: null,
75
- kind: "folder",
76
- });
77
- });
78
- it("should handle multiple sequential operations", async () => {
79
- // Create a document
80
- const document = driveDocumentModelModule.utils.createDocument();
81
- await storage.create(document);
82
- // Execute first job - add folder
83
- const job1 = {
84
- id: "job-1",
85
- documentId: document.header.id,
86
- scope: "global",
87
- branch: "main",
88
- operation: {
89
- action: {
90
- id: "action-1",
91
- type: "ADD_FOLDER",
92
- scope: "global",
93
- timestampUtcMs: Date.now().toString(),
94
- input: {
95
- id: "folder-1",
96
- name: "Parent Folder",
97
- parentFolder: null,
98
- },
99
- },
100
- index: 0,
101
- timestampUtcMs: Date.now().toString(),
102
- hash: "hash-1",
103
- skip: 0,
104
- },
105
- createdAt: Date.now().toString(),
106
- queueHint: [],
107
- };
108
- const result1 = await executor.executeJob(job1);
109
- expect(result1.success).toBe(true);
110
- // Execute second job - add child folder
111
- const job2 = {
112
- id: "job-2",
113
- documentId: document.header.id,
114
- scope: "global",
115
- branch: "main",
116
- operation: {
117
- action: {
118
- id: "action-2",
119
- type: "ADD_FOLDER",
120
- scope: "global",
121
- timestampUtcMs: (Date.now() + 1).toString(),
122
- input: {
123
- id: "folder-2",
124
- name: "Child Folder",
125
- parentFolder: "folder-1",
126
- },
127
- },
128
- index: 1,
129
- timestampUtcMs: (Date.now() + 1).toString(),
130
- hash: "hash-2",
131
- skip: 0,
132
- },
133
- createdAt: (Date.now() + 1).toString(),
134
- queueHint: [],
135
- };
136
- const result2 = await executor.executeJob(job2);
137
- expect(result2.success).toBe(true);
138
- // Verify both operations were persisted
139
- const updatedDocument = await storage.get(document.header.id);
140
- expect(updatedDocument.operations.global).toHaveLength(2);
141
- // Verify state reflects both changes
142
- const globalState = updatedDocument.state.global;
143
- expect(globalState).toBeDefined();
144
- expect(globalState.nodes).toBeDefined();
145
- expect(globalState.nodes).toHaveLength(2);
146
- const parentFolder = globalState.nodes.find((n) => n.id === "folder-1");
147
- const childFolder = globalState.nodes.find((n) => n.id === "folder-2");
148
- expect(parentFolder).toBeDefined();
149
- expect(parentFolder?.name).toBe("Parent Folder");
150
- expect(parentFolder?.kind).toBe("folder");
151
- expect(childFolder).toBeDefined();
152
- expect(childFolder?.name).toBe("Child Folder");
153
- expect(childFolder?.parentFolder).toBe("folder-1");
154
- expect(childFolder?.kind).toBe("folder");
155
- });
156
- it("should handle file operations", async () => {
157
- // Create a document with a folder
158
- const document = driveDocumentModelModule.utils.createDocument();
159
- await storage.create(document);
160
- // First add a folder
161
- const folderJob = {
162
- id: "job-folder",
163
- documentId: document.header.id,
164
- scope: "global",
165
- branch: "main",
166
- operation: {
167
- action: {
168
- id: "action-folder",
169
- type: "ADD_FOLDER",
170
- scope: "global",
171
- timestampUtcMs: Date.now().toString(),
172
- input: {
173
- id: "folder-1",
174
- name: "Documents",
175
- parentFolder: null,
176
- },
177
- },
178
- index: 0,
179
- timestampUtcMs: Date.now().toString(),
180
- hash: "hash-folder",
181
- skip: 0,
182
- },
183
- createdAt: Date.now().toString(),
184
- queueHint: [],
185
- };
186
- await executor.executeJob(folderJob);
187
- // Then add a file to the folder
188
- const fileJob = {
189
- id: "job-file",
190
- documentId: document.header.id,
191
- scope: "global",
192
- branch: "main",
193
- operation: {
194
- action: {
195
- id: "action-file",
196
- type: "ADD_FILE",
197
- scope: "global",
198
- timestampUtcMs: (Date.now() + 1).toString(),
199
- input: {
200
- id: "file-1",
201
- name: "test.txt",
202
- documentType: "text/plain",
203
- parentFolder: "folder-1",
204
- },
205
- },
206
- index: 1,
207
- timestampUtcMs: (Date.now() + 1).toString(),
208
- hash: "hash-file",
209
- skip: 0,
210
- },
211
- createdAt: (Date.now() + 1).toString(),
212
- queueHint: [],
213
- };
214
- const result = await executor.executeJob(fileJob);
215
- expect(result.success).toBe(true);
216
- // Verify operations were persisted
217
- const updatedDocument = await storage.get(document.header.id);
218
- expect(updatedDocument.operations.global).toHaveLength(2);
219
- // Verify state reflects the changes
220
- const globalState = updatedDocument.state.global;
221
- expect(globalState).toBeDefined();
222
- expect(globalState.nodes).toBeDefined();
223
- expect(globalState.nodes).toHaveLength(2); // 1 folder + 1 file
224
- const folder = globalState.nodes.find((n) => n.kind === "folder");
225
- const file = globalState.nodes.find((n) => n.kind === "file");
226
- expect(folder).toBeDefined();
227
- expect(folder?.id).toBe("folder-1");
228
- expect(file).toBeDefined();
229
- expect(file).toMatchObject({
230
- id: "file-1",
231
- name: "test.txt",
232
- documentType: "text/plain",
233
- parentFolder: "folder-1",
234
- kind: "file",
235
- });
236
- });
237
- it("should properly handle errors when operation storage fails", async () => {
238
- // Create a document
239
- const document = driveDocumentModelModule.utils.createDocument();
240
- await storage.create(document);
241
- // Create a mock storage that fails on addDocumentOperations
242
- const fn = vi.fn().mockRejectedValue(new Error("Storage write failed"));
243
- storage.addDocumentOperations = fn;
244
- const executorWithFailingStorage = new SimpleJobExecutor(registry, storage, storage);
245
- // Create a valid job
246
- const job = {
247
- id: "job-1",
248
- documentId: document.header.id,
249
- scope: "global",
250
- branch: "main",
251
- operation: {
252
- action: {
253
- id: "action-1",
254
- type: "ADD_FOLDER",
255
- scope: "global",
256
- timestampUtcMs: Date.now().toString(),
257
- input: {
258
- id: "folder-1",
259
- name: "Test Folder",
260
- parentFolder: null,
261
- },
262
- },
263
- index: 0,
264
- timestampUtcMs: Date.now().toString(),
265
- hash: "test-hash",
266
- skip: 0,
267
- },
268
- createdAt: Date.now().toString(),
269
- queueHint: [],
270
- };
271
- // Execute the job
272
- const result = await executorWithFailingStorage.executeJob(job);
273
- // Verify job failed with appropriate error
274
- expect(result.success).toBe(false);
275
- expect(result.error).toBeDefined();
276
- expect(result.error?.message).toBe("Storage write failed");
277
- // Verify no operations were persisted
278
- const unchangedDocument = await storage.get(document.header.id);
279
- expect(unchangedDocument.operations.global).toHaveLength(0);
280
- const globalState = unchangedDocument.state.global;
281
- expect(globalState).toBeDefined();
282
- expect(globalState.nodes).toBeDefined();
283
- expect(globalState.nodes).toHaveLength(0);
284
- });
285
- });
286
- });
287
- //# sourceMappingURL=executor-integration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"executor-integration.test.js","sourceRoot":"","sources":["../../../test/executor/executor-integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=job-execution-handle.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"job-execution-handle.test.d.ts","sourceRoot":"","sources":["../../../test/executor/job-execution-handle.test.ts"],"names":[],"mappings":""}
@@ -1,272 +0,0 @@
1
- import { describe, expect, it, vi } from "vitest";
2
- import { JobExecutionHandle } from "../../src/queue/job-execution-handle.js";
3
- import { JobQueueState } from "../../src/queue/types.js";
4
- import { createTestJob } from "../factories.js";
5
- describe("JobExecutionHandle", () => {
6
- describe("constructor", () => {
7
- it("should initialize with provided job and state", () => {
8
- const job = createTestJob();
9
- const handle = new JobExecutionHandle(job, JobQueueState.READY);
10
- expect(handle.job).toEqual(job);
11
- expect(handle.state).toBe(JobQueueState.READY);
12
- });
13
- it("should accept callbacks", () => {
14
- const job = createTestJob();
15
- const onStart = vi.fn();
16
- const onComplete = vi.fn();
17
- const onFail = vi.fn();
18
- const handle = new JobExecutionHandle(job, JobQueueState.READY, {
19
- onStart,
20
- onComplete,
21
- onFail,
22
- });
23
- expect(handle.job).toEqual(job);
24
- expect(handle.state).toBe(JobQueueState.READY);
25
- });
26
- });
27
- describe("start", () => {
28
- it("should transition from READY to RUNNING", () => {
29
- const job = createTestJob();
30
- const handle = new JobExecutionHandle(job, JobQueueState.READY);
31
- handle.start();
32
- expect(handle.state).toBe(JobQueueState.RUNNING);
33
- });
34
- it("should call onStart callback when starting", () => {
35
- const job = createTestJob();
36
- const onStart = vi.fn();
37
- const handle = new JobExecutionHandle(job, JobQueueState.READY, {
38
- onStart,
39
- });
40
- handle.start();
41
- expect(onStart).toHaveBeenCalledTimes(1);
42
- });
43
- it("should throw error if not in READY state", () => {
44
- const job = createTestJob();
45
- const handle = new JobExecutionHandle(job, JobQueueState.RUNNING);
46
- expect(() => handle.start()).toThrow("Cannot start job in state RUNNING");
47
- });
48
- it("should throw error if already RESOLVED", () => {
49
- const job = createTestJob();
50
- const handle = new JobExecutionHandle(job, JobQueueState.RESOLVED);
51
- expect(() => handle.start()).toThrow("Cannot start job in state RESOLVED");
52
- });
53
- });
54
- describe("complete", () => {
55
- it("should transition from RUNNING to RESOLVED", () => {
56
- const job = createTestJob();
57
- const handle = new JobExecutionHandle(job, JobQueueState.READY);
58
- handle.start();
59
- handle.complete();
60
- expect(handle.state).toBe(JobQueueState.RESOLVED);
61
- });
62
- it("should call onComplete callback when completing", () => {
63
- const job = createTestJob();
64
- const onComplete = vi.fn();
65
- const handle = new JobExecutionHandle(job, JobQueueState.READY, {
66
- onComplete,
67
- });
68
- handle.start();
69
- handle.complete();
70
- expect(onComplete).toHaveBeenCalledTimes(1);
71
- });
72
- it("should throw error if not in RUNNING state", () => {
73
- const job = createTestJob();
74
- const handle = new JobExecutionHandle(job, JobQueueState.READY);
75
- expect(() => handle.complete()).toThrow("Cannot complete job in state READY");
76
- });
77
- it("should throw error if already RESOLVED", () => {
78
- const job = createTestJob();
79
- const handle = new JobExecutionHandle(job, JobQueueState.RESOLVED);
80
- expect(() => handle.complete()).toThrow("Cannot complete job in state RESOLVED");
81
- });
82
- });
83
- describe("fail", () => {
84
- it("should transition from RUNNING to RESOLVED", () => {
85
- const job = createTestJob();
86
- const handle = new JobExecutionHandle(job, JobQueueState.READY);
87
- handle.start();
88
- handle.fail("Test error");
89
- expect(handle.state).toBe(JobQueueState.RESOLVED);
90
- });
91
- it("should call onFail callback with reason when failing", () => {
92
- const job = createTestJob();
93
- const onFail = vi.fn();
94
- const handle = new JobExecutionHandle(job, JobQueueState.READY, {
95
- onFail,
96
- });
97
- handle.start();
98
- handle.fail("Test error");
99
- expect(onFail).toHaveBeenCalledTimes(1);
100
- expect(onFail).toHaveBeenCalledWith("Test error");
101
- });
102
- it("should throw error if not in RUNNING state", () => {
103
- const job = createTestJob();
104
- const handle = new JobExecutionHandle(job, JobQueueState.READY);
105
- expect(() => handle.fail("Test error")).toThrow("Cannot fail job in state READY");
106
- });
107
- it("should throw error if already RESOLVED", () => {
108
- const job = createTestJob();
109
- const handle = new JobExecutionHandle(job, JobQueueState.RESOLVED);
110
- expect(() => handle.fail("Test error")).toThrow("Cannot fail job in state RESOLVED");
111
- });
112
- });
113
- describe("state transitions", () => {
114
- it("should follow complete lifecycle: READY -> RUNNING -> RESOLVED (complete)", () => {
115
- const job = createTestJob();
116
- const handle = new JobExecutionHandle(job, JobQueueState.READY);
117
- expect(handle.state).toBe(JobQueueState.READY);
118
- handle.start();
119
- expect(handle.state).toBe(JobQueueState.RUNNING);
120
- handle.complete();
121
- expect(handle.state).toBe(JobQueueState.RESOLVED);
122
- });
123
- it("should follow failure lifecycle: READY -> RUNNING -> RESOLVED (fail)", () => {
124
- const job = createTestJob();
125
- const handle = new JobExecutionHandle(job, JobQueueState.READY);
126
- expect(handle.state).toBe(JobQueueState.READY);
127
- handle.start();
128
- expect(handle.state).toBe(JobQueueState.RUNNING);
129
- handle.fail("Test error");
130
- expect(handle.state).toBe(JobQueueState.RESOLVED);
131
- });
132
- it("should not allow transitions after RESOLVED", () => {
133
- const job = createTestJob();
134
- const handle = new JobExecutionHandle(job, JobQueueState.READY);
135
- handle.start();
136
- handle.complete();
137
- expect(() => handle.start()).toThrow();
138
- expect(() => handle.complete()).toThrow();
139
- expect(() => handle.fail("error")).toThrow();
140
- });
141
- });
142
- describe("callbacks", () => {
143
- it("should handle missing callbacks gracefully", () => {
144
- const job = createTestJob();
145
- const handle = new JobExecutionHandle(job, JobQueueState.READY);
146
- expect(() => {
147
- handle.start();
148
- handle.complete();
149
- }).not.toThrow();
150
- });
151
- it("should call callbacks in order for complete flow", () => {
152
- const job = createTestJob();
153
- const order = [];
154
- const onStart = vi.fn(() => order.push("start"));
155
- const onComplete = vi.fn(() => order.push("complete"));
156
- const handle = new JobExecutionHandle(job, JobQueueState.READY, {
157
- onStart,
158
- onComplete,
159
- });
160
- handle.start();
161
- handle.complete();
162
- expect(order).toEqual(["start", "complete"]);
163
- });
164
- it("should call callbacks in order for failure flow", () => {
165
- const job = createTestJob();
166
- const order = [];
167
- const onStart = vi.fn(() => order.push("start"));
168
- const onFail = vi.fn(() => order.push("fail"));
169
- const handle = new JobExecutionHandle(job, JobQueueState.READY, {
170
- onStart,
171
- onFail,
172
- });
173
- handle.start();
174
- handle.fail("Test error");
175
- expect(order).toEqual(["start", "fail"]);
176
- });
177
- it("should not call onComplete when failing", () => {
178
- const job = createTestJob();
179
- const onComplete = vi.fn();
180
- const onFail = vi.fn();
181
- const handle = new JobExecutionHandle(job, JobQueueState.READY, {
182
- onComplete,
183
- onFail,
184
- });
185
- handle.start();
186
- handle.fail("Test error");
187
- expect(onComplete).not.toHaveBeenCalled();
188
- expect(onFail).toHaveBeenCalledTimes(1);
189
- });
190
- it("should not call onFail when completing", () => {
191
- const job = createTestJob();
192
- const onComplete = vi.fn();
193
- const onFail = vi.fn();
194
- const handle = new JobExecutionHandle(job, JobQueueState.READY, {
195
- onComplete,
196
- onFail,
197
- });
198
- handle.start();
199
- handle.complete();
200
- expect(onFail).not.toHaveBeenCalled();
201
- expect(onComplete).toHaveBeenCalledTimes(1);
202
- });
203
- });
204
- describe("job property", () => {
205
- it("should be readonly and return the same job", () => {
206
- const job = createTestJob();
207
- const handle = new JobExecutionHandle(job, JobQueueState.READY);
208
- const job1 = handle.job;
209
- const job2 = handle.job;
210
- expect(job1).toBe(job);
211
- expect(job2).toBe(job);
212
- expect(job1).toBe(job2);
213
- });
214
- it("should preserve all job properties", () => {
215
- const job = createTestJob({
216
- id: "test-job-id",
217
- documentId: "test-doc",
218
- scope: "test-scope",
219
- branch: "test-branch",
220
- retryCount: 2,
221
- maxRetries: 5,
222
- lastError: "previous error",
223
- });
224
- const handle = new JobExecutionHandle(job, JobQueueState.READY);
225
- expect(handle.job.id).toBe("test-job-id");
226
- expect(handle.job.documentId).toBe("test-doc");
227
- expect(handle.job.scope).toBe("test-scope");
228
- expect(handle.job.branch).toBe("test-branch");
229
- expect(handle.job.retryCount).toBe(2);
230
- expect(handle.job.maxRetries).toBe(5);
231
- expect(handle.job.lastError).toBe("previous error");
232
- });
233
- });
234
- describe("edge cases", () => {
235
- it("should handle rapid state transitions", () => {
236
- const job = createTestJob();
237
- const onStart = vi.fn();
238
- const onComplete = vi.fn();
239
- const handle = new JobExecutionHandle(job, JobQueueState.READY, {
240
- onStart,
241
- onComplete,
242
- });
243
- handle.start();
244
- handle.complete();
245
- expect(onStart).toHaveBeenCalledTimes(1);
246
- expect(onComplete).toHaveBeenCalledTimes(1);
247
- expect(handle.state).toBe(JobQueueState.RESOLVED);
248
- });
249
- it("should handle callbacks that throw errors", () => {
250
- const job = createTestJob();
251
- const onStart = vi.fn(() => {
252
- throw new Error("Callback error");
253
- });
254
- const handle = new JobExecutionHandle(job, JobQueueState.READY, {
255
- onStart,
256
- });
257
- expect(() => handle.start()).toThrow("Callback error");
258
- // State should still transition despite callback error
259
- expect(handle.state).toBe(JobQueueState.RUNNING);
260
- });
261
- it("should initialize with different starting states", () => {
262
- const job = createTestJob();
263
- const handle1 = new JobExecutionHandle(job, JobQueueState.PREPROCESSING);
264
- expect(handle1.state).toBe(JobQueueState.PREPROCESSING);
265
- const handle2 = new JobExecutionHandle(job, JobQueueState.PENDING);
266
- expect(handle2.state).toBe(JobQueueState.PENDING);
267
- const handle3 = new JobExecutionHandle(job, JobQueueState.UNKNOWN);
268
- expect(handle3.state).toBe(JobQueueState.UNKNOWN);
269
- });
270
- });
271
- });
272
- //# sourceMappingURL=job-execution-handle.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"job-execution-handle.test.js","sourceRoot":"","sources":["../../../test/executor/job-execution-handle.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=simple-job-executor-manager.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"simple-job-executor-manager.test.d.ts","sourceRoot":"","sources":["../../../test/executor/simple-job-executor-manager.test.ts"],"names":[],"mappings":""}