diff --git a/AGENTS.md b/AGENTS.md index c08f7bde..3a840603 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -13,4 +13,5 @@ - Keep you answers short and concise and to the point. - Do NOT use inline imports ala `await import("./theme/theme.js");` - Read `~/agent-tools/browser-tools/README.md` if you need to run an interact with a browser -- Use GitHub CLI to interact with GitHub issues and pull requests \ No newline at end of file +- Use GitHub CLI to interact with GitHub issues and pull requests +- Use `tmux` (installed globally) if you need to interact with a TUI app \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 5c8b65f0..c2242dc6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3850,8 +3850,8 @@ "version": "0.9.1", "license": "MIT", "dependencies": { - "@mariozechner/pi-ai": "^0.9.0", - "@mariozechner/pi-tui": "^0.9.0" + "@mariozechner/pi-ai": "^0.9.1", + "@mariozechner/pi-tui": "^0.9.1" }, "devDependencies": { "@types/node": "^24.3.0", @@ -3925,9 +3925,9 @@ "version": "0.9.1", "license": "MIT", "dependencies": { - "@mariozechner/pi-agent-core": "^0.9.0", - "@mariozechner/pi-ai": "^0.9.0", - "@mariozechner/pi-tui": "^0.9.0", + "@mariozechner/pi-agent-core": "^0.9.1", + "@mariozechner/pi-ai": "^0.9.1", + "@mariozechner/pi-tui": "^0.9.1", "chalk": "^5.5.0", "diff": "^8.0.2", "glob": "^11.0.3" @@ -3967,7 +3967,7 @@ "version": "0.9.1", "license": "MIT", "dependencies": { - "@mariozechner/pi-agent-core": "^0.9.0", + "@mariozechner/pi-agent-core": "^0.9.1", "chalk": "^5.5.0" }, "bin": { @@ -4035,8 +4035,8 @@ "license": "MIT", "dependencies": { "@lmstudio/sdk": "^1.5.0", - "@mariozechner/pi-ai": "^0.9.0", - "@mariozechner/pi-tui": "^0.9.0", + "@mariozechner/pi-ai": "^0.9.1", + "@mariozechner/pi-tui": "^0.9.1", "docx-preview": "^0.3.7", "jszip": "^3.10.1", "lucide": "^0.544.0", diff --git a/packages/ai/src/models.generated.ts b/packages/ai/src/models.generated.ts index 9bea9d0a..8efb1009 100644 --- a/packages/ai/src/models.generated.ts +++ b/packages/ai/src/models.generated.ts @@ -1458,23 +1458,6 @@ export const MODELS = { contextWindow: 131072, maxTokens: 40960, } satisfies Model<"openai-completions">, - "qwen-3-coder-480b": { - id: "qwen-3-coder-480b", - name: "Qwen 3 Coder 480B", - api: "openai-completions", - provider: "cerebras", - baseUrl: "https://api.cerebras.ai/v1", - reasoning: false, - input: ["text"], - cost: { - input: 2, - output: 2, - cacheRead: 0, - cacheWrite: 0, - }, - contextWindow: 131000, - maxTokens: 32000, - } satisfies Model<"openai-completions">, "gpt-oss-120b": { id: "gpt-oss-120b", name: "GPT OSS 120B", @@ -1957,6 +1940,23 @@ export const MODELS = { } satisfies Model<"anthropic-messages">, }, openrouter: { + "allenai/olmo-3-7b-instruct": { + id: "allenai/olmo-3-7b-instruct", + name: "AllenAI: Olmo 3 7B Instruct", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: false, + input: ["text"], + cost: { + input: 0.09999999999999999, + output: 0.19999999999999998, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 65536, + maxTokens: 65536, + } satisfies Model<"openai-completions">, "x-ai/grok-4.1-fast": { id: "x-ai/grok-4.1-fast", name: "xAI: Grok 4.1 Fast", @@ -2187,8 +2187,8 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.255, - output: 1.02, + input: 0.24, + output: 0.96, cacheRead: 0, cacheWrite: 0, }, @@ -2272,8 +2272,8 @@ export const MODELS = { reasoning: false, input: ["text", "image"], cost: { - input: 0.08, - output: 0.5, + input: 0.064, + output: 0.39999999999999997, cacheRead: 0, cacheWrite: 0, }, @@ -2357,8 +2357,8 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 0.19999999999999998, - output: 1, + input: 0.16, + output: 0.7999999999999999, cacheRead: 0, cacheWrite: 0, }, @@ -2459,13 +2459,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.27, - output: 0.39999999999999997, + input: 0.216, + output: 0.328, cacheRead: 0, cacheWrite: 0, }, contextWindow: 163840, - maxTokens: 4096, + maxTokens: 65536, } satisfies Model<"openai-completions">, "google/gemini-2.5-flash-preview-09-2025": { id: "google/gemini-2.5-flash-preview-09-2025", @@ -2586,23 +2586,6 @@ export const MODELS = { contextWindow: 400000, maxTokens: 128000, } satisfies Model<"openai-completions">, - "deepseek/deepseek-v3.1-terminus": { - id: "deepseek/deepseek-v3.1-terminus", - name: "DeepSeek: DeepSeek V3.1 Terminus", - api: "openai-completions", - provider: "openrouter", - baseUrl: "https://openrouter.ai/api/v1", - reasoning: true, - input: ["text"], - cost: { - input: 0.22999999999999998, - output: 0.8999999999999999, - cacheRead: 0, - cacheWrite: 0, - }, - contextWindow: 163840, - maxTokens: 163840, - } satisfies Model<"openai-completions">, "deepseek/deepseek-v3.1-terminus:exacto": { id: "deepseek/deepseek-v3.1-terminus:exacto", name: "DeepSeek: DeepSeek V3.1 Terminus (exacto)", @@ -2612,8 +2595,25 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.27, - output: 1, + input: 0.216, + output: 0.7999999999999999, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 131072, + maxTokens: 65536, + } satisfies Model<"openai-completions">, + "deepseek/deepseek-v3.1-terminus": { + id: "deepseek/deepseek-v3.1-terminus", + name: "DeepSeek: DeepSeek V3.1 Terminus", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text"], + cost: { + input: 0.216, + output: 0.7999999999999999, cacheRead: 0, cacheWrite: 0, }, @@ -2697,13 +2697,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.15, + input: 0.12, output: 1.2, cacheRead: 0, cacheWrite: 0, }, - contextWindow: 262144, - maxTokens: 262144, + contextWindow: 131072, + maxTokens: 32768, } satisfies Model<"openai-completions">, "qwen/qwen3-next-80b-a3b-instruct": { id: "qwen/qwen3-next-80b-a3b-instruct", @@ -3020,8 +3020,8 @@ export const MODELS = { reasoning: false, input: ["text"], cost: { - input: 0.07, - output: 0.28, + input: 0.056, + output: 0.224, cacheRead: 0, cacheWrite: 0, }, @@ -3037,8 +3037,8 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 0.14, - output: 0.56, + input: 0.112, + output: 0.448, cacheRead: 0, cacheWrite: 0, }, @@ -3054,8 +3054,8 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 0.6, - output: 1.7999999999999998, + input: 0.48, + output: 1.44, cacheRead: 0.11, cacheWrite: 0, }, @@ -3147,6 +3147,23 @@ export const MODELS = { contextWindow: 400000, maxTokens: 128000, } satisfies Model<"openai-completions">, + "openai/gpt-oss-120b:exacto": { + id: "openai/gpt-oss-120b:exacto", + name: "OpenAI: gpt-oss-120b (exacto)", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text"], + cost: { + input: 0.04, + output: 0.19999999999999998, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 131072, + maxTokens: 32768, + } satisfies Model<"openai-completions">, "openai/gpt-oss-120b": { id: "openai/gpt-oss-120b", name: "OpenAI: gpt-oss-120b", @@ -3157,29 +3174,12 @@ export const MODELS = { input: ["text"], cost: { input: 0.04, - output: 0.39999999999999997, + output: 0.19999999999999998, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, - maxTokens: 131072, - } satisfies Model<"openai-completions">, - "openai/gpt-oss-120b:exacto": { - id: "openai/gpt-oss-120b:exacto", - name: "OpenAI: gpt-oss-120b (exacto)", - api: "openai-completions", - provider: "openrouter", - baseUrl: "https://openrouter.ai/api/v1", - reasoning: true, - input: ["text"], - cost: { - input: 0.049999999999999996, - output: 0.24, - cacheRead: 0, - cacheWrite: 0, - }, - contextWindow: 131072, - maxTokens: 4096, + maxTokens: 32768, } satisfies Model<"openai-completions">, "openai/gpt-oss-20b:free": { id: "openai/gpt-oss-20b:free", @@ -3326,8 +3326,8 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.13, - output: 0.85, + input: 0.10400000000000001, + output: 0.6799999999999999, cacheRead: 0, cacheWrite: 0, }, @@ -3411,13 +3411,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.38, - output: 1.53, + input: 1, + output: 4, cacheRead: 0, cacheWrite: 0, }, contextWindow: 262144, - maxTokens: 262144, + maxTokens: 32768, } satisfies Model<"openai-completions">, "google/gemini-2.5-flash-lite": { id: "google/gemini-2.5-flash-lite", @@ -3445,13 +3445,13 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.08, - output: 0.55, + input: 0.072, + output: 0.464, cacheRead: 0, cacheWrite: 0, }, - contextWindow: 262144, - maxTokens: 262144, + contextWindow: 131072, + maxTokens: 16384, } satisfies Model<"openai-completions">, "moonshotai/kimi-k2": { id: "moonshotai/kimi-k2", @@ -3462,13 +3462,13 @@ export const MODELS = { reasoning: false, input: ["text"], cost: { - input: 0.5, - output: 2.4, + input: 0.456, + output: 1.8399999999999999, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, - maxTokens: 4096, + maxTokens: 131072, } satisfies Model<"openai-completions">, "mistralai/devstral-medium": { id: "mistralai/devstral-medium", @@ -3972,8 +3972,8 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.035, - output: 0.13799999999999998, + input: 0.028, + output: 0.1104, cacheRead: 0, cacheWrite: 0, }, @@ -4006,8 +4006,8 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.049999999999999996, - output: 0.19999999999999998, + input: 0.08, + output: 0.24, cacheRead: 0, cacheWrite: 0, }, @@ -4193,13 +4193,13 @@ export const MODELS = { reasoning: false, input: ["text", "image"], cost: { - input: 0.15, - output: 0.6, + input: 0.136, + output: 0.6799999999999999, cacheRead: 0, cacheWrite: 0, }, contextWindow: 1048576, - maxTokens: 16384, + maxTokens: 8192, } satisfies Model<"openai-completions">, "meta-llama/llama-4-scout": { id: "meta-llama/llama-4-scout", @@ -4244,9 +4244,9 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 0.24, - output: 0.84, - cacheRead: 0, + input: 0.216, + output: 0.896, + cacheRead: 0.135, cacheWrite: 0, }, contextWindow: 163840, @@ -4652,13 +4652,13 @@ export const MODELS = { reasoning: false, input: ["text"], cost: { - input: 0.13, - output: 0.38, + input: 0.10400000000000001, + output: 0.312, cacheRead: 0, cacheWrite: 0, }, contextWindow: 131072, - maxTokens: 16384, + maxTokens: 120000, } satisfies Model<"openai-completions">, "amazon/nova-lite-v1": { id: "amazon/nova-lite-v1", @@ -5085,23 +5085,6 @@ export const MODELS = { contextWindow: 128000, maxTokens: 16384, } satisfies Model<"openai-completions">, - "meta-llama/llama-3.1-8b-instruct": { - id: "meta-llama/llama-3.1-8b-instruct", - name: "Meta: Llama 3.1 8B Instruct", - api: "openai-completions", - provider: "openrouter", - baseUrl: "https://openrouter.ai/api/v1", - reasoning: false, - input: ["text"], - cost: { - input: 0.02, - output: 0.03, - cacheRead: 0, - cacheWrite: 0, - }, - contextWindow: 131072, - maxTokens: 16384, - } satisfies Model<"openai-completions">, "meta-llama/llama-3.1-70b-instruct": { id: "meta-llama/llama-3.1-70b-instruct", name: "Meta: Llama 3.1 70B Instruct", @@ -5119,6 +5102,23 @@ export const MODELS = { contextWindow: 131072, maxTokens: 4096, } satisfies Model<"openai-completions">, + "meta-llama/llama-3.1-8b-instruct": { + id: "meta-llama/llama-3.1-8b-instruct", + name: "Meta: Llama 3.1 8B Instruct", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: false, + input: ["text"], + cost: { + input: 0.02, + output: 0.03, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 131072, + maxTokens: 16384, + } satisfies Model<"openai-completions">, "meta-llama/llama-3.1-405b-instruct": { id: "meta-llama/llama-3.1-405b-instruct", name: "Meta: Llama 3.1 405B Instruct", @@ -5153,9 +5153,9 @@ export const MODELS = { contextWindow: 131072, maxTokens: 16384, } satisfies Model<"openai-completions">, - "openai/gpt-4o-mini": { - id: "openai/gpt-4o-mini", - name: "OpenAI: GPT-4o-mini", + "openai/gpt-4o-mini-2024-07-18": { + id: "openai/gpt-4o-mini-2024-07-18", + name: "OpenAI: GPT-4o-mini (2024-07-18)", api: "openai-completions", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", @@ -5170,9 +5170,9 @@ export const MODELS = { contextWindow: 128000, maxTokens: 16384, } satisfies Model<"openai-completions">, - "openai/gpt-4o-mini-2024-07-18": { - id: "openai/gpt-4o-mini-2024-07-18", - name: "OpenAI: GPT-4o-mini (2024-07-18)", + "openai/gpt-4o-mini": { + id: "openai/gpt-4o-mini", + name: "OpenAI: GPT-4o-mini", api: "openai-completions", provider: "openrouter", baseUrl: "https://openrouter.ai/api/v1", @@ -5272,6 +5272,23 @@ export const MODELS = { contextWindow: 128000, maxTokens: 4096, } satisfies Model<"openai-completions">, + "openai/gpt-4o-2024-05-13": { + id: "openai/gpt-4o-2024-05-13", + name: "OpenAI: GPT-4o (2024-05-13)", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: false, + input: ["text", "image"], + cost: { + input: 5, + output: 15, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 128000, + maxTokens: 4096, + } satisfies Model<"openai-completions">, "openai/gpt-4o": { id: "openai/gpt-4o", name: "OpenAI: GPT-4o", @@ -5306,23 +5323,6 @@ export const MODELS = { contextWindow: 128000, maxTokens: 64000, } satisfies Model<"openai-completions">, - "openai/gpt-4o-2024-05-13": { - id: "openai/gpt-4o-2024-05-13", - name: "OpenAI: GPT-4o (2024-05-13)", - api: "openai-completions", - provider: "openrouter", - baseUrl: "https://openrouter.ai/api/v1", - reasoning: false, - input: ["text", "image"], - cost: { - input: 5, - output: 15, - cacheRead: 0, - cacheWrite: 0, - }, - contextWindow: 128000, - maxTokens: 4096, - } satisfies Model<"openai-completions">, "meta-llama/llama-3-70b-instruct": { id: "meta-llama/llama-3-70b-instruct", name: "Meta: Llama 3 70B Instruct", @@ -5578,23 +5578,6 @@ export const MODELS = { contextWindow: 8191, maxTokens: 4096, } satisfies Model<"openai-completions">, - "openai/gpt-3.5-turbo": { - id: "openai/gpt-3.5-turbo", - name: "OpenAI: GPT-3.5 Turbo", - api: "openai-completions", - provider: "openrouter", - baseUrl: "https://openrouter.ai/api/v1", - reasoning: false, - input: ["text"], - cost: { - input: 0.5, - output: 1.5, - cacheRead: 0, - cacheWrite: 0, - }, - contextWindow: 16385, - maxTokens: 4096, - } satisfies Model<"openai-completions">, "openai/gpt-4": { id: "openai/gpt-4", name: "OpenAI: GPT-4", @@ -5612,6 +5595,23 @@ export const MODELS = { contextWindow: 8191, maxTokens: 4096, } satisfies Model<"openai-completions">, + "openai/gpt-3.5-turbo": { + id: "openai/gpt-3.5-turbo", + name: "OpenAI: GPT-3.5 Turbo", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: false, + input: ["text"], + cost: { + input: 0.5, + output: 1.5, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 16385, + maxTokens: 4096, + } satisfies Model<"openai-completions">, "openrouter/auto": { id: "openrouter/auto", name: "OpenRouter: Auto Router",