feat: Add Codex CLI provider with OAuth authentication (#1273)

Co-authored-by: Ralph Khreish <35776126+Crunchyman-ralph@users.noreply.github.com>
This commit is contained in:
Ben Vargas
2025-10-05 14:04:45 -06:00
committed by GitHub
parent 86027f1ee4
commit b43b7ce201
28 changed files with 2496 additions and 78 deletions

View File

@@ -3586,6 +3586,10 @@ ${result.result}
'--gemini-cli',
'Allow setting a Gemini CLI model ID (use with --set-*)'
)
.option(
'--codex-cli',
'Allow setting a Codex CLI model ID (use with --set-*)'
)
.addHelpText(
'after',
`
@@ -3601,6 +3605,7 @@ Examples:
$ task-master models --set-main gpt-4o --azure # Set custom Azure OpenAI model for main role
$ task-master models --set-main claude-3-5-sonnet@20241022 --vertex # Set custom Vertex AI model for main role
$ task-master models --set-main gemini-2.5-pro --gemini-cli # Set Gemini CLI model for main role
$ task-master models --set-main gpt-5-codex --codex-cli # Set Codex CLI model for main role
$ task-master models --setup # Run interactive setup`
)
.action(async (options) => {
@@ -3617,12 +3622,13 @@ Examples:
options.ollama,
options.bedrock,
options.claudeCode,
options.geminiCli
options.geminiCli,
options.codexCli
].filter(Boolean).length;
if (providerFlags > 1) {
console.error(
chalk.red(
'Error: Cannot use multiple provider flags (--openrouter, --ollama, --bedrock, --claude-code, --gemini-cli) simultaneously.'
'Error: Cannot use multiple provider flags (--openrouter, --ollama, --bedrock, --claude-code, --gemini-cli, --codex-cli) simultaneously.'
)
);
process.exit(1);
@@ -3668,7 +3674,9 @@ Examples:
? 'claude-code'
: options.geminiCli
? 'gemini-cli'
: undefined
: options.codexCli
? 'codex-cli'
: undefined
});
if (result.success) {
console.log(chalk.green(`${result.data.message}`));
@@ -3694,7 +3702,9 @@ Examples:
? 'claude-code'
: options.geminiCli
? 'gemini-cli'
: undefined
: options.codexCli
? 'codex-cli'
: undefined
});
if (result.success) {
console.log(chalk.green(`${result.data.message}`));
@@ -3722,7 +3732,9 @@ Examples:
? 'claude-code'
: options.geminiCli
? 'gemini-cli'
: undefined
: options.codexCli
? 'codex-cli'
: undefined
});
if (result.success) {
console.log(chalk.green(`${result.data.message}`));