diff --git a/build/dmg-background.png b/build/dmg-background.png new file mode 100644 index 0000000000..00b0362492 Binary files /dev/null and b/build/dmg-background.png differ diff --git a/build/dmg-background@2x.png b/build/dmg-background@2x.png new file mode 100644 index 0000000000..1b875641df Binary files /dev/null and b/build/dmg-background@2x.png differ diff --git a/electron-builder.yml b/electron-builder.yml index 4bb3320be3..58c7258e91 100644 --- a/electron-builder.yml +++ b/electron-builder.yml @@ -109,6 +109,17 @@ mac: - target: zip artifactName: ${name}-${version}-mac-${arch}.${ext} dmg: + background: build/dmg-background.png + iconSize: 96 + iconTextSize: 13 + contents: + - x: 157 + y: 213 + type: file + - x: 507 + y: 213 + type: link + path: /Applications sign: true writeUpdateInfo: false linux: diff --git a/resources/acp-registry/registry.json b/resources/acp-registry/registry.json index 3f109386db..df47285240 100644 --- a/resources/acp-registry/registry.json +++ b/resources/acp-registry/registry.json @@ -508,7 +508,7 @@ { "id": "factory-droid", "name": "Factory Droid", - "version": "0.178.0", + "version": "0.179.0", "description": "Factory Droid - AI coding agent powered by Factory AI", "website": "https://factory.ai/product/cli", "authors": [ @@ -517,7 +517,7 @@ "license": "proprietary", "distribution": { "npx": { - "package": "droid@0.178.0", + "package": "droid@0.179.0", "args": [ "exec", "--output-format", @@ -534,7 +534,7 @@ { "id": "fast-agent", "name": "fast-agent", - "version": "0.9.21", + "version": "0.9.22", "description": "Code and build agents with comprehensive multi-provider support", "repository": "https://github.com/evalstate/fast-agent", "website": "https://fast-agent.ai", @@ -544,7 +544,7 @@ "license": "Apache 2.0", "distribution": { "uvx": { - "package": "fast-agent-acp==0.9.21", + "package": "fast-agent-acp==0.9.22", "args": [ "-x" ] @@ -576,7 +576,7 @@ { "id": "github-copilot-cli", "name": "GitHub Copilot", - "version": "1.0.73", + "version": "1.0.74", "description": "GitHub's AI pair programmer", "repository": "https://github.com/github/copilot-cli", "website": "https://github.com/features/copilot/cli/", @@ -586,7 +586,7 @@ "license": "proprietary", "distribution": { "npx": { - "package": "@github/copilot@1.0.73", + "package": "@github/copilot@1.0.74", "args": [ "--acp" ] @@ -614,7 +614,7 @@ { "id": "goose", "name": "goose", - "version": "1.43.0", + "version": "1.44.0", "description": "A local, extensible, open source AI agent that automates engineering tasks", "repository": "https://github.com/block/goose", "website": "https://block.github.io/goose/", @@ -625,44 +625,44 @@ "distribution": { "binary": { "darwin-aarch64": { - "archive": "https://github.com/block/goose/releases/download/v1.43.0/goose-aarch64-apple-darwin.tar.bz2", + "archive": "https://github.com/block/goose/releases/download/v1.44.0/goose-aarch64-apple-darwin.tar.bz2", "cmd": "./goose", "args": [ "acp" ], - "sha256": "c24ffdd8a3863288592ab211758d41f0a779428f77e92fcaa73e9882899a4eec" + "sha256": "711de24143300be612c17a1f6d19d7f53095b454869f46f1ffcca78ee14b1861" }, "darwin-x86_64": { - "archive": "https://github.com/block/goose/releases/download/v1.43.0/goose-x86_64-apple-darwin.tar.bz2", + "archive": "https://github.com/block/goose/releases/download/v1.44.0/goose-x86_64-apple-darwin.tar.bz2", "cmd": "./goose", "args": [ "acp" ], - "sha256": "6d0fad77f52f8177a3c3f8f40b8af3260a4ec057c06cfd8dcaf3af1b39de1e78" + "sha256": "edc8a9582adc9e65084304b440b1c0edfc0ab58e81a1e50b456efff82a8c460b" }, "linux-aarch64": { - "archive": "https://github.com/block/goose/releases/download/v1.43.0/goose-aarch64-unknown-linux-gnu.tar.bz2", + "archive": "https://github.com/block/goose/releases/download/v1.44.0/goose-aarch64-unknown-linux-gnu.tar.bz2", "cmd": "./goose", "args": [ "acp" ], - "sha256": "5d2e93b7c740409ce09782d98b70db87eac2e1fcff527bdbaf44a98da8b3b597" + "sha256": "ab0d4d44e4b4251b64d0d9784882383137893bd6f68f45593ad6c186a2bdc2a9" }, "linux-x86_64": { - "archive": "https://github.com/block/goose/releases/download/v1.43.0/goose-x86_64-unknown-linux-gnu.tar.bz2", + "archive": "https://github.com/block/goose/releases/download/v1.44.0/goose-x86_64-unknown-linux-gnu.tar.bz2", "cmd": "./goose", "args": [ "acp" ], - "sha256": "b218b08c0a86c9f356623f51bb91fc14c4de6667bc9c15d6d922778beb20f1bf" + "sha256": "87883ab52e3748e49cf7b1ed08677337651c35d6f68f1ef9f74e8c58bcaecd73" }, "windows-x86_64": { - "archive": "https://github.com/block/goose/releases/download/v1.43.0/goose-x86_64-pc-windows-msvc.zip", + "archive": "https://github.com/block/goose/releases/download/v1.44.0/goose-x86_64-pc-windows-msvc.zip", "cmd": "./goose-package\\goose.exe", "args": [ "acp" ], - "sha256": "e76ddbaa331f54f837e7697108f901f09d7e56b07e81c1b7fa41da9e58ba5a7a" + "sha256": "50ed0ee034355036b94718b65aad5b7a2ec4fd6d80f6ae4fc7f26e623aa5b193" } } }, diff --git a/resources/model-db/providers.json b/resources/model-db/providers.json index 45d1e072cb..ff4e023fca 100644 --- a/resources/model-db/providers.json +++ b/resources/model-db/providers.json @@ -38090,6 +38090,45 @@ }, "type": "chat" }, + { + "id": "tencent/hy3", + "name": "Hy3", + "display_name": "Hy3", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 262144 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-07-06", + "last_updated": "2026-07-06", + "cost": { + "input": 0.16, + "output": 0.64, + "cache_read": 0.04, + "cache_write": 0.16 + }, + "type": "chat" + }, { "id": "tencent/hy3-preview", "name": "Hy3 preview", @@ -45595,7 +45634,9 @@ "display_name": "MiniMax-M3", "modalities": { "input": [ - "text" + "text", + "image", + "video" ], "output": [ "text" @@ -55274,6 +55315,38 @@ }, "type": "chat" }, + { + "id": "minicpm-v-4.5", + "name": "MiniCPM-V 4.5", + "display_name": "MiniCPM-V 4.5", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 32000, + "output": 32000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-08-26", + "last_updated": "2025-08-26", + "cost": { + "input": 0.658, + "output": 1.11 + }, + "type": "chat" + }, { "id": "glm-4.6v-flashx", "name": "GLM-4.6V FlashX", @@ -55952,6 +56025,38 @@ }, "type": "chat" }, + { + "id": "hermes-4-70b", + "name": "Hermes 4 70B", + "display_name": "Hermes 4 70B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-08-26", + "last_updated": "2025-08-26", + "cost": { + "input": 0.13, + "output": 0.4 + }, + "type": "chat" + }, { "id": "gpt-5.3-chat-latest", "name": "GPT-5.3 Chat (latest)", @@ -56640,7 +56745,7 @@ ] }, "limit": { - "context": 32768, + "context": 32000, "output": 8192 }, "temperature": true, @@ -56654,8 +56759,8 @@ "release_date": "2024-09", "last_updated": "2024-09", "cost": { - "input": 0.13, - "output": 0.4 + "input": 0.25, + "output": 0.75 }, "type": "chat" }, @@ -57027,7 +57132,7 @@ ] }, "limit": { - "context": 32768, + "context": 40960, "output": 16384 }, "temperature": true, @@ -57947,6 +58052,38 @@ }, "type": "chat" }, + { + "id": "hermes-4-405b", + "name": "Hermes 4 405B", + "display_name": "Hermes 4 405B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 131072 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-08-26", + "last_updated": "2025-08-26", + "cost": { + "input": 1, + "output": 3 + }, + "type": "chat" + }, { "id": "qwen3-next-80b-a3b-thinking", "name": "Qwen3-Next 80B-A3B (Thinking)", @@ -58526,6 +58663,38 @@ }, "type": "chat" }, + { + "id": "gemma-3-27b", + "name": "Gemma 3 27B", + "display_name": "Gemma 3 27B", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 110000, + "output": 110000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-03-12", + "last_updated": "2025-03-12", + "cost": { + "input": 0.1, + "output": 0.3 + }, + "type": "chat" + }, { "id": "qwen3-vl-235b-a22b-instruct", "name": "Qwen3 VL 235B A22B Instruct", @@ -59409,9 +59578,9 @@ "release_date": "2026-04-21", "last_updated": "2026-04-21", "cost": { - "input": 0.4, - "output": 2.2, - "cache_read": 0.08 + "input": 0.22, + "output": 1.137, + "cache_read": 0.048 }, "type": "chat" }, @@ -59526,8 +59695,8 @@ "release_date": "2025-07-08", "last_updated": "2025-07-08", "cost": { - "input": 0.2, - "output": 0.6 + "input": 0.3, + "output": 3 }, "type": "chat" }, @@ -59754,6 +59923,39 @@ }, "type": "chat" }, + { + "id": "nemotron-3-nano-omni", + "name": "Nemotron 3 Nano Omni", + "display_name": "Nemotron 3 Nano Omni", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 262144 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-04-28", + "last_updated": "2026-04-28", + "cost": { + "input": 0.06, + "output": 0.24 + }, + "type": "chat" + }, { "id": "ministral-14b-2512", "name": "Ministral 14B", @@ -60261,6 +60463,38 @@ }, "type": "chat" }, + { + "id": "nemotron-3-nano-30b", + "name": "Nemotron 3 Nano 30B", + "display_name": "Nemotron 3 Nano 30B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 262144 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": false, + "release_date": "2025-12-15", + "last_updated": "2025-12-15", + "cost": { + "input": 0.06, + "output": 0.24 + }, + "type": "chat" + }, { "id": "seed-1-8-251228", "name": "Seed 1.8 (251228)", @@ -60859,7 +61093,7 @@ ] }, "limit": { - "context": 1024000, + "context": 1048576, "output": 131072 }, "temperature": true, @@ -61043,6 +61277,39 @@ }, "type": "chat" }, + { + "id": "cosmos3-super-reasoner", + "name": "Cosmos 3 Super Reasoner", + "display_name": "Cosmos 3 Super Reasoner", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 262144 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-06-01", + "last_updated": "2026-06-01", + "cost": { + "input": 0.1, + "output": 0.3 + }, + "type": "chat" + }, { "id": "claude-opus-4-7", "name": "Claude Opus 4.7", @@ -61176,7 +61443,7 @@ ] }, "limit": { - "context": 262144, + "context": 1048576, "output": 128000 }, "temperature": true, @@ -61465,7 +61732,7 @@ ] }, "limit": { - "context": 524288, + "context": 1048576, "output": 128000 }, "temperature": true, @@ -61644,6 +61911,38 @@ }, "type": "chat" }, + { + "id": "nemotron-3-super-120b", + "name": "Nemotron 3 Super 120B", + "display_name": "Nemotron 3 Super 120B", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 262144 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": false, + "release_date": "2026-03-11", + "last_updated": "2026-03-11", + "cost": { + "input": 0.3, + "output": 0.9 + }, + "type": "chat" + }, { "id": "qwen-coder-plus", "name": "Qwen Coder Plus", @@ -62195,9 +62494,9 @@ "release_date": "2026-03-18", "last_updated": "2026-03-18", "cost": { - "input": 0.3, - "output": 1.2, - "cache_read": 0.06, + "input": 0.08, + "output": 0.32, + "cache_read": 0.017, "cache_write": 0.375 }, "type": "chat" @@ -123421,27 +123720,25 @@ "id": "thinkingmachines", "name": "Thinking Machines", "display_name": "Thinking Machines", - "api": "https://tinker.thinkingmachines.dev/services/tinker-prod/oai/api/v1", - "doc": "https://tinker-docs.thinkingmachines.ai/tinker/compatible-apis/openai/", + "api": "https://tinker.thinkingmachines.dev/services/tinker-prod/anthropic/api/v1", + "doc": "https://tinker-docs.thinkingmachines.ai/tinker/compatible-apis/anthropic/", "models": [ { - "id": "inkling", + "id": "thinkingmachines/Inkling", "name": "Inkling", "display_name": "Inkling", "modalities": { "input": [ "text", - "image", - "audio", - "pdf" + "image" ], "output": [ "text" ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 65536, + "output": 65536 }, "temperature": true, "tool_call": true, @@ -123449,16 +123746,39 @@ "supported": true, "default": true }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "interleaved": true, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thinking_blocks" - ] - } + "attachment": true, + "open_weights": true, + "release_date": "2026-07-15", + "last_updated": "2026-07-15", + "cost": { + "input": 1.87, + "output": 4.68, + "cache_read": 0.374 + }, + "type": "chat" + }, + { + "id": "thinkingmachines/Inkling:peft:262144", + "name": "Inkling", + "display_name": "Inkling", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 262144 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true }, "attachment": true, "open_weights": true, @@ -161881,8 +162201,8 @@ ] }, "limit": { - "context": 256000, - "output": 256000 + "context": 524288, + "output": 524288 }, "temperature": true, "tool_call": true, @@ -182250,6 +182570,37 @@ "last_updated": "2024-10", "type": "chat" }, + { + "id": "inclusionai/ling-3.0-flash-free", + "name": "Ling 3.0 Flash", + "display_name": "Ling 3.0 Flash", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 256000, + "output": 256000 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": false, + "release_date": "2026-07-23", + "last_updated": "2026-07-23", + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + }, { "id": "voyage/voyage-code-2", "name": "voyage-code-2", @@ -188945,7 +189296,7 @@ "attachment": false, "open_weights": true, "release_date": "2026-07-20", - "last_updated": "2026-07-20", + "last_updated": "2026-07-21", "cost": { "input": 0.1, "output": 0.2, @@ -202184,6 +202535,38 @@ "api": "https://llm.chutes.ai/v1", "doc": "https://llm.chutes.ai/v1/models", "models": [ + { + "id": "Nemotron-3-Nano-Omni-30B-TEE", + "name": "Nemotron 3 Nano Omni 30B TEE", + "display_name": "Nemotron 3 Nano Omni 30B TEE", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": true, + "release_date": "2026-07-23", + "last_updated": "2026-07-23", + "cost": { + "input": 0.0245, + "output": 0.0978, + "cache_read": 0.01225 + }, + "type": "chat" + }, { "id": "Qwen/Qwen3.5-397B-A17B-TEE", "name": "Qwen3.5 397B A17B TEE", @@ -202742,6 +203125,46 @@ "display_name": "google", "doc": "https://ai.google.dev/gemini-api/docs/models", "models": [ + { + "id": "gemini-3.1-flash-lite-image", + "name": "Nano Banana 2 Lite", + "display_name": "Nano Banana 2 Lite", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text", + "image" + ] + }, + "limit": { + "context": 65536, + "output": 4096 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-06-30", + "last_updated": "2026-06-30", + "cost": { + "input": 0.25, + "output": 30 + }, + "type": "imageGeneration" + }, { "id": "gemini-2.5-flash-image", "name": "Gemini 2.5 Flash Image", @@ -202809,6 +203232,58 @@ }, "type": "chat" }, + { + "id": "gemini-3-pro-image", + "name": "Nano Banana Pro", + "display_name": "Nano Banana Pro", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text", + "image" + ] + }, + "limit": { + "context": 65536, + "output": 32768 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-05-28", + "last_updated": "2026-05-28", + "cost": { + "input": 2, + "output": 120 + }, + "type": "imageGeneration" + }, { "id": "gemini-3.1-flash-lite", "name": "Gemini 3.1 Flash Lite", @@ -202853,6 +203328,39 @@ }, "type": "chat" }, + { + "id": "lyria-3-pro-preview", + "name": "Lyria 3 Pro Preview", + "display_name": "Lyria 3 Pro Preview", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text", + "audio" + ] + }, + "limit": { + "context": 131072, + "output": 8192 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-03-25", + "last_updated": "2026-03-25", + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + }, { "id": "gemini-3.5-flash", "name": "Gemini 3.5 Flash", @@ -202945,6 +203453,64 @@ "last_updated": "2026-04-02", "type": "chat" }, + { + "id": "gemini-3.1-flash-live-preview", + "name": "Gemini 3.1 Flash Live Preview", + "display_name": "Gemini 3.1 Flash Live Preview", + "modalities": { + "input": [ + "text", + "image", + "video", + "audio" + ], + "output": [ + "text", + "audio" + ] + }, + "limit": { + "context": 131072, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "minimal", + "low", + "medium", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-03-26", + "last_updated": "2026-03-26", + "cost": { + "input": 0.75, + "output": 4.5, + "input_audio": 3, + "output_audio": 12 + }, + "type": "chat" + }, { "id": "gemini-2.0-flash", "name": "Gemini 2.0 Flash", @@ -202984,6 +203550,85 @@ }, "type": "chat" }, + { + "id": "gemini-3.1-flash-image", + "name": "Nano Banana 2", + "display_name": "Nano Banana 2", + "modalities": { + "input": [ + "text", + "image", + "video", + "pdf" + ], + "output": [ + "text", + "image" + ] + }, + "limit": { + "context": 131072, + "output": 32768 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-05-28", + "last_updated": "2026-05-28", + "cost": { + "input": 0.5, + "output": 60 + }, + "type": "imageGeneration" + }, + { + "id": "gemini-embedding-2", + "name": "Gemini Embedding 2", + "display_name": "Gemini Embedding 2", + "modalities": { + "input": [ + "text", + "image", + "audio", + "video", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 8192, + "output": 3072 + }, + "temperature": false, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-11", + "release_date": "2026-04-22", + "last_updated": "2026-04-22", + "cost": { + "input": 0.2, + "output": 0, + "input_audio": 6.5 + }, + "type": "embedding" + }, { "id": "gemini-3.6-flash", "name": "Gemini 3.6 Flash", @@ -203286,6 +203931,38 @@ }, "type": "chat" }, + { + "id": "gemini-3.1-flash-tts-preview", + "name": "Gemini 3.1 Flash TTS Preview", + "display_name": "Gemini 3.1 Flash TTS Preview", + "modalities": { + "input": [ + "text" + ], + "output": [ + "audio" + ] + }, + "limit": { + "context": 8192, + "output": 16384 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-04-15", + "last_updated": "2026-04-15", + "cost": { + "input": 1, + "output": 20 + }, + "type": "chat" + }, { "id": "gemini-embedding-001", "name": "Gemini Embedding 001", @@ -203318,6 +203995,87 @@ }, "type": "embedding" }, + { + "id": "gemini-2.5-computer-use-preview-10-2025", + "name": "Gemini 2.5 Computer Use Preview", + "display_name": "Gemini 2.5 Computer Use Preview", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 128000, + "output": 64000 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-10-07", + "last_updated": "2025-10-07", + "cost": { + "input": 1.25, + "output": 10, + "tiers": [ + { + "input": 2.5, + "output": 15, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 2.5, + "output": 15 + } + }, + "type": "chat" + }, + { + "id": "lyria-3-clip-preview", + "name": "Lyria 3 Clip Preview", + "display_name": "Lyria 3 Clip Preview", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text", + "audio" + ] + }, + "limit": { + "context": 131072, + "output": 65536 + }, + "temperature": true, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-03-25", + "last_updated": "2026-03-25", + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + }, { "id": "gemini-2.0-flash-lite", "name": "Gemini 2.0 Flash Lite", @@ -203470,6 +204228,34 @@ }, "type": "chat" }, + { + "id": "veo-3.1-lite-generate-preview", + "name": "Veo 3.1 Lite Preview", + "display_name": "Veo 3.1 Lite Preview", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "video" + ] + }, + "limit": { + "context": 1024, + "output": 8192 + }, + "temperature": false, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2026-03-31", + "last_updated": "2026-03-31", + "type": "chat" + }, { "id": "gemini-2.5-pro", "name": "Gemini 2.5 Pro", @@ -203549,6 +204335,61 @@ }, "type": "chat" }, + { + "id": "deep-research-preview-04-2026", + "name": "Gemini Deep Research Preview", + "display_name": "Gemini Deep Research Preview", + "modalities": { + "input": [ + "text", + "image", + "video", + "audio", + "pdf" + ], + "output": [ + "text", + "image" + ] + }, + "limit": { + "context": 1048576, + "output": 65536 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } + }, + "type": "chat" + }, { "id": "gemini-omni-flash-preview", "name": "Gemini Omni Flash Preview", @@ -203754,217 +204595,401 @@ "type": "chat" }, { - "id": "gemini-flash-latest", - "name": "Gemini Flash Latest", - "display_name": "Gemini Flash Latest", - "modalities": { - "input": [ - "text", - "image", - "video", - "audio", - "pdf" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1048576, - "output": 65536 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-05-19", - "last_updated": "2026-05-19", - "cost": { - "input": 1.5, - "output": 9, - "cache_read": 0.15, - "input_audio": 1.5 - }, - "type": "chat" - }, - { - "id": "gemini-2.5-flash", - "name": "Gemini 2.5 Flash", - "display_name": "Gemini 2.5 Flash", - "modalities": { - "input": [ - "text", - "image" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1048576, - "output": 65536 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true, - "budget": { - "default": -1, - "min": 0, - "max": 24576 - } - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "budget", - "budget": { - "default": -1, - "min": 0, - "max": 24576, - "auto": -1, - "off": 0, - "unit": "tokens" - }, - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } - }, - "search": { - "supported": true, - "default": false - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2025-06-17", - "last_updated": "2025-06-17", - "cost": { - "input": 0.3, - "output": 2.5, - "cache_read": 0.03, - "input_audio": 1 - }, - "type": "chat" - }, - { - "id": "gemini-flash-lite-latest", - "name": "Gemini Flash-Lite Latest", - "display_name": "Gemini Flash-Lite Latest", - "modalities": { - "input": [ - "text", - "image", - "video", - "audio", - "pdf" - ], - "output": [ - "text" - ] - }, - "limit": { - "context": 1048576, - "output": 65536 - }, - "temperature": true, - "tool_call": true, - "reasoning": { - "supported": true, - "default": true - }, - "attachment": true, - "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-05-07", - "last_updated": "2026-05-07", - "cost": { - "input": 0.25, - "output": 1.5, - "cache_read": 0.025, - "input_audio": 0.5 - }, - "type": "chat" - }, - { - "id": "gemini-3.1-pro-preview", - "name": "Gemini 3.1 Pro Preview", - "display_name": "Gemini 3.1 Pro Preview", + "id": "deep-research-max-preview-04-2026", + "name": "Deep Research Max Preview", + "display_name": "Deep Research Max Preview", + "modalities": { + "input": [ + "text", + "image", + "video", + "audio", + "pdf" + ], + "output": [ + "text", + "image" + ] + }, + "limit": { + "context": 1048576, + "output": 65536 + }, + "temperature": false, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-04-21", + "last_updated": "2026-04-21", + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } + }, + "type": "chat" + }, + { + "id": "veo-3.1-generate-preview", + "name": "Veo 3.1 Preview", + "display_name": "Veo 3.1 Preview", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "video" + ] + }, + "limit": { + "context": 1024, + "output": 1 + }, + "temperature": false, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": true, + "open_weights": false, + "release_date": "2025-10-15", + "last_updated": "2026-01", + "type": "chat" + }, + { + "id": "gemini-flash-latest", + "name": "Gemini Flash Latest", + "display_name": "Gemini Flash Latest", + "modalities": { + "input": [ + "text", + "image", + "video", + "audio", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-05-19", + "last_updated": "2026-05-19", + "cost": { + "input": 1.5, + "output": 9, + "cache_read": 0.15, + "input_audio": 1.5 + }, + "type": "chat" + }, + { + "id": "gemini-2.5-flash", + "name": "Gemini 2.5 Flash", + "display_name": "Gemini 2.5 Flash", + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true, + "budget": { + "default": -1, + "min": 0, + "max": 24576 + } + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "budget", + "budget": { + "default": -1, + "min": 0, + "max": 24576, + "auto": -1, + "off": 0, + "unit": "tokens" + }, + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "search": { + "supported": true, + "default": false + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2025-06-17", + "last_updated": "2025-06-17", + "cost": { + "input": 0.3, + "output": 2.5, + "cache_read": 0.03, + "input_audio": 1 + }, + "type": "chat" + }, + { + "id": "gemini-robotics-er-1.6-preview", + "name": "Gemini Robotics-ER 1.6 Preview", + "display_name": "Gemini Robotics-ER 1.6 Preview", + "modalities": { + "input": [ + "text", + "image", + "video", + "audio" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 131072, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-04-14", + "last_updated": "2026-04-14", + "cost": { + "input": 1, + "output": 5, + "input_audio": 2 + }, + "type": "chat" + }, + { + "id": "gemini-flash-lite-latest", + "name": "Gemini Flash-Lite Latest", + "display_name": "Gemini Flash-Lite Latest", + "modalities": { + "input": [ + "text", + "image", + "video", + "audio", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-05-07", + "last_updated": "2026-05-07", + "cost": { + "input": 0.25, + "output": 1.5, + "cache_read": 0.025, + "input_audio": 0.5 + }, + "type": "chat" + }, + { + "id": "gemini-3.5-live-translate-preview", + "name": "Gemini 3.5 Live Translate Preview", + "display_name": "Gemini 3.5 Live Translate Preview", + "modalities": { + "input": [ + "audio" + ], + "output": [ + "audio", + "text" + ] + }, + "limit": { + "context": 131072, + "output": 65536 + }, + "temperature": false, + "tool_call": false, + "reasoning": { + "supported": false + }, + "attachment": false, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-06-09", + "last_updated": "2026-06-09", + "cost": { + "input": 3.5, + "output": 21, + "input_audio": 3.5, + "output_audio": 21 + }, + "type": "chat" + }, + { + "id": "gemini-3.1-pro-preview", + "name": "Gemini 3.1 Pro Preview", + "display_name": "Gemini 3.1 Pro Preview", + "modalities": { + "input": [ + "text", + "image", + "video", + "audio", + "pdf" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 1048576, + "output": 65536 + }, + "temperature": true, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "extra_capabilities": { + "reasoning": { + "supported": true, + "default_enabled": true, + "mode": "level", + "level": "high", + "level_options": [ + "low", + "high" + ], + "summaries": true, + "visibility": "summary", + "continuation": [ + "thought_signatures" + ] + } + }, + "attachment": true, + "open_weights": false, + "knowledge": "2025-01", + "release_date": "2026-02-19", + "last_updated": "2026-02-19", + "cost": { + "input": 2, + "output": 12, + "cache_read": 0.2, + "tiers": [ + { + "input": 4, + "output": 18, + "cache_read": 0.4, + "tier": { + "type": "context", + "size": 200000 + } + } + ], + "context_over_200k": { + "input": 4, + "output": 18, + "cache_read": 0.4 + } + }, + "type": "chat" + }, + { + "id": "veo-3.1-fast-generate-preview", + "name": "Veo 3.1 Fast Preview", + "display_name": "Veo 3.1 Fast Preview", "modalities": { "input": [ "text", "image", - "video", - "audio", - "pdf" + "video" ], "output": [ - "text" + "video" ] }, "limit": { - "context": 1048576, - "output": 65536 + "context": 1024, + "output": 8192 }, - "temperature": true, - "tool_call": true, + "temperature": false, + "tool_call": false, "reasoning": { - "supported": true, - "default": true - }, - "extra_capabilities": { - "reasoning": { - "supported": true, - "default_enabled": true, - "mode": "level", - "level": "high", - "level_options": [ - "low", - "high" - ], - "summaries": true, - "visibility": "summary", - "continuation": [ - "thought_signatures" - ] - } + "supported": false }, "attachment": true, "open_weights": false, - "knowledge": "2025-01", - "release_date": "2026-02-19", - "last_updated": "2026-02-19", - "cost": { - "input": 2, - "output": 12, - "cache_read": 0.2, - "tiers": [ - { - "input": 4, - "output": 18, - "cache_read": 0.4, - "tier": { - "type": "context", - "size": 200000 - } - } - ], - "context_over_200k": { - "input": 4, - "output": 18, - "cache_read": 0.4 - } - }, + "release_date": "2025-10-15", + "last_updated": "2026-01-01", "type": "chat" }, { @@ -262117,8 +263142,8 @@ ] }, "limit": { - "context": 110000, - "output": 110000 + "context": 131072, + "output": 131072 }, "tool_call": true, "reasoning": { @@ -262467,6 +263492,29 @@ }, "type": "chat" }, + { + "id": "inclusionai/ling-3.0-flash:free", + "name": "Ling-3.0-flash (free)", + "display_name": "Ling-3.0-flash (free)", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 262144, + "output": 32768 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "type": "chat" + }, { "id": "inclusionai/ring-2.6-1t", "name": "inclusionAI: Ring-2.6-1T", @@ -263074,7 +264122,7 @@ ] }, "limit": { - "context": 196608, + "context": 204800, "output": 131072 }, "temperature": true, @@ -267926,7 +268974,7 @@ }, "limit": { "context": 262144, - "output": 81920 + "output": 65536 }, "temperature": true, "tool_call": true, @@ -277001,6 +278049,37 @@ }, "type": "chat" }, + { + "id": "inclusionai/ling-3.0-flash", + "name": "inclusionAI: Ling-3.0-flash", + "display_name": "inclusionAI: Ling-3.0-flash", + "modalities": { + "input": [ + "text" + ], + "output": [ + "text" + ] + }, + "limit": { + "context": 256000, + "output": 256000 + }, + "tool_call": true, + "reasoning": { + "supported": true, + "default": true + }, + "attachment": false, + "open_weights": false, + "release_date": "2026-07-23", + "last_updated": "2026-07-23", + "cost": { + "input": 0, + "output": 0 + }, + "type": "chat" + }, { "id": "inclusionai/llada2.1-flash", "name": "inclusionAI: LLaDA2.1-flash", @@ -280213,9 +281292,10 @@ "release_date": "2026-07-06", "last_updated": "2026-07-06", "cost": { - "input": 0.14, - "output": 0.58, - "cache_read": 0.035 + "input": 0.16, + "output": 0.64, + "cache_read": 0.04, + "cache_write": 0.16 }, "type": "chat" }, diff --git a/scripts/ci/classify-package-impact.mjs b/scripts/ci/classify-package-impact.mjs index f0af530d02..3f31083528 100644 --- a/scripts/ci/classify-package-impact.mjs +++ b/scripts/ci/classify-package-impact.mjs @@ -58,6 +58,8 @@ const linuxPackagePaths = new Set([ const macosPackagePaths = new Set([ '.github/workflows/_package-macos.yml', + 'build/dmg-background.png', + 'build/dmg-background@2x.png', 'build/entitlements.mac.plist', 'build/icon.icns', 'resources/macTrayTemplate.png', diff --git a/test/main/scripts/dmgLayout.test.ts b/test/main/scripts/dmgLayout.test.ts new file mode 100644 index 0000000000..a42b92fffe --- /dev/null +++ b/test/main/scripts/dmgLayout.test.ts @@ -0,0 +1,47 @@ +import { readFile } from 'node:fs/promises' +import { describe, expect, it } from 'vitest' +import { parse } from 'yaml' + +const PNG_SIGNATURE = Buffer.from([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]) + +function readPngDimensions(data: Buffer) { + if ( + data.length < 24 || + !data.subarray(0, PNG_SIGNATURE.length).equals(PNG_SIGNATURE) || + data.subarray(12, 16).toString('ascii') !== 'IHDR' + ) { + throw new Error('Expected a PNG image with an IHDR chunk') + } + + return { + width: data.readUInt32BE(16), + height: data.readUInt32BE(20) + } +} + +describe('macOS DMG layout', () => { + it('configures matching 1x and 2x Finder backgrounds', async () => { + const config = parse(await readFile('electron-builder.yml', 'utf8')) + + expect(config.dmg).toMatchObject({ + background: 'build/dmg-background.png', + iconSize: 96, + iconTextSize: 13, + contents: [ + { x: 157, y: 213, type: 'file' }, + { x: 507, y: 213, type: 'link', path: '/Applications' } + ] + }) + expect(config.dmg).not.toHaveProperty('window') + + const backgroundPath = config.dmg.background as string + const retinaBackgroundPath = backgroundPath.replace(/\.([^.]+)$/, '@2x.$1') + const [background, retinaBackground] = await Promise.all([ + readFile(backgroundPath), + readFile(retinaBackgroundPath) + ]) + + expect(readPngDimensions(background)).toEqual({ width: 660, height: 400 }) + expect(readPngDimensions(retinaBackground)).toEqual({ width: 1320, height: 800 }) + }) +}) diff --git a/test/main/scripts/notarizeDmg.test.ts b/test/main/scripts/notarizeDmg.test.ts index d14af5d243..a4a14086f6 100644 --- a/test/main/scripts/notarizeDmg.test.ts +++ b/test/main/scripts/notarizeDmg.test.ts @@ -231,7 +231,7 @@ describe('macOS distribution notarization', () => { expect(config.afterSign).toBe('scripts/notarize.js') expect(config.artifactBuildCompleted).toBe('scripts/notarize-dmg.js') - expect(config.dmg).toEqual({ sign: true, writeUpdateInfo: false }) + expect(config.dmg).toMatchObject({ sign: true, writeUpdateInfo: false }) expect(config.mac.target).toEqual([{ target: 'dmg' }, { target: 'zip' }]) }) }) diff --git a/test/main/scripts/packageContract.test.ts b/test/main/scripts/packageContract.test.ts index 72724a4b03..614de9bc78 100644 --- a/test/main/scripts/packageContract.test.ts +++ b/test/main/scripts/packageContract.test.ts @@ -101,6 +101,25 @@ describe('CI package contract', () => { linux: false, macos: true }) + for (const backgroundPath of [ + 'build/dmg-background.png', + 'build/dmg-background@2x.png' + ]) { + expect(classifyPackageImpact([backgroundPath])).toEqual({ + required: true, + windows: false, + linux: false, + macos: true, + matchedPaths: [backgroundPath], + matches: [ + { + path: backgroundPath, + rule: 'macos-package-input', + platforms: ['macos'] + } + ] + }) + } expect(classifyPackageImpact(['resources/icon.png'])).toMatchObject({ required: true, windows: false,