@powerhousedao/reactor 4.1.0-dev.10 → 4.1.0-dev.100

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 (234) 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/core/reactor-builder.d.ts +24 -0
  34. package/dist/src/core/reactor-builder.d.ts.map +1 -0
  35. package/dist/src/core/reactor-builder.js +152 -0
  36. package/dist/src/core/reactor-builder.js.map +1 -0
  37. package/dist/src/core/reactor.d.ts +96 -0
  38. package/dist/src/core/reactor.d.ts.map +1 -0
  39. package/dist/src/core/reactor.js +666 -0
  40. package/dist/src/core/reactor.js.map +1 -0
  41. package/dist/src/core/types.d.ts +168 -0
  42. package/dist/src/core/types.d.ts.map +1 -0
  43. package/dist/src/core/types.js +2 -0
  44. package/dist/src/core/types.js.map +1 -0
  45. package/dist/src/core/utils.d.ts +50 -0
  46. package/dist/src/core/utils.d.ts.map +1 -0
  47. package/dist/src/core/utils.js +133 -0
  48. package/dist/src/core/utils.js.map +1 -0
  49. package/dist/src/events/event-bus.d.ts +3 -3
  50. package/dist/src/events/event-bus.d.ts.map +1 -1
  51. package/dist/src/events/event-bus.js.map +1 -1
  52. package/dist/src/events/interfaces.d.ts +1 -1
  53. package/dist/src/events/interfaces.d.ts.map +1 -1
  54. package/dist/src/events/types.d.ts +15 -1
  55. package/dist/src/events/types.d.ts.map +1 -1
  56. package/dist/src/events/types.js +6 -0
  57. package/dist/src/events/types.js.map +1 -1
  58. package/dist/src/executor/interfaces.d.ts +31 -54
  59. package/dist/src/executor/interfaces.d.ts.map +1 -1
  60. package/dist/src/executor/simple-job-executor-manager.d.ts +32 -0
  61. package/dist/src/executor/simple-job-executor-manager.d.ts.map +1 -0
  62. package/dist/src/executor/simple-job-executor-manager.js +212 -0
  63. package/dist/src/executor/simple-job-executor-manager.js.map +1 -0
  64. package/dist/src/executor/simple-job-executor.d.ts +58 -0
  65. package/dist/src/executor/simple-job-executor.d.ts.map +1 -0
  66. package/dist/src/executor/simple-job-executor.js +516 -0
  67. package/dist/src/executor/simple-job-executor.js.map +1 -0
  68. package/dist/src/executor/types.d.ts +32 -8
  69. package/dist/src/executor/types.d.ts.map +1 -1
  70. package/dist/src/executor/types.js.map +1 -1
  71. package/dist/src/executor/util.d.ts +47 -0
  72. package/dist/src/executor/util.d.ts.map +1 -0
  73. package/dist/src/executor/util.js +113 -0
  74. package/dist/src/executor/util.js.map +1 -0
  75. package/dist/src/index.d.ts +32 -3
  76. package/dist/src/index.d.ts.map +1 -1
  77. package/dist/src/index.js +38 -2
  78. package/dist/src/index.js.map +1 -1
  79. package/dist/src/job-tracker/in-memory-job-tracker.d.ts +16 -0
  80. package/dist/src/job-tracker/in-memory-job-tracker.d.ts.map +1 -0
  81. package/dist/src/job-tracker/in-memory-job-tracker.js +78 -0
  82. package/dist/src/job-tracker/in-memory-job-tracker.js.map +1 -0
  83. package/dist/src/job-tracker/index.d.ts +3 -0
  84. package/dist/src/job-tracker/index.d.ts.map +1 -0
  85. package/dist/src/job-tracker/index.js +2 -0
  86. package/dist/src/job-tracker/index.js.map +1 -0
  87. package/dist/src/job-tracker/interfaces.d.ts +41 -0
  88. package/dist/src/job-tracker/interfaces.d.ts.map +1 -0
  89. package/dist/src/job-tracker/interfaces.js +2 -0
  90. package/dist/src/job-tracker/interfaces.js.map +1 -0
  91. package/dist/src/queue/interfaces.d.ts +46 -5
  92. package/dist/src/queue/interfaces.d.ts.map +1 -1
  93. package/dist/src/queue/job-execution-handle.d.ts +25 -0
  94. package/dist/src/queue/job-execution-handle.d.ts.map +1 -0
  95. package/dist/src/queue/job-execution-handle.js +62 -0
  96. package/dist/src/queue/job-execution-handle.js.map +1 -0
  97. package/dist/src/queue/queue.d.ts +56 -5
  98. package/dist/src/queue/queue.d.ts.map +1 -1
  99. package/dist/src/queue/queue.js +284 -36
  100. package/dist/src/queue/queue.js.map +1 -1
  101. package/dist/src/queue/types.d.ts +33 -5
  102. package/dist/src/queue/types.d.ts.map +1 -1
  103. package/dist/src/queue/types.js +12 -0
  104. package/dist/src/queue/types.js.map +1 -1
  105. package/dist/src/read-models/coordinator.d.ts +38 -0
  106. package/dist/src/read-models/coordinator.d.ts.map +1 -0
  107. package/dist/src/read-models/coordinator.js +62 -0
  108. package/dist/src/read-models/coordinator.js.map +1 -0
  109. package/dist/src/read-models/document-view.d.ts +20 -0
  110. package/dist/src/read-models/document-view.d.ts.map +1 -0
  111. package/dist/src/read-models/document-view.js +365 -0
  112. package/dist/src/read-models/document-view.js.map +1 -0
  113. package/dist/src/read-models/interfaces.d.ts +29 -0
  114. package/dist/src/read-models/interfaces.d.ts.map +1 -0
  115. package/dist/src/read-models/interfaces.js +2 -0
  116. package/dist/src/read-models/interfaces.js.map +1 -0
  117. package/dist/src/read-models/types.d.ts +46 -0
  118. package/dist/src/read-models/types.d.ts.map +1 -0
  119. package/dist/src/read-models/types.js +2 -0
  120. package/dist/src/read-models/types.js.map +1 -0
  121. package/dist/src/registry/implementation.d.ts +62 -0
  122. package/dist/src/registry/implementation.d.ts.map +1 -0
  123. package/dist/src/registry/implementation.js +96 -0
  124. package/dist/src/registry/implementation.js.map +1 -0
  125. package/dist/src/registry/index.d.ts +3 -0
  126. package/dist/src/registry/index.d.ts.map +1 -0
  127. package/dist/src/registry/index.js +2 -0
  128. package/dist/src/registry/index.js.map +1 -0
  129. package/dist/src/registry/interfaces.d.ts +39 -0
  130. package/dist/src/registry/interfaces.d.ts.map +1 -0
  131. package/dist/src/registry/interfaces.js +2 -0
  132. package/dist/src/registry/interfaces.js.map +1 -0
  133. package/dist/src/shared/awaiter.d.ts +32 -0
  134. package/dist/src/shared/awaiter.d.ts.map +1 -0
  135. package/dist/src/shared/awaiter.js +132 -0
  136. package/dist/src/shared/awaiter.js.map +1 -0
  137. package/dist/src/shared/errors.d.ts +17 -0
  138. package/dist/src/shared/errors.d.ts.map +1 -0
  139. package/dist/src/shared/errors.js +33 -0
  140. package/dist/src/shared/errors.js.map +1 -0
  141. package/dist/src/shared/factories.d.ts +16 -0
  142. package/dist/src/shared/factories.d.ts.map +1 -0
  143. package/dist/src/shared/factories.js +33 -0
  144. package/dist/src/shared/factories.js.map +1 -0
  145. package/dist/src/shared/types.d.ts +100 -20
  146. package/dist/src/shared/types.d.ts.map +1 -1
  147. package/dist/src/shared/types.js +35 -1
  148. package/dist/src/shared/types.js.map +1 -1
  149. package/dist/src/shared/utils.d.ts +3 -0
  150. package/dist/src/shared/utils.d.ts.map +1 -0
  151. package/dist/src/shared/utils.js +8 -0
  152. package/dist/src/shared/utils.js.map +1 -0
  153. package/dist/src/signer/passthrough-signer.d.ts +6 -0
  154. package/dist/src/signer/passthrough-signer.d.ts.map +1 -0
  155. package/dist/src/signer/passthrough-signer.js +6 -0
  156. package/dist/src/signer/passthrough-signer.js.map +1 -0
  157. package/dist/src/signer/types.d.ts +15 -0
  158. package/dist/src/signer/types.d.ts.map +1 -0
  159. package/dist/src/signer/types.js +2 -0
  160. package/dist/src/signer/types.js.map +1 -0
  161. package/dist/src/storage/interfaces.d.ts +209 -0
  162. package/dist/src/storage/interfaces.d.ts.map +1 -0
  163. package/dist/src/storage/interfaces.js +19 -0
  164. package/dist/src/storage/interfaces.js.map +1 -0
  165. package/dist/src/storage/kysely/document-indexer.d.ts +25 -0
  166. package/dist/src/storage/kysely/document-indexer.d.ts.map +1 -0
  167. package/dist/src/storage/kysely/document-indexer.js +345 -0
  168. package/dist/src/storage/kysely/document-indexer.js.map +1 -0
  169. package/dist/src/storage/kysely/keyframe-store.d.ts +15 -0
  170. package/dist/src/storage/kysely/keyframe-store.d.ts.map +1 -0
  171. package/dist/src/storage/kysely/keyframe-store.js +71 -0
  172. package/dist/src/storage/kysely/keyframe-store.js.map +1 -0
  173. package/dist/src/storage/kysely/store.d.ts +15 -0
  174. package/dist/src/storage/kysely/store.d.ts.map +1 -0
  175. package/dist/src/storage/kysely/store.js +196 -0
  176. package/dist/src/storage/kysely/store.js.map +1 -0
  177. package/dist/src/storage/kysely/types.d.ts +72 -0
  178. package/dist/src/storage/kysely/types.d.ts.map +1 -0
  179. package/dist/src/storage/kysely/types.js +2 -0
  180. package/dist/src/storage/kysely/types.js.map +1 -0
  181. package/dist/src/storage/txn.d.ts +15 -0
  182. package/dist/src/storage/txn.d.ts.map +1 -0
  183. package/dist/src/storage/txn.js +43 -0
  184. package/dist/src/storage/txn.js.map +1 -0
  185. package/dist/src/subs/default-error-handler.d.ts +13 -0
  186. package/dist/src/subs/default-error-handler.d.ts.map +1 -0
  187. package/dist/src/subs/default-error-handler.js +27 -0
  188. package/dist/src/subs/default-error-handler.js.map +1 -0
  189. package/dist/src/subs/react-subscription-manager.d.ts +45 -0
  190. package/dist/src/subs/react-subscription-manager.d.ts.map +1 -0
  191. package/dist/src/subs/react-subscription-manager.js +185 -0
  192. package/dist/src/subs/react-subscription-manager.js.map +1 -0
  193. package/dist/src/subs/types.d.ts +64 -0
  194. package/dist/src/subs/types.d.ts.map +1 -0
  195. package/dist/src/subs/types.js +2 -0
  196. package/dist/src/subs/types.js.map +1 -0
  197. package/dist/src/utils/reshuffle.d.ts +30 -0
  198. package/dist/src/utils/reshuffle.d.ts.map +1 -0
  199. package/dist/src/utils/reshuffle.js +47 -0
  200. package/dist/src/utils/reshuffle.js.map +1 -0
  201. package/package.json +18 -7
  202. package/dist/bench/end-to-end-flow.bench.d.ts +0 -2
  203. package/dist/bench/end-to-end-flow.bench.d.ts.map +0 -1
  204. package/dist/bench/end-to-end-flow.bench.js +0 -256
  205. package/dist/bench/end-to-end-flow.bench.js.map +0 -1
  206. package/dist/bench/event-bus.bench.d.ts +0 -2
  207. package/dist/bench/event-bus.bench.d.ts.map +0 -1
  208. package/dist/bench/event-bus.bench.js +0 -238
  209. package/dist/bench/event-bus.bench.js.map +0 -1
  210. package/dist/bench/queue-only.bench.d.ts +0 -2
  211. package/dist/bench/queue-only.bench.d.ts.map +0 -1
  212. package/dist/bench/queue-only.bench.js +0 -40
  213. package/dist/bench/queue-only.bench.js.map +0 -1
  214. package/dist/bench/reactor-throughput.bench.d.ts +0 -2
  215. package/dist/bench/reactor-throughput.bench.d.ts.map +0 -1
  216. package/dist/bench/reactor-throughput.bench.js +0 -137
  217. package/dist/bench/reactor-throughput.bench.js.map +0 -1
  218. package/dist/src/executor/job-executor.d.ts +0 -62
  219. package/dist/src/executor/job-executor.d.ts.map +0 -1
  220. package/dist/src/executor/job-executor.js +0 -325
  221. package/dist/src/executor/job-executor.js.map +0 -1
  222. package/dist/test/event-bus.test.d.ts +0 -2
  223. package/dist/test/event-bus.test.d.ts.map +0 -1
  224. package/dist/test/event-bus.test.js +0 -532
  225. package/dist/test/event-bus.test.js.map +0 -1
  226. package/dist/test/job-executor.test.d.ts +0 -2
  227. package/dist/test/job-executor.test.d.ts.map +0 -1
  228. package/dist/test/job-executor.test.js +0 -581
  229. package/dist/test/job-executor.test.js.map +0 -1
  230. package/dist/test/queue.test.d.ts +0 -2
  231. package/dist/test/queue.test.d.ts.map +0 -1
  232. package/dist/test/queue.test.js +0 -396
  233. package/dist/test/queue.test.js.map +0 -1
  234. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-subscription-manager.js","sourceRoot":"","sources":["../../../src/subs/react-subscription-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import type { PHDocument } from "document-model";
2
+ import type { PagedResults, RelationshipChangeType, SearchFilter, ViewFilter } from "../shared/types.js";
3
+ /**
4
+ * Error handler for subscription callback errors
5
+ */
6
+ export interface ISubscriptionErrorHandler {
7
+ /**
8
+ * Called when a subscription callback throws an error
9
+ * @param error - The error that was thrown
10
+ * @param context - Context about which subscription failed
11
+ */
12
+ handleError(error: unknown, context: SubscriptionErrorContext): void;
13
+ }
14
+ /**
15
+ * Context information about a subscription error
16
+ */
17
+ export interface SubscriptionErrorContext {
18
+ /** The type of event that was being processed */
19
+ eventType: "created" | "deleted" | "updated" | "relationshipChanged";
20
+ /** The subscription ID that failed */
21
+ subscriptionId: string;
22
+ /** Optional additional data about the event */
23
+ eventData?: unknown;
24
+ }
25
+ /**
26
+ * Interface for subscribing to document events in the reactor.
27
+ */
28
+ export interface IReactorSubscriptionManager {
29
+ /**
30
+ * Subscribes to document creation events
31
+ *
32
+ * @param callback - Function called when documents are created
33
+ * @param search - Optional search filter to limit which documents trigger events
34
+ * @param view - Optional filter containing branch and scopes information
35
+ * @returns A function that unsubscribes from the events
36
+ */
37
+ onDocumentCreated(callback: (result: PagedResults<string>) => void, search?: SearchFilter): () => void;
38
+ /**
39
+ * Subscribes to document deletion events
40
+ *
41
+ * @param callback - Function called when documents are deleted
42
+ * @param search - Optional search filter to limit which documents trigger events
43
+ * @returns A function that unsubscribes from the events
44
+ */
45
+ onDocumentDeleted(callback: (documentIds: string[]) => void, search?: SearchFilter): () => void;
46
+ /**
47
+ * Subscribes to document state updates
48
+ *
49
+ * @param callback - Function called when documents are updated
50
+ * @param search - Optional search filter to limit which documents trigger events
51
+ * @param view - Optional filter containing branch and scopes information
52
+ * @returns A function that unsubscribes from the events
53
+ */
54
+ onDocumentStateUpdated(callback: (result: PagedResults<PHDocument>) => void, search?: SearchFilter, view?: ViewFilter): () => void;
55
+ /**
56
+ * Subscribes to parent-child relationship change events
57
+ *
58
+ * @param callback - Function called when parent-child relationships change
59
+ * @param search - Optional search filter to limit which documents trigger events
60
+ * @returns A function that unsubscribes from the events
61
+ */
62
+ onRelationshipChanged(callback: (parentId: string, childId: string, changeType: RelationshipChangeType) => void, search?: SearchFilter): () => void;
63
+ }
64
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/subs/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EACV,YAAY,EACZ,sBAAsB,EACtB,YAAY,EACZ,UAAU,EACX,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAAC;CACtE;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,iDAAiD;IACjD,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,qBAAqB,CAAC;IACrE,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;;;;OAOG;IACH,iBAAiB,CACf,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI,EAChD,MAAM,CAAC,EAAE,YAAY,GACpB,MAAM,IAAI,CAAC;IAEd;;;;;;OAMG;IACH,iBAAiB,CACf,QAAQ,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,EACzC,MAAM,CAAC,EAAE,YAAY,GACpB,MAAM,IAAI,CAAC;IAEd;;;;;;;OAOG;IACH,sBAAsB,CACpB,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,EACpD,MAAM,CAAC,EAAE,YAAY,EACrB,IAAI,CAAC,EAAE,UAAU,GAChB,MAAM,IAAI,CAAC;IAEd;;;;;;OAMG;IACH,qBAAqB,CACnB,QAAQ,EAAE,CACR,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,sBAAsB,KAC/B,IAAI,EACT,MAAM,CAAC,EAAE,YAAY,GACpB,MAAM,IAAI,CAAC;CACf"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/subs/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ type OperationIndex = {
2
+ index: number;
3
+ skip: number;
4
+ id?: string;
5
+ timestampUtcMs?: string;
6
+ };
7
+ /**
8
+ * Sorts operations by index and skip number.
9
+ * [0:0 2:0 1:0 3:3 3:1] => [0:0 1:0 2:0 3:1 3:3]
10
+ */
11
+ export declare function sortOperations<TOpIndex extends OperationIndex>(operations: TOpIndex[]): TOpIndex[];
12
+ /**
13
+ * Reshuffles operations by timestamp only, ignoring their original index values.
14
+ * Used for merging concurrent operations from different branches.
15
+ *
16
+ * Example:
17
+ * [0:0, 1:0, 2:0, A3:0, A4:0, A5:0] + [0:0, 1:0, 2:0, B3:0, B4:2, B5:0]
18
+ * GC => [0:0, 1:0, 2:0, A3:0, A4:0, A5:0] + [0:0, 1:0, B4:2, B5:0]
19
+ * Split => [0:0, 1:0] + [2:0, A3:0, A4:0, A5:0] + [B4:2, B5:0]
20
+ * Reshuffle(6:4) => [6:4, 7:0, 8:0, 9:0, 10:0, 11:0]
21
+ * merge => [0:0, 1:0, 6:4, 7:0, 8:0, 9:0, 10:0, 11:0]
22
+ */
23
+ export declare function reshuffleByTimestamp<TOp extends OperationIndex>(startIndex: OperationIndex, opsA: TOp[], opsB: TOp[]): TOp[];
24
+ /**
25
+ * Reshuffles operations by timestamp first, then by original index value.
26
+ * Used for merging concurrent operations while preserving index ordering for operations with same timestamp.
27
+ */
28
+ export declare function reshuffleByTimestampAndIndex<TOp extends OperationIndex>(startIndex: OperationIndex, opsA: TOp[], opsB: TOp[]): TOp[];
29
+ export {};
30
+ //# sourceMappingURL=reshuffle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reshuffle.d.ts","sourceRoot":"","sources":["../../../src/utils/reshuffle.ts"],"names":[],"mappings":"AAAA,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,SAAS,cAAc,EAC5D,UAAU,EAAE,QAAQ,EAAE,GACrB,QAAQ,EAAE,CAKZ;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,SAAS,cAAc,EAC7D,UAAU,EAAE,cAAc,EAC1B,IAAI,EAAE,GAAG,EAAE,EACX,IAAI,EAAE,GAAG,EAAE,GACV,GAAG,EAAE,CAYP;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,SAAS,cAAc,EACrE,UAAU,EAAE,cAAc,EAC1B,IAAI,EAAE,GAAG,EAAE,EACX,IAAI,EAAE,GAAG,EAAE,GACV,GAAG,EAAE,CAaP"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Sorts operations by index and skip number.
3
+ * [0:0 2:0 1:0 3:3 3:1] => [0:0 1:0 2:0 3:1 3:3]
4
+ */
5
+ export function sortOperations(operations) {
6
+ return operations
7
+ .slice()
8
+ .sort((a, b) => a.skip - b.skip)
9
+ .sort((a, b) => a.index - b.index);
10
+ }
11
+ /**
12
+ * Reshuffles operations by timestamp only, ignoring their original index values.
13
+ * Used for merging concurrent operations from different branches.
14
+ *
15
+ * Example:
16
+ * [0:0, 1:0, 2:0, A3:0, A4:0, A5:0] + [0:0, 1:0, 2:0, B3:0, B4:2, B5:0]
17
+ * GC => [0:0, 1:0, 2:0, A3:0, A4:0, A5:0] + [0:0, 1:0, B4:2, B5:0]
18
+ * Split => [0:0, 1:0] + [2:0, A3:0, A4:0, A5:0] + [B4:2, B5:0]
19
+ * Reshuffle(6:4) => [6:4, 7:0, 8:0, 9:0, 10:0, 11:0]
20
+ * merge => [0:0, 1:0, 6:4, 7:0, 8:0, 9:0, 10:0, 11:0]
21
+ */
22
+ export function reshuffleByTimestamp(startIndex, opsA, opsB) {
23
+ return [...opsA, ...opsB]
24
+ .sort((a, b) => new Date(a.timestampUtcMs || "").getTime() -
25
+ new Date(b.timestampUtcMs || "").getTime())
26
+ .map((op, i) => ({
27
+ ...op,
28
+ index: startIndex.index + i,
29
+ skip: i === 0 ? startIndex.skip : 0,
30
+ }));
31
+ }
32
+ /**
33
+ * Reshuffles operations by timestamp first, then by original index value.
34
+ * Used for merging concurrent operations while preserving index ordering for operations with same timestamp.
35
+ */
36
+ export function reshuffleByTimestampAndIndex(startIndex, opsA, opsB) {
37
+ return [...opsA, ...opsB]
38
+ .sort((a, b) => new Date(a.timestampUtcMs || "").getTime() -
39
+ new Date(b.timestampUtcMs || "").getTime())
40
+ .sort((a, b) => a.index - b.index)
41
+ .map((op, i) => ({
42
+ ...op,
43
+ index: startIndex.index + i,
44
+ skip: i === 0 ? startIndex.skip : 0,
45
+ }));
46
+ }
47
+ //# sourceMappingURL=reshuffle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reshuffle.js","sourceRoot":"","sources":["../../../src/utils/reshuffle.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,UAAsB;IAEtB,OAAO,UAAU;SACd,KAAK,EAAE;SACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;SAC/B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAA0B,EAC1B,IAAW,EACX,IAAW;IAEX,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;SACtB,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;QAC1C,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAC7C;SACA,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACf,GAAG,EAAE;QACL,KAAK,EAAE,UAAU,CAAC,KAAK,GAAG,CAAC;QAC3B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACpC,CAAC,CAAC,CAAC;AACR,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAC1C,UAA0B,EAC1B,IAAW,EACX,IAAW;IAEX,OAAO,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;SACtB,IAAI,CACH,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;QAC1C,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAC7C;SACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QACf,GAAG,EAAE;QACL,KAAK,EAAE,UAAU,CAAC,KAAK,GAAG,CAAC;QAC3B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KACpC,CAAC,CAAC,CAAC;AACR,CAAC"}
package/package.json CHANGED
@@ -1,21 +1,21 @@
1
1
  {
2
2
  "name": "@powerhousedao/reactor",
3
- "version": "4.1.0-dev.10",
3
+ "version": "4.1.0-dev.100",
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"
@@ -23,18 +23,29 @@
23
23
  "keywords": [],
24
24
  "author": "",
25
25
  "license": "AGPL-3.0-only",
26
+ "dependencies": {
27
+ "@electric-sql/pglite": "0.2.17",
28
+ "kysely": "^0.28.2",
29
+ "kysely-pglite": "^0.6.1",
30
+ "uuid": "^11.0.5",
31
+ "document-drive": "4.1.0-dev.100",
32
+ "document-model": "4.1.0-dev.100"
33
+ },
26
34
  "devDependencies": {
35
+ "@vitest/coverage-v8": "^3.2.4",
27
36
  "typescript": "^5.7.3",
28
- "vitest": "^3.1.2"
37
+ "vitest": "^3.2.4"
29
38
  },
30
39
  "scripts": {
31
40
  "build": "pnpm run build:tsc",
32
41
  "build:tsc": "tsc --build",
33
42
  "prebuild": "pnpm run clean",
34
- "test": "vitest run",
43
+ "test": "vitest run --coverage --printConsoleTrace=true --silent=false",
44
+ "test:watch": "vitest --coverage",
35
45
  "lint": "eslint",
36
46
  "bench": "vitest bench --run",
37
47
  "clean": "rimraf dist",
38
- "clean:node_modules": "rimraf node_modules"
48
+ "clean:node_modules": "rimraf node_modules",
49
+ "claude": "pnpm build && pnpm test && npx prettier --write \"**/*.ts\" && pnpm lint"
39
50
  }
40
51
  }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=end-to-end-flow.bench.d.ts.map
@@ -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,256 +0,0 @@
1
- import { afterEach, beforeEach, bench, describe } from "vitest";
2
- import { EventBus } from "../src/events/event-bus.js";
3
- import { InMemoryJobExecutor } from "../src/executor/job-executor.js";
4
- import { InMemoryQueue } from "../src/queue/queue.js";
5
- // Test data generators
6
- function createSimpleJob(id, documentId = "doc1", scope = "default", branch = "main") {
7
- return {
8
- id,
9
- documentId,
10
- scope,
11
- branch,
12
- operation: {
13
- type: "CREATE",
14
- input: { data: `simple data ${id}` },
15
- index: 0,
16
- timestamp: new Date().toISOString(),
17
- hash: `hash-${Date.now()}`,
18
- skip: 0,
19
- },
20
- maxRetries: 0,
21
- createdAt: new Date().toISOString(),
22
- };
23
- }
24
- function createComplexJob(id, documentId = "doc1", scope = "default", branch = "main") {
25
- return {
26
- id,
27
- documentId,
28
- scope,
29
- branch,
30
- operation: {
31
- type: "UPDATE",
32
- input: {
33
- data: Array.from({ length: 100 }, (_, i) => `complex data item ${i}`),
34
- metadata: {
35
- timestamp: Date.now(),
36
- user: "test-user",
37
- version: "1.0.0",
38
- },
39
- },
40
- index: Math.floor(Math.random() * 1000),
41
- timestamp: new Date().toISOString(),
42
- hash: `hash-${Date.now()}`,
43
- skip: 0,
44
- },
45
- maxRetries: 0,
46
- createdAt: new Date().toISOString(),
47
- };
48
- }
49
- describe("Queue Performance", () => {
50
- let eventBus;
51
- let queue;
52
- beforeEach(() => {
53
- eventBus = new EventBus();
54
- queue = new InMemoryQueue(eventBus);
55
- });
56
- afterEach(async () => {
57
- await queue.clearAll();
58
- });
59
- bench("enqueue simple job", async () => {
60
- const job = createSimpleJob(`job-${Math.random()}`);
61
- await queue.enqueue(job);
62
- });
63
- bench("enqueue complex job", async () => {
64
- const job = createComplexJob(`job-${Math.random()}`);
65
- await queue.enqueue(job);
66
- });
67
- bench("enqueue and dequeue simple job", async () => {
68
- const job = createSimpleJob(`job-${Math.random()}`);
69
- await queue.enqueue(job);
70
- await queue.dequeue(job.documentId, job.scope, job.branch);
71
- });
72
- bench("enqueue and dequeue complex job", async () => {
73
- const job = createComplexJob(`job-${Math.random()}`);
74
- await queue.enqueue(job);
75
- await queue.dequeue(job.documentId, job.scope, job.branch);
76
- });
77
- });
78
- describe("Queue Operations with Pre-filled Data", () => {
79
- let eventBus;
80
- let queue;
81
- let prefilledJobs;
82
- beforeEach(async () => {
83
- eventBus = new EventBus();
84
- queue = new InMemoryQueue(eventBus);
85
- // Pre-fill queue with jobs for realistic testing
86
- prefilledJobs = Array.from({ length: 100 }, (_, i) => createSimpleJob(`prefill-${i}`));
87
- for (const job of prefilledJobs) {
88
- await queue.enqueue(job);
89
- }
90
- });
91
- afterEach(async () => {
92
- await queue.clearAll();
93
- });
94
- bench("enqueue to populated queue", async () => {
95
- const job = createSimpleJob(`new-${Math.random()}`);
96
- await queue.enqueue(job);
97
- });
98
- bench("dequeue from populated queue", async () => {
99
- await queue.dequeueNext();
100
- });
101
- bench("remove specific job from populated queue", async () => {
102
- const randomJob = prefilledJobs[Math.floor(Math.random() * prefilledJobs.length)];
103
- await queue.remove(randomJob.id);
104
- });
105
- bench("get queue size", async () => {
106
- await queue.totalSize();
107
- });
108
- });
109
- describe("Job Executor Performance", () => {
110
- let eventBus;
111
- let queue;
112
- let executor;
113
- beforeEach(async () => {
114
- eventBus = new EventBus();
115
- queue = new InMemoryQueue(eventBus);
116
- executor = new InMemoryJobExecutor(eventBus, queue);
117
- await executor.start({ maxConcurrency: 1, jobTimeout: 5000 });
118
- });
119
- afterEach(async () => {
120
- await executor.stop(false);
121
- await queue.clearAll();
122
- });
123
- bench("execute single simple job", async () => {
124
- const job = createSimpleJob(`exec-${Math.random()}`);
125
- await executor.executeJob(job);
126
- });
127
- bench("execute single complex job", async () => {
128
- const job = createComplexJob(`exec-${Math.random()}`);
129
- await executor.executeJob(job);
130
- });
131
- bench("get executor status", async () => {
132
- await executor.getStatus();
133
- });
134
- bench("get executor stats", async () => {
135
- await executor.getStats();
136
- });
137
- });
138
- describe("Event Bus with Queue Integration", () => {
139
- let eventBus;
140
- let queue;
141
- beforeEach(() => {
142
- eventBus = new EventBus();
143
- queue = new InMemoryQueue(eventBus);
144
- });
145
- afterEach(async () => {
146
- await queue.clearAll();
147
- });
148
- bench("enqueue with event emission", async () => {
149
- const job = createSimpleJob(`event-${Math.random()}`);
150
- await queue.enqueue(job); // This triggers event emission
151
- });
152
- bench("multiple enqueues with events", async () => {
153
- const jobs = Array.from({ length: 5 }, (_, i) => createSimpleJob(`batch-${i}-${Math.random()}`));
154
- for (const job of jobs) {
155
- await queue.enqueue(job);
156
- }
157
- });
158
- });
159
- describe("Multi-Queue Scenarios", () => {
160
- let eventBus;
161
- let queue;
162
- beforeEach(() => {
163
- eventBus = new EventBus();
164
- queue = new InMemoryQueue(eventBus);
165
- });
166
- afterEach(async () => {
167
- await queue.clearAll();
168
- });
169
- bench("enqueue jobs to different documents", async () => {
170
- const job1 = createSimpleJob(`doc1-${Math.random()}`, "doc1");
171
- const job2 = createSimpleJob(`doc2-${Math.random()}`, "doc2");
172
- const job3 = createSimpleJob(`doc3-${Math.random()}`, "doc3");
173
- await queue.enqueue(job1);
174
- await queue.enqueue(job2);
175
- await queue.enqueue(job3);
176
- });
177
- bench("enqueue jobs to different scopes", async () => {
178
- const job1 = createSimpleJob(`scope1-${Math.random()}`, "doc1", "scope1");
179
- const job2 = createSimpleJob(`scope2-${Math.random()}`, "doc1", "scope2");
180
- const job3 = createSimpleJob(`scope3-${Math.random()}`, "doc1", "scope3");
181
- await queue.enqueue(job1);
182
- await queue.enqueue(job2);
183
- await queue.enqueue(job3);
184
- });
185
- bench("enqueue jobs to different branches", async () => {
186
- const job1 = createSimpleJob(`branch1-${Math.random()}`, "doc1", "default", "main");
187
- const job2 = createSimpleJob(`branch2-${Math.random()}`, "doc1", "default", "feature");
188
- const job3 = createSimpleJob(`branch3-${Math.random()}`, "doc1", "default", "develop");
189
- await queue.enqueue(job1);
190
- await queue.enqueue(job2);
191
- await queue.enqueue(job3);
192
- });
193
- });
194
- describe("Batch Operations Performance", () => {
195
- let eventBus;
196
- let queue;
197
- beforeEach(() => {
198
- eventBus = new EventBus();
199
- queue = new InMemoryQueue(eventBus);
200
- });
201
- afterEach(async () => {
202
- await queue.clearAll();
203
- });
204
- bench("enqueue 10 simple jobs", async () => {
205
- const jobs = Array.from({ length: 10 }, (_, i) => createSimpleJob(`batch-10-${i}-${Math.random()}`));
206
- for (const job of jobs) {
207
- await queue.enqueue(job);
208
- }
209
- });
210
- bench("enqueue 50 simple jobs", async () => {
211
- const jobs = Array.from({ length: 50 }, (_, i) => createSimpleJob(`batch-50-${i}-${Math.random()}`));
212
- for (const job of jobs) {
213
- await queue.enqueue(job);
214
- }
215
- });
216
- bench("enqueue 10 complex jobs", async () => {
217
- const jobs = Array.from({ length: 10 }, (_, i) => createComplexJob(`batch-complex-10-${i}-${Math.random()}`));
218
- for (const job of jobs) {
219
- await queue.enqueue(job);
220
- }
221
- });
222
- });
223
- describe("Mixed Workload Performance", () => {
224
- let eventBus;
225
- let queue;
226
- let executor;
227
- beforeEach(async () => {
228
- eventBus = new EventBus();
229
- queue = new InMemoryQueue(eventBus);
230
- executor = new InMemoryJobExecutor(eventBus, queue);
231
- await executor.start({ maxConcurrency: 3, jobTimeout: 5000 });
232
- });
233
- afterEach(async () => {
234
- await executor.stop(false);
235
- await queue.clearAll();
236
- });
237
- bench("execute mixed simple and complex jobs", async () => {
238
- const simpleJob = createSimpleJob(`mixed-simple-${Math.random()}`);
239
- const complexJob = createComplexJob(`mixed-complex-${Math.random()}`);
240
- await executor.executeJob(simpleJob);
241
- await executor.executeJob(complexJob);
242
- });
243
- bench("execute 5 jobs with different complexities", async () => {
244
- const jobs = [
245
- createSimpleJob(`mix-1-${Math.random()}`),
246
- createComplexJob(`mix-2-${Math.random()}`),
247
- createSimpleJob(`mix-3-${Math.random()}`),
248
- createComplexJob(`mix-4-${Math.random()}`),
249
- createSimpleJob(`mix-5-${Math.random()}`),
250
- ];
251
- for (const job of jobs) {
252
- await executor.executeJob(job);
253
- }
254
- });
255
- });
256
- //# 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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=event-bus.bench.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-bus.bench.d.ts","sourceRoot":"","sources":["../../bench/event-bus.bench.ts"],"names":[],"mappings":""}