// src/cli/commands/ft-off.ts
import { existsSync, readFileSync, writeFileSync } from "node:fs";
import { join } from "node:path";
import { paths } from "../../lifecycle/paths.ts";

export async function cmdFtOff(_positional: string[], verbose: boolean): Promise<number> {
  const settingsPath = join(paths.home(), ".claude", "settings.json");
  if (!existsSync(settingsPath)) { console.log("err=no-settings-json"); return 1; }
  const cfg = JSON.parse(readFileSync(settingsPath, "utf8")) as Record<string, unknown>;
  const env = (cfg.env ?? {}) as Record<string, unknown>;
  if (!env.ANTHROPIC_BASE_URL) {
    console.log(verbose ? "FT already off." : "ok already-off");
    return 0;
  }
  delete env.ANTHROPIC_BASE_URL;
  if (Object.keys(env).length === 0) delete cfg.env;
  else cfg.env = env;
  writeFileSync(settingsPath, JSON.stringify(cfg, null, 2) + "\n");
  if (verbose) console.log("FT off. Restart claude to apply. Pre-FT behavior restored.");
  else console.log("ok restart-claude");
  return 0;
}
