@m8t-stack/cli 0.2.36 → 0.2.37

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/cli.js CHANGED
@@ -1298,7 +1298,7 @@ var init_enable_hosted_brain = __esm({
1298
1298
  import { Builtins, Cli } from "clipanion";
1299
1299
 
1300
1300
  // src/lib/package-version.ts
1301
- var CLI_VERSION = "0.2.36";
1301
+ var CLI_VERSION = "0.2.37";
1302
1302
 
1303
1303
  // src/lib/render-error.ts
1304
1304
  init_errors();
@@ -26216,8 +26216,8 @@ var BootstrapLaunchCommand = class extends M8tCommand {
26216
26216
  examples: [
26217
26217
  ["Launch in eastus2", "$0 bootstrap launch --location eastus2"],
26218
26218
  ["BYO app registration", "$0 bootstrap launch --location eastus2 --client-id <appId>"],
26219
- ["Pin a specific installer tag", "$0 bootstrap launch --location eastus2 --installer-tag v0.1.33"],
26220
- ["Override the full installer image ref", "$0 bootstrap launch --location eastus2 --installer-image ghcr.io/m8t-labs/m8t-installer:v0.1.33"],
26219
+ ["Pin a specific installer tag", "$0 bootstrap launch --location eastus2 --installer-tag v0.1.42"],
26220
+ ["Override the full installer image ref", "$0 bootstrap launch --location eastus2 --installer-image ghcr.io/m8t-labs/m8t-installer:v0.1.42"],
26221
26221
  ["Share a support contact", "$0 bootstrap launch --location eastus2 --contact-email you@example.com --company 'Acme'"]
26222
26222
  ]
26223
26223
  });
@@ -27629,12 +27629,13 @@ function writeWebEnvLocal(args) {
27629
27629
  });
27630
27630
  }
27631
27631
  const body = [
27632
- "# Written by `m8t bootstrap ui` \u2014 onboarding chat-only run (Simple Stacey).",
27632
+ "# Written by `m8t bootstrap ui` \u2014 local onboarding run (Simple Stacey).",
27633
+ "# Text-first: the intake voice stack is off unless the run passed --voice.",
27633
27634
  "# STORAGE unset \u2192 gateway boot skipped; the webapp forwards your MSAL token to Foundry.",
27634
27635
  `AZURE_TENANT_ID=${args.tenantId}`,
27635
27636
  `AZURE_CLIENT_ID=${args.clientId}`,
27636
27637
  `FOUNDRY_PROJECT_ENDPOINT=${args.foundryEndpoint}`,
27637
- "VOICE_RELAY_PUBLIC_URL=ws://localhost:8790",
27638
+ ...args.voice ? ["VOICE_RELAY_PUBLIC_URL=ws://localhost:8790", "NEXT_PUBLIC_M8T_INTAKE_VOICE=1"] : [],
27638
27639
  "STORAGE_ACCOUNT_NAME=",
27639
27640
  `M8T_INTERNAL_SECRET=${internalSecret}`,
27640
27641
  "M8T_SINGLE_GATEWAY_PROCESS=1",
@@ -27951,8 +27952,9 @@ var BootstrapUiCommand = class extends M8tCommand {
27951
27952
  details: [
27952
27953
  "Run after `m8t bootstrap launch`, in parallel with `status --watch`. Waits for the cloud",
27953
27954
  "installer's foundry-create phase, grants you Foundry data-plane access, deploys a no-brain",
27954
- "Simple Stacey (stacey-intake), writes apps/web/.env.local (chat-only), installs deps, and",
27955
- "starts the webapp detached so a coding agent can continue without opening a separate terminal.",
27955
+ "Simple Stacey (stacey-intake), writes apps/web/.env.local (chat-only unless --voice is set),",
27956
+ "installs deps, and starts the webapp detached so a coding agent can continue without opening",
27957
+ "a separate terminal.",
27956
27958
  "",
27957
27959
  "The command returns as soon as the server is ready (or after ~45 s if it is still compiling).",
27958
27960
  "Use `--stop` to shut it down, `--foreground` to keep the old blocking behaviour."
@@ -27961,7 +27963,8 @@ var BootstrapUiCommand = class extends M8tCommand {
27961
27963
  ["Start the onboarding UI (backgrounds the server, returns)", "$0 bootstrap ui --repo-root /path/to/m8t"],
27962
27964
  ["Stop the running onboarding UI", "$0 bootstrap ui --stop"],
27963
27965
  ["Prep only (don't serve at all)", "$0 bootstrap ui --repo-root /path/to/m8t --prep-only"],
27964
- ["Foreground (blocking, old behaviour)", "$0 bootstrap ui --repo-root /path/to/m8t --foreground"]
27966
+ ["Foreground (blocking, old behaviour)", "$0 bootstrap ui --repo-root /path/to/m8t --foreground"],
27967
+ ["Experimental: enable the intake voice call", "$0 bootstrap ui --repo-root /path/to/m8t --voice"]
27965
27968
  ]
27966
27969
  });
27967
27970
  repoRoot = Option51.String("--repo-root");
@@ -27973,6 +27976,9 @@ var BootstrapUiCommand = class extends M8tCommand {
27973
27976
  skipInstall = Option51.Boolean("--skip-install", false);
27974
27977
  stop = Option51.Boolean("--stop", false);
27975
27978
  foreground = Option51.Boolean("--foreground", false);
27979
+ voice = Option51.Boolean("--voice", false, {
27980
+ description: "Experimental/preview: enable the intake voice call and start the voice relay on :8790. Not a supported founder path \u2014 the intake is text-only by default."
27981
+ });
27976
27982
  async executeCommand() {
27977
27983
  if (this.stop === true) {
27978
27984
  const stopped = stopOnboardingUi();
@@ -28039,7 +28045,8 @@ var BootstrapUiCommand = class extends M8tCommand {
28039
28045
  repoRoot,
28040
28046
  tenantId: account.tenantId,
28041
28047
  clientId: state.appRegClientId,
28042
- foundryEndpoint: endpoint
28048
+ foundryEndpoint: endpoint,
28049
+ voice: this.voice === true
28043
28050
  });
28044
28051
  if (!this.skipInstall) {
28045
28052
  out("installing apps/web dependencies (pnpm)\u2026");
@@ -28054,15 +28061,17 @@ var BootstrapUiCommand = class extends M8tCommand {
28054
28061
  return 0;
28055
28062
  }
28056
28063
  if (this.foreground === true) {
28057
- out("starting the voice relay on :8790 in the background\u2026");
28058
- await serveOnboardingRelayDetached({
28059
- repoRoot,
28060
- foundryEndpoint: endpoint,
28061
- tenantId: account.tenantId,
28062
- clientId: state.appRegClientId,
28063
- webInternalBaseUrl: "http://localhost:3000"
28064
- });
28065
- out("voice relay on :8790");
28064
+ if (this.voice === true) {
28065
+ out("starting the voice relay on :8790 in the background\u2026");
28066
+ await serveOnboardingRelayDetached({
28067
+ repoRoot,
28068
+ foundryEndpoint: endpoint,
28069
+ tenantId: account.tenantId,
28070
+ clientId: state.appRegClientId,
28071
+ webInternalBaseUrl: "http://localhost:3000"
28072
+ });
28073
+ out("voice relay on :8790");
28074
+ }
28066
28075
  const outcome2 = await deployOutcome;
28067
28076
  if (!outcome2.ok) {
28068
28077
  this.context.stderr.write(renderDeployFailure(outcome2.error));
@@ -28073,15 +28082,17 @@ var BootstrapUiCommand = class extends M8tCommand {
28073
28082
  await runInherit("pnpm", ["--filter", "web", "dev"], repoRoot, "BOOTSTRAP_UI_DEV_FAILED");
28074
28083
  return 0;
28075
28084
  }
28076
- out("starting the voice relay on :8790 in the background\u2026");
28077
- await serveOnboardingRelayDetached({
28078
- repoRoot,
28079
- foundryEndpoint: endpoint,
28080
- tenantId: account.tenantId,
28081
- clientId: state.appRegClientId,
28082
- webInternalBaseUrl: "http://localhost:3000"
28083
- });
28084
- out("voice relay on :8790");
28085
+ if (this.voice === true) {
28086
+ out("starting the voice relay on :8790 in the background\u2026");
28087
+ await serveOnboardingRelayDetached({
28088
+ repoRoot,
28089
+ foundryEndpoint: endpoint,
28090
+ tenantId: account.tenantId,
28091
+ clientId: state.appRegClientId,
28092
+ webInternalBaseUrl: "http://localhost:3000"
28093
+ });
28094
+ out("voice relay on :8790");
28095
+ }
28085
28096
  out("starting the webapp on :3000 in the background\u2026");
28086
28097
  const { alreadyRunning, logPath } = await serveOnboardingUiDetached({ repoRoot, port: this.port });
28087
28098
  if (alreadyRunning) {