diff --git a/package-lock.json b/package-lock.json index c4b109cd..e22ae1ed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2716,7 +2716,7 @@ }, "packages/agent": { "name": "@mariozechner/pi-agent", - "version": "0.5.25", + "version": "0.5.26", "license": "MIT", "dependencies": { "@mariozechner/pi-tui": "^0.5.19", @@ -3098,7 +3098,7 @@ }, "packages/ai": { "name": "@mariozechner/pi-ai", - "version": "0.5.25", + "version": "0.5.26", "license": "MIT", "dependencies": { "@anthropic-ai/sdk": "^0.60.0", @@ -3134,7 +3134,7 @@ }, "packages/pods": { "name": "@mariozechner/pi", - "version": "0.5.25", + "version": "0.5.26", "license": "MIT", "dependencies": { "@mariozechner/pi-agent": "^0.5.19", @@ -3150,7 +3150,7 @@ }, "packages/tui": { "name": "@mariozechner/pi-tui", - "version": "0.5.25", + "version": "0.5.26", "license": "MIT", "dependencies": { "@types/mime-types": "^2.1.4", diff --git a/packages/agent/package-lock.json b/packages/agent/package-lock.json index 35dc6c8c..0febeb8d 100644 --- a/packages/agent/package-lock.json +++ b/packages/agent/package-lock.json @@ -1,12 +1,12 @@ { "name": "@mariozechner/pi-agent", - "version": "0.5.25", + "version": "0.5.26", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@mariozechner/pi-agent", - "version": "0.5.25", + "version": "0.5.26", "license": "MIT", "dependencies": { "@mariozechner/tui": "^0.1.1", diff --git a/packages/agent/package.json b/packages/agent/package.json index 97f2d352..727545e3 100644 --- a/packages/agent/package.json +++ b/packages/agent/package.json @@ -1,6 +1,6 @@ { "name": "@mariozechner/pi-agent", - "version": "0.5.25", + "version": "0.5.26", "description": "General-purpose agent with tool calling and session persistence", "type": "module", "bin": { @@ -18,7 +18,7 @@ "prepublishOnly": "npm run clean && npm run build" }, "dependencies": { - "@mariozechner/pi-tui": "^0.5.19", + "@mariozechner/pi-tui": "^0.5.26", "@types/glob": "^8.1.0", "chalk": "^5.5.0", "glob": "^11.0.3", diff --git a/packages/ai/package.json b/packages/ai/package.json index 49fdde85..ac881147 100644 --- a/packages/ai/package.json +++ b/packages/ai/package.json @@ -1,6 +1,6 @@ { "name": "@mariozechner/pi-ai", - "version": "0.5.25", + "version": "0.5.26", "description": "Unified LLM API with automatic model discovery and provider configuration", "type": "module", "main": "./dist/index.js", diff --git a/packages/ai/scripts/generate-models.ts b/packages/ai/scripts/generate-models.ts index 665ac4a7..50548587 100644 --- a/packages/ai/scripts/generate-models.ts +++ b/packages/ai/scripts/generate-models.ts @@ -63,8 +63,8 @@ async function fetchOpenRouterModels(): Promise { let modelKey = model.id; // Skip models that we get from models.dev (Anthropic, Google, OpenAI) - if (model.id.startsWith("google/") || - model.id.startsWith("openai/") || + if (model.id.startsWith("google/") || + model.id.startsWith("openai/") || model.id.startsWith("anthropic/")) { continue; } else if (model.id.startsWith("x-ai/")) { @@ -275,6 +275,25 @@ async function generateModels() { // Combine models (models.dev has priority) const allModels = [...modelsDevModels, ...openRouterModels]; + // Add missing gpt models + if (!allModels.some(m => m.provider === "openai" && m.id === "gpt-5-chat-latest")) { + allModels.push({ + id: "gpt-5-chat-latest", + name: "GPT-5 Chat Latest", + provider: "openai", + reasoning: false, + input: ["text", "image"], + cost: { + input: 1.25, + output: 10, + cacheRead: 0.125, + cacheWrite: 0, + }, + contextWindow: 128000, + maxTokens: 16384, + }); + } + // Group by provider and deduplicate by model ID const providers: Record> = {}; for (const model of allModels) { diff --git a/packages/ai/src/models.generated.ts b/packages/ai/src/models.generated.ts index 8dfaccd5..2411be20 100644 --- a/packages/ai/src/models.generated.ts +++ b/packages/ai/src/models.generated.ts @@ -629,6 +629,21 @@ export const PROVIDERS = { contextWindow: 200000, maxTokens: 100000, } satisfies Model, + "gpt-5-chat-latest": { + id: "gpt-5-chat-latest", + name: "GPT-5 Chat Latest", + provider: "openai", + reasoning: false, + input: ["text", "image"], + cost: { + input: 1.25, + output: 10, + cacheRead: 0.125, + cacheWrite: 0, + }, + contextWindow: 128000, + maxTokens: 16384, + } satisfies Model, }, }, groq: { diff --git a/packages/pods/package-lock.json b/packages/pods/package-lock.json index 6e68c52d..22845edc 100644 --- a/packages/pods/package-lock.json +++ b/packages/pods/package-lock.json @@ -1,12 +1,12 @@ { "name": "@mariozechner/pi", - "version": "0.5.25", + "version": "0.5.26", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@mariozechner/pi", - "version": "0.5.25", + "version": "0.5.26", "license": "MIT", "dependencies": { "@ai-sdk/openai": "^2.0.5", diff --git a/packages/pods/package.json b/packages/pods/package.json index 401642ee..7a1aaa4b 100644 --- a/packages/pods/package.json +++ b/packages/pods/package.json @@ -1,6 +1,6 @@ { "name": "@mariozechner/pi", - "version": "0.5.25", + "version": "0.5.26", "description": "CLI tool for managing vLLM deployments on GPU pods", "type": "module", "bin": { @@ -34,7 +34,7 @@ "node": ">=20.0.0" }, "dependencies": { - "@mariozechner/pi-agent": "^0.5.19", + "@mariozechner/pi-agent": "^0.5.26", "chalk": "^5.5.0" }, "devDependencies": {} diff --git a/packages/tui/package-lock.json b/packages/tui/package-lock.json index 367c1820..c6eb52d1 100644 --- a/packages/tui/package-lock.json +++ b/packages/tui/package-lock.json @@ -1,12 +1,12 @@ { "name": "@mariozechner/tui", - "version": "0.5.25", + "version": "0.5.26", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@mariozechner/tui", - "version": "0.5.25", + "version": "0.5.26", "license": "MIT", "dependencies": { "@types/mime-types": "^2.1.4", diff --git a/packages/tui/package.json b/packages/tui/package.json index d3e5d82e..bc480e71 100644 --- a/packages/tui/package.json +++ b/packages/tui/package.json @@ -1,6 +1,6 @@ { "name": "@mariozechner/pi-tui", - "version": "0.5.25", + "version": "0.5.26", "description": "Terminal User Interface library with differential rendering for efficient text-based applications", "type": "module", "main": "dist/index.js",