@vellumai/cli 0.10.9-dev.202607162023.cfcbc5d → 0.10.9-staging.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vellumai/cli",
3
- "version": "0.10.9-dev.202607162023.cfcbc5d",
3
+ "version": "0.10.9-staging.1",
4
4
  "description": "CLI tools for vellum-assistant",
5
5
  "type": "module",
6
6
  "exports": {
@@ -7,7 +7,6 @@ import {
7
7
  AVATAR_DEVICE_ENV_VAR,
8
8
  collectWatchTargets,
9
9
  dockerResourceNames,
10
- ensureDockerDaemonRunning,
11
10
  resolveAvatarDevicePath,
12
11
  resolveDockerHatchMode,
13
12
  resolveDockerProviderCredentialSetupAction,
@@ -381,58 +380,3 @@ describe("collectWatchTargets", () => {
381
380
  expect(files).toEqual([join(repoRoot, "gateway", "package.json")]);
382
381
  });
383
382
  });
384
-
385
- /**
386
- * Build a fake `exec` that records calls and fails the probes named in `fail`.
387
- * Injected into `ensureDockerDaemonRunning` so these cases need no `mock.module`
388
- * (which is process-global and would leak across the CLI's single-process test
389
- * run) and no real Docker/Colima subprocesses.
390
- */
391
- function fakeExec(fail: { dockerInfo?: boolean; colimaStatus?: boolean }) {
392
- const calls: Array<{ cmd: string; args: string[] }> = [];
393
- const exec = async (cmd: string, args: string[] = []): Promise<void> => {
394
- calls.push({ cmd, args });
395
- if (cmd === "docker" && args[0] === "info" && fail.dockerInfo) {
396
- throw new Error("Cannot connect to the Docker daemon");
397
- }
398
- if (cmd === "colima" && args[0] === "status" && fail.colimaStatus) {
399
- throw new Error("colima is not running");
400
- }
401
- };
402
- const ran = (cmd: string, sub: string): boolean =>
403
- calls.some((c) => c.cmd === cmd && c.args[0] === sub);
404
- return { exec: exec as typeof import("../step-runner.js").exec, ran };
405
- }
406
-
407
- describe("ensureDockerDaemonRunning", () => {
408
- // Regression: waking an instance hatched under Docker Desktop must NOT start
409
- // Colima, because that switches the active `docker context` and points
410
- // `docker start` at a VM that never held the instance's containers.
411
- test("reuses an already-reachable daemon (e.g. Docker Desktop) and never touches Colima", async () => {
412
- const { exec, ran } = fakeExec({ dockerInfo: false });
413
-
414
- await ensureDockerDaemonRunning(exec);
415
-
416
- expect(ran("docker", "info")).toBe(true);
417
- expect(ran("colima", "status")).toBe(false);
418
- expect(ran("colima", "start")).toBe(false);
419
- });
420
-
421
- test("starts Colima only when no daemon is reachable", async () => {
422
- const { exec, ran } = fakeExec({ dockerInfo: true, colimaStatus: true });
423
-
424
- await ensureDockerDaemonRunning(exec);
425
-
426
- expect(ran("docker", "info")).toBe(true);
427
- expect(ran("colima", "start")).toBe(true);
428
- });
429
-
430
- test("does not restart Colima when it is already running", async () => {
431
- const { exec, ran } = fakeExec({ dockerInfo: true, colimaStatus: false });
432
-
433
- await ensureDockerDaemonRunning(exec);
434
-
435
- expect(ran("colima", "status")).toBe(true);
436
- expect(ran("colima", "start")).toBe(false);
437
- });
438
- });
package/src/lib/docker.ts CHANGED
@@ -776,12 +776,12 @@ export async function sleepContainers(
776
776
  }
777
777
  }
778
778
 
779
- /** Start existing stopped containers, ensuring a Docker daemon is up first (macOS only). */
779
+ /** Start existing stopped containers, starting Colima first if it isn't running (macOS only). */
780
780
  export async function wakeContainers(
781
781
  res: ReturnType<typeof dockerResourceNames>,
782
782
  ): Promise<void> {
783
783
  if (platform() !== "linux") {
784
- await ensureDockerDaemonRunning();
784
+ await ensureColimaRunning();
785
785
  }
786
786
  for (const container of [
787
787
  res.assistantContainer,
@@ -793,42 +793,16 @@ export async function wakeContainers(
793
793
  }
794
794
 
795
795
  /**
796
- * Ensure a Docker daemon is reachable before waking an instance's containers
797
- * (macOS only on Linux the daemon runs natively).
798
- *
799
- * If a daemon is already reachable, reuse it and return: `hatch` created the
800
- * containers under whatever `docker context` was active at the time (Docker
801
- * Desktop, an already-running Colima, a remote context, …), and `docker start`
802
- * targets the active context. Unconditionally starting Colima would switch the
803
- * active context to `colima` and point `docker start` at a VM that never held
804
- * those containers — so Colima is only started as a fallback when no daemon is
805
- * reachable at all (the toolchain `hatch` installs on macOS when Docker Desktop
806
- * isn't present). This mirrors {@link ensureDockerInstalled}, which likewise
807
- * only starts Colima when `docker info` fails.
808
- *
809
- * `execFn` is injectable so unit tests can drive the probe outcomes without a
810
- * real Docker/Colima toolchain; production callers use the real {@link exec}.
811
- * Assumes the toolchain is already installed (handled during hatch).
796
+ * Checks whether Colima is running and starts it if not.
797
+ * Assumes the Docker/Colima toolchain is already installed (handled during hatch).
812
798
  */
813
- export async function ensureDockerDaemonRunning(
814
- execFn: typeof exec = exec,
815
- ): Promise<void> {
799
+ async function ensureColimaRunning(): Promise<void> {
816
800
  ensureLocalBinOnPath();
817
-
818
- // A reachable daemon — Docker Desktop, a running Colima, or any other active
819
- // context — is exactly what hatch used. Reuse it rather than forcing Colima.
820
- try {
821
- await execFn("docker", ["info"]);
822
- return;
823
- } catch {
824
- // No daemon reachable — fall through to the Colima fallback below.
825
- }
826
-
827
801
  try {
828
- await execFn("colima", ["status"]);
802
+ await exec("colima", ["status"]);
829
803
  } catch {
830
- console.log("🚀 Docker daemon not running. Starting Colima...");
831
- await execFn("colima", ["start"]);
804
+ console.log("🚀 Colima is not running. Starting Colima...");
805
+ await exec("colima", ["start"]);
832
806
  }
833
807
  }
834
808
 
@@ -75,7 +75,6 @@ const PROVIDER_LABELS: Record<LlmProviderId, string> = {
75
75
  minimax: "MiniMax",
76
76
  atlascloud: "Atlas Cloud",
77
77
  together: "Together AI",
78
- baseten: "Baseten",
79
78
  };
80
79
 
81
80
  export function formatProviderName(provider: LlmProviderId): string {
@@ -191,9 +190,6 @@ export function inferProviderFromModel(model: string): string | undefined {
191
190
  if (model.startsWith("deepseek-ai/")) {
192
191
  return "atlascloud";
193
192
  }
194
- if (model.startsWith("thinkingmachines/")) {
195
- return "baseten";
196
- }
197
193
  if (model.includes("/")) {
198
194
  return "openrouter";
199
195
  }
@@ -30,7 +30,6 @@ export const LLM_PROVIDER_ENV_VAR_NAMES: Record<string, string> = {
30
30
  minimax: "MINIMAX_API_KEY",
31
31
  atlascloud: "ATLASCLOUD_API_KEY",
32
32
  together: "TOGETHER_API_KEY",
33
- baseten: "BASETEN_API_KEY",
34
33
  };
35
34
 
36
35
  /** Search-provider env var names. Mirrors `SEARCH_PROVIDER_CATALOG` BYOK entries. */