@m8t-stack/cli 0.2.128 → 0.2.130

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
@@ -1454,7 +1454,7 @@ function installFoundryDnsShim() {
1454
1454
  }
1455
1455
 
1456
1456
  // src/lib/package-version.ts
1457
- var CLI_VERSION = "0.2.128";
1457
+ var CLI_VERSION = "0.2.130";
1458
1458
 
1459
1459
  // src/lib/render-error.ts
1460
1460
  init_errors();
@@ -19536,11 +19536,11 @@ function fromBuild(raw, fallbackRef) {
19536
19536
  };
19537
19537
  }
19538
19538
  var DEV_TAG = "v0.0.0-dev";
19539
- var PINNED_INSTALLER = fromBuild('{"ref":"ghcr.io/m8t-labs/m8t-installer:v0.1.92","registry":"ghcr.io/m8t-labs","image":"m8t-installer","tag":"v0.1.92"}', "ghcr.io/m8t-labs/m8t-installer");
19539
+ var PINNED_INSTALLER = fromBuild('{"ref":"ghcr.io/m8t-labs/m8t-installer:v0.1.96","registry":"ghcr.io/m8t-labs","image":"m8t-installer","tag":"v0.1.96"}', "ghcr.io/m8t-labs/m8t-installer");
19540
19540
  var PINNED_CODING_AGENT = fromBuild('{"ref":"ghcr.io/m8t-labs/m8t-coding-agent:v0.1.5","registry":"ghcr.io/m8t-labs","image":"m8t-coding-agent","tag":"v0.1.5"}', "ghcr.io/m8t-labs/m8t-coding-agent");
19541
19541
  var PINNED_AZURE_EXECUTOR = fromBuild('{"ref":"ghcr.io/m8t-labs/m8t-azure-executor:v0.1.5","registry":"ghcr.io/m8t-labs","image":"m8t-azure-executor","tag":"v0.1.5"}', "ghcr.io/m8t-labs/m8t-azure-executor");
19542
19542
  var PINNED_PLATFORM_VERSION = (() => {
19543
- const raw = "0.8.0";
19543
+ const raw = "0.8.1";
19544
19544
  return /^\d+\.\d+\.\d+$/.test(raw) ? raw : "";
19545
19545
  })();
19546
19546
 
@@ -32561,7 +32561,9 @@ var STATUS_DOC_SPEC = obj({
32561
32561
  stampSeed: opt(str4()),
32562
32562
  updaterProvision: opt(str4()),
32563
32563
  platformVersion: opt(str4(), "The release the engine stamped, e.g. `platform-v0.7.8`. Absent when the engine could not resolve one."),
32564
- telemetryIdentity: opt(str4())
32564
+ telemetryIdentity: opt(str4()),
32565
+ unreleasedDebugGateway: opt(str4(), "Unreleased-debug installs only: the gateway image actually deployed \u2014 by tag on the no-manifest path, which is the only one the CLI can produce. Such an install writes no platform stamp on purpose, so this is the only record of what it ran."),
32566
+ unreleasedDebugExecutor: opt(str4(), "Unreleased-debug installs only: the executor image actually deployed, as passed to the executor deploy. Absent when no executor was deployed.")
32565
32567
  }),
32566
32568
  "Present only on a `done` document."
32567
32569
  ),
@@ -33321,6 +33323,7 @@ async function resolveLaunchTarget(args) {
33321
33323
  const release = typeof args.release === "string" && args.release.length > 0 ? args.release : void 0;
33322
33324
  const tagOverride = typeof args.installerTag === "string" && args.installerTag.length > 0 ? args.installerTag : void 0;
33323
33325
  const imageOverride = typeof args.installerImage === "string" && args.installerImage.length > 0 ? args.installerImage : void 0;
33326
+ const gatewayOverride = typeof args.gatewayImageRef === "string" && args.gatewayImageRef.length > 0 ? args.gatewayImageRef : void 0;
33324
33327
  const pinnedRepo = pinnedInstallerRef.slice(0, pinnedInstallerRef.lastIndexOf(":"));
33325
33328
  const overrideEngine = imageOverride ?? (tagOverride !== void 0 ? `${pinnedRepo}:${tagOverride}` : void 0);
33326
33329
  const explicitEngine = overrideEngine !== void 0 && overrideEngine !== pinnedInstallerRef;
@@ -33334,6 +33337,13 @@ async function resolveLaunchTarget(args) {
33334
33337
  hint: "Pass a release version, e.g. --release 0.7.2 (or --release platform-v0.7.2). There is no 'latest' here on purpose: an install pins the release it installs."
33335
33338
  });
33336
33339
  }
33340
+ if (gatewayOverride !== void 0) {
33341
+ throw new LocalCliError({
33342
+ code: "BOOTSTRAP_RELEASE_OVERRIDE_CONFLICT",
33343
+ message: `--release ${bare} names its own gateway, but --gateway-image-ref names ${gatewayOverride}.`,
33344
+ hint: `Drop --gateway-image-ref to install release ${bare} as published, or drop --release to launch that gateway as an unreleased-debug install.`
33345
+ });
33346
+ }
33337
33347
  const sealedManifest2 = await fetchSealed(bare);
33338
33348
  const engineFromManifest2 = engineImageOf(sealedManifest2);
33339
33349
  if (explicitEngine && overrideEngine !== engineFromManifest2) {
@@ -33351,7 +33361,14 @@ async function resolveLaunchTarget(args) {
33351
33361
  return {
33352
33362
  kind: "unreleased-debug",
33353
33363
  engineImage,
33354
- reason: `${overrideFlag} points this install at ${engineImage}, which no release manifest names. The install will deploy what that engine carries and will NOT claim a platform release version.`
33364
+ reason: `${overrideFlag} points this install at ${engineImage}, which no release manifest names. ` + (gatewayOverride !== void 0 ? `--gateway-image-ref also points the gateway at ${gatewayOverride}. ` : "") + "The install will deploy what that engine carries and will NOT claim a platform release version."
33365
+ };
33366
+ }
33367
+ if (gatewayOverride !== void 0) {
33368
+ return {
33369
+ kind: "unreleased-debug",
33370
+ engineImage: pinnedInstallerRef,
33371
+ reason: `--gateway-image-ref points this install at the gateway ${gatewayOverride}, which no release manifest names. The install will deploy that gateway and will NOT claim a platform release version.`
33355
33372
  };
33356
33373
  }
33357
33374
  const sealedManifest = await fetchSealed(pinnedPlatformVersion);
@@ -33475,7 +33492,9 @@ var BootstrapLaunchCommand = class extends M8tCommand {
33475
33492
  // default org/tag is wrong for the current CLI (e.g. a stale published build).
33476
33493
  // Wins over --installer-tag / the pinned default.
33477
33494
  installerImage = Option58.String("--installer-image");
33478
- gatewayImageRef = Option58.String("--gateway-image-ref");
33495
+ gatewayImageRef = Option58.String("--gateway-image-ref", {
33496
+ description: "Deploy an arbitrary gateway image. THIS MAKES THE WHOLE INSTALL UNRELEASED-DEBUG: it claims no release version, writes no platform stamp, and binds the gateway by mutable tag rather than by digest. Maintainer and BYOC path \u2014 not how a release is installed."
33497
+ });
33479
33498
  githubAppCreds = Option58.String("--github-app-creds");
33480
33499
  contactEmail = Option58.String("--contact-email", { description: "Share a contact email with m8t support. Not sent unless you pass it." });
33481
33500
  company = Option58.String("--company", { description: "Share your company name with m8t support. Not sent unless you pass it." });
@@ -33524,6 +33543,10 @@ var BootstrapLaunchCommand = class extends M8tCommand {
33524
33543
  ...typeof this.release === "string" ? { release: this.release } : {},
33525
33544
  ...typeof this.installerTag === "string" ? { installerTag: this.installerTag } : {},
33526
33545
  ...typeof this.installerImage === "string" ? { installerImage: this.installerImage } : {},
33546
+ // Same class as the engine overrides — see the matrix in that module. A
33547
+ // hand-picked gateway makes the whole install unreleased-debug rather than
33548
+ // riding silently on a released launch.
33549
+ ...typeof gatewayImageRef === "string" ? { gatewayImageRef } : {},
33527
33550
  // THE SAME RULE THE ENGINE APPLIES, from the same helper family. The engine
33528
33551
  // derives its URL with manifest_url_for (installer/lib.sh), which honours
33529
33552
  // M8T_UPDATE_CHANNEL_URL — and this launch threads that very variable into