@powerhousedao/reactor-api 4.1.0-dev.5 → 4.1.0-dev.50
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/drive/index.d.ts.map +1 -1
- package/dist/src/graphql/drive/index.js +29 -11
- package/dist/src/graphql/drive/index.js.map +1 -1
- package/dist/src/graphql/graphql-manager.d.ts +3 -1
- package/dist/src/graphql/graphql-manager.d.ts.map +1 -1
- package/dist/src/graphql/graphql-manager.js +67 -11
- package/dist/src/graphql/graphql-manager.js.map +1 -1
- package/dist/src/graphql/reactor/index.d.ts +5 -0
- package/dist/src/graphql/reactor/index.d.ts.map +1 -0
- package/dist/src/graphql/reactor/index.js +5 -0
- package/dist/src/graphql/reactor/index.js.map +1 -0
- package/dist/src/graphql/system/index.d.ts +3 -0
- package/dist/src/graphql/system/index.d.ts.map +1 -1
- package/dist/src/graphql/system/index.js +15 -0
- package/dist/src/graphql/system/index.js.map +1 -1
- package/dist/src/packages/import-loader.d.ts.map +1 -1
- package/dist/src/packages/import-loader.js +7 -6
- package/dist/src/packages/import-loader.js.map +1 -1
- package/dist/src/packages/import-resolver.d.ts +5 -0
- package/dist/src/packages/import-resolver.d.ts.map +1 -0
- package/dist/src/packages/import-resolver.js +127 -0
- package/dist/src/packages/import-resolver.js.map +1 -0
- package/dist/src/packages/package-manager.d.ts +4 -0
- package/dist/src/packages/package-manager.d.ts.map +1 -1
- package/dist/src/packages/package-manager.js +69 -17
- package/dist/src/packages/package-manager.js.map +1 -1
- package/dist/src/packages/types.d.ts +8 -0
- package/dist/src/packages/types.d.ts.map +1 -1
- package/dist/src/packages/util.d.ts +20 -2
- package/dist/src/packages/util.d.ts.map +1 -1
- package/dist/src/packages/util.js +50 -6
- package/dist/src/packages/util.js.map +1 -1
- package/dist/src/packages/vite-loader.d.ts +22 -0
- package/dist/src/packages/vite-loader.d.ts.map +1 -0
- package/dist/src/packages/vite-loader.js +151 -0
- package/dist/src/packages/vite-loader.js.map +1 -0
- package/dist/src/server.d.ts +1 -0
- package/dist/src/server.d.ts.map +1 -1
- package/dist/src/server.js +34 -64
- package/dist/src/server.js.map +1 -1
- package/dist/src/services/auth.service.d.ts +64 -0
- package/dist/src/services/auth.service.d.ts.map +1 -0
- package/dist/src/services/auth.service.js +154 -0
- package/dist/src/services/auth.service.js.map +1 -0
- package/dist/src/utils/create-schema.d.ts.map +1 -1
- package/dist/src/utils/create-schema.js +12 -1
- package/dist/src/utils/create-schema.js.map +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +11 -7
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
/**
|
|
3
|
+
* Attempts to import from suggested Node.js paths
|
|
4
|
+
*/
|
|
5
|
+
async function tryNodeSuggestedPaths(packageName, subPath) {
|
|
6
|
+
const suggestedPaths = [
|
|
7
|
+
`${packageName}/dist/${subPath}/index.js`,
|
|
8
|
+
`${packageName}/dist/${subPath}.js`,
|
|
9
|
+
];
|
|
10
|
+
for (const suggestedPath of suggestedPaths) {
|
|
11
|
+
try {
|
|
12
|
+
return (await import(/* @vite-ignore */ suggestedPath));
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
// Continue to next attempt
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Attempts to resolve package using import.meta.resolve
|
|
22
|
+
*/
|
|
23
|
+
async function tryImportMetaResolve(packageName, subPath) {
|
|
24
|
+
try {
|
|
25
|
+
const resolvedUrl = import.meta.resolve?.(`${packageName}/package.json`);
|
|
26
|
+
if (!resolvedUrl)
|
|
27
|
+
return null;
|
|
28
|
+
const packageRoot = path.dirname(new URL(resolvedUrl).pathname);
|
|
29
|
+
const pathsToTry = [
|
|
30
|
+
path.join(packageRoot, "dist", subPath, "index.js"),
|
|
31
|
+
path.join(packageRoot, "dist", `${subPath}.js`),
|
|
32
|
+
path.join(packageRoot, subPath, "index.js"),
|
|
33
|
+
path.join(packageRoot, `${subPath}.js`),
|
|
34
|
+
];
|
|
35
|
+
for (const attemptPath of pathsToTry) {
|
|
36
|
+
try {
|
|
37
|
+
return (await import(/* @vite-ignore */ attemptPath));
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
// Continue to next attempt
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
// import.meta.resolve failed
|
|
46
|
+
}
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Resolves symlinks in node_modules to find the real package location
|
|
51
|
+
*/
|
|
52
|
+
async function resolveSymlinkedPaths(packageName, subPath) {
|
|
53
|
+
const packageBaseName = packageName.includes("/")
|
|
54
|
+
? packageName.split("/").pop()
|
|
55
|
+
: packageName;
|
|
56
|
+
const nodeModulesPatterns = [
|
|
57
|
+
path.join(process.cwd(), "node_modules", packageName),
|
|
58
|
+
path.join(process.cwd(), "node_modules", packageBaseName || packageName),
|
|
59
|
+
];
|
|
60
|
+
const workspacePatterns = [];
|
|
61
|
+
for (const nodeModulesPath of nodeModulesPatterns) {
|
|
62
|
+
try {
|
|
63
|
+
const fs = await import("node:fs");
|
|
64
|
+
if (fs.existsSync(nodeModulesPath)) {
|
|
65
|
+
const realPath = fs.realpathSync(nodeModulesPath);
|
|
66
|
+
workspacePatterns.push(path.join(realPath, "dist", subPath, "index.js"), path.join(realPath, "dist", `${subPath}.js`), path.join(realPath, subPath, "index.js"), path.join(realPath, `${subPath}.js`));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
// Continue to next attempt
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return workspacePatterns;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Generates common workspace pattern paths
|
|
77
|
+
*/
|
|
78
|
+
function getCommonWorkspacePaths(packageName, subPath) {
|
|
79
|
+
const packageBaseName = packageName.includes("/")
|
|
80
|
+
? packageName.split("/").pop()
|
|
81
|
+
: packageName;
|
|
82
|
+
const commonRoots = [process.cwd(), path.dirname(process.cwd())];
|
|
83
|
+
const workspacePatterns = [];
|
|
84
|
+
for (const root of commonRoots) {
|
|
85
|
+
workspacePatterns.push(path.join(root, "packages", packageBaseName || packageName, "dist", subPath, "index.js"), path.join(root, "packages", packageBaseName || packageName, "dist", `${subPath}.js`));
|
|
86
|
+
}
|
|
87
|
+
return workspacePatterns;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Attempts to import from a list of workspace patterns
|
|
91
|
+
*/
|
|
92
|
+
async function tryWorkspacePatterns(patterns) {
|
|
93
|
+
for (const workspacePath of patterns) {
|
|
94
|
+
try {
|
|
95
|
+
return (await import(/* @vite-ignore */ workspacePath));
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
// Continue to next attempt
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Attempts to resolve linked packages using various fallback strategies
|
|
105
|
+
*/
|
|
106
|
+
export async function resolveLinkedPackage(packageName, subPath) {
|
|
107
|
+
// Try Node.js suggested paths first
|
|
108
|
+
let result = await tryNodeSuggestedPaths(packageName, subPath);
|
|
109
|
+
if (result)
|
|
110
|
+
return result;
|
|
111
|
+
// Try import.meta.resolve
|
|
112
|
+
result = await tryImportMetaResolve(packageName, subPath);
|
|
113
|
+
if (result)
|
|
114
|
+
return result;
|
|
115
|
+
// Try symlink resolution
|
|
116
|
+
const symlinkPaths = await resolveSymlinkedPaths(packageName, subPath);
|
|
117
|
+
result = await tryWorkspacePatterns(symlinkPaths);
|
|
118
|
+
if (result)
|
|
119
|
+
return result;
|
|
120
|
+
// Try common workspace patterns as final fallback
|
|
121
|
+
const commonPaths = getCommonWorkspacePaths(packageName, subPath);
|
|
122
|
+
result = await tryWorkspacePatterns(commonPaths);
|
|
123
|
+
if (result)
|
|
124
|
+
return result;
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=import-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"import-resolver.js","sourceRoot":"","sources":["../../../src/packages/import-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,10 @@ export declare class PackageManager implements IPackageManager {
|
|
|
15
15
|
constructor(loaders: IPackageLoader[], options: IPackageManagerOptions);
|
|
16
16
|
init(): Promise<PackageManagerResult>;
|
|
17
17
|
private loadPackages;
|
|
18
|
+
private loadDocumentModels;
|
|
19
|
+
private loadSubgraphs;
|
|
20
|
+
private loadProcessors;
|
|
21
|
+
private subscribePackages;
|
|
18
22
|
private getAllPackageNames;
|
|
19
23
|
private getPackageNamesFromConfigFile;
|
|
20
24
|
private initConfigFileWatcher;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../../src/packages/package-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,sBAAsB,
|
|
1
|
+
{"version":3,"file":"package-manager.d.ts","sourceRoot":"","sources":["../../../src/packages/package-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,sBAAsB,EAEtB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AACpB,wBAAgB,uBAAuB,CACrC,GAAG,cAAc,EAAE,mBAAmB,EAAE,EAAE,GACzC,mBAAmB,EAAE,CAUvB;AAED,qBAAa,cAAe,YAAW,eAAe;IAqBlD,SAAS,CAAC,OAAO,EAAE,sBAAsB;IApB3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmD;IAC1E,OAAO,CAAC,OAAO,CAA+B;IAE9C,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,YAAY,CAAsC;IAC1D,OAAO,CAAC,YAAY,CAGhB;IACJ,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,YAAY,CAMf;gBAGH,OAAO,EAAE,cAAc,EAAE,EACf,OAAO,EAAE,sBAAsB;IAM9B,IAAI,IAAI,OAAO,CAAC,oBAAoB,CAAC;YAQpC,YAAY;YA4BZ,kBAAkB;YAiClB,aAAa;YAwBb,cAAc;IAkC5B,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,6BAA6B;IAKrC,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,mBAAmB;IAkB3B,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,CACb,MAAM,EACN,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,EAAE,CACvD,KACE,IAAI,GACR,IAAI;CAGR"}
|
|
@@ -34,9 +34,27 @@ export class PackageManager {
|
|
|
34
34
|
}
|
|
35
35
|
async loadPackages(packages) {
|
|
36
36
|
this.logger.info(`Loading packages: ${packages.join(", ")}`);
|
|
37
|
+
const documentModelsMap = await this.loadDocumentModels(packages);
|
|
38
|
+
const subgraphsMap = await this.loadSubgraphs(packages);
|
|
39
|
+
const processorsMap = await this.loadProcessors(packages);
|
|
40
|
+
this.updatePackagesMap(documentModelsMap);
|
|
41
|
+
this.updateSubgraphsMap(subgraphsMap);
|
|
42
|
+
this.updateProcessorsMap(processorsMap);
|
|
43
|
+
try {
|
|
44
|
+
this.subscribePackages(packages);
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
this.logger.error("Failed to subscribe to packages", error);
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
documentModels: getUniqueDocumentModels(...Array.from(documentModelsMap.values())),
|
|
51
|
+
subgraphs: subgraphsMap,
|
|
52
|
+
processors: processorsMap,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
async loadDocumentModels(packages) {
|
|
56
|
+
this.logger.debug(`Loading document models from packages: ${packages.join(", ")}`);
|
|
37
57
|
const documentModelModuleMap = new Map();
|
|
38
|
-
const subgraphsMap = new Map();
|
|
39
|
-
const processorsMap = new Map();
|
|
40
58
|
// static prereqs
|
|
41
59
|
documentModelModuleMap.set("document-drive", [
|
|
42
60
|
driveDocumentModelModule,
|
|
@@ -46,29 +64,63 @@ export class PackageManager {
|
|
|
46
64
|
]);
|
|
47
65
|
for (const pkg of packages) {
|
|
48
66
|
const allDocumentModels = [];
|
|
49
|
-
const allSubgraphs = [];
|
|
50
|
-
const allProcessors = [];
|
|
51
67
|
for (const loader of this.loaders) {
|
|
52
68
|
const documentModels = await loader.loadDocumentModels(pkg);
|
|
53
|
-
const subgraphs = await loader.loadSubgraphs(pkg);
|
|
54
|
-
const processors = await loader.loadProcessors(pkg);
|
|
55
69
|
allDocumentModels.push(...documentModels);
|
|
70
|
+
}
|
|
71
|
+
documentModelModuleMap.set(pkg, allDocumentModels);
|
|
72
|
+
}
|
|
73
|
+
return documentModelModuleMap;
|
|
74
|
+
}
|
|
75
|
+
async loadSubgraphs(packages) {
|
|
76
|
+
this.logger.debug(`Loading subgraphs from packages: ${packages.join(", ")}`);
|
|
77
|
+
const subgraphsMap = new Map();
|
|
78
|
+
for (const pkg of packages) {
|
|
79
|
+
const allSubgraphs = [];
|
|
80
|
+
for (const loader of this.loaders) {
|
|
81
|
+
const subgraphs = await loader.loadSubgraphs(pkg);
|
|
56
82
|
allSubgraphs.push(...subgraphs);
|
|
83
|
+
}
|
|
84
|
+
subgraphsMap.set(pkg, allSubgraphs);
|
|
85
|
+
}
|
|
86
|
+
return subgraphsMap;
|
|
87
|
+
}
|
|
88
|
+
async loadProcessors(packages) {
|
|
89
|
+
this.logger.debug(`Loading processors from packages: ${packages.join(", ")}`);
|
|
90
|
+
const processorsMap = new Map();
|
|
91
|
+
for (const pkg of packages) {
|
|
92
|
+
const allProcessors = [];
|
|
93
|
+
for (const loader of this.loaders) {
|
|
94
|
+
const processors = await loader.loadProcessors(pkg);
|
|
57
95
|
if (processors) {
|
|
58
96
|
allProcessors.push(processors);
|
|
59
97
|
}
|
|
60
98
|
}
|
|
61
|
-
documentModelModuleMap.set(pkg, allDocumentModels);
|
|
62
|
-
subgraphsMap.set(pkg, allSubgraphs);
|
|
63
99
|
processorsMap.set(pkg, allProcessors);
|
|
64
100
|
}
|
|
65
|
-
this.updatePackagesMap(documentModelModuleMap);
|
|
66
|
-
this.updateSubgraphsMap(subgraphsMap);
|
|
67
101
|
this.updateProcessorsMap(processorsMap);
|
|
68
|
-
return
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
102
|
+
return processorsMap;
|
|
103
|
+
}
|
|
104
|
+
subscribePackages(packages) {
|
|
105
|
+
const unsubs = [];
|
|
106
|
+
for (const pkg of packages) {
|
|
107
|
+
for (const loader of this.loaders) {
|
|
108
|
+
if (loader.onDocumentModelsChange) {
|
|
109
|
+
const unsub = loader.onDocumentModelsChange(pkg, async () => {
|
|
110
|
+
this.logger.info(`Updating document models for package: ${pkg}`);
|
|
111
|
+
const documentModels = await this.loadDocumentModels([pkg]);
|
|
112
|
+
const documentModelsMap = new Map(this.docModelsMap);
|
|
113
|
+
documentModelsMap.set(pkg, documentModels.get(pkg) ?? []);
|
|
114
|
+
this.updatePackagesMap(documentModelsMap);
|
|
115
|
+
});
|
|
116
|
+
unsubs.push(unsub);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return () => {
|
|
121
|
+
for (const unsub of unsubs) {
|
|
122
|
+
unsub();
|
|
123
|
+
}
|
|
72
124
|
};
|
|
73
125
|
}
|
|
74
126
|
getAllPackageNames() {
|
|
@@ -98,7 +150,7 @@ export class PackageManager {
|
|
|
98
150
|
oldPackages
|
|
99
151
|
.filter((pkg) => !newPackages.includes(pkg))
|
|
100
152
|
.forEach((pkg) => {
|
|
101
|
-
this.logger.info(
|
|
153
|
+
this.logger.info(`Removed package: ${pkg}`);
|
|
102
154
|
});
|
|
103
155
|
this.docModelsMap = packagesMap;
|
|
104
156
|
this.eventEmitter.emit("documentModelsChange", Object.fromEntries(packagesMap));
|
|
@@ -109,7 +161,7 @@ export class PackageManager {
|
|
|
109
161
|
oldPackages
|
|
110
162
|
.filter((pkg) => !newPackages.includes(pkg))
|
|
111
163
|
.forEach((pkg) => {
|
|
112
|
-
this.logger.info(
|
|
164
|
+
this.logger.info(`Removed Subgraphs from: ${pkg}`);
|
|
113
165
|
});
|
|
114
166
|
this.subgraphsMap = subgraphsMap;
|
|
115
167
|
this.eventEmitter.emit("subgraphsChange", subgraphsMap);
|
|
@@ -120,7 +172,7 @@ export class PackageManager {
|
|
|
120
172
|
oldPackages
|
|
121
173
|
.filter((pkg) => !newPackages.includes(pkg))
|
|
122
174
|
.forEach((pkg) => {
|
|
123
|
-
this.logger.info(
|
|
175
|
+
this.logger.info(`Removed Processor Factories from: ${pkg}`);
|
|
124
176
|
});
|
|
125
177
|
this.processorMap = processorsMap;
|
|
126
178
|
this.eventEmitter.emit("processorsChange", processorsMap);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../../src/packages/package-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAKvE,OAAO,EACL,gCAAgC,GAEjC,MAAM,gBAAgB,CAAC;AACxB,OAAO,YAAY,MAAM,aAAa,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../../src/packages/package-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,14 @@ export interface IPackageLoader {
|
|
|
6
6
|
loadSubgraphs(identifier: string): Promise<SubgraphClass[]>;
|
|
7
7
|
loadProcessors(identifier: string): Promise<((module: IProcessorHostModule) => ProcessorFactory) | null>;
|
|
8
8
|
}
|
|
9
|
+
export interface ISubscriptionOptions {
|
|
10
|
+
debounce?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface ISubscribablePackageLoader extends IPackageLoader {
|
|
13
|
+
onDocumentModelsChange?(identifier: string, handler: (documentModels: DocumentModelModule[]) => void, options?: ISubscriptionOptions): () => void;
|
|
14
|
+
onSubgraphsChange?(identifier: string, handler: (subgraphs: SubgraphClass[]) => void, options?: ISubscriptionOptions): () => void;
|
|
15
|
+
onProcessorsChange?(identifier: string, handler: (processors: ((module: IProcessorHostModule) => ProcessorFactory) | null) => void, options?: ISubscriptionOptions): () => void;
|
|
16
|
+
}
|
|
9
17
|
export interface IPackageManager {
|
|
10
18
|
onDocumentModelsChange(handler: (documentModels: Record<string, DocumentModelModule[]>) => void): void;
|
|
11
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/packages/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC7B,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACvE,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC5D,cAAc,CACZ,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC;CACzE;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;CACrB,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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/packages/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC7B,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACvE,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC5D,cAAc,CACZ,UAAU,EAAE,MAAM,GACjB,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;CACrB,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"}
|
|
@@ -1,7 +1,25 @@
|
|
|
1
|
+
import { type SubgraphClass } from "#graphql/index.js";
|
|
2
|
+
import { type IProcessorHostModule, type ProcessorFactory } from "document-drive/processors/types";
|
|
3
|
+
import { type DocumentModelModule } from "document-model";
|
|
4
|
+
type DocumentModelsExport = Record<string, DocumentModelModule>;
|
|
5
|
+
type SubgraphsExport = Record<string, Record<string, SubgraphClass>>;
|
|
6
|
+
type ProcessorsExport = {
|
|
7
|
+
processorFactory: (module: IProcessorHostModule) => ProcessorFactory;
|
|
8
|
+
};
|
|
1
9
|
export declare const installPackages: (packages: string[]) => Promise<void>;
|
|
2
10
|
export declare const readManifest: () => string;
|
|
3
11
|
/**
|
|
4
|
-
* Tries to import
|
|
12
|
+
* Tries to import document models from a package. This function cannot throw.
|
|
5
13
|
*/
|
|
6
|
-
export declare function
|
|
14
|
+
export declare function loadDocumentModels(packageName: string): Promise<DocumentModelsExport | null>;
|
|
15
|
+
/**
|
|
16
|
+
* Tries to import subgraphs from a package. This function cannot throw.
|
|
17
|
+
*/
|
|
18
|
+
export declare function loadSubgraphs(packageName: string): Promise<SubgraphsExport | null>;
|
|
19
|
+
/**
|
|
20
|
+
* Tries to import processors from a package. This function cannot throw.
|
|
21
|
+
*/
|
|
22
|
+
export declare function loadProcessors(packageName: string): Promise<ProcessorsExport | null>;
|
|
23
|
+
export declare function debounce<T extends (...args: any[]) => void>(func: T, delay?: number): (...args: Parameters<T>) => void;
|
|
24
|
+
export {};
|
|
7
25
|
//# sourceMappingURL=util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/packages/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/packages/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAK1D,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;CACtE,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,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,EACzD,IAAI,EAAE,CAAC,EACP,KAAK,SAAM,GACV,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAMlC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { childLogger } from "document-drive";
|
|
2
2
|
import { execSync } from "node:child_process";
|
|
3
|
+
import { resolveLinkedPackage } from "./import-resolver.js";
|
|
3
4
|
const logger = childLogger(["reactor-api", "packages/util"]);
|
|
4
5
|
export const installPackages = async (packages) => {
|
|
5
6
|
for (const packageName of packages) {
|
|
@@ -11,22 +12,65 @@ export const readManifest = () => {
|
|
|
11
12
|
return manifest;
|
|
12
13
|
};
|
|
13
14
|
/**
|
|
14
|
-
* Tries to import
|
|
15
|
+
* Tries to import document models from a package. This function cannot throw.
|
|
15
16
|
*/
|
|
16
|
-
export async function
|
|
17
|
+
export async function loadDocumentModels(packageName) {
|
|
18
|
+
return loadDependency(packageName, "document-models");
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Tries to import subgraphs from a package. This function cannot throw.
|
|
22
|
+
*/
|
|
23
|
+
export async function loadSubgraphs(packageName) {
|
|
24
|
+
return loadDependency(packageName, "subgraphs");
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Tries to import processors from a package. This function cannot throw.
|
|
28
|
+
*/
|
|
29
|
+
export async function loadProcessors(packageName) {
|
|
30
|
+
return loadDependency(packageName, "processors");
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Generic dependency loader - tries to import a dependency from a package. This function cannot throw.
|
|
34
|
+
* Returns null if the dependency cannot be loaded.
|
|
35
|
+
*/
|
|
36
|
+
async function loadDependency(packageName, subPath) {
|
|
37
|
+
const fullPath = `${packageName}/${subPath}`;
|
|
38
|
+
// Try the standard import first
|
|
17
39
|
try {
|
|
18
|
-
const fullPath = `${packageName}/${subPath}`;
|
|
19
40
|
// vite does not support this, but that's okay as we have provided the
|
|
20
41
|
// vite-loader for this purpose
|
|
21
|
-
|
|
42
|
+
const module = (await import(/* @vite-ignore */ fullPath));
|
|
43
|
+
return module;
|
|
22
44
|
}
|
|
23
45
|
catch (e) {
|
|
46
|
+
// Handle module not found errors with fallback resolution
|
|
24
47
|
if (e instanceof Error &&
|
|
25
48
|
"code" in e &&
|
|
26
|
-
|
|
27
|
-
|
|
49
|
+
(e.code === "ERR_MODULE_NOT_FOUND" ||
|
|
50
|
+
e.code === "ERR_UNSUPPORTED_DIR_IMPORT")) {
|
|
51
|
+
const result = await resolveLinkedPackage(packageName, subPath);
|
|
52
|
+
if (result)
|
|
53
|
+
return result;
|
|
54
|
+
// Only log when ALL attempts have failed
|
|
55
|
+
logger.warn(`Unable to load dependency ${fullPath} - tried standard import, suggested paths, resolved paths, and workspace patterns`);
|
|
56
|
+
logger.error(e);
|
|
57
|
+
}
|
|
58
|
+
else if (e instanceof Error &&
|
|
59
|
+
"code" in e &&
|
|
60
|
+
["ERR_PACKAGE_PATH_NOT_EXPORTED", "ERR_MODULE_NOT_FOUND"].includes(e.code)) {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
logger.error(`Unexpected error loading ${fullPath}:`, e);
|
|
28
65
|
}
|
|
29
66
|
return null;
|
|
30
67
|
}
|
|
31
68
|
}
|
|
69
|
+
export function debounce(func, delay = 100) {
|
|
70
|
+
let timeoutId;
|
|
71
|
+
return (...args) => {
|
|
72
|
+
clearTimeout(timeoutId);
|
|
73
|
+
timeoutId = setTimeout(() => func(...args), delay);
|
|
74
|
+
};
|
|
75
|
+
}
|
|
32
76
|
//# sourceMappingURL=util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/packages/util.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/packages/util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type SubgraphClass } from "@powerhousedao/reactor-api";
|
|
2
|
+
import { type IProcessorHostModule, type ProcessorFactory } from "document-drive/processors/types";
|
|
3
|
+
import { type DocumentModelModule } from "document-model";
|
|
4
|
+
import { type ViteDevServer } from "vite";
|
|
5
|
+
import { type ISubscribablePackageLoader, type ISubscriptionOptions } from "./types.js";
|
|
6
|
+
export declare class VitePackageLoader implements ISubscribablePackageLoader {
|
|
7
|
+
private readonly logger;
|
|
8
|
+
private readonly vite;
|
|
9
|
+
static build(vite?: ViteDevServer): Promise<VitePackageLoader>;
|
|
10
|
+
constructor(vite: ViteDevServer);
|
|
11
|
+
private getDocumentModelsPath;
|
|
12
|
+
private getSubgraphsPath;
|
|
13
|
+
private getProcessorsPath;
|
|
14
|
+
loadDocumentModels(identifier: string): Promise<DocumentModelModule[]>;
|
|
15
|
+
loadSubgraphs(identifier: string): Promise<SubgraphClass[]>;
|
|
16
|
+
loadProcessors(identifier: string): Promise<((module: IProcessorHostModule) => ProcessorFactory) | null>;
|
|
17
|
+
onDocumentModelsChange(identifier: string, handler: (documentModels: DocumentModelModule[]) => void, options?: ISubscriptionOptions): () => void;
|
|
18
|
+
onSubgraphsChange(identifier: string, handler: (subgraphs: SubgraphClass[]) => void, options?: ISubscriptionOptions): () => void;
|
|
19
|
+
onProcessorsChange(identifier: string, handler: (processors: ((module: IProcessorHostModule) => ProcessorFactory) | null) => void, options?: ISubscriptionOptions): () => void;
|
|
20
|
+
}
|
|
21
|
+
export declare function startViteServer(): Promise<ViteDevServer>;
|
|
22
|
+
//# sourceMappingURL=vite-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vite-loader.d.ts","sourceRoot":"","sources":["../../../src/packages/vite-loader.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,aAAa,EACnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,MAAM,CAAC;AACxD,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAC;AAGpB,qBAAa,iBAAkB,YAAW,0BAA0B;IAClE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;IAEtE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;WAExB,KAAK,CAAC,IAAI,CAAC,EAAE,aAAa;gBAK3B,IAAI,EAAE,aAAa;IAI/B,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,iBAAiB;IAInB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAkCtE,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA+B3D,cAAc,CAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAgCvE,sBAAsB,CACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,cAAc,EAAE,mBAAmB,EAAE,KAAK,IAAI,EACxD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,IAAI;IAiBb,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,2BAqBpC"}
|