chore: auto-update generated files

Charm created

Change summary

internal/providers/configs/aihubmix.json    |  38 +++++
internal/providers/configs/huggingface.json | 104 ++++++++++++++
internal/providers/configs/openrouter.json  | 163 ++++++++++------------
internal/providers/configs/vercel.json      |  21 ++
4 files changed, 237 insertions(+), 89 deletions(-)

Detailed changes

internal/providers/configs/aihubmix.json 🔗

@@ -1931,6 +1931,44 @@
       "supports_attachments": true,
       "options": {}
     },
+    {
+      "id": "gpt-5.4",
+      "name": "GPT 5.4",
+      "cost_per_1m_in": 2.5,
+      "cost_per_1m_out": 15,
+      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_out_cached": 0.25,
+      "context_window": 400000,
+      "default_max_tokens": 128000,
+      "can_reason": true,
+      "reasoning_levels": [
+        "low",
+        "medium",
+        "high"
+      ],
+      "default_reasoning_effort": "medium",
+      "supports_attachments": true,
+      "options": {}
+    },
+    {
+      "id": "gpt-5.4-pro",
+      "name": "GPT 5.4 Pro",
+      "cost_per_1m_in": 30,
+      "cost_per_1m_out": 180,
+      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_out_cached": 30,
+      "context_window": 1050000,
+      "default_max_tokens": 128000,
+      "can_reason": true,
+      "reasoning_levels": [
+        "low",
+        "medium",
+        "high"
+      ],
+      "default_reasoning_effort": "medium",
+      "supports_attachments": true,
+      "options": {}
+    },
     {
       "id": "gpt-oss-120b",
       "name": "gpt-oss-120b",

internal/providers/configs/huggingface.json 🔗

@@ -7,6 +7,19 @@
   "default_large_model_id": "moonshotai/Kimi-K2-Instruct-0905:groq",
   "default_small_model_id": "openai/gpt-oss-20b:groq",
   "models": [
+    {
+      "id": "MiniMaxAI/MiniMax-M2.5:fireworks-ai",
+      "name": "MiniMaxAI/MiniMax-M2.5 (fireworks-ai)",
+      "cost_per_1m_in": 0,
+      "cost_per_1m_out": 0,
+      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_out_cached": 0,
+      "context_window": 204800,
+      "default_max_tokens": 8192,
+      "can_reason": false,
+      "supports_attachments": false,
+      "options": {}
+    },
     {
       "id": "Qwen/Qwen3-32B:groq",
       "name": "Qwen/Qwen3-32B (groq)",
@@ -20,6 +33,45 @@
       "supports_attachments": false,
       "options": {}
     },
+    {
+      "id": "Qwen/Qwen3-8B:fireworks-ai",
+      "name": "Qwen/Qwen3-8B (fireworks-ai)",
+      "cost_per_1m_in": 0,
+      "cost_per_1m_out": 0,
+      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_out_cached": 0,
+      "context_window": 40960,
+      "default_max_tokens": 8192,
+      "can_reason": false,
+      "supports_attachments": false,
+      "options": {}
+    },
+    {
+      "id": "Qwen/Qwen3-VL-30B-A3B-Instruct:fireworks-ai",
+      "name": "Qwen/Qwen3-VL-30B-A3B-Instruct (fireworks-ai)",
+      "cost_per_1m_in": 0,
+      "cost_per_1m_out": 0,
+      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_out_cached": 0,
+      "context_window": 262144,
+      "default_max_tokens": 8192,
+      "can_reason": false,
+      "supports_attachments": false,
+      "options": {}
+    },
+    {
+      "id": "Qwen/Qwen3-VL-30B-A3B-Thinking:fireworks-ai",
+      "name": "Qwen/Qwen3-VL-30B-A3B-Thinking (fireworks-ai)",
+      "cost_per_1m_in": 0,
+      "cost_per_1m_out": 0,
+      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_out_cached": 0,
+      "context_window": 262144,
+      "default_max_tokens": 8192,
+      "can_reason": false,
+      "supports_attachments": false,
+      "options": {}
+    },
     {
       "id": "deepcogito/cogito-671b-v2.1:fireworks-ai",
       "name": "deepcogito/cogito-671b-v2.1 (fireworks-ai)",
@@ -98,6 +150,19 @@
       "supports_attachments": false,
       "options": {}
     },
+    {
+      "id": "moonshotai/Kimi-K2-Instruct-0905:fireworks-ai",
+      "name": "moonshotai/Kimi-K2-Instruct-0905 (fireworks-ai)",
+      "cost_per_1m_in": 0,
+      "cost_per_1m_out": 0,
+      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_out_cached": 0,
+      "context_window": 262144,
+      "default_max_tokens": 8192,
+      "can_reason": false,
+      "supports_attachments": false,
+      "options": {}
+    },
     {
       "id": "moonshotai/Kimi-K2-Instruct-0905:groq",
       "name": "moonshotai/Kimi-K2-Instruct-0905 (groq)",
@@ -111,6 +176,32 @@
       "supports_attachments": false,
       "options": {}
     },
+    {
+      "id": "moonshotai/Kimi-K2-Thinking:fireworks-ai",
+      "name": "moonshotai/Kimi-K2-Thinking (fireworks-ai)",
+      "cost_per_1m_in": 0,
+      "cost_per_1m_out": 0,
+      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_out_cached": 0,
+      "context_window": 262144,
+      "default_max_tokens": 8192,
+      "can_reason": false,
+      "supports_attachments": false,
+      "options": {}
+    },
+    {
+      "id": "moonshotai/Kimi-K2.5:fireworks-ai",
+      "name": "moonshotai/Kimi-K2.5 (fireworks-ai)",
+      "cost_per_1m_in": 0,
+      "cost_per_1m_out": 0,
+      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_out_cached": 0,
+      "context_window": 262144,
+      "default_max_tokens": 8192,
+      "can_reason": false,
+      "supports_attachments": false,
+      "options": {}
+    },
     {
       "id": "openai/gpt-oss-120b:cerebras",
       "name": "openai/gpt-oss-120b (cerebras)",
@@ -189,6 +280,19 @@
       "supports_attachments": false,
       "options": {}
     },
+    {
+      "id": "zai-org/GLM-4.7:fireworks-ai",
+      "name": "zai-org/GLM-4.7 (fireworks-ai)",
+      "cost_per_1m_in": 0,
+      "cost_per_1m_out": 0,
+      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_out_cached": 0,
+      "context_window": 202752,
+      "default_max_tokens": 8192,
+      "can_reason": false,
+      "supports_attachments": false,
+      "options": {}
+    },
     {
       "id": "zai-org/GLM-5:fireworks-ai",
       "name": "zai-org/GLM-5 (fireworks-ai)",

internal/providers/configs/openrouter.json 🔗

@@ -135,8 +135,8 @@
       "name": "Anthropic: Claude 3.5 Sonnet",
       "cost_per_1m_in": 6,
       "cost_per_1m_out": 30,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_in_cached": 7.5,
+      "cost_per_1m_out_cached": 0.6,
       "context_window": 200000,
       "default_max_tokens": 4096,
       "can_reason": false,
@@ -541,12 +541,12 @@
     {
       "id": "deepseek/deepseek-chat-v3.1",
       "name": "DeepSeek: DeepSeek V3.1",
-      "cost_per_1m_in": 0.19999999999999998,
-      "cost_per_1m_out": 0.7999999999999999,
+      "cost_per_1m_in": 0.21,
+      "cost_per_1m_out": 0.7899999999999999,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.09999999999999999,
+      "cost_per_1m_out_cached": 0.1300000002,
       "context_window": 163840,
-      "default_max_tokens": 32768,
+      "default_max_tokens": 16384,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -620,9 +620,9 @@
       "cost_per_1m_in": 0.27,
       "cost_per_1m_out": 0.41,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.27,
       "context_window": 163840,
-      "default_max_tokens": 32768,
+      "default_max_tokens": 81920,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -655,10 +655,10 @@
     {
       "id": "deepseek/deepseek-r1-0528",
       "name": "DeepSeek: R1 0528",
-      "cost_per_1m_in": 3,
-      "cost_per_1m_out": 3,
+      "cost_per_1m_in": 0.7,
+      "cost_per_1m_out": 2.5,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.35,
       "context_window": 163840,
       "default_max_tokens": 16384,
       "can_reason": true,
@@ -1019,12 +1019,12 @@
     {
       "id": "meta-llama/llama-3.3-70b-instruct",
       "name": "Meta: Llama 3.3 70B Instruct",
-      "cost_per_1m_in": 0.88,
-      "cost_per_1m_out": 0.88,
+      "cost_per_1m_in": 0.25,
+      "cost_per_1m_out": 0.75,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
       "context_window": 131072,
-      "default_max_tokens": 1024,
+      "default_max_tokens": 13107,
       "can_reason": false,
       "supports_attachments": false,
       "options": {}
@@ -1091,7 +1091,7 @@
       "id": "minimax/minimax-m2.1",
       "name": "MiniMax: MiniMax M2.1",
       "cost_per_1m_in": 0.3,
-      "cost_per_1m_out": 2.4,
+      "cost_per_1m_out": 1.2,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0.03,
       "context_window": 204800,
@@ -1307,19 +1307,6 @@
       "supports_attachments": false,
       "options": {}
     },
-    {
-      "id": "mistralai/mistral-small-24b-instruct-2501",
-      "name": "Mistral: Mistral Small 3",
-      "cost_per_1m_in": 0.09999999999999999,
-      "cost_per_1m_out": 0.3,
-      "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 32768,
-      "default_max_tokens": 1024,
-      "can_reason": false,
-      "supports_attachments": false,
-      "options": {}
-    },
     {
       "id": "mistralai/mistral-small-3.1-24b-instruct:free",
       "name": "Mistral: Mistral Small 3.1 24B (free)",
@@ -1453,10 +1440,10 @@
     {
       "id": "moonshotai/kimi-k2-0905:exacto",
       "name": "MoonshotAI: Kimi K2 0905 (exacto)",
-      "cost_per_1m_in": 1.15,
-      "cost_per_1m_out": 8,
+      "cost_per_1m_in": 0.6,
+      "cost_per_1m_out": 2.5,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.15,
+      "cost_per_1m_out_cached": 0,
       "context_window": 262144,
       "default_max_tokens": 26214,
       "can_reason": false,
@@ -1466,12 +1453,12 @@
     {
       "id": "moonshotai/kimi-k2-thinking",
       "name": "MoonshotAI: Kimi K2 Thinking",
-      "cost_per_1m_in": 0.47,
-      "cost_per_1m_out": 2,
+      "cost_per_1m_in": 0.6,
+      "cost_per_1m_out": 2.5,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.14100000000000001,
-      "context_window": 131072,
-      "default_max_tokens": 13107,
+      "cost_per_1m_out_cached": 0.15,
+      "context_window": 262144,
+      "default_max_tokens": 131072,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -1488,7 +1475,7 @@
       "cost_per_1m_in": 0.6,
       "cost_per_1m_out": 3,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.09999999999999999,
+      "cost_per_1m_out_cached": 0.1,
       "context_window": 262144,
       "default_max_tokens": 26214,
       "can_reason": true,
@@ -1712,9 +1699,9 @@
       "cost_per_1m_in": 0.09999999999999999,
       "cost_per_1m_out": 0.39999999999999997,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.024999999999999998,
+      "cost_per_1m_out_cached": 0.03,
       "context_window": 1047576,
-      "default_max_tokens": 16384,
+      "default_max_tokens": 104757,
       "can_reason": false,
       "supports_attachments": true,
       "options": {}
@@ -2072,7 +2059,7 @@
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0.175,
       "context_window": 128000,
-      "default_max_tokens": 8192,
+      "default_max_tokens": 16000,
       "can_reason": false,
       "supports_attachments": true,
       "options": {}
@@ -2207,12 +2194,12 @@
     {
       "id": "openai/gpt-oss-120b:exacto",
       "name": "OpenAI: gpt-oss-120b (exacto)",
-      "cost_per_1m_in": 0.039,
-      "cost_per_1m_out": 0.19,
+      "cost_per_1m_in": 0.15,
+      "cost_per_1m_out": 0.6,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.075,
       "context_window": 131072,
-      "default_max_tokens": 13107,
+      "default_max_tokens": 32768,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -2245,12 +2232,12 @@
     {
       "id": "openai/gpt-oss-20b",
       "name": "OpenAI: gpt-oss-20b",
-      "cost_per_1m_in": 0.049999999999999996,
-      "cost_per_1m_out": 0.19999999999999998,
+      "cost_per_1m_in": 0.045,
+      "cost_per_1m_out": 0.18,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
       "context_window": 131072,
-      "default_max_tokens": 13107,
+      "default_max_tokens": 16384,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -2584,12 +2571,12 @@
     {
       "id": "qwen/qwen3-14b",
       "name": "Qwen: Qwen3 14B",
-      "cost_per_1m_in": 0.22749999999999998,
-      "cost_per_1m_out": 0.9099999999999999,
+      "cost_per_1m_in": 0.12,
+      "cost_per_1m_out": 0.24,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 4096,
+      "context_window": 40960,
+      "default_max_tokens": 20480,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -2635,12 +2622,12 @@
     {
       "id": "qwen/qwen3-235b-a22b-thinking-2507",
       "name": "Qwen: Qwen3 235B A22B Thinking 2507",
-      "cost_per_1m_in": 0,
-      "cost_per_1m_out": 0,
+      "cost_per_1m_in": 0.11,
+      "cost_per_1m_out": 0.6,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 13107,
+      "cost_per_1m_out_cached": 0.055,
+      "context_window": 262144,
+      "default_max_tokens": 131072,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -2775,8 +2762,8 @@
     {
       "id": "qwen/qwen3-coder",
       "name": "Qwen: Qwen3 Coder 480B A35B",
-      "cost_per_1m_in": 0.3,
-      "cost_per_1m_out": 1.3,
+      "cost_per_1m_in": 0.22,
+      "cost_per_1m_out": 1.7999999999999998,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
       "context_window": 262144,
@@ -2885,8 +2872,8 @@
     {
       "id": "qwen/qwen3-next-80b-a3b-instruct",
       "name": "Qwen: Qwen3 Next 80B A3B Instruct",
-      "cost_per_1m_in": 0.09999999999999999,
-      "cost_per_1m_out": 1.1,
+      "cost_per_1m_in": 0.15,
+      "cost_per_1m_out": 1.2,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
       "context_window": 262144,
@@ -2943,12 +2930,12 @@
     {
       "id": "qwen/qwen3-vl-235b-a22b-thinking",
       "name": "Qwen: Qwen3 VL 235B A22B Thinking",
-      "cost_per_1m_in": 0,
-      "cost_per_1m_out": 0,
+      "cost_per_1m_in": 0.44999999999999996,
+      "cost_per_1m_out": 3.5,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 16384,
+      "context_window": 262144,
+      "default_max_tokens": 131072,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -2962,12 +2949,12 @@
     {
       "id": "qwen/qwen3-vl-30b-a3b-instruct",
       "name": "Qwen: Qwen3 VL 30B A3B Instruct",
-      "cost_per_1m_in": 0.29,
-      "cost_per_1m_out": 1,
+      "cost_per_1m_in": 0.13,
+      "cost_per_1m_out": 0.52,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
-      "context_window": 262144,
-      "default_max_tokens": 131072,
+      "context_window": 131072,
+      "default_max_tokens": 16384,
       "can_reason": false,
       "supports_attachments": true,
       "options": {}
@@ -2975,12 +2962,12 @@
     {
       "id": "qwen/qwen3-vl-30b-a3b-thinking",
       "name": "Qwen: Qwen3 VL 30B A3B Thinking",
-      "cost_per_1m_in": 0,
-      "cost_per_1m_out": 0,
+      "cost_per_1m_in": 0.29,
+      "cost_per_1m_out": 1,
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
-      "context_window": 131072,
-      "default_max_tokens": 16384,
+      "context_window": 262144,
+      "default_max_tokens": 131072,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -3044,7 +3031,7 @@
       "cost_per_1m_in_cached": 0,
       "cost_per_1m_out_cached": 0,
       "context_window": 262144,
-      "default_max_tokens": 131072,
+      "default_max_tokens": 32768,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -3077,10 +3064,10 @@
     {
       "id": "qwen/qwen3.5-122b-a10b",
       "name": "Qwen: Qwen3.5-122B-A10B",
-      "cost_per_1m_in": 0.39999999999999997,
-      "cost_per_1m_out": 3.1999999999999997,
+      "cost_per_1m_in": 0.3,
+      "cost_per_1m_out": 2.4,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0,
+      "cost_per_1m_out_cached": 0.3,
       "context_window": 262144,
       "default_max_tokens": 32768,
       "can_reason": true,
@@ -3115,12 +3102,12 @@
     {
       "id": "qwen/qwen3.5-35b-a3b",
       "name": "Qwen: Qwen3.5-35B-A3B",
-      "cost_per_1m_in": 0.22499999999999998,
-      "cost_per_1m_out": 1.7999999999999998,
+      "cost_per_1m_in": 0.25,
+      "cost_per_1m_out": 1,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.22499999999999998,
+      "cost_per_1m_out_cached": 0,
       "context_window": 262144,
-      "default_max_tokens": 32768,
+      "default_max_tokens": 131072,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -3287,12 +3274,12 @@
     {
       "id": "xiaomi/mimo-v2-flash",
       "name": "Xiaomi: MiMo-V2-Flash",
-      "cost_per_1m_in": 0.09999999999999999,
-      "cost_per_1m_out": 0.3,
+      "cost_per_1m_in": 0.09,
+      "cost_per_1m_out": 0.29,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.09999999999999999,
+      "cost_per_1m_out_cached": 0.045,
       "context_window": 262144,
-      "default_max_tokens": 131072,
+      "default_max_tokens": 32768,
       "can_reason": true,
       "reasoning_levels": [
         "low",
@@ -3452,12 +3439,12 @@
     {
       "id": "z-ai/glm-4.7",
       "name": "Z.ai: GLM 4.7",
-      "cost_per_1m_in": 0.44999999999999996,
-      "cost_per_1m_out": 2.2,
+      "cost_per_1m_in": 0.54,
+      "cost_per_1m_out": 1.9800000000000002,
       "cost_per_1m_in_cached": 0,
-      "cost_per_1m_out_cached": 0.11,
+      "cost_per_1m_out_cached": 0.099,
       "context_window": 204800,
-      "default_max_tokens": 102400,
+      "default_max_tokens": 65536,
       "can_reason": true,
       "reasoning_levels": [
         "low",

internal/providers/configs/vercel.json 🔗

@@ -760,7 +760,26 @@
       "cost_per_1m_out": 15,
       "cost_per_1m_in_cached": 0.25,
       "cost_per_1m_out_cached": 0,
-      "context_window": 400000,
+      "context_window": 1050000,
+      "default_max_tokens": 8000,
+      "can_reason": true,
+      "reasoning_levels": [
+        "low",
+        "medium",
+        "high"
+      ],
+      "default_reasoning_effort": "medium",
+      "supports_attachments": true,
+      "options": {}
+    },
+    {
+      "id": "openai/gpt-5.4-pro",
+      "name": "GPT 5.4 Pro",
+      "cost_per_1m_in": 30,
+      "cost_per_1m_out": 180,
+      "cost_per_1m_in_cached": 0,
+      "cost_per_1m_out_cached": 0,
+      "context_window": 1050000,
       "default_max_tokens": 8000,
       "can_reason": true,
       "reasoning_levels": [