@powerhousedao/ph-cli 4.1.0-dev.15 → 4.1.0-dev.17
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 +1 -1
- package/dist/src/commands/connect.d.ts.map +1 -1
- package/dist/src/commands/connect.js +1 -5
- package/dist/src/commands/connect.js.map +1 -1
- package/dist/src/commands/switchboard.d.ts.map +1 -1
- package/dist/src/commands/switchboard.js +8 -2
- package/dist/src/commands/switchboard.js.map +1 -1
- package/dist/src/commands/vetra.d.ts.map +1 -1
- package/dist/src/commands/vetra.js +7 -5
- package/dist/src/commands/vetra.js.map +1 -1
- package/dist/src/help.d.ts +1 -1
- package/dist/src/help.d.ts.map +1 -1
- package/dist/src/help.js +29 -27
- package/dist/src/help.js.map +1 -1
- package/dist/src/services/switchboard.d.ts +6 -1
- package/dist/src/services/switchboard.d.ts.map +1 -1
- package/dist/src/services/switchboard.js +40 -5
- package/dist/src/services/switchboard.js.map +1 -1
- package/dist/src/services/vetra.d.ts +2 -5
- package/dist/src/services/vetra.d.ts.map +1 -1
- package/dist/src/services/vetra.js +43 -121
- package/dist/src/services/vetra.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +9 -9
package/dist/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/commands/connect.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AASrD,eAAO,MAAM,OAAO,EAAE,iBAAiB,CACrC;IAAC,cAAc;CAAC,EAChB,OAAO,CAAC,IAAI,CAAC,CAGd,CAAC;AA6CF,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/commands/connect.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AASrD,eAAO,MAAM,OAAO,EAAE,iBAAiB,CACrC;IAAC,cAAc;CAAC,EAChB,OAAO,CAAC,IAAI,CAAC,CAGd,CAAC;AA6CF,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,QAO9C"}
|
|
@@ -47,13 +47,9 @@ export function connectCommand(program) {
|
|
|
47
47
|
const cmd = program
|
|
48
48
|
.command("connect")
|
|
49
49
|
.description("Powerhouse Connect commands")
|
|
50
|
-
.addCommand(studioCommand)
|
|
50
|
+
.addCommand(studioCommand, { isDefault: true })
|
|
51
51
|
.addCommand(buildCommand)
|
|
52
52
|
.addCommand(previewCommand);
|
|
53
|
-
// Set studio as the default command
|
|
54
|
-
cmd.action(async (...args) => {
|
|
55
|
-
await connect(...args);
|
|
56
|
-
});
|
|
57
53
|
}
|
|
58
54
|
if (process.argv.at(2) === "spawn") {
|
|
59
55
|
const optionsArg = process.argv.at(3);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/commands/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,cAAc,GAGf,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,KAAK,UAAU,YAAY,CAAC,OAAuB;IACjD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACvD,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IACjC,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAGhB,KAAK,EAAE,OAAO,EAAE,EAAE;IACpB,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KACxC,WAAW,CAAC,iCAAiC,CAAC;KAC9C,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,CAAC;KAChE,MAAM,CAAC,YAAY,EAAE,kCAAkC,CAAC;KACxD,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC;KACjC,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CAAC;KACpC,MAAM,CAAC,4BAA4B,EAAE,uCAAuC,CAAC;KAC7E,MAAM,CAAC,KAAK,EAAE,GAAG,IAAsB,EAAE,EAAE;IAC1C,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AACL,aAAa,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;AAEhD,MAAM,YAAY,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;KACtC,WAAW,CAAC,uBAAuB,CAAC;KACpC,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC;KAChD,MAAM,CACL,uBAAuB,EACvB,mCAAmC,EACnC,OAAO,CAAC,GAAG,EAAE,CACd;KACA,MAAM,CAAC,0BAA0B,EAAE,kCAAkC,CAAC;KACtE,MAAM,CACL,sCAAsC,EACtC,wCAAwC,CACzC;KACA,MAAM,CAAC,2BAA2B,EAAE,6BAA6B,CAAC;KAClE,MAAM,CAAC,uBAAuB,EAAE,wCAAwC,CAAC;KACzE,MAAM,CAAC,KAAK,EAAE,GAAG,IAA2B,EAAE,EAAE;IAC/C,MAAM,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AACL,aAAa,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;AAE9C,MAAM,cAAc,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC;KAC1C,WAAW,CAAC,+BAA+B,CAAC;KAC5C,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC;KAChD,MAAM,CAAC,uBAAuB,EAAE,mCAAmC,CAAC;KACpE,MAAM,CAAC,mBAAmB,EAAE,+BAA+B,EAAE,MAAM,CAAC;KACpE,MAAM,CAAC,QAAQ,EAAE,kBAAkB,CAAC;KACpC,MAAM,CAAC,KAAK,EAAE,GAAG,IAA6B,EAAE,EAAE;IACjD,MAAM,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AACL,aAAa,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;AAElD,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,MAAM,GAAG,GAAG,OAAO;SAChB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,6BAA6B,CAAC;SAC1C,UAAU,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../src/commands/connect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchboard.d.ts","sourceRoot":"","sources":["../../../src/commands/switchboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"switchboard.d.ts","sourceRoot":"","sources":["../../../src/commands/switchboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AA+BrD,eAAO,MAAM,WAAW,EAAE,iBAAiB,CACzC;IAAC,cAAc;CAAC,EAChB,OAAO,CAAC,kBAAkB,CAAC,CAG5B,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,QA6BlD"}
|
|
@@ -8,9 +8,15 @@ async function startLocalSwitchboard(options) {
|
|
|
8
8
|
}
|
|
9
9
|
const Switchboard = await import("../services/switchboard.js");
|
|
10
10
|
const { startSwitchboard } = Switchboard;
|
|
11
|
+
// Extract only the props that switchboard expects
|
|
12
|
+
const { port: rawPort, configFile, dev, dbPath, packages } = options;
|
|
13
|
+
const port = typeof rawPort === "string" ? parseInt(rawPort) : rawPort;
|
|
11
14
|
return startSwitchboard({
|
|
12
|
-
|
|
13
|
-
|
|
15
|
+
port,
|
|
16
|
+
configFile,
|
|
17
|
+
dev,
|
|
18
|
+
dbPath,
|
|
19
|
+
packages,
|
|
14
20
|
});
|
|
15
21
|
}
|
|
16
22
|
export const switchboard = async (options) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchboard.js","sourceRoot":"","sources":["../../../src/commands/switchboard.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAM5C,KAAK,UAAU,qBAAqB,CAAC,OAA2B;IAC9D,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,wBAAwB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC;IAC3C,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAC/D,MAAM,EAAE,gBAAgB,EAAE,GAAG,WAAW,CAAC;IAEzC,OAAO,
|
|
1
|
+
{"version":3,"file":"switchboard.js","sourceRoot":"","sources":["../../../src/commands/switchboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vetra.d.ts","sourceRoot":"","sources":["../../../src/commands/vetra.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AASrD,eAAO,MAAM,KAAK,EAAE,iBAAiB,CACnC;IAAC,UAAU,GAAG;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;CAAC,
|
|
1
|
+
{"version":3,"file":"vetra.d.ts","sourceRoot":"","sources":["../../../src/commands/vetra.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AASrD,eAAO,MAAM,KAAK,EAAE,iBAAiB,CACnC;IAAC,UAAU,GAAG;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;CAAC,CAOlC,CAAC;AAEF,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,QAmC5C"}
|
|
@@ -6,23 +6,25 @@ async function startVetraEnv(options) {
|
|
|
6
6
|
return startVetra(options);
|
|
7
7
|
}
|
|
8
8
|
export const vetra = async (options) => {
|
|
9
|
-
return startVetraEnv({
|
|
9
|
+
return startVetraEnv({
|
|
10
|
+
...options,
|
|
11
|
+
verbose: options.logs,
|
|
12
|
+
disableConnect: options.disableConnect,
|
|
13
|
+
});
|
|
10
14
|
};
|
|
11
15
|
export function vetraCommand(program) {
|
|
12
16
|
const cmd = program
|
|
13
17
|
.command("vetra")
|
|
14
18
|
.option("--logs", "Show additional logs")
|
|
15
19
|
.description("Starts Vetra development environment with switchboard, reactor, and connect")
|
|
16
|
-
.option("--generate", "generate code when document model is updated")
|
|
17
20
|
.option("--switchboard-port <port>", "port to use for the Vetra switchboard (default: 4001)")
|
|
18
|
-
.option("--reactor-port <port>", "port to use for the local reactor (default: 4002)")
|
|
19
21
|
.option("--connect-port <port>", "port to use for Connect (default: 3000)")
|
|
20
|
-
.option("--disable-default-drive", "disable automatic creation of the default 'powerhouse' drive in the reactor")
|
|
21
22
|
.option("--https-key-file <HTTPS_KEY_FILE>", "path to the ssl key file")
|
|
22
23
|
.option("--https-cert-file <HTTPS_CERT_FILE>", "path to the ssl cert file")
|
|
23
24
|
.option("--config-file <configFile>", "Path to the powerhouse.config.js file")
|
|
24
25
|
.option("-w, --watch", "if the switchboard and reactor should watch for local changes to document models and processors")
|
|
25
|
-
.option("--remote-drive <url>", "URL of remote drive to connect to (skips switchboard initialization)")
|
|
26
|
+
.option("--remote-drive <url>", "URL of remote drive to connect to (skips switchboard initialization)")
|
|
27
|
+
.option("--disable-connect", "Skip Connect initialization (only start switchboard and reactor)");
|
|
26
28
|
// Use the setCustomHelp utility to apply custom help formatting
|
|
27
29
|
setCustomHelp(cmd, vetraHelp);
|
|
28
30
|
cmd.action(vetra);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vetra.js","sourceRoot":"","sources":["../../../src/commands/vetra.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,KAAK,UAAU,aAAa,CAAC,OAAmB;IAC9C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACnD,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAC7B,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAEd,KAAK,EAAE,OAAO,EAAE,EAAE;IACpB,OAAO,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"vetra.js","sourceRoot":"","sources":["../../../src/commands/vetra.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,KAAK,UAAU,aAAa,CAAC,OAAmB;IAC9C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACnD,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAC7B,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAEd,KAAK,EAAE,OAAO,EAAE,EAAE;IACpB,OAAO,aAAa,CAAC;QACnB,GAAG,OAAO;QACV,OAAO,EAAE,OAAO,CAAC,IAAI;QACrB,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC3C,MAAM,GAAG,GAAG,OAAO;SAChB,OAAO,CAAC,OAAO,CAAC;SAChB,MAAM,CAAC,QAAQ,EAAE,sBAAsB,CAAC;SACxC,WAAW,CACV,6EAA6E,CAC9E;SACA,MAAM,CACL,2BAA2B,EAC3B,uDAAuD,CACxD;SACA,MAAM,CAAC,uBAAuB,EAAE,yCAAyC,CAAC;SAC1E,MAAM,CAAC,mCAAmC,EAAE,0BAA0B,CAAC;SACvE,MAAM,CAAC,qCAAqC,EAAE,2BAA2B,CAAC;SAC1E,MAAM,CACL,4BAA4B,EAC5B,uCAAuC,CACxC;SACA,MAAM,CACL,aAAa,EACb,iGAAiG,CAClG;SACA,MAAM,CACL,sBAAsB,EACtB,sEAAsE,CACvE;SACA,MAAM,CACL,mBAAmB,EACnB,kEAAkE,CACnE,CAAC;IAEJ,gEAAgE;IAChE,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAE9B,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACpB,CAAC"}
|
package/dist/src/help.d.ts
CHANGED
|
@@ -33,7 +33,7 @@ export declare const devHelp = "\nCommand Overview:\n The dev command sets up a
|
|
|
33
33
|
/**
|
|
34
34
|
* Help text for the vetra command
|
|
35
35
|
*/
|
|
36
|
-
export declare const vetraHelp = "\nCommand Overview:\n The vetra command sets up a
|
|
36
|
+
export declare const vetraHelp = "\nCommand Overview:\n The vetra command sets up a Vetra development environment for working with Vetra projects.\n It starts a Vetra Switchboard and optionally Connect Studio, enabling document collaboration \n and real-time processing with a \"Vetra\" drive or connection to remote drives.\n\n This command:\n 1. Starts a Vetra Switchboard with a \"Vetra\" drive for document storage\n 2. Optionally connects to remote drives instead of creating a local drive\n 3. Starts Connect Studio pointing to the Switchboard for user interaction (unless disabled)\n 4. Enables real-time updates, collaboration, and code generation\n\nOptions:\n --logs Enable verbose logging for all services. This provides detailed\n output from Switchboard and Connect during startup and operation.\n \n --switchboard-port <port> Specify the port to use for the Vetra Switchboard service.\n Default is 4001. The Switchboard handles document storage.\n \n --connect-port <port> Specify the port to use for Connect Studio.\n Default is 3000. Connect provides the user interface.\n \n --https-key-file <path> Path to the SSL key file if using HTTPS for secure connections.\n \n --https-cert-file <path> Path to the SSL certificate file if using HTTPS.\n \n --config-file <path> Path to the powerhouse.config.js file. This allows you to\n customize the behavior of the Vetra development environment.\n \n -w, --watch Watch for local changes to document models and processors,\n and automatically update the Switchboard accordingly.\n \n --remote-drive <url> URL of remote drive to connect to. When specified, the switchboard\n connects to this remote drive instead of creating a local Vetra drive.\n \n --disable-connect Skip Connect initialization (only start switchboard and reactor).\n Use this when you only need the backend services running.\n\nExamples:\n $ ph vetra # Start Vetra environment with defaults\n $ ph vetra --switchboard-port 5000 --connect-port 3001 # Use custom ports\n $ ph vetra --config-file custom.powerhouse.config.js # Use custom configuration\n $ ph vetra --watch # Watch for changes and auto-update\n $ ph vetra --logs # Enable detailed logging\n $ ph vetra --remote-drive http://localhost:4001/d/docs # Connect to remote drive\n $ ph vetra --disable-connect # Start only backend services\n $ ph vetra --https-key-file key.pem --https-cert-file cert.pem # Use HTTPS\n";
|
|
37
37
|
/**
|
|
38
38
|
* Help text for the inspect command
|
|
39
39
|
*/
|
package/dist/src/help.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/help.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,eAAO,MAAM,iBAAiB,itDAkC7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,yrBAW5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,gcAU9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,o9GA+DxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,+jEAsCvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,4pEAwCzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,ypCA2BpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,m7DAoCnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/help.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,eAAO,MAAM,iBAAiB,itDAkC7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,yrBAW5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,gcAU9B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,o9GA+DxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,+jEAsCvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,4pEAwCzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,ypCA2BpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,m7DAoCnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,66FA+CrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,miDAkCvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,+zDAqCvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,ixDAoC3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,s6DAuCvB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,2kCA0BvB,CAAC"}
|
package/dist/src/help.js
CHANGED
|
@@ -295,48 +295,50 @@ Examples:
|
|
|
295
295
|
*/
|
|
296
296
|
export const vetraHelp = `
|
|
297
297
|
Command Overview:
|
|
298
|
-
The vetra command sets up a
|
|
299
|
-
It starts
|
|
300
|
-
|
|
298
|
+
The vetra command sets up a Vetra development environment for working with Vetra projects.
|
|
299
|
+
It starts a Vetra Switchboard and optionally Connect Studio, enabling document collaboration
|
|
300
|
+
and real-time processing with a "Vetra" drive or connection to remote drives.
|
|
301
301
|
|
|
302
302
|
This command:
|
|
303
303
|
1. Starts a Vetra Switchboard with a "Vetra" drive for document storage
|
|
304
|
-
2.
|
|
305
|
-
3. Starts Connect Studio pointing to the
|
|
306
|
-
4. Enables real-time updates, collaboration, and code generation
|
|
304
|
+
2. Optionally connects to remote drives instead of creating a local drive
|
|
305
|
+
3. Starts Connect Studio pointing to the Switchboard for user interaction (unless disabled)
|
|
306
|
+
4. Enables real-time updates, collaboration, and code generation
|
|
307
307
|
|
|
308
308
|
Options:
|
|
309
|
-
--
|
|
310
|
-
|
|
309
|
+
--logs Enable verbose logging for all services. This provides detailed
|
|
310
|
+
output from Switchboard and Connect during startup and operation.
|
|
311
311
|
|
|
312
|
-
--switchboard-port <port>
|
|
313
|
-
|
|
312
|
+
--switchboard-port <port> Specify the port to use for the Vetra Switchboard service.
|
|
313
|
+
Default is 4001. The Switchboard handles document storage.
|
|
314
314
|
|
|
315
|
-
--
|
|
316
|
-
|
|
315
|
+
--connect-port <port> Specify the port to use for Connect Studio.
|
|
316
|
+
Default is 3000. Connect provides the user interface.
|
|
317
317
|
|
|
318
|
-
--https-key-file <path>
|
|
318
|
+
--https-key-file <path> Path to the SSL key file if using HTTPS for secure connections.
|
|
319
319
|
|
|
320
|
-
--https-cert-file <path>
|
|
320
|
+
--https-cert-file <path> Path to the SSL certificate file if using HTTPS.
|
|
321
321
|
|
|
322
|
-
--config-file <path>
|
|
323
|
-
|
|
322
|
+
--config-file <path> Path to the powerhouse.config.js file. This allows you to
|
|
323
|
+
customize the behavior of the Vetra development environment.
|
|
324
324
|
|
|
325
|
-
-w, --watch
|
|
326
|
-
|
|
325
|
+
-w, --watch Watch for local changes to document models and processors,
|
|
326
|
+
and automatically update the Switchboard accordingly.
|
|
327
327
|
|
|
328
|
-
--remote-drive <url>
|
|
328
|
+
--remote-drive <url> URL of remote drive to connect to. When specified, the switchboard
|
|
329
|
+
connects to this remote drive instead of creating a local Vetra drive.
|
|
329
330
|
|
|
330
|
-
--
|
|
331
|
-
|
|
331
|
+
--disable-connect Skip Connect initialization (only start switchboard and reactor).
|
|
332
|
+
Use this when you only need the backend services running.
|
|
332
333
|
|
|
333
334
|
Examples:
|
|
334
|
-
$ ph vetra
|
|
335
|
-
$ ph vetra --
|
|
336
|
-
$ ph vetra --
|
|
337
|
-
$ ph vetra --
|
|
338
|
-
$ ph vetra --
|
|
339
|
-
$ ph vetra --
|
|
335
|
+
$ ph vetra # Start Vetra environment with defaults
|
|
336
|
+
$ ph vetra --switchboard-port 5000 --connect-port 3001 # Use custom ports
|
|
337
|
+
$ ph vetra --config-file custom.powerhouse.config.js # Use custom configuration
|
|
338
|
+
$ ph vetra --watch # Watch for changes and auto-update
|
|
339
|
+
$ ph vetra --logs # Enable detailed logging
|
|
340
|
+
$ ph vetra --remote-drive http://localhost:4001/d/docs # Connect to remote drive
|
|
341
|
+
$ ph vetra --disable-connect # Start only backend services
|
|
340
342
|
$ ph vetra --https-key-file key.pem --https-cert-file cert.pem # Use HTTPS
|
|
341
343
|
`;
|
|
342
344
|
/**
|
package/dist/src/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/help.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,mCAAmC,EACnC,wBAAwB,GACzB,MAAM,4CAA4C,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkChC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;2EAO2C,uBAAuB;6FACL,mCAAmC;uEACzD,wBAAwB;;CAE9F,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;CAUjC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+D3B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsC1B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC5B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BvB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCtB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/help.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,mCAAmC,EACnC,wBAAwB,GACzB,MAAM,4CAA4C,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkChC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;2EAO2C,uBAAuB;6FACL,mCAAmC;uEACzD,wBAAwB;;CAE9F,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;;;;;;;;;;CAUjC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+D3B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsC1B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwC5B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BvB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCtB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CxB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkC1B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC1B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoC9B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuC1B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CA0B1B,CAAC"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import { type StartServerOptions } from "@powerhousedao/switchboard/server";
|
|
2
|
-
|
|
2
|
+
type SwitchboardOptions = StartServerOptions & {
|
|
3
|
+
remoteDrives?: string[];
|
|
4
|
+
useVetraDrive?: boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare function startSwitchboard(options: SwitchboardOptions): Promise<import("@powerhousedao/switchboard/server").SwitchboardReactor>;
|
|
7
|
+
export {};
|
|
3
8
|
//# sourceMappingURL=switchboard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchboard.d.ts","sourceRoot":"","sources":["../../../src/services/switchboard.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"switchboard.d.ts","sourceRoot":"","sources":["../../../src/services/switchboard.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,mCAAmC,CAAC;AA0C3C,KAAK,kBAAkB,GAAG,kBAAkB,GAAG;IAC7C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,2EAkCjE"}
|
|
@@ -19,14 +19,49 @@ const defaultSwitchboardOptions = {
|
|
|
19
19
|
},
|
|
20
20
|
},
|
|
21
21
|
};
|
|
22
|
+
const defaultVetraSwitchboardOptions = {
|
|
23
|
+
port: 4001,
|
|
24
|
+
dbPath: path.join(process.cwd(), ".ph/read-model.db"),
|
|
25
|
+
drive: {
|
|
26
|
+
id: "vetra",
|
|
27
|
+
slug: "vetra",
|
|
28
|
+
global: {
|
|
29
|
+
name: "Vetra",
|
|
30
|
+
icon: "https://azure-elderly-tortoise-212.mypinata.cloud/ipfs/bafkreiccw6piv55gk6pkbfzlhj2snfsncjz5fmmlue5njsukuaeapffggi",
|
|
31
|
+
},
|
|
32
|
+
preferredEditor: "vetra-drive-app",
|
|
33
|
+
local: {
|
|
34
|
+
availableOffline: true,
|
|
35
|
+
listeners: [],
|
|
36
|
+
sharingType: "public",
|
|
37
|
+
triggers: [],
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
};
|
|
22
41
|
export async function startSwitchboard(options) {
|
|
23
42
|
const baseConfig = getConfig(options.configFile);
|
|
24
43
|
const { https } = baseConfig.reactor ?? { https: false };
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
44
|
+
const { remoteDrives = [], useVetraDrive = false, ...serverOptions } = options;
|
|
45
|
+
// Choose the appropriate default configuration
|
|
46
|
+
const defaultOptions = useVetraDrive
|
|
47
|
+
? defaultVetraSwitchboardOptions
|
|
48
|
+
: defaultSwitchboardOptions;
|
|
49
|
+
// Only include the default drive if no remote drives are provided
|
|
50
|
+
const finalOptions = remoteDrives.length > 0
|
|
51
|
+
? {
|
|
52
|
+
...defaultOptions,
|
|
53
|
+
drive: undefined, // Don't create default drive when syncing with remote
|
|
54
|
+
...serverOptions,
|
|
55
|
+
https,
|
|
56
|
+
remoteDrives,
|
|
57
|
+
}
|
|
58
|
+
: {
|
|
59
|
+
...defaultOptions,
|
|
60
|
+
...serverOptions,
|
|
61
|
+
https,
|
|
62
|
+
remoteDrives,
|
|
63
|
+
};
|
|
64
|
+
const reactor = await startSwitchboardServer(finalOptions);
|
|
30
65
|
return reactor;
|
|
31
66
|
}
|
|
32
67
|
//# sourceMappingURL=switchboard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switchboard.js","sourceRoot":"","sources":["../../../src/services/switchboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAEL,gBAAgB,IAAI,sBAAsB,GAC3C,MAAM,mCAAmC,CAAC;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,yBAAyB,GAAgC;IAC7D,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC;IACrD,KAAK,EAAE;QACL,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE;YACN,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,qEAAqE;SAC5E;QACD,KAAK,EAAE;YACL,gBAAgB,EAAE,IAAI;YACtB,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,EAAE;SACb;KACF;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAA2B;IAChE,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"switchboard.js","sourceRoot":"","sources":["../../../src/services/switchboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAEL,gBAAgB,IAAI,sBAAsB,GAC3C,MAAM,mCAAmC,CAAC;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,yBAAyB,GAAgC;IAC7D,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC;IACrD,KAAK,EAAE;QACL,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE;YACN,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,qEAAqE;SAC5E;QACD,KAAK,EAAE;YACL,gBAAgB,EAAE,IAAI;YACtB,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,EAAE;SACb;KACF;CACF,CAAC;AAEF,MAAM,8BAA8B,GAAgC;IAClE,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC;IACrD,KAAK,EAAE;QACL,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,MAAM,EAAE;YACN,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,oHAAoH;SAC3H;QACD,eAAe,EAAE,iBAAiB;QAClC,KAAK,EAAE;YACL,gBAAgB,EAAE,IAAI;YACtB,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,QAAQ;YACrB,QAAQ,EAAE,EAAE;SACb;KACF;CACF,CAAC;AAOF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAA2B;IAChE,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACjD,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACzD,MAAM,EACJ,YAAY,GAAG,EAAE,EACjB,aAAa,GAAG,KAAK,EACrB,GAAG,aAAa,EACjB,GAAG,OAAO,CAAC;IAEZ,+CAA+C;IAC/C,MAAM,cAAc,GAAG,aAAa;QAClC,CAAC,CAAC,8BAA8B;QAChC,CAAC,CAAC,yBAAyB,CAAC;IAE9B,kEAAkE;IAClE,MAAM,YAAY,GAChB,YAAY,CAAC,MAAM,GAAG,CAAC;QACrB,CAAC,CAAC;YACE,GAAG,cAAc;YACjB,KAAK,EAAE,SAAS,EAAE,sDAAsD;YACxE,GAAG,aAAa;YAChB,KAAK;YACL,YAAY;SACb;QACH,CAAC,CAAC;YACE,GAAG,cAAc;YACjB,GAAG,aAAa;YAChB,KAAK;YACL,YAAY;SACb,CAAC;IAER,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAE3D,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
import { type StartServerOptions as SwitchboardStartServerOptions } from "@powerhousedao/switchboard/server";
|
|
2
1
|
export type DevOptions = {
|
|
3
2
|
generate?: boolean;
|
|
4
3
|
watch?: boolean;
|
|
5
4
|
switchboardPort?: number;
|
|
6
|
-
reactorPort?: number;
|
|
7
5
|
connectPort?: number;
|
|
8
|
-
disableDefaultDrive?: boolean;
|
|
9
6
|
configFile?: string;
|
|
10
7
|
httpsKeyFile?: string;
|
|
11
8
|
httpsCertFile?: string;
|
|
12
9
|
verbose?: boolean;
|
|
13
10
|
remoteDrive?: string;
|
|
11
|
+
disableConnect?: boolean;
|
|
14
12
|
};
|
|
15
|
-
export declare function
|
|
16
|
-
export declare function startVetra({ generate, watch, switchboardPort, reactorPort, connectPort, disableDefaultDrive, configFile, verbose, remoteDrive, }: DevOptions): Promise<void>;
|
|
13
|
+
export declare function startVetra({ generate, watch, switchboardPort, connectPort, configFile, verbose, remoteDrive, disableConnect, }: DevOptions): Promise<void>;
|
|
17
14
|
//# sourceMappingURL=vetra.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vetra.d.ts","sourceRoot":"","sources":["../../../src/services/vetra.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vetra.d.ts","sourceRoot":"","sources":["../../../src/services/vetra.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAoIF,wBAAsB,UAAU,CAAC,EAC/B,QAAQ,EACR,KAAK,EACL,eAA4C,EAC5C,WAAW,EACX,UAAU,EACV,OAAe,EACf,WAAW,EACX,cAAsB,GACvB,EAAE,UAAU,iBA+CZ"}
|
|
@@ -1,59 +1,42 @@
|
|
|
1
1
|
import { getConfig } from "@powerhousedao/config/utils";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { blue, green, red } from "colorette";
|
|
3
|
+
import { setLogLevel } from "document-drive/utils/logger";
|
|
4
4
|
import { fork } from "node:child_process";
|
|
5
5
|
import path, { dirname } from "node:path";
|
|
6
6
|
import { fileURLToPath } from "node:url";
|
|
7
7
|
import { DefaultReactorOptions } from "./reactor.js";
|
|
8
8
|
const __dirname = import.meta.dirname || dirname(fileURLToPath(import.meta.url));
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
dbPath: path.join(process.cwd(), ".ph/read-model.db"),
|
|
12
|
-
dev: true,
|
|
13
|
-
drive: {
|
|
14
|
-
id: "vetra",
|
|
15
|
-
slug: "vetra",
|
|
16
|
-
global: {
|
|
17
|
-
name: "Vetra",
|
|
18
|
-
icon: "https://azure-elderly-tortoise-212.mypinata.cloud/ipfs/bafkreiccw6piv55gk6pkbfzlhj2snfsncjz5fmmlue5njsukuaeapffggi",
|
|
19
|
-
},
|
|
20
|
-
preferredEditor: "vetra-drive-app",
|
|
21
|
-
local: {
|
|
22
|
-
availableOffline: true,
|
|
23
|
-
listeners: [],
|
|
24
|
-
sharingType: "public",
|
|
25
|
-
triggers: [],
|
|
26
|
-
},
|
|
27
|
-
},
|
|
28
|
-
};
|
|
29
|
-
export async function startVetraSwitchboard(options) {
|
|
30
|
-
const baseConfig = getConfig(options.configFile);
|
|
9
|
+
async function startLocalVetraSwitchboard(options, remoteDrive) {
|
|
10
|
+
const baseConfig = getConfig(options?.configFile);
|
|
31
11
|
const { https } = baseConfig.reactor ?? { https: false };
|
|
32
|
-
const switchboard = await startSwitchboardServer({
|
|
33
|
-
...defaultVetraSwitchboardOptions,
|
|
34
|
-
...options,
|
|
35
|
-
https,
|
|
36
|
-
mcp: true,
|
|
37
|
-
});
|
|
38
|
-
return switchboard;
|
|
39
|
-
}
|
|
40
|
-
async function spawnLocalVetraSwitchboard(options) {
|
|
41
|
-
// Instead of spawning, let's start the switchboard directly
|
|
42
|
-
// and simulate the spawn interface
|
|
43
12
|
try {
|
|
44
|
-
const { port: rawPort, configFile, verbose = false,
|
|
13
|
+
const { port: rawPort, configFile, verbose = false, dev, dbPath, packages, } = options || {};
|
|
45
14
|
const port = typeof rawPort === "string"
|
|
46
15
|
? parseInt(rawPort)
|
|
47
16
|
: typeof rawPort === "number"
|
|
48
17
|
? rawPort
|
|
49
18
|
: 4001;
|
|
50
|
-
|
|
19
|
+
// Convert single remote drive to array if provided
|
|
20
|
+
const remoteDrives = remoteDrive ? [remoteDrive] : undefined;
|
|
21
|
+
// Use the same switchboard service as the standalone command
|
|
22
|
+
const Switchboard = await import("./switchboard.js");
|
|
23
|
+
const { startSwitchboard } = Switchboard;
|
|
24
|
+
const switchboard = await startSwitchboard({
|
|
51
25
|
port,
|
|
52
26
|
configFile: configFile || undefined,
|
|
53
|
-
|
|
27
|
+
dev,
|
|
28
|
+
dbPath,
|
|
29
|
+
packages,
|
|
30
|
+
remoteDrives,
|
|
31
|
+
useVetraDrive: true, // Use Vetra drive instead of Powerhouse drive
|
|
32
|
+
https,
|
|
33
|
+
mcp: true,
|
|
54
34
|
});
|
|
55
35
|
if (verbose) {
|
|
56
36
|
console.log(blue(`[Vetra Switchboard]: Started successfully`));
|
|
37
|
+
if (remoteDrive) {
|
|
38
|
+
console.log(blue(`[Vetra Switchboard]: Syncing with remote drive: ${remoteDrive}`));
|
|
39
|
+
}
|
|
57
40
|
}
|
|
58
41
|
else {
|
|
59
42
|
console.log(`Switchboard initialized`);
|
|
@@ -66,53 +49,6 @@ async function spawnLocalVetraSwitchboard(options) {
|
|
|
66
49
|
throw error instanceof Error ? error : new Error(String(error));
|
|
67
50
|
}
|
|
68
51
|
}
|
|
69
|
-
function spawnLocalReactor(options, remoteDrives) {
|
|
70
|
-
const { verbose = false, ...reactorOptions } = options || {};
|
|
71
|
-
const finalOptions = {
|
|
72
|
-
...reactorOptions,
|
|
73
|
-
remoteDrives: remoteDrives || "",
|
|
74
|
-
mcp: false,
|
|
75
|
-
};
|
|
76
|
-
const child = fork(path.join(dirname(__dirname), "commands", "reactor.js"), ["spawn", JSON.stringify(finalOptions)], { silent: true });
|
|
77
|
-
return new Promise((resolve) => {
|
|
78
|
-
child.on("message", (message) => {
|
|
79
|
-
// eslint-disable-next-line @typescript-eslint/no-base-to-string
|
|
80
|
-
const text = message.toString();
|
|
81
|
-
if (text.startsWith("reactorUrl:")) {
|
|
82
|
-
const reactorUrl = text.substring("reactorUrl:".length);
|
|
83
|
-
resolve({ reactorUrl });
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
child.stdout.on("data", (data) => {
|
|
87
|
-
const message = data.toString();
|
|
88
|
-
const lines = message.split("\n").filter((line) => line.trim().length);
|
|
89
|
-
for (const line of lines) {
|
|
90
|
-
if (verbose) {
|
|
91
|
-
process.stdout.write(cyan(`[Reactor]: ${line}\n`));
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
// Only show specific logs when not verbose
|
|
95
|
-
if (line.includes("🔄") ||
|
|
96
|
-
line.includes("✅") ||
|
|
97
|
-
line.includes("❌")) {
|
|
98
|
-
process.stdout.write(cyan(`[Codegen]: ${line}\n`));
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
child.stderr.on("error", (data) => {
|
|
104
|
-
process.stderr.write(red(`[Reactor]: ${data.toString()}`));
|
|
105
|
-
});
|
|
106
|
-
child.on("error", (err) => {
|
|
107
|
-
process.stderr.write(red(`[Reactor]: ${err}`));
|
|
108
|
-
});
|
|
109
|
-
child.on("exit", (code) => {
|
|
110
|
-
if (verbose) {
|
|
111
|
-
console.log(`Reactor process exited with code ${code}`);
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
52
|
async function spawnConnect(options, localReactorUrl) {
|
|
117
53
|
const { verbose = false, connectPort, ...connectOptions } = options || {};
|
|
118
54
|
const finalOptions = connectPort
|
|
@@ -161,54 +97,40 @@ async function spawnConnect(options, localReactorUrl) {
|
|
|
161
97
|
});
|
|
162
98
|
});
|
|
163
99
|
}
|
|
164
|
-
export async function startVetra({ generate, watch, switchboardPort = DefaultReactorOptions.port,
|
|
100
|
+
export async function startVetra({ generate, watch, switchboardPort = DefaultReactorOptions.port, connectPort, configFile, verbose = false, remoteDrive, disableConnect = false, }) {
|
|
165
101
|
try {
|
|
102
|
+
// Set default log level to info if not already specified
|
|
103
|
+
if (!process.env.LOG_LEVEL) {
|
|
104
|
+
setLogLevel("info");
|
|
105
|
+
}
|
|
166
106
|
const baseConfig = getConfig(configFile);
|
|
167
107
|
const https = baseConfig.reactor?.https;
|
|
168
|
-
|
|
169
|
-
if (remoteDrive) {
|
|
170
|
-
// Use provided remote drive URL, skip switchboard
|
|
171
|
-
driveUrl = remoteDrive;
|
|
172
|
-
if (verbose) {
|
|
173
|
-
console.log(`Using remote drive: ${remoteDrive}`);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
else {
|
|
177
|
-
// Start Vetra Switchboard
|
|
178
|
-
if (verbose) {
|
|
179
|
-
console.log("Starting Vetra Switchboard...");
|
|
180
|
-
}
|
|
181
|
-
const switchboardResult = await spawnLocalVetraSwitchboard({
|
|
182
|
-
generate,
|
|
183
|
-
port: switchboardPort,
|
|
184
|
-
watch,
|
|
185
|
-
https,
|
|
186
|
-
configFile,
|
|
187
|
-
verbose,
|
|
188
|
-
});
|
|
189
|
-
driveUrl = switchboardResult.driveUrl;
|
|
190
|
-
}
|
|
108
|
+
// Always start Vetra Switchboard
|
|
191
109
|
if (verbose) {
|
|
192
|
-
console.log("Starting
|
|
110
|
+
console.log("Starting Vetra Switchboard...");
|
|
193
111
|
}
|
|
194
|
-
await
|
|
112
|
+
const switchboardResult = await startLocalVetraSwitchboard({
|
|
195
113
|
generate,
|
|
196
|
-
port:
|
|
114
|
+
port: switchboardPort,
|
|
197
115
|
watch,
|
|
198
116
|
https,
|
|
199
|
-
disableDefaultDrive,
|
|
200
117
|
configFile,
|
|
201
|
-
processors: ["ph/codegen/processor"],
|
|
202
118
|
verbose,
|
|
203
|
-
},
|
|
204
|
-
|
|
119
|
+
}, remoteDrive);
|
|
120
|
+
const driveUrl = remoteDrive || switchboardResult.driveUrl;
|
|
205
121
|
if (verbose) {
|
|
206
|
-
console.log("Starting
|
|
207
|
-
|
|
122
|
+
console.log("Starting Codegen Reactor...");
|
|
123
|
+
}
|
|
124
|
+
// Start Connect pointing to the drive (unless disabled)
|
|
125
|
+
if (!disableConnect) {
|
|
126
|
+
if (verbose) {
|
|
127
|
+
console.log("Starting Connect...");
|
|
128
|
+
console.log(` ➜ Connect will use drive: ${driveUrl}`);
|
|
129
|
+
}
|
|
130
|
+
await spawnConnect(connectPort
|
|
131
|
+
? { configFile, verbose, connectPort }
|
|
132
|
+
: { configFile, verbose }, driveUrl);
|
|
208
133
|
}
|
|
209
|
-
await spawnConnect(connectPort
|
|
210
|
-
? { configFile, verbose, connectPort }
|
|
211
|
-
: { configFile, verbose }, driveUrl);
|
|
212
134
|
}
|
|
213
135
|
catch (error) {
|
|
214
136
|
console.error(error);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vetra.js","sourceRoot":"","sources":["../../../src/services/vetra.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,
|
|
1
|
+
{"version":3,"file":"vetra.js","sourceRoot":"","sources":["../../../src/services/vetra.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAuC,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAuB,MAAM,cAAc,CAAC;AAE1E,MAAM,SAAS,GACb,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAejE,KAAK,UAAU,0BAA0B,CACvC,OAAgD,EAChD,WAAoB;IAEpB,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAEzD,IAAI,CAAC;QACH,MAAM,EACJ,IAAI,EAAE,OAAO,EACb,UAAU,EACV,OAAO,GAAG,KAAK,EACf,GAAG,EACH,MAAM,EACN,QAAQ,GACT,GAAG,OAAO,IAAI,EAAE,CAAC;QAElB,MAAM,IAAI,GACR,OAAO,OAAO,KAAK,QAAQ;YACzB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YACnB,CAAC,CAAC,OAAO,OAAO,KAAK,QAAQ;gBAC3B,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,IAAI,CAAC;QAEb,mDAAmD;QACnD,MAAM,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE7D,6DAA6D;QAC7D,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACrD,MAAM,EAAE,gBAAgB,EAAE,GAAG,WAAW,CAAC;QAEzC,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC;YACzC,IAAI;YACJ,UAAU,EAAE,UAAU,IAAI,SAAS;YACnC,GAAG;YACH,MAAM;YACN,QAAQ;YACR,YAAY;YACZ,aAAa,EAAE,IAAI,EAAE,8CAA8C;YACnE,KAAK;YACL,GAAG,EAAE,IAAI;SACV,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;YAC/D,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,GAAG,CACT,IAAI,CACF,mDAAmD,WAAW,EAAE,CACjE,CACF,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,CAAC,eAAe,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;IACzD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,GAAG,CACD,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACjF,CACF,CAAC;QACF,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,OAA4E,EAC5E,eAAwB;IAExB,MAAM,EAAE,OAAO,GAAG,KAAK,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAE1E,MAAM,YAAY,GAAG,WAAW;QAC9B,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE;QACrD,CAAC,CAAC,cAAc,CAAC;IAEnB,MAAM,KAAK,GAAG,IAAI,CAChB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,YAAY,CAAC,EACvD,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,EACvC;QACE,MAAM,EAAE,IAAI;QACZ,GAAG,EAAE;YACH,GAAG,OAAO,CAAC,GAAG;YACd,6BAA6B,EAAE,eAAe;SAC/C;KACF,CACgC,CAAC;IAEpC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAE/B,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;YAEvE,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,OAAO,EAAE,CAAC;gBACV,kBAAkB,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACN,oDAAoD;oBACpD,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;wBAC/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;YACvC,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAC/B,QAAQ,EACR,KAAK,EACL,eAAe,GAAG,qBAAqB,CAAC,IAAI,EAC5C,WAAW,EACX,UAAU,EACV,OAAO,GAAG,KAAK,EACf,WAAW,EACX,cAAc,GAAG,KAAK,GACX;IACX,IAAI,CAAC;QACH,yDAAyD;QACzD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;YAC3B,WAAW,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAED,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC;QAExC,iCAAiC;QACjC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC/C,CAAC;QACD,MAAM,iBAAiB,GAAG,MAAM,0BAA0B,CACxD;YACE,QAAQ;YACR,IAAI,EAAE,eAAe;YACrB,KAAK;YACL,KAAK;YACL,UAAU;YACV,OAAO;SACR,EACD,WAAW,CACZ,CAAC;QACF,MAAM,QAAQ,GAAG,WAAW,IAAI,iBAAiB,CAAC,QAAQ,CAAC;QAE3D,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAC7C,CAAC;QAED,wDAAwD;QACxD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,gCAAgC,QAAQ,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,MAAM,YAAY,CAChB,WAAW;gBACT,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE;gBACtC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,EAC3B,QAAQ,CACT,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
|