@aituber-onair/chat 0.52.0 → 0.53.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja.md +27 -20
- package/README.md +27 -20
- package/dist/cjs/constants/deepseek.d.ts +3 -0
- package/dist/cjs/constants/deepseek.d.ts.map +1 -1
- package/dist/cjs/constants/deepseek.js +13 -1
- package/dist/cjs/constants/deepseek.js.map +1 -1
- package/dist/cjs/constants/openrouter.d.ts +7 -0
- package/dist/cjs/constants/openrouter.d.ts.map +1 -1
- package/dist/cjs/constants/openrouter.js +71 -2
- package/dist/cjs/constants/openrouter.js.map +1 -1
- package/dist/cjs/constants/sakana.d.ts +3 -0
- package/dist/cjs/constants/sakana.d.ts.map +1 -1
- package/dist/cjs/constants/sakana.js +12 -2
- package/dist/cjs/constants/sakana.js.map +1 -1
- package/dist/cjs/constants/zai.d.ts +3 -0
- package/dist/cjs/constants/zai.d.ts.map +1 -1
- package/dist/cjs/constants/zai.js +32 -3
- package/dist/cjs/constants/zai.js.map +1 -1
- package/dist/cjs/services/providers/ChatServiceProvider.d.ts +3 -3
- package/dist/cjs/services/providers/ChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/deepseek/DeepSeekChatServiceProvider.d.ts +2 -2
- package/dist/cjs/services/providers/deepseek/DeepSeekChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/deepseek/DeepSeekChatServiceProvider.js +16 -7
- package/dist/cjs/services/providers/deepseek/DeepSeekChatServiceProvider.js.map +1 -1
- package/dist/cjs/services/providers/openai/OpenAIChatService.d.ts +2 -1
- package/dist/cjs/services/providers/openai/OpenAIChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/openai/OpenAIChatService.js +3 -1
- package/dist/cjs/services/providers/openai/OpenAIChatService.js.map +1 -1
- package/dist/cjs/services/providers/openai/openaiRequestBuilder.d.ts +2 -1
- package/dist/cjs/services/providers/openai/openaiRequestBuilder.d.ts.map +1 -1
- package/dist/cjs/services/providers/openai/openaiRequestBuilder.js +4 -1
- package/dist/cjs/services/providers/openai/openaiRequestBuilder.js.map +1 -1
- package/dist/cjs/services/providers/openrouter/OpenRouterChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/openrouter/OpenRouterChatService.js +6 -1
- package/dist/cjs/services/providers/openrouter/OpenRouterChatService.js.map +1 -1
- package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.js +7 -0
- package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.js.map +1 -1
- package/dist/cjs/services/providers/sakana/SakanaChatService.d.ts +3 -1
- package/dist/cjs/services/providers/sakana/SakanaChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/sakana/SakanaChatService.js +2 -2
- package/dist/cjs/services/providers/sakana/SakanaChatService.js.map +1 -1
- package/dist/cjs/services/providers/sakana/SakanaChatServiceProvider.d.ts +2 -2
- package/dist/cjs/services/providers/sakana/SakanaChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/sakana/SakanaChatServiceProvider.js +22 -7
- package/dist/cjs/services/providers/sakana/SakanaChatServiceProvider.js.map +1 -1
- package/dist/cjs/services/providers/zai/ZAIChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/zai/ZAIChatService.js +1 -1
- package/dist/cjs/services/providers/zai/ZAIChatService.js.map +1 -1
- package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.js +24 -14
- package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.js.map +1 -1
- package/dist/esm/constants/deepseek.d.ts +3 -0
- package/dist/esm/constants/deepseek.d.ts.map +1 -1
- package/dist/esm/constants/deepseek.js +11 -0
- package/dist/esm/constants/deepseek.js.map +1 -1
- package/dist/esm/constants/openrouter.d.ts +7 -0
- package/dist/esm/constants/openrouter.d.ts.map +1 -1
- package/dist/esm/constants/openrouter.js +69 -0
- package/dist/esm/constants/openrouter.js.map +1 -1
- package/dist/esm/constants/sakana.d.ts +3 -0
- package/dist/esm/constants/sakana.d.ts.map +1 -1
- package/dist/esm/constants/sakana.js +10 -1
- package/dist/esm/constants/sakana.js.map +1 -1
- package/dist/esm/constants/zai.d.ts +3 -0
- package/dist/esm/constants/zai.d.ts.map +1 -1
- package/dist/esm/constants/zai.js +30 -2
- package/dist/esm/constants/zai.js.map +1 -1
- package/dist/esm/services/providers/ChatServiceProvider.d.ts +3 -3
- package/dist/esm/services/providers/ChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/deepseek/DeepSeekChatServiceProvider.d.ts +2 -2
- package/dist/esm/services/providers/deepseek/DeepSeekChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/deepseek/DeepSeekChatServiceProvider.js +17 -8
- package/dist/esm/services/providers/deepseek/DeepSeekChatServiceProvider.js.map +1 -1
- package/dist/esm/services/providers/openai/OpenAIChatService.d.ts +2 -1
- package/dist/esm/services/providers/openai/OpenAIChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/openai/OpenAIChatService.js +3 -1
- package/dist/esm/services/providers/openai/OpenAIChatService.js.map +1 -1
- package/dist/esm/services/providers/openai/openaiRequestBuilder.d.ts +2 -1
- package/dist/esm/services/providers/openai/openaiRequestBuilder.d.ts.map +1 -1
- package/dist/esm/services/providers/openai/openaiRequestBuilder.js +4 -1
- package/dist/esm/services/providers/openai/openaiRequestBuilder.js.map +1 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatService.js +7 -2
- package/dist/esm/services/providers/openrouter/OpenRouterChatService.js.map +1 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.js +8 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.js.map +1 -1
- package/dist/esm/services/providers/sakana/SakanaChatService.d.ts +3 -1
- package/dist/esm/services/providers/sakana/SakanaChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/sakana/SakanaChatService.js +2 -2
- package/dist/esm/services/providers/sakana/SakanaChatService.js.map +1 -1
- package/dist/esm/services/providers/sakana/SakanaChatServiceProvider.d.ts +2 -2
- package/dist/esm/services/providers/sakana/SakanaChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/sakana/SakanaChatServiceProvider.js +23 -8
- package/dist/esm/services/providers/sakana/SakanaChatServiceProvider.js.map +1 -1
- package/dist/esm/services/providers/zai/ZAIChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/zai/ZAIChatService.js +2 -2
- package/dist/esm/services/providers/zai/ZAIChatService.js.map +1 -1
- package/dist/esm/services/providers/zai/ZAIChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/zai/ZAIChatServiceProvider.js +25 -15
- package/dist/esm/services/providers/zai/ZAIChatServiceProvider.js.map +1 -1
- package/dist/umd/aituber-onair-chat.js +200 -27
- package/dist/umd/aituber-onair-chat.min.js +9 -9
- package/package.json +1 -1
|
@@ -31,6 +31,7 @@ var AITuberOnAirChat = (() => {
|
|
|
31
31
|
DEEPSEEK_API_BASE_URL: () => DEEPSEEK_API_BASE_URL,
|
|
32
32
|
DEEPSEEK_DEPRECATED_MODELS: () => DEEPSEEK_DEPRECATED_MODELS,
|
|
33
33
|
DEEPSEEK_SUPPORTED_MODELS: () => DEEPSEEK_SUPPORTED_MODELS,
|
|
34
|
+
DEEPSEEK_VISION_SUPPORTED_MODELS: () => DEEPSEEK_VISION_SUPPORTED_MODELS,
|
|
34
35
|
DEFAULT_MAX_TOKENS: () => DEFAULT_MAX_TOKENS,
|
|
35
36
|
DEFAULT_SUMMARY_PROMPT_TEMPLATE: () => DEFAULT_SUMMARY_PROMPT_TEMPLATE,
|
|
36
37
|
DEFAULT_VISION_PROMPT: () => DEFAULT_VISION_PROMPT,
|
|
@@ -78,8 +79,10 @@ var AITuberOnAirChat = (() => {
|
|
|
78
79
|
MODEL_ANTHROPIC_CLAUDE_FABLE_5: () => MODEL_ANTHROPIC_CLAUDE_FABLE_5,
|
|
79
80
|
MODEL_ANTHROPIC_CLAUDE_HAIKU_LATEST: () => MODEL_ANTHROPIC_CLAUDE_HAIKU_LATEST,
|
|
80
81
|
MODEL_ANTHROPIC_CLAUDE_OPUS_4: () => MODEL_ANTHROPIC_CLAUDE_OPUS_4,
|
|
82
|
+
MODEL_ANTHROPIC_CLAUDE_OPUS_4_8: () => MODEL_ANTHROPIC_CLAUDE_OPUS_4_8,
|
|
81
83
|
MODEL_ANTHROPIC_CLAUDE_OPUS_5: () => MODEL_ANTHROPIC_CLAUDE_OPUS_5,
|
|
82
84
|
MODEL_ANTHROPIC_CLAUDE_SONNET_4: () => MODEL_ANTHROPIC_CLAUDE_SONNET_4,
|
|
85
|
+
MODEL_ANTHROPIC_CLAUDE_SONNET_5: () => MODEL_ANTHROPIC_CLAUDE_SONNET_5,
|
|
83
86
|
MODEL_ANTHROPIC_CLAUDE_SONNET_LATEST: () => MODEL_ANTHROPIC_CLAUDE_SONNET_LATEST,
|
|
84
87
|
MODEL_CLAUDE_3_5_HAIKU: () => MODEL_CLAUDE_3_5_HAIKU,
|
|
85
88
|
MODEL_CLAUDE_3_5_SONNET: () => MODEL_CLAUDE_3_5_SONNET,
|
|
@@ -100,6 +103,7 @@ var AITuberOnAirChat = (() => {
|
|
|
100
103
|
MODEL_DEEPSEEK_CHAT: () => MODEL_DEEPSEEK_CHAT,
|
|
101
104
|
MODEL_DEEPSEEK_REASONER: () => MODEL_DEEPSEEK_REASONER,
|
|
102
105
|
MODEL_DEEPSEEK_V4_FLASH: () => MODEL_DEEPSEEK_V4_FLASH,
|
|
106
|
+
MODEL_DEEPSEEK_V4_FLASH_VISION_EXP: () => MODEL_DEEPSEEK_V4_FLASH_VISION_EXP,
|
|
103
107
|
MODEL_DEEPSEEK_V4_PRO: () => MODEL_DEEPSEEK_V4_PRO,
|
|
104
108
|
MODEL_FUGU: () => MODEL_FUGU,
|
|
105
109
|
MODEL_FUGU_ULTRA: () => MODEL_FUGU_ULTRA,
|
|
@@ -132,6 +136,8 @@ var AITuberOnAirChat = (() => {
|
|
|
132
136
|
MODEL_GLM_5V_TURBO: () => MODEL_GLM_5V_TURBO,
|
|
133
137
|
MODEL_GLM_5_1: () => MODEL_GLM_5_1,
|
|
134
138
|
MODEL_GLM_5_2: () => MODEL_GLM_5_2,
|
|
139
|
+
MODEL_GLM_5_3: () => MODEL_GLM_5_3,
|
|
140
|
+
MODEL_GLM_5_3_FLASH: () => MODEL_GLM_5_3_FLASH,
|
|
135
141
|
MODEL_GLM_5_TURBO: () => MODEL_GLM_5_TURBO,
|
|
136
142
|
MODEL_GOOGLE_GEMINI_2_5_FLASH: () => MODEL_GOOGLE_GEMINI_2_5_FLASH,
|
|
137
143
|
MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025: () => MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025,
|
|
@@ -184,6 +190,7 @@ var AITuberOnAirChat = (() => {
|
|
|
184
190
|
MODEL_MISTRAL_SMALL_2603: () => MODEL_MISTRAL_SMALL_2603,
|
|
185
191
|
MODEL_MISTRAL_SMALL_LATEST: () => MODEL_MISTRAL_SMALL_LATEST,
|
|
186
192
|
MODEL_MOONSHOTAI_KIMI_K2_5: () => MODEL_MOONSHOTAI_KIMI_K2_5,
|
|
193
|
+
MODEL_MOONSHOTAI_KIMI_K2_6: () => MODEL_MOONSHOTAI_KIMI_K2_6,
|
|
187
194
|
MODEL_MOONSHOTAI_KIMI_K2_7_CODE: () => MODEL_MOONSHOTAI_KIMI_K2_7_CODE,
|
|
188
195
|
MODEL_MOONSHOTAI_KIMI_K3: () => MODEL_MOONSHOTAI_KIMI_K3,
|
|
189
196
|
MODEL_MOONSHOTAI_KIMI_LATEST: () => MODEL_MOONSHOTAI_KIMI_LATEST,
|
|
@@ -208,10 +215,13 @@ var AITuberOnAirChat = (() => {
|
|
|
208
215
|
MODEL_OPENROUTER_AUTO_BETA: () => MODEL_OPENROUTER_AUTO_BETA,
|
|
209
216
|
MODEL_OPENROUTER_DEEPSEEK_V4_FLASH: () => MODEL_OPENROUTER_DEEPSEEK_V4_FLASH,
|
|
210
217
|
MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731: () => MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731,
|
|
218
|
+
MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP: () => MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP,
|
|
211
219
|
MODEL_OPENROUTER_DEEPSEEK_V4_PRO_0813: () => MODEL_OPENROUTER_DEEPSEEK_V4_PRO_0813,
|
|
212
220
|
MODEL_OPENROUTER_FUSION: () => MODEL_OPENROUTER_FUSION,
|
|
213
221
|
MODEL_PLAMO_2_2_PRIME: () => MODEL_PLAMO_2_2_PRIME,
|
|
214
222
|
MODEL_PLAMO_3_0_PRIME: () => MODEL_PLAMO_3_0_PRIME,
|
|
223
|
+
MODEL_QWEN_QWEN_3_8_FLASH: () => MODEL_QWEN_QWEN_3_8_FLASH,
|
|
224
|
+
MODEL_SAKANA_NAMAZU: () => MODEL_SAKANA_NAMAZU,
|
|
215
225
|
MODEL_XAI_GROK_4_5: () => MODEL_XAI_GROK_4_5,
|
|
216
226
|
MODEL_XAI_GROK_4_6: () => MODEL_XAI_GROK_4_6,
|
|
217
227
|
MODEL_XAI_GROK_LATEST: () => MODEL_XAI_GROK_LATEST,
|
|
@@ -219,6 +229,8 @@ var AITuberOnAirChat = (() => {
|
|
|
219
229
|
MODEL_ZAI_GLM_4_5_AIR_FREE: () => MODEL_ZAI_GLM_4_5_AIR_FREE,
|
|
220
230
|
MODEL_ZAI_GLM_4_7_FLASH: () => MODEL_ZAI_GLM_4_7_FLASH,
|
|
221
231
|
MODEL_ZAI_GLM_5_2: () => MODEL_ZAI_GLM_5_2,
|
|
232
|
+
MODEL_ZAI_GLM_5_3: () => MODEL_ZAI_GLM_5_3,
|
|
233
|
+
MODEL_ZAI_GLM_5_3_FLASH: () => MODEL_ZAI_GLM_5_3_FLASH,
|
|
222
234
|
MistralChatService: () => MistralChatService,
|
|
223
235
|
MistralChatServiceProvider: () => MistralChatServiceProvider,
|
|
224
236
|
OPENROUTER_CREDITS_THRESHOLD: () => OPENROUTER_CREDITS_THRESHOLD,
|
|
@@ -241,6 +253,7 @@ var AITuberOnAirChat = (() => {
|
|
|
241
253
|
SAKANA_API_BASE_URL: () => SAKANA_API_BASE_URL,
|
|
242
254
|
SAKANA_COMPATIBILITY_MODELS: () => SAKANA_COMPATIBILITY_MODELS,
|
|
243
255
|
SAKANA_SUPPORTED_MODELS: () => SAKANA_SUPPORTED_MODELS,
|
|
256
|
+
SAKANA_VISION_SUPPORTED_MODELS: () => SAKANA_VISION_SUPPORTED_MODELS,
|
|
244
257
|
SakanaChatService: () => SakanaChatService,
|
|
245
258
|
SakanaChatServiceProvider: () => SakanaChatServiceProvider,
|
|
246
259
|
StreamTextAccumulator: () => StreamTextAccumulator,
|
|
@@ -279,6 +292,7 @@ var AITuberOnAirChat = (() => {
|
|
|
279
292
|
installGASFetch: () => installGASFetch,
|
|
280
293
|
isClaudeReasoningEffortModel: () => isClaudeReasoningEffortModel,
|
|
281
294
|
isDeepSeekReasoningEffortModel: () => isDeepSeekReasoningEffortModel,
|
|
295
|
+
isDeepSeekVisionModel: () => isDeepSeekVisionModel,
|
|
282
296
|
isGPT5Model: () => isGPT5Model,
|
|
283
297
|
isGeminiReasoningEffortModel: () => isGeminiReasoningEffortModel,
|
|
284
298
|
isKimiReasoningEffortModel: () => isKimiReasoningEffortModel,
|
|
@@ -290,9 +304,11 @@ var AITuberOnAirChat = (() => {
|
|
|
290
304
|
isOpenRouterFreeModel: () => isOpenRouterFreeModel,
|
|
291
305
|
isOpenRouterVisionModel: () => isOpenRouterVisionModel,
|
|
292
306
|
isResponsesOnlyGPT5Model: () => isResponsesOnlyGPT5Model,
|
|
307
|
+
isSakanaVisionModel: () => isSakanaVisionModel,
|
|
293
308
|
isXaiReasoningEffortModel: () => isXaiReasoningEffortModel,
|
|
294
309
|
isXaiReasoningEffortNoneModel: () => isXaiReasoningEffortNoneModel,
|
|
295
310
|
isXaiVisionModel: () => isXaiVisionModel,
|
|
311
|
+
isZaiAlwaysThinkingModel: () => isZaiAlwaysThinkingModel,
|
|
296
312
|
isZaiReasoningEffortModel: () => isZaiReasoningEffortModel,
|
|
297
313
|
isZaiToolStreamModel: () => isZaiToolStreamModel,
|
|
298
314
|
isZaiVisionModel: () => isZaiVisionModel,
|
|
@@ -598,6 +614,7 @@ var AITuberOnAirChat = (() => {
|
|
|
598
614
|
var MODEL_GPT_OSS_20B_FREE = "openai/gpt-oss-20b:free";
|
|
599
615
|
var MODEL_MOONSHOTAI_KIMI_K3 = "moonshotai/kimi-k3";
|
|
600
616
|
var MODEL_MOONSHOTAI_KIMI_K2_7_CODE = "moonshotai/kimi-k2.7-code";
|
|
617
|
+
var MODEL_MOONSHOTAI_KIMI_K2_6 = "moonshotai/kimi-k2.6";
|
|
601
618
|
var MODEL_MOONSHOTAI_KIMI_K2_5 = "moonshotai/kimi-k2.5";
|
|
602
619
|
var MODEL_MOONSHOTAI_KIMI_LATEST = "~moonshotai/kimi-latest";
|
|
603
620
|
var MODEL_OPENAI_GPT_LATEST = "~openai/gpt-latest";
|
|
@@ -617,7 +634,9 @@ var AITuberOnAirChat = (() => {
|
|
|
617
634
|
var MODEL_ANTHROPIC_CLAUDE_SONNET_LATEST = "~anthropic/claude-sonnet-latest";
|
|
618
635
|
var MODEL_ANTHROPIC_CLAUDE_HAIKU_LATEST = "~anthropic/claude-haiku-latest";
|
|
619
636
|
var MODEL_ANTHROPIC_CLAUDE_FABLE_5 = "anthropic/claude-fable-5";
|
|
637
|
+
var MODEL_ANTHROPIC_CLAUDE_SONNET_5 = "anthropic/claude-sonnet-5";
|
|
620
638
|
var MODEL_ANTHROPIC_CLAUDE_OPUS_5 = "anthropic/claude-opus-5";
|
|
639
|
+
var MODEL_ANTHROPIC_CLAUDE_OPUS_4_8 = "anthropic/claude-opus-4.8";
|
|
621
640
|
var MODEL_ANTHROPIC_CLAUDE_OPUS_4 = "anthropic/claude-opus-4";
|
|
622
641
|
var MODEL_ANTHROPIC_CLAUDE_SONNET_4 = "anthropic/claude-sonnet-4";
|
|
623
642
|
var MODEL_ANTHROPIC_CLAUDE_3_7_SONNET = "anthropic/claude-3.7-sonnet";
|
|
@@ -632,6 +651,8 @@ var AITuberOnAirChat = (() => {
|
|
|
632
651
|
var MODEL_GOOGLE_GEMINI_2_5_FLASH = "google/gemini-2.5-flash";
|
|
633
652
|
var MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025 = "google/gemini-2.5-flash-lite-preview-09-2025";
|
|
634
653
|
var MODEL_ZAI_GLM_5_2 = "z-ai/glm-5.2";
|
|
654
|
+
var MODEL_ZAI_GLM_5_3 = "z-ai/glm-5.3";
|
|
655
|
+
var MODEL_ZAI_GLM_5_3_FLASH = "z-ai/glm-5.3-flash";
|
|
635
656
|
var MODEL_ZAI_GLM_4_7_FLASH = "z-ai/glm-4.7-flash";
|
|
636
657
|
var MODEL_ZAI_GLM_4_5_AIR = "z-ai/glm-4.5-air";
|
|
637
658
|
var MODEL_ZAI_GLM_4_5_AIR_FREE = "z-ai/glm-4.5-air:free";
|
|
@@ -643,6 +664,8 @@ var AITuberOnAirChat = (() => {
|
|
|
643
664
|
var MODEL_OPENROUTER_DEEPSEEK_V4_FLASH = "deepseek/deepseek-v4-flash";
|
|
644
665
|
var MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731 = "deepseek/deepseek-v4-flash-0731";
|
|
645
666
|
var MODEL_OPENROUTER_DEEPSEEK_V4_PRO_0813 = "deepseek/deepseek-v4-pro-0813";
|
|
667
|
+
var MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP = "deepseek/deepseek-v4-flash-vision-exp";
|
|
668
|
+
var MODEL_QWEN_QWEN_3_8_FLASH = "qwen/qwen3.8-flash";
|
|
646
669
|
var OPENROUTER_DEPRECATED_MODELS = [
|
|
647
670
|
MODEL_OPENAI_GPT_5_1_CHAT,
|
|
648
671
|
MODEL_ANTHROPIC_CLAUDE_3_7_SONNET,
|
|
@@ -672,10 +695,30 @@ var AITuberOnAirChat = (() => {
|
|
|
672
695
|
"high",
|
|
673
696
|
"xhigh"
|
|
674
697
|
];
|
|
698
|
+
var OPENROUTER_ALWAYS_THINKING_REASONING_EFFORTS = [
|
|
699
|
+
"low",
|
|
700
|
+
"high",
|
|
701
|
+
"max"
|
|
702
|
+
];
|
|
703
|
+
var OPENROUTER_OPTIONAL_LOW_REASONING_EFFORTS = [
|
|
704
|
+
"none",
|
|
705
|
+
"low",
|
|
706
|
+
"high",
|
|
707
|
+
"max"
|
|
708
|
+
];
|
|
709
|
+
var OPENROUTER_CLAUDE_REASONING_EFFORTS = [
|
|
710
|
+
"none",
|
|
711
|
+
"low",
|
|
712
|
+
"medium",
|
|
713
|
+
"high",
|
|
714
|
+
"xhigh",
|
|
715
|
+
"max"
|
|
716
|
+
];
|
|
675
717
|
var OPENROUTER_FREE_MODELS = [MODEL_GPT_OSS_20B_FREE];
|
|
676
718
|
var OPENROUTER_VISION_SUPPORTED_MODELS = [
|
|
677
719
|
MODEL_OPENROUTER_AUTO_BETA,
|
|
678
720
|
MODEL_MOONSHOTAI_KIMI_K3,
|
|
721
|
+
MODEL_MOONSHOTAI_KIMI_K2_6,
|
|
679
722
|
MODEL_MOONSHOTAI_KIMI_LATEST,
|
|
680
723
|
MODEL_OPENAI_GPT_LATEST,
|
|
681
724
|
MODEL_OPENAI_GPT_MINI_LATEST,
|
|
@@ -693,7 +736,9 @@ var AITuberOnAirChat = (() => {
|
|
|
693
736
|
MODEL_ANTHROPIC_CLAUDE_SONNET_LATEST,
|
|
694
737
|
MODEL_ANTHROPIC_CLAUDE_HAIKU_LATEST,
|
|
695
738
|
MODEL_ANTHROPIC_CLAUDE_FABLE_5,
|
|
739
|
+
MODEL_ANTHROPIC_CLAUDE_SONNET_5,
|
|
696
740
|
MODEL_ANTHROPIC_CLAUDE_OPUS_5,
|
|
741
|
+
MODEL_ANTHROPIC_CLAUDE_OPUS_4_8,
|
|
697
742
|
MODEL_ANTHROPIC_CLAUDE_OPUS_4,
|
|
698
743
|
MODEL_ANTHROPIC_CLAUDE_SONNET_4,
|
|
699
744
|
MODEL_ANTHROPIC_CLAUDE_4_5_HAIKU,
|
|
@@ -705,6 +750,9 @@ var AITuberOnAirChat = (() => {
|
|
|
705
750
|
MODEL_GOOGLE_GEMINI_2_5_PRO,
|
|
706
751
|
MODEL_GOOGLE_GEMINI_2_5_FLASH,
|
|
707
752
|
MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025,
|
|
753
|
+
MODEL_ZAI_GLM_5_3_FLASH,
|
|
754
|
+
MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP,
|
|
755
|
+
MODEL_QWEN_QWEN_3_8_FLASH,
|
|
708
756
|
MODEL_MOONSHOTAI_KIMI_K2_7_CODE,
|
|
709
757
|
MODEL_MOONSHOTAI_KIMI_K2_5,
|
|
710
758
|
MODEL_XAI_GROK_LATEST,
|
|
@@ -725,6 +773,15 @@ var AITuberOnAirChat = (() => {
|
|
|
725
773
|
}
|
|
726
774
|
function getOpenRouterSupportedReasoningEfforts(model) {
|
|
727
775
|
const normalizedModel = model.trim();
|
|
776
|
+
if (normalizedModel === MODEL_ZAI_GLM_5_3 || normalizedModel === MODEL_ZAI_GLM_5_3_FLASH) {
|
|
777
|
+
return OPENROUTER_ALWAYS_THINKING_REASONING_EFFORTS;
|
|
778
|
+
}
|
|
779
|
+
if (normalizedModel === MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP) {
|
|
780
|
+
return OPENROUTER_OPTIONAL_LOW_REASONING_EFFORTS;
|
|
781
|
+
}
|
|
782
|
+
if (normalizedModel === MODEL_ANTHROPIC_CLAUDE_SONNET_5 || normalizedModel === MODEL_ANTHROPIC_CLAUDE_OPUS_4_8) {
|
|
783
|
+
return OPENROUTER_CLAUDE_REASONING_EFFORTS;
|
|
784
|
+
}
|
|
728
785
|
if (normalizedModel === MODEL_OPENROUTER_DEEPSEEK_V4_FLASH) {
|
|
729
786
|
return OPENROUTER_DEEPSEEK_V4_FLASH_REASONING_EFFORTS;
|
|
730
787
|
}
|
|
@@ -738,7 +795,10 @@ var AITuberOnAirChat = (() => {
|
|
|
738
795
|
}
|
|
739
796
|
function getDefaultOpenRouterReasoningEffort(model) {
|
|
740
797
|
const normalizedModel = model.trim();
|
|
741
|
-
|
|
798
|
+
if (normalizedModel === MODEL_ZAI_GLM_5_3 || normalizedModel === MODEL_ZAI_GLM_5_3_FLASH) {
|
|
799
|
+
return "low";
|
|
800
|
+
}
|
|
801
|
+
return normalizedModel === MODEL_ZAI_GLM_5_2 || normalizedModel === MODEL_QWEN_QWEN_3_8_FLASH || normalizedModel === MODEL_MOONSHOTAI_KIMI_K2_6 || normalizedModel === MODEL_ANTHROPIC_CLAUDE_SONNET_5 || normalizedModel === MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP || normalizedModel === MODEL_OPENROUTER_DEEPSEEK_V4_FLASH || normalizedModel === MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731 || normalizedModel === MODEL_OPENROUTER_DEEPSEEK_V4_PRO_0813 ? "none" : void 0;
|
|
742
802
|
}
|
|
743
803
|
function normalizeOpenRouterReasoningEffort(model, effort) {
|
|
744
804
|
const normalizedModel = model.trim();
|
|
@@ -746,6 +806,15 @@ var AITuberOnAirChat = (() => {
|
|
|
746
806
|
if (!requested) {
|
|
747
807
|
return void 0;
|
|
748
808
|
}
|
|
809
|
+
if (normalizedModel === MODEL_ZAI_GLM_5_3 || normalizedModel === MODEL_ZAI_GLM_5_3_FLASH) {
|
|
810
|
+
if (requested === "high") {
|
|
811
|
+
return "high";
|
|
812
|
+
}
|
|
813
|
+
if (requested === "max" || requested === "xhigh") {
|
|
814
|
+
return "max";
|
|
815
|
+
}
|
|
816
|
+
return "low";
|
|
817
|
+
}
|
|
749
818
|
const supported = getOpenRouterSupportedReasoningEfforts(model);
|
|
750
819
|
if (supported.includes(requested)) {
|
|
751
820
|
return requested;
|
|
@@ -772,11 +841,21 @@ var AITuberOnAirChat = (() => {
|
|
|
772
841
|
return "xhigh";
|
|
773
842
|
}
|
|
774
843
|
}
|
|
844
|
+
if (normalizedModel === MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP) {
|
|
845
|
+
if (requested === "minimal" || requested === "medium") {
|
|
846
|
+
return "low";
|
|
847
|
+
}
|
|
848
|
+
if (requested === "xhigh") {
|
|
849
|
+
return "high";
|
|
850
|
+
}
|
|
851
|
+
}
|
|
775
852
|
return requested;
|
|
776
853
|
}
|
|
777
854
|
|
|
778
855
|
// src/constants/zai.ts
|
|
779
856
|
var ENDPOINT_ZAI_CHAT_COMPLETIONS_API = "https://api.z.ai/api/paas/v4/chat/completions";
|
|
857
|
+
var MODEL_GLM_5_3 = "glm-5.3";
|
|
858
|
+
var MODEL_GLM_5_3_FLASH = "glm-5.3-flash";
|
|
780
859
|
var MODEL_GLM_5_2 = "glm-5.2";
|
|
781
860
|
var MODEL_GLM_5_1 = "glm-5.1";
|
|
782
861
|
var MODEL_GLM_5 = "glm-5";
|
|
@@ -798,20 +877,43 @@ var AITuberOnAirChat = (() => {
|
|
|
798
877
|
"xhigh",
|
|
799
878
|
"max"
|
|
800
879
|
];
|
|
880
|
+
var ZAI_GLM_5_3_REASONING_EFFORTS = [
|
|
881
|
+
"low",
|
|
882
|
+
"high",
|
|
883
|
+
"max"
|
|
884
|
+
];
|
|
885
|
+
function isZaiAlwaysThinkingModel(model) {
|
|
886
|
+
return model === MODEL_GLM_5_3 || model === MODEL_GLM_5_3_FLASH;
|
|
887
|
+
}
|
|
801
888
|
function getZaiSupportedReasoningEfforts(model) {
|
|
889
|
+
if (isZaiAlwaysThinkingModel(model)) {
|
|
890
|
+
return ZAI_GLM_5_3_REASONING_EFFORTS;
|
|
891
|
+
}
|
|
802
892
|
return model === MODEL_GLM_5_2 ? ZAI_GLM_5_2_REASONING_EFFORTS : [];
|
|
803
893
|
}
|
|
804
894
|
function isZaiReasoningEffortModel(model) {
|
|
805
895
|
return getZaiSupportedReasoningEfforts(model).length > 0;
|
|
806
896
|
}
|
|
807
897
|
function getDefaultZaiReasoningEffort(model) {
|
|
808
|
-
|
|
898
|
+
if (isZaiAlwaysThinkingModel(model)) {
|
|
899
|
+
return "low";
|
|
900
|
+
}
|
|
901
|
+
return model === MODEL_GLM_5_2 ? "none" : void 0;
|
|
809
902
|
}
|
|
810
903
|
function normalizeZaiReasoningEffort(model, effort) {
|
|
811
904
|
if (!isZaiReasoningEffortModel(model)) {
|
|
812
905
|
return void 0;
|
|
813
906
|
}
|
|
814
907
|
const requested = effort ?? getDefaultZaiReasoningEffort(model);
|
|
908
|
+
if (isZaiAlwaysThinkingModel(model)) {
|
|
909
|
+
if (requested === "high") {
|
|
910
|
+
return "high";
|
|
911
|
+
}
|
|
912
|
+
if (requested === "max" || requested === "xhigh") {
|
|
913
|
+
return "max";
|
|
914
|
+
}
|
|
915
|
+
return "low";
|
|
916
|
+
}
|
|
815
917
|
if (requested === "none" || requested === "minimal") {
|
|
816
918
|
return "none";
|
|
817
919
|
}
|
|
@@ -821,6 +923,7 @@ var AITuberOnAirChat = (() => {
|
|
|
821
923
|
return "max";
|
|
822
924
|
}
|
|
823
925
|
var ZAI_VISION_SUPPORTED_MODELS = [
|
|
926
|
+
MODEL_GLM_5_3_FLASH,
|
|
824
927
|
MODEL_GLM_5V_TURBO,
|
|
825
928
|
MODEL_GLM_4_6V,
|
|
826
929
|
MODEL_GLM_4_6V_FLASHX,
|
|
@@ -830,7 +933,8 @@ var AITuberOnAirChat = (() => {
|
|
|
830
933
|
return ZAI_VISION_SUPPORTED_MODELS.includes(model);
|
|
831
934
|
}
|
|
832
935
|
function isZaiToolStreamModel(model) {
|
|
833
|
-
|
|
936
|
+
const normalizedModel = model.toLowerCase();
|
|
937
|
+
return normalizedModel.startsWith("glm-5.3") || normalizedModel.startsWith("glm-4.6");
|
|
834
938
|
}
|
|
835
939
|
|
|
836
940
|
// src/constants/xai.ts
|
|
@@ -936,6 +1040,7 @@ var AITuberOnAirChat = (() => {
|
|
|
936
1040
|
var ENDPOINT_DEEPSEEK_CHAT_COMPLETIONS_API = `${DEEPSEEK_API_BASE_URL}/chat/completions`;
|
|
937
1041
|
var MODEL_DEEPSEEK_V4_FLASH = "deepseek-v4-flash";
|
|
938
1042
|
var MODEL_DEEPSEEK_V4_PRO = "deepseek-v4-pro";
|
|
1043
|
+
var MODEL_DEEPSEEK_V4_FLASH_VISION_EXP = "deepseek-v4-flash-vision-exp";
|
|
939
1044
|
var DEEPSEEK_V4_FLASH_REASONING_EFFORTS = [
|
|
940
1045
|
"none",
|
|
941
1046
|
"low",
|
|
@@ -951,7 +1056,11 @@ var AITuberOnAirChat = (() => {
|
|
|
951
1056
|
var MODEL_DEEPSEEK_REASONER = "deepseek-reasoner";
|
|
952
1057
|
var DEEPSEEK_SUPPORTED_MODELS = [
|
|
953
1058
|
MODEL_DEEPSEEK_V4_FLASH,
|
|
954
|
-
MODEL_DEEPSEEK_V4_PRO
|
|
1059
|
+
MODEL_DEEPSEEK_V4_PRO,
|
|
1060
|
+
MODEL_DEEPSEEK_V4_FLASH_VISION_EXP
|
|
1061
|
+
];
|
|
1062
|
+
var DEEPSEEK_VISION_SUPPORTED_MODELS = [
|
|
1063
|
+
MODEL_DEEPSEEK_V4_FLASH_VISION_EXP
|
|
955
1064
|
];
|
|
956
1065
|
var DEEPSEEK_DEPRECATED_MODELS = [
|
|
957
1066
|
MODEL_DEEPSEEK_CHAT,
|
|
@@ -961,11 +1070,17 @@ var AITuberOnAirChat = (() => {
|
|
|
961
1070
|
if (model === MODEL_DEEPSEEK_V4_FLASH) {
|
|
962
1071
|
return DEEPSEEK_V4_FLASH_REASONING_EFFORTS;
|
|
963
1072
|
}
|
|
1073
|
+
if (model === MODEL_DEEPSEEK_V4_FLASH_VISION_EXP) {
|
|
1074
|
+
return DEEPSEEK_V4_FLASH_REASONING_EFFORTS;
|
|
1075
|
+
}
|
|
964
1076
|
if (model === MODEL_DEEPSEEK_V4_PRO) {
|
|
965
1077
|
return DEEPSEEK_V4_PRO_REASONING_EFFORTS;
|
|
966
1078
|
}
|
|
967
1079
|
return [];
|
|
968
1080
|
}
|
|
1081
|
+
function isDeepSeekVisionModel(model) {
|
|
1082
|
+
return DEEPSEEK_VISION_SUPPORTED_MODELS.includes(model);
|
|
1083
|
+
}
|
|
969
1084
|
function isDeepSeekReasoningEffortModel(model) {
|
|
970
1085
|
return getDeepSeekSupportedReasoningEfforts(model).length > 0;
|
|
971
1086
|
}
|
|
@@ -1040,8 +1155,17 @@ var AITuberOnAirChat = (() => {
|
|
|
1040
1155
|
var MODEL_FUGU = "fugu";
|
|
1041
1156
|
var MODEL_FUGU_ULTRA = "fugu-ultra";
|
|
1042
1157
|
var MODEL_FUGU_ULTRA_V1_1 = "fugu-ultra-v1.1";
|
|
1158
|
+
var MODEL_SAKANA_NAMAZU = "sakana-namazu";
|
|
1043
1159
|
var MODEL_FUGU_ULTRA_20260615 = "fugu-ultra-20260615";
|
|
1044
|
-
var SAKANA_SUPPORTED_MODELS = [
|
|
1160
|
+
var SAKANA_SUPPORTED_MODELS = [
|
|
1161
|
+
MODEL_FUGU,
|
|
1162
|
+
MODEL_FUGU_ULTRA_V1_1,
|
|
1163
|
+
MODEL_SAKANA_NAMAZU
|
|
1164
|
+
];
|
|
1165
|
+
var SAKANA_VISION_SUPPORTED_MODELS = [MODEL_SAKANA_NAMAZU];
|
|
1166
|
+
function isSakanaVisionModel(model) {
|
|
1167
|
+
return SAKANA_VISION_SUPPORTED_MODELS.includes(model);
|
|
1168
|
+
}
|
|
1045
1169
|
var SAKANA_COMPATIBILITY_MODELS = [
|
|
1046
1170
|
MODEL_FUGU_ULTRA,
|
|
1047
1171
|
MODEL_FUGU_ULTRA_20260615
|
|
@@ -2728,6 +2852,7 @@ If it's in another language, summarize in that language.
|
|
|
2728
2852
|
reasoning_effort,
|
|
2729
2853
|
enableReasoningSummary,
|
|
2730
2854
|
responseFormat,
|
|
2855
|
+
chatTemplateThinking,
|
|
2731
2856
|
maxTokens
|
|
2732
2857
|
}) {
|
|
2733
2858
|
const isResponsesAPI = endpoint === ENDPOINT_OPENAI_RESPONSES_API;
|
|
@@ -2812,6 +2937,9 @@ If it's in another language, summarize in that language.
|
|
|
2812
2937
|
body.reasoning_effort = reasoning_effort;
|
|
2813
2938
|
}
|
|
2814
2939
|
}
|
|
2940
|
+
if (provider === "sakana" && chatTemplateThinking !== void 0) {
|
|
2941
|
+
body.chat_template_kwargs = { thinking: chatTemplateThinking };
|
|
2942
|
+
}
|
|
2815
2943
|
const toolDefinitions = buildOpenAIToolsDefinition({
|
|
2816
2944
|
tools,
|
|
2817
2945
|
mcpServers,
|
|
@@ -2939,7 +3067,7 @@ If it's in another language, summarize in that language.
|
|
|
2939
3067
|
* @param model Name of the model to use
|
|
2940
3068
|
* @param visionModel Name of the vision model
|
|
2941
3069
|
*/
|
|
2942
|
-
constructor(apiKey, model = MODEL_GPT_4O_MINI, visionModel = MODEL_GPT_4O_MINI, tools, endpoint = ENDPOINT_OPENAI_CHAT_COMPLETIONS_API, mcpServers = [], responseLength, verbosity, reasoning_effort, enableReasoningSummary = false, provider = "openai", validateVisionModel = true, responseFormat) {
|
|
3070
|
+
constructor(apiKey, model = MODEL_GPT_4O_MINI, visionModel = MODEL_GPT_4O_MINI, tools, endpoint = ENDPOINT_OPENAI_CHAT_COMPLETIONS_API, mcpServers = [], responseLength, verbosity, reasoning_effort, enableReasoningSummary = false, provider = "openai", validateVisionModel = true, responseFormat, chatTemplateThinking) {
|
|
2943
3071
|
this.provider = provider;
|
|
2944
3072
|
this.apiKey = apiKey;
|
|
2945
3073
|
this.model = model;
|
|
@@ -2951,6 +3079,7 @@ If it's in another language, summarize in that language.
|
|
|
2951
3079
|
this.reasoning_effort = reasoning_effort;
|
|
2952
3080
|
this.enableReasoningSummary = enableReasoningSummary;
|
|
2953
3081
|
this.responseFormat = responseFormat;
|
|
3082
|
+
this.chatTemplateThinking = chatTemplateThinking;
|
|
2954
3083
|
if (validateVisionModel && !VISION_SUPPORTED_MODELS.includes(visionModel)) {
|
|
2955
3084
|
throw new Error(
|
|
2956
3085
|
`Model ${visionModel} does not support vision capabilities.`
|
|
@@ -3098,6 +3227,7 @@ If it's in another language, summarize in that language.
|
|
|
3098
3227
|
reasoning_effort: this.reasoning_effort,
|
|
3099
3228
|
enableReasoningSummary: this.enableReasoningSummary,
|
|
3100
3229
|
responseFormat: this.responseFormat,
|
|
3230
|
+
chatTemplateThinking: this.chatTemplateThinking,
|
|
3101
3231
|
maxTokens
|
|
3102
3232
|
});
|
|
3103
3233
|
const headers = {};
|
|
@@ -3155,11 +3285,19 @@ If it's in another language, summarize in that language.
|
|
|
3155
3285
|
createChatService(options) {
|
|
3156
3286
|
this.validateRequiredOptions(options);
|
|
3157
3287
|
const model = options.model || this.getDefaultModel();
|
|
3288
|
+
const visionModel = resolveVisionModel({
|
|
3289
|
+
model,
|
|
3290
|
+
visionModel: options.visionModel,
|
|
3291
|
+
defaultModel: this.getDefaultModel(),
|
|
3292
|
+
defaultVisionModel: MODEL_DEEPSEEK_V4_FLASH_VISION_EXP,
|
|
3293
|
+
supportsVisionForModel: (visionModel2) => this.supportsVisionForModel(visionModel2),
|
|
3294
|
+
validate: "explicit"
|
|
3295
|
+
});
|
|
3158
3296
|
const tools = options.tools;
|
|
3159
3297
|
return new DeepSeekChatService(
|
|
3160
3298
|
options.apiKey,
|
|
3161
3299
|
model,
|
|
3162
|
-
|
|
3300
|
+
visionModel,
|
|
3163
3301
|
tools,
|
|
3164
3302
|
this.resolveEndpoint(options),
|
|
3165
3303
|
options.responseLength,
|
|
@@ -3176,16 +3314,16 @@ If it's in another language, summarize in that language.
|
|
|
3176
3314
|
return MODEL_DEEPSEEK_V4_FLASH;
|
|
3177
3315
|
}
|
|
3178
3316
|
supportsVision() {
|
|
3179
|
-
return
|
|
3317
|
+
return true;
|
|
3180
3318
|
}
|
|
3181
3319
|
getVisionSupportLevel() {
|
|
3182
|
-
return "
|
|
3320
|
+
return "supported";
|
|
3183
3321
|
}
|
|
3184
|
-
supportsVisionForModel(
|
|
3185
|
-
return
|
|
3322
|
+
supportsVisionForModel(model) {
|
|
3323
|
+
return isDeepSeekVisionModel(model);
|
|
3186
3324
|
}
|
|
3187
|
-
getVisionSupportLevelForModel(
|
|
3188
|
-
return "unsupported";
|
|
3325
|
+
getVisionSupportLevelForModel(model) {
|
|
3326
|
+
return this.supportsVisionForModel(model) ? "supported" : "unsupported";
|
|
3189
3327
|
}
|
|
3190
3328
|
validateRequiredOptions(options) {
|
|
3191
3329
|
if (!options.apiKey?.trim()) {
|
|
@@ -4954,7 +5092,12 @@ If it's in another language, summarize in that language.
|
|
|
4954
5092
|
|
|
4955
5093
|
// src/services/providers/openrouter/OpenRouterChatService.ts
|
|
4956
5094
|
var isOpenRouterAutoModel = (model) => [MODEL_OPENROUTER_AUTO, MODEL_OPENROUTER_AUTO_BETA].includes(model.trim());
|
|
4957
|
-
var isTokenLimitUnsupportedModel = (model) => [
|
|
5095
|
+
var isTokenLimitUnsupportedModel = (model) => [
|
|
5096
|
+
MODEL_GPT_OSS_20B_FREE,
|
|
5097
|
+
MODEL_ZAI_GLM_5_3,
|
|
5098
|
+
MODEL_ZAI_GLM_5_3_FLASH,
|
|
5099
|
+
MODEL_ZAI_GLM_5_2
|
|
5100
|
+
].includes(model.trim());
|
|
4958
5101
|
var ensureAutoRouterOutput = (model, hasVisibleOutput) => {
|
|
4959
5102
|
if (isOpenRouterAutoModel(model) && !hasVisibleOutput) {
|
|
4960
5103
|
throw new Error(
|
|
@@ -5300,7 +5443,9 @@ If it's in another language, summarize in that language.
|
|
|
5300
5443
|
MODEL_ANTHROPIC_CLAUDE_SONNET_LATEST,
|
|
5301
5444
|
MODEL_ANTHROPIC_CLAUDE_HAIKU_LATEST,
|
|
5302
5445
|
MODEL_ANTHROPIC_CLAUDE_FABLE_5,
|
|
5446
|
+
MODEL_ANTHROPIC_CLAUDE_SONNET_5,
|
|
5303
5447
|
MODEL_ANTHROPIC_CLAUDE_OPUS_5,
|
|
5448
|
+
MODEL_ANTHROPIC_CLAUDE_OPUS_4_8,
|
|
5304
5449
|
MODEL_ANTHROPIC_CLAUDE_OPUS_4,
|
|
5305
5450
|
MODEL_ANTHROPIC_CLAUDE_SONNET_4,
|
|
5306
5451
|
MODEL_ANTHROPIC_CLAUDE_4_5_HAIKU,
|
|
@@ -5314,6 +5459,8 @@ If it's in another language, summarize in that language.
|
|
|
5314
5459
|
MODEL_GOOGLE_GEMINI_2_5_FLASH,
|
|
5315
5460
|
MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025,
|
|
5316
5461
|
// Z.ai models
|
|
5462
|
+
MODEL_ZAI_GLM_5_3,
|
|
5463
|
+
MODEL_ZAI_GLM_5_3_FLASH,
|
|
5317
5464
|
MODEL_ZAI_GLM_5_2,
|
|
5318
5465
|
MODEL_ZAI_GLM_4_7_FLASH,
|
|
5319
5466
|
MODEL_ZAI_GLM_4_5_AIR,
|
|
@@ -5325,10 +5472,13 @@ If it's in another language, summarize in that language.
|
|
|
5325
5472
|
MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731,
|
|
5326
5473
|
MODEL_OPENROUTER_DEEPSEEK_V4_FLASH,
|
|
5327
5474
|
MODEL_OPENROUTER_DEEPSEEK_V4_PRO_0813,
|
|
5475
|
+
MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP,
|
|
5328
5476
|
// Other models
|
|
5477
|
+
MODEL_QWEN_QWEN_3_8_FLASH,
|
|
5329
5478
|
MODEL_MOONSHOTAI_KIMI_LATEST,
|
|
5330
5479
|
MODEL_MOONSHOTAI_KIMI_K3,
|
|
5331
5480
|
MODEL_MOONSHOTAI_KIMI_K2_7_CODE,
|
|
5481
|
+
MODEL_MOONSHOTAI_KIMI_K2_6,
|
|
5332
5482
|
MODEL_MOONSHOTAI_KIMI_K2_5,
|
|
5333
5483
|
MODEL_KWAIPILOT_KAT_CODER_AIR_V2_5,
|
|
5334
5484
|
MODEL_KWAIPILOT_KAT_CODER_PRO_V2_5
|
|
@@ -5463,7 +5613,7 @@ If it's in another language, summarize in that language.
|
|
|
5463
5613
|
|
|
5464
5614
|
// src/services/providers/sakana/SakanaChatService.ts
|
|
5465
5615
|
var SakanaChatService = class extends OpenAIChatService {
|
|
5466
|
-
constructor(apiKey, model = MODEL_FUGU, visionModel = model, tools, endpoint = ENDPOINT_SAKANA_CHAT_COMPLETIONS_API, responseLength) {
|
|
5616
|
+
constructor(apiKey, model = MODEL_FUGU, visionModel = model, tools, endpoint = ENDPOINT_SAKANA_CHAT_COMPLETIONS_API, responseLength, thinking) {
|
|
5467
5617
|
super(
|
|
5468
5618
|
apiKey,
|
|
5469
5619
|
model,
|
|
@@ -5476,7 +5626,9 @@ If it's in another language, summarize in that language.
|
|
|
5476
5626
|
void 0,
|
|
5477
5627
|
false,
|
|
5478
5628
|
"sakana",
|
|
5479
|
-
false
|
|
5629
|
+
false,
|
|
5630
|
+
void 0,
|
|
5631
|
+
thinking?.type === "enabled"
|
|
5480
5632
|
);
|
|
5481
5633
|
}
|
|
5482
5634
|
};
|
|
@@ -5486,14 +5638,29 @@ If it's in another language, summarize in that language.
|
|
|
5486
5638
|
createChatService(options) {
|
|
5487
5639
|
this.validateRequiredOptions(options);
|
|
5488
5640
|
const model = options.model || this.getDefaultModel();
|
|
5641
|
+
const visionModel = resolveVisionModel({
|
|
5642
|
+
model,
|
|
5643
|
+
visionModel: options.visionModel,
|
|
5644
|
+
defaultModel: this.getDefaultModel(),
|
|
5645
|
+
defaultVisionModel: MODEL_SAKANA_NAMAZU,
|
|
5646
|
+
supportsVisionForModel: (visionModel2) => this.supportsVisionForModel(visionModel2),
|
|
5647
|
+
validate: "explicit"
|
|
5648
|
+
});
|
|
5489
5649
|
const tools = options.tools;
|
|
5650
|
+
if (options.thinking !== void 0 && model !== MODEL_SAKANA_NAMAZU) {
|
|
5651
|
+
throw new Error(
|
|
5652
|
+
"Sakana thinking control is only supported for sakana-namazu."
|
|
5653
|
+
);
|
|
5654
|
+
}
|
|
5655
|
+
const thinking = model === MODEL_SAKANA_NAMAZU ? options.thinking ?? { type: "disabled" } : void 0;
|
|
5490
5656
|
return new SakanaChatService(
|
|
5491
5657
|
options.apiKey,
|
|
5492
5658
|
model,
|
|
5493
|
-
|
|
5659
|
+
visionModel,
|
|
5494
5660
|
tools,
|
|
5495
5661
|
this.resolveEndpoint(options),
|
|
5496
|
-
options.responseLength
|
|
5662
|
+
options.responseLength,
|
|
5663
|
+
thinking
|
|
5497
5664
|
);
|
|
5498
5665
|
}
|
|
5499
5666
|
getProviderName() {
|
|
@@ -5506,16 +5673,16 @@ If it's in another language, summarize in that language.
|
|
|
5506
5673
|
return MODEL_FUGU;
|
|
5507
5674
|
}
|
|
5508
5675
|
supportsVision() {
|
|
5509
|
-
return
|
|
5676
|
+
return true;
|
|
5510
5677
|
}
|
|
5511
5678
|
getVisionSupportLevel() {
|
|
5512
|
-
return "
|
|
5679
|
+
return "supported";
|
|
5513
5680
|
}
|
|
5514
|
-
supportsVisionForModel(
|
|
5515
|
-
return
|
|
5681
|
+
supportsVisionForModel(model) {
|
|
5682
|
+
return isSakanaVisionModel(model);
|
|
5516
5683
|
}
|
|
5517
|
-
getVisionSupportLevelForModel(
|
|
5518
|
-
return "unsupported";
|
|
5684
|
+
getVisionSupportLevelForModel(model) {
|
|
5685
|
+
return this.supportsVisionForModel(model) ? "supported" : "unsupported";
|
|
5519
5686
|
}
|
|
5520
5687
|
validateRequiredOptions(options) {
|
|
5521
5688
|
if (!options.apiKey?.trim()) {
|
|
@@ -5894,7 +6061,7 @@ If it's in another language, summarize in that language.
|
|
|
5894
6061
|
if (this.thinking) {
|
|
5895
6062
|
body.thinking = this.thinking;
|
|
5896
6063
|
}
|
|
5897
|
-
if (model
|
|
6064
|
+
if (isZaiReasoningEffortModel(model) && this.reasoningEffort) {
|
|
5898
6065
|
body.reasoning_effort = this.reasoningEffort;
|
|
5899
6066
|
}
|
|
5900
6067
|
const tools = this.buildToolsDefinition();
|
|
@@ -5958,15 +6125,19 @@ If it's in another language, summarize in that language.
|
|
|
5958
6125
|
model,
|
|
5959
6126
|
options.reasoning_effort
|
|
5960
6127
|
);
|
|
6128
|
+
const alwaysThinking = isZaiAlwaysThinkingModel(model);
|
|
5961
6129
|
const usesExplicitThinking = options.thinking !== void 0;
|
|
5962
|
-
const thinking =
|
|
6130
|
+
const thinking = alwaysThinking ? {
|
|
6131
|
+
type: "enabled",
|
|
6132
|
+
clear_thinking: options.thinking?.clear_thinking ?? true
|
|
6133
|
+
} : usesExplicitThinking && options.reasoning_effort === void 0 ? options.thinking : normalizedReasoningEffort === "high" || normalizedReasoningEffort === "max" ? {
|
|
5963
6134
|
type: "enabled",
|
|
5964
6135
|
clear_thinking: options.thinking?.clear_thinking
|
|
5965
6136
|
} : {
|
|
5966
6137
|
type: "disabled",
|
|
5967
6138
|
clear_thinking: options.thinking?.clear_thinking
|
|
5968
6139
|
};
|
|
5969
|
-
const reasoningEffort = thinking?.type === "enabled" && options.reasoning_effort !== void 0 ? normalizedReasoningEffort : void 0;
|
|
6140
|
+
const reasoningEffort = alwaysThinking ? normalizedReasoningEffort : thinking?.type === "enabled" && options.reasoning_effort !== void 0 ? normalizedReasoningEffort : void 0;
|
|
5970
6141
|
return new ZAIChatService(
|
|
5971
6142
|
options.apiKey,
|
|
5972
6143
|
model,
|
|
@@ -5990,6 +6161,8 @@ If it's in another language, summarize in that language.
|
|
|
5990
6161
|
*/
|
|
5991
6162
|
getSupportedModels() {
|
|
5992
6163
|
return [
|
|
6164
|
+
MODEL_GLM_5_3,
|
|
6165
|
+
MODEL_GLM_5_3_FLASH,
|
|
5993
6166
|
MODEL_GLM_5_2,
|
|
5994
6167
|
MODEL_GLM_5_1,
|
|
5995
6168
|
MODEL_GLM_5,
|