@powerhousedao/reactor 4.1.0-dev.7 → 4.1.0-dev.70

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 (173) hide show
  1. package/dist/src/client/reactor-client.d.ts +103 -0
  2. package/dist/src/client/reactor-client.d.ts.map +1 -0
  3. package/dist/src/client/reactor-client.js +184 -0
  4. package/dist/src/client/reactor-client.js.map +1 -0
  5. package/dist/src/client/types.d.ts +213 -0
  6. package/dist/src/client/types.d.ts.map +1 -0
  7. package/dist/src/client/types.js +14 -0
  8. package/dist/src/client/types.js.map +1 -0
  9. package/dist/src/core/builder.d.ts +20 -0
  10. package/dist/src/core/builder.d.ts.map +1 -0
  11. package/dist/src/core/builder.js +47 -0
  12. package/dist/src/core/builder.js.map +1 -0
  13. package/dist/src/core/reactor.d.ts +98 -0
  14. package/dist/src/core/reactor.d.ts.map +1 -0
  15. package/dist/src/core/reactor.js +630 -0
  16. package/dist/src/core/reactor.js.map +1 -0
  17. package/dist/src/core/types.d.ts +121 -0
  18. package/dist/src/core/types.d.ts.map +1 -0
  19. package/dist/src/core/types.js +2 -0
  20. package/dist/src/core/types.js.map +1 -0
  21. package/dist/src/core/utils.d.ts +11 -0
  22. package/dist/src/core/utils.d.ts.map +1 -0
  23. package/dist/src/core/utils.js +31 -0
  24. package/dist/src/core/utils.js.map +1 -0
  25. package/dist/src/events/event-bus.d.ts +3 -3
  26. package/dist/src/events/event-bus.d.ts.map +1 -1
  27. package/dist/src/events/event-bus.js.map +1 -1
  28. package/dist/src/events/interfaces.d.ts +1 -1
  29. package/dist/src/events/interfaces.d.ts.map +1 -1
  30. package/dist/src/events/types.d.ts +1 -1
  31. package/dist/src/events/types.d.ts.map +1 -1
  32. package/dist/src/events/types.js.map +1 -1
  33. package/dist/src/executor/interfaces.d.ts +31 -54
  34. package/dist/src/executor/interfaces.d.ts.map +1 -1
  35. package/dist/src/executor/simple-job-executor-manager.d.ts +27 -0
  36. package/dist/src/executor/simple-job-executor-manager.d.ts.map +1 -0
  37. package/dist/src/executor/simple-job-executor-manager.js +128 -0
  38. package/dist/src/executor/simple-job-executor-manager.js.map +1 -0
  39. package/dist/src/executor/simple-job-executor.d.ts +29 -0
  40. package/dist/src/executor/simple-job-executor.d.ts.map +1 -0
  41. package/dist/src/executor/simple-job-executor.js +154 -0
  42. package/dist/src/executor/simple-job-executor.js.map +1 -0
  43. package/dist/src/executor/types.d.ts +23 -8
  44. package/dist/src/executor/types.d.ts.map +1 -1
  45. package/dist/src/executor/types.js.map +1 -1
  46. package/dist/src/index.d.ts +19 -2
  47. package/dist/src/index.d.ts.map +1 -1
  48. package/dist/src/index.js +25 -1
  49. package/dist/src/index.js.map +1 -1
  50. package/dist/src/queue/interfaces.d.ts +45 -5
  51. package/dist/src/queue/interfaces.d.ts.map +1 -1
  52. package/dist/src/queue/job-execution-handle.d.ts +24 -0
  53. package/dist/src/queue/job-execution-handle.d.ts.map +1 -0
  54. package/dist/src/queue/job-execution-handle.js +62 -0
  55. package/dist/src/queue/job-execution-handle.js.map +1 -0
  56. package/dist/src/queue/queue.d.ts +54 -5
  57. package/dist/src/queue/queue.d.ts.map +1 -1
  58. package/dist/src/queue/queue.js +265 -36
  59. package/dist/src/queue/queue.js.map +1 -1
  60. package/dist/src/queue/types.d.ts +26 -1
  61. package/dist/src/queue/types.d.ts.map +1 -1
  62. package/dist/src/queue/types.js +12 -0
  63. package/dist/src/queue/types.js.map +1 -1
  64. package/dist/src/read-models/document-view.d.ts +21 -0
  65. package/dist/src/read-models/document-view.d.ts.map +1 -0
  66. package/dist/src/read-models/document-view.js +285 -0
  67. package/dist/src/read-models/document-view.js.map +1 -0
  68. package/dist/src/read-models/types.d.ts +46 -0
  69. package/dist/src/read-models/types.d.ts.map +1 -0
  70. package/dist/src/read-models/types.js +2 -0
  71. package/dist/src/read-models/types.js.map +1 -0
  72. package/dist/src/registry/implementation.d.ts +62 -0
  73. package/dist/src/registry/implementation.d.ts.map +1 -0
  74. package/dist/src/registry/implementation.js +96 -0
  75. package/dist/src/registry/implementation.js.map +1 -0
  76. package/dist/src/registry/index.d.ts +3 -0
  77. package/dist/src/registry/index.d.ts.map +1 -0
  78. package/dist/src/registry/index.js +2 -0
  79. package/dist/src/registry/index.js.map +1 -0
  80. package/dist/src/registry/interfaces.d.ts +39 -0
  81. package/dist/src/registry/interfaces.d.ts.map +1 -0
  82. package/dist/src/registry/interfaces.js +2 -0
  83. package/dist/src/registry/interfaces.js.map +1 -0
  84. package/dist/src/shared/awaiter.d.ts +32 -0
  85. package/dist/src/shared/awaiter.d.ts.map +1 -0
  86. package/dist/src/shared/awaiter.js +132 -0
  87. package/dist/src/shared/awaiter.js.map +1 -0
  88. package/dist/src/shared/errors.d.ts +9 -0
  89. package/dist/src/shared/errors.d.ts.map +1 -0
  90. package/dist/src/shared/errors.js +18 -0
  91. package/dist/src/shared/errors.js.map +1 -0
  92. package/dist/src/shared/factories.d.ts +16 -0
  93. package/dist/src/shared/factories.d.ts.map +1 -0
  94. package/dist/src/shared/factories.js +33 -0
  95. package/dist/src/shared/factories.js.map +1 -0
  96. package/dist/src/shared/types.d.ts +91 -19
  97. package/dist/src/shared/types.d.ts.map +1 -1
  98. package/dist/src/shared/types.js +35 -1
  99. package/dist/src/shared/types.js.map +1 -1
  100. package/dist/src/shared/utils.d.ts +3 -0
  101. package/dist/src/shared/utils.d.ts.map +1 -0
  102. package/dist/src/shared/utils.js +8 -0
  103. package/dist/src/shared/utils.js.map +1 -0
  104. package/dist/src/signer/passthrough-signer.d.ts +6 -0
  105. package/dist/src/signer/passthrough-signer.d.ts.map +1 -0
  106. package/dist/src/signer/passthrough-signer.js +6 -0
  107. package/dist/src/signer/passthrough-signer.js.map +1 -0
  108. package/dist/src/signer/types.d.ts +15 -0
  109. package/dist/src/signer/types.d.ts.map +1 -0
  110. package/dist/src/signer/types.js +2 -0
  111. package/dist/src/signer/types.js.map +1 -0
  112. package/dist/src/storage/interfaces.d.ts +125 -0
  113. package/dist/src/storage/interfaces.d.ts.map +1 -0
  114. package/dist/src/storage/interfaces.js +19 -0
  115. package/dist/src/storage/interfaces.js.map +1 -0
  116. package/dist/src/storage/kysely/store.d.ts +15 -0
  117. package/dist/src/storage/kysely/store.d.ts.map +1 -0
  118. package/dist/src/storage/kysely/store.js +173 -0
  119. package/dist/src/storage/kysely/store.js.map +1 -0
  120. package/dist/src/storage/kysely/types.d.ts +26 -0
  121. package/dist/src/storage/kysely/types.d.ts.map +1 -0
  122. package/dist/src/storage/kysely/types.js +2 -0
  123. package/dist/src/storage/kysely/types.js.map +1 -0
  124. package/dist/src/storage/txn.d.ts +15 -0
  125. package/dist/src/storage/txn.d.ts.map +1 -0
  126. package/dist/src/storage/txn.js +42 -0
  127. package/dist/src/storage/txn.js.map +1 -0
  128. package/dist/src/subs/default-error-handler.d.ts +13 -0
  129. package/dist/src/subs/default-error-handler.d.ts.map +1 -0
  130. package/dist/src/subs/default-error-handler.js +27 -0
  131. package/dist/src/subs/default-error-handler.js.map +1 -0
  132. package/dist/src/subs/react-subscription-manager.d.ts +45 -0
  133. package/dist/src/subs/react-subscription-manager.d.ts.map +1 -0
  134. package/dist/src/subs/react-subscription-manager.js +185 -0
  135. package/dist/src/subs/react-subscription-manager.js.map +1 -0
  136. package/dist/src/subs/types.d.ts +64 -0
  137. package/dist/src/subs/types.d.ts.map +1 -0
  138. package/dist/src/subs/types.js +2 -0
  139. package/dist/src/subs/types.js.map +1 -0
  140. package/package.json +13 -5
  141. package/dist/bench/end-to-end-flow.bench.d.ts +0 -2
  142. package/dist/bench/end-to-end-flow.bench.d.ts.map +0 -1
  143. package/dist/bench/end-to-end-flow.bench.js +0 -256
  144. package/dist/bench/end-to-end-flow.bench.js.map +0 -1
  145. package/dist/bench/event-bus.bench.d.ts +0 -2
  146. package/dist/bench/event-bus.bench.d.ts.map +0 -1
  147. package/dist/bench/event-bus.bench.js +0 -238
  148. package/dist/bench/event-bus.bench.js.map +0 -1
  149. package/dist/bench/queue-only.bench.d.ts +0 -2
  150. package/dist/bench/queue-only.bench.d.ts.map +0 -1
  151. package/dist/bench/queue-only.bench.js +0 -40
  152. package/dist/bench/queue-only.bench.js.map +0 -1
  153. package/dist/bench/reactor-throughput.bench.d.ts +0 -2
  154. package/dist/bench/reactor-throughput.bench.d.ts.map +0 -1
  155. package/dist/bench/reactor-throughput.bench.js +0 -137
  156. package/dist/bench/reactor-throughput.bench.js.map +0 -1
  157. package/dist/src/executor/job-executor.d.ts +0 -62
  158. package/dist/src/executor/job-executor.d.ts.map +0 -1
  159. package/dist/src/executor/job-executor.js +0 -325
  160. package/dist/src/executor/job-executor.js.map +0 -1
  161. package/dist/test/event-bus.test.d.ts +0 -2
  162. package/dist/test/event-bus.test.d.ts.map +0 -1
  163. package/dist/test/event-bus.test.js +0 -532
  164. package/dist/test/event-bus.test.js.map +0 -1
  165. package/dist/test/job-executor.test.d.ts +0 -2
  166. package/dist/test/job-executor.test.d.ts.map +0 -1
  167. package/dist/test/job-executor.test.js +0 -581
  168. package/dist/test/job-executor.test.js.map +0 -1
  169. package/dist/test/queue.test.d.ts +0 -2
  170. package/dist/test/queue.test.d.ts.map +0 -1
  171. package/dist/test/queue.test.js +0 -396
  172. package/dist/test/queue.test.js.map +0 -1
  173. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,98 @@
1
+ import type { BaseDocumentDriveServer, IDocumentStorage } from "document-drive";
2
+ import type { Action, DocumentModelModule, Operation, PHDocument } from "document-model";
3
+ import type { IQueue } from "../queue/interfaces.js";
4
+ import type { JobInfo, PagedResults, PagingOptions, PropagationMode, SearchFilter, ShutdownStatus, ViewFilter } from "../shared/types.js";
5
+ import type { IReactor } from "./types.js";
6
+ /**
7
+ * The Reactor facade implementation.
8
+ *
9
+ * This class implements the IReactor interface and serves as the main entry point
10
+ * for the new Reactor architecture. In Phase 2 of the refactoring plan, it acts
11
+ * as a facade over the existing BaseDocumentDriveServer while we incrementally
12
+ * migrate to the new architecture.
13
+ *
14
+ * The facade pattern allows us to:
15
+ * 1. Present the new IReactor API to clients immediately
16
+ * 2. Internally delegate to the refactored BaseDocumentDriveServer (post Phase 1)
17
+ * 3. Incrementally replace internal implementations without breaking clients
18
+ * 4. Validate the new architecture alongside the existing system
19
+ */
20
+ export declare class Reactor implements IReactor {
21
+ private driveServer;
22
+ private documentStorage;
23
+ private shutdownStatus;
24
+ private setShutdown;
25
+ private queue;
26
+ constructor(driveServer: BaseDocumentDriveServer, documentStorage: IDocumentStorage, queue: IQueue);
27
+ /**
28
+ * Signals that the reactor should shutdown.
29
+ */
30
+ kill(): ShutdownStatus;
31
+ /**
32
+ * Retrieves a list of document model specifications
33
+ */
34
+ getDocumentModels(namespace?: string, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<DocumentModelModule>>;
35
+ /**
36
+ * Retrieves a specific PHDocument by id
37
+ */
38
+ get<TDocument extends PHDocument>(id: string, view?: ViewFilter, signal?: AbortSignal): Promise<{
39
+ document: TDocument;
40
+ childIds: string[];
41
+ }>;
42
+ /**
43
+ * Retrieves a specific PHDocument by slug
44
+ */
45
+ getBySlug<TDocument extends PHDocument>(slug: string, view?: ViewFilter, signal?: AbortSignal): Promise<{
46
+ document: TDocument;
47
+ childIds: string[];
48
+ }>;
49
+ /**
50
+ * Retrieves the operations for a document
51
+ */
52
+ getOperations(documentId: string, view?: ViewFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<Record<string, PagedResults<Operation>>>;
53
+ /**
54
+ * Filters documents by criteria and returns a list of them
55
+ */
56
+ find(search: SearchFilter, view?: ViewFilter, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<PHDocument>>;
57
+ /**
58
+ * Creates a document
59
+ */
60
+ create(document: PHDocument, signal?: AbortSignal): Promise<JobInfo>;
61
+ /**
62
+ * Deletes a document
63
+ */
64
+ deleteDocument(id: string, propagate?: PropagationMode, signal?: AbortSignal): Promise<JobInfo>;
65
+ /**
66
+ * Applies a list of actions to a document
67
+ */
68
+ mutate(id: string, actions: Action[]): Promise<JobInfo>;
69
+ /**
70
+ * Adds multiple documents as children to another
71
+ */
72
+ addChildren(parentId: string, documentIds: string[], view?: ViewFilter, signal?: AbortSignal): Promise<JobInfo>;
73
+ /**
74
+ * Removes multiple documents as children from another
75
+ */
76
+ removeChildren(parentId: string, documentIds: string[], view?: ViewFilter, signal?: AbortSignal): Promise<JobInfo>;
77
+ /**
78
+ * Retrieves the status of a job
79
+ */
80
+ getJobStatus(jobId: string, signal?: AbortSignal): Promise<JobInfo>;
81
+ /**
82
+ * Finds documents by their IDs
83
+ */
84
+ private findByIds;
85
+ /**
86
+ * Finds documents by their slugs
87
+ */
88
+ private findBySlugs;
89
+ /**
90
+ * Finds documents by parent ID
91
+ */
92
+ private findByParentId;
93
+ /**
94
+ * Finds documents by type
95
+ */
96
+ private findByType;
97
+ }
98
+ //# sourceMappingURL=reactor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../../src/core/reactor.ts"],"names":[],"mappings":"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"}