@powerhousedao/reactor-api 1.26.0 → 1.27.0

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 (34) hide show
  1. package/dist/index.d.ts +3 -4
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +3 -4
  4. package/dist/src/server.d.ts.map +1 -1
  5. package/dist/src/server.js +3 -5
  6. package/dist/src/subgraphs/auth/utils/helpers.d.ts.map +1 -1
  7. package/dist/src/subgraphs/auth/utils/session.d.ts.map +1 -1
  8. package/dist/src/subgraphs/auth/utils/user.d.ts.map +1 -1
  9. package/dist/src/subgraphs/drive/index.d.ts.map +1 -1
  10. package/dist/src/subgraphs/drive/index.js +30 -15
  11. package/dist/src/subgraphs/types.d.ts +2 -2
  12. package/dist/src/subgraphs/types.d.ts.map +1 -1
  13. package/dist/src/sync/utils.d.ts.map +1 -1
  14. package/dist/src/sync/utils.js +6 -2
  15. package/dist/src/types.d.ts +0 -21
  16. package/dist/src/types.d.ts.map +1 -1
  17. package/dist/src/utils/create-schema.d.ts.map +1 -1
  18. package/dist/tsconfig.tsbuildinfo +1 -1
  19. package/package.json +4 -5
  20. package/dist/src/processors/analytics-processor.d.ts +0 -9
  21. package/dist/src/processors/analytics-processor.d.ts.map +0 -1
  22. package/dist/src/processors/analytics-processor.js +0 -9
  23. package/dist/src/processors/index.d.ts +0 -5
  24. package/dist/src/processors/index.d.ts.map +0 -1
  25. package/dist/src/processors/index.js +0 -4
  26. package/dist/src/processors/manager.d.ts +0 -14
  27. package/dist/src/processors/manager.d.ts.map +0 -1
  28. package/dist/src/processors/manager.js +0 -40
  29. package/dist/src/processors/operational-processor.d.ts +0 -8
  30. package/dist/src/processors/operational-processor.d.ts.map +0 -1
  31. package/dist/src/processors/operational-processor.js +0 -12
  32. package/dist/src/processors/processor.d.ts +0 -20
  33. package/dist/src/processors/processor.d.ts.map +0 -1
  34. package/dist/src/processors/processor.js +0 -45
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerhousedao/reactor-api",
3
- "version": "1.26.0",
3
+ "version": "1.27.0",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
@@ -21,7 +21,6 @@
21
21
  "author": "",
22
22
  "license": "AGPL-3.0-only",
23
23
  "devDependencies": {
24
- "@sky-ph/atlas": "^1.0.14",
25
24
  "@types/body-parser": "^1.19.5",
26
25
  "@types/cors": "^2.8.17",
27
26
  "@types/express": "^5.0.0",
@@ -32,9 +31,9 @@
32
31
  "esbuild": "^0.24.0",
33
32
  "graphql-tag": "^2.12.6",
34
33
  "tinybench": "^3.1.1",
35
- "document-model": "2.25.0",
36
- "document-drive": "1.25.0",
37
- "@powerhousedao/scalars": "1.29.0"
34
+ "@powerhousedao/scalars": "1.30.0",
35
+ "document-model": "2.26.0",
36
+ "document-drive": "1.27.0"
38
37
  },
39
38
  "dependencies": {
40
39
  "@powerhousedao/analytics-engine-graphql": "^0.2.2",
@@ -1,9 +0,0 @@
1
- import { ProcessorOptions, ProcessorSetupArgs } from "#types.js";
2
- import { IAnalyticsStore } from "@powerhousedao/analytics-engine-core";
3
- import { Processor } from "./processor.js";
4
- export * from "@powerhousedao/analytics-engine-core";
5
- export declare abstract class AnalyticsProcessor extends Processor {
6
- protected analyticsStore: IAnalyticsStore;
7
- constructor(args: ProcessorSetupArgs, options?: ProcessorOptions);
8
- }
9
- //# sourceMappingURL=analytics-processor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analytics-processor.d.ts","sourceRoot":"","sources":["../../../src/processors/analytics-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,cAAc,sCAAsC,CAAC;AAErD,8BAAsB,kBAAmB,SAAQ,SAAS;IACxD,SAAS,CAAC,cAAc,EAAE,eAAe,CAAC;gBAE9B,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,gBAAgB;CAIjE"}
@@ -1,9 +0,0 @@
1
- import { Processor } from "./processor.js";
2
- export * from "@powerhousedao/analytics-engine-core";
3
- export class AnalyticsProcessor extends Processor {
4
- analyticsStore;
5
- constructor(args, options) {
6
- super(args, options);
7
- this.analyticsStore = args.analyticsStore;
8
- }
9
- }
@@ -1,5 +0,0 @@
1
- export * from "./analytics-processor.js";
2
- export * from "./operational-processor.js";
3
- export * from "./processor.js";
4
- export * from "./manager.js";
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/processors/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
@@ -1,4 +0,0 @@
1
- export * from "./analytics-processor.js";
2
- export * from "./operational-processor.js";
3
- export * from "./processor.js";
4
- export * from "./manager.js";
@@ -1,14 +0,0 @@
1
- import { IDocumentDriveServer } from "document-drive";
2
- import { IAnalyticsStore } from "#processors/analytics-processor.js";
3
- import { ProcessorClass } from "#processors/processor.js";
4
- import { Db, IProcessor, IProcessorManager } from "#types.js";
5
- export declare class ProcessorManager implements IProcessorManager {
6
- #private;
7
- private operationalStore;
8
- private analyticsStore;
9
- private reactor;
10
- private processors;
11
- constructor(driveServer: IDocumentDriveServer, operationalStore: Db, analyticsStore: IAnalyticsStore);
12
- registerProcessor(module: IProcessor | ProcessorClass): Promise<IProcessor>;
13
- }
14
- //# sourceMappingURL=manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/processors/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE7E,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAoB,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EACL,EAAE,EACF,UAAU,EACV,iBAAiB,EAElB,MAAM,WAAW,CAAC;AAEnB,qBAAa,gBAAiB,YAAW,iBAAiB;;IAMtD,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,cAAc;IANxB,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,UAAU,CAAoB;gBAGpC,WAAW,EAAE,oBAAoB,EACzB,gBAAgB,EAAE,EAAE,EACpB,cAAc,EAAE,eAAe;IAyCnC,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,cAAc;CAc5D"}
@@ -1,40 +0,0 @@
1
- import { isProcessorClass } from "#processors/processor.js";
2
- export class ProcessorManager {
3
- operationalStore;
4
- analyticsStore;
5
- reactor;
6
- processors = [];
7
- constructor(driveServer, operationalStore, analyticsStore) {
8
- this.operationalStore = operationalStore;
9
- this.analyticsStore = analyticsStore;
10
- this.reactor = driveServer;
11
- driveServer.on("driveAdded", this.#onDriveAdded.bind(this));
12
- }
13
- async #onDriveAdded(drive) {
14
- await Promise.all(this.processors.map((module) => this.reactor.addInternalListener(drive.state.global.id, {
15
- onStrands: (strands) => module.onStrands(strands),
16
- onDisconnect: () => module.onDisconnect(),
17
- }, { ...module.getOptions() })));
18
- }
19
- async #onProcessorAdded(processor) {
20
- const drives = await this.reactor.getDrives();
21
- const options = processor.getOptions();
22
- await Promise.all(drives.map((drive) => this.reactor.addInternalListener(drive, {
23
- onStrands: (strands) => processor.onStrands(strands),
24
- onDisconnect: () => processor.onDisconnect(),
25
- }, options)));
26
- console.log(`> Registered ${options.label} processor.`);
27
- }
28
- async registerProcessor(module) {
29
- const args = {
30
- reactor: this.reactor,
31
- operationalStore: this.operationalStore,
32
- analyticsStore: this.analyticsStore,
33
- };
34
- const processor = isProcessorClass(module) ? new module(args) : module;
35
- processor.onSetup?.(args);
36
- await this.#onProcessorAdded(processor);
37
- this.processors.push(processor);
38
- return processor;
39
- }
40
- }
@@ -1,8 +0,0 @@
1
- import { Db, ProcessorOptions, ProcessorSetupArgs } from "#types.js";
2
- import { Processor } from "./processor.js";
3
- export declare abstract class OperationalProcessor extends Processor {
4
- protected operationalStore: Db;
5
- constructor(args: ProcessorSetupArgs, options?: ProcessorOptions);
6
- onSetup(args: ProcessorSetupArgs): void;
7
- }
8
- //# sourceMappingURL=operational-processor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"operational-processor.d.ts","sourceRoot":"","sources":["../../../src/processors/operational-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,8BAAsB,oBAAqB,SAAQ,SAAS;IAC1D,SAAS,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAEnB,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAKhE,OAAO,CAAC,IAAI,EAAE,kBAAkB;CAIjC"}
@@ -1,12 +0,0 @@
1
- import { Processor } from "./processor.js";
2
- export class OperationalProcessor extends Processor {
3
- operationalStore;
4
- constructor(args, options) {
5
- super(args, options);
6
- this.operationalStore = args.operationalStore;
7
- }
8
- onSetup(args) {
9
- super.onSetup(args);
10
- this.operationalStore = args.operationalStore;
11
- }
12
- }
@@ -1,20 +0,0 @@
1
- import { IDocumentDriveServer, InternalTransmitterUpdate } from "document-drive";
2
- import { PHDocument } from "document-model";
3
- import { IProcessor, ProcessorOptions, ProcessorSetupArgs } from "../types.js";
4
- export type ProcessorUpdate<TDocument extends PHDocument> = InternalTransmitterUpdate<TDocument>;
5
- export declare abstract class Processor implements IProcessor {
6
- protected reactor: IDocumentDriveServer;
7
- protected processorOptions: ProcessorOptions;
8
- constructor(args: ProcessorSetupArgs, options?: ProcessorOptions);
9
- onSetup(args: ProcessorSetupArgs): void;
10
- abstract onStrands<TDocument extends PHDocument>(strands: ProcessorUpdate<TDocument>[]): Promise<void>;
11
- abstract onDisconnect(): Promise<void>;
12
- getOptions(): ProcessorOptions;
13
- }
14
- export declare class BaseProcessor extends Processor {
15
- onStrands<TDocument extends PHDocument>(strands: ProcessorUpdate<TDocument>[]): Promise<void>;
16
- onDisconnect(): Promise<void>;
17
- }
18
- export type ProcessorClass = typeof BaseProcessor;
19
- export declare function isProcessorClass(candidate: unknown): candidate is ProcessorClass;
20
- //# sourceMappingURL=processor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../../../src/processors/processor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE/E,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,UAAU,IACtD,yBAAyB,CAAC,SAAS,CAAC,CAAC;AAEvC,8BAAsB,SAAU,YAAW,UAAU;IACnD,SAAS,CAAC,OAAO,EAAE,oBAAoB,CAAC;IACxC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAW1C;gBAEU,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAOhE,OAAO,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI;IAIvC,QAAQ,CAAC,SAAS,CAAC,SAAS,SAAS,UAAU,EAC7C,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,GACpC,OAAO,CAAC,IAAI,CAAC;IAEhB,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAEtC,UAAU;CAGX;AAED,qBAAa,aAAc,SAAQ,SAAS;IACpC,SAAS,CAAC,SAAS,SAAS,UAAU,EAC1C,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,GACpC,OAAO,CAAC,IAAI,CAAC;IACV,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CACpC;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,aAAa,CAAC;AAGlD,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,OAAO,GACjB,SAAS,IAAI,cAAc,CAY7B"}
@@ -1,45 +0,0 @@
1
- export class Processor {
2
- reactor;
3
- processorOptions = {
4
- listenerId: "processor",
5
- filter: {
6
- branch: ["main"],
7
- documentId: ["*"],
8
- documentType: ["*"],
9
- scope: ["global"],
10
- },
11
- block: false,
12
- label: "processor",
13
- system: true,
14
- };
15
- constructor(args, options) {
16
- this.reactor = args.reactor;
17
- if (options) {
18
- this.processorOptions = { ...this.processorOptions, ...options };
19
- }
20
- }
21
- onSetup(args) {
22
- this.reactor = args.reactor;
23
- }
24
- getOptions() {
25
- return this.processorOptions;
26
- }
27
- }
28
- export class BaseProcessor extends Processor {
29
- async onStrands(strands) { }
30
- async onDisconnect() { }
31
- }
32
- // checks if the provided candidate is a descendant of the Processor class.
33
- export function isProcessorClass(candidate) {
34
- if (typeof candidate !== "function")
35
- return false;
36
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
37
- let proto = Object.getPrototypeOf(candidate);
38
- while (proto) {
39
- if (Object.prototype.isPrototypeOf.call(proto, Processor))
40
- return true;
41
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
42
- proto = Object.getPrototypeOf(proto);
43
- }
44
- return false;
45
- }