@powerhousedao/ph-cli 4.1.0-dev.12 → 4.1.0-dev.120

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.
Files changed (132) hide show
  1. package/README.md +21 -4
  2. package/dist/src/cli.js +14 -1
  3. package/dist/src/cli.js.map +1 -1
  4. package/dist/src/commands/connect.d.ts +17 -6
  5. package/dist/src/commands/connect.d.ts.map +1 -1
  6. package/dist/src/commands/connect.js +56 -36
  7. package/dist/src/commands/connect.js.map +1 -1
  8. package/dist/src/commands/generate.d.ts +4 -4
  9. package/dist/src/commands/generate.d.ts.map +1 -1
  10. package/dist/src/commands/generate.js +6 -3
  11. package/dist/src/commands/generate.js.map +1 -1
  12. package/dist/src/commands/help.d.ts +1 -1
  13. package/dist/src/commands/help.d.ts.map +1 -1
  14. package/dist/src/commands/index.d.ts +11 -4
  15. package/dist/src/commands/index.d.ts.map +1 -1
  16. package/dist/src/commands/index.js +11 -29
  17. package/dist/src/commands/index.js.map +1 -1
  18. package/dist/src/commands/inspect.d.ts +3 -3
  19. package/dist/src/commands/inspect.d.ts.map +1 -1
  20. package/dist/src/commands/install.d.ts +2 -3
  21. package/dist/src/commands/install.d.ts.map +1 -1
  22. package/dist/src/commands/install.js.map +1 -1
  23. package/dist/src/commands/list.d.ts +2 -2
  24. package/dist/src/commands/list.d.ts.map +1 -1
  25. package/dist/src/commands/list.js +1 -1
  26. package/dist/src/commands/list.js.map +1 -1
  27. package/dist/src/commands/migrate.d.ts +3 -0
  28. package/dist/src/commands/migrate.d.ts.map +1 -0
  29. package/dist/src/commands/migrate.js +8 -0
  30. package/dist/src/commands/migrate.js.map +1 -0
  31. package/dist/src/commands/register-commands.d.ts +5 -0
  32. package/dist/src/commands/register-commands.d.ts.map +1 -0
  33. package/dist/src/commands/register-commands.js +28 -0
  34. package/dist/src/commands/register-commands.js.map +1 -0
  35. package/dist/src/commands/service.d.ts +2 -2
  36. package/dist/src/commands/service.d.ts.map +1 -1
  37. package/dist/src/commands/service.js.map +1 -1
  38. package/dist/src/commands/switchboard.d.ts +6 -6
  39. package/dist/src/commands/switchboard.d.ts.map +1 -1
  40. package/dist/src/commands/switchboard.js +16 -7
  41. package/dist/src/commands/switchboard.js.map +1 -1
  42. package/dist/src/commands/uninstall.d.ts +3 -3
  43. package/dist/src/commands/uninstall.d.ts.map +1 -1
  44. package/dist/src/commands/uninstall.js.map +1 -1
  45. package/dist/src/commands/vetra.d.ts +4 -3
  46. package/dist/src/commands/vetra.d.ts.map +1 -1
  47. package/dist/src/commands/vetra.js +11 -6
  48. package/dist/src/commands/vetra.js.map +1 -1
  49. package/dist/src/help.d.ts +6 -6
  50. package/dist/src/help.d.ts.map +1 -1
  51. package/dist/src/help.js +131 -61
  52. package/dist/src/help.js.map +1 -1
  53. package/dist/src/index.d.ts +2 -0
  54. package/dist/src/index.d.ts.map +1 -1
  55. package/dist/src/index.js +2 -0
  56. package/dist/src/index.js.map +1 -1
  57. package/dist/src/services/connect.d.ts +1 -3
  58. package/dist/src/services/connect.d.ts.map +1 -1
  59. package/dist/src/services/connect.js +1 -15
  60. package/dist/src/services/connect.js.map +1 -1
  61. package/dist/src/services/generate.d.ts +8 -0
  62. package/dist/src/services/generate.d.ts.map +1 -1
  63. package/dist/src/services/generate.js +25 -4
  64. package/dist/src/services/generate.js.map +1 -1
  65. package/dist/src/services/migrate/migrate.d.ts +3 -0
  66. package/dist/src/services/migrate/migrate.d.ts.map +1 -0
  67. package/dist/src/services/migrate/migrate.js +282 -0
  68. package/dist/src/services/migrate/migrate.js.map +1 -0
  69. package/dist/src/services/migrate/migrations/templates/document-models.d.ts +2 -0
  70. package/dist/src/services/migrate/migrations/templates/document-models.d.ts.map +1 -0
  71. package/dist/src/services/migrate/migrations/templates/document-models.js +6 -0
  72. package/dist/src/services/migrate/migrations/templates/document-models.js.map +1 -0
  73. package/dist/src/services/migrate/migrations/templates/editors.d.ts +2 -0
  74. package/dist/src/services/migrate/migrations/templates/editors.d.ts.map +1 -0
  75. package/dist/src/services/migrate/migrations/templates/editors.js +6 -0
  76. package/dist/src/services/migrate/migrations/templates/editors.js.map +1 -0
  77. package/dist/src/services/migrate/migrations/templates/index.d.ts +2 -0
  78. package/dist/src/services/migrate/migrations/templates/index.d.ts.map +1 -0
  79. package/dist/src/services/migrate/migrations/templates/index.js +7 -0
  80. package/dist/src/services/migrate/migrations/templates/index.js.map +1 -0
  81. package/dist/src/services/migrate/migrations/templates/packageJson.d.ts +55 -0
  82. package/dist/src/services/migrate/migrations/templates/packageJson.d.ts.map +1 -0
  83. package/dist/src/services/migrate/migrations/templates/packageJson.js +55 -0
  84. package/dist/src/services/migrate/migrations/templates/packageJson.js.map +1 -0
  85. package/dist/src/services/migrate/migrations/templates/tsConfig.d.ts +2 -0
  86. package/dist/src/services/migrate/migrations/templates/tsConfig.d.ts.map +1 -0
  87. package/dist/src/services/migrate/migrations/templates/tsConfig.js +45 -0
  88. package/dist/src/services/migrate/migrations/templates/tsConfig.js.map +1 -0
  89. package/dist/src/services/switchboard.d.ts +37 -2
  90. package/dist/src/services/switchboard.d.ts.map +1 -1
  91. package/dist/src/services/switchboard.js +46 -8
  92. package/dist/src/services/switchboard.js.map +1 -1
  93. package/dist/src/services/vetra.d.ts +4 -6
  94. package/dist/src/services/vetra.d.ts.map +1 -1
  95. package/dist/src/services/vetra.js +128 -166
  96. package/dist/src/services/vetra.js.map +1 -1
  97. package/dist/src/utils/configure-vetra-github-url.d.ts +12 -0
  98. package/dist/src/utils/configure-vetra-github-url.d.ts.map +1 -0
  99. package/dist/src/utils/configure-vetra-github-url.js +230 -0
  100. package/dist/src/utils/configure-vetra-github-url.js.map +1 -0
  101. package/dist/src/utils.d.ts +11 -4
  102. package/dist/src/utils.d.ts.map +1 -1
  103. package/dist/src/utils.js +18 -14
  104. package/dist/src/utils.js.map +1 -1
  105. package/dist/src/version.d.ts +1 -1
  106. package/dist/src/version.d.ts.map +1 -1
  107. package/dist/src/version.js +1 -1
  108. package/dist/src/version.js.map +1 -1
  109. package/dist/test/utils.test.d.ts +2 -0
  110. package/dist/test/utils.test.d.ts.map +1 -0
  111. package/dist/test/utils.test.js +132 -0
  112. package/dist/test/utils.test.js.map +1 -0
  113. package/dist/tsconfig.tsbuildinfo +1 -0
  114. package/package.json +19 -21
  115. package/dist/package.json +0 -58
  116. package/dist/src/commands/dev.d.ts +0 -6
  117. package/dist/src/commands/dev.d.ts.map +0 -1
  118. package/dist/src/commands/dev.js +0 -25
  119. package/dist/src/commands/dev.js.map +0 -1
  120. package/dist/src/commands/reactor.d.ts +0 -9
  121. package/dist/src/commands/reactor.d.ts.map +0 -1
  122. package/dist/src/commands/reactor.js +0 -42
  123. package/dist/src/commands/reactor.js.map +0 -1
  124. package/dist/src/services/dev.d.ts +0 -10
  125. package/dist/src/services/dev.d.ts.map +0 -1
  126. package/dist/src/services/dev.js +0 -75
  127. package/dist/src/services/dev.js.map +0 -1
  128. package/dist/src/services/reactor.d.ts +0 -35
  129. package/dist/src/services/reactor.d.ts.map +0 -1
  130. package/dist/src/services/reactor.js +0 -92
  131. package/dist/src/services/reactor.js.map +0 -1
  132. package/dist/tsconfig.lib.tsbuildinfo +0 -1
@@ -1,7 +1,7 @@
1
- import { getConfig } from "@powerhousedao/config/utils";
2
- import { startSwitchboard as startSwitchboardServer, } from "@powerhousedao/switchboard/server";
1
+ import { getConfig } from "@powerhousedao/config/node";
2
+ import { startSwitchboard as startSwitchboardServer } from "@powerhousedao/switchboard/server";
3
3
  import path from "node:path";
4
- const defaultSwitchboardOptions = {
4
+ export const defaultSwitchboardOptions = {
5
5
  port: 4001,
6
6
  dbPath: path.join(process.cwd(), ".ph/read-model.db"),
7
7
  drive: {
@@ -18,15 +18,53 @@ const defaultSwitchboardOptions = {
18
18
  triggers: [],
19
19
  },
20
20
  },
21
+ mcp: true,
21
22
  };
23
+ function getDefaultVetraSwitchboardOptions(vetraDriveId) {
24
+ return {
25
+ port: 4001,
26
+ dbPath: path.join(process.cwd(), ".ph/read-model.db"),
27
+ drive: {
28
+ id: vetraDriveId,
29
+ slug: vetraDriveId,
30
+ global: {
31
+ name: "Vetra",
32
+ icon: "https://azure-elderly-tortoise-212.mypinata.cloud/ipfs/bafkreibf2xokjqqtomqjd2w2xxmmhvogq4262csevclxh6sbrjgmjfre5u",
33
+ },
34
+ preferredEditor: "vetra-drive-app",
35
+ local: {
36
+ availableOffline: true,
37
+ listeners: [],
38
+ sharingType: "public",
39
+ triggers: [],
40
+ },
41
+ },
42
+ };
43
+ }
22
44
  export async function startSwitchboard(options) {
23
45
  const baseConfig = getConfig(options.configFile);
24
46
  const { https } = baseConfig.reactor ?? { https: false };
25
- const reactor = await startSwitchboardServer({
26
- ...defaultSwitchboardOptions,
27
- ...options,
28
- https,
29
- });
47
+ const { remoteDrives = [], useVetraDrive = false, vetraDriveId = "vetra", ...serverOptions } = options;
48
+ // Choose the appropriate default configuration
49
+ const defaultOptions = useVetraDrive
50
+ ? getDefaultVetraSwitchboardOptions(vetraDriveId)
51
+ : defaultSwitchboardOptions;
52
+ // Only include the default drive if no remote drives are provided
53
+ const finalOptions = remoteDrives.length > 0
54
+ ? {
55
+ ...defaultOptions,
56
+ drive: undefined, // Don't create default drive when syncing with remote
57
+ ...serverOptions,
58
+ https,
59
+ remoteDrives,
60
+ }
61
+ : {
62
+ ...defaultOptions,
63
+ ...serverOptions,
64
+ https,
65
+ remoteDrives,
66
+ };
67
+ const reactor = await startSwitchboardServer(finalOptions);
30
68
  return reactor;
31
69
  }
32
70
  //# 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;IAEjD,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAEzD,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC;QAC3C,GAAG,yBAAyB;QAC5B,GAAG,OAAO;QACV,KAAK;KACN,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"switchboard.js","sourceRoot":"","sources":["../../../src/services/switchboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAE,gBAAgB,IAAI,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC/F,OAAO,IAAI,MAAM,WAAW,CAAC;AAa7B,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,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;IACD,GAAG,EAAE,IAAI;CACmB,CAAC;AAE/B,SAAS,iCAAiC,CACxC,YAAoB;IAEpB,OAAO;QACL,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,mBAAmB,CAAC;QACrD,KAAK,EAAE;YACL,EAAE,EAAE,YAAY;YAChB,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,oHAAoH;aAC3H;YACD,eAAe,EAAE,iBAAiB;YAClC,KAAK,EAAE;gBACL,gBAAgB,EAAE,IAAI;gBACtB,SAAS,EAAE,EAAE;gBACb,WAAW,EAAE,QAAQ;gBACrB,QAAQ,EAAE,EAAE;aACb;SACF;KACF,CAAC;AACJ,CAAC;AAQD,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,YAAY,GAAG,OAAO,EACtB,GAAG,aAAa,EACjB,GAAG,OAAO,CAAC;IAEZ,+CAA+C;IAC/C,MAAM,cAAc,GAAG,aAAa;QAClC,CAAC,CAAC,iCAAiC,CAAC,YAAY,CAAC;QACjD,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,15 @@
1
- import { type StartServerOptions as SwitchboardStartServerOptions } from "@powerhousedao/switchboard/server";
2
1
  export type DevOptions = {
3
2
  generate?: boolean;
4
- watch?: boolean;
5
3
  switchboardPort?: number;
6
- reactorPort?: number;
7
4
  connectPort?: number;
8
- disableDefaultDrive?: boolean;
9
5
  configFile?: string;
10
6
  httpsKeyFile?: string;
11
7
  httpsCertFile?: string;
12
8
  verbose?: boolean;
13
9
  remoteDrive?: string;
10
+ disableConnect?: boolean;
11
+ interactive?: boolean;
12
+ watch?: boolean;
14
13
  };
15
- export declare function startVetraSwitchboard(options: SwitchboardStartServerOptions): Promise<import("@powerhousedao/switchboard/server").SwitchboardReactor>;
16
- export declare function startVetra({ generate, watch, switchboardPort, reactorPort, connectPort, disableDefaultDrive, configFile, verbose, remoteDrive, }: DevOptions): Promise<void>;
14
+ export declare function startVetra({ generate, switchboardPort, connectPort, configFile, verbose, remoteDrive, disableConnect, interactive, watch, }: DevOptions): Promise<void>;
17
15
  //# sourceMappingURL=vetra.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vetra.d.ts","sourceRoot":"","sources":["../../../src/services/vetra.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,kBAAkB,IAAI,6BAA6B,EACzD,MAAM,mCAAmC,CAAC;AAU3C,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,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,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;CACtB,CAAC;AAsBF,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,6BAA6B,2EAavC;AAwKD,wBAAsB,UAAU,CAAC,EAC/B,QAAQ,EACR,KAAK,EACL,eAA4C,EAC5C,WAA4C,EAC5C,WAAW,EACX,mBAA0B,EAC1B,UAAU,EACV,OAAe,EACf,WAAW,GACZ,EAAE,UAAU,iBA4DZ"}
1
+ {"version":3,"file":"vetra.d.ts","sourceRoot":"","sources":["../../../src/services/vetra.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,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;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAkJF,wBAAsB,UAAU,CAAC,EAC/B,QAAQ,EACR,eAAe,EACf,WAAW,EACX,UAAU,EACV,OAAe,EACf,WAAW,EACX,cAAsB,EACtB,WAAmB,EACnB,KAAa,GACd,EAAE,UAAU,iBAwFZ"}
@@ -1,211 +1,173 @@
1
- import { getConfig } from "@powerhousedao/config/utils";
2
- import { startSwitchboard as startSwitchboardServer, } from "@powerhousedao/switchboard/server";
3
- import { blue, cyan, green, red } from "colorette";
4
- import { fork } from "node:child_process";
5
- import path, { dirname } from "node:path";
6
- import { fileURLToPath } from "node:url";
7
- import { DefaultReactorOptions } from "./reactor.js";
8
- const __dirname = import.meta.dirname || dirname(fileURLToPath(import.meta.url));
9
- const defaultVetraSwitchboardOptions = {
10
- port: 4001,
11
- dbPath: path.join(process.cwd(), ".ph/read-model.db"),
12
- drive: {
13
- id: "vetra",
14
- slug: "vetra",
1
+ import { VETRA_PROCESSOR_CONFIG_KEY } from "@powerhousedao/config";
2
+ import { getConfig } from "@powerhousedao/config/node";
3
+ import { blue, red } from "colorette";
4
+ import { setLogLevel } from "document-drive";
5
+ import { generateProjectDriveId } from "../utils.js";
6
+ import { configureVetraGithubUrl, sleep, } from "../utils/configure-vetra-github-url.js";
7
+ import { startConnectStudio } from "./connect.js";
8
+ import { defaultSwitchboardOptions } from "./switchboard.js";
9
+ const VETRA_DRIVE_NAME = "vetra";
10
+ const getDefaultVetraUrl = (port) => `http://localhost:${port}/d/${generateProjectDriveId(VETRA_DRIVE_NAME)}`;
11
+ const getDriveId = (driveUrl) => driveUrl?.split("/").pop() ?? generateProjectDriveId(VETRA_DRIVE_NAME);
12
+ async function startVetraPreviewDrive(reactor, port, verbose) {
13
+ const previewDriveId = generateProjectDriveId("preview");
14
+ const previewDrive = {
15
+ id: previewDriveId,
16
+ slug: previewDriveId,
15
17
  global: {
16
- name: "Vetra",
17
- icon: "https://azure-elderly-tortoise-212.mypinata.cloud/ipfs/bafkreiccw6piv55gk6pkbfzlhj2snfsncjz5fmmlue5njsukuaeapffggi",
18
+ name: "Vetra Preview",
19
+ icon: "https://azure-elderly-tortoise-212.mypinata.cloud/ipfs/bafkreifddkbopiyvcirf7vaqar74th424r5phlxkdxniirdyg3qgu2ajha",
18
20
  },
19
- preferredEditor: "vetra-drive-app",
20
21
  local: {
21
22
  availableOffline: true,
22
23
  listeners: [],
23
24
  sharingType: "public",
24
25
  triggers: [],
25
26
  },
26
- },
27
- };
28
- export async function startVetraSwitchboard(options) {
29
- const baseConfig = getConfig(options.configFile);
30
- const { https } = baseConfig.reactor ?? { https: false };
31
- const switchboard = await startSwitchboardServer({
32
- ...defaultVetraSwitchboardOptions,
33
- ...options,
34
- https,
35
- });
36
- return switchboard;
27
+ };
28
+ try {
29
+ await reactor.addDrive(previewDrive);
30
+ if (verbose) {
31
+ console.log(blue(`[Vetra Switchboard]: Preview drive created: ${previewDriveId}`));
32
+ }
33
+ }
34
+ catch {
35
+ // Drive might already exist, which is fine
36
+ if (verbose) {
37
+ console.log(blue(`[Vetra Switchboard]: Preview drive already exists: ${previewDriveId}`));
38
+ }
39
+ }
40
+ return `http://localhost:${port}/d/${previewDriveId}`;
37
41
  }
38
- async function spawnLocalVetraSwitchboard(options) {
39
- // Instead of spawning, let's start the switchboard directly
40
- // and simulate the spawn interface
42
+ async function startLocalVetraSwitchboard(options, remoteDrive) {
43
+ const baseConfig = getConfig(options?.configFile);
44
+ const { https } = baseConfig.reactor ?? { https: false };
41
45
  try {
42
- const { port: rawPort, configFile, verbose = false, ...restOptions } = options || {};
46
+ const { port: rawPort, configFile, verbose = false, dev, dbPath, packages, } = options || {};
43
47
  const port = typeof rawPort === "string"
44
48
  ? parseInt(rawPort)
45
49
  : typeof rawPort === "number"
46
50
  ? rawPort
47
51
  : 4001;
48
- const switchboard = await startVetraSwitchboard({
52
+ // Convert single remote drive to array if provided
53
+ const remoteDrives = remoteDrive ? [remoteDrive] : undefined;
54
+ // Use the same switchboard service as the standalone command
55
+ const Switchboard = await import("./switchboard.js");
56
+ const { startSwitchboard } = Switchboard;
57
+ const vetraProcessorConfig = {
58
+ interactive: options?.interactiveCodegen,
59
+ driveUrl: remoteDrive ?? getDefaultVetraUrl(port),
60
+ driveId: getDriveId(remoteDrive),
61
+ };
62
+ const processorConfig = new Map();
63
+ processorConfig.set(VETRA_PROCESSOR_CONFIG_KEY, vetraProcessorConfig);
64
+ const vetraDriveId = generateProjectDriveId(VETRA_DRIVE_NAME);
65
+ const switchboard = await startSwitchboard({
49
66
  port,
50
67
  configFile: configFile || undefined,
51
- ...restOptions,
68
+ dev,
69
+ dbPath,
70
+ packages,
71
+ remoteDrives,
72
+ useVetraDrive: true, // Use Vetra drive instead of Powerhouse drive
73
+ vetraDriveId,
74
+ https,
75
+ mcp: true,
76
+ processorConfig,
77
+ disableLocalPackages: !options?.watch,
52
78
  });
79
+ // Add preview drive (only in watch mode)
80
+ let previewDriveUrl = null;
81
+ if (options?.watch) {
82
+ previewDriveUrl = await startVetraPreviewDrive(switchboard.reactor, port, verbose);
83
+ }
53
84
  if (verbose) {
54
85
  console.log(blue(`[Vetra Switchboard]: Started successfully`));
86
+ if (remoteDrive) {
87
+ console.log(blue(`[Vetra Switchboard]: Syncing with remote drive: ${remoteDrive}`));
88
+ }
55
89
  }
56
90
  else {
57
91
  console.log(`Switchboard initialized`);
58
92
  console.log(` ➜ Drive URL: ${switchboard.defaultDriveUrl}`);
59
93
  }
60
- return { driveUrl: switchboard.defaultDriveUrl || "" };
94
+ return {
95
+ driveUrl: switchboard.defaultDriveUrl || "",
96
+ previewDriveUrl: previewDriveUrl,
97
+ };
61
98
  }
62
99
  catch (error) {
63
100
  console.error(red(`[Vetra Switchboard]: ${error instanceof Error ? error.message : String(error)}`));
64
101
  throw error instanceof Error ? error : new Error(String(error));
65
102
  }
66
103
  }
67
- function spawnLocalReactor(options, remoteDrives) {
68
- const { verbose = false, ...reactorOptions } = options || {};
69
- const finalOptions = {
70
- ...reactorOptions,
71
- remoteDrives: remoteDrives || "",
72
- };
73
- const child = fork(path.join(dirname(__dirname), "commands", "reactor.js"), ["spawn", JSON.stringify(finalOptions)], { silent: true });
74
- return new Promise((resolve) => {
75
- child.on("message", (message) => {
76
- // eslint-disable-next-line @typescript-eslint/no-base-to-string
77
- const text = message.toString();
78
- if (text.startsWith("reactorUrl:")) {
79
- const reactorUrl = text.substring("reactorUrl:".length);
80
- resolve({ reactorUrl });
81
- }
82
- });
83
- child.stdout.on("data", (data) => {
84
- const message = data.toString();
85
- const lines = message.split("\n").filter((line) => line.trim().length);
86
- for (const line of lines) {
87
- if (verbose) {
88
- process.stdout.write(cyan(`[Reactor]: ${line}\n`));
89
- }
90
- else {
91
- // Only show specific logs when not verbose
92
- if (line.includes("🔄") ||
93
- line.includes("✅") ||
94
- line.includes("❌")) {
95
- process.stdout.write(cyan(`[Codegen]: ${line}\n`));
96
- }
97
- }
98
- }
99
- });
100
- child.stderr.on("error", (data) => {
101
- process.stderr.write(red(`[Reactor]: ${data.toString()}`));
102
- });
103
- child.on("error", (err) => {
104
- process.stderr.write(red(`[Reactor]: ${err}`));
105
- });
106
- child.on("exit", (code) => {
107
- if (verbose) {
108
- console.log(`Reactor process exited with code ${code}`);
109
- }
110
- });
111
- });
112
- }
113
- async function spawnConnect(options, localReactorUrl) {
114
- const { verbose = false, connectPort, ...connectOptions } = options || {};
115
- const finalOptions = connectPort
116
- ? { ...connectOptions, port: connectPort.toString() }
117
- : connectOptions;
118
- const child = fork(path.join(dirname(__dirname), "commands", "connect.js"), ["spawn", JSON.stringify(finalOptions)], {
119
- silent: true,
120
- env: {
121
- ...process.env,
122
- PH_CONNECT_DEFAULT_DRIVES_URL: localReactorUrl,
123
- },
124
- });
125
- return new Promise((resolve) => {
126
- let connectInitialized = false;
127
- child.stdout.on("data", (data) => {
128
- const message = data.toString();
129
- const lines = message.split("\n").filter((line) => line.trim().length);
130
- if (!connectInitialized) {
131
- resolve();
132
- connectInitialized = true;
133
- if (!verbose) {
134
- console.log(green(`[Connect]: Connect initialized`));
135
- }
136
- }
137
- for (const line of lines) {
138
- if (verbose) {
139
- process.stdout.write(green(`[Connect]: ${line}\n`));
140
- }
141
- else {
142
- // Only show Local and Network URLs when not verbose
143
- if (line.includes("➜ Local:") || line.includes("➜ Network:")) {
144
- process.stdout.write(green(`[Connect]: ${line}\n`));
145
- }
146
- }
147
- }
148
- });
149
- child.stderr.on("data", (data) => {
150
- if (verbose) {
151
- process.stderr.write(red(`[Connect]: ${data.toString()}`));
152
- }
153
- });
154
- child.on("close", (code) => {
155
- if (verbose) {
156
- console.log(`Connect process exited with code ${code}`);
157
- }
158
- });
159
- });
160
- }
161
- export async function startVetra({ generate, watch, switchboardPort = DefaultReactorOptions.port, reactorPort = DefaultReactorOptions.port + 1, connectPort, disableDefaultDrive = true, configFile, verbose = false, remoteDrive, }) {
104
+ export async function startVetra({ generate, switchboardPort, connectPort, configFile, verbose = false, remoteDrive, disableConnect = false, interactive = false, watch = false, }) {
162
105
  try {
106
+ // Set default log level to info if not already specified
107
+ if (!process.env.LOG_LEVEL) {
108
+ setLogLevel("info");
109
+ }
163
110
  const baseConfig = getConfig(configFile);
111
+ // Use config port if no CLI port provided, fallback to default
112
+ const resolvedSwitchboardPort = switchboardPort ??
113
+ baseConfig.reactor?.port ??
114
+ defaultSwitchboardOptions.port;
164
115
  const https = baseConfig.reactor?.https;
165
- let driveUrl;
166
- if (remoteDrive) {
167
- // Use provided remote drive URL, skip switchboard
168
- driveUrl = remoteDrive;
169
- if (verbose) {
170
- console.log(`Using remote drive: ${remoteDrive}`);
171
- }
172
- }
173
- else {
174
- // Start Vetra Switchboard
175
- if (verbose) {
176
- console.log("Starting Vetra Switchboard...");
177
- }
178
- const switchboardResult = await spawnLocalVetraSwitchboard({
179
- generate,
180
- port: switchboardPort,
181
- watch,
182
- https,
183
- configFile,
184
- verbose,
185
- });
186
- driveUrl = switchboardResult.driveUrl;
187
- }
116
+ // Use vetraUrl from config if no explicit remoteDrive is provided
117
+ const configVetraUrl = baseConfig.vetra?.driveUrl;
118
+ const resolvedVetraUrl = remoteDrive ?? configVetraUrl;
188
119
  if (verbose) {
189
- console.log("Starting Codegen Reactor...");
120
+ console.log("Starting Vetra Switchboard...");
121
+ if (resolvedVetraUrl) {
122
+ const source = remoteDrive
123
+ ? "command line argument"
124
+ : "powerhouse.config.json";
125
+ console.log(`Using vetraUrl from ${source}: ${resolvedVetraUrl}`);
126
+ }
190
127
  }
191
- await spawnLocalReactor({
128
+ const switchboardResult = await startLocalVetraSwitchboard({
192
129
  generate,
193
- port: reactorPort,
194
- watch,
130
+ port: resolvedSwitchboardPort,
131
+ dev: true, // Vetra always runs in dev mode to load local packages
195
132
  https,
196
- disableDefaultDrive,
197
133
  configFile,
198
- processors: ["ph/codegen/processor"],
199
134
  verbose,
200
- }, driveUrl);
201
- // Start Connect pointing to the drive
135
+ interactiveCodegen: interactive,
136
+ watch,
137
+ }, resolvedVetraUrl);
138
+ const driveUrl = switchboardResult.driveUrl || resolvedVetraUrl || "";
139
+ const previewDriveUrl = switchboardResult.previewDriveUrl;
140
+ // Configure GitHub URL if remote drive is set
141
+ if (resolvedVetraUrl) {
142
+ // give some time for the drive to process initial strands
143
+ await sleep(3000);
144
+ await configureVetraGithubUrl(resolvedSwitchboardPort, resolvedVetraUrl, verbose);
145
+ // give some time for the user to read log messages
146
+ await sleep(2000);
147
+ }
202
148
  if (verbose) {
203
- console.log("Starting Connect...");
204
- console.log(` ➜ Connect will use drive: ${driveUrl}`);
149
+ console.log("Starting Codegen Reactor...");
150
+ }
151
+ // Start Connect pointing to the drive (unless disabled)
152
+ if (!disableConnect) {
153
+ if (verbose) {
154
+ console.log("Starting Connect...");
155
+ const drives = previewDriveUrl
156
+ ? `${driveUrl}, ${previewDriveUrl}`
157
+ : driveUrl;
158
+ console.log(` ➜ Connect will use drives: ${drives}`);
159
+ }
160
+ await startConnectStudio({
161
+ defaultDrivesUrl: previewDriveUrl
162
+ ? [driveUrl, previewDriveUrl]
163
+ : [driveUrl],
164
+ drivesPreserveStrategy: "preserve-all",
165
+ disableLocalPackage: !watch,
166
+ devServerOptions: {
167
+ port: connectPort,
168
+ },
169
+ });
205
170
  }
206
- await spawnConnect(connectPort
207
- ? { configFile, verbose, connectPort }
208
- : { configFile, verbose }, driveUrl);
209
171
  }
210
172
  catch (error) {
211
173
  console.error(error);
@@ -1 +1 @@
1
- {"version":3,"file":"vetra.js","sourceRoot":"","sources":["../../../src/services/vetra.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vetra.js","sourceRoot":"","sources":["../../../src/services/vetra.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,uBAAuB,EACvB,KAAK,GACN,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,gBAAgB,GAAG,OAAO,CAAC;AAEjC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE,CAC1C,oBAAoB,IAAI,MAAM,sBAAsB,CAAC,gBAAgB,CAAC,EAAE,CAAC;AAgB3E,MAAM,UAAU,GAAG,CAAC,QAA4B,EAAU,EAAE,CAC1D,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;AAEzE,KAAK,UAAU,sBAAsB,CACnC,OAA6B,EAC7B,IAAY,EACZ,OAAiB;IAEjB,MAAM,cAAc,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAEzD,MAAM,YAAY,GAAG;QACnB,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE;YACN,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,oHAAoH;SAC3H;QACD,KAAK,EAAE;YACL,gBAAgB,EAAE,IAAI;YACtB,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,QAAiB;YAC9B,QAAQ,EAAE,EAAE;SACb;KACF,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACrC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,+CAA+C,cAAc,EAAE,CAAC,CACtE,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;QAC3C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CACT,IAAI,CACF,sDAAsD,cAAc,EAAE,CACvE,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,oBAAoB,IAAI,MAAM,cAAc,EAAE,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,OAIC,EACD,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,oBAAoB,GAA6B;YACrD,WAAW,EAAE,OAAO,EAAE,kBAAkB;YACxC,QAAQ,EAAE,WAAW,IAAI,kBAAkB,CAAC,IAAI,CAAC;YACjD,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC;SACjC,CAAC;QAEF,MAAM,eAAe,GAAG,IAAI,GAAG,EAAmB,CAAC;QACnD,eAAe,CAAC,GAAG,CAAC,0BAA0B,EAAE,oBAAoB,CAAC,CAAC;QAEtE,MAAM,YAAY,GAAG,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAE9D,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,YAAY;YACZ,KAAK;YACL,GAAG,EAAE,IAAI;YACT,eAAe;YACf,oBAAoB,EAAE,CAAC,OAAO,EAAE,KAAK;SACtC,CAAC,CAAC;QAEH,yCAAyC;QACzC,IAAI,eAAe,GAAkB,IAAI,CAAC;QAC1C,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,eAAe,GAAG,MAAM,sBAAsB,CAC5C,WAAW,CAAC,OAAO,EACnB,IAAI,EACJ,OAAO,CACR,CAAC;QACJ,CAAC;QAED,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;YACL,QAAQ,EAAE,WAAW,CAAC,eAAe,IAAI,EAAE;YAC3C,eAAe,EAAE,eAAe;SACjC,CAAC;IACJ,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,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,EAC/B,QAAQ,EACR,eAAe,EACf,WAAW,EACX,UAAU,EACV,OAAO,GAAG,KAAK,EACf,WAAW,EACX,cAAc,GAAG,KAAK,EACtB,WAAW,GAAG,KAAK,EACnB,KAAK,GAAG,KAAK,GACF;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;QAEzC,+DAA+D;QAC/D,MAAM,uBAAuB,GAC3B,eAAe;YACf,UAAU,CAAC,OAAO,EAAE,IAAI;YACxB,yBAAyB,CAAC,IAAI,CAAC;QACjC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC;QAExC,kEAAkE;QAClE,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC;QAClD,MAAM,gBAAgB,GAAG,WAAW,IAAI,cAAc,CAAC;QAEvD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC7C,IAAI,gBAAgB,EAAE,CAAC;gBACrB,MAAM,MAAM,GAAG,WAAW;oBACxB,CAAC,CAAC,uBAAuB;oBACzB,CAAC,CAAC,wBAAwB,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,KAAK,gBAAgB,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QACD,MAAM,iBAAiB,GAAG,MAAM,0BAA0B,CACxD;YACE,QAAQ;YACR,IAAI,EAAE,uBAAuB;YAC7B,GAAG,EAAE,IAAI,EAAE,uDAAuD;YAClE,KAAK;YACL,UAAU;YACV,OAAO;YACP,kBAAkB,EAAE,WAAW;YAC/B,KAAK;SACN,EACD,gBAAgB,CACjB,CAAC;QACF,MAAM,QAAQ,GACZ,iBAAiB,CAAC,QAAQ,IAAI,gBAAgB,IAAI,EAAE,CAAC;QACvD,MAAM,eAAe,GAAG,iBAAiB,CAAC,eAAe,CAAC;QAE1D,8CAA8C;QAC9C,IAAI,gBAAgB,EAAE,CAAC;YACrB,0DAA0D;YAC1D,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAElB,MAAM,uBAAuB,CAC3B,uBAAuB,EACvB,gBAAgB,EAChB,OAAO,CACR,CAAC;YAEF,mDAAmD;YACnD,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAED,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,MAAM,MAAM,GAAG,eAAe;oBAC5B,CAAC,CAAC,GAAG,QAAQ,KAAK,eAAe,EAAE;oBACnC,CAAC,CAAC,QAAQ,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,iCAAiC,MAAM,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,MAAM,kBAAkB,CAAC;gBACvB,gBAAgB,EAAE,eAAe;oBAC/B,CAAC,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAC;oBAC7B,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACd,sBAAsB,EAAE,cAAc;gBACtC,mBAAmB,EAAE,CAAC,KAAK;gBAC3B,gBAAgB,EAAE;oBAChB,IAAI,EAAE,WAAW;iBAClB;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Sleep for a specified number of milliseconds
3
+ */
4
+ export declare function sleep(ms: number): Promise<void>;
5
+ /**
6
+ * Configure GitHub URL for Vetra documents
7
+ * @param switchboardPort - Port where switchboard is running
8
+ * @param vetraDriveUrl - Remote drive URL
9
+ * @param verbose - Enable verbose logging
10
+ */
11
+ export declare function configureVetraGithubUrl(switchboardPort: number, vetraDriveUrl: string, verbose?: boolean): Promise<void>;
12
+ //# sourceMappingURL=configure-vetra-github-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure-vetra-github-url.d.ts","sourceRoot":"","sources":["../../../src/utils/configure-vetra-github-url.ts"],"names":[],"mappings":"AAqNA;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAiEf"}