@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.
@@ -1,6 +1,7 @@
1
1
  export declare const installPackages: (packages: string[]) => Promise<void>;
2
2
  export declare const readManifest: () => string;
3
- import { ProcessorFactory, type SubgraphClass } from "@powerhousedao/reactor-api";
3
+ import { type SubgraphClass } from "@powerhousedao/reactor-api";
4
+ import { ProcessorFactory } from "document-drive/processors/types";
4
5
  import { type DocumentModelModule } from "document-model";
5
6
  interface IPackagesManager {
6
7
  onDocumentModelsChange(handler: (documentModels: Record<string, DocumentModelModule[]>) => void): void;
@@ -15,7 +16,7 @@ export declare function getUniqueDocumentModels(...documentModels: DocumentModel
15
16
  export type PackageManagerResult = {
16
17
  documentModels?: DocumentModelModule[];
17
18
  subgraphs?: Map<string, SubgraphClass[]>;
18
- processors?: Map<string, ProcessorFactory>;
19
+ processors?: Map<string, (module: any) => ProcessorFactory>;
19
20
  };
20
21
  export declare class PackagesManager implements IPackagesManager {
21
22
  protected options: IPackagesManagerOptions;
@@ -35,7 +36,7 @@ export declare class PackagesManager implements IPackagesManager {
35
36
  private updateProcessorsMap;
36
37
  onDocumentModelsChange(handler: (documentModels: Record<string, DocumentModelModule[]>) => void): void;
37
38
  onSubgraphsChange(handler: (subgraphs: Map<string, SubgraphClass[]>) => void): void;
38
- onProcessorsChange(handler: (processors: Map<string, ProcessorFactory>) => void): void;
39
+ onProcessorsChange(handler: (processors: Map<string, (module: any) => ProcessorFactory>) => void): void;
39
40
  }
40
41
  export {};
41
42
  //# sourceMappingURL=package-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../src/package-manager.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,GAAU,UAAU,MAAM,EAAE,kBAIvD,CAAC;AAEF,eAAO,MAAM,YAAY,cAGxB,CAAC;AAGF,OAAO,EACL,gBAAgB,EAChB,KAAK,aAAa,EACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAI1D,UAAU,gBAAgB;IACxB,sBAAsB,CACpB,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,KAAK,IAAI,GACvE,IAAI,CAAC;CACT;AAED,KAAK,uBAAuB,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAU/E,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAQlB;AA+DD,wBAAgB,uBAAuB,CACrC,GAAG,cAAc,EAAE,mBAAmB,EAAE,EAAE,GACzC,mBAAmB,EAAE,CAUvB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC5C,CAAC;AAEF,qBAAa,eAAgB,YAAW,gBAAgB;IAYpD,SAAS,CAAC,OAAO,EAAE,uBAAuB;IAC1C,SAAS,CAAC,OAAO,CAAC,GAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI;IAZ1C,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,YAAY,CAIf;gBAGO,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,GAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,aAAA;IAK7B,IAAI,IAAI,OAAO,CAAC,oBAAoB,CAAC;YAcpC,YAAY;YAqBZ,kBAAkB;IAkBhC,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,mBAAmB;IAa3B,sBAAsB,CACpB,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,KAAK,IAAI,GACvE,IAAI;IAIP,iBAAiB,CACf,OAAO,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,KAAK,IAAI,GACzD,IAAI;IAIP,kBAAkB,CAChB,OAAO,EAAE,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,KAAK,IAAI,GAC3D,IAAI;CAGR"}
1
+ {"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../src/package-manager.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,GAAU,UAAU,MAAM,EAAE,kBAIvD,CAAC;AAEF,eAAO,MAAM,YAAY,cAGxB,CAAC;AAGF,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAI1D,UAAU,gBAAgB;IACxB,sBAAsB,CACpB,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,KAAK,IAAI,GACvE,IAAI,CAAC;CACT;AAED,KAAK,uBAAuB,GAAG;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAU/E,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAQlB;AA8DD,wBAAgB,uBAAuB,CACrC,GAAG,cAAc,EAAE,mBAAmB,EAAE,EAAE,GACzC,mBAAmB,EAAE,CAUvB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACvC,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,gBAAgB,CAAC,CAAC;CAC7D,CAAC;AAEF,qBAAa,eAAgB,YAAW,gBAAgB;IAYpD,SAAS,CAAC,OAAO,EAAE,uBAAuB;IAC1C,SAAS,CAAC,OAAO,CAAC,GAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI;IAZ1C,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,YAAY,CAAwD;IAC5E,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,YAAY,CAIf;gBAGO,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,GAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,aAAA;IAK7B,IAAI,IAAI,OAAO,CAAC,oBAAoB,CAAC;YAcpC,YAAY;YAqBZ,kBAAkB;IAkBhC,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,mBAAmB;IAe3B,sBAAsB,CACpB,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,KAAK,IAAI,GACvE,IAAI;IAIP,iBAAiB,CACf,OAAO,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,KAAK,IAAI,GACzD,IAAI;IAIP,kBAAkB,CAChB,OAAO,EAAE,CACP,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,gBAAgB,CAAC,KACvD,IAAI,GACR,IAAI;CAGR"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAOnD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAgB,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAMhD,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAGxD,KAAK,OAAO,GAAG;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,IAAI,GAAG,SAAS,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EACF;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,GACD,OAAO,GACP,SAAS,CAAC;CACf,CAAC;AAmKF,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,GAAG,CAAC,CAoDd"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAOnD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAM3D,OAAgB,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AAMhD,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAGtC,KAAK,OAAO,GAAG;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,IAAI,GAAG,SAAS,CAAC;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EACF;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,GACD,OAAO,GACP,SAAS,CAAC;CACf,CAAC;AAsKF,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,GAAG,CAAC,CAuDd"}
@@ -1,9 +1,9 @@
1
1
  import { GraphQLManager } from "#graphql/graphql-manager.js";
2
2
  import { renderGraphqlPlayground } from "#graphql/playground.js";
3
3
  import { getUniqueDocumentModels, PackagesManager, } from "#package-manager.js";
4
- import { ProcessorManager } from "#processor-manager.js";
5
4
  import { KnexAnalyticsStore, KnexQueryExecutor, } from "@powerhousedao/analytics-engine-knex";
6
5
  import devcert from "devcert";
6
+ import { ProcessorManager } from "document-drive/processors/processor-manager";
7
7
  import express from "express";
8
8
  import fs from "node:fs";
9
9
  import https from "node:https";
@@ -68,7 +68,7 @@ async function setupGraphQLManager(app, reactor, db, analyticsStore, result) {
68
68
  /**
69
69
  * Sets up event listeners for package manager changes
70
70
  */
71
- function setupEventListeners(pkgManager, reactor, graphqlManager, processorManager) {
71
+ function setupEventListeners(pkgManager, reactor, graphqlManager, processorManager, module) {
72
72
  pkgManager.onDocumentModelsChange((documentModels) => {
73
73
  const uniqueModels = getUniqueDocumentModels(Object.values(documentModels).flat());
74
74
  reactor.setDocumentModelModules(uniqueModels);
@@ -82,8 +82,9 @@ function setupEventListeners(pkgManager, reactor, graphqlManager, processorManag
82
82
  }
83
83
  });
84
84
  pkgManager.onProcessorsChange(async (processors) => {
85
- for (const [packageName, factory] of processors) {
85
+ for (const [packageName, fn] of processors) {
86
86
  await processorManager.unregisterFactory(packageName);
87
+ const factory = fn(module);
87
88
  await processorManager.registerFactory(packageName, factory);
88
89
  }
89
90
  });
@@ -127,13 +128,15 @@ export async function startAPI(reactor, options) {
127
128
  setupGraphQlExplorer(app);
128
129
  // Initialize database and analytics store
129
130
  const { db, analyticsStore } = initializeDatabaseAndAnalytics(options.dbPath);
131
+ const module = { db, analyticsStore };
130
132
  // Initialize package manager
131
133
  const { pkgManager, result } = await initializePackageManager(options);
132
134
  const documentModels = result.documentModels ?? [];
133
135
  // initialize processors
134
- const processorManager = new ProcessorManager(reactor.listeners, reactor, db, analyticsStore);
136
+ const processorManager = new ProcessorManager(reactor.listeners, reactor);
135
137
  const packageToProcessorFactory = result.processors ?? new Map();
136
- for (const [packageName, factory] of packageToProcessorFactory) {
138
+ for (const [packageName, fn] of packageToProcessorFactory) {
139
+ const factory = fn(module);
137
140
  processorManager.registerFactory(packageName, factory);
138
141
  }
139
142
  // Set document model modules
@@ -144,7 +147,7 @@ export async function startAPI(reactor, options) {
144
147
  // Set up subgraph manager
145
148
  const graphqlManager = await setupGraphQLManager(app, reactor, db, analyticsStore, result);
146
149
  // Set up event listeners
147
- setupEventListeners(pkgManager, reactor, graphqlManager, processorManager);
150
+ setupEventListeners(pkgManager, reactor, graphqlManager, processorManager, module);
148
151
  // Start the server
149
152
  await startServer(app, port, options.https);
150
153
  return { app, graphqlManager, processorManager };
@@ -1,6 +1,5 @@
1
- import { IProcessorManager } from "#processor-manager.js";
2
1
  import { IAnalyticsStore } from "@powerhousedao/analytics-engine-core";
3
- import { IReceiver, ListenerFilter } from "document-drive";
2
+ import { IProcessorManager } from "document-drive/processors/types";
4
3
  import { type Express } from "express";
5
4
  import { type GraphQLManager } from "./graphql/graphql-manager.js";
6
5
  import { Db } from "./utils/db.js";
@@ -10,15 +9,8 @@ export type API = {
10
9
  graphqlManager: GraphQLManager;
11
10
  processorManager: IProcessorManager;
12
11
  };
13
- export interface IProcessor extends IReceiver {
14
- }
15
- export type ProcessorRecord = {
16
- processor: IProcessor;
17
- filter: ListenerFilter;
18
- };
19
12
  export type ReactorModule = {
20
13
  analyticsStore: IAnalyticsStore;
21
14
  operationalStore: Db;
22
15
  };
23
- export type ProcessorFactory = (driveId: string, module: ReactorModule) => ProcessorRecord[];
24
16
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAEnC,YAAY,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,MAAM,GAAG,GAAG;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,iBAAiB,CAAC;CACrC,CAAC;AAEF,MAAM,WAAW,UAAW,SAAQ,SAAS;CAE5C;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,UAAU,CAAC;IACtB,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,cAAc,EAAE,eAAe,CAAC;IAChC,gBAAgB,EAAE,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAC7B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,aAAa,KAClB,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,YAAY,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAExC,MAAM,MAAM,GAAG,GAAG;IAChB,GAAG,EAAE,OAAO,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,iBAAiB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,cAAc,EAAE,eAAe,CAAC;IAChC,gBAAgB,EAAE,EAAE,CAAC;CACtB,CAAC"}