@aituber-onair/chat 0.52.0 → 0.54.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 +33 -25
- package/README.md +34 -25
- 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/gemini.d.ts +2 -1
- package/dist/cjs/constants/gemini.d.ts.map +1 -1
- package/dist/cjs/constants/gemini.js +10 -14
- package/dist/cjs/constants/gemini.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/gemini.d.ts +2 -1
- package/dist/esm/constants/gemini.d.ts.map +1 -1
- package/dist/esm/constants/gemini.js +9 -13
- package/dist/esm/constants/gemini.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 +209 -39
- 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,
|
|
@@ -116,6 +120,7 @@ var AITuberOnAirChat = (() => {
|
|
|
116
120
|
MODEL_GEMINI_3_5_FLASH_LITE: () => MODEL_GEMINI_3_5_FLASH_LITE,
|
|
117
121
|
MODEL_GEMINI_3_6_FLASH: () => MODEL_GEMINI_3_6_FLASH,
|
|
118
122
|
MODEL_GEMINI_3_7_FLASH: () => MODEL_GEMINI_3_7_FLASH,
|
|
123
|
+
MODEL_GEMINI_3_8_FLASH: () => MODEL_GEMINI_3_8_FLASH,
|
|
119
124
|
MODEL_GEMINI_3_FLASH_PREVIEW: () => MODEL_GEMINI_3_FLASH_PREVIEW,
|
|
120
125
|
MODEL_GEMINI_3_PRO_PREVIEW: () => MODEL_GEMINI_3_PRO_PREVIEW,
|
|
121
126
|
MODEL_GEMINI_NANO: () => MODEL_GEMINI_NANO,
|
|
@@ -132,6 +137,8 @@ var AITuberOnAirChat = (() => {
|
|
|
132
137
|
MODEL_GLM_5V_TURBO: () => MODEL_GLM_5V_TURBO,
|
|
133
138
|
MODEL_GLM_5_1: () => MODEL_GLM_5_1,
|
|
134
139
|
MODEL_GLM_5_2: () => MODEL_GLM_5_2,
|
|
140
|
+
MODEL_GLM_5_3: () => MODEL_GLM_5_3,
|
|
141
|
+
MODEL_GLM_5_3_FLASH: () => MODEL_GLM_5_3_FLASH,
|
|
135
142
|
MODEL_GLM_5_TURBO: () => MODEL_GLM_5_TURBO,
|
|
136
143
|
MODEL_GOOGLE_GEMINI_2_5_FLASH: () => MODEL_GOOGLE_GEMINI_2_5_FLASH,
|
|
137
144
|
MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025: () => MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025,
|
|
@@ -184,6 +191,7 @@ var AITuberOnAirChat = (() => {
|
|
|
184
191
|
MODEL_MISTRAL_SMALL_2603: () => MODEL_MISTRAL_SMALL_2603,
|
|
185
192
|
MODEL_MISTRAL_SMALL_LATEST: () => MODEL_MISTRAL_SMALL_LATEST,
|
|
186
193
|
MODEL_MOONSHOTAI_KIMI_K2_5: () => MODEL_MOONSHOTAI_KIMI_K2_5,
|
|
194
|
+
MODEL_MOONSHOTAI_KIMI_K2_6: () => MODEL_MOONSHOTAI_KIMI_K2_6,
|
|
187
195
|
MODEL_MOONSHOTAI_KIMI_K2_7_CODE: () => MODEL_MOONSHOTAI_KIMI_K2_7_CODE,
|
|
188
196
|
MODEL_MOONSHOTAI_KIMI_K3: () => MODEL_MOONSHOTAI_KIMI_K3,
|
|
189
197
|
MODEL_MOONSHOTAI_KIMI_LATEST: () => MODEL_MOONSHOTAI_KIMI_LATEST,
|
|
@@ -208,10 +216,13 @@ var AITuberOnAirChat = (() => {
|
|
|
208
216
|
MODEL_OPENROUTER_AUTO_BETA: () => MODEL_OPENROUTER_AUTO_BETA,
|
|
209
217
|
MODEL_OPENROUTER_DEEPSEEK_V4_FLASH: () => MODEL_OPENROUTER_DEEPSEEK_V4_FLASH,
|
|
210
218
|
MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731: () => MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731,
|
|
219
|
+
MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP: () => MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP,
|
|
211
220
|
MODEL_OPENROUTER_DEEPSEEK_V4_PRO_0813: () => MODEL_OPENROUTER_DEEPSEEK_V4_PRO_0813,
|
|
212
221
|
MODEL_OPENROUTER_FUSION: () => MODEL_OPENROUTER_FUSION,
|
|
213
222
|
MODEL_PLAMO_2_2_PRIME: () => MODEL_PLAMO_2_2_PRIME,
|
|
214
223
|
MODEL_PLAMO_3_0_PRIME: () => MODEL_PLAMO_3_0_PRIME,
|
|
224
|
+
MODEL_QWEN_QWEN_3_8_FLASH: () => MODEL_QWEN_QWEN_3_8_FLASH,
|
|
225
|
+
MODEL_SAKANA_NAMAZU: () => MODEL_SAKANA_NAMAZU,
|
|
215
226
|
MODEL_XAI_GROK_4_5: () => MODEL_XAI_GROK_4_5,
|
|
216
227
|
MODEL_XAI_GROK_4_6: () => MODEL_XAI_GROK_4_6,
|
|
217
228
|
MODEL_XAI_GROK_LATEST: () => MODEL_XAI_GROK_LATEST,
|
|
@@ -219,6 +230,8 @@ var AITuberOnAirChat = (() => {
|
|
|
219
230
|
MODEL_ZAI_GLM_4_5_AIR_FREE: () => MODEL_ZAI_GLM_4_5_AIR_FREE,
|
|
220
231
|
MODEL_ZAI_GLM_4_7_FLASH: () => MODEL_ZAI_GLM_4_7_FLASH,
|
|
221
232
|
MODEL_ZAI_GLM_5_2: () => MODEL_ZAI_GLM_5_2,
|
|
233
|
+
MODEL_ZAI_GLM_5_3: () => MODEL_ZAI_GLM_5_3,
|
|
234
|
+
MODEL_ZAI_GLM_5_3_FLASH: () => MODEL_ZAI_GLM_5_3_FLASH,
|
|
222
235
|
MistralChatService: () => MistralChatService,
|
|
223
236
|
MistralChatServiceProvider: () => MistralChatServiceProvider,
|
|
224
237
|
OPENROUTER_CREDITS_THRESHOLD: () => OPENROUTER_CREDITS_THRESHOLD,
|
|
@@ -241,6 +254,7 @@ var AITuberOnAirChat = (() => {
|
|
|
241
254
|
SAKANA_API_BASE_URL: () => SAKANA_API_BASE_URL,
|
|
242
255
|
SAKANA_COMPATIBILITY_MODELS: () => SAKANA_COMPATIBILITY_MODELS,
|
|
243
256
|
SAKANA_SUPPORTED_MODELS: () => SAKANA_SUPPORTED_MODELS,
|
|
257
|
+
SAKANA_VISION_SUPPORTED_MODELS: () => SAKANA_VISION_SUPPORTED_MODELS,
|
|
244
258
|
SakanaChatService: () => SakanaChatService,
|
|
245
259
|
SakanaChatServiceProvider: () => SakanaChatServiceProvider,
|
|
246
260
|
StreamTextAccumulator: () => StreamTextAccumulator,
|
|
@@ -279,6 +293,7 @@ var AITuberOnAirChat = (() => {
|
|
|
279
293
|
installGASFetch: () => installGASFetch,
|
|
280
294
|
isClaudeReasoningEffortModel: () => isClaudeReasoningEffortModel,
|
|
281
295
|
isDeepSeekReasoningEffortModel: () => isDeepSeekReasoningEffortModel,
|
|
296
|
+
isDeepSeekVisionModel: () => isDeepSeekVisionModel,
|
|
282
297
|
isGPT5Model: () => isGPT5Model,
|
|
283
298
|
isGeminiReasoningEffortModel: () => isGeminiReasoningEffortModel,
|
|
284
299
|
isKimiReasoningEffortModel: () => isKimiReasoningEffortModel,
|
|
@@ -290,9 +305,11 @@ var AITuberOnAirChat = (() => {
|
|
|
290
305
|
isOpenRouterFreeModel: () => isOpenRouterFreeModel,
|
|
291
306
|
isOpenRouterVisionModel: () => isOpenRouterVisionModel,
|
|
292
307
|
isResponsesOnlyGPT5Model: () => isResponsesOnlyGPT5Model,
|
|
308
|
+
isSakanaVisionModel: () => isSakanaVisionModel,
|
|
293
309
|
isXaiReasoningEffortModel: () => isXaiReasoningEffortModel,
|
|
294
310
|
isXaiReasoningEffortNoneModel: () => isXaiReasoningEffortNoneModel,
|
|
295
311
|
isXaiVisionModel: () => isXaiVisionModel,
|
|
312
|
+
isZaiAlwaysThinkingModel: () => isZaiAlwaysThinkingModel,
|
|
296
313
|
isZaiReasoningEffortModel: () => isZaiReasoningEffortModel,
|
|
297
314
|
isZaiToolStreamModel: () => isZaiToolStreamModel,
|
|
298
315
|
isZaiVisionModel: () => isZaiVisionModel,
|
|
@@ -412,6 +429,7 @@ var AITuberOnAirChat = (() => {
|
|
|
412
429
|
var ENDPOINT_GEMINI_API = "https://generativelanguage.googleapis.com";
|
|
413
430
|
var MODEL_GEMMA_4_31B_IT = "gemma-4-31b-it";
|
|
414
431
|
var MODEL_GEMMA_4_26B_A4B_IT = "gemma-4-26b-a4b-it";
|
|
432
|
+
var MODEL_GEMINI_3_8_FLASH = "gemini-3.8-flash";
|
|
415
433
|
var MODEL_GEMINI_3_7_FLASH = "gemini-3.7-flash";
|
|
416
434
|
var MODEL_GEMINI_3_6_FLASH = "gemini-3.6-flash";
|
|
417
435
|
var MODEL_GEMINI_3_5_FLASH = "gemini-3.5-flash";
|
|
@@ -426,6 +444,7 @@ var AITuberOnAirChat = (() => {
|
|
|
426
444
|
var MODEL_GEMINI_2_5_FLASH_LITE = "gemini-2.5-flash-lite";
|
|
427
445
|
var MODEL_GEMINI_2_5_FLASH_LITE_PREVIEW_06_17 = "gemini-2.5-flash-lite-preview-06-17";
|
|
428
446
|
var GEMINI_RECOMMENDED_MODELS = [
|
|
447
|
+
MODEL_GEMINI_3_8_FLASH,
|
|
429
448
|
MODEL_GEMINI_3_7_FLASH,
|
|
430
449
|
MODEL_GEMINI_3_6_FLASH,
|
|
431
450
|
MODEL_GEMINI_3_5_FLASH,
|
|
@@ -454,12 +473,7 @@ var AITuberOnAirChat = (() => {
|
|
|
454
473
|
"medium",
|
|
455
474
|
"high"
|
|
456
475
|
];
|
|
457
|
-
var
|
|
458
|
-
"low",
|
|
459
|
-
"medium",
|
|
460
|
-
"high"
|
|
461
|
-
];
|
|
462
|
-
var GEMINI_3_7_FLASH_REASONING_EFFORTS = [
|
|
476
|
+
var GEMINI_LOW_MINIMUM_REASONING_EFFORTS = [
|
|
463
477
|
"low",
|
|
464
478
|
"medium",
|
|
465
479
|
"high"
|
|
@@ -472,19 +486,18 @@ var AITuberOnAirChat = (() => {
|
|
|
472
486
|
MODEL_GEMINI_3_1_FLASH_LITE_PREVIEW,
|
|
473
487
|
MODEL_GEMINI_3_FLASH_PREVIEW
|
|
474
488
|
];
|
|
475
|
-
var
|
|
489
|
+
var GEMINI_LOW_MINIMUM_REASONING_EFFORT_MODELS = [
|
|
490
|
+
MODEL_GEMINI_3_8_FLASH,
|
|
491
|
+
MODEL_GEMINI_3_7_FLASH,
|
|
476
492
|
MODEL_GEMINI_3_1_PRO_PREVIEW,
|
|
477
493
|
MODEL_GEMINI_3_PRO_PREVIEW
|
|
478
494
|
];
|
|
479
495
|
function getGeminiSupportedReasoningEfforts(model) {
|
|
480
|
-
if (model === MODEL_GEMINI_3_7_FLASH) {
|
|
481
|
-
return GEMINI_3_7_FLASH_REASONING_EFFORTS;
|
|
482
|
-
}
|
|
483
496
|
if (GEMINI_FLASH_REASONING_EFFORT_MODELS.includes(model)) {
|
|
484
497
|
return GEMINI_FLASH_REASONING_EFFORTS;
|
|
485
498
|
}
|
|
486
|
-
if (
|
|
487
|
-
return
|
|
499
|
+
if (GEMINI_LOW_MINIMUM_REASONING_EFFORT_MODELS.includes(model)) {
|
|
500
|
+
return GEMINI_LOW_MINIMUM_REASONING_EFFORTS;
|
|
488
501
|
}
|
|
489
502
|
return [];
|
|
490
503
|
}
|
|
@@ -598,6 +611,7 @@ var AITuberOnAirChat = (() => {
|
|
|
598
611
|
var MODEL_GPT_OSS_20B_FREE = "openai/gpt-oss-20b:free";
|
|
599
612
|
var MODEL_MOONSHOTAI_KIMI_K3 = "moonshotai/kimi-k3";
|
|
600
613
|
var MODEL_MOONSHOTAI_KIMI_K2_7_CODE = "moonshotai/kimi-k2.7-code";
|
|
614
|
+
var MODEL_MOONSHOTAI_KIMI_K2_6 = "moonshotai/kimi-k2.6";
|
|
601
615
|
var MODEL_MOONSHOTAI_KIMI_K2_5 = "moonshotai/kimi-k2.5";
|
|
602
616
|
var MODEL_MOONSHOTAI_KIMI_LATEST = "~moonshotai/kimi-latest";
|
|
603
617
|
var MODEL_OPENAI_GPT_LATEST = "~openai/gpt-latest";
|
|
@@ -617,7 +631,9 @@ var AITuberOnAirChat = (() => {
|
|
|
617
631
|
var MODEL_ANTHROPIC_CLAUDE_SONNET_LATEST = "~anthropic/claude-sonnet-latest";
|
|
618
632
|
var MODEL_ANTHROPIC_CLAUDE_HAIKU_LATEST = "~anthropic/claude-haiku-latest";
|
|
619
633
|
var MODEL_ANTHROPIC_CLAUDE_FABLE_5 = "anthropic/claude-fable-5";
|
|
634
|
+
var MODEL_ANTHROPIC_CLAUDE_SONNET_5 = "anthropic/claude-sonnet-5";
|
|
620
635
|
var MODEL_ANTHROPIC_CLAUDE_OPUS_5 = "anthropic/claude-opus-5";
|
|
636
|
+
var MODEL_ANTHROPIC_CLAUDE_OPUS_4_8 = "anthropic/claude-opus-4.8";
|
|
621
637
|
var MODEL_ANTHROPIC_CLAUDE_OPUS_4 = "anthropic/claude-opus-4";
|
|
622
638
|
var MODEL_ANTHROPIC_CLAUDE_SONNET_4 = "anthropic/claude-sonnet-4";
|
|
623
639
|
var MODEL_ANTHROPIC_CLAUDE_3_7_SONNET = "anthropic/claude-3.7-sonnet";
|
|
@@ -632,6 +648,8 @@ var AITuberOnAirChat = (() => {
|
|
|
632
648
|
var MODEL_GOOGLE_GEMINI_2_5_FLASH = "google/gemini-2.5-flash";
|
|
633
649
|
var MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025 = "google/gemini-2.5-flash-lite-preview-09-2025";
|
|
634
650
|
var MODEL_ZAI_GLM_5_2 = "z-ai/glm-5.2";
|
|
651
|
+
var MODEL_ZAI_GLM_5_3 = "z-ai/glm-5.3";
|
|
652
|
+
var MODEL_ZAI_GLM_5_3_FLASH = "z-ai/glm-5.3-flash";
|
|
635
653
|
var MODEL_ZAI_GLM_4_7_FLASH = "z-ai/glm-4.7-flash";
|
|
636
654
|
var MODEL_ZAI_GLM_4_5_AIR = "z-ai/glm-4.5-air";
|
|
637
655
|
var MODEL_ZAI_GLM_4_5_AIR_FREE = "z-ai/glm-4.5-air:free";
|
|
@@ -643,6 +661,8 @@ var AITuberOnAirChat = (() => {
|
|
|
643
661
|
var MODEL_OPENROUTER_DEEPSEEK_V4_FLASH = "deepseek/deepseek-v4-flash";
|
|
644
662
|
var MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731 = "deepseek/deepseek-v4-flash-0731";
|
|
645
663
|
var MODEL_OPENROUTER_DEEPSEEK_V4_PRO_0813 = "deepseek/deepseek-v4-pro-0813";
|
|
664
|
+
var MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP = "deepseek/deepseek-v4-flash-vision-exp";
|
|
665
|
+
var MODEL_QWEN_QWEN_3_8_FLASH = "qwen/qwen3.8-flash";
|
|
646
666
|
var OPENROUTER_DEPRECATED_MODELS = [
|
|
647
667
|
MODEL_OPENAI_GPT_5_1_CHAT,
|
|
648
668
|
MODEL_ANTHROPIC_CLAUDE_3_7_SONNET,
|
|
@@ -672,10 +692,30 @@ var AITuberOnAirChat = (() => {
|
|
|
672
692
|
"high",
|
|
673
693
|
"xhigh"
|
|
674
694
|
];
|
|
695
|
+
var OPENROUTER_ALWAYS_THINKING_REASONING_EFFORTS = [
|
|
696
|
+
"low",
|
|
697
|
+
"high",
|
|
698
|
+
"max"
|
|
699
|
+
];
|
|
700
|
+
var OPENROUTER_OPTIONAL_LOW_REASONING_EFFORTS = [
|
|
701
|
+
"none",
|
|
702
|
+
"low",
|
|
703
|
+
"high",
|
|
704
|
+
"max"
|
|
705
|
+
];
|
|
706
|
+
var OPENROUTER_CLAUDE_REASONING_EFFORTS = [
|
|
707
|
+
"none",
|
|
708
|
+
"low",
|
|
709
|
+
"medium",
|
|
710
|
+
"high",
|
|
711
|
+
"xhigh",
|
|
712
|
+
"max"
|
|
713
|
+
];
|
|
675
714
|
var OPENROUTER_FREE_MODELS = [MODEL_GPT_OSS_20B_FREE];
|
|
676
715
|
var OPENROUTER_VISION_SUPPORTED_MODELS = [
|
|
677
716
|
MODEL_OPENROUTER_AUTO_BETA,
|
|
678
717
|
MODEL_MOONSHOTAI_KIMI_K3,
|
|
718
|
+
MODEL_MOONSHOTAI_KIMI_K2_6,
|
|
679
719
|
MODEL_MOONSHOTAI_KIMI_LATEST,
|
|
680
720
|
MODEL_OPENAI_GPT_LATEST,
|
|
681
721
|
MODEL_OPENAI_GPT_MINI_LATEST,
|
|
@@ -693,7 +733,9 @@ var AITuberOnAirChat = (() => {
|
|
|
693
733
|
MODEL_ANTHROPIC_CLAUDE_SONNET_LATEST,
|
|
694
734
|
MODEL_ANTHROPIC_CLAUDE_HAIKU_LATEST,
|
|
695
735
|
MODEL_ANTHROPIC_CLAUDE_FABLE_5,
|
|
736
|
+
MODEL_ANTHROPIC_CLAUDE_SONNET_5,
|
|
696
737
|
MODEL_ANTHROPIC_CLAUDE_OPUS_5,
|
|
738
|
+
MODEL_ANTHROPIC_CLAUDE_OPUS_4_8,
|
|
697
739
|
MODEL_ANTHROPIC_CLAUDE_OPUS_4,
|
|
698
740
|
MODEL_ANTHROPIC_CLAUDE_SONNET_4,
|
|
699
741
|
MODEL_ANTHROPIC_CLAUDE_4_5_HAIKU,
|
|
@@ -705,6 +747,9 @@ var AITuberOnAirChat = (() => {
|
|
|
705
747
|
MODEL_GOOGLE_GEMINI_2_5_PRO,
|
|
706
748
|
MODEL_GOOGLE_GEMINI_2_5_FLASH,
|
|
707
749
|
MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025,
|
|
750
|
+
MODEL_ZAI_GLM_5_3_FLASH,
|
|
751
|
+
MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP,
|
|
752
|
+
MODEL_QWEN_QWEN_3_8_FLASH,
|
|
708
753
|
MODEL_MOONSHOTAI_KIMI_K2_7_CODE,
|
|
709
754
|
MODEL_MOONSHOTAI_KIMI_K2_5,
|
|
710
755
|
MODEL_XAI_GROK_LATEST,
|
|
@@ -725,6 +770,15 @@ var AITuberOnAirChat = (() => {
|
|
|
725
770
|
}
|
|
726
771
|
function getOpenRouterSupportedReasoningEfforts(model) {
|
|
727
772
|
const normalizedModel = model.trim();
|
|
773
|
+
if (normalizedModel === MODEL_ZAI_GLM_5_3 || normalizedModel === MODEL_ZAI_GLM_5_3_FLASH) {
|
|
774
|
+
return OPENROUTER_ALWAYS_THINKING_REASONING_EFFORTS;
|
|
775
|
+
}
|
|
776
|
+
if (normalizedModel === MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP) {
|
|
777
|
+
return OPENROUTER_OPTIONAL_LOW_REASONING_EFFORTS;
|
|
778
|
+
}
|
|
779
|
+
if (normalizedModel === MODEL_ANTHROPIC_CLAUDE_SONNET_5 || normalizedModel === MODEL_ANTHROPIC_CLAUDE_OPUS_4_8) {
|
|
780
|
+
return OPENROUTER_CLAUDE_REASONING_EFFORTS;
|
|
781
|
+
}
|
|
728
782
|
if (normalizedModel === MODEL_OPENROUTER_DEEPSEEK_V4_FLASH) {
|
|
729
783
|
return OPENROUTER_DEEPSEEK_V4_FLASH_REASONING_EFFORTS;
|
|
730
784
|
}
|
|
@@ -738,7 +792,10 @@ var AITuberOnAirChat = (() => {
|
|
|
738
792
|
}
|
|
739
793
|
function getDefaultOpenRouterReasoningEffort(model) {
|
|
740
794
|
const normalizedModel = model.trim();
|
|
741
|
-
|
|
795
|
+
if (normalizedModel === MODEL_ZAI_GLM_5_3 || normalizedModel === MODEL_ZAI_GLM_5_3_FLASH) {
|
|
796
|
+
return "low";
|
|
797
|
+
}
|
|
798
|
+
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
799
|
}
|
|
743
800
|
function normalizeOpenRouterReasoningEffort(model, effort) {
|
|
744
801
|
const normalizedModel = model.trim();
|
|
@@ -746,6 +803,15 @@ var AITuberOnAirChat = (() => {
|
|
|
746
803
|
if (!requested) {
|
|
747
804
|
return void 0;
|
|
748
805
|
}
|
|
806
|
+
if (normalizedModel === MODEL_ZAI_GLM_5_3 || normalizedModel === MODEL_ZAI_GLM_5_3_FLASH) {
|
|
807
|
+
if (requested === "high") {
|
|
808
|
+
return "high";
|
|
809
|
+
}
|
|
810
|
+
if (requested === "max" || requested === "xhigh") {
|
|
811
|
+
return "max";
|
|
812
|
+
}
|
|
813
|
+
return "low";
|
|
814
|
+
}
|
|
749
815
|
const supported = getOpenRouterSupportedReasoningEfforts(model);
|
|
750
816
|
if (supported.includes(requested)) {
|
|
751
817
|
return requested;
|
|
@@ -772,11 +838,21 @@ var AITuberOnAirChat = (() => {
|
|
|
772
838
|
return "xhigh";
|
|
773
839
|
}
|
|
774
840
|
}
|
|
841
|
+
if (normalizedModel === MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP) {
|
|
842
|
+
if (requested === "minimal" || requested === "medium") {
|
|
843
|
+
return "low";
|
|
844
|
+
}
|
|
845
|
+
if (requested === "xhigh") {
|
|
846
|
+
return "high";
|
|
847
|
+
}
|
|
848
|
+
}
|
|
775
849
|
return requested;
|
|
776
850
|
}
|
|
777
851
|
|
|
778
852
|
// src/constants/zai.ts
|
|
779
853
|
var ENDPOINT_ZAI_CHAT_COMPLETIONS_API = "https://api.z.ai/api/paas/v4/chat/completions";
|
|
854
|
+
var MODEL_GLM_5_3 = "glm-5.3";
|
|
855
|
+
var MODEL_GLM_5_3_FLASH = "glm-5.3-flash";
|
|
780
856
|
var MODEL_GLM_5_2 = "glm-5.2";
|
|
781
857
|
var MODEL_GLM_5_1 = "glm-5.1";
|
|
782
858
|
var MODEL_GLM_5 = "glm-5";
|
|
@@ -798,20 +874,43 @@ var AITuberOnAirChat = (() => {
|
|
|
798
874
|
"xhigh",
|
|
799
875
|
"max"
|
|
800
876
|
];
|
|
877
|
+
var ZAI_GLM_5_3_REASONING_EFFORTS = [
|
|
878
|
+
"low",
|
|
879
|
+
"high",
|
|
880
|
+
"max"
|
|
881
|
+
];
|
|
882
|
+
function isZaiAlwaysThinkingModel(model) {
|
|
883
|
+
return model === MODEL_GLM_5_3 || model === MODEL_GLM_5_3_FLASH;
|
|
884
|
+
}
|
|
801
885
|
function getZaiSupportedReasoningEfforts(model) {
|
|
886
|
+
if (isZaiAlwaysThinkingModel(model)) {
|
|
887
|
+
return ZAI_GLM_5_3_REASONING_EFFORTS;
|
|
888
|
+
}
|
|
802
889
|
return model === MODEL_GLM_5_2 ? ZAI_GLM_5_2_REASONING_EFFORTS : [];
|
|
803
890
|
}
|
|
804
891
|
function isZaiReasoningEffortModel(model) {
|
|
805
892
|
return getZaiSupportedReasoningEfforts(model).length > 0;
|
|
806
893
|
}
|
|
807
894
|
function getDefaultZaiReasoningEffort(model) {
|
|
808
|
-
|
|
895
|
+
if (isZaiAlwaysThinkingModel(model)) {
|
|
896
|
+
return "low";
|
|
897
|
+
}
|
|
898
|
+
return model === MODEL_GLM_5_2 ? "none" : void 0;
|
|
809
899
|
}
|
|
810
900
|
function normalizeZaiReasoningEffort(model, effort) {
|
|
811
901
|
if (!isZaiReasoningEffortModel(model)) {
|
|
812
902
|
return void 0;
|
|
813
903
|
}
|
|
814
904
|
const requested = effort ?? getDefaultZaiReasoningEffort(model);
|
|
905
|
+
if (isZaiAlwaysThinkingModel(model)) {
|
|
906
|
+
if (requested === "high") {
|
|
907
|
+
return "high";
|
|
908
|
+
}
|
|
909
|
+
if (requested === "max" || requested === "xhigh") {
|
|
910
|
+
return "max";
|
|
911
|
+
}
|
|
912
|
+
return "low";
|
|
913
|
+
}
|
|
815
914
|
if (requested === "none" || requested === "minimal") {
|
|
816
915
|
return "none";
|
|
817
916
|
}
|
|
@@ -821,6 +920,7 @@ var AITuberOnAirChat = (() => {
|
|
|
821
920
|
return "max";
|
|
822
921
|
}
|
|
823
922
|
var ZAI_VISION_SUPPORTED_MODELS = [
|
|
923
|
+
MODEL_GLM_5_3_FLASH,
|
|
824
924
|
MODEL_GLM_5V_TURBO,
|
|
825
925
|
MODEL_GLM_4_6V,
|
|
826
926
|
MODEL_GLM_4_6V_FLASHX,
|
|
@@ -830,7 +930,8 @@ var AITuberOnAirChat = (() => {
|
|
|
830
930
|
return ZAI_VISION_SUPPORTED_MODELS.includes(model);
|
|
831
931
|
}
|
|
832
932
|
function isZaiToolStreamModel(model) {
|
|
833
|
-
|
|
933
|
+
const normalizedModel = model.toLowerCase();
|
|
934
|
+
return normalizedModel.startsWith("glm-5.3") || normalizedModel.startsWith("glm-4.6");
|
|
834
935
|
}
|
|
835
936
|
|
|
836
937
|
// src/constants/xai.ts
|
|
@@ -936,6 +1037,7 @@ var AITuberOnAirChat = (() => {
|
|
|
936
1037
|
var ENDPOINT_DEEPSEEK_CHAT_COMPLETIONS_API = `${DEEPSEEK_API_BASE_URL}/chat/completions`;
|
|
937
1038
|
var MODEL_DEEPSEEK_V4_FLASH = "deepseek-v4-flash";
|
|
938
1039
|
var MODEL_DEEPSEEK_V4_PRO = "deepseek-v4-pro";
|
|
1040
|
+
var MODEL_DEEPSEEK_V4_FLASH_VISION_EXP = "deepseek-v4-flash-vision-exp";
|
|
939
1041
|
var DEEPSEEK_V4_FLASH_REASONING_EFFORTS = [
|
|
940
1042
|
"none",
|
|
941
1043
|
"low",
|
|
@@ -951,7 +1053,11 @@ var AITuberOnAirChat = (() => {
|
|
|
951
1053
|
var MODEL_DEEPSEEK_REASONER = "deepseek-reasoner";
|
|
952
1054
|
var DEEPSEEK_SUPPORTED_MODELS = [
|
|
953
1055
|
MODEL_DEEPSEEK_V4_FLASH,
|
|
954
|
-
MODEL_DEEPSEEK_V4_PRO
|
|
1056
|
+
MODEL_DEEPSEEK_V4_PRO,
|
|
1057
|
+
MODEL_DEEPSEEK_V4_FLASH_VISION_EXP
|
|
1058
|
+
];
|
|
1059
|
+
var DEEPSEEK_VISION_SUPPORTED_MODELS = [
|
|
1060
|
+
MODEL_DEEPSEEK_V4_FLASH_VISION_EXP
|
|
955
1061
|
];
|
|
956
1062
|
var DEEPSEEK_DEPRECATED_MODELS = [
|
|
957
1063
|
MODEL_DEEPSEEK_CHAT,
|
|
@@ -961,11 +1067,17 @@ var AITuberOnAirChat = (() => {
|
|
|
961
1067
|
if (model === MODEL_DEEPSEEK_V4_FLASH) {
|
|
962
1068
|
return DEEPSEEK_V4_FLASH_REASONING_EFFORTS;
|
|
963
1069
|
}
|
|
1070
|
+
if (model === MODEL_DEEPSEEK_V4_FLASH_VISION_EXP) {
|
|
1071
|
+
return DEEPSEEK_V4_FLASH_REASONING_EFFORTS;
|
|
1072
|
+
}
|
|
964
1073
|
if (model === MODEL_DEEPSEEK_V4_PRO) {
|
|
965
1074
|
return DEEPSEEK_V4_PRO_REASONING_EFFORTS;
|
|
966
1075
|
}
|
|
967
1076
|
return [];
|
|
968
1077
|
}
|
|
1078
|
+
function isDeepSeekVisionModel(model) {
|
|
1079
|
+
return DEEPSEEK_VISION_SUPPORTED_MODELS.includes(model);
|
|
1080
|
+
}
|
|
969
1081
|
function isDeepSeekReasoningEffortModel(model) {
|
|
970
1082
|
return getDeepSeekSupportedReasoningEfforts(model).length > 0;
|
|
971
1083
|
}
|
|
@@ -1040,8 +1152,17 @@ var AITuberOnAirChat = (() => {
|
|
|
1040
1152
|
var MODEL_FUGU = "fugu";
|
|
1041
1153
|
var MODEL_FUGU_ULTRA = "fugu-ultra";
|
|
1042
1154
|
var MODEL_FUGU_ULTRA_V1_1 = "fugu-ultra-v1.1";
|
|
1155
|
+
var MODEL_SAKANA_NAMAZU = "sakana-namazu";
|
|
1043
1156
|
var MODEL_FUGU_ULTRA_20260615 = "fugu-ultra-20260615";
|
|
1044
|
-
var SAKANA_SUPPORTED_MODELS = [
|
|
1157
|
+
var SAKANA_SUPPORTED_MODELS = [
|
|
1158
|
+
MODEL_FUGU,
|
|
1159
|
+
MODEL_FUGU_ULTRA_V1_1,
|
|
1160
|
+
MODEL_SAKANA_NAMAZU
|
|
1161
|
+
];
|
|
1162
|
+
var SAKANA_VISION_SUPPORTED_MODELS = [MODEL_SAKANA_NAMAZU];
|
|
1163
|
+
function isSakanaVisionModel(model) {
|
|
1164
|
+
return SAKANA_VISION_SUPPORTED_MODELS.includes(model);
|
|
1165
|
+
}
|
|
1045
1166
|
var SAKANA_COMPATIBILITY_MODELS = [
|
|
1046
1167
|
MODEL_FUGU_ULTRA,
|
|
1047
1168
|
MODEL_FUGU_ULTRA_20260615
|
|
@@ -2728,6 +2849,7 @@ If it's in another language, summarize in that language.
|
|
|
2728
2849
|
reasoning_effort,
|
|
2729
2850
|
enableReasoningSummary,
|
|
2730
2851
|
responseFormat,
|
|
2852
|
+
chatTemplateThinking,
|
|
2731
2853
|
maxTokens
|
|
2732
2854
|
}) {
|
|
2733
2855
|
const isResponsesAPI = endpoint === ENDPOINT_OPENAI_RESPONSES_API;
|
|
@@ -2812,6 +2934,9 @@ If it's in another language, summarize in that language.
|
|
|
2812
2934
|
body.reasoning_effort = reasoning_effort;
|
|
2813
2935
|
}
|
|
2814
2936
|
}
|
|
2937
|
+
if (provider === "sakana" && chatTemplateThinking !== void 0) {
|
|
2938
|
+
body.chat_template_kwargs = { thinking: chatTemplateThinking };
|
|
2939
|
+
}
|
|
2815
2940
|
const toolDefinitions = buildOpenAIToolsDefinition({
|
|
2816
2941
|
tools,
|
|
2817
2942
|
mcpServers,
|
|
@@ -2939,7 +3064,7 @@ If it's in another language, summarize in that language.
|
|
|
2939
3064
|
* @param model Name of the model to use
|
|
2940
3065
|
* @param visionModel Name of the vision model
|
|
2941
3066
|
*/
|
|
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) {
|
|
3067
|
+
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
3068
|
this.provider = provider;
|
|
2944
3069
|
this.apiKey = apiKey;
|
|
2945
3070
|
this.model = model;
|
|
@@ -2951,6 +3076,7 @@ If it's in another language, summarize in that language.
|
|
|
2951
3076
|
this.reasoning_effort = reasoning_effort;
|
|
2952
3077
|
this.enableReasoningSummary = enableReasoningSummary;
|
|
2953
3078
|
this.responseFormat = responseFormat;
|
|
3079
|
+
this.chatTemplateThinking = chatTemplateThinking;
|
|
2954
3080
|
if (validateVisionModel && !VISION_SUPPORTED_MODELS.includes(visionModel)) {
|
|
2955
3081
|
throw new Error(
|
|
2956
3082
|
`Model ${visionModel} does not support vision capabilities.`
|
|
@@ -3098,6 +3224,7 @@ If it's in another language, summarize in that language.
|
|
|
3098
3224
|
reasoning_effort: this.reasoning_effort,
|
|
3099
3225
|
enableReasoningSummary: this.enableReasoningSummary,
|
|
3100
3226
|
responseFormat: this.responseFormat,
|
|
3227
|
+
chatTemplateThinking: this.chatTemplateThinking,
|
|
3101
3228
|
maxTokens
|
|
3102
3229
|
});
|
|
3103
3230
|
const headers = {};
|
|
@@ -3155,11 +3282,19 @@ If it's in another language, summarize in that language.
|
|
|
3155
3282
|
createChatService(options) {
|
|
3156
3283
|
this.validateRequiredOptions(options);
|
|
3157
3284
|
const model = options.model || this.getDefaultModel();
|
|
3285
|
+
const visionModel = resolveVisionModel({
|
|
3286
|
+
model,
|
|
3287
|
+
visionModel: options.visionModel,
|
|
3288
|
+
defaultModel: this.getDefaultModel(),
|
|
3289
|
+
defaultVisionModel: MODEL_DEEPSEEK_V4_FLASH_VISION_EXP,
|
|
3290
|
+
supportsVisionForModel: (visionModel2) => this.supportsVisionForModel(visionModel2),
|
|
3291
|
+
validate: "explicit"
|
|
3292
|
+
});
|
|
3158
3293
|
const tools = options.tools;
|
|
3159
3294
|
return new DeepSeekChatService(
|
|
3160
3295
|
options.apiKey,
|
|
3161
3296
|
model,
|
|
3162
|
-
|
|
3297
|
+
visionModel,
|
|
3163
3298
|
tools,
|
|
3164
3299
|
this.resolveEndpoint(options),
|
|
3165
3300
|
options.responseLength,
|
|
@@ -3176,16 +3311,16 @@ If it's in another language, summarize in that language.
|
|
|
3176
3311
|
return MODEL_DEEPSEEK_V4_FLASH;
|
|
3177
3312
|
}
|
|
3178
3313
|
supportsVision() {
|
|
3179
|
-
return
|
|
3314
|
+
return true;
|
|
3180
3315
|
}
|
|
3181
3316
|
getVisionSupportLevel() {
|
|
3182
|
-
return "
|
|
3317
|
+
return "supported";
|
|
3183
3318
|
}
|
|
3184
|
-
supportsVisionForModel(
|
|
3185
|
-
return
|
|
3319
|
+
supportsVisionForModel(model) {
|
|
3320
|
+
return isDeepSeekVisionModel(model);
|
|
3186
3321
|
}
|
|
3187
|
-
getVisionSupportLevelForModel(
|
|
3188
|
-
return "unsupported";
|
|
3322
|
+
getVisionSupportLevelForModel(model) {
|
|
3323
|
+
return this.supportsVisionForModel(model) ? "supported" : "unsupported";
|
|
3189
3324
|
}
|
|
3190
3325
|
validateRequiredOptions(options) {
|
|
3191
3326
|
if (!options.apiKey?.trim()) {
|
|
@@ -4954,7 +5089,12 @@ If it's in another language, summarize in that language.
|
|
|
4954
5089
|
|
|
4955
5090
|
// src/services/providers/openrouter/OpenRouterChatService.ts
|
|
4956
5091
|
var isOpenRouterAutoModel = (model) => [MODEL_OPENROUTER_AUTO, MODEL_OPENROUTER_AUTO_BETA].includes(model.trim());
|
|
4957
|
-
var isTokenLimitUnsupportedModel = (model) => [
|
|
5092
|
+
var isTokenLimitUnsupportedModel = (model) => [
|
|
5093
|
+
MODEL_GPT_OSS_20B_FREE,
|
|
5094
|
+
MODEL_ZAI_GLM_5_3,
|
|
5095
|
+
MODEL_ZAI_GLM_5_3_FLASH,
|
|
5096
|
+
MODEL_ZAI_GLM_5_2
|
|
5097
|
+
].includes(model.trim());
|
|
4958
5098
|
var ensureAutoRouterOutput = (model, hasVisibleOutput) => {
|
|
4959
5099
|
if (isOpenRouterAutoModel(model) && !hasVisibleOutput) {
|
|
4960
5100
|
throw new Error(
|
|
@@ -5300,7 +5440,9 @@ If it's in another language, summarize in that language.
|
|
|
5300
5440
|
MODEL_ANTHROPIC_CLAUDE_SONNET_LATEST,
|
|
5301
5441
|
MODEL_ANTHROPIC_CLAUDE_HAIKU_LATEST,
|
|
5302
5442
|
MODEL_ANTHROPIC_CLAUDE_FABLE_5,
|
|
5443
|
+
MODEL_ANTHROPIC_CLAUDE_SONNET_5,
|
|
5303
5444
|
MODEL_ANTHROPIC_CLAUDE_OPUS_5,
|
|
5445
|
+
MODEL_ANTHROPIC_CLAUDE_OPUS_4_8,
|
|
5304
5446
|
MODEL_ANTHROPIC_CLAUDE_OPUS_4,
|
|
5305
5447
|
MODEL_ANTHROPIC_CLAUDE_SONNET_4,
|
|
5306
5448
|
MODEL_ANTHROPIC_CLAUDE_4_5_HAIKU,
|
|
@@ -5314,6 +5456,8 @@ If it's in another language, summarize in that language.
|
|
|
5314
5456
|
MODEL_GOOGLE_GEMINI_2_5_FLASH,
|
|
5315
5457
|
MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025,
|
|
5316
5458
|
// Z.ai models
|
|
5459
|
+
MODEL_ZAI_GLM_5_3,
|
|
5460
|
+
MODEL_ZAI_GLM_5_3_FLASH,
|
|
5317
5461
|
MODEL_ZAI_GLM_5_2,
|
|
5318
5462
|
MODEL_ZAI_GLM_4_7_FLASH,
|
|
5319
5463
|
MODEL_ZAI_GLM_4_5_AIR,
|
|
@@ -5325,10 +5469,13 @@ If it's in another language, summarize in that language.
|
|
|
5325
5469
|
MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731,
|
|
5326
5470
|
MODEL_OPENROUTER_DEEPSEEK_V4_FLASH,
|
|
5327
5471
|
MODEL_OPENROUTER_DEEPSEEK_V4_PRO_0813,
|
|
5472
|
+
MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP,
|
|
5328
5473
|
// Other models
|
|
5474
|
+
MODEL_QWEN_QWEN_3_8_FLASH,
|
|
5329
5475
|
MODEL_MOONSHOTAI_KIMI_LATEST,
|
|
5330
5476
|
MODEL_MOONSHOTAI_KIMI_K3,
|
|
5331
5477
|
MODEL_MOONSHOTAI_KIMI_K2_7_CODE,
|
|
5478
|
+
MODEL_MOONSHOTAI_KIMI_K2_6,
|
|
5332
5479
|
MODEL_MOONSHOTAI_KIMI_K2_5,
|
|
5333
5480
|
MODEL_KWAIPILOT_KAT_CODER_AIR_V2_5,
|
|
5334
5481
|
MODEL_KWAIPILOT_KAT_CODER_PRO_V2_5
|
|
@@ -5463,7 +5610,7 @@ If it's in another language, summarize in that language.
|
|
|
5463
5610
|
|
|
5464
5611
|
// src/services/providers/sakana/SakanaChatService.ts
|
|
5465
5612
|
var SakanaChatService = class extends OpenAIChatService {
|
|
5466
|
-
constructor(apiKey, model = MODEL_FUGU, visionModel = model, tools, endpoint = ENDPOINT_SAKANA_CHAT_COMPLETIONS_API, responseLength) {
|
|
5613
|
+
constructor(apiKey, model = MODEL_FUGU, visionModel = model, tools, endpoint = ENDPOINT_SAKANA_CHAT_COMPLETIONS_API, responseLength, thinking) {
|
|
5467
5614
|
super(
|
|
5468
5615
|
apiKey,
|
|
5469
5616
|
model,
|
|
@@ -5476,7 +5623,9 @@ If it's in another language, summarize in that language.
|
|
|
5476
5623
|
void 0,
|
|
5477
5624
|
false,
|
|
5478
5625
|
"sakana",
|
|
5479
|
-
false
|
|
5626
|
+
false,
|
|
5627
|
+
void 0,
|
|
5628
|
+
thinking?.type === "enabled"
|
|
5480
5629
|
);
|
|
5481
5630
|
}
|
|
5482
5631
|
};
|
|
@@ -5486,14 +5635,29 @@ If it's in another language, summarize in that language.
|
|
|
5486
5635
|
createChatService(options) {
|
|
5487
5636
|
this.validateRequiredOptions(options);
|
|
5488
5637
|
const model = options.model || this.getDefaultModel();
|
|
5638
|
+
const visionModel = resolveVisionModel({
|
|
5639
|
+
model,
|
|
5640
|
+
visionModel: options.visionModel,
|
|
5641
|
+
defaultModel: this.getDefaultModel(),
|
|
5642
|
+
defaultVisionModel: MODEL_SAKANA_NAMAZU,
|
|
5643
|
+
supportsVisionForModel: (visionModel2) => this.supportsVisionForModel(visionModel2),
|
|
5644
|
+
validate: "explicit"
|
|
5645
|
+
});
|
|
5489
5646
|
const tools = options.tools;
|
|
5647
|
+
if (options.thinking !== void 0 && model !== MODEL_SAKANA_NAMAZU) {
|
|
5648
|
+
throw new Error(
|
|
5649
|
+
"Sakana thinking control is only supported for sakana-namazu."
|
|
5650
|
+
);
|
|
5651
|
+
}
|
|
5652
|
+
const thinking = model === MODEL_SAKANA_NAMAZU ? options.thinking ?? { type: "disabled" } : void 0;
|
|
5490
5653
|
return new SakanaChatService(
|
|
5491
5654
|
options.apiKey,
|
|
5492
5655
|
model,
|
|
5493
|
-
|
|
5656
|
+
visionModel,
|
|
5494
5657
|
tools,
|
|
5495
5658
|
this.resolveEndpoint(options),
|
|
5496
|
-
options.responseLength
|
|
5659
|
+
options.responseLength,
|
|
5660
|
+
thinking
|
|
5497
5661
|
);
|
|
5498
5662
|
}
|
|
5499
5663
|
getProviderName() {
|
|
@@ -5506,16 +5670,16 @@ If it's in another language, summarize in that language.
|
|
|
5506
5670
|
return MODEL_FUGU;
|
|
5507
5671
|
}
|
|
5508
5672
|
supportsVision() {
|
|
5509
|
-
return
|
|
5673
|
+
return true;
|
|
5510
5674
|
}
|
|
5511
5675
|
getVisionSupportLevel() {
|
|
5512
|
-
return "
|
|
5676
|
+
return "supported";
|
|
5513
5677
|
}
|
|
5514
|
-
supportsVisionForModel(
|
|
5515
|
-
return
|
|
5678
|
+
supportsVisionForModel(model) {
|
|
5679
|
+
return isSakanaVisionModel(model);
|
|
5516
5680
|
}
|
|
5517
|
-
getVisionSupportLevelForModel(
|
|
5518
|
-
return "unsupported";
|
|
5681
|
+
getVisionSupportLevelForModel(model) {
|
|
5682
|
+
return this.supportsVisionForModel(model) ? "supported" : "unsupported";
|
|
5519
5683
|
}
|
|
5520
5684
|
validateRequiredOptions(options) {
|
|
5521
5685
|
if (!options.apiKey?.trim()) {
|
|
@@ -5894,7 +6058,7 @@ If it's in another language, summarize in that language.
|
|
|
5894
6058
|
if (this.thinking) {
|
|
5895
6059
|
body.thinking = this.thinking;
|
|
5896
6060
|
}
|
|
5897
|
-
if (model
|
|
6061
|
+
if (isZaiReasoningEffortModel(model) && this.reasoningEffort) {
|
|
5898
6062
|
body.reasoning_effort = this.reasoningEffort;
|
|
5899
6063
|
}
|
|
5900
6064
|
const tools = this.buildToolsDefinition();
|
|
@@ -5958,15 +6122,19 @@ If it's in another language, summarize in that language.
|
|
|
5958
6122
|
model,
|
|
5959
6123
|
options.reasoning_effort
|
|
5960
6124
|
);
|
|
6125
|
+
const alwaysThinking = isZaiAlwaysThinkingModel(model);
|
|
5961
6126
|
const usesExplicitThinking = options.thinking !== void 0;
|
|
5962
|
-
const thinking =
|
|
6127
|
+
const thinking = alwaysThinking ? {
|
|
6128
|
+
type: "enabled",
|
|
6129
|
+
clear_thinking: options.thinking?.clear_thinking ?? true
|
|
6130
|
+
} : usesExplicitThinking && options.reasoning_effort === void 0 ? options.thinking : normalizedReasoningEffort === "high" || normalizedReasoningEffort === "max" ? {
|
|
5963
6131
|
type: "enabled",
|
|
5964
6132
|
clear_thinking: options.thinking?.clear_thinking
|
|
5965
6133
|
} : {
|
|
5966
6134
|
type: "disabled",
|
|
5967
6135
|
clear_thinking: options.thinking?.clear_thinking
|
|
5968
6136
|
};
|
|
5969
|
-
const reasoningEffort = thinking?.type === "enabled" && options.reasoning_effort !== void 0 ? normalizedReasoningEffort : void 0;
|
|
6137
|
+
const reasoningEffort = alwaysThinking ? normalizedReasoningEffort : thinking?.type === "enabled" && options.reasoning_effort !== void 0 ? normalizedReasoningEffort : void 0;
|
|
5970
6138
|
return new ZAIChatService(
|
|
5971
6139
|
options.apiKey,
|
|
5972
6140
|
model,
|
|
@@ -5990,6 +6158,8 @@ If it's in another language, summarize in that language.
|
|
|
5990
6158
|
*/
|
|
5991
6159
|
getSupportedModels() {
|
|
5992
6160
|
return [
|
|
6161
|
+
MODEL_GLM_5_3,
|
|
6162
|
+
MODEL_GLM_5_3_FLASH,
|
|
5993
6163
|
MODEL_GLM_5_2,
|
|
5994
6164
|
MODEL_GLM_5_1,
|
|
5995
6165
|
MODEL_GLM_5,
|