@powerhousedao/reactor-api 6.0.0-dev.3 → 6.0.0-dev.31
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/graphql/auth/subgraph.js +1 -1
- package/dist/src/graphql/auth/subgraph.js.map +1 -1
- package/dist/src/graphql/document-model-subgraph.d.ts +89 -43
- package/dist/src/graphql/document-model-subgraph.d.ts.map +1 -1
- package/dist/src/graphql/document-model-subgraph.js +510 -81
- package/dist/src/graphql/document-model-subgraph.js.map +1 -1
- package/dist/src/graphql/drive-subgraph.d.ts.map +1 -1
- package/dist/src/graphql/drive-subgraph.js +1 -0
- package/dist/src/graphql/drive-subgraph.js.map +1 -1
- package/dist/src/graphql/graphql-manager.d.ts +4 -1
- package/dist/src/graphql/graphql-manager.d.ts.map +1 -1
- package/dist/src/graphql/graphql-manager.js +77 -32
- package/dist/src/graphql/graphql-manager.js.map +1 -1
- package/dist/src/graphql/reactor/adapters.d.ts +10 -2
- package/dist/src/graphql/reactor/adapters.d.ts.map +1 -1
- package/dist/src/graphql/reactor/adapters.js +35 -1
- package/dist/src/graphql/reactor/adapters.js.map +1 -1
- package/dist/src/graphql/reactor/factory.d.ts.map +1 -1
- package/dist/src/graphql/reactor/gen/graphql.d.ts +36 -4
- package/dist/src/graphql/reactor/gen/graphql.d.ts.map +1 -1
- package/dist/src/graphql/reactor/gen/graphql.js.map +1 -1
- package/dist/src/graphql/reactor/resolvers.d.ts +17 -1
- package/dist/src/graphql/reactor/resolvers.d.ts.map +1 -1
- package/dist/src/graphql/reactor/resolvers.js +64 -31
- package/dist/src/graphql/reactor/resolvers.js.map +1 -1
- package/dist/src/graphql/reactor/schema.graphql +33 -30
- package/dist/src/graphql/reactor/subgraph.d.ts.map +1 -1
- package/dist/src/graphql/reactor/subgraph.js +21 -0
- package/dist/src/graphql/reactor/subgraph.js.map +1 -1
- package/dist/src/graphql/system/system-subgraph.d.ts.map +1 -1
- package/dist/src/graphql/system/system-subgraph.js +2 -2
- package/dist/src/graphql/system/system-subgraph.js.map +1 -1
- package/dist/src/graphql/utils.d.ts.map +1 -1
- package/dist/src/graphql/utils.js +7 -3
- package/dist/src/graphql/utils.js.map +1 -1
- package/dist/src/packages/import-loader.d.ts +3 -1
- package/dist/src/packages/import-loader.d.ts.map +1 -1
- package/dist/src/packages/import-loader.js +19 -10
- package/dist/src/packages/import-loader.js.map +1 -1
- package/dist/src/packages/types.d.ts +4 -0
- package/dist/src/packages/types.d.ts.map +1 -1
- package/dist/src/packages/util.d.ts +2 -1
- package/dist/src/packages/util.d.ts.map +1 -1
- package/dist/src/packages/util.js +1 -1
- package/dist/src/packages/util.js.map +1 -1
- package/dist/src/packages/vite-loader.d.ts +4 -3
- package/dist/src/packages/vite-loader.d.ts.map +1 -1
- package/dist/src/packages/vite-loader.js +21 -8
- package/dist/src/packages/vite-loader.js.map +1 -1
- package/dist/src/server.d.ts +14 -6
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +114 -49
- package/dist/src/server.js.map +1 -1
- package/dist/src/services/auth.service.d.ts.map +1 -1
- package/dist/src/services/auth.service.js +11 -20
- package/dist/src/services/auth.service.js.map +1 -1
- package/dist/src/tracing.js +1 -1
- package/dist/src/tracing.js.map +1 -1
- package/dist/src/types.d.ts +1 -1
- package/dist/src/types.d.ts.map +1 -1
- package/dist/src/utils/create-schema.d.ts +21 -1
- package/dist/src/utils/create-schema.d.ts.map +1 -1
- package/dist/src/utils/create-schema.js +283 -13
- package/dist/src/utils/create-schema.js.map +1 -1
- package/dist/src/utils/drive-url.d.ts +2 -0
- package/dist/src/utils/drive-url.d.ts.map +1 -0
- package/dist/src/utils/drive-url.js +3 -0
- package/dist/src/utils/drive-url.js.map +1 -0
- package/dist/src/utils/index.d.ts +1 -0
- package/dist/src/utils/index.d.ts.map +1 -1
- package/dist/src/utils/index.js +1 -0
- package/dist/src/utils/index.js.map +1 -1
- package/dist/test/document-model-subgraph-legacy-permissions.test.d.ts +2 -0
- package/dist/test/document-model-subgraph-legacy-permissions.test.d.ts.map +1 -0
- package/dist/test/document-model-subgraph-legacy-permissions.test.js +518 -0
- package/dist/test/document-model-subgraph-legacy-permissions.test.js.map +1 -0
- package/dist/test/document-model-subgraph-permissions.test.d.ts +2 -0
- package/dist/test/document-model-subgraph-permissions.test.d.ts.map +1 -0
- package/dist/test/document-model-subgraph-permissions.test.js +635 -0
- package/dist/test/document-model-subgraph-permissions.test.js.map +1 -0
- package/dist/test/document-model-subgraph.test.d.ts +2 -0
- package/dist/test/document-model-subgraph.test.d.ts.map +1 -0
- package/dist/test/document-model-subgraph.test.js +441 -0
- package/dist/test/document-model-subgraph.test.js.map +1 -0
- package/dist/test/permissions-integration.test.js +4 -4
- package/dist/test/permissions-integration.test.js.map +1 -1
- package/dist/test/reactor-resolvers.test.js +4 -8
- package/dist/test/reactor-resolvers.test.js.map +1 -1
- package/dist/test/reactor-subgraph-permissions.test.js +4 -7
- package/dist/test/reactor-subgraph-permissions.test.js.map +1 -1
- package/dist/test/two-reactor-gql-catchup-duplicate.test.d.ts +2 -0
- package/dist/test/two-reactor-gql-catchup-duplicate.test.d.ts.map +1 -0
- package/dist/test/two-reactor-gql-catchup-duplicate.test.js +264 -0
- package/dist/test/two-reactor-gql-catchup-duplicate.test.js.map +1 -0
- package/dist/test/two-reactor-gql-sync.test.js +33 -105
- package/dist/test/two-reactor-gql-sync.test.js.map +1 -1
- package/dist/test/utils/gql-resolver-bridge.d.ts.map +1 -1
- package/dist/test/utils/gql-resolver-bridge.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -10
- package/dist/test/three-reactor-gql-sync.test.d.ts +0 -2
- package/dist/test/three-reactor-gql-sync.test.d.ts.map +0 -1
- package/dist/test/three-reactor-gql-sync.test.js +0 -368
- package/dist/test/three-reactor-gql-sync.test.js.map +0 -1
|
@@ -5,6 +5,10 @@ import { loadDocumentModels as loadDocumentModelsUtil, loadProcessors as loadPro
|
|
|
5
5
|
*/
|
|
6
6
|
export class ImportPackageLoader {
|
|
7
7
|
logger = childLogger(["reactor-api", "import-loader"]);
|
|
8
|
+
legacyReactor;
|
|
9
|
+
constructor(options) {
|
|
10
|
+
this.legacyReactor = options?.legacyReactor ?? false;
|
|
11
|
+
}
|
|
8
12
|
async loadDocumentModels(identifier) {
|
|
9
13
|
this.logger.verbose("Loading document models from package:", identifier);
|
|
10
14
|
const pkgModule = await loadDocumentModelsUtil(identifier);
|
|
@@ -34,18 +38,23 @@ export class ImportPackageLoader {
|
|
|
34
38
|
async loadProcessors(identifier) {
|
|
35
39
|
this.logger.verbose("Loading processors from package:", identifier);
|
|
36
40
|
const pkgModule = await loadProcessorsUtil(identifier);
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
// Choose factory based on constructor option
|
|
42
|
+
const factoryName = this.legacyReactor
|
|
43
|
+
? "processorFactoryLegacy"
|
|
44
|
+
: "processorFactory";
|
|
45
|
+
const factory = pkgModule?.[factoryName];
|
|
46
|
+
if (factory && typeof factory === "function") {
|
|
47
|
+
this.logger.verbose(` ➜ Loaded Processor Factory (${factoryName}) from: ${identifier}`);
|
|
48
|
+
return factory;
|
|
45
49
|
}
|
|
46
|
-
|
|
47
|
-
|
|
50
|
+
// Fallback: if legacy requested but not found, try default (backwards compat)
|
|
51
|
+
if (this.legacyReactor &&
|
|
52
|
+
pkgModule?.processorFactory &&
|
|
53
|
+
typeof pkgModule.processorFactory === "function") {
|
|
54
|
+
this.logger.verbose(` ➜ Loaded Processor Factory (fallback to processorFactory) from: ${identifier}`);
|
|
55
|
+
return pkgModule.processorFactory;
|
|
48
56
|
}
|
|
57
|
+
this.logger.verbose(` ➜ No Processor Factory found: ${identifier}`);
|
|
49
58
|
return null;
|
|
50
59
|
}
|
|
51
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-loader.js","sourceRoot":"","sources":["../../../src/packages/import-loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EACL,kBAAkB,IAAI,sBAAsB,EAC5C,cAAc,IAAI,kBAAkB,EACpC,aAAa,IAAI,iBAAiB,GACnC,MAAM,WAAW,CAAC;AAEnB;;GAEG;AACH,MAAM,OAAO,mBAAmB;IACb,MAAM,GAAG,WAAW,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"import-loader.js","sourceRoot":"","sources":["../../../src/packages/import-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,9 +17,13 @@ export interface ISubscribablePackageLoader extends IPackageLoader {
|
|
|
17
17
|
export interface IPackageManager {
|
|
18
18
|
onDocumentModelsChange(handler: (documentModels: Record<string, DocumentModelModule[]>) => void): void;
|
|
19
19
|
}
|
|
20
|
+
export type IPackageLoaderOptions = {
|
|
21
|
+
legacyReactor?: boolean;
|
|
22
|
+
};
|
|
20
23
|
export type IPackageManagerOptions = {
|
|
21
24
|
packages?: string[];
|
|
22
25
|
configFile?: string;
|
|
26
|
+
legacyReactor?: boolean;
|
|
23
27
|
};
|
|
24
28
|
export interface PackageConfig {
|
|
25
29
|
packageName: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/packages/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC7B,kBAAkB,CAChB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAClC,aAAa,CACX,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC5B,cAAc,CACZ,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC;CACzE;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA2B,SAAQ,cAAc;IAChE,sBAAsB,CAAC,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,cAAc,EAAE,mBAAmB,EAAE,KAAK,IAAI,EACxD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,IAAI,CAAC;IACd,iBAAiB,CAAC,CAChB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,IAAI,EAC7C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,IAAI,CAAC;IACd,kBAAkB,CAAC,CACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,GAAG,IAAI,KACpE,IAAI,EACT,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,IAAI,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,sBAAsB,CACpB,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,KAAK,IAAI,GACvE,IAAI,CAAC;CACT;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/packages/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC7B,kBAAkB,CAChB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAClC,aAAa,CACX,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC5B,cAAc,CACZ,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC;CACzE;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA2B,SAAQ,cAAc;IAChE,sBAAsB,CAAC,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,cAAc,EAAE,mBAAmB,EAAE,KAAK,IAAI,EACxD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,IAAI,CAAC;IACd,iBAAiB,CAAC,CAChB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,IAAI,EAC7C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,IAAI,CAAC;IACd,kBAAkB,CAAC,CACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,GAAG,IAAI,KACpE,IAAI,EACT,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,IAAI,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,sBAAsB,CACpB,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,KAAK,IAAI,GACvE,IAAI,CAAC;CACT;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IACxC,UAAU,EAAE,GAAG,CACb,MAAM,EACN,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,EAAE,CACvD,CAAC;CACH,CAAC"}
|
|
@@ -4,7 +4,8 @@ import type { DocumentModelModule } from "document-model";
|
|
|
4
4
|
type DocumentModelsExport = Record<string, DocumentModelModule>;
|
|
5
5
|
type SubgraphsExport = Record<string, Record<string, SubgraphClass>>;
|
|
6
6
|
type ProcessorsExport = {
|
|
7
|
-
processorFactory
|
|
7
|
+
processorFactory?: (module: IProcessorHostModule) => ProcessorFactory;
|
|
8
|
+
processorFactoryLegacy?: (module: IProcessorHostModule) => ProcessorFactory;
|
|
8
9
|
};
|
|
9
10
|
export declare const installPackages: (packages: string[]) => Promise<void>;
|
|
10
11
|
export declare const readManifest: () => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/packages/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAO1D,KAAK,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAChE,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;AACrE,KAAK,gBAAgB,GAAG;IACtB,gBAAgB,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/packages/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAO1D,KAAK,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAChE,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;AACrE,KAAK,gBAAgB,GAAG;IACtB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC;IACtE,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC;CAC7E,CAAC;AAIF,eAAO,MAAM,eAAe,GAAU,UAAU,MAAM,EAAE,kBAIvD,CAAC;AAEF,eAAO,MAAM,YAAY,cAGxB,CAAC;AAEF;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAEtC;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAEjC;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAElC;AAmDD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAC7C,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAChC,KAAK,SAAM,IAGH,mBAAiB,EAAE,GAAG,MAAM,CAAC,gBAkBtC;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,gBAGpD"}
|
|
@@ -55,7 +55,7 @@ async function loadDependency(packageName, subPath) {
|
|
|
55
55
|
return result;
|
|
56
56
|
// Only log when ALL attempts have failed
|
|
57
57
|
logger.warn(`Unable to load dependency ${fullPath}.${packageName === cwd() ? " Did you build your project?" : ""}`);
|
|
58
|
-
logger.debug(e);
|
|
58
|
+
logger.debug("@error", e);
|
|
59
59
|
}
|
|
60
60
|
else if (e instanceof Error &&
|
|
61
61
|
"code" in e &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/packages/util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/packages/util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAU5D,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,QAAkB,EAAE,EAAE;IAC1D,KAAK,MAAM,WAAW,IAAI,QAAQ,EAAE,CAAC;QACnC,QAAQ,CAAC,cAAc,WAAW,EAAE,CAAC,CAAC;IACxC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE,CAAC;IACpD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,WAAmB;IAEnB,OAAO,cAAc,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAmB;IAEnB,OAAO,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,WAAmB;IAEnB,OAAO,cAAc,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,cAAc,CAC3B,WAAmB,EACnB,OAAe;IAEf,MAAM,QAAQ,GAAG,GAAG,WAAW,IAAI,OAAO,EAAE,CAAC;IAE7C,gCAAgC;IAChC,IAAI,CAAC;QACH,sEAAsE;QACtE,+BAA+B;QAE/B,MAAM,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAM,CAAC;QAChE,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,0DAA0D;QAC1D,IACE,CAAC,YAAY,KAAK;YAClB,MAAM,IAAI,CAAC;YACX,CAAC,CAAC,CAAC,IAAI,KAAK,sBAAsB;gBAChC,CAAC,CAAC,IAAI,KAAK,4BAA4B,CAAC,EAC1C,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAI,WAAW,EAAE,OAAO,CAAC,CAAC;YACnE,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;YAE1B,yCAAyC;YACzC,MAAM,CAAC,IAAI,CACT,6BAA6B,QAAQ,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,EAAE,CACvG,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC5B,CAAC;aAAM,IACL,CAAC,YAAY,KAAK;YAClB,MAAM,IAAI,CAAC;YACX,CAAC,+BAA+B,EAAE,sBAAsB,CAAC,CAAC,QAAQ,CAChE,CAAC,CAAC,IAAc,CACjB,EACD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,4BAA4B,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,IAAgC,EAChC,KAAK,GAAG,GAAG;IAEX,IAAI,KAAa,CAAC;IAClB,OAAO,CAAC,SAAS,GAAG,KAAK,EAAE,GAAG,IAAO,EAAE,EAAE;QACvC,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC,GAAG,IAAI,CAAC;qBACV,IAAI,CAAC,OAAO,CAAC;qBACb,KAAK,CAAC,MAAM,CAAC,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBACtB,IAAI,CAAC,GAAG,IAAI,CAAC;yBACV,IAAI,CAAC,OAAO,CAAC;yBACb,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC,EAAE,KAAK,CAAsB,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,MAAc,EAAE,GAAW;IACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5C,OAAO,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9E,CAAC"}
|
|
@@ -2,13 +2,14 @@ import type { SubgraphClass } from "@powerhousedao/reactor-api";
|
|
|
2
2
|
import type { IProcessorHostModule, ProcessorFactory } from "document-drive";
|
|
3
3
|
import type { DocumentModelModule } from "document-model";
|
|
4
4
|
import type { ViteDevServer } from "vite";
|
|
5
|
-
import type { ISubscribablePackageLoader, ISubscriptionOptions } from "./types.js";
|
|
5
|
+
import type { IPackageLoaderOptions, ISubscribablePackageLoader, ISubscriptionOptions } from "./types.js";
|
|
6
6
|
export declare class VitePackageLoader implements ISubscribablePackageLoader {
|
|
7
7
|
#private;
|
|
8
8
|
private readonly logger;
|
|
9
|
+
private readonly legacyReactor;
|
|
9
10
|
private readonly vite;
|
|
10
|
-
static build(vite: ViteDevServer): VitePackageLoader;
|
|
11
|
-
constructor(vite: ViteDevServer);
|
|
11
|
+
static build(vite: ViteDevServer, options?: IPackageLoaderOptions): VitePackageLoader;
|
|
12
|
+
constructor(vite: ViteDevServer, options?: IPackageLoaderOptions);
|
|
12
13
|
private getDocumentModelsPath;
|
|
13
14
|
private getSubgraphsPath;
|
|
14
15
|
private getProcessorsPath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-loader.d.ts","sourceRoot":"","sources":["../../../src/packages/vite-loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAG1C,OAAO,KAAK,EACV,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAGpB,qBAAa,iBAAkB,YAAW,0BAA0B;;IAClE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;
|
|
1
|
+
{"version":3,"file":"vite-loader.d.ts","sourceRoot":"","sources":["../../../src/packages/vite-loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAG1C,OAAO,KAAK,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAGpB,qBAAa,iBAAkB,YAAW,0BAA0B;;IAClE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;IACtE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IAExC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;IAErC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,qBAAqB;gBAIrD,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,qBAAqB;IAKhE,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,iBAAiB;IAIlB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,UAAQ;IA2CzD,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA4B3D,cAAc,CAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAoDvE,sBAAsB,CACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,cAAc,EAAE,mBAAmB,EAAE,KAAK,IAAI,EACxD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,IAAI;IAgBb,iBAAiB,CACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,IAAI,EAC7C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,IAAI;IAeb,kBAAkB,CAChB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,GAAG,IAAI,KACpE,IAAI,EACT,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,IAAI;CAcd;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,0BA8BjD"}
|
|
@@ -7,12 +7,14 @@ import { isSubgraphClass } from "../graphql/utils.js";
|
|
|
7
7
|
import { debounce, isSubpath } from "./util.js";
|
|
8
8
|
export class VitePackageLoader {
|
|
9
9
|
logger = childLogger(["reactor-api", "vite-loader"]);
|
|
10
|
+
legacyReactor;
|
|
10
11
|
vite;
|
|
11
|
-
static build(vite) {
|
|
12
|
-
return new VitePackageLoader(vite);
|
|
12
|
+
static build(vite, options) {
|
|
13
|
+
return new VitePackageLoader(vite, options);
|
|
13
14
|
}
|
|
14
|
-
constructor(vite) {
|
|
15
|
+
constructor(vite, options) {
|
|
15
16
|
this.vite = vite;
|
|
17
|
+
this.legacyReactor = options?.legacyReactor ?? false;
|
|
16
18
|
}
|
|
17
19
|
getDocumentModelsPath(identifier) {
|
|
18
20
|
return path.join(identifier, "./document-models");
|
|
@@ -73,11 +75,22 @@ export class VitePackageLoader {
|
|
|
73
75
|
const fullPath = this.getProcessorsPath(identifier);
|
|
74
76
|
this.logger.verbose("Loading processors from", fullPath);
|
|
75
77
|
try {
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
78
|
+
const pkgModule = await this.vite.ssrLoadModule(fullPath);
|
|
79
|
+
// Choose factory based on constructor option
|
|
80
|
+
const factoryName = this.legacyReactor
|
|
81
|
+
? "processorFactoryLegacy"
|
|
82
|
+
: "processorFactory";
|
|
83
|
+
const factory = pkgModule?.[factoryName];
|
|
84
|
+
if (factory && typeof factory === "function") {
|
|
85
|
+
this.logger.verbose(` ➜ Loaded Processor Factory (${factoryName}) from: ${identifier}`);
|
|
86
|
+
return factory;
|
|
87
|
+
}
|
|
88
|
+
// Fallback: if legacy requested but not found, try default (backwards compat)
|
|
89
|
+
if (this.legacyReactor &&
|
|
90
|
+
pkgModule?.processorFactory &&
|
|
91
|
+
typeof pkgModule.processorFactory === "function") {
|
|
92
|
+
this.logger.verbose(` ➜ Loaded Processor Factory (fallback to processorFactory) from: ${identifier}`);
|
|
93
|
+
return pkgModule.processorFactory;
|
|
81
94
|
}
|
|
82
95
|
}
|
|
83
96
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite-loader.js","sourceRoot":"","sources":["../../../src/packages/vite-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAG9D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"vite-loader.js","sourceRoot":"","sources":["../../../src/packages/vite-loader.ts"],"names":[],"mappings":"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"}
|
package/dist/src/server.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PGlite } from "@electric-sql/pglite";
|
|
2
|
-
import type { IDocumentModelRegistry, IReactorClient, ISyncManager } from "@powerhousedao/reactor";
|
|
2
|
+
import type { IDocumentModelRegistry, IReactorClient, ISyncManager, ReactorClientModule } from "@powerhousedao/reactor";
|
|
3
3
|
import type { IDocumentDriveServer } from "document-drive";
|
|
4
4
|
import type { DocumentModelModule } from "document-model";
|
|
5
5
|
import type { Express } from "express";
|
|
@@ -37,6 +37,16 @@ type Options = {
|
|
|
37
37
|
*/
|
|
38
38
|
documentPermissionService?: DocumentPermissionService;
|
|
39
39
|
enableDocumentModelSubgraphs?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* When true, uses the new DocumentModelSubgraph class that uses reactorClient.
|
|
42
|
+
* When false (default), uses the legacy DocumentModelSubgraphLegacy class.
|
|
43
|
+
*/
|
|
44
|
+
useNewDocumentModelSubgraph?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* When true, uses the legacy ProcessorManager from document-drive and hooks up
|
|
47
|
+
* the driveAdded event. When false (default), uses ProcessorManager from ReactorModule.
|
|
48
|
+
*/
|
|
49
|
+
legacyReactor?: boolean;
|
|
40
50
|
};
|
|
41
51
|
/**
|
|
42
52
|
* Starts the API server with pre-initialized drive server and client instances.
|
|
@@ -54,17 +64,15 @@ export declare function startAPI(driveServer: IDocumentDriveServer, client: IRea
|
|
|
54
64
|
* to create the drive server and client instances with the appropriate dependencies.
|
|
55
65
|
*
|
|
56
66
|
* @param driveServerInitializer - Initializer function that creates the document drive server with document models.
|
|
57
|
-
* @param clientInitializer - Initializer function that creates the reactor client
|
|
67
|
+
* @param clientInitializer - Initializer function that creates the reactor client module with the drive server.
|
|
58
68
|
* @param options - Additional options for server configuration.
|
|
59
69
|
*
|
|
60
70
|
* @returns The API server components along with the created drive server and client instances.
|
|
61
71
|
*/
|
|
62
|
-
export declare function initializeAndStartAPI(driveServerInitializer: (documentModelModules: DocumentModelModule[]) => Promise<IDocumentDriveServer>, clientInitializer: (driveServer: IDocumentDriveServer, documentModels: DocumentModelModule[]) => Promise<{
|
|
63
|
-
client: IReactorClient;
|
|
64
|
-
syncManager: ISyncManager;
|
|
65
|
-
}>, options: Options): Promise<API & {
|
|
72
|
+
export declare function initializeAndStartAPI(driveServerInitializer: (documentModelModules: DocumentModelModule[]) => Promise<IDocumentDriveServer>, clientInitializer: (driveServer: IDocumentDriveServer, documentModels: DocumentModelModule[]) => Promise<ReactorClientModule>, options: Options): Promise<API & {
|
|
66
73
|
driveServer: IDocumentDriveServer;
|
|
67
74
|
client: IReactorClient;
|
|
75
|
+
syncManager: ISyncManager;
|
|
68
76
|
}>;
|
|
69
77
|
export {};
|
|
70
78
|
//# sourceMappingURL=server.d.ts.map
|
package/dist/src/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAInD,OAAO,KAAK,EACV,sBAAsB,EACtB,cAAc,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAInD,OAAO,KAAK,EACV,sBAAsB,EACtB,cAAc,EAEd,YAAY,EACZ,mBAAmB,EAEpB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,KAAK,EAEV,oBAAoB,EAKrB,MAAM,gBAAgB,CAAC;AAMxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAQvC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAiB/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAEtF,OAAO,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AASjE,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,IAAI,CAAC,EAAE;QACL,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,KAAK,CAAC,EACF;QACE,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,GACD,OAAO,GACP,SAAS,CAAC;IACd,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACvC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC;;;;;;OAMG;IACH,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC;;;OAGG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAqkBF;;;;;;;;GAQG;AACH,wBAAsB,QAAQ,CAC5B,WAAW,EAAE,oBAAoB,EACjC,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,sBAAsB,EAChC,WAAW,EAAE,YAAY,EACzB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,GAAG,CAAC,CAoDd;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CACzC,sBAAsB,EAAE,CACtB,oBAAoB,EAAE,mBAAmB,EAAE,KACxC,OAAO,CAAC,oBAAoB,CAAC,EAClC,iBAAiB,EAAE,CACjB,WAAW,EAAE,oBAAoB,EACjC,cAAc,EAAE,mBAAmB,EAAE,KAClC,OAAO,CAAC,mBAAmB,CAAC,EACjC,OAAO,EAAE,OAAO,GACf,OAAO,CACR,GAAG,GAAG;IACJ,WAAW,EAAE,oBAAoB,CAAC;IAClC,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,EAAE,YAAY,CAAC;CAC3B,CACF,CAqEA"}
|
package/dist/src/server.js
CHANGED
|
@@ -9,7 +9,6 @@ import https from "node:https";
|
|
|
9
9
|
import path from "node:path";
|
|
10
10
|
import { WebSocketServer } from "ws";
|
|
11
11
|
// Import tracing - initializes OpenTelemetry and provides stub functions for backwards compatibility
|
|
12
|
-
import { initTracing, isTracingEnabled, trace } from "./tracing.js";
|
|
13
12
|
import { config, DefaultCoreSubgraphs } from "./config.js";
|
|
14
13
|
import { AuthSubgraph } from "./graphql/auth/subgraph.js";
|
|
15
14
|
import { GraphQLManager } from "./graphql/graphql-manager.js";
|
|
@@ -20,6 +19,7 @@ import { ImportPackageLoader } from "./packages/import-loader.js";
|
|
|
20
19
|
import { getUniqueDocumentModels, PackageManager, } from "./packages/package-manager.js";
|
|
21
20
|
import { AuthService } from "./services/auth.service.js";
|
|
22
21
|
import { DocumentPermissionService } from "./services/document-permission.service.js";
|
|
22
|
+
import { initTracing, isTracingEnabled, trace } from "./tracing.js";
|
|
23
23
|
import { getDbClient, initAnalyticsStoreSql, } from "./utils/db.js";
|
|
24
24
|
const logger = childLogger(["reactor-api", "server"]);
|
|
25
25
|
const DEFAULT_PORT = 4000;
|
|
@@ -56,7 +56,7 @@ async function initializeDatabaseAndAnalytics(dbPath) {
|
|
|
56
56
|
/**
|
|
57
57
|
* Sets up the subgraph manager and registers subgraphs
|
|
58
58
|
*/
|
|
59
|
-
async function setupGraphQLManager(app, httpServer, wsServer, reactor, client, relationalDb, analyticsStore, syncManager, subgraphs, auth, documentPermissionService, enableDocumentModelSubgraphs) {
|
|
59
|
+
async function setupGraphQLManager(app, httpServer, wsServer, reactor, client, relationalDb, analyticsStore, syncManager, subgraphs, auth, documentPermissionService, enableDocumentModelSubgraphs, useNewDocumentModelSubgraph, port) {
|
|
60
60
|
const graphqlManager = new GraphQLManager(config.basePath, app, httpServer, wsServer, reactor, client, relationalDb, analyticsStore, syncManager, {
|
|
61
61
|
enabled: auth?.enabled ?? false,
|
|
62
62
|
guests: auth?.guests ?? [],
|
|
@@ -65,7 +65,8 @@ async function setupGraphQLManager(app, httpServer, wsServer, reactor, client, r
|
|
|
65
65
|
freeEntry: auth?.freeEntry ?? false,
|
|
66
66
|
}, documentPermissionService, {
|
|
67
67
|
enableDocumentModelSubgraphs,
|
|
68
|
-
|
|
68
|
+
useNewDocumentModelSubgraph,
|
|
69
|
+
}, port);
|
|
69
70
|
await graphqlManager.init(subgraphs.core);
|
|
70
71
|
for (const [, collection] of subgraphs.extended.entries()) {
|
|
71
72
|
for (const subgraph of collection) {
|
|
@@ -192,14 +193,6 @@ async function _setupCommonInfrastructure(options) {
|
|
|
192
193
|
if (SKIP_CREDENTIAL_VERIFICATION !== undefined) {
|
|
193
194
|
skipCredentialVerification = SKIP_CREDENTIAL_VERIFICATION === "true";
|
|
194
195
|
}
|
|
195
|
-
const authService = new AuthService({
|
|
196
|
-
enabled: authEnabled,
|
|
197
|
-
guests,
|
|
198
|
-
users,
|
|
199
|
-
admins,
|
|
200
|
-
freeEntry,
|
|
201
|
-
skipCredentialVerification,
|
|
202
|
-
});
|
|
203
196
|
// Health check endpoint (before auth middleware)
|
|
204
197
|
app.get("/health", (_req, res) => {
|
|
205
198
|
res.status(200).send("OK");
|
|
@@ -207,6 +200,14 @@ async function _setupCommonInfrastructure(options) {
|
|
|
207
200
|
// add auth middleware if auth is enabled
|
|
208
201
|
if (authEnabled) {
|
|
209
202
|
logger.info("Setting up Auth middleware");
|
|
203
|
+
const authService = new AuthService({
|
|
204
|
+
enabled: authEnabled,
|
|
205
|
+
guests,
|
|
206
|
+
users,
|
|
207
|
+
admins,
|
|
208
|
+
freeEntry,
|
|
209
|
+
skipCredentialVerification,
|
|
210
|
+
});
|
|
210
211
|
// Apply auth middleware to all routes including GraphQL
|
|
211
212
|
app.use((req, res, next) => {
|
|
212
213
|
authService.authenticate(req, res, next);
|
|
@@ -228,7 +229,8 @@ async function _setupCommonInfrastructure(options) {
|
|
|
228
229
|
logger.info("Document permission service initialized");
|
|
229
230
|
}
|
|
230
231
|
// Initialize package manager
|
|
231
|
-
const
|
|
232
|
+
const legacyReactor = options.legacyReactor ?? false;
|
|
233
|
+
const packageLoader = options.packageLoader ?? new ImportPackageLoader({ legacyReactor });
|
|
232
234
|
const loaders = [packageLoader];
|
|
233
235
|
const packages = new PackageManager(loaders, {
|
|
234
236
|
configFile: options.configFile,
|
|
@@ -253,46 +255,98 @@ async function _setupCommonInfrastructure(options) {
|
|
|
253
255
|
/**
|
|
254
256
|
* Private helper function containing common setup logic for API initialization
|
|
255
257
|
*/
|
|
256
|
-
async function _setupAPI(reactor, reactorClient, syncManager, app, port, packages, relationalDb, analyticsStore, documentPermissionService, processors, subgraphs, options, auth) {
|
|
258
|
+
async function _setupAPI(reactor, reactorClient, syncManager, app, port, packages, relationalDb, analyticsStore, documentPermissionService, processors, subgraphs, options, auth, legacyReactor, reactorProcessorManager) {
|
|
257
259
|
const module = { relationalDb, analyticsStore };
|
|
258
260
|
const mcpServerEnabled = options.mcp ?? true;
|
|
259
261
|
// initialize processors
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
262
|
+
let processorManager;
|
|
263
|
+
if (legacyReactor) {
|
|
264
|
+
// LEGACY PATH - use document-drive ProcessorManager
|
|
265
|
+
processorManager = new ProcessorManager(reactor.listeners, reactor);
|
|
266
|
+
for (const [packageName, fns] of [
|
|
267
|
+
...processors.entries(),
|
|
268
|
+
...Object.entries(options.processors ?? {}),
|
|
269
|
+
]) {
|
|
270
|
+
const factories = fns.map((fn) => {
|
|
271
|
+
try {
|
|
272
|
+
return fn({
|
|
273
|
+
analyticsStore: module.analyticsStore,
|
|
274
|
+
relationalDb: module.relationalDb,
|
|
275
|
+
config: options.processorConfig,
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
catch (e) {
|
|
279
|
+
logger.error(`Error initializing processor factory for package ${packageName}:`, e);
|
|
280
|
+
return null;
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
const validFactories = factories.filter((factory) => factory !== null && typeof factory === "function");
|
|
284
|
+
if (!validFactories.length) {
|
|
285
|
+
continue;
|
|
276
286
|
}
|
|
287
|
+
await processorManager.registerFactory(packageName, async (driveHeader) => (await Promise.all(validFactories.map(async (factory) => {
|
|
288
|
+
try {
|
|
289
|
+
return await factory(driveHeader);
|
|
290
|
+
}
|
|
291
|
+
catch (e) {
|
|
292
|
+
logger.error(`Error creating processor for drive ${driveHeader.id}:`, e);
|
|
293
|
+
return [];
|
|
294
|
+
}
|
|
295
|
+
}))).flat());
|
|
296
|
+
}
|
|
297
|
+
// hook up processor manager to drive added event
|
|
298
|
+
reactor.on("driveAdded", async (drive) => {
|
|
299
|
+
await processorManager.registerDrive(drive.header.id);
|
|
277
300
|
});
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
301
|
+
}
|
|
302
|
+
else {
|
|
303
|
+
// NEW REACTOR PATH - use ProcessorManager from ReactorModule
|
|
304
|
+
if (!reactorProcessorManager) {
|
|
305
|
+
throw new Error("ProcessorManager not available from ReactorModule");
|
|
281
306
|
}
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
307
|
+
// Create a wrapper that adapts the legacy-style ProcessorManager interface
|
|
308
|
+
// to track processors for the API response
|
|
309
|
+
processorManager = new ProcessorManager(reactor.listeners, reactor);
|
|
310
|
+
for (const [packageName, fns] of [
|
|
311
|
+
...processors.entries(),
|
|
312
|
+
...Object.entries(options.processors ?? {}),
|
|
313
|
+
]) {
|
|
314
|
+
const factories = fns.map((fn) => {
|
|
315
|
+
try {
|
|
316
|
+
return fn({
|
|
317
|
+
analyticsStore: module.analyticsStore,
|
|
318
|
+
relationalDb: module.relationalDb,
|
|
319
|
+
config: options.processorConfig,
|
|
320
|
+
});
|
|
321
|
+
}
|
|
322
|
+
catch (e) {
|
|
323
|
+
logger.error(`Error initializing processor factory for package ${packageName}:`, e);
|
|
324
|
+
return null;
|
|
325
|
+
}
|
|
326
|
+
});
|
|
327
|
+
// Filter and cast to the reactor types
|
|
328
|
+
// When legacyReactor=false, PackageLoader loads processorFactory which
|
|
329
|
+
// returns factories implementing reactor's IProcessor interface
|
|
330
|
+
const validFactories = factories.filter((factory) => factory !== null && typeof factory === "function");
|
|
331
|
+
if (!validFactories.length) {
|
|
332
|
+
continue;
|
|
289
333
|
}
|
|
290
|
-
|
|
334
|
+
// Register with the new reactor ProcessorManager
|
|
335
|
+
// Cast the results to ReactorProcessorRecord since the loaded factories
|
|
336
|
+
// implement the new reactor interface when legacyReactor=false
|
|
337
|
+
await reactorProcessorManager.registerFactory(packageName, async (driveHeader) => (await Promise.all(validFactories.map(async (factory) => {
|
|
338
|
+
try {
|
|
339
|
+
const result = await factory(driveHeader);
|
|
340
|
+
return result;
|
|
341
|
+
}
|
|
342
|
+
catch (e) {
|
|
343
|
+
logger.error(`Error creating processor for drive ${driveHeader.id}:`, e);
|
|
344
|
+
return [];
|
|
345
|
+
}
|
|
346
|
+
}))).flat());
|
|
347
|
+
}
|
|
348
|
+
// No driveAdded event listener needed - ProcessorManager is a read model
|
|
291
349
|
}
|
|
292
|
-
// hook up processor manager to drive added event
|
|
293
|
-
reactor.on("driveAdded", async (drive) => {
|
|
294
|
-
await processorManager.registerDrive(drive.header.id);
|
|
295
|
-
});
|
|
296
350
|
// Start the server
|
|
297
351
|
const { httpServer, wsServer } = await startServer(app, port, options.https);
|
|
298
352
|
// set up subgraph manager
|
|
@@ -306,7 +360,7 @@ async function _setupAPI(reactor, reactorClient, syncManager, app, port, package
|
|
|
306
360
|
const graphqlManager = await setupGraphQLManager(app, httpServer, wsServer, reactor, reactorClient, relationalDb, analyticsStore, syncManager, {
|
|
307
361
|
extended: subgraphs,
|
|
308
362
|
core: coreSubgraphs,
|
|
309
|
-
}, auth, documentPermissionService, options.enableDocumentModelSubgraphs);
|
|
363
|
+
}, auth, documentPermissionService, options.enableDocumentModelSubgraphs, options.useNewDocumentModelSubgraph, port);
|
|
310
364
|
// Set up event listeners
|
|
311
365
|
setupEventListeners(packages, reactor, graphqlManager, processorManager, module);
|
|
312
366
|
if (mcpServerEnabled) {
|
|
@@ -339,7 +393,9 @@ export async function startAPI(driveServer, client, registry, syncManager, optio
|
|
|
339
393
|
]));
|
|
340
394
|
// pass to registry
|
|
341
395
|
registry.registerModules(...documentModels);
|
|
342
|
-
|
|
396
|
+
// startAPI always uses legacy reactor since it doesn't have ReactorClientModule
|
|
397
|
+
const legacyReactor = true;
|
|
398
|
+
return _setupAPI(driveServer, client, syncManager, app, port, packages, relationalDb, analyticsStore, documentPermissionService, processors, subgraphs, options, auth, legacyReactor, undefined);
|
|
343
399
|
}
|
|
344
400
|
/**
|
|
345
401
|
* Initializes and starts the API server using initializer functions.
|
|
@@ -347,7 +403,7 @@ export async function startAPI(driveServer, client, registry, syncManager, optio
|
|
|
347
403
|
* to create the drive server and client instances with the appropriate dependencies.
|
|
348
404
|
*
|
|
349
405
|
* @param driveServerInitializer - Initializer function that creates the document drive server with document models.
|
|
350
|
-
* @param clientInitializer - Initializer function that creates the reactor client
|
|
406
|
+
* @param clientInitializer - Initializer function that creates the reactor client module with the drive server.
|
|
351
407
|
* @param options - Additional options for server configuration.
|
|
352
408
|
*
|
|
353
409
|
* @returns The API server components along with the created drive server and client instances.
|
|
@@ -356,12 +412,21 @@ export async function initializeAndStartAPI(driveServerInitializer, clientInitia
|
|
|
356
412
|
const { port, app, auth, relationalDb, analyticsStore, documentPermissionService, packages, } = await trace("reactor-api.setup.infrastructure", { tags: { "resource.name": "infrastructure" } }, () => _setupCommonInfrastructure(options));
|
|
357
413
|
const { documentModels, processors, subgraphs } = await trace("reactor-api.packages.init", { tags: { "resource.name": "packages" } }, () => packages.init());
|
|
358
414
|
const reactor = await trace("reactor-api.drive-server.init", { tags: { "resource.name": "drive-server" } }, () => driveServerInitializer(documentModels));
|
|
359
|
-
const
|
|
360
|
-
|
|
415
|
+
const reactorClientModule = await trace("reactor-api.reactor-client.init", { tags: { "resource.name": "reactor-client" } }, () => clientInitializer(reactor, documentModels));
|
|
416
|
+
// Extract client and syncManager from the module
|
|
417
|
+
const reactorClient = reactorClientModule.client;
|
|
418
|
+
const syncManager = reactorClientModule.reactorModule?.syncModule?.syncManager;
|
|
419
|
+
if (!syncManager) {
|
|
420
|
+
throw new Error("SyncManager not available from ReactorClientModule");
|
|
421
|
+
}
|
|
422
|
+
const legacyReactor = options.legacyReactor ?? false;
|
|
423
|
+
const reactorProcessorManager = reactorClientModule.reactorModule?.processorManager;
|
|
424
|
+
const api = await _setupAPI(reactor, reactorClient, syncManager, app, port, packages, relationalDb, analyticsStore, documentPermissionService, processors, subgraphs, options, auth, legacyReactor, reactorProcessorManager);
|
|
361
425
|
return {
|
|
362
426
|
...api,
|
|
363
427
|
driveServer: reactor,
|
|
364
428
|
client: reactorClient,
|
|
429
|
+
syncManager,
|
|
365
430
|
};
|
|
366
431
|
}
|
|
367
432
|
//# sourceMappingURL=server.js.map
|