@powerhousedao/reactor-api 1.29.17-dev.1 → 1.29.17-dev.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerhousedao/reactor-api",
3
- "version": "1.29.17-dev.1",
3
+ "version": "1.29.17-dev.2",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
@@ -31,9 +31,9 @@
31
31
  "esbuild": "^0.24.0",
32
32
  "graphql-tag": "^2.12.6",
33
33
  "tinybench": "^3.1.1",
34
- "@powerhousedao/scalars": "1.33.1-dev.0",
35
- "document-drive": "1.29.8-dev.2",
36
- "document-model": "2.28.1-dev.0"
34
+ "@powerhousedao/scalars": "1.33.1-dev.1",
35
+ "document-model": "2.28.1-dev.1",
36
+ "document-drive": "1.29.8-dev.3"
37
37
  },
38
38
  "dependencies": {
39
39
  "@apollo/gateway": "^2.10.0",
@@ -65,7 +65,7 @@
65
65
  "uuid": "^9.0.1",
66
66
  "wildcard-match": "^5.1.3",
67
67
  "zod": "^3.24.2",
68
- "@powerhousedao/config": "1.27.0-dev.1"
68
+ "@powerhousedao/config": "1.27.0-dev.2"
69
69
  },
70
70
  "scripts": {
71
71
  "build": "tsc --build",
@@ -1,40 +0,0 @@
1
- import { IAnalyticsStore } from "@powerhousedao/analytics-engine-core";
2
- import { IDocumentDriveServer, IListenerManager } from "document-drive/server/types";
3
- import { Db, ProcessorFactory } from "../index.js";
4
- export interface IProcessorManager {
5
- /**
6
- * Registers a processor factory for a given identifier. This will create
7
- * processors for all drives that have already been registered.
8
- *
9
- * @param identifier Any identifier to associate with the factory.
10
- * @param factory The factory to register.
11
- */
12
- registerFactory(identifier: string, factory: ProcessorFactory): Promise<void>;
13
- /**
14
- * Unregisters a processor factory for a given identifier. This will remove
15
- * all listeners that were created by the factory.
16
- *
17
- * @param identifier The identifier to unregister.
18
- */
19
- unregisterFactory(identifier: string): Promise<void>;
20
- /**
21
- * Registers a drive with the processor manager. This will create processors
22
- * for the drive for all factories that have already been registered.
23
- *
24
- * @param driveId The drive to register.
25
- */
26
- registerDrive(driveId: string): Promise<void>;
27
- }
28
- export declare class ProcessorManager implements IProcessorManager {
29
- private listeners;
30
- private drive;
31
- private operationalStore;
32
- private analyticsStore;
33
- private idToFactory;
34
- private identifierToListeners;
35
- constructor(listeners: IListenerManager, drive: IDocumentDriveServer, operationalStore: Db, analyticsStore: IAnalyticsStore);
36
- registerFactory(identifier: string, factory: ProcessorFactory): Promise<void>;
37
- unregisterFactory(identifier: string): Promise<void>;
38
- registerDrive(driveId: string): Promise<void>;
39
- }
40
- //# sourceMappingURL=processor-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processor-manager.d.ts","sourceRoot":"","sources":["../../src/processor-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAEvE,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAEjB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAChC;;;;;;OAMG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9E;;;;;OAKG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErD;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED,qBAAa,gBAAiB,YAAW,iBAAiB;IAKtD,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,cAAc;IAPxB,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,qBAAqB,CAAiC;gBAGpD,SAAS,EAAE,gBAAgB,EAC3B,KAAK,EAAE,oBAAoB,EAC3B,gBAAgB,EAAE,EAAE,EACpB,cAAc,EAAE,eAAe;IAKnC,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC;IAUV,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcpD,aAAa,CAAC,OAAO,EAAE,MAAM;CAoCpC"}
@@ -1,65 +0,0 @@
1
- import { InternalTransmitter } from "document-drive/server/listener/transmitter/internal";
2
- import { generateId } from "document-model";
3
- export class ProcessorManager {
4
- listeners;
5
- drive;
6
- operationalStore;
7
- analyticsStore;
8
- idToFactory = new Map();
9
- identifierToListeners = new Map();
10
- constructor(listeners, drive, operationalStore, analyticsStore) {
11
- this.listeners = listeners;
12
- this.drive = drive;
13
- this.operationalStore = operationalStore;
14
- this.analyticsStore = analyticsStore;
15
- //
16
- }
17
- async registerFactory(identifier, factory) {
18
- this.idToFactory.set(identifier, factory);
19
- // iterate over all drives and register the factory
20
- const driveIds = await this.drive.getDrives();
21
- for (const driveId of driveIds) {
22
- await this.registerDrive(driveId);
23
- }
24
- }
25
- async unregisterFactory(identifier) {
26
- // remove all listeners for this identifier
27
- const listeners = this.identifierToListeners.get(identifier) ?? [];
28
- for (const listener of listeners) {
29
- this.listeners.removeListener(listener.driveId, listener.listenerId);
30
- if (listener.transmitter?.disconnect) {
31
- await listener.transmitter.disconnect();
32
- }
33
- }
34
- this.identifierToListeners.set(identifier, []);
35
- }
36
- async registerDrive(driveId) {
37
- const module = {
38
- operationalStore: this.operationalStore,
39
- analyticsStore: this.analyticsStore,
40
- };
41
- // iterate over all factories and create listeners
42
- await Promise.all(Object.entries(this.idToFactory).map(([identifier, factory]) => {
43
- let listeners = this.identifierToListeners.get(identifier) ?? [];
44
- if (!listeners) {
45
- listeners = [];
46
- this.identifierToListeners.set(identifier, listeners);
47
- }
48
- const processors = factory(driveId, module);
49
- for (const { filter, processor } of processors) {
50
- const id = generateId();
51
- const listener = {
52
- driveId,
53
- listenerId: id,
54
- block: false,
55
- system: false,
56
- filter,
57
- callInfo: undefined,
58
- transmitter: new InternalTransmitter(this.drive, processor),
59
- };
60
- this.listeners.setListener(driveId, listener);
61
- listeners.push(listener);
62
- }
63
- }));
64
- }
65
- }