@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.
- package/dist/src/actions/index.d.ts +24 -0
- package/dist/src/actions/index.d.ts.map +1 -0
- package/dist/src/actions/index.js +76 -0
- package/dist/src/actions/index.js.map +1 -0
- package/dist/src/cache/document-meta-cache-types.d.ts +114 -0
- package/dist/src/cache/document-meta-cache-types.d.ts.map +1 -0
- package/dist/src/cache/document-meta-cache-types.js +2 -0
- package/dist/src/cache/document-meta-cache-types.js.map +1 -0
- package/dist/src/cache/document-meta-cache.d.ts +30 -0
- package/dist/src/cache/document-meta-cache.d.ts.map +1 -0
- package/dist/src/cache/document-meta-cache.js +128 -0
- package/dist/src/cache/document-meta-cache.js.map +1 -0
- package/dist/src/cache/kysely-operation-index.d.ts +4 -2
- package/dist/src/cache/kysely-operation-index.d.ts.map +1 -1
- package/dist/src/cache/kysely-operation-index.js +67 -24
- package/dist/src/cache/kysely-operation-index.js.map +1 -1
- package/dist/src/cache/kysely-write-cache.d.ts.map +1 -1
- package/dist/src/cache/kysely-write-cache.js +3 -2
- package/dist/src/cache/kysely-write-cache.js.map +1 -1
- package/dist/src/cache/operation-index-types.d.ts +4 -3
- package/dist/src/cache/operation-index-types.d.ts.map +1 -1
- package/dist/src/cache/operation-index-types.js.map +1 -1
- package/dist/src/client/reactor-client.d.ts +22 -10
- package/dist/src/client/reactor-client.d.ts.map +1 -1
- package/dist/src/client/reactor-client.js +145 -48
- package/dist/src/client/reactor-client.js.map +1 -1
- package/dist/src/client/types.d.ts +32 -13
- package/dist/src/client/types.d.ts.map +1 -1
- package/dist/src/core/reactor-builder.d.ts +19 -12
- package/dist/src/core/reactor-builder.d.ts.map +1 -1
- package/dist/src/core/reactor-builder.js +127 -37
- package/dist/src/core/reactor-builder.js.map +1 -1
- package/dist/src/core/{builder.d.ts → reactor-client-builder.d.ts} +20 -4
- package/dist/src/core/reactor-client-builder.d.ts.map +1 -0
- package/dist/src/core/reactor-client-builder.js +123 -0
- package/dist/src/core/reactor-client-builder.js.map +1 -0
- package/dist/src/core/reactor.d.ts +14 -16
- package/dist/src/core/reactor.d.ts.map +1 -1
- package/dist/src/core/reactor.js +101 -110
- package/dist/src/core/reactor.js.map +1 -1
- package/dist/src/core/types.d.ts +101 -22
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/core/utils.d.ts +9 -1
- package/dist/src/core/utils.d.ts.map +1 -1
- package/dist/src/core/utils.js +30 -0
- package/dist/src/core/utils.js.map +1 -1
- package/dist/src/events/types.d.ts +1 -0
- package/dist/src/events/types.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor-manager.d.ts +3 -1
- package/dist/src/executor/simple-job-executor-manager.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor-manager.js +10 -7
- package/dist/src/executor/simple-job-executor-manager.js.map +1 -1
- package/dist/src/executor/simple-job-executor.d.ts +20 -2
- package/dist/src/executor/simple-job-executor.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor.js +400 -219
- package/dist/src/executor/simple-job-executor.js.map +1 -1
- package/dist/src/executor/types.d.ts +2 -0
- package/dist/src/executor/types.d.ts.map +1 -1
- package/dist/src/executor/types.js.map +1 -1
- package/dist/src/executor/util.d.ts +14 -5
- package/dist/src/executor/util.d.ts.map +1 -1
- package/dist/src/executor/util.js +36 -9
- package/dist/src/executor/util.js.map +1 -1
- package/dist/src/index.d.ts +17 -6
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +15 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/logging/console.d.ts +23 -0
- package/dist/src/logging/console.d.ts.map +1 -0
- package/dist/src/logging/console.js +108 -0
- package/dist/src/logging/console.js.map +1 -0
- package/dist/src/logging/types.d.ts +12 -0
- package/dist/src/logging/types.d.ts.map +1 -0
- package/dist/src/logging/types.js +2 -0
- package/dist/src/logging/types.js.map +1 -0
- package/dist/src/processors/index.d.ts +3 -0
- package/dist/src/processors/index.d.ts.map +1 -0
- package/dist/src/processors/index.js +2 -0
- package/dist/src/processors/index.js.map +1 -0
- package/dist/src/processors/processor-manager.d.ts +38 -0
- package/dist/src/processors/processor-manager.d.ts.map +1 -0
- package/dist/src/processors/processor-manager.js +165 -0
- package/dist/src/processors/processor-manager.js.map +1 -0
- package/dist/src/processors/types.d.ts +63 -0
- package/dist/src/processors/types.d.ts.map +1 -0
- package/dist/src/processors/types.js +2 -0
- package/dist/src/processors/types.js.map +1 -0
- package/dist/src/processors/utils.d.ts +10 -0
- package/dist/src/processors/utils.d.ts.map +1 -0
- package/dist/src/processors/utils.js +58 -0
- package/dist/src/processors/utils.js.map +1 -0
- package/dist/src/queue/types.d.ts +2 -0
- package/dist/src/queue/types.d.ts.map +1 -1
- package/dist/src/queue/types.js.map +1 -1
- package/dist/src/read-models/base-read-model.d.ts +60 -0
- package/dist/src/read-models/base-read-model.d.ts.map +1 -0
- package/dist/src/read-models/base-read-model.js +143 -0
- package/dist/src/read-models/base-read-model.js.map +1 -0
- package/dist/src/read-models/coordinator.d.ts +3 -2
- package/dist/src/read-models/coordinator.d.ts.map +1 -1
- package/dist/src/read-models/coordinator.js +12 -13
- package/dist/src/read-models/coordinator.js.map +1 -1
- package/dist/src/read-models/document-view.d.ts +6 -7
- package/dist/src/read-models/document-view.d.ts.map +1 -1
- package/dist/src/read-models/document-view.js +18 -81
- package/dist/src/read-models/document-view.js.map +1 -1
- package/dist/src/read-models/types.d.ts +2 -1
- package/dist/src/read-models/types.d.ts.map +1 -1
- package/dist/src/registry/implementation.d.ts +42 -34
- package/dist/src/registry/implementation.d.ts.map +1 -1
- package/dist/src/registry/implementation.js +168 -48
- package/dist/src/registry/implementation.js.map +1 -1
- package/dist/src/registry/interfaces.d.ts +69 -8
- package/dist/src/registry/interfaces.d.ts.map +1 -1
- package/dist/src/shared/errors.d.ts +24 -0
- package/dist/src/shared/errors.d.ts.map +1 -1
- package/dist/src/shared/errors.js +42 -0
- package/dist/src/shared/errors.js.map +1 -1
- package/dist/src/shared/types.d.ts +4 -0
- package/dist/src/shared/types.d.ts.map +1 -1
- package/dist/src/shared/types.js.map +1 -1
- package/dist/src/signer/passthrough-signer.d.ts +9 -3
- package/dist/src/signer/passthrough-signer.d.ts.map +1 -1
- package/dist/src/signer/passthrough-signer.js +13 -0
- package/dist/src/signer/passthrough-signer.js.map +1 -1
- package/dist/src/signer/types.d.ts +12 -10
- package/dist/src/signer/types.d.ts.map +1 -1
- package/dist/src/storage/consistency-aware-legacy-storage.d.ts +33 -0
- package/dist/src/storage/consistency-aware-legacy-storage.d.ts.map +1 -0
- package/dist/src/storage/consistency-aware-legacy-storage.js +65 -0
- package/dist/src/storage/consistency-aware-legacy-storage.js.map +1 -0
- package/dist/src/storage/interfaces.d.ts +94 -1
- package/dist/src/storage/interfaces.d.ts.map +1 -1
- package/dist/src/storage/interfaces.js +2 -2
- package/dist/src/storage/interfaces.js.map +1 -1
- package/dist/src/storage/kysely/store.d.ts +1 -0
- package/dist/src/storage/kysely/store.d.ts.map +1 -1
- package/dist/src/storage/kysely/store.js +41 -4
- package/dist/src/storage/kysely/store.js.map +1 -1
- package/dist/src/storage/kysely/sync-cursor-storage.js +2 -2
- package/dist/src/storage/kysely/sync-cursor-storage.js.map +1 -1
- package/dist/src/storage/kysely/sync-remote-storage.d.ts.map +1 -1
- package/dist/src/storage/kysely/sync-remote-storage.js +11 -12
- package/dist/src/storage/kysely/sync-remote-storage.js.map +1 -1
- package/dist/src/storage/kysely/types.d.ts +6 -6
- package/dist/src/storage/migrations/001_create_operation_table.d.ts.map +1 -1
- package/dist/src/storage/migrations/001_create_operation_table.js +2 -1
- package/dist/src/storage/migrations/001_create_operation_table.js.map +1 -1
- package/dist/src/storage/migrations/008_create_view_state_table.d.ts +1 -1
- package/dist/src/storage/migrations/008_create_view_state_table.d.ts.map +1 -1
- package/dist/src/storage/migrations/008_create_view_state_table.js +2 -1
- package/dist/src/storage/migrations/008_create_view_state_table.js.map +1 -1
- package/dist/src/storage/migrations/009_create_operation_index_tables.js +1 -1
- package/dist/src/storage/migrations/009_create_operation_index_tables.js.map +1 -1
- package/dist/src/storage/migrations/010_create_sync_tables.js +5 -5
- package/dist/src/storage/migrations/010_create_sync_tables.js.map +1 -1
- package/dist/src/storage/migrations/migrator.d.ts +3 -2
- package/dist/src/storage/migrations/migrator.d.ts.map +1 -1
- package/dist/src/storage/migrations/migrator.js +29 -6
- package/dist/src/storage/migrations/migrator.js.map +1 -1
- package/dist/src/storage/migrations/run-migrations.js +3 -3
- package/dist/src/storage/migrations/run-migrations.js.map +1 -1
- package/dist/src/storage/txn.d.ts.map +1 -1
- package/dist/src/storage/txn.js +2 -3
- package/dist/src/storage/txn.js.map +1 -1
- package/dist/src/subs/subscription-notification-read-model.d.ts +17 -0
- package/dist/src/subs/subscription-notification-read-model.d.ts.map +1 -0
- package/dist/src/subs/subscription-notification-read-model.js +62 -0
- package/dist/src/subs/subscription-notification-read-model.js.map +1 -0
- package/dist/src/sync/channels/composite-channel-factory.d.ts +30 -0
- package/dist/src/sync/channels/composite-channel-factory.d.ts.map +1 -0
- package/dist/src/sync/channels/composite-channel-factory.js +87 -0
- package/dist/src/sync/channels/composite-channel-factory.js.map +1 -0
- package/dist/src/sync/channels/gql-channel-factory.d.ts +25 -0
- package/dist/src/sync/channels/gql-channel-factory.d.ts.map +1 -0
- package/dist/src/sync/channels/gql-channel-factory.js +76 -0
- package/dist/src/sync/channels/gql-channel-factory.js.map +1 -0
- package/dist/src/sync/channels/gql-channel.d.ts +118 -0
- package/dist/src/sync/channels/gql-channel.d.ts.map +1 -0
- package/dist/src/sync/channels/gql-channel.js +423 -0
- package/dist/src/sync/channels/gql-channel.js.map +1 -0
- package/dist/src/sync/channels/index.d.ts +4 -1
- package/dist/src/sync/channels/index.d.ts.map +1 -1
- package/dist/src/sync/channels/index.js +4 -1
- package/dist/src/sync/channels/index.js.map +1 -1
- package/dist/src/sync/channels/polling-channel.d.ts +39 -0
- package/dist/src/sync/channels/polling-channel.d.ts.map +1 -0
- package/dist/src/sync/channels/polling-channel.js +72 -0
- package/dist/src/sync/channels/polling-channel.js.map +1 -0
- package/dist/src/sync/channels/utils.d.ts +17 -2
- package/dist/src/sync/channels/utils.d.ts.map +1 -1
- package/dist/src/sync/channels/utils.js +76 -6
- package/dist/src/sync/channels/utils.js.map +1 -1
- package/dist/src/sync/errors.d.ts +1 -1
- package/dist/src/sync/errors.d.ts.map +1 -1
- package/dist/src/sync/errors.js +2 -2
- package/dist/src/sync/errors.js.map +1 -1
- package/dist/src/sync/index.d.ts +2 -2
- package/dist/src/sync/index.d.ts.map +1 -1
- package/dist/src/sync/index.js +2 -2
- package/dist/src/sync/index.js.map +1 -1
- package/dist/src/sync/interfaces.d.ts +33 -3
- package/dist/src/sync/interfaces.d.ts.map +1 -1
- package/dist/src/sync/sync-builder.d.ts +4 -2
- package/dist/src/sync/sync-builder.d.ts.map +1 -1
- package/dist/src/sync/sync-builder.js +12 -2
- package/dist/src/sync/sync-builder.js.map +1 -1
- package/dist/src/sync/sync-manager.d.ts +7 -3
- package/dist/src/sync/sync-manager.d.ts.map +1 -1
- package/dist/src/sync/sync-manager.js +79 -10
- package/dist/src/sync/sync-manager.js.map +1 -1
- package/dist/src/sync/types.d.ts +1 -2
- package/dist/src/sync/types.d.ts.map +1 -1
- package/dist/src/sync/utils.d.ts +19 -0
- package/dist/src/sync/utils.d.ts.map +1 -1
- package/dist/src/sync/utils.js +44 -0
- package/dist/src/sync/utils.js.map +1 -1
- package/package.json +6 -5
- package/dist/src/core/builder.d.ts.map +0 -1
- package/dist/src/core/builder.js +0 -88
- package/dist/src/core/builder.js.map +0 -1
- package/dist/src/sync/channels/internal-channel.d.ts +0 -57
- package/dist/src/sync/channels/internal-channel.d.ts.map +0 -1
- package/dist/src/sync/channels/internal-channel.js +0 -106
- package/dist/src/sync/channels/internal-channel.js.map +0 -1
|
@@ -42,11 +42,18 @@ export interface IReactorClient {
|
|
|
42
42
|
* @param signal - Optional abort signal to cancel the request
|
|
43
43
|
* @returns List of document model modules
|
|
44
44
|
*/
|
|
45
|
-
|
|
45
|
+
getDocumentModelModules(namespace?: string, paging?: PagingOptions, signal?: AbortSignal): Promise<PagedResults<DocumentModelModule>>;
|
|
46
46
|
/**
|
|
47
|
-
* Retrieves a specific
|
|
47
|
+
* Retrieves a specific document model module by document type.
|
|
48
48
|
*
|
|
49
|
-
* @param
|
|
49
|
+
* @param documentType - The document type identifier
|
|
50
|
+
* @returns The document model module
|
|
51
|
+
*/
|
|
52
|
+
getDocumentModelModule(documentType: string): Promise<DocumentModelModule<any>>;
|
|
53
|
+
/**
|
|
54
|
+
* Retrieves a specific document by identifier (either id or slug).
|
|
55
|
+
*
|
|
56
|
+
* @param identifier - Required, this is the document id or slug
|
|
50
57
|
* @param view - Optional filter containing branch and scopes information
|
|
51
58
|
* @param signal - Optional abort signal to cancel the request
|
|
52
59
|
* @returns The up-to-date PHDocument with scopes and list of child document ids
|
|
@@ -102,6 +109,18 @@ export interface IReactorClient {
|
|
|
102
109
|
* @param signal - Optional abort signal to cancel the request
|
|
103
110
|
*/
|
|
104
111
|
createEmpty<TDocument extends PHDocument>(documentType: string, parentIdentifier?: string, signal?: AbortSignal): Promise<TDocument>;
|
|
112
|
+
/**
|
|
113
|
+
* Creates an empty document in a drive as a single batched operation.
|
|
114
|
+
* This is more efficient than createEmpty + addFile as it batches all
|
|
115
|
+
* actions into dependent jobs and waits for them to complete together.
|
|
116
|
+
*
|
|
117
|
+
* @param driveId - The drive document id or slug
|
|
118
|
+
* @param document - The document to create
|
|
119
|
+
* @param parentFolder - Optional folder id within the drive
|
|
120
|
+
* @param signal - Optional abort signal to cancel the request
|
|
121
|
+
* @returns The created document
|
|
122
|
+
*/
|
|
123
|
+
createDocumentInDrive<TDocument extends PHDocument>(driveId: string, document: PHDocument, parentFolder?: string, signal?: AbortSignal): Promise<TDocument>;
|
|
105
124
|
/**
|
|
106
125
|
* Applies a list of actions to a document and waits for completion
|
|
107
126
|
*
|
|
@@ -111,7 +130,7 @@ export interface IReactorClient {
|
|
|
111
130
|
* @param signal - Optional abort signal to cancel the request
|
|
112
131
|
* @returns The updated document
|
|
113
132
|
*/
|
|
114
|
-
|
|
133
|
+
execute<TDocument extends PHDocument>(documentIdentifier: string, branch: string, actions: Action[], signal?: AbortSignal): Promise<TDocument>;
|
|
115
134
|
/**
|
|
116
135
|
* Submits a list of actions to a document
|
|
117
136
|
*
|
|
@@ -121,48 +140,48 @@ export interface IReactorClient {
|
|
|
121
140
|
* @param signal - Optional abort signal to cancel the request
|
|
122
141
|
* @returns The job
|
|
123
142
|
*/
|
|
124
|
-
|
|
143
|
+
executeAsync(documentIdentifier: string, branch: string, actions: Action[], signal?: AbortSignal): Promise<JobInfo>;
|
|
125
144
|
/**
|
|
126
145
|
* Renames a document and waits for completion
|
|
127
146
|
*
|
|
128
147
|
* @param documentIdentifier - Target document id or slug
|
|
129
148
|
* @param name - The new name of the document
|
|
130
|
-
* @param
|
|
149
|
+
* @param branch - Optional branch to rename the document, defaults to "main"
|
|
131
150
|
* @param signal - Optional abort signal to cancel the request
|
|
132
151
|
* @returns The updated document.
|
|
133
152
|
*/
|
|
134
|
-
rename(documentIdentifier: string, name: string,
|
|
153
|
+
rename(documentIdentifier: string, name: string, branch?: string, signal?: AbortSignal): Promise<PHDocument>;
|
|
135
154
|
/**
|
|
136
155
|
* Adds multiple documents as children to another and waits for completion
|
|
137
156
|
*
|
|
138
157
|
* @param parentIdentifier - Parent document id or slug
|
|
139
158
|
* @param documentIdentifiers - List of document identifiers to add as children
|
|
140
|
-
* @param
|
|
159
|
+
* @param branch - Optional branch to add children to, defaults to "main"
|
|
141
160
|
* @param signal - Optional abort signal to cancel the request
|
|
142
161
|
* @returns The updated parent document
|
|
143
162
|
*/
|
|
144
|
-
addChildren(parentIdentifier: string, documentIdentifiers: string[],
|
|
163
|
+
addChildren(parentIdentifier: string, documentIdentifiers: string[], branch?: string, signal?: AbortSignal): Promise<PHDocument>;
|
|
145
164
|
/**
|
|
146
165
|
* Removes multiple documents as children from another and waits for completion
|
|
147
166
|
*
|
|
148
167
|
* @param parentIdentifier - Parent document identifiers
|
|
149
168
|
* @param documentIdentifiers - List of document ids to remove as children
|
|
150
|
-
* @param
|
|
169
|
+
* @param branch - Optional branch to remove children from, defaults to "main"
|
|
151
170
|
* @param signal - Optional abort signal to cancel the request
|
|
152
171
|
* @returns The updated parent document
|
|
153
172
|
*/
|
|
154
|
-
removeChildren(parentIdentifier: string, documentIdentifiers: string[],
|
|
173
|
+
removeChildren(parentIdentifier: string, documentIdentifiers: string[], branch?: string, signal?: AbortSignal): Promise<PHDocument>;
|
|
155
174
|
/**
|
|
156
175
|
* Moves multiple documents from one parent to another and waits for completion
|
|
157
176
|
*
|
|
158
177
|
* @param sourceParentIdentifier - Source parent document id or slug
|
|
159
178
|
* @param targetParentIdentifier - Target parent document id or slug
|
|
160
179
|
* @param documentIdentifiers - List of document identifiers to move
|
|
161
|
-
* @param
|
|
180
|
+
* @param branch - Optional branch to move children to, defaults to "main"
|
|
162
181
|
* @param signal - Optional abort signal to cancel the request
|
|
163
182
|
* @returns The updated source and target documents
|
|
164
183
|
*/
|
|
165
|
-
moveChildren(sourceParentIdentifier: string, targetParentIdentifier: string, documentIdentifiers: string[],
|
|
184
|
+
moveChildren(sourceParentIdentifier: string, targetParentIdentifier: string, documentIdentifiers: string[], branch?: string, signal?: AbortSignal): Promise<{
|
|
166
185
|
source: PHDocument;
|
|
167
186
|
target: PHDocument;
|
|
168
187
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/client/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE9E,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,aAAa,EACb,eAAe,EACf,YAAY,EACZ,UAAU,EACX,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,WAAW,iBAAiB;IAC5B,aAAa,mBAAmB;IAChC,UAAU,gBAAgB;IAC1B,YAAY,kBAAkB;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,kBAAkB,CAAC;IACzB,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/client/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE9E,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,aAAa,EACb,eAAe,EACf,YAAY,EACZ,UAAU,EACX,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,oBAAY,kBAAkB;IAC5B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,WAAW,iBAAiB;IAC5B,aAAa,mBAAmB;IAChC,UAAU,gBAAgB;IAC1B,YAAY,kBAAkB;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,kBAAkB,CAAC;IACzB,SAAS,EAAE,UAAU,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;OAOG;IACH,uBAAuB,CACrB,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE9C;;;;;OAKG;IACH,sBAAsB,CACpB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IAErC;;;;;;;OAOG;IACH,GAAG,CAAC,SAAS,SAAS,UAAU,EAC9B,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;QACT,QAAQ,EAAE,SAAS,CAAC;QACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC,CAAC;IAEH;;;;;;;;OAQG;IACH,WAAW,CACT,gBAAgB,EAAE,MAAM,EACxB,IAAI,CAAC,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;IAErC;;;;;;;;OAQG;IACH,UAAU,CACR,eAAe,EAAE,MAAM,EACvB,IAAI,CAAC,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;IAErC;;;;;;;;OAQG;IACH,IAAI,CACF,MAAM,EAAE,YAAY,EACpB,IAAI,CAAC,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;IAErC;;;;;;;OAOG;IACH,MAAM,CACJ,QAAQ,EAAE,UAAU,EACpB,gBAAgB,CAAC,EAAE,MAAM,EACzB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvB;;;;;;OAMG;IACH,WAAW,CAAC,SAAS,SAAS,UAAU,EACtC,YAAY,EAAE,MAAM,EACpB,gBAAgB,CAAC,EAAE,MAAM,EACzB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC,CAAC;IAEtB;;;;;;;;;;OAUG;IACH,qBAAqB,CAAC,SAAS,SAAS,UAAU,EAChD,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,UAAU,EACpB,YAAY,CAAC,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC,CAAC;IAEtB;;;;;;;;OAQG;IACH,OAAO,CAAC,SAAS,SAAS,UAAU,EAClC,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,SAAS,CAAC,CAAC;IAEtB;;;;;;;;OAQG;IACH,YAAY,CACV,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;;;;;;;OAQG;IACH,MAAM,CACJ,kBAAkB,EAAE,MAAM,EAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvB;;;;;;;;OAQG;IACH,WAAW,CACT,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,EAAE,MAAM,EAAE,EAC7B,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvB;;;;;;;;OAQG;IACH,cAAc,CACZ,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,EAAE,MAAM,EAAE,EAC7B,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,CAAC,CAAC;IAEvB;;;;;;;;;OASG;IACH,YAAY,CACV,sBAAsB,EAAE,MAAM,EAC9B,sBAAsB,EAAE,MAAM,EAC9B,mBAAmB,EAAE,MAAM,EAAE,EAC7B,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;QACT,MAAM,EAAE,UAAU,CAAC;QACnB,MAAM,EAAE,UAAU,CAAC;KACpB,CAAC,CAAC;IAEH;;;;;;;OAOG;IACH,cAAc,CACZ,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;;OAOG;IACH,eAAe,CACb,WAAW,EAAE,MAAM,EAAE,EACrB,SAAS,CAAC,EAAE,eAAe,EAC3B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpE;;;;;;OAMG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE5E;;;;;;;OAOG;IACH,SAAS,CACP,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,EAC9C,IAAI,CAAC,EAAE,UAAU,GAChB,MAAM,IAAI,CAAC;CACf"}
|
|
@@ -1,40 +1,47 @@
|
|
|
1
1
|
import type { IDocumentOperationStorage, IDocumentStorage } from "document-drive";
|
|
2
|
-
import type { DocumentModelModule } from "document-model";
|
|
2
|
+
import type { DocumentModelModule, UpgradeManifest } from "document-model";
|
|
3
3
|
import type { WriteCacheConfig } from "../cache/write-cache-types.js";
|
|
4
|
-
import type { IReadModel } from "../read-models/interfaces.js";
|
|
4
|
+
import type { IReadModel, IReadModelCoordinator } from "../read-models/interfaces.js";
|
|
5
5
|
import type { SyncBuilder } from "../sync/sync-builder.js";
|
|
6
|
-
import type { ExecutorConfig, IReactor, ReactorFeatures } from "./types.js";
|
|
6
|
+
import type { Database, ExecutorConfig, IReactor, ReactorFeatures, ReactorModule } from "./types.js";
|
|
7
7
|
import type { IJobExecutorManager } from "#executor/interfaces.js";
|
|
8
|
-
import type {
|
|
8
|
+
import type { ILogger } from "#logging/types.js";
|
|
9
|
+
import { Kysely } from "kysely";
|
|
9
10
|
import type { IEventBus } from "../events/interfaces.js";
|
|
10
|
-
import type {
|
|
11
|
+
import type { SignatureVerificationHandler } from "../signer/types.js";
|
|
11
12
|
import type { MigrationStrategy } from "../storage/migrations/types.js";
|
|
12
|
-
export type IReadModelCoordinatorFactory = (eventBus: IEventBus, readModels: IReadModel[]) => IReadModelCoordinator;
|
|
13
13
|
export declare class ReactorBuilder {
|
|
14
|
+
private logger?;
|
|
14
15
|
private documentModels;
|
|
16
|
+
private upgradeManifests;
|
|
15
17
|
private storage?;
|
|
16
18
|
private features;
|
|
17
19
|
private readModels;
|
|
18
20
|
private executorManager;
|
|
19
21
|
private executorConfig;
|
|
20
22
|
private writeCacheConfig?;
|
|
21
|
-
private readModelCoordinatorFactory?;
|
|
22
23
|
private migrationStrategy;
|
|
23
24
|
private syncBuilder?;
|
|
24
25
|
private eventBus?;
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
private readModelCoordinator?;
|
|
27
|
+
private signatureVerifier?;
|
|
28
|
+
private kyselyInstance?;
|
|
29
|
+
withLogger(logger: ILogger): this;
|
|
30
|
+
withDocumentModels(models: DocumentModelModule<any>[]): this;
|
|
31
|
+
withUpgradeManifests(manifests: UpgradeManifest<readonly number[]>[]): this;
|
|
27
32
|
withLegacyStorage(storage: IDocumentStorage & IDocumentOperationStorage): this;
|
|
28
33
|
withFeatures(features: ReactorFeatures): this;
|
|
29
34
|
withReadModel(readModel: IReadModel): this;
|
|
30
|
-
|
|
35
|
+
withReadModelCoordinator(readModelCoordinator: IReadModelCoordinator): this;
|
|
31
36
|
withExecutor(executor: IJobExecutorManager): this;
|
|
32
37
|
withExecutorConfig(config: Partial<ExecutorConfig>): this;
|
|
33
38
|
withWriteCacheConfig(config: Partial<WriteCacheConfig>): this;
|
|
34
|
-
|
|
39
|
+
withMigrationStrategy(strategy: MigrationStrategy): this;
|
|
35
40
|
withSync(syncBuilder: SyncBuilder): this;
|
|
36
41
|
withEventBus(eventBus: IEventBus): this;
|
|
37
|
-
|
|
42
|
+
withSignatureVerifier(verifier: SignatureVerificationHandler): this;
|
|
43
|
+
withKysely(kysely: Kysely<Database>): this;
|
|
38
44
|
build(): Promise<IReactor>;
|
|
45
|
+
buildModule(): Promise<ReactorModule>;
|
|
39
46
|
}
|
|
40
47
|
//# sourceMappingURL=reactor-builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactor-builder.d.ts","sourceRoot":"","sources":["../../../src/core/reactor-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAKxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"reactor-builder.d.ts","sourceRoot":"","sources":["../../../src/core/reactor-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAKxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAI3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAQtE,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EACtB,MAAM,8BAA8B,CAAC;AAOtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,eAAe,EACf,aAAa,EAEd,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAMvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAKxE,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,gBAAgB,CAA4C;IACpE,OAAO,CAAC,OAAO,CAAC,CAA+C;IAC/D,OAAO,CAAC,QAAQ,CAAmD;IACnE,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,gBAAgB,CAAC,CAA4B;IACrD,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,QAAQ,CAAC,CAAY;IAC7B,OAAO,CAAC,oBAAoB,CAAC,CAAwB;IACrD,OAAO,CAAC,iBAAiB,CAAC,CAA+B;IACzD,OAAO,CAAC,cAAc,CAAC,CAAmB;IAE1C,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAKjC,kBAAkB,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;IAK5D,oBAAoB,CAAC,SAAS,EAAE,eAAe,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,GAAG,IAAI;IAK3E,iBAAiB,CACf,OAAO,EAAE,gBAAgB,GAAG,yBAAyB,GACpD,IAAI;IAKP,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAK7C,aAAa,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAK1C,wBAAwB,CAAC,oBAAoB,EAAE,qBAAqB,GAAG,IAAI;IAK3E,YAAY,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAKjD,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAKzD,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAK7D,qBAAqB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAKxD,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAKxC,YAAY,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI;IAKvC,qBAAqB,CAAC,QAAQ,EAAE,4BAA4B,GAAG,IAAI;IAKnE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI;IAKpC,KAAK,IAAI,OAAO,CAAC,QAAQ,CAAC;IAK1B,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;CA4N5C"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ReactorBuilder as DriveReactorBuilder, MemoryStorage, } from "document-drive";
|
|
2
|
+
import { DocumentMetaCache } from "../cache/document-meta-cache.js";
|
|
2
3
|
import { KyselyOperationIndex } from "../cache/kysely-operation-index.js";
|
|
3
4
|
import { KyselyWriteCache } from "../cache/kysely-write-cache.js";
|
|
4
5
|
import { EventBus } from "../events/event-bus.js";
|
|
@@ -14,26 +15,44 @@ import { KyselyDocumentIndexer } from "../storage/kysely/document-indexer.js";
|
|
|
14
15
|
import { KyselyKeyframeStore } from "../storage/kysely/keyframe-store.js";
|
|
15
16
|
import { KyselyOperationStore } from "../storage/kysely/store.js";
|
|
16
17
|
import { Reactor } from "./reactor.js";
|
|
18
|
+
import { ConsoleLogger } from "#logging/console.js";
|
|
19
|
+
import { PGlite } from "@electric-sql/pglite";
|
|
17
20
|
import { Kysely } from "kysely";
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
21
|
+
import { PGliteDialect } from "kysely-pglite-dialect";
|
|
22
|
+
import { ProcessorManager } from "../processors/processor-manager.js";
|
|
23
|
+
import { ConsistencyAwareLegacyStorage } from "../storage/consistency-aware-legacy-storage.js";
|
|
24
|
+
import { REACTOR_SCHEMA, runMigrations, } from "../storage/migrations/migrator.js";
|
|
25
|
+
import { DefaultSubscriptionErrorHandler } from "../subs/default-error-handler.js";
|
|
26
|
+
import { ReactorSubscriptionManager } from "../subs/react-subscription-manager.js";
|
|
27
|
+
import { SubscriptionNotificationReadModel } from "../subs/subscription-notification-read-model.js";
|
|
20
28
|
export class ReactorBuilder {
|
|
29
|
+
logger;
|
|
21
30
|
documentModels = [];
|
|
31
|
+
upgradeManifests = [];
|
|
22
32
|
storage;
|
|
23
33
|
features = { legacyStorageEnabled: true };
|
|
24
34
|
readModels = [];
|
|
25
35
|
executorManager;
|
|
26
36
|
executorConfig = { count: 1 };
|
|
27
37
|
writeCacheConfig;
|
|
28
|
-
readModelCoordinatorFactory;
|
|
29
38
|
migrationStrategy = "auto";
|
|
30
39
|
syncBuilder;
|
|
31
40
|
eventBus;
|
|
32
|
-
|
|
41
|
+
readModelCoordinator;
|
|
42
|
+
signatureVerifier;
|
|
43
|
+
kyselyInstance;
|
|
44
|
+
withLogger(logger) {
|
|
45
|
+
this.logger = logger;
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
33
48
|
withDocumentModels(models) {
|
|
34
49
|
this.documentModels = models;
|
|
35
50
|
return this;
|
|
36
51
|
}
|
|
52
|
+
withUpgradeManifests(manifests) {
|
|
53
|
+
this.upgradeManifests = manifests;
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
37
56
|
withLegacyStorage(storage) {
|
|
38
57
|
this.storage = storage;
|
|
39
58
|
return this;
|
|
@@ -46,8 +65,8 @@ export class ReactorBuilder {
|
|
|
46
65
|
this.readModels.push(readModel);
|
|
47
66
|
return this;
|
|
48
67
|
}
|
|
49
|
-
|
|
50
|
-
this.
|
|
68
|
+
withReadModelCoordinator(readModelCoordinator) {
|
|
69
|
+
this.readModelCoordinator = readModelCoordinator;
|
|
51
70
|
return this;
|
|
52
71
|
}
|
|
53
72
|
withExecutor(executor) {
|
|
@@ -62,7 +81,7 @@ export class ReactorBuilder {
|
|
|
62
81
|
this.writeCacheConfig = config;
|
|
63
82
|
return this;
|
|
64
83
|
}
|
|
65
|
-
|
|
84
|
+
withMigrationStrategy(strategy) {
|
|
66
85
|
this.migrationStrategy = strategy;
|
|
67
86
|
return this;
|
|
68
87
|
}
|
|
@@ -74,68 +93,139 @@ export class ReactorBuilder {
|
|
|
74
93
|
this.eventBus = eventBus;
|
|
75
94
|
return this;
|
|
76
95
|
}
|
|
77
|
-
|
|
78
|
-
|
|
96
|
+
withSignatureVerifier(verifier) {
|
|
97
|
+
this.signatureVerifier = verifier;
|
|
98
|
+
return this;
|
|
99
|
+
}
|
|
100
|
+
withKysely(kysely) {
|
|
101
|
+
this.kyselyInstance = kysely;
|
|
102
|
+
return this;
|
|
79
103
|
}
|
|
80
104
|
async build() {
|
|
105
|
+
const module = await this.buildModule();
|
|
106
|
+
return module.reactor;
|
|
107
|
+
}
|
|
108
|
+
async buildModule() {
|
|
109
|
+
if (!this.logger) {
|
|
110
|
+
this.logger = new ConsoleLogger(["reactor"]);
|
|
111
|
+
}
|
|
81
112
|
const storage = this.storage || new MemoryStorage();
|
|
82
|
-
const
|
|
113
|
+
const documentModelRegistry = new DocumentModelRegistry();
|
|
114
|
+
if (this.upgradeManifests.length > 0) {
|
|
115
|
+
documentModelRegistry.registerUpgradeManifests(...this.upgradeManifests);
|
|
116
|
+
}
|
|
83
117
|
if (this.documentModels.length > 0) {
|
|
84
|
-
|
|
118
|
+
documentModelRegistry.registerModules(...this.documentModels);
|
|
85
119
|
}
|
|
86
120
|
const builder = new DriveReactorBuilder(this.documentModels).withStorage(storage);
|
|
87
121
|
const driveServer = builder.build();
|
|
88
122
|
await driveServer.initialize();
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
123
|
+
const baseDatabase = this.kyselyInstance ??
|
|
124
|
+
new Kysely({
|
|
125
|
+
dialect: new PGliteDialect(new PGlite()),
|
|
126
|
+
});
|
|
93
127
|
if (this.migrationStrategy === "auto") {
|
|
94
|
-
const result = await runMigrations(
|
|
128
|
+
const result = await runMigrations(baseDatabase, REACTOR_SCHEMA);
|
|
95
129
|
if (!result.success && result.error) {
|
|
96
130
|
throw new Error(`Database migration failed: ${result.error.message}`);
|
|
97
131
|
}
|
|
98
132
|
}
|
|
99
|
-
const
|
|
100
|
-
const
|
|
133
|
+
const database = baseDatabase.withSchema(REACTOR_SCHEMA);
|
|
134
|
+
const operationStore = new KyselyOperationStore(database);
|
|
135
|
+
const keyframeStore = new KyselyKeyframeStore(database);
|
|
101
136
|
const eventBus = this.eventBus || new EventBus();
|
|
102
137
|
const queue = new InMemoryQueue(eventBus);
|
|
103
138
|
const jobTracker = new InMemoryJobTracker(eventBus);
|
|
139
|
+
const legacyStorageConsistencyTracker = new ConsistencyTracker();
|
|
140
|
+
const consistencyAwareStorage = new ConsistencyAwareLegacyStorage(storage, legacyStorageConsistencyTracker, eventBus);
|
|
104
141
|
const cacheConfig = {
|
|
105
142
|
maxDocuments: this.writeCacheConfig?.maxDocuments ?? 100,
|
|
106
143
|
ringBufferSize: this.writeCacheConfig?.ringBufferSize ?? 10,
|
|
107
144
|
keyframeInterval: this.writeCacheConfig?.keyframeInterval ?? 10,
|
|
108
145
|
};
|
|
109
|
-
const writeCache = new KyselyWriteCache(keyframeStore, operationStore,
|
|
146
|
+
const writeCache = new KyselyWriteCache(keyframeStore, operationStore, documentModelRegistry, cacheConfig);
|
|
110
147
|
await writeCache.startup();
|
|
111
|
-
const operationIndex = new KyselyOperationIndex(
|
|
112
|
-
|
|
113
|
-
|
|
148
|
+
const operationIndex = new KyselyOperationIndex(database);
|
|
149
|
+
const documentMetaCache = new DocumentMetaCache(operationStore, {
|
|
150
|
+
maxDocuments: 1000,
|
|
151
|
+
});
|
|
152
|
+
await documentMetaCache.startup();
|
|
153
|
+
let executorManager = this.executorManager;
|
|
154
|
+
if (!executorManager) {
|
|
155
|
+
executorManager = new SimpleJobExecutorManager(() => new SimpleJobExecutor(this.logger, documentModelRegistry, storage, storage, operationStore, eventBus, writeCache, operationIndex, documentMetaCache, { legacyStorageEnabled: this.features.legacyStorageEnabled }, this.signatureVerifier), eventBus, queue, jobTracker, this.logger);
|
|
114
156
|
}
|
|
115
|
-
await
|
|
157
|
+
await executorManager.start(this.executorConfig.count);
|
|
116
158
|
const readModelInstances = Array.from(new Set([...this.readModels]));
|
|
117
159
|
const documentViewConsistencyTracker = new ConsistencyTracker();
|
|
118
160
|
const documentView = new KyselyDocumentView(
|
|
119
161
|
// @ts-expect-error - Database type is a superset that includes all required tables
|
|
120
|
-
|
|
121
|
-
|
|
162
|
+
database, operationStore, operationIndex, writeCache, documentViewConsistencyTracker);
|
|
163
|
+
try {
|
|
164
|
+
await documentView.init();
|
|
165
|
+
}
|
|
166
|
+
catch (error) {
|
|
167
|
+
console.error("Error initializing document view", error);
|
|
168
|
+
}
|
|
122
169
|
readModelInstances.push(documentView);
|
|
123
170
|
const documentIndexerConsistencyTracker = new ConsistencyTracker();
|
|
124
|
-
|
|
171
|
+
const documentIndexer = new KyselyDocumentIndexer(
|
|
172
|
+
// @ts-expect-error - Database type is a superset that includes all required tables
|
|
173
|
+
database, operationStore, documentIndexerConsistencyTracker);
|
|
174
|
+
try {
|
|
175
|
+
await documentIndexer.init();
|
|
176
|
+
}
|
|
177
|
+
catch (error) {
|
|
178
|
+
console.error("Error initializing document indexer", error);
|
|
179
|
+
}
|
|
180
|
+
readModelInstances.push(documentIndexer);
|
|
181
|
+
const subscriptionManager = new ReactorSubscriptionManager(new DefaultSubscriptionErrorHandler());
|
|
182
|
+
const subscriptionNotificationReadModel = new SubscriptionNotificationReadModel(subscriptionManager, documentView);
|
|
183
|
+
const processorManagerConsistencyTracker = new ConsistencyTracker();
|
|
184
|
+
const processorManager = new ProcessorManager(
|
|
125
185
|
// @ts-expect-error - Database type is a superset that includes all required tables
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
186
|
+
database, operationIndex, writeCache, processorManagerConsistencyTracker);
|
|
187
|
+
try {
|
|
188
|
+
await processorManager.init();
|
|
189
|
+
}
|
|
190
|
+
catch (error) {
|
|
191
|
+
console.error("Error initializing processor manager", error);
|
|
192
|
+
}
|
|
193
|
+
const readModelCoordinator = this.readModelCoordinator
|
|
194
|
+
? this.readModelCoordinator
|
|
195
|
+
: new ReadModelCoordinator(eventBus, readModelInstances, [
|
|
196
|
+
subscriptionNotificationReadModel,
|
|
197
|
+
processorManager,
|
|
198
|
+
]);
|
|
199
|
+
const reactor = new Reactor(this.logger, driveServer, consistencyAwareStorage, queue, jobTracker, readModelCoordinator, this.features, documentView, documentIndexer, operationStore);
|
|
200
|
+
let syncModule = undefined;
|
|
133
201
|
if (this.syncBuilder) {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
await syncManager.startup();
|
|
202
|
+
syncModule = this.syncBuilder.buildModule(reactor, this.logger, operationIndex, eventBus, database);
|
|
203
|
+
await syncModule.syncManager.startup();
|
|
137
204
|
}
|
|
138
|
-
return
|
|
205
|
+
return {
|
|
206
|
+
driveServer,
|
|
207
|
+
storage,
|
|
208
|
+
eventBus,
|
|
209
|
+
documentModelRegistry,
|
|
210
|
+
queue,
|
|
211
|
+
jobTracker,
|
|
212
|
+
executorManager,
|
|
213
|
+
database,
|
|
214
|
+
operationStore,
|
|
215
|
+
keyframeStore,
|
|
216
|
+
writeCache,
|
|
217
|
+
operationIndex,
|
|
218
|
+
documentView,
|
|
219
|
+
documentViewConsistencyTracker,
|
|
220
|
+
documentIndexer,
|
|
221
|
+
documentIndexerConsistencyTracker,
|
|
222
|
+
readModelCoordinator,
|
|
223
|
+
subscriptionManager,
|
|
224
|
+
processorManager,
|
|
225
|
+
processorManagerConsistencyTracker,
|
|
226
|
+
syncModule,
|
|
227
|
+
reactor,
|
|
228
|
+
};
|
|
139
229
|
}
|
|
140
230
|
}
|
|
141
231
|
//# sourceMappingURL=reactor-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactor-builder.js","sourceRoot":"","sources":["../../../src/core/reactor-builder.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,cAAc,IAAI,mBAAmB,EACrC,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"reactor-builder.js","sourceRoot":"","sources":["../../../src/core/reactor-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,32 @@
|
|
|
1
1
|
import type { IEventBus } from "#events/interfaces.js";
|
|
2
|
+
import type { ILogger } from "#logging/types.js";
|
|
3
|
+
import type { ISigner } from "document-model";
|
|
2
4
|
import { ReactorClient } from "../client/reactor-client.js";
|
|
3
5
|
import { type IJobAwaiter } from "../shared/awaiter.js";
|
|
4
|
-
import type {
|
|
6
|
+
import type { SignerConfig } from "../signer/types.js";
|
|
5
7
|
import type { IDocumentIndexer } from "../storage/interfaces.js";
|
|
6
8
|
import type { IReactorSubscriptionManager } from "../subs/types.js";
|
|
7
9
|
import type { ReactorBuilder } from "./reactor-builder.js";
|
|
8
|
-
import type { IReactor } from "./types.js";
|
|
10
|
+
import type { IReactor, ReactorClientModule } from "./types.js";
|
|
9
11
|
/**
|
|
10
12
|
* Builder class for constructing ReactorClient instances with proper configuration
|
|
11
13
|
*/
|
|
12
14
|
export declare class ReactorClientBuilder {
|
|
15
|
+
private logger?;
|
|
13
16
|
private reactorBuilder?;
|
|
14
17
|
private reactor?;
|
|
15
18
|
private eventBus?;
|
|
16
19
|
private documentIndexer?;
|
|
17
20
|
private signer?;
|
|
21
|
+
private signatureVerifier?;
|
|
18
22
|
private subscriptionManager?;
|
|
19
23
|
private jobAwaiter?;
|
|
24
|
+
/**
|
|
25
|
+
* Sets the logger for the ReactorClient.
|
|
26
|
+
* @param logger - The logger to use.
|
|
27
|
+
* @returns The ReactorClientBuilder instance.
|
|
28
|
+
*/
|
|
29
|
+
withLogger(logger: ILogger): this;
|
|
20
30
|
/**
|
|
21
31
|
* Either this or withReactor must be set.
|
|
22
32
|
*/
|
|
@@ -25,9 +35,15 @@ export declare class ReactorClientBuilder {
|
|
|
25
35
|
* Either this or withReactorBuilder must be set.
|
|
26
36
|
*/
|
|
27
37
|
withReactor(reactor: IReactor, eventBus: IEventBus, documentIndexer: IDocumentIndexer): this;
|
|
28
|
-
|
|
38
|
+
/**
|
|
39
|
+
* Sets the signer configuration for signing and verifying actions.
|
|
40
|
+
*
|
|
41
|
+
* @param config - Either an ISigner for signing only, or a SignerConfig for both signing and verification
|
|
42
|
+
*/
|
|
43
|
+
withSigner(config: ISigner | SignerConfig): this;
|
|
29
44
|
withSubscriptionManager(subscriptionManager: IReactorSubscriptionManager): this;
|
|
30
45
|
withJobAwaiter(jobAwaiter: IJobAwaiter): this;
|
|
31
46
|
build(): Promise<ReactorClient>;
|
|
47
|
+
buildModule(): Promise<ReactorClientModule>;
|
|
32
48
|
}
|
|
33
|
-
//# sourceMappingURL=builder.d.ts.map
|
|
49
|
+
//# sourceMappingURL=reactor-client-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reactor-client-builder.d.ts","sourceRoot":"","sources":["../../../src/core/reactor-client-builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAiB,MAAM,YAAY,CAAC;AAE/E;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,OAAO,CAAC,CAAW;IAC3B,OAAO,CAAC,QAAQ,CAAC,CAAY;IAC7B,OAAO,CAAC,eAAe,CAAC,CAAmB;IAC3C,OAAO,CAAC,MAAM,CAAC,CAAU;IACzB,OAAO,CAAC,iBAAiB,CAAC,CAA+B;IACzD,OAAO,CAAC,mBAAmB,CAAC,CAA8B;IAC1D,OAAO,CAAC,UAAU,CAAC,CAAc;IAEjC;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAKxC;;OAEG;IACI,kBAAkB,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;IAS/D;;OAEG;IACI,WAAW,CAChB,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,SAAS,EACnB,eAAe,EAAE,gBAAgB,GAChC,IAAI;IAWP;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI;IAUhD,uBAAuB,CAC5B,mBAAmB,EAAE,2BAA2B,GAC/C,IAAI;IAKA,cAAc,CAAC,UAAU,EAAE,WAAW,GAAG,IAAI;IAKvC,KAAK,IAAI,OAAO,CAAC,aAAa,CAAC;IAK/B,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;CA8DzD"}
|