@powerhousedao/reactor 5.1.0 → 5.2.0-dev.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 (225) hide show
  1. package/dist/src/actions/index.d.ts +24 -0
  2. package/dist/src/actions/index.d.ts.map +1 -0
  3. package/dist/src/actions/index.js +76 -0
  4. package/dist/src/actions/index.js.map +1 -0
  5. package/dist/src/cache/document-meta-cache-types.d.ts +114 -0
  6. package/dist/src/cache/document-meta-cache-types.d.ts.map +1 -0
  7. package/dist/src/cache/document-meta-cache-types.js +2 -0
  8. package/dist/src/cache/document-meta-cache-types.js.map +1 -0
  9. package/dist/src/cache/document-meta-cache.d.ts +30 -0
  10. package/dist/src/cache/document-meta-cache.d.ts.map +1 -0
  11. package/dist/src/cache/document-meta-cache.js +128 -0
  12. package/dist/src/cache/document-meta-cache.js.map +1 -0
  13. package/dist/src/cache/kysely-operation-index.d.ts +4 -2
  14. package/dist/src/cache/kysely-operation-index.d.ts.map +1 -1
  15. package/dist/src/cache/kysely-operation-index.js +67 -24
  16. package/dist/src/cache/kysely-operation-index.js.map +1 -1
  17. package/dist/src/cache/kysely-write-cache.d.ts.map +1 -1
  18. package/dist/src/cache/kysely-write-cache.js +3 -2
  19. package/dist/src/cache/kysely-write-cache.js.map +1 -1
  20. package/dist/src/cache/operation-index-types.d.ts +4 -3
  21. package/dist/src/cache/operation-index-types.d.ts.map +1 -1
  22. package/dist/src/cache/operation-index-types.js.map +1 -1
  23. package/dist/src/client/reactor-client.d.ts +22 -10
  24. package/dist/src/client/reactor-client.d.ts.map +1 -1
  25. package/dist/src/client/reactor-client.js +145 -48
  26. package/dist/src/client/reactor-client.js.map +1 -1
  27. package/dist/src/client/types.d.ts +32 -13
  28. package/dist/src/client/types.d.ts.map +1 -1
  29. package/dist/src/core/reactor-builder.d.ts +19 -12
  30. package/dist/src/core/reactor-builder.d.ts.map +1 -1
  31. package/dist/src/core/reactor-builder.js +127 -37
  32. package/dist/src/core/reactor-builder.js.map +1 -1
  33. package/dist/src/core/{builder.d.ts → reactor-client-builder.d.ts} +20 -4
  34. package/dist/src/core/reactor-client-builder.d.ts.map +1 -0
  35. package/dist/src/core/reactor-client-builder.js +123 -0
  36. package/dist/src/core/reactor-client-builder.js.map +1 -0
  37. package/dist/src/core/reactor.d.ts +14 -16
  38. package/dist/src/core/reactor.d.ts.map +1 -1
  39. package/dist/src/core/reactor.js +101 -110
  40. package/dist/src/core/reactor.js.map +1 -1
  41. package/dist/src/core/types.d.ts +101 -22
  42. package/dist/src/core/types.d.ts.map +1 -1
  43. package/dist/src/core/utils.d.ts +9 -1
  44. package/dist/src/core/utils.d.ts.map +1 -1
  45. package/dist/src/core/utils.js +30 -0
  46. package/dist/src/core/utils.js.map +1 -1
  47. package/dist/src/events/types.d.ts +1 -0
  48. package/dist/src/events/types.d.ts.map +1 -1
  49. package/dist/src/executor/simple-job-executor-manager.d.ts +3 -1
  50. package/dist/src/executor/simple-job-executor-manager.d.ts.map +1 -1
  51. package/dist/src/executor/simple-job-executor-manager.js +10 -7
  52. package/dist/src/executor/simple-job-executor-manager.js.map +1 -1
  53. package/dist/src/executor/simple-job-executor.d.ts +20 -2
  54. package/dist/src/executor/simple-job-executor.d.ts.map +1 -1
  55. package/dist/src/executor/simple-job-executor.js +400 -219
  56. package/dist/src/executor/simple-job-executor.js.map +1 -1
  57. package/dist/src/executor/types.d.ts +2 -0
  58. package/dist/src/executor/types.d.ts.map +1 -1
  59. package/dist/src/executor/types.js.map +1 -1
  60. package/dist/src/executor/util.d.ts +14 -5
  61. package/dist/src/executor/util.d.ts.map +1 -1
  62. package/dist/src/executor/util.js +36 -9
  63. package/dist/src/executor/util.js.map +1 -1
  64. package/dist/src/index.d.ts +17 -6
  65. package/dist/src/index.d.ts.map +1 -1
  66. package/dist/src/index.js +15 -3
  67. package/dist/src/index.js.map +1 -1
  68. package/dist/src/logging/console.d.ts +23 -0
  69. package/dist/src/logging/console.d.ts.map +1 -0
  70. package/dist/src/logging/console.js +108 -0
  71. package/dist/src/logging/console.js.map +1 -0
  72. package/dist/src/logging/types.d.ts +12 -0
  73. package/dist/src/logging/types.d.ts.map +1 -0
  74. package/dist/src/logging/types.js +2 -0
  75. package/dist/src/logging/types.js.map +1 -0
  76. package/dist/src/processors/index.d.ts +3 -0
  77. package/dist/src/processors/index.d.ts.map +1 -0
  78. package/dist/src/processors/index.js +2 -0
  79. package/dist/src/processors/index.js.map +1 -0
  80. package/dist/src/processors/processor-manager.d.ts +38 -0
  81. package/dist/src/processors/processor-manager.d.ts.map +1 -0
  82. package/dist/src/processors/processor-manager.js +165 -0
  83. package/dist/src/processors/processor-manager.js.map +1 -0
  84. package/dist/src/processors/types.d.ts +63 -0
  85. package/dist/src/processors/types.d.ts.map +1 -0
  86. package/dist/src/processors/types.js +2 -0
  87. package/dist/src/processors/types.js.map +1 -0
  88. package/dist/src/processors/utils.d.ts +10 -0
  89. package/dist/src/processors/utils.d.ts.map +1 -0
  90. package/dist/src/processors/utils.js +58 -0
  91. package/dist/src/processors/utils.js.map +1 -0
  92. package/dist/src/queue/types.d.ts +2 -0
  93. package/dist/src/queue/types.d.ts.map +1 -1
  94. package/dist/src/queue/types.js.map +1 -1
  95. package/dist/src/read-models/base-read-model.d.ts +60 -0
  96. package/dist/src/read-models/base-read-model.d.ts.map +1 -0
  97. package/dist/src/read-models/base-read-model.js +143 -0
  98. package/dist/src/read-models/base-read-model.js.map +1 -0
  99. package/dist/src/read-models/coordinator.d.ts +3 -2
  100. package/dist/src/read-models/coordinator.d.ts.map +1 -1
  101. package/dist/src/read-models/coordinator.js +12 -13
  102. package/dist/src/read-models/coordinator.js.map +1 -1
  103. package/dist/src/read-models/document-view.d.ts +6 -7
  104. package/dist/src/read-models/document-view.d.ts.map +1 -1
  105. package/dist/src/read-models/document-view.js +18 -81
  106. package/dist/src/read-models/document-view.js.map +1 -1
  107. package/dist/src/read-models/types.d.ts +2 -1
  108. package/dist/src/read-models/types.d.ts.map +1 -1
  109. package/dist/src/registry/implementation.d.ts +42 -34
  110. package/dist/src/registry/implementation.d.ts.map +1 -1
  111. package/dist/src/registry/implementation.js +168 -48
  112. package/dist/src/registry/implementation.js.map +1 -1
  113. package/dist/src/registry/interfaces.d.ts +69 -8
  114. package/dist/src/registry/interfaces.d.ts.map +1 -1
  115. package/dist/src/shared/errors.d.ts +24 -0
  116. package/dist/src/shared/errors.d.ts.map +1 -1
  117. package/dist/src/shared/errors.js +42 -0
  118. package/dist/src/shared/errors.js.map +1 -1
  119. package/dist/src/shared/types.d.ts +4 -0
  120. package/dist/src/shared/types.d.ts.map +1 -1
  121. package/dist/src/shared/types.js.map +1 -1
  122. package/dist/src/signer/passthrough-signer.d.ts +9 -3
  123. package/dist/src/signer/passthrough-signer.d.ts.map +1 -1
  124. package/dist/src/signer/passthrough-signer.js +13 -0
  125. package/dist/src/signer/passthrough-signer.js.map +1 -1
  126. package/dist/src/signer/types.d.ts +12 -10
  127. package/dist/src/signer/types.d.ts.map +1 -1
  128. package/dist/src/storage/consistency-aware-legacy-storage.d.ts +33 -0
  129. package/dist/src/storage/consistency-aware-legacy-storage.d.ts.map +1 -0
  130. package/dist/src/storage/consistency-aware-legacy-storage.js +65 -0
  131. package/dist/src/storage/consistency-aware-legacy-storage.js.map +1 -0
  132. package/dist/src/storage/interfaces.d.ts +94 -1
  133. package/dist/src/storage/interfaces.d.ts.map +1 -1
  134. package/dist/src/storage/interfaces.js +2 -2
  135. package/dist/src/storage/interfaces.js.map +1 -1
  136. package/dist/src/storage/kysely/store.d.ts +1 -0
  137. package/dist/src/storage/kysely/store.d.ts.map +1 -1
  138. package/dist/src/storage/kysely/store.js +41 -4
  139. package/dist/src/storage/kysely/store.js.map +1 -1
  140. package/dist/src/storage/kysely/sync-cursor-storage.js +2 -2
  141. package/dist/src/storage/kysely/sync-cursor-storage.js.map +1 -1
  142. package/dist/src/storage/kysely/sync-remote-storage.d.ts.map +1 -1
  143. package/dist/src/storage/kysely/sync-remote-storage.js +11 -12
  144. package/dist/src/storage/kysely/sync-remote-storage.js.map +1 -1
  145. package/dist/src/storage/kysely/types.d.ts +6 -6
  146. package/dist/src/storage/migrations/001_create_operation_table.d.ts.map +1 -1
  147. package/dist/src/storage/migrations/001_create_operation_table.js +2 -1
  148. package/dist/src/storage/migrations/001_create_operation_table.js.map +1 -1
  149. package/dist/src/storage/migrations/008_create_view_state_table.d.ts +1 -1
  150. package/dist/src/storage/migrations/008_create_view_state_table.d.ts.map +1 -1
  151. package/dist/src/storage/migrations/008_create_view_state_table.js +2 -1
  152. package/dist/src/storage/migrations/008_create_view_state_table.js.map +1 -1
  153. package/dist/src/storage/migrations/009_create_operation_index_tables.js +1 -1
  154. package/dist/src/storage/migrations/009_create_operation_index_tables.js.map +1 -1
  155. package/dist/src/storage/migrations/010_create_sync_tables.js +5 -5
  156. package/dist/src/storage/migrations/010_create_sync_tables.js.map +1 -1
  157. package/dist/src/storage/migrations/migrator.d.ts +3 -2
  158. package/dist/src/storage/migrations/migrator.d.ts.map +1 -1
  159. package/dist/src/storage/migrations/migrator.js +29 -6
  160. package/dist/src/storage/migrations/migrator.js.map +1 -1
  161. package/dist/src/storage/migrations/run-migrations.js +3 -3
  162. package/dist/src/storage/migrations/run-migrations.js.map +1 -1
  163. package/dist/src/storage/txn.d.ts.map +1 -1
  164. package/dist/src/storage/txn.js +2 -3
  165. package/dist/src/storage/txn.js.map +1 -1
  166. package/dist/src/subs/subscription-notification-read-model.d.ts +17 -0
  167. package/dist/src/subs/subscription-notification-read-model.d.ts.map +1 -0
  168. package/dist/src/subs/subscription-notification-read-model.js +62 -0
  169. package/dist/src/subs/subscription-notification-read-model.js.map +1 -0
  170. package/dist/src/sync/channels/composite-channel-factory.d.ts +30 -0
  171. package/dist/src/sync/channels/composite-channel-factory.d.ts.map +1 -0
  172. package/dist/src/sync/channels/composite-channel-factory.js +87 -0
  173. package/dist/src/sync/channels/composite-channel-factory.js.map +1 -0
  174. package/dist/src/sync/channels/gql-channel-factory.d.ts +25 -0
  175. package/dist/src/sync/channels/gql-channel-factory.d.ts.map +1 -0
  176. package/dist/src/sync/channels/gql-channel-factory.js +76 -0
  177. package/dist/src/sync/channels/gql-channel-factory.js.map +1 -0
  178. package/dist/src/sync/channels/gql-channel.d.ts +118 -0
  179. package/dist/src/sync/channels/gql-channel.d.ts.map +1 -0
  180. package/dist/src/sync/channels/gql-channel.js +423 -0
  181. package/dist/src/sync/channels/gql-channel.js.map +1 -0
  182. package/dist/src/sync/channels/index.d.ts +4 -1
  183. package/dist/src/sync/channels/index.d.ts.map +1 -1
  184. package/dist/src/sync/channels/index.js +4 -1
  185. package/dist/src/sync/channels/index.js.map +1 -1
  186. package/dist/src/sync/channels/polling-channel.d.ts +39 -0
  187. package/dist/src/sync/channels/polling-channel.d.ts.map +1 -0
  188. package/dist/src/sync/channels/polling-channel.js +72 -0
  189. package/dist/src/sync/channels/polling-channel.js.map +1 -0
  190. package/dist/src/sync/channels/utils.d.ts +17 -2
  191. package/dist/src/sync/channels/utils.d.ts.map +1 -1
  192. package/dist/src/sync/channels/utils.js +76 -6
  193. package/dist/src/sync/channels/utils.js.map +1 -1
  194. package/dist/src/sync/errors.d.ts +1 -1
  195. package/dist/src/sync/errors.d.ts.map +1 -1
  196. package/dist/src/sync/errors.js +2 -2
  197. package/dist/src/sync/errors.js.map +1 -1
  198. package/dist/src/sync/index.d.ts +2 -2
  199. package/dist/src/sync/index.d.ts.map +1 -1
  200. package/dist/src/sync/index.js +2 -2
  201. package/dist/src/sync/index.js.map +1 -1
  202. package/dist/src/sync/interfaces.d.ts +33 -3
  203. package/dist/src/sync/interfaces.d.ts.map +1 -1
  204. package/dist/src/sync/sync-builder.d.ts +4 -2
  205. package/dist/src/sync/sync-builder.d.ts.map +1 -1
  206. package/dist/src/sync/sync-builder.js +12 -2
  207. package/dist/src/sync/sync-builder.js.map +1 -1
  208. package/dist/src/sync/sync-manager.d.ts +7 -3
  209. package/dist/src/sync/sync-manager.d.ts.map +1 -1
  210. package/dist/src/sync/sync-manager.js +79 -10
  211. package/dist/src/sync/sync-manager.js.map +1 -1
  212. package/dist/src/sync/types.d.ts +1 -2
  213. package/dist/src/sync/types.d.ts.map +1 -1
  214. package/dist/src/sync/utils.d.ts +19 -0
  215. package/dist/src/sync/utils.d.ts.map +1 -1
  216. package/dist/src/sync/utils.js +44 -0
  217. package/dist/src/sync/utils.js.map +1 -1
  218. package/package.json +6 -5
  219. package/dist/src/core/builder.d.ts.map +0 -1
  220. package/dist/src/core/builder.js +0 -88
  221. package/dist/src/core/builder.js.map +0 -1
  222. package/dist/src/sync/channels/internal-channel.d.ts +0 -57
  223. package/dist/src/sync/channels/internal-channel.d.ts.map +0 -1
  224. package/dist/src/sync/channels/internal-channel.js +0 -106
  225. package/dist/src/sync/channels/internal-channel.js.map +0 -1
@@ -0,0 +1,123 @@
1
+ import { ConsoleLogger } from "#logging/console.js";
2
+ import { ReactorClient } from "../client/reactor-client.js";
3
+ import { JobAwaiter } from "../shared/awaiter.js";
4
+ import { PassthroughSigner } from "../signer/passthrough-signer.js";
5
+ import { DefaultSubscriptionErrorHandler } from "../subs/default-error-handler.js";
6
+ import { ReactorSubscriptionManager } from "../subs/react-subscription-manager.js";
7
+ /**
8
+ * Builder class for constructing ReactorClient instances with proper configuration
9
+ */
10
+ export class ReactorClientBuilder {
11
+ logger;
12
+ reactorBuilder;
13
+ reactor;
14
+ eventBus;
15
+ documentIndexer;
16
+ signer;
17
+ signatureVerifier;
18
+ subscriptionManager;
19
+ jobAwaiter;
20
+ /**
21
+ * Sets the logger for the ReactorClient.
22
+ * @param logger - The logger to use.
23
+ * @returns The ReactorClientBuilder instance.
24
+ */
25
+ withLogger(logger) {
26
+ this.logger = logger;
27
+ return this;
28
+ }
29
+ /**
30
+ * Either this or withReactor must be set.
31
+ */
32
+ withReactorBuilder(reactorBuilder) {
33
+ if (this.reactor) {
34
+ throw new Error("Reactor is already set");
35
+ }
36
+ this.reactorBuilder = reactorBuilder;
37
+ return this;
38
+ }
39
+ /**
40
+ * Either this or withReactorBuilder must be set.
41
+ */
42
+ withReactor(reactor, eventBus, documentIndexer) {
43
+ if (this.reactorBuilder) {
44
+ throw new Error("ReactorBuilder is already set");
45
+ }
46
+ this.reactor = reactor;
47
+ this.eventBus = eventBus;
48
+ this.documentIndexer = documentIndexer;
49
+ return this;
50
+ }
51
+ /**
52
+ * Sets the signer configuration for signing and verifying actions.
53
+ *
54
+ * @param config - Either an ISigner for signing only, or a SignerConfig for both signing and verification
55
+ */
56
+ withSigner(config) {
57
+ if ("signer" in config) {
58
+ this.signer = config.signer;
59
+ this.signatureVerifier = config.verifier;
60
+ }
61
+ else {
62
+ this.signer = config;
63
+ }
64
+ return this;
65
+ }
66
+ withSubscriptionManager(subscriptionManager) {
67
+ this.subscriptionManager = subscriptionManager;
68
+ return this;
69
+ }
70
+ withJobAwaiter(jobAwaiter) {
71
+ this.jobAwaiter = jobAwaiter;
72
+ return this;
73
+ }
74
+ async build() {
75
+ const module = await this.buildModule();
76
+ return module.client;
77
+ }
78
+ async buildModule() {
79
+ if (!this.logger) {
80
+ this.logger = new ConsoleLogger(["reactor-client"]);
81
+ }
82
+ let reactor;
83
+ let eventBus;
84
+ let documentIndexer;
85
+ let reactorModule;
86
+ if (this.reactorBuilder) {
87
+ if (this.signatureVerifier) {
88
+ this.reactorBuilder.withSignatureVerifier(this.signatureVerifier);
89
+ }
90
+ reactorModule = await this.reactorBuilder.buildModule();
91
+ reactor = reactorModule.reactor;
92
+ eventBus = reactorModule.eventBus;
93
+ documentIndexer = reactorModule.documentIndexer;
94
+ }
95
+ else if (this.reactor && this.eventBus && this.documentIndexer) {
96
+ reactor = this.reactor;
97
+ eventBus = this.eventBus;
98
+ documentIndexer = this.documentIndexer;
99
+ reactorModule = undefined;
100
+ }
101
+ else {
102
+ throw new Error("Either ReactorBuilder or (Reactor + EventBus + DocumentIndexer) is required");
103
+ }
104
+ const signer = this.signer ?? new PassthroughSigner();
105
+ const subscriptionManager = this.subscriptionManager ??
106
+ reactorModule?.subscriptionManager ??
107
+ new ReactorSubscriptionManager(new DefaultSubscriptionErrorHandler());
108
+ const jobAwaiter = this.jobAwaiter ??
109
+ new JobAwaiter(eventBus, (jobId, signal) => reactor.getJobStatus(jobId, signal));
110
+ const client = new ReactorClient(this.logger, reactor, signer, subscriptionManager, jobAwaiter, documentIndexer);
111
+ return {
112
+ client,
113
+ reactor,
114
+ eventBus,
115
+ documentIndexer,
116
+ signer,
117
+ subscriptionManager,
118
+ jobAwaiter,
119
+ reactorModule,
120
+ };
121
+ }
122
+ }
123
+ //# sourceMappingURL=reactor-client-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactor-client-builder.js","sourceRoot":"","sources":["../../../src/core/reactor-client-builder.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,18 @@
1
- import type { BaseDocumentDriveServer, IDocumentStorage } from "document-drive";
2
- import type { Action, DocumentModelModule, Operation, PHDocument } from "document-model";
1
+ import type { ILogger } from "#logging/types.js";
2
+ import type { BaseDocumentDriveServer } from "document-drive";
3
+ import type { Action, DocumentModelModule, ISigner, Operation, PHDocument } from "document-model";
3
4
  import type { IJobTracker } from "../job-tracker/interfaces.js";
4
5
  import type { IQueue } from "../queue/interfaces.js";
5
6
  import type { IReadModelCoordinator } from "../read-models/interfaces.js";
6
7
  import type { ConsistencyToken, JobInfo, PagedResults, PagingOptions, SearchFilter, ShutdownStatus, ViewFilter } from "../shared/types.js";
7
- import type { IDocumentIndexer, IDocumentView, IOperationStore } from "../storage/interfaces.js";
8
- import type { ISyncManager } from "../sync/interfaces.js";
9
- import type { BatchMutationRequest, BatchMutationResult, IReactor, ReactorFeatures } from "./types.js";
8
+ import type { IConsistencyAwareStorage, IDocumentIndexer, IDocumentView, IOperationStore } from "../storage/interfaces.js";
9
+ import type { BatchExecutionRequest, BatchExecutionResult, IReactor, ReactorFeatures } from "./types.js";
10
10
  /**
11
11
  * This class implements the IReactor interface and serves as the main entry point
12
12
  * for the new Reactor architecture.
13
13
  */
14
14
  export declare class Reactor implements IReactor {
15
+ private logger;
15
16
  private driveServer;
16
17
  private documentStorage;
17
18
  private shutdownStatus;
@@ -23,10 +24,7 @@ export declare class Reactor implements IReactor {
23
24
  private documentView;
24
25
  private _documentIndexer;
25
26
  private operationStore;
26
- private _syncManager?;
27
- constructor(driveServer: BaseDocumentDriveServer, documentStorage: IDocumentStorage, queue: IQueue, jobTracker: IJobTracker, readModelCoordinator: IReadModelCoordinator, features: ReactorFeatures, documentView: IDocumentView, documentIndexer: IDocumentIndexer, operationStore: IOperationStore);
28
- get syncManager(): ISyncManager | undefined;
29
- setSync(syncManager: ISyncManager): void;
27
+ constructor(logger: ILogger, driveServer: BaseDocumentDriveServer, documentStorage: IConsistencyAwareStorage, queue: IQueue, jobTracker: IJobTracker, readModelCoordinator: IReadModelCoordinator, features: ReactorFeatures, documentView: IDocumentView, documentIndexer: IDocumentIndexer, operationStore: IOperationStore);
30
28
  /**
31
29
  * Signals that the reactor should shutdown.
32
30
  */
@@ -67,33 +65,33 @@ export declare class Reactor implements IReactor {
67
65
  /**
68
66
  * Creates a document
69
67
  */
70
- create(document: PHDocument, signal?: AbortSignal): Promise<JobInfo>;
68
+ create(document: PHDocument, signer?: ISigner, signal?: AbortSignal, meta?: Record<string, unknown>): Promise<JobInfo>;
71
69
  /**
72
70
  * Deletes a document
73
71
  */
74
- deleteDocument(id: string, signal?: AbortSignal): Promise<JobInfo>;
72
+ deleteDocument(id: string, signer?: ISigner, signal?: AbortSignal, meta?: Record<string, unknown>): Promise<JobInfo>;
75
73
  /**
76
74
  * Applies a list of actions to a document
77
75
  */
78
- mutate(docId: string, branch: string, actions: Action[], signal?: AbortSignal): Promise<JobInfo>;
76
+ execute(docId: string, branch: string, actions: Action[], signal?: AbortSignal, meta?: Record<string, unknown>): Promise<JobInfo>;
79
77
  /**
80
78
  * Imports pre-existing operations that were produced by another reactor.
81
79
  * This function may cause a reshuffle, which will generate additional
82
80
  * operations.
83
81
  */
84
- load(docId: string, branch: string, operations: Operation[], signal?: AbortSignal): Promise<JobInfo>;
82
+ load(docId: string, branch: string, operations: Operation[], signal?: AbortSignal, meta?: Record<string, unknown>): Promise<JobInfo>;
85
83
  /**
86
84
  * Applies multiple mutations across documents with dependency management
87
85
  */
88
- mutateBatch(request: BatchMutationRequest, signal?: AbortSignal): Promise<BatchMutationResult>;
86
+ executeBatch(request: BatchExecutionRequest, signal?: AbortSignal, meta?: Record<string, unknown>): Promise<BatchExecutionResult>;
89
87
  /**
90
88
  * Adds multiple documents as children to another
91
89
  */
92
- addChildren(parentId: string, documentIds: string[], _view?: ViewFilter, signal?: AbortSignal): Promise<JobInfo>;
90
+ addChildren(parentId: string, documentIds: string[], branch?: string, signer?: ISigner, signal?: AbortSignal): Promise<JobInfo>;
93
91
  /**
94
92
  * Removes multiple documents as children from another
95
93
  */
96
- removeChildren(parentId: string, documentIds: string[], _view?: ViewFilter, signal?: AbortSignal): Promise<JobInfo>;
94
+ removeChildren(parentId: string, documentIds: string[], branch?: string, signer?: ISigner, signal?: AbortSignal): Promise<JobInfo>;
97
95
  /**
98
96
  * Retrieves the status of a job
99
97
  */
@@ -1 +1 @@
1
- {"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../../src/core/reactor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../../src/core/reactor.ts"],"names":[],"mappings":"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"}