@powerhousedao/reactor 5.1.0-staging.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 +16 -4
- package/dist/src/client/reactor-client.d.ts.map +1 -1
- package/dist/src/client/reactor-client.js +122 -5
- package/dist/src/client/reactor-client.js.map +1 -1
- package/dist/src/client/types.d.ts +22 -3
- package/dist/src/client/types.d.ts.map +1 -1
- package/dist/src/core/reactor-builder.d.ts +10 -9
- package/dist/src/core/reactor-builder.d.ts.map +1 -1
- package/dist/src/core/reactor-builder.js +73 -17
- package/dist/src/core/reactor-builder.js.map +1 -1
- package/dist/src/core/reactor-client-builder.d.ts +10 -1
- package/dist/src/core/reactor-client-builder.d.ts.map +1 -1
- package/dist/src/core/reactor-client-builder.js +16 -1
- package/dist/src/core/reactor-client-builder.js.map +1 -1
- package/dist/src/core/reactor.d.ts +11 -10
- package/dist/src/core/reactor.d.ts.map +1 -1
- package/dist/src/core/reactor.js +78 -91
- package/dist/src/core/reactor.js.map +1 -1
- package/dist/src/core/types.d.ts +22 -7
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/core/utils.d.ts +1 -2
- package/dist/src/core/utils.d.ts.map +1 -1
- package/dist/src/core/utils.js +2 -2
- 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 +17 -3
- package/dist/src/executor/simple-job-executor.d.ts.map +1 -1
- package/dist/src/executor/simple-job-executor.js +329 -221
- 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 +12 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +10 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/logging/console.d.ts +11 -1
- package/dist/src/logging/console.d.ts.map +1 -1
- package/dist/src/logging/console.js +45 -14
- package/dist/src/logging/console.js.map +1 -1
- package/dist/src/logging/types.d.ts +1 -0
- package/dist/src/logging/types.d.ts.map +1 -1
- 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 +16 -0
- package/dist/src/shared/errors.d.ts.map +1 -1
- package/dist/src/shared/errors.js +28 -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 +2 -22
- 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.js +8 -8
- 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/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 +5 -2
- package/dist/src/sync/channels/gql-channel-factory.d.ts.map +1 -1
- package/dist/src/sync/channels/gql-channel-factory.js +8 -2
- package/dist/src/sync/channels/gql-channel-factory.js.map +1 -1
- package/dist/src/sync/channels/gql-channel.d.ts +28 -1
- package/dist/src/sync/channels/gql-channel.d.ts.map +1 -1
- package/dist/src/sync/channels/gql-channel.js +150 -22
- package/dist/src/sync/channels/gql-channel.js.map +1 -1
- package/dist/src/sync/channels/index.d.ts +2 -1
- package/dist/src/sync/channels/index.d.ts.map +1 -1
- package/dist/src/sync/channels/index.js +2 -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 +16 -1
- package/dist/src/sync/interfaces.d.ts.map +1 -1
- package/dist/src/sync/sync-builder.d.ts +3 -2
- package/dist/src/sync/sync-builder.d.ts.map +1 -1
- package/dist/src/sync/sync-builder.js +4 -4
- package/dist/src/sync/sync-builder.js.map +1 -1
- package/dist/src/sync/sync-manager.d.ts +4 -1
- package/dist/src/sync/sync-manager.d.ts.map +1 -1
- package/dist/src/sync/sync-manager.js +65 -8
- package/dist/src/sync/sync-manager.js.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 +3 -3
- 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
|
@@ -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,29 +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";
|
|
17
19
|
import { PGlite } from "@electric-sql/pglite";
|
|
18
20
|
import { Kysely } from "kysely";
|
|
19
21
|
import { PGliteDialect } from "kysely-pglite-dialect";
|
|
20
|
-
import {
|
|
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";
|
|
21
28
|
export class ReactorBuilder {
|
|
29
|
+
logger;
|
|
22
30
|
documentModels = [];
|
|
31
|
+
upgradeManifests = [];
|
|
23
32
|
storage;
|
|
24
33
|
features = { legacyStorageEnabled: true };
|
|
25
34
|
readModels = [];
|
|
26
35
|
executorManager;
|
|
27
36
|
executorConfig = { count: 1 };
|
|
28
37
|
writeCacheConfig;
|
|
29
|
-
readModelCoordinatorFactory;
|
|
30
38
|
migrationStrategy = "auto";
|
|
31
39
|
syncBuilder;
|
|
32
40
|
eventBus;
|
|
33
|
-
|
|
41
|
+
readModelCoordinator;
|
|
34
42
|
signatureVerifier;
|
|
35
43
|
kyselyInstance;
|
|
44
|
+
withLogger(logger) {
|
|
45
|
+
this.logger = logger;
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
36
48
|
withDocumentModels(models) {
|
|
37
49
|
this.documentModels = models;
|
|
38
50
|
return this;
|
|
39
51
|
}
|
|
52
|
+
withUpgradeManifests(manifests) {
|
|
53
|
+
this.upgradeManifests = manifests;
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
40
56
|
withLegacyStorage(storage) {
|
|
41
57
|
this.storage = storage;
|
|
42
58
|
return this;
|
|
@@ -49,8 +65,8 @@ export class ReactorBuilder {
|
|
|
49
65
|
this.readModels.push(readModel);
|
|
50
66
|
return this;
|
|
51
67
|
}
|
|
52
|
-
|
|
53
|
-
this.
|
|
68
|
+
withReadModelCoordinator(readModelCoordinator) {
|
|
69
|
+
this.readModelCoordinator = readModelCoordinator;
|
|
54
70
|
return this;
|
|
55
71
|
}
|
|
56
72
|
withExecutor(executor) {
|
|
@@ -90,29 +106,38 @@ export class ReactorBuilder {
|
|
|
90
106
|
return module.reactor;
|
|
91
107
|
}
|
|
92
108
|
async buildModule() {
|
|
109
|
+
if (!this.logger) {
|
|
110
|
+
this.logger = new ConsoleLogger(["reactor"]);
|
|
111
|
+
}
|
|
93
112
|
const storage = this.storage || new MemoryStorage();
|
|
94
113
|
const documentModelRegistry = new DocumentModelRegistry();
|
|
114
|
+
if (this.upgradeManifests.length > 0) {
|
|
115
|
+
documentModelRegistry.registerUpgradeManifests(...this.upgradeManifests);
|
|
116
|
+
}
|
|
95
117
|
if (this.documentModels.length > 0) {
|
|
96
118
|
documentModelRegistry.registerModules(...this.documentModels);
|
|
97
119
|
}
|
|
98
120
|
const builder = new DriveReactorBuilder(this.documentModels).withStorage(storage);
|
|
99
121
|
const driveServer = builder.build();
|
|
100
122
|
await driveServer.initialize();
|
|
101
|
-
const
|
|
123
|
+
const baseDatabase = this.kyselyInstance ??
|
|
102
124
|
new Kysely({
|
|
103
125
|
dialect: new PGliteDialect(new PGlite()),
|
|
104
126
|
});
|
|
105
127
|
if (this.migrationStrategy === "auto") {
|
|
106
|
-
const result = await runMigrations(
|
|
128
|
+
const result = await runMigrations(baseDatabase, REACTOR_SCHEMA);
|
|
107
129
|
if (!result.success && result.error) {
|
|
108
130
|
throw new Error(`Database migration failed: ${result.error.message}`);
|
|
109
131
|
}
|
|
110
132
|
}
|
|
133
|
+
const database = baseDatabase.withSchema(REACTOR_SCHEMA);
|
|
111
134
|
const operationStore = new KyselyOperationStore(database);
|
|
112
135
|
const keyframeStore = new KyselyKeyframeStore(database);
|
|
113
136
|
const eventBus = this.eventBus || new EventBus();
|
|
114
137
|
const queue = new InMemoryQueue(eventBus);
|
|
115
138
|
const jobTracker = new InMemoryJobTracker(eventBus);
|
|
139
|
+
const legacyStorageConsistencyTracker = new ConsistencyTracker();
|
|
140
|
+
const consistencyAwareStorage = new ConsistencyAwareLegacyStorage(storage, legacyStorageConsistencyTracker, eventBus);
|
|
116
141
|
const cacheConfig = {
|
|
117
142
|
maxDocuments: this.writeCacheConfig?.maxDocuments ?? 100,
|
|
118
143
|
ringBufferSize: this.writeCacheConfig?.ringBufferSize ?? 10,
|
|
@@ -121,32 +146,60 @@ export class ReactorBuilder {
|
|
|
121
146
|
const writeCache = new KyselyWriteCache(keyframeStore, operationStore, documentModelRegistry, cacheConfig);
|
|
122
147
|
await writeCache.startup();
|
|
123
148
|
const operationIndex = new KyselyOperationIndex(database);
|
|
149
|
+
const documentMetaCache = new DocumentMetaCache(operationStore, {
|
|
150
|
+
maxDocuments: 1000,
|
|
151
|
+
});
|
|
152
|
+
await documentMetaCache.startup();
|
|
124
153
|
let executorManager = this.executorManager;
|
|
125
154
|
if (!executorManager) {
|
|
126
|
-
executorManager = new SimpleJobExecutorManager(() => new SimpleJobExecutor(documentModelRegistry, storage, storage, operationStore, eventBus, writeCache, operationIndex, { legacyStorageEnabled: this.features.legacyStorageEnabled }, this.signatureVerifier), eventBus, queue, jobTracker);
|
|
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);
|
|
127
156
|
}
|
|
128
157
|
await executorManager.start(this.executorConfig.count);
|
|
129
158
|
const readModelInstances = Array.from(new Set([...this.readModels]));
|
|
130
159
|
const documentViewConsistencyTracker = new ConsistencyTracker();
|
|
131
160
|
const documentView = new KyselyDocumentView(
|
|
132
161
|
// @ts-expect-error - Database type is a superset that includes all required tables
|
|
133
|
-
database, operationStore, documentViewConsistencyTracker);
|
|
134
|
-
|
|
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
|
+
}
|
|
135
169
|
readModelInstances.push(documentView);
|
|
136
170
|
const documentIndexerConsistencyTracker = new ConsistencyTracker();
|
|
137
171
|
const documentIndexer = new KyselyDocumentIndexer(
|
|
138
172
|
// @ts-expect-error - Database type is a superset that includes all required tables
|
|
139
173
|
database, operationStore, documentIndexerConsistencyTracker);
|
|
140
|
-
|
|
174
|
+
try {
|
|
175
|
+
await documentIndexer.init();
|
|
176
|
+
}
|
|
177
|
+
catch (error) {
|
|
178
|
+
console.error("Error initializing document indexer", error);
|
|
179
|
+
}
|
|
141
180
|
readModelInstances.push(documentIndexer);
|
|
142
|
-
|
|
143
|
-
const
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
181
|
+
const subscriptionManager = new ReactorSubscriptionManager(new DefaultSubscriptionErrorHandler());
|
|
182
|
+
const subscriptionNotificationReadModel = new SubscriptionNotificationReadModel(subscriptionManager, documentView);
|
|
183
|
+
const processorManagerConsistencyTracker = new ConsistencyTracker();
|
|
184
|
+
const processorManager = new ProcessorManager(
|
|
185
|
+
// @ts-expect-error - Database type is a superset that includes all required tables
|
|
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);
|
|
147
200
|
let syncModule = undefined;
|
|
148
201
|
if (this.syncBuilder) {
|
|
149
|
-
syncModule = this.syncBuilder.buildModule(reactor, operationIndex, eventBus, database);
|
|
202
|
+
syncModule = this.syncBuilder.buildModule(reactor, this.logger, operationIndex, eventBus, database);
|
|
150
203
|
await syncModule.syncManager.startup();
|
|
151
204
|
}
|
|
152
205
|
return {
|
|
@@ -167,6 +220,9 @@ export class ReactorBuilder {
|
|
|
167
220
|
documentIndexer,
|
|
168
221
|
documentIndexerConsistencyTracker,
|
|
169
222
|
readModelCoordinator,
|
|
223
|
+
subscriptionManager,
|
|
224
|
+
processorManager,
|
|
225
|
+
processorManagerConsistencyTracker,
|
|
170
226
|
syncModule,
|
|
171
227
|
reactor,
|
|
172
228
|
};
|
|
@@ -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,7 +1,9 @@
|
|
|
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";
|
|
@@ -10,6 +12,7 @@ import type { IReactor, ReactorClientModule } from "./types.js";
|
|
|
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?;
|
|
@@ -18,6 +21,12 @@ export declare class ReactorClientBuilder {
|
|
|
18
21
|
private signatureVerifier?;
|
|
19
22
|
private subscriptionManager?;
|
|
20
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;
|
|
21
30
|
/**
|
|
22
31
|
* Either this or withReactor must be set.
|
|
23
32
|
*/
|
|
@@ -1 +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;
|
|
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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ConsoleLogger } from "#logging/console.js";
|
|
1
2
|
import { ReactorClient } from "../client/reactor-client.js";
|
|
2
3
|
import { JobAwaiter } from "../shared/awaiter.js";
|
|
3
4
|
import { PassthroughSigner } from "../signer/passthrough-signer.js";
|
|
@@ -7,6 +8,7 @@ import { ReactorSubscriptionManager } from "../subs/react-subscription-manager.j
|
|
|
7
8
|
* Builder class for constructing ReactorClient instances with proper configuration
|
|
8
9
|
*/
|
|
9
10
|
export class ReactorClientBuilder {
|
|
11
|
+
logger;
|
|
10
12
|
reactorBuilder;
|
|
11
13
|
reactor;
|
|
12
14
|
eventBus;
|
|
@@ -15,6 +17,15 @@ export class ReactorClientBuilder {
|
|
|
15
17
|
signatureVerifier;
|
|
16
18
|
subscriptionManager;
|
|
17
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
|
+
}
|
|
18
29
|
/**
|
|
19
30
|
* Either this or withReactor must be set.
|
|
20
31
|
*/
|
|
@@ -65,6 +76,9 @@ export class ReactorClientBuilder {
|
|
|
65
76
|
return module.client;
|
|
66
77
|
}
|
|
67
78
|
async buildModule() {
|
|
79
|
+
if (!this.logger) {
|
|
80
|
+
this.logger = new ConsoleLogger(["reactor-client"]);
|
|
81
|
+
}
|
|
68
82
|
let reactor;
|
|
69
83
|
let eventBus;
|
|
70
84
|
let documentIndexer;
|
|
@@ -89,10 +103,11 @@ export class ReactorClientBuilder {
|
|
|
89
103
|
}
|
|
90
104
|
const signer = this.signer ?? new PassthroughSigner();
|
|
91
105
|
const subscriptionManager = this.subscriptionManager ??
|
|
106
|
+
reactorModule?.subscriptionManager ??
|
|
92
107
|
new ReactorSubscriptionManager(new DefaultSubscriptionErrorHandler());
|
|
93
108
|
const jobAwaiter = this.jobAwaiter ??
|
|
94
109
|
new JobAwaiter(eventBus, (jobId, signal) => reactor.getJobStatus(jobId, signal));
|
|
95
|
-
const client = new ReactorClient(reactor, signer, subscriptionManager, jobAwaiter, documentIndexer);
|
|
110
|
+
const client = new ReactorClient(this.logger, reactor, signer, subscriptionManager, jobAwaiter, documentIndexer);
|
|
96
111
|
return {
|
|
97
112
|
client,
|
|
98
113
|
reactor,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactor-client-builder.js","sourceRoot":"","sources":["../../../src/core/reactor-client-builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAoB,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;
|
|
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 {
|
|
2
|
-
import type {
|
|
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 {
|
|
8
|
-
import type { IDocumentIndexer, IDocumentView, IOperationStore } from "../storage/interfaces.js";
|
|
8
|
+
import type { IConsistencyAwareStorage, IDocumentIndexer, IDocumentView, IOperationStore } from "../storage/interfaces.js";
|
|
9
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,7 +24,7 @@ export declare class Reactor implements IReactor {
|
|
|
23
24
|
private documentView;
|
|
24
25
|
private _documentIndexer;
|
|
25
26
|
private operationStore;
|
|
26
|
-
constructor(driveServer: BaseDocumentDriveServer, documentStorage:
|
|
27
|
+
constructor(logger: ILogger, driveServer: BaseDocumentDriveServer, documentStorage: IConsistencyAwareStorage, queue: IQueue, jobTracker: IJobTracker, readModelCoordinator: IReadModelCoordinator, features: ReactorFeatures, documentView: IDocumentView, documentIndexer: IDocumentIndexer, operationStore: IOperationStore);
|
|
27
28
|
/**
|
|
28
29
|
* Signals that the reactor should shutdown.
|
|
29
30
|
*/
|
|
@@ -64,25 +65,25 @@ export declare class Reactor implements IReactor {
|
|
|
64
65
|
/**
|
|
65
66
|
* Creates a document
|
|
66
67
|
*/
|
|
67
|
-
create(document: PHDocument, signer?: ISigner, signal?: AbortSignal): Promise<JobInfo>;
|
|
68
|
+
create(document: PHDocument, signer?: ISigner, signal?: AbortSignal, meta?: Record<string, unknown>): Promise<JobInfo>;
|
|
68
69
|
/**
|
|
69
70
|
* Deletes a document
|
|
70
71
|
*/
|
|
71
|
-
deleteDocument(id: string, signer?: ISigner, signal?: AbortSignal): Promise<JobInfo>;
|
|
72
|
+
deleteDocument(id: string, signer?: ISigner, signal?: AbortSignal, meta?: Record<string, unknown>): Promise<JobInfo>;
|
|
72
73
|
/**
|
|
73
74
|
* Applies a list of actions to a document
|
|
74
75
|
*/
|
|
75
|
-
execute(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>;
|
|
76
77
|
/**
|
|
77
78
|
* Imports pre-existing operations that were produced by another reactor.
|
|
78
79
|
* This function may cause a reshuffle, which will generate additional
|
|
79
80
|
* operations.
|
|
80
81
|
*/
|
|
81
|
-
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>;
|
|
82
83
|
/**
|
|
83
84
|
* Applies multiple mutations across documents with dependency management
|
|
84
85
|
*/
|
|
85
|
-
executeBatch(request: BatchExecutionRequest, signal?: AbortSignal): Promise<BatchExecutionResult>;
|
|
86
|
+
executeBatch(request: BatchExecutionRequest, signal?: AbortSignal, meta?: Record<string, unknown>): Promise<BatchExecutionResult>;
|
|
86
87
|
/**
|
|
87
88
|
* Adds multiple documents as children to another
|
|
88
89
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../../src/core/reactor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../../src/core/reactor.ts"],"names":[],"mappings":"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"}
|