From 0519aba8203994907184ee3a3d117133ceafef79 Mon Sep 17 00:00:00 2001 From: Kacper Date: Sat, 13 Dec 2025 03:50:31 +0100 Subject: [PATCH] feat: add missing Codex models and restore subprocess logs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Added gpt-5.1-codex-mini model (lightweight, faster) - Added gpt-5.1 model (general-purpose) - Restored subprocess spawn/exit logs for debugging - Now all 5 Codex models are available: * GPT-5.2 * GPT-5.1 Codex Max * GPT-5.1 Codex * GPT-5.1 Codex Mini * GPT-5.1 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 --- apps/server/src/lib/subprocess-manager.ts | 6 +++++- apps/server/src/providers/codex-provider.ts | 24 +++++++++++++++++++++ apps/server/src/routes/models.ts | 18 ++++++++++++++++ 3 files changed, 47 insertions(+), 1 deletion(-) diff --git a/apps/server/src/lib/subprocess-manager.ts b/apps/server/src/lib/subprocess-manager.ts index ddfc7485..bb03d288 100644 --- a/apps/server/src/lib/subprocess-manager.ts +++ b/apps/server/src/lib/subprocess-manager.ts @@ -33,6 +33,9 @@ export async function* spawnJSONLProcess( ...env, }; + console.log(`[SubprocessManager] Spawning: ${command} ${args.slice(0, -1).join(" ")}`); + console.log(`[SubprocessManager] Working directory: ${cwd}`); + const childProcess: ChildProcess = spawn(command, args, { cwd, env: processEnv, @@ -123,6 +126,7 @@ export async function* spawnJSONLProcess( // Wait for process to exit const exitCode = await new Promise((resolve) => { childProcess.on("exit", (code) => { + console.log(`[SubprocessManager] Process exited with code: ${code}`); resolve(code); }); @@ -144,7 +148,7 @@ export async function* spawnJSONLProcess( // Process completed successfully if (exitCode === 0 && !stderrOutput) { - // Success - no logging needed + console.log("[SubprocessManager] Process completed successfully"); } } diff --git a/apps/server/src/providers/codex-provider.ts b/apps/server/src/providers/codex-provider.ts index 0c608def..4739b7c8 100644 --- a/apps/server/src/providers/codex-provider.ts +++ b/apps/server/src/providers/codex-provider.ts @@ -537,6 +537,30 @@ export class CodexProvider extends BaseProvider { supportsTools: true, tier: "standard", }, + { + id: "gpt-5.1-codex-mini", + name: "GPT-5.1 Codex Mini", + modelString: "gpt-5.1-codex-mini", + provider: "openai-codex", + description: "Faster, lightweight Codex model", + contextWindow: 256000, + maxOutputTokens: 16384, + supportsVision: false, + supportsTools: true, + tier: "basic", + }, + { + id: "gpt-5.1", + name: "GPT-5.1", + modelString: "gpt-5.1", + provider: "openai-codex", + description: "General-purpose GPT-5.1 model", + contextWindow: 256000, + maxOutputTokens: 32768, + supportsVision: true, + supportsTools: true, + tier: "standard", + }, ]; } diff --git a/apps/server/src/routes/models.ts b/apps/server/src/routes/models.ts index 6738e455..c45bae19 100644 --- a/apps/server/src/routes/models.ts +++ b/apps/server/src/routes/models.ts @@ -118,6 +118,24 @@ export function createModelsRoutes(): Router { supportsVision: true, supportsTools: true, }, + { + id: "gpt-5.1-codex-mini", + name: "GPT-5.1 Codex Mini", + provider: "openai-codex", + contextWindow: 256000, + maxOutputTokens: 16384, + supportsVision: false, + supportsTools: true, + }, + { + id: "gpt-5.1", + name: "GPT-5.1", + provider: "openai-codex", + contextWindow: 256000, + maxOutputTokens: 32768, + supportsVision: true, + supportsTools: true, + }, ]; res.json({ success: true, models });