diff --git a/src/cli/config-manager.test.ts b/src/cli/config-manager.test.ts index ad4255d0..4131d8f7 100644 --- a/src/cli/config-manager.test.ts +++ b/src/cli/config-manager.test.ts @@ -206,7 +206,6 @@ describe("generateOmoConfig - v3 beta: no hardcoded models", () => { const config: InstallConfig = { hasClaude: true, isMax20: false, - hasChatGPT: true, hasGemini: false, hasCopilot: false, } @@ -225,7 +224,6 @@ describe("generateOmoConfig - v3 beta: no hardcoded models", () => { const config: InstallConfig = { hasClaude: true, isMax20: true, - hasChatGPT: true, hasGemini: true, hasCopilot: true, } @@ -243,7 +241,6 @@ describe("generateOmoConfig - v3 beta: no hardcoded models", () => { const config: InstallConfig = { hasClaude: false, isMax20: false, - hasChatGPT: false, hasGemini: false, hasCopilot: false, } diff --git a/src/cli/config-manager.ts b/src/cli/config-manager.ts index a11c7eb2..f3aadcf7 100644 --- a/src/cli/config-manager.ts +++ b/src/cli/config-manager.ts @@ -587,7 +587,6 @@ export function detectCurrentConfig(): DetectedConfig { isInstalled: false, hasClaude: true, isMax20: true, - hasChatGPT: true, hasGemini: false, hasCopilot: false, } diff --git a/src/cli/index.ts b/src/cli/index.ts index 40100a9a..dbfcf88f 100644 --- a/src/cli/index.ts +++ b/src/cli/index.ts @@ -24,26 +24,23 @@ program .description("Install and configure oh-my-opencode with interactive setup") .option("--no-tui", "Run in non-interactive mode (requires all options)") .option("--claude ", "Claude subscription: no, yes, max20") - .option("--chatgpt ", "ChatGPT subscription: no, yes") .option("--gemini ", "Gemini integration: no, yes") .option("--copilot ", "GitHub Copilot subscription: no, yes") .option("--skip-auth", "Skip authentication setup hints") .addHelpText("after", ` Examples: $ bunx oh-my-opencode install - $ bunx oh-my-opencode install --no-tui --claude=max20 --chatgpt=yes --gemini=yes --copilot=no - $ bunx oh-my-opencode install --no-tui --claude=no --chatgpt=no --gemini=no --copilot=yes + $ bunx oh-my-opencode install --no-tui --claude=max20 --gemini=yes --copilot=no + $ bunx oh-my-opencode install --no-tui --claude=no --gemini=no --copilot=yes Model Providers: Claude Required for Sisyphus (main orchestrator) and Librarian agents - ChatGPT Powers the Oracle agent for debugging and architecture Gemini Powers frontend, documentation, and multimodal agents `) .action(async (options) => { const args: InstallArgs = { tui: options.tui !== false, claude: options.claude, - chatgpt: options.chatgpt, gemini: options.gemini, copilot: options.copilot, skipAuth: options.skipAuth ?? false, diff --git a/src/cli/install.ts b/src/cli/install.ts index 402a1d4b..6b0238c0 100644 --- a/src/cli/install.ts +++ b/src/cli/install.ts @@ -39,7 +39,6 @@ function formatConfigSummary(config: InstallConfig): string { const claudeDetail = config.hasClaude ? (config.isMax20 ? "max20" : "standard") : undefined lines.push(formatProvider("Claude", config.hasClaude, claudeDetail)) - lines.push(formatProvider("ChatGPT", config.hasChatGPT)) lines.push(formatProvider("Gemini", config.hasGemini)) lines.push(formatProvider("GitHub Copilot", config.hasCopilot, "fallback provider")) @@ -115,12 +114,6 @@ function validateNonTuiArgs(args: InstallArgs): { valid: boolean; errors: string errors.push(`Invalid --claude value: ${args.claude} (expected: no, yes, max20)`) } - if (args.chatgpt === undefined) { - errors.push("--chatgpt is required (values: no, yes)") - } else if (!["no", "yes"].includes(args.chatgpt)) { - errors.push(`Invalid --chatgpt value: ${args.chatgpt} (expected: no, yes)`) - } - if (args.gemini === undefined) { errors.push("--gemini is required (values: no, yes)") } else if (!["no", "yes"].includes(args.gemini)) { @@ -140,13 +133,12 @@ function argsToConfig(args: InstallArgs): InstallConfig { return { hasClaude: args.claude !== "no", isMax20: args.claude === "max20", - hasChatGPT: args.chatgpt === "yes", hasGemini: args.gemini === "yes", hasCopilot: args.copilot === "yes", } } -function detectedToInitialValues(detected: DetectedConfig): { claude: ClaudeSubscription; chatgpt: BooleanArg; gemini: BooleanArg; copilot: BooleanArg } { +function detectedToInitialValues(detected: DetectedConfig): { claude: ClaudeSubscription; gemini: BooleanArg; copilot: BooleanArg } { let claude: ClaudeSubscription = "no" if (detected.hasClaude) { claude = detected.isMax20 ? "max20" : "yes" @@ -154,7 +146,6 @@ function detectedToInitialValues(detected: DetectedConfig): { claude: ClaudeSubs return { claude, - chatgpt: detected.hasChatGPT ? "yes" : "no", gemini: detected.hasGemini ? "yes" : "no", copilot: detected.hasCopilot ? "yes" : "no", } @@ -178,20 +169,6 @@ async function runTuiMode(detected: DetectedConfig): Promise { console.log(` ${SYMBOLS.bullet} ${err}`) } console.log() - printInfo("Usage: bunx oh-my-opencode install --no-tui --claude= --chatgpt= --gemini= --copilot=") + printInfo("Usage: bunx oh-my-opencode install --no-tui --claude= --gemini= --copilot=") console.log() return 1 } @@ -264,7 +240,7 @@ async function runNonTuiInstall(args: InstallArgs): Promise { if (isUpdate) { const initial = detectedToInitialValues(detected) - printInfo(`Current config: Claude=${initial.claude}, ChatGPT=${initial.chatgpt}, Gemini=${initial.gemini}`) + printInfo(`Current config: Claude=${initial.claude}, Gemini=${initial.gemini}`) } const config = argsToConfig(args) @@ -307,7 +283,7 @@ async function runNonTuiInstall(args: InstallArgs): Promise { printBox(formatConfigSummary(config), isUpdate ? "Updated Configuration" : "Installation Complete") - if (!config.hasClaude && !config.hasChatGPT && !config.hasGemini && !config.hasCopilot) { + if (!config.hasClaude && !config.hasGemini && !config.hasCopilot) { printWarning("No model providers configured. Using opencode/glm-4.7-free as fallback.") } @@ -328,11 +304,10 @@ async function runNonTuiInstall(args: InstallArgs): Promise { console.log(color.dim("oMoMoMoMo... Enjoy!")) console.log() - if ((config.hasClaude || config.hasChatGPT || config.hasGemini || config.hasCopilot) && !args.skipAuth) { + if ((config.hasClaude || config.hasGemini || config.hasCopilot) && !args.skipAuth) { printBox( `Run ${color.cyan("opencode auth login")} and select your provider:\n` + (config.hasClaude ? ` ${SYMBOLS.bullet} Anthropic ${color.gray("→ Claude Pro/Max")}\n` : "") + - (config.hasChatGPT ? ` ${SYMBOLS.bullet} OpenAI ${color.gray("→ ChatGPT Plus/Pro")}\n` : "") + (config.hasGemini ? ` ${SYMBOLS.bullet} Google ${color.gray("→ OAuth with Antigravity")}\n` : "") + (config.hasCopilot ? ` ${SYMBOLS.bullet} GitHub ${color.gray("→ Copilot")}` : ""), "🔐 Authenticate Your Providers" @@ -354,7 +329,7 @@ export async function install(args: InstallArgs): Promise { if (isUpdate) { const initial = detectedToInitialValues(detected) - p.log.info(`Existing configuration detected: Claude=${initial.claude}, ChatGPT=${initial.chatgpt}, Gemini=${initial.gemini}`) + p.log.info(`Existing configuration detected: Claude=${initial.claude}, Gemini=${initial.gemini}`) } const s = p.spinner() @@ -413,7 +388,7 @@ export async function install(args: InstallArgs): Promise { } s.stop(`Config written to ${color.cyan(omoResult.configPath)}`) - if (!config.hasClaude && !config.hasChatGPT && !config.hasGemini && !config.hasCopilot) { + if (!config.hasClaude && !config.hasGemini && !config.hasCopilot) { p.log.warn("No model providers configured. Using opencode/glm-4.7-free as fallback.") } @@ -434,10 +409,9 @@ export async function install(args: InstallArgs): Promise { p.outro(color.green("oMoMoMoMo... Enjoy!")) - if ((config.hasClaude || config.hasChatGPT || config.hasGemini || config.hasCopilot) && !args.skipAuth) { + if ((config.hasClaude || config.hasGemini || config.hasCopilot) && !args.skipAuth) { const providers: string[] = [] if (config.hasClaude) providers.push(`Anthropic ${color.gray("→ Claude Pro/Max")}`) - if (config.hasChatGPT) providers.push(`OpenAI ${color.gray("→ ChatGPT Plus/Pro")}`) if (config.hasGemini) providers.push(`Google ${color.gray("→ OAuth with Antigravity")}`) if (config.hasCopilot) providers.push(`GitHub ${color.gray("→ Copilot")}`) diff --git a/src/cli/types.ts b/src/cli/types.ts index 39214e79..72b2dc75 100644 --- a/src/cli/types.ts +++ b/src/cli/types.ts @@ -4,7 +4,6 @@ export type BooleanArg = "no" | "yes" export interface InstallArgs { tui: boolean claude?: ClaudeSubscription - chatgpt?: BooleanArg gemini?: BooleanArg copilot?: BooleanArg skipAuth?: boolean @@ -13,7 +12,6 @@ export interface InstallArgs { export interface InstallConfig { hasClaude: boolean isMax20: boolean - hasChatGPT: boolean hasGemini: boolean hasCopilot: boolean } @@ -28,7 +26,6 @@ export interface DetectedConfig { isInstalled: boolean hasClaude: boolean isMax20: boolean - hasChatGPT: boolean hasGemini: boolean hasCopilot: boolean }