@powerhousedao/ph-cli 6.1.0-staging.0 → 6.2.0-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.
Files changed (61) hide show
  1. package/dist/{build-vccTv_Jp.mjs → build-B5LEeRPm.mjs} +4 -4
  2. package/dist/build-B5LEeRPm.mjs.map +1 -0
  3. package/dist/build-CMgv-erS.mjs +4 -0
  4. package/dist/cli-connect-override-DHpuwyEn.mjs +274 -0
  5. package/dist/cli-connect-override-DHpuwyEn.mjs.map +1 -0
  6. package/dist/cli.mjs +63 -32
  7. package/dist/cli.mjs.map +1 -1
  8. package/dist/{connect-build-B7I7HJu0.mjs → connect-build-DDWHr6nw.mjs} +10 -7
  9. package/dist/connect-build-DDWHr6nw.mjs.map +1 -0
  10. package/dist/connect-config-DQcIDdtP.mjs +187 -0
  11. package/dist/connect-config-DQcIDdtP.mjs.map +1 -0
  12. package/dist/{connect-preview-CNJkhtxL.mjs → connect-preview-D7ypzFDc.mjs} +4 -6
  13. package/dist/connect-preview-D7ypzFDc.mjs.map +1 -0
  14. package/dist/{connect-studio-DTdSFftL.mjs → connect-studio-BbxxxUZ9.mjs} +7 -7
  15. package/dist/connect-studio-BbxxxUZ9.mjs.map +1 -0
  16. package/dist/connect-studio-YDVQ49D6.mjs +5 -0
  17. package/dist/{generate-all-WiQQo-Nz.mjs → generate-all-DrT4ZxHX.mjs} +3 -3
  18. package/dist/{generate-all-WiQQo-Nz.mjs.map → generate-all-DrT4ZxHX.mjs.map} +1 -1
  19. package/dist/{generate-app-DdmOt6ID.mjs → generate-app-DNNqA-H3.mjs} +3 -3
  20. package/dist/{generate-app-DdmOt6ID.mjs.map → generate-app-DNNqA-H3.mjs.map} +1 -1
  21. package/dist/{generate-document-model-DQ5PVeIH.mjs → generate-document-model-BJXyODfm.mjs} +3 -3
  22. package/dist/{generate-document-model-DQ5PVeIH.mjs.map → generate-document-model-BJXyODfm.mjs.map} +1 -1
  23. package/dist/{generate-editor-DtzVAs6x.mjs → generate-editor-BejvaVVT.mjs} +3 -3
  24. package/dist/{generate-editor-DtzVAs6x.mjs.map → generate-editor-BejvaVVT.mjs.map} +1 -1
  25. package/dist/{generate-processor-FGtN6BVY.mjs → generate-processor-_WOx-mMe.mjs} +3 -3
  26. package/dist/{generate-processor-FGtN6BVY.mjs.map → generate-processor-_WOx-mMe.mjs.map} +1 -1
  27. package/dist/{generate-subgraph-BrzmW_sj.mjs → generate-subgraph-BsHUstpl.mjs} +3 -3
  28. package/dist/{generate-subgraph-BrzmW_sj.mjs.map → generate-subgraph-BsHUstpl.mjs.map} +1 -1
  29. package/dist/{init-Cw_5H_Z1.mjs → init-D3toc_qO.mjs} +5 -4
  30. package/dist/init-D3toc_qO.mjs.map +1 -0
  31. package/dist/{inspect-BwuBW_zW.mjs → inspect-CKdafPbC.mjs} +4 -4
  32. package/dist/{inspect-BwuBW_zW.mjs.map → inspect-CKdafPbC.mjs.map} +1 -1
  33. package/dist/{migrate-CfgiCNQo.mjs → migrate-BJQvY88v.mjs} +3 -3
  34. package/dist/{migrate-CfgiCNQo.mjs.map → migrate-BJQvY88v.mjs.map} +1 -1
  35. package/dist/{registry-auth-CNH84uo4.mjs → registry-auth-DxEWCJu2.mjs} +3 -3
  36. package/dist/{registry-auth-CNH84uo4.mjs.map → registry-auth-DxEWCJu2.mjs.map} +1 -1
  37. package/dist/{switchboard-CERuSM8r.mjs → switchboard-CJMoMzWx.mjs} +3 -3
  38. package/dist/{switchboard-CERuSM8r.mjs.map → switchboard-CJMoMzWx.mjs.map} +1 -1
  39. package/dist/switchboard-iRFugh8I.mjs +4 -0
  40. package/dist/{switchboard-migrate-BumRp7rC.mjs → switchboard-migrate-NQ7LHWSi.mjs} +3 -3
  41. package/dist/{switchboard-migrate-BumRp7rC.mjs.map → switchboard-migrate-NQ7LHWSi.mjs.map} +1 -1
  42. package/dist/{switchboard-reset-1YcJEVqc.mjs → switchboard-reset-BcQXlcVf.mjs} +3 -3
  43. package/dist/{switchboard-reset-1YcJEVqc.mjs.map → switchboard-reset-BcQXlcVf.mjs.map} +1 -1
  44. package/dist/{utils-mth8NsDA.mjs → utils-BaTZlyL3.mjs} +5 -5
  45. package/dist/utils-BaTZlyL3.mjs.map +1 -0
  46. package/dist/{utils-C6581aex.mjs → utils-DPGwKNam.mjs} +3 -3
  47. package/dist/{vetra-yCsUKy_u.mjs → vetra-DjsGCr0t.mjs} +13 -11
  48. package/dist/vetra-DjsGCr0t.mjs.map +1 -0
  49. package/package.json +13 -11
  50. package/dist/assign-env-vars-W-lZmdMi.mjs +0 -18
  51. package/dist/assign-env-vars-W-lZmdMi.mjs.map +0 -1
  52. package/dist/build-CqtYNjiI.mjs +0 -4
  53. package/dist/build-vccTv_Jp.mjs.map +0 -1
  54. package/dist/connect-build-B7I7HJu0.mjs.map +0 -1
  55. package/dist/connect-preview-CNJkhtxL.mjs.map +0 -1
  56. package/dist/connect-studio-DTdSFftL.mjs.map +0 -1
  57. package/dist/connect-studio-DySbZFEc.mjs +0 -5
  58. package/dist/init-Cw_5H_Z1.mjs.map +0 -1
  59. package/dist/switchboard-ChH1PMaE.mjs +0 -4
  60. package/dist/utils-mth8NsDA.mjs.map +0 -1
  61. package/dist/vetra-yCsUKy_u.mjs.map +0 -1
package/dist/cli.mjs CHANGED
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="a2e67adb-542b-5e92-bbfc-4656437ba4d7")}catch(e){}}();
3
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="3cb30f37-19c2-5c02-ad5c-b75e789bcc1a")}catch(e){}}();
4
4
  import { initCliTelemetry } from "@powerhousedao/shared/clis/telemetry";
5
5
  import { assertNodeVersion } from "@powerhousedao/shared/clis/utils";
6
6
  import { array, boolean, command, flag, multioption, oneOf, option, optional, run, string, subcommands } from "cmd-ts";
7
- import { AGENTS, accessTokenArgs, buildArgs, connectBuildArgs, connectPreviewArgs, connectStudioArgs, debugArgs, initArgs, inspectArgs, installArgs, listArgs, loginArgs, migrateArgs, phCliHelpCommands, publishArgs, registryLoginArgs, switchboardArgs, uninstallArgs, unpublishArgs, vetraArgs } from "@powerhousedao/shared/clis/args";
7
+ import { AGENTS, accessTokenArgs, buildArgs, connectBuildArgs, connectConfigArgs, connectPreviewArgs, connectStudioArgs, debugArgs, initArgs, inspectArgs, installArgs, listArgs, loginArgs, migrateArgs, phCliHelpCommands, publishArgs, registryLoginArgs, switchboardArgs, uninstallArgs, unpublishArgs, vetraArgs } from "@powerhousedao/shared/clis/args";
8
8
  import { DEFAULT_EXPIRY_SECONDS } from "@powerhousedao/shared/clis/constants";
9
9
  import { Directory, File } from "cmd-ts/dist/cjs/batteries/fs.js";
10
10
  import path from "path";
@@ -15,7 +15,7 @@ import { createInterface } from "node:readline/promises";
15
15
  import { bold, yellow } from "colorette";
16
16
  //#region src/get-version.ts
17
17
  function getVersion() {
18
- return "6.1.0-staging.0";
18
+ return "6.2.0-dev.0";
19
19
  }
20
20
  //#endregion
21
21
  //#region src/utils/constants.ts
@@ -105,7 +105,7 @@ const build$1 = command({
105
105
  handler: async (args) => {
106
106
  if (args.debug) console.log(args);
107
107
  try {
108
- const { runBuild } = await import("./build-CqtYNjiI.mjs");
108
+ const { runBuild } = await import("./build-CMgv-erS.mjs");
109
109
  await runBuild(args);
110
110
  } catch (error) {
111
111
  console.error(error);
@@ -115,7 +115,7 @@ const build$1 = command({
115
115
  });
116
116
  const connect = subcommands({
117
117
  name: "connect",
118
- description: `Powerhouse Connect commands. Use with \`studio\`, \`build\` or \`preview\`. Defaults to \`studio\` if not specified.`,
118
+ description: `Powerhouse Connect commands. Use with \`studio\`, \`build\`, \`preview\`, or \`config\`. Defaults to \`studio\` if not specified.`,
119
119
  cmds: {
120
120
  studio: command({
121
121
  name: "studio",
@@ -132,19 +132,27 @@ This command:
132
132
  args: connectStudioArgs,
133
133
  handler: async (args) => {
134
134
  if (args.debug) console.log(args);
135
- const { runConnectStudio } = await import("./connect-studio-DySbZFEc.mjs");
135
+ const { runConnectStudio } = await import("./connect-studio-YDVQ49D6.mjs");
136
136
  await runConnectStudio(args);
137
137
  }
138
138
  }),
139
139
  build: command({
140
140
  name: "build",
141
141
  description: `The Connect build command creates a production build with the project's local and
142
- external packages included
142
+ external packages included.
143
+
144
+ Runtime-config overrides (all combinable — last wins on collision):
145
+ ph connect build Build with the current source config.
146
+ ph connect build <key> <value> Build with a positional override applied (e.g. ph connect build connect.renown.url https://renown.staging).
147
+ ph connect build --<field> <value> Build with a per-field flag override (e.g. --renown-url https://renown.staging).
148
+ ph connect build --json '{"…":"…"}' Build with a bulk override.
149
+
150
+ Build has no read mode; passing only <key> without <value> errors out (use \`ph connect config <key>\` to read).
143
151
  `,
144
152
  args: connectBuildArgs,
145
153
  handler: async (args) => {
146
154
  if (args.debug) console.log(args);
147
- const { runConnectBuild } = await import("./connect-build-B7I7HJu0.mjs");
155
+ const { runConnectBuild } = await import("./connect-build-DDWHr6nw.mjs");
148
156
  await runConnectBuild(args);
149
157
  process.exit(0);
150
158
  }
@@ -157,9 +165,31 @@ NOTE: You must run \`ph connect build\` first
157
165
  args: connectPreviewArgs,
158
166
  handler: async (args) => {
159
167
  if (args.debug) console.log(args);
160
- const { runConnectPreview } = await import("./connect-preview-CNJkhtxL.mjs");
168
+ const { runConnectPreview } = await import("./connect-preview-D7ypzFDc.mjs");
161
169
  await runConnectPreview(args);
162
170
  }
171
+ }),
172
+ config: command({
173
+ name: "config",
174
+ description: `Read or update Connect's runtime configuration (powerhouse.config.json).
175
+
176
+ Modes (mutually exclusive — positional, --get, --json, and field flags cannot be combined):
177
+ ph connect config List the effective connect.* block (defaults < source).
178
+ ph connect config <key> Get the value at the dotted path (e.g. ph connect config connect.renown.url).
179
+ ph connect config --get <dotted.path> Same as positional <key> (kept for backward compat).
180
+ ph connect config <key> <value> Set a single field and dual-write to source + dist (positional).
181
+ ph connect config --<field> <value> Set a single field via per-field flag (e.g. --renown-url https://renown.id).
182
+ ph connect config --json '{"…":"…"}' Bulk-set multiple fields and dual-write.
183
+
184
+ Writes go to:
185
+ - <project>/powerhouse.config.json (source — picked up by the next build)
186
+ - <dist-dir>/powerhouse.config.json (if it exists — the currently-served SPA picks it up on refresh)
187
+ `,
188
+ args: connectConfigArgs,
189
+ handler: async (args) => {
190
+ const { runConnectConfig } = await import("./connect-config-DQcIDdtP.mjs");
191
+ await runConnectConfig(args);
192
+ }
163
193
  })
164
194
  }
165
195
  });
@@ -174,7 +204,7 @@ const generateAllCmd = command({
174
204
  description: "Instead of generating code, write a spec for every module into specs/ (one-shot migration to documents-as-source-of-truth)"
175
205
  }) },
176
206
  handler: async (args) => {
177
- const { startGenerateAll } = await import("./generate-all-WiQQo-Nz.mjs");
207
+ const { startGenerateAll } = await import("./generate-all-DrT4ZxHX.mjs");
178
208
  await startGenerateAll(args, process.cwd());
179
209
  process.exit(0);
180
210
  }
@@ -228,7 +258,7 @@ const generateAppCmd = command({
228
258
  ...debugArgs
229
259
  },
230
260
  handler: async (args) => {
231
- const { startGenerateApp } = await import("./generate-app-DdmOt6ID.mjs");
261
+ const { startGenerateApp } = await import("./generate-app-DNNqA-H3.mjs");
232
262
  await startGenerateApp(args, process.cwd());
233
263
  process.exit(0);
234
264
  }
@@ -264,7 +294,7 @@ const generateDocumentModelCmd = command({
264
294
  ...debugArgs
265
295
  },
266
296
  handler: async (args) => {
267
- const { startGenerateDocumentModel } = await import("./generate-document-model-DQ5PVeIH.mjs");
297
+ const { startGenerateDocumentModel } = await import("./generate-document-model-BJXyODfm.mjs");
268
298
  await startGenerateDocumentModel(args, process.cwd());
269
299
  process.exit(0);
270
300
  }
@@ -311,7 +341,7 @@ const generateEditorCmd = command({
311
341
  ...debugArgs
312
342
  },
313
343
  handler: async (args) => {
314
- const { startGenerateEditor } = await import("./generate-editor-DtzVAs6x.mjs");
344
+ const { startGenerateEditor } = await import("./generate-editor-BejvaVVT.mjs");
315
345
  await startGenerateEditor(args, process.cwd());
316
346
  process.exit(0);
317
347
  }
@@ -406,7 +436,7 @@ const generateProcessorCmd = command({
406
436
  ...debugArgs
407
437
  },
408
438
  handler: async (args) => {
409
- const { startGenerateProcessor } = await import("./generate-processor-FGtN6BVY.mjs");
439
+ const { startGenerateProcessor } = await import("./generate-processor-_WOx-mMe.mjs");
410
440
  await startGenerateProcessor(args, process.cwd());
411
441
  process.exit(0);
412
442
  }
@@ -447,7 +477,7 @@ const generateSubgraphCmd = command({
447
477
  ...debugArgs
448
478
  },
449
479
  handler: async (args) => {
450
- const { startGenerateSubgraph } = await import("./generate-subgraph-BrzmW_sj.mjs");
480
+ const { startGenerateSubgraph } = await import("./generate-subgraph-BsHUstpl.mjs");
451
481
  await startGenerateSubgraph(args, process.cwd());
452
482
  process.exit(0);
453
483
  }
@@ -475,7 +505,7 @@ const init = command({
475
505
  args: initArgs,
476
506
  handler: async (args) => {
477
507
  if (args.debug) console.log({ args });
478
- const { startInit } = await import("./init-Cw_5H_Z1.mjs");
508
+ const { startInit } = await import("./init-D3toc_qO.mjs");
479
509
  await startInit(args);
480
510
  process.exit(0);
481
511
  }
@@ -498,7 +528,7 @@ This command:
498
528
  args: inspectArgs,
499
529
  handler: async (args) => {
500
530
  if (args.debug) console.log(args);
501
- const { startInspect } = await import("./inspect-BwuBW_zW.mjs");
531
+ const { startInspect } = await import("./inspect-CKdafPbC.mjs");
502
532
  startInspect(args);
503
533
  process.exit(0);
504
534
  }
@@ -577,10 +607,10 @@ Resolution order for the registry URL:
577
607
  throw error;
578
608
  }
579
609
  }
580
- const { updateConfigFile, updateStylesFile } = await import("./utils-C6581aex.mjs");
610
+ const { updateConfigFile, updateStylesFile } = await import("./utils-DPGwKNam.mjs");
581
611
  try {
582
612
  console.log("⚙️ Updating powerhouse config file...");
583
- updateConfigFile(dependenciesWithVersions, projectPath, "install", args.local ? "local" : "registry", registryUrl);
613
+ updateConfigFile(dependenciesWithVersions, projectPath, "install", args.local ? "local" : "registry", registryUrl, args.registry !== void 0);
584
614
  console.log("Config file updated successfully 🎉");
585
615
  } catch (error) {
586
616
  console.error("❌ Failed to update config file");
@@ -629,7 +659,7 @@ This command:
629
659
  phConfig.packages.forEach((pkg) => {
630
660
  console.log(pkg.packageName);
631
661
  });
632
- } catch (e) {
662
+ } catch (_e) {
633
663
  console.log("No packages found in the project");
634
664
  }
635
665
  process.exit(0);
@@ -755,7 +785,7 @@ const migrate = command({
755
785
  description: "Run migrations",
756
786
  handler: async (args) => {
757
787
  if (args.debug) console.log(args);
758
- const { startMigrate } = await import("./migrate-CfgiCNQo.mjs");
788
+ const { startMigrate } = await import("./migrate-BJQvY88v.mjs");
759
789
  await startMigrate(args);
760
790
  process.exit(0);
761
791
  }
@@ -803,7 +833,7 @@ This command:
803
833
  const { projectPath } = await getPowerhouseProjectInfo();
804
834
  if (!projectPath) throw new Error("Could not find project path.");
805
835
  const { checkNpmAuth, npmPublish, resolveRegistryUrl } = await import("@powerhousedao/shared/registry");
806
- const { mintRegistryAuthToken } = await import("./registry-auth-CNH84uo4.mjs");
836
+ const { mintRegistryAuthToken } = await import("./registry-auth-DxEWCJu2.mjs");
807
837
  const registryUrl = resolveRegistryUrl({
808
838
  registry: args.registry,
809
839
  projectPath
@@ -834,7 +864,7 @@ This command:
834
864
  process.exit(1);
835
865
  }
836
866
  const enquirer = await import("enquirer");
837
- let confirmed = false;
867
+ let confirmed;
838
868
  try {
839
869
  confirmed = (await enquirer.default.prompt({
840
870
  type: "confirm",
@@ -893,7 +923,7 @@ Usage:
893
923
  const projectPath = (await getPowerhouseProjectInfo().catch(() => null))?.projectPath ?? process.cwd();
894
924
  const [{ resolveRegistryUrl, writeRegistryAuthToken }, { mintRegistryAuthToken }, { parseExpiry, formatExpiry }] = await Promise.all([
895
925
  import("@powerhousedao/shared/registry"),
896
- import("./registry-auth-CNH84uo4.mjs"),
926
+ import("./registry-auth-DxEWCJu2.mjs"),
897
927
  import("@renown/sdk/node")
898
928
  ]);
899
929
  const registryUrl = resolveRegistryUrl({
@@ -930,7 +960,7 @@ This command:
930
960
  const { basePath, dbPath, migrate, migrateStatus, reset, yes } = args;
931
961
  if (basePath) process.env.BASE_PATH = basePath;
932
962
  if (reset) {
933
- const { resetSwitchboardDatabase } = await import("./switchboard-reset-1YcJEVqc.mjs");
963
+ const { resetSwitchboardDatabase } = await import("./switchboard-reset-BcQXlcVf.mjs");
934
964
  await resetSwitchboardDatabase({
935
965
  dbPath,
936
966
  yes
@@ -938,14 +968,14 @@ This command:
938
968
  process.exit(0);
939
969
  }
940
970
  if (migrate || migrateStatus) {
941
- const { runSwitchboardMigrations } = await import("./switchboard-migrate-BumRp7rC.mjs");
971
+ const { runSwitchboardMigrations } = await import("./switchboard-migrate-NQ7LHWSi.mjs");
942
972
  await runSwitchboardMigrations({
943
973
  dbPath,
944
974
  statusOnly: migrateStatus
945
975
  });
946
976
  process.exit(0);
947
977
  }
948
- const { startSwitchboard } = await import("./switchboard-ChH1PMaE.mjs");
978
+ const { startSwitchboard } = await import("./switchboard-iRFugh8I.mjs");
949
979
  const { defaultDriveUrl, renown } = await startSwitchboard(args);
950
980
  console.log(" ➜ Switchboard:", defaultDriveUrl);
951
981
  if (renown) console.log(" ➜ Identity:", renown.did);
@@ -991,7 +1021,7 @@ This command:
991
1021
  console.error("❌ Failed to uninstall dependencies");
992
1022
  throw error;
993
1023
  }
994
- const { removeStylesImports, updateConfigFile } = await import("./utils-C6581aex.mjs");
1024
+ const { removeStylesImports, updateConfigFile } = await import("./utils-DPGwKNam.mjs");
995
1025
  try {
996
1026
  console.log("⚙️ Updating powerhouse config file...");
997
1027
  updateConfigFile(dependenciesWithVersions, projectPath, "uninstall");
@@ -1122,7 +1152,7 @@ This command:
1122
1152
  args: vetraArgs,
1123
1153
  handler: async (args) => {
1124
1154
  if (args.debug) console.log(args);
1125
- const { startVetra } = await import("./vetra-yCsUKy_u.mjs");
1155
+ const { startVetra } = await import("./vetra-DjsGCr0t.mjs");
1126
1156
  await startVetra(args);
1127
1157
  }
1128
1158
  }),
@@ -1168,7 +1198,7 @@ function collectMessages(err) {
1168
1198
  messages.push(current.message);
1169
1199
  current = current.cause;
1170
1200
  } else {
1171
- messages.push(String(current));
1201
+ messages.push(typeof current === "string" ? current : JSON.stringify(current));
1172
1202
  break;
1173
1203
  }
1174
1204
  }
@@ -1222,7 +1252,8 @@ async function main() {
1222
1252
  if (command === "connect" && ![
1223
1253
  "studio",
1224
1254
  "build",
1225
- "preview"
1255
+ "preview",
1256
+ "config"
1226
1257
  ].includes(args[1]) && !isHelp) await run(cli, [
1227
1258
  "connect",
1228
1259
  "studio",
@@ -1244,4 +1275,4 @@ await main().catch(async (error) => {
1244
1275
  export {};
1245
1276
 
1246
1277
  //# sourceMappingURL=cli.mjs.map
1247
- //# debugId=a2e67adb-542b-5e92-bbfc-4656437ba4d7
1278
+ //# debugId=3cb30f37-19c2-5c02-ad5c-b75e789bcc1a