@powerhousedao/ph-cli 0.38.1-dev.0 → 0.39.1-dev.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package.json +2 -1
- package/dist/src/commands/connect.d.ts +5 -3
- package/dist/src/commands/connect.d.ts.map +1 -1
- package/dist/src/commands/connect.js +8 -20
- package/dist/src/commands/dev.d.ts +2 -10
- package/dist/src/commands/dev.d.ts.map +1 -1
- package/dist/src/commands/dev.js +6 -74
- package/dist/src/commands/generate.d.ts +2 -15
- package/dist/src/commands/generate.d.ts.map +1 -1
- package/dist/src/commands/generate.js +6 -50
- package/dist/src/commands/index.d.ts +2 -11
- package/dist/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/index.js +2 -11
- package/dist/src/commands/inspect.d.ts +2 -3
- package/dist/src/commands/inspect.d.ts.map +1 -1
- package/dist/src/commands/inspect.js +6 -46
- package/dist/src/commands/switchboard.d.ts +2 -27
- package/dist/src/commands/switchboard.d.ts.map +1 -1
- package/dist/src/commands/switchboard.js +5 -49
- package/dist/src/services/connect.d.ts +4 -0
- package/dist/src/services/connect.d.ts.map +1 -0
- package/dist/src/services/connect.js +17 -0
- package/dist/src/services/dev.d.ts +10 -0
- package/dist/src/services/dev.d.ts.map +1 -0
- package/dist/src/services/dev.js +76 -0
- package/dist/src/services/generate.d.ts +17 -0
- package/dist/src/services/generate.d.ts.map +1 -0
- package/dist/src/services/generate.js +52 -0
- package/dist/src/services/inspect.d.ts +5 -0
- package/dist/src/services/inspect.d.ts.map +1 -0
- package/dist/src/services/inspect.js +47 -0
- package/dist/src/services/switchboard.d.ts +29 -0
- package/dist/src/services/switchboard.d.ts.map +1 -0
- package/dist/src/services/switchboard.js +63 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/services/generate.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,WAAW,GAAG,aAAa,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,EAAE,eAAe,iBA0DzB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { generate as generateCode, generateEditor, generateFromFile, generateImportScript, generateProcessor, generateSubgraph, } from "@powerhousedao/codegen";
|
|
2
|
+
import { getConfig } from "@powerhousedao/config/powerhouse";
|
|
3
|
+
export async function startGenerate(filePath, options) {
|
|
4
|
+
const baseConfig = getConfig();
|
|
5
|
+
const config = {
|
|
6
|
+
...baseConfig,
|
|
7
|
+
...{
|
|
8
|
+
...(options.editors && { editorsDir: options.editors }),
|
|
9
|
+
...(options.processors && { processorsDir: options.processors }),
|
|
10
|
+
...(options.documentModels && {
|
|
11
|
+
documentModelsDir: options.documentModels,
|
|
12
|
+
}),
|
|
13
|
+
...(options.skipFormat && { skipFormat: options.skipFormat }),
|
|
14
|
+
...(options.interactive && { interactive: options.interactive }),
|
|
15
|
+
...(options.watch && { watch: options.watch }),
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
const command = {
|
|
19
|
+
editor: !!options.editor,
|
|
20
|
+
editorName: options.editor,
|
|
21
|
+
documentTypes: options.documentTypes,
|
|
22
|
+
processor: !!options.processor,
|
|
23
|
+
processorName: options.processor,
|
|
24
|
+
processorType: options.processorType,
|
|
25
|
+
subgraph: !!options.subgraph,
|
|
26
|
+
subgraphName: options.subgraph,
|
|
27
|
+
importScript: !!options.importScript,
|
|
28
|
+
importScriptName: options.importScript,
|
|
29
|
+
};
|
|
30
|
+
if (command.editor) {
|
|
31
|
+
if (!command.editorName) {
|
|
32
|
+
throw new Error("Editor name is required (--editor or -e)");
|
|
33
|
+
}
|
|
34
|
+
await generateEditor(command.editorName, command.documentTypes?.split(/[|,;]/g) ?? [], config);
|
|
35
|
+
}
|
|
36
|
+
else if (command.processor && options.processor) {
|
|
37
|
+
const processorType = options.processorType === "operational" ? "operational" : "analytics";
|
|
38
|
+
await generateProcessor(options.processor, processorType, options.documentTypes?.split(",") ?? [], config);
|
|
39
|
+
}
|
|
40
|
+
else if (command.subgraph && command.subgraphName) {
|
|
41
|
+
await generateSubgraph(command.subgraphName, options.file || null, config);
|
|
42
|
+
}
|
|
43
|
+
else if (command.importScript && command.importScriptName) {
|
|
44
|
+
await generateImportScript(command.importScriptName, config);
|
|
45
|
+
}
|
|
46
|
+
else if (filePath) {
|
|
47
|
+
await generateFromFile(filePath, config);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
await generateCode(config);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../../src/services/inspect.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,iBAwD9E"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import path from "node:path";
|
|
2
|
+
import { getProjectInfo } from "../utils.js";
|
|
3
|
+
export async function startInspect(packageName, options) {
|
|
4
|
+
if (options.debug) {
|
|
5
|
+
console.log(">>> command arguments", { options });
|
|
6
|
+
}
|
|
7
|
+
const projectInfo = getProjectInfo(options.debug);
|
|
8
|
+
if (options.debug) {
|
|
9
|
+
console.log("\n>>> projectInfo", projectInfo);
|
|
10
|
+
}
|
|
11
|
+
try {
|
|
12
|
+
const manifest = (await import(path.join(packageName, "manifest")));
|
|
13
|
+
console.log(manifest.name);
|
|
14
|
+
if (manifest.documentModels) {
|
|
15
|
+
console.log("\nDocument Models:");
|
|
16
|
+
manifest.documentModels.forEach((model) => {
|
|
17
|
+
console.log(`- ${model.name} (${model.id})`);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
if (manifest.editors) {
|
|
21
|
+
console.log("\nEditors:");
|
|
22
|
+
manifest.editors.forEach((editor) => {
|
|
23
|
+
console.log(`- ${editor.name} (${editor.id})`);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
if (manifest.processors) {
|
|
27
|
+
console.log("\nProcessors:");
|
|
28
|
+
manifest.processors.forEach((processor) => {
|
|
29
|
+
console.log(`- ${processor.name} (${processor.id})`);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
if (manifest.subgraphs) {
|
|
33
|
+
console.log("\nSubgraphs:");
|
|
34
|
+
manifest.subgraphs.forEach((subgraph) => {
|
|
35
|
+
console.log(`- ${subgraph.name} (${subgraph.id})`);
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
catch (e) {
|
|
40
|
+
if (options.debug) {
|
|
41
|
+
console.error(e);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
console.log("No manifest found in the package");
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type LocalReactor, type StartServerOptions } from "@powerhousedao/reactor-local";
|
|
2
|
+
export type SwitchboardOptions = StartServerOptions & {
|
|
3
|
+
configFile?: string;
|
|
4
|
+
generate?: boolean;
|
|
5
|
+
watch?: boolean;
|
|
6
|
+
dbPath?: string;
|
|
7
|
+
};
|
|
8
|
+
export declare const DefaultSwitchboardOptions: {
|
|
9
|
+
dev: boolean;
|
|
10
|
+
port: number;
|
|
11
|
+
storagePath: string;
|
|
12
|
+
dbPath: string;
|
|
13
|
+
drive: {
|
|
14
|
+
global: {
|
|
15
|
+
id: string;
|
|
16
|
+
name: string;
|
|
17
|
+
icon: string;
|
|
18
|
+
slug: string;
|
|
19
|
+
};
|
|
20
|
+
local: {
|
|
21
|
+
availableOffline: true;
|
|
22
|
+
listeners: never[];
|
|
23
|
+
sharingType: string;
|
|
24
|
+
triggers: never[];
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
export declare function startLocalSwitchboard(switchboardOptions: SwitchboardOptions): Promise<LocalReactor>;
|
|
29
|
+
//# sourceMappingURL=switchboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switchboard.d.ts","sourceRoot":"","sources":["../../../src/services/switchboard.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,kBAAkB,EACxB,MAAM,8BAA8B,CAAC;AAMtC,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,GAAG;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;CAGrC,CAAC;AAEF,wBAAsB,qBAAqB,CACzC,kBAAkB,EAAE,kBAAkB,yBAoBvC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { generateFromFile } from "@powerhousedao/codegen";
|
|
2
|
+
import { getConfig, } from "@powerhousedao/config/powerhouse";
|
|
3
|
+
import { DefaultStartServerOptions, startServer, } from "@powerhousedao/reactor-local";
|
|
4
|
+
import { InternalTransmitter } from "document-drive/server/listener/transmitter/internal";
|
|
5
|
+
export const DefaultSwitchboardOptions = {
|
|
6
|
+
...DefaultStartServerOptions,
|
|
7
|
+
dev: true,
|
|
8
|
+
};
|
|
9
|
+
export async function startLocalSwitchboard(switchboardOptions) {
|
|
10
|
+
const baseConfig = getConfig(switchboardOptions.configFile);
|
|
11
|
+
const options = {
|
|
12
|
+
...DefaultSwitchboardOptions,
|
|
13
|
+
...switchboardOptions,
|
|
14
|
+
};
|
|
15
|
+
const { https } = baseConfig.reactor ?? { https: false };
|
|
16
|
+
const reactor = await startServer({
|
|
17
|
+
...options,
|
|
18
|
+
https,
|
|
19
|
+
logLevel: baseConfig.logLevel,
|
|
20
|
+
});
|
|
21
|
+
if (options.generate) {
|
|
22
|
+
await addGenerateTransmitter(reactor, baseConfig);
|
|
23
|
+
}
|
|
24
|
+
return reactor;
|
|
25
|
+
}
|
|
26
|
+
async function addGenerateTransmitter(reactor, config) {
|
|
27
|
+
const receiver = {
|
|
28
|
+
onStrands: async function (strands) {
|
|
29
|
+
const documentPaths = new Set();
|
|
30
|
+
for (const strand of strands) {
|
|
31
|
+
documentPaths.add(reactor.getDocumentPath(strand.driveId, strand.documentId));
|
|
32
|
+
}
|
|
33
|
+
for (const path of documentPaths) {
|
|
34
|
+
await generateFromFile(path, config);
|
|
35
|
+
}
|
|
36
|
+
return Promise.resolve();
|
|
37
|
+
},
|
|
38
|
+
onDisconnect: () => Promise.resolve(),
|
|
39
|
+
};
|
|
40
|
+
const listenerManager = reactor.server.listeners;
|
|
41
|
+
// todo: simplify
|
|
42
|
+
const listener = {
|
|
43
|
+
driveId: "powerhouse",
|
|
44
|
+
listenerId: "reactor-local-document-model-generator",
|
|
45
|
+
label: "reactor-local-document-model-generator",
|
|
46
|
+
filter: {
|
|
47
|
+
documentType: ["powerhouse/document-model"],
|
|
48
|
+
scope: ["global"],
|
|
49
|
+
branch: ["*"],
|
|
50
|
+
documentId: ["*"],
|
|
51
|
+
},
|
|
52
|
+
block: false,
|
|
53
|
+
system: false,
|
|
54
|
+
callInfo: {
|
|
55
|
+
data: "",
|
|
56
|
+
name: "reactor-local-document-model-generator",
|
|
57
|
+
transmitterType: "Internal",
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
const transmitter = new InternalTransmitter(listener, reactor.server, receiver);
|
|
61
|
+
listener.transmitter = transmitter;
|
|
62
|
+
await listenerManager.setListener(listener.driveId, listener);
|
|
63
|
+
}
|