import { log } from "../log.js"; import { writeConfig } from "../util.js"; import { AIDER_CONFIG_FILE, AIDER_ENV_FILE, OPENCODE_CONFIG_FILE, PI_MODELS_FILE, PI_SETTINGS_FILE, CODEX_CONFIG_FILE, } from "../config.js"; import { getActiveChatModel, getActiveTui } from "../runtime-config.js"; import { aiderConfig, aiderEnv } from "../templates/aider.js"; import { opencodeConfig } from "../templates/opencode.js"; import { piModelsConfig, piSettingsConfig } from "../templates/pi.js"; import { codexConfig } from "../templates/codex.js"; export async function writeTuiConfig(): Promise { const chatModel = getActiveChatModel(); const tui = getActiveTui(); // Always write all configs so switching TUIs doesn't require re-running setup await writeConfig(AIDER_CONFIG_FILE, aiderConfig(chatModel.id)); await writeConfig(AIDER_ENV_FILE, aiderEnv()); log(`Aider config written to ${AIDER_CONFIG_FILE}`); await writeConfig( OPENCODE_CONFIG_FILE, opencodeConfig(chatModel.id, chatModel.name), ); log(`OpenCode config written to ${OPENCODE_CONFIG_FILE}`); await writeConfig( PI_MODELS_FILE, piModelsConfig(chatModel.id, chatModel.name), ); await writeConfig(PI_SETTINGS_FILE, piSettingsConfig()); log(`Pi config written to ${PI_MODELS_FILE}`); await writeConfig(CODEX_CONFIG_FILE, codexConfig(chatModel.id)); log(`Codex config written to ${CODEX_CONFIG_FILE}`); // Goose and gptme are configured via env vars at launch time (no config files needed) log(`Active TUI: ${tui.name}`); }