@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/dist/src/package-manager.d.ts +4 -3
- package/dist/src/package-manager.d.ts.map +1 -1
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +9 -6
- package/dist/src/types.d.ts +1 -9
- package/dist/src/types.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/dist/src/processor-manager.d.ts +0 -40
- package/dist/src/processor-manager.d.ts.map +0 -1
- package/dist/src/processor-manager.js +0 -65
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export declare const installPackages: (packages: string[]) => Promise<void>;
|
|
2
2
|
export declare const readManifest: () => string;
|
|
3
|
-
import {
|
|
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,
|
|
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"}
|
package/dist/src/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"
|
|
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"}
|
package/dist/src/server.js
CHANGED
|
@@ -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,
|
|
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
|
|
136
|
+
const processorManager = new ProcessorManager(reactor.listeners, reactor);
|
|
135
137
|
const packageToProcessorFactory = result.processors ?? new Map();
|
|
136
|
-
for (const [packageName,
|
|
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 };
|
package/dist/src/types.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { IProcessorManager } from "#processor-manager.js";
|
|
2
1
|
import { IAnalyticsStore } from "@powerhousedao/analytics-engine-core";
|
|
3
|
-
import {
|
|
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
|
package/dist/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
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"}
|