@aituber-onair/chat 0.51.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 +61 -41
- package/README.md +60 -42
- package/dist/cjs/constants/claude.d.ts +2 -0
- package/dist/cjs/constants/claude.d.ts.map +1 -1
- package/dist/cjs/constants/claude.js +13 -4
- package/dist/cjs/constants/claude.js.map +1 -1
- 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 +1 -0
- package/dist/cjs/constants/gemini.d.ts.map +1 -1
- package/dist/cjs/constants/gemini.js +11 -1
- package/dist/cjs/constants/gemini.js.map +1 -1
- package/dist/cjs/constants/mistral.d.ts +2 -0
- package/dist/cjs/constants/mistral.d.ts.map +1 -1
- package/dist/cjs/constants/mistral.js +3 -3
- package/dist/cjs/constants/mistral.js.map +1 -1
- package/dist/cjs/constants/openrouter.d.ts +12 -0
- package/dist/cjs/constants/openrouter.d.ts.map +1 -1
- package/dist/cjs/constants/openrouter.js +108 -9
- package/dist/cjs/constants/openrouter.js.map +1 -1
- package/dist/cjs/constants/plamo.d.ts +2 -0
- package/dist/cjs/constants/plamo.d.ts.map +1 -1
- package/dist/cjs/constants/plamo.js +4 -5
- package/dist/cjs/constants/plamo.js.map +1 -1
- package/dist/cjs/constants/sakana.d.ts +6 -0
- package/dist/cjs/constants/sakana.d.ts.map +1 -1
- package/dist/cjs/constants/sakana.js +15 -1
- package/dist/cjs/constants/sakana.js.map +1 -1
- package/dist/cjs/constants/xai.d.ts +1 -0
- package/dist/cjs/constants/xai.d.ts.map +1 -1
- package/dist/cjs/constants/xai.js +7 -3
- package/dist/cjs/constants/xai.js.map +1 -1
- package/dist/cjs/constants/zai.d.ts +11 -0
- package/dist/cjs/constants/zai.d.ts.map +1 -1
- package/dist/cjs/constants/zai.js +69 -2
- package/dist/cjs/constants/zai.js.map +1 -1
- package/dist/cjs/services/ChatServiceFactory.d.ts.map +1 -1
- package/dist/cjs/services/ChatServiceFactory.js +16 -9
- package/dist/cjs/services/ChatServiceFactory.js.map +1 -1
- package/dist/cjs/services/providers/ChatServiceProvider.d.ts +7 -3
- package/dist/cjs/services/providers/ChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/claude/ClaudeChatService.d.ts +2 -3
- package/dist/cjs/services/providers/claude/ClaudeChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/claude/ClaudeChatService.js +23 -15
- package/dist/cjs/services/providers/claude/ClaudeChatService.js.map +1 -1
- package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.js +1 -3
- package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.js.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 +11 -4
- 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/xai/XAIChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/xai/XAIChatService.js +1 -1
- package/dist/cjs/services/providers/xai/XAIChatService.js.map +1 -1
- package/dist/cjs/services/providers/xai/XAIChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/xai/XAIChatServiceProvider.js +2 -4
- package/dist/cjs/services/providers/xai/XAIChatServiceProvider.js.map +1 -1
- package/dist/cjs/services/providers/zai/ZAIChatService.d.ts +3 -1
- package/dist/cjs/services/providers/zai/ZAIChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/zai/ZAIChatService.js +5 -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 +37 -2
- package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.js.map +1 -1
- package/dist/cjs/types/toolChat.d.ts +6 -0
- package/dist/cjs/types/toolChat.d.ts.map +1 -1
- package/dist/esm/constants/claude.d.ts +2 -0
- package/dist/esm/constants/claude.d.ts.map +1 -1
- package/dist/esm/constants/claude.js +12 -3
- package/dist/esm/constants/claude.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 +1 -0
- package/dist/esm/constants/gemini.d.ts.map +1 -1
- package/dist/esm/constants/gemini.js +10 -0
- package/dist/esm/constants/gemini.js.map +1 -1
- package/dist/esm/constants/mistral.d.ts +2 -0
- package/dist/esm/constants/mistral.d.ts.map +1 -1
- package/dist/esm/constants/mistral.js +2 -2
- package/dist/esm/constants/mistral.js.map +1 -1
- package/dist/esm/constants/openrouter.d.ts +12 -0
- package/dist/esm/constants/openrouter.d.ts.map +1 -1
- package/dist/esm/constants/openrouter.js +106 -7
- package/dist/esm/constants/openrouter.js.map +1 -1
- package/dist/esm/constants/plamo.d.ts +2 -0
- package/dist/esm/constants/plamo.d.ts.map +1 -1
- package/dist/esm/constants/plamo.js +3 -4
- package/dist/esm/constants/plamo.js.map +1 -1
- package/dist/esm/constants/sakana.d.ts +6 -0
- package/dist/esm/constants/sakana.d.ts.map +1 -1
- package/dist/esm/constants/sakana.js +13 -0
- package/dist/esm/constants/sakana.js.map +1 -1
- package/dist/esm/constants/xai.d.ts +1 -0
- package/dist/esm/constants/xai.d.ts.map +1 -1
- package/dist/esm/constants/xai.js +6 -2
- package/dist/esm/constants/xai.js.map +1 -1
- package/dist/esm/constants/zai.d.ts +11 -0
- package/dist/esm/constants/zai.d.ts.map +1 -1
- package/dist/esm/constants/zai.js +63 -1
- package/dist/esm/constants/zai.js.map +1 -1
- package/dist/esm/services/ChatServiceFactory.d.ts.map +1 -1
- package/dist/esm/services/ChatServiceFactory.js +16 -9
- package/dist/esm/services/ChatServiceFactory.js.map +1 -1
- package/dist/esm/services/providers/ChatServiceProvider.d.ts +7 -3
- package/dist/esm/services/providers/ChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/claude/ClaudeChatService.d.ts +2 -3
- package/dist/esm/services/providers/claude/ClaudeChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/claude/ClaudeChatService.js +23 -15
- package/dist/esm/services/providers/claude/ClaudeChatService.js.map +1 -1
- package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.js +2 -4
- package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.js.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 +12 -5
- 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/xai/XAIChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/xai/XAIChatService.js +2 -2
- package/dist/esm/services/providers/xai/XAIChatService.js.map +1 -1
- package/dist/esm/services/providers/xai/XAIChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/xai/XAIChatServiceProvider.js +3 -5
- package/dist/esm/services/providers/xai/XAIChatServiceProvider.js.map +1 -1
- package/dist/esm/services/providers/zai/ZAIChatService.d.ts +3 -1
- package/dist/esm/services/providers/zai/ZAIChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/zai/ZAIChatService.js +6 -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 +38 -3
- package/dist/esm/services/providers/zai/ZAIChatServiceProvider.js.map +1 -1
- package/dist/esm/types/toolChat.d.ts +6 -0
- package/dist/esm/types/toolChat.d.ts.map +1 -1
- package/dist/umd/aituber-onair-chat.js +376 -71
- package/dist/umd/aituber-onair-chat.min.js +9 -9
- package/package.json +1 -1
|
@@ -22,6 +22,7 @@ var AITuberOnAirChat = (() => {
|
|
|
22
22
|
var index_exports = {};
|
|
23
23
|
__export(index_exports, {
|
|
24
24
|
CHAT_RESPONSE_LENGTH: () => CHAT_RESPONSE_LENGTH,
|
|
25
|
+
CLAUDE_DEPRECATED_MODELS: () => CLAUDE_DEPRECATED_MODELS,
|
|
25
26
|
CLAUDE_VISION_SUPPORTED_MODELS: () => CLAUDE_VISION_SUPPORTED_MODELS,
|
|
26
27
|
ChatServiceFactory: () => ChatServiceFactory,
|
|
27
28
|
ChatServiceHttpClient: () => ChatServiceHttpClient,
|
|
@@ -30,6 +31,7 @@ var AITuberOnAirChat = (() => {
|
|
|
30
31
|
DEEPSEEK_API_BASE_URL: () => DEEPSEEK_API_BASE_URL,
|
|
31
32
|
DEEPSEEK_DEPRECATED_MODELS: () => DEEPSEEK_DEPRECATED_MODELS,
|
|
32
33
|
DEEPSEEK_SUPPORTED_MODELS: () => DEEPSEEK_SUPPORTED_MODELS,
|
|
34
|
+
DEEPSEEK_VISION_SUPPORTED_MODELS: () => DEEPSEEK_VISION_SUPPORTED_MODELS,
|
|
33
35
|
DEFAULT_MAX_TOKENS: () => DEFAULT_MAX_TOKENS,
|
|
34
36
|
DEFAULT_SUMMARY_PROMPT_TEMPLATE: () => DEFAULT_SUMMARY_PROMPT_TEMPLATE,
|
|
35
37
|
DEFAULT_VISION_PROMPT: () => DEFAULT_VISION_PROMPT,
|
|
@@ -67,16 +69,20 @@ var AITuberOnAirChat = (() => {
|
|
|
67
69
|
KimiChatServiceProvider: () => KimiChatServiceProvider,
|
|
68
70
|
MAX_TOKENS_BY_LENGTH: () => MAX_TOKENS_BY_LENGTH,
|
|
69
71
|
MISTRAL_API_BASE_URL: () => MISTRAL_API_BASE_URL,
|
|
72
|
+
MISTRAL_DEPRECATED_MODELS: () => MISTRAL_DEPRECATED_MODELS,
|
|
70
73
|
MISTRAL_REASONING_EFFORT_SUPPORTED_MODELS: () => MISTRAL_REASONING_EFFORT_SUPPORTED_MODELS,
|
|
71
74
|
MISTRAL_SUPPORTED_MODELS: () => MISTRAL_SUPPORTED_MODELS,
|
|
72
75
|
MISTRAL_VISION_SUPPORTED_MODELS: () => MISTRAL_VISION_SUPPORTED_MODELS,
|
|
73
76
|
MODEL_ANTHROPIC_CLAUDE_3_5_SONNET: () => MODEL_ANTHROPIC_CLAUDE_3_5_SONNET,
|
|
74
77
|
MODEL_ANTHROPIC_CLAUDE_3_7_SONNET: () => MODEL_ANTHROPIC_CLAUDE_3_7_SONNET,
|
|
75
78
|
MODEL_ANTHROPIC_CLAUDE_4_5_HAIKU: () => MODEL_ANTHROPIC_CLAUDE_4_5_HAIKU,
|
|
79
|
+
MODEL_ANTHROPIC_CLAUDE_FABLE_5: () => MODEL_ANTHROPIC_CLAUDE_FABLE_5,
|
|
76
80
|
MODEL_ANTHROPIC_CLAUDE_HAIKU_LATEST: () => MODEL_ANTHROPIC_CLAUDE_HAIKU_LATEST,
|
|
77
81
|
MODEL_ANTHROPIC_CLAUDE_OPUS_4: () => MODEL_ANTHROPIC_CLAUDE_OPUS_4,
|
|
82
|
+
MODEL_ANTHROPIC_CLAUDE_OPUS_4_8: () => MODEL_ANTHROPIC_CLAUDE_OPUS_4_8,
|
|
78
83
|
MODEL_ANTHROPIC_CLAUDE_OPUS_5: () => MODEL_ANTHROPIC_CLAUDE_OPUS_5,
|
|
79
84
|
MODEL_ANTHROPIC_CLAUDE_SONNET_4: () => MODEL_ANTHROPIC_CLAUDE_SONNET_4,
|
|
85
|
+
MODEL_ANTHROPIC_CLAUDE_SONNET_5: () => MODEL_ANTHROPIC_CLAUDE_SONNET_5,
|
|
80
86
|
MODEL_ANTHROPIC_CLAUDE_SONNET_LATEST: () => MODEL_ANTHROPIC_CLAUDE_SONNET_LATEST,
|
|
81
87
|
MODEL_CLAUDE_3_5_HAIKU: () => MODEL_CLAUDE_3_5_HAIKU,
|
|
82
88
|
MODEL_CLAUDE_3_5_SONNET: () => MODEL_CLAUDE_3_5_SONNET,
|
|
@@ -91,15 +97,18 @@ var AITuberOnAirChat = (() => {
|
|
|
91
97
|
MODEL_CLAUDE_4_8_OPUS: () => MODEL_CLAUDE_4_8_OPUS,
|
|
92
98
|
MODEL_CLAUDE_4_OPUS: () => MODEL_CLAUDE_4_OPUS,
|
|
93
99
|
MODEL_CLAUDE_4_SONNET: () => MODEL_CLAUDE_4_SONNET,
|
|
100
|
+
MODEL_CLAUDE_5_FABLE: () => MODEL_CLAUDE_5_FABLE,
|
|
94
101
|
MODEL_CLAUDE_5_OPUS: () => MODEL_CLAUDE_5_OPUS,
|
|
95
102
|
MODEL_CLAUDE_5_SONNET: () => MODEL_CLAUDE_5_SONNET,
|
|
96
103
|
MODEL_DEEPSEEK_CHAT: () => MODEL_DEEPSEEK_CHAT,
|
|
97
104
|
MODEL_DEEPSEEK_REASONER: () => MODEL_DEEPSEEK_REASONER,
|
|
98
105
|
MODEL_DEEPSEEK_V4_FLASH: () => MODEL_DEEPSEEK_V4_FLASH,
|
|
106
|
+
MODEL_DEEPSEEK_V4_FLASH_VISION_EXP: () => MODEL_DEEPSEEK_V4_FLASH_VISION_EXP,
|
|
99
107
|
MODEL_DEEPSEEK_V4_PRO: () => MODEL_DEEPSEEK_V4_PRO,
|
|
100
108
|
MODEL_FUGU: () => MODEL_FUGU,
|
|
101
109
|
MODEL_FUGU_ULTRA: () => MODEL_FUGU_ULTRA,
|
|
102
110
|
MODEL_FUGU_ULTRA_20260615: () => MODEL_FUGU_ULTRA_20260615,
|
|
111
|
+
MODEL_FUGU_ULTRA_V1_1: () => MODEL_FUGU_ULTRA_V1_1,
|
|
103
112
|
MODEL_GEMINI_2_5_FLASH: () => MODEL_GEMINI_2_5_FLASH,
|
|
104
113
|
MODEL_GEMINI_2_5_FLASH_LITE: () => MODEL_GEMINI_2_5_FLASH_LITE,
|
|
105
114
|
MODEL_GEMINI_2_5_FLASH_LITE_PREVIEW_06_17: () => MODEL_GEMINI_2_5_FLASH_LITE_PREVIEW_06_17,
|
|
@@ -110,6 +119,7 @@ var AITuberOnAirChat = (() => {
|
|
|
110
119
|
MODEL_GEMINI_3_5_FLASH: () => MODEL_GEMINI_3_5_FLASH,
|
|
111
120
|
MODEL_GEMINI_3_5_FLASH_LITE: () => MODEL_GEMINI_3_5_FLASH_LITE,
|
|
112
121
|
MODEL_GEMINI_3_6_FLASH: () => MODEL_GEMINI_3_6_FLASH,
|
|
122
|
+
MODEL_GEMINI_3_7_FLASH: () => MODEL_GEMINI_3_7_FLASH,
|
|
113
123
|
MODEL_GEMINI_3_FLASH_PREVIEW: () => MODEL_GEMINI_3_FLASH_PREVIEW,
|
|
114
124
|
MODEL_GEMINI_3_PRO_PREVIEW: () => MODEL_GEMINI_3_PRO_PREVIEW,
|
|
115
125
|
MODEL_GEMINI_NANO: () => MODEL_GEMINI_NANO,
|
|
@@ -126,12 +136,15 @@ var AITuberOnAirChat = (() => {
|
|
|
126
136
|
MODEL_GLM_5V_TURBO: () => MODEL_GLM_5V_TURBO,
|
|
127
137
|
MODEL_GLM_5_1: () => MODEL_GLM_5_1,
|
|
128
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,
|
|
129
141
|
MODEL_GLM_5_TURBO: () => MODEL_GLM_5_TURBO,
|
|
130
142
|
MODEL_GOOGLE_GEMINI_2_5_FLASH: () => MODEL_GOOGLE_GEMINI_2_5_FLASH,
|
|
131
143
|
MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025: () => MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025,
|
|
132
144
|
MODEL_GOOGLE_GEMINI_2_5_PRO: () => MODEL_GOOGLE_GEMINI_2_5_PRO,
|
|
133
145
|
MODEL_GOOGLE_GEMINI_3_5_FLASH_LITE: () => MODEL_GOOGLE_GEMINI_3_5_FLASH_LITE,
|
|
134
146
|
MODEL_GOOGLE_GEMINI_3_6_FLASH: () => MODEL_GOOGLE_GEMINI_3_6_FLASH,
|
|
147
|
+
MODEL_GOOGLE_GEMINI_3_7_FLASH: () => MODEL_GOOGLE_GEMINI_3_7_FLASH,
|
|
135
148
|
MODEL_GOOGLE_GEMINI_FLASH_LATEST: () => MODEL_GOOGLE_GEMINI_FLASH_LATEST,
|
|
136
149
|
MODEL_GOOGLE_GEMINI_PRO_LATEST: () => MODEL_GOOGLE_GEMINI_PRO_LATEST,
|
|
137
150
|
MODEL_GPT_4O: () => MODEL_GPT_4O,
|
|
@@ -177,6 +190,7 @@ var AITuberOnAirChat = (() => {
|
|
|
177
190
|
MODEL_MISTRAL_SMALL_2603: () => MODEL_MISTRAL_SMALL_2603,
|
|
178
191
|
MODEL_MISTRAL_SMALL_LATEST: () => MODEL_MISTRAL_SMALL_LATEST,
|
|
179
192
|
MODEL_MOONSHOTAI_KIMI_K2_5: () => MODEL_MOONSHOTAI_KIMI_K2_5,
|
|
193
|
+
MODEL_MOONSHOTAI_KIMI_K2_6: () => MODEL_MOONSHOTAI_KIMI_K2_6,
|
|
180
194
|
MODEL_MOONSHOTAI_KIMI_K2_7_CODE: () => MODEL_MOONSHOTAI_KIMI_K2_7_CODE,
|
|
181
195
|
MODEL_MOONSHOTAI_KIMI_K3: () => MODEL_MOONSHOTAI_KIMI_K3,
|
|
182
196
|
MODEL_MOONSHOTAI_KIMI_LATEST: () => MODEL_MOONSHOTAI_KIMI_LATEST,
|
|
@@ -201,18 +215,26 @@ var AITuberOnAirChat = (() => {
|
|
|
201
215
|
MODEL_OPENROUTER_AUTO_BETA: () => MODEL_OPENROUTER_AUTO_BETA,
|
|
202
216
|
MODEL_OPENROUTER_DEEPSEEK_V4_FLASH: () => MODEL_OPENROUTER_DEEPSEEK_V4_FLASH,
|
|
203
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,
|
|
219
|
+
MODEL_OPENROUTER_DEEPSEEK_V4_PRO_0813: () => MODEL_OPENROUTER_DEEPSEEK_V4_PRO_0813,
|
|
204
220
|
MODEL_OPENROUTER_FUSION: () => MODEL_OPENROUTER_FUSION,
|
|
205
221
|
MODEL_PLAMO_2_2_PRIME: () => MODEL_PLAMO_2_2_PRIME,
|
|
206
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,
|
|
207
225
|
MODEL_XAI_GROK_4_5: () => MODEL_XAI_GROK_4_5,
|
|
226
|
+
MODEL_XAI_GROK_4_6: () => MODEL_XAI_GROK_4_6,
|
|
208
227
|
MODEL_XAI_GROK_LATEST: () => MODEL_XAI_GROK_LATEST,
|
|
209
228
|
MODEL_ZAI_GLM_4_5_AIR: () => MODEL_ZAI_GLM_4_5_AIR,
|
|
210
229
|
MODEL_ZAI_GLM_4_5_AIR_FREE: () => MODEL_ZAI_GLM_4_5_AIR_FREE,
|
|
211
230
|
MODEL_ZAI_GLM_4_7_FLASH: () => MODEL_ZAI_GLM_4_7_FLASH,
|
|
212
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,
|
|
213
234
|
MistralChatService: () => MistralChatService,
|
|
214
235
|
MistralChatServiceProvider: () => MistralChatServiceProvider,
|
|
215
236
|
OPENROUTER_CREDITS_THRESHOLD: () => OPENROUTER_CREDITS_THRESHOLD,
|
|
237
|
+
OPENROUTER_DEPRECATED_MODELS: () => OPENROUTER_DEPRECATED_MODELS,
|
|
216
238
|
OPENROUTER_FREE_DAILY_LIMIT_HIGH_CREDITS: () => OPENROUTER_FREE_DAILY_LIMIT_HIGH_CREDITS,
|
|
217
239
|
OPENROUTER_FREE_DAILY_LIMIT_LOW_CREDITS: () => OPENROUTER_FREE_DAILY_LIMIT_LOW_CREDITS,
|
|
218
240
|
OPENROUTER_FREE_MODELS: () => OPENROUTER_FREE_MODELS,
|
|
@@ -224,17 +246,21 @@ var AITuberOnAirChat = (() => {
|
|
|
224
246
|
OpenRouterChatService: () => OpenRouterChatService,
|
|
225
247
|
OpenRouterChatServiceProvider: () => OpenRouterChatServiceProvider,
|
|
226
248
|
PLAMO_API_BASE_URL: () => PLAMO_API_BASE_URL,
|
|
249
|
+
PLAMO_DEPRECATED_MODELS: () => PLAMO_DEPRECATED_MODELS,
|
|
227
250
|
PLAMO_SUPPORTED_MODELS: () => PLAMO_SUPPORTED_MODELS,
|
|
228
251
|
PlamoChatService: () => PlamoChatService,
|
|
229
252
|
PlamoChatServiceProvider: () => PlamoChatServiceProvider,
|
|
230
253
|
SAKANA_API_BASE_URL: () => SAKANA_API_BASE_URL,
|
|
254
|
+
SAKANA_COMPATIBILITY_MODELS: () => SAKANA_COMPATIBILITY_MODELS,
|
|
231
255
|
SAKANA_SUPPORTED_MODELS: () => SAKANA_SUPPORTED_MODELS,
|
|
256
|
+
SAKANA_VISION_SUPPORTED_MODELS: () => SAKANA_VISION_SUPPORTED_MODELS,
|
|
232
257
|
SakanaChatService: () => SakanaChatService,
|
|
233
258
|
SakanaChatServiceProvider: () => SakanaChatServiceProvider,
|
|
234
259
|
StreamTextAccumulator: () => StreamTextAccumulator,
|
|
235
260
|
VISION_SUPPORTED_MODELS: () => VISION_SUPPORTED_MODELS,
|
|
236
261
|
XAIChatService: () => XAIChatService,
|
|
237
262
|
XAIChatServiceProvider: () => XAIChatServiceProvider,
|
|
263
|
+
XAI_DEPRECATED_MODELS: () => XAI_DEPRECATED_MODELS,
|
|
238
264
|
XAI_VISION_SUPPORTED_MODELS: () => XAI_VISION_SUPPORTED_MODELS,
|
|
239
265
|
ZAIChatService: () => ZAIChatService,
|
|
240
266
|
ZAIChatServiceProvider: () => ZAIChatServiceProvider,
|
|
@@ -256,14 +282,17 @@ var AITuberOnAirChat = (() => {
|
|
|
256
282
|
getDefaultOpenRouterReasoningEffort: () => getDefaultOpenRouterReasoningEffort,
|
|
257
283
|
getDefaultReasoningEffortForGPT5Model: () => getDefaultReasoningEffortForGPT5Model,
|
|
258
284
|
getDefaultXaiReasoningEffort: () => getDefaultXaiReasoningEffort,
|
|
285
|
+
getDefaultZaiReasoningEffort: () => getDefaultZaiReasoningEffort,
|
|
259
286
|
getGeminiSupportedReasoningEfforts: () => getGeminiSupportedReasoningEfforts,
|
|
260
287
|
getKimiSupportedReasoningEfforts: () => getKimiSupportedReasoningEfforts,
|
|
261
288
|
getMaxTokensForResponseLength: () => getMaxTokensForResponseLength,
|
|
262
289
|
getOpenRouterSupportedReasoningEfforts: () => getOpenRouterSupportedReasoningEfforts,
|
|
263
290
|
getXaiSupportedReasoningEfforts: () => getXaiSupportedReasoningEfforts,
|
|
291
|
+
getZaiSupportedReasoningEfforts: () => getZaiSupportedReasoningEfforts,
|
|
264
292
|
installGASFetch: () => installGASFetch,
|
|
265
293
|
isClaudeReasoningEffortModel: () => isClaudeReasoningEffortModel,
|
|
266
294
|
isDeepSeekReasoningEffortModel: () => isDeepSeekReasoningEffortModel,
|
|
295
|
+
isDeepSeekVisionModel: () => isDeepSeekVisionModel,
|
|
267
296
|
isGPT5Model: () => isGPT5Model,
|
|
268
297
|
isGeminiReasoningEffortModel: () => isGeminiReasoningEffortModel,
|
|
269
298
|
isKimiReasoningEffortModel: () => isKimiReasoningEffortModel,
|
|
@@ -275,9 +304,12 @@ var AITuberOnAirChat = (() => {
|
|
|
275
304
|
isOpenRouterFreeModel: () => isOpenRouterFreeModel,
|
|
276
305
|
isOpenRouterVisionModel: () => isOpenRouterVisionModel,
|
|
277
306
|
isResponsesOnlyGPT5Model: () => isResponsesOnlyGPT5Model,
|
|
307
|
+
isSakanaVisionModel: () => isSakanaVisionModel,
|
|
278
308
|
isXaiReasoningEffortModel: () => isXaiReasoningEffortModel,
|
|
279
309
|
isXaiReasoningEffortNoneModel: () => isXaiReasoningEffortNoneModel,
|
|
280
310
|
isXaiVisionModel: () => isXaiVisionModel,
|
|
311
|
+
isZaiAlwaysThinkingModel: () => isZaiAlwaysThinkingModel,
|
|
312
|
+
isZaiReasoningEffortModel: () => isZaiReasoningEffortModel,
|
|
281
313
|
isZaiToolStreamModel: () => isZaiToolStreamModel,
|
|
282
314
|
isZaiVisionModel: () => isZaiVisionModel,
|
|
283
315
|
normalizeClaudeReasoningEffort: () => normalizeClaudeReasoningEffort,
|
|
@@ -285,6 +317,7 @@ var AITuberOnAirChat = (() => {
|
|
|
285
317
|
normalizeGeminiReasoningEffort: () => normalizeGeminiReasoningEffort,
|
|
286
318
|
normalizeOpenRouterReasoningEffort: () => normalizeOpenRouterReasoningEffort,
|
|
287
319
|
normalizeXaiReasoningEffort: () => normalizeXaiReasoningEffort,
|
|
320
|
+
normalizeZaiReasoningEffort: () => normalizeZaiReasoningEffort,
|
|
288
321
|
parseOpenAICompatibleOneShot: () => parseOpenAICompatibleOneShot,
|
|
289
322
|
parseOpenAICompatibleTextStream: () => parseOpenAICompatibleTextStream,
|
|
290
323
|
parseOpenAICompatibleToolStream: () => parseOpenAICompatibleToolStream,
|
|
@@ -395,6 +428,7 @@ var AITuberOnAirChat = (() => {
|
|
|
395
428
|
var ENDPOINT_GEMINI_API = "https://generativelanguage.googleapis.com";
|
|
396
429
|
var MODEL_GEMMA_4_31B_IT = "gemma-4-31b-it";
|
|
397
430
|
var MODEL_GEMMA_4_26B_A4B_IT = "gemma-4-26b-a4b-it";
|
|
431
|
+
var MODEL_GEMINI_3_7_FLASH = "gemini-3.7-flash";
|
|
398
432
|
var MODEL_GEMINI_3_6_FLASH = "gemini-3.6-flash";
|
|
399
433
|
var MODEL_GEMINI_3_5_FLASH = "gemini-3.5-flash";
|
|
400
434
|
var MODEL_GEMINI_3_5_FLASH_LITE = "gemini-3.5-flash-lite";
|
|
@@ -408,6 +442,7 @@ var AITuberOnAirChat = (() => {
|
|
|
408
442
|
var MODEL_GEMINI_2_5_FLASH_LITE = "gemini-2.5-flash-lite";
|
|
409
443
|
var MODEL_GEMINI_2_5_FLASH_LITE_PREVIEW_06_17 = "gemini-2.5-flash-lite-preview-06-17";
|
|
410
444
|
var GEMINI_RECOMMENDED_MODELS = [
|
|
445
|
+
MODEL_GEMINI_3_7_FLASH,
|
|
411
446
|
MODEL_GEMINI_3_6_FLASH,
|
|
412
447
|
MODEL_GEMINI_3_5_FLASH,
|
|
413
448
|
MODEL_GEMINI_3_5_FLASH_LITE,
|
|
@@ -440,6 +475,11 @@ var AITuberOnAirChat = (() => {
|
|
|
440
475
|
"medium",
|
|
441
476
|
"high"
|
|
442
477
|
];
|
|
478
|
+
var GEMINI_3_7_FLASH_REASONING_EFFORTS = [
|
|
479
|
+
"low",
|
|
480
|
+
"medium",
|
|
481
|
+
"high"
|
|
482
|
+
];
|
|
443
483
|
var GEMINI_FLASH_REASONING_EFFORT_MODELS = [
|
|
444
484
|
MODEL_GEMINI_3_6_FLASH,
|
|
445
485
|
MODEL_GEMINI_3_5_FLASH,
|
|
@@ -453,6 +493,9 @@ var AITuberOnAirChat = (() => {
|
|
|
453
493
|
MODEL_GEMINI_3_PRO_PREVIEW
|
|
454
494
|
];
|
|
455
495
|
function getGeminiSupportedReasoningEfforts(model) {
|
|
496
|
+
if (model === MODEL_GEMINI_3_7_FLASH) {
|
|
497
|
+
return GEMINI_3_7_FLASH_REASONING_EFFORTS;
|
|
498
|
+
}
|
|
456
499
|
if (GEMINI_FLASH_REASONING_EFFORT_MODELS.includes(model)) {
|
|
457
500
|
return GEMINI_FLASH_REASONING_EFFORTS;
|
|
458
501
|
}
|
|
@@ -493,8 +536,17 @@ var AITuberOnAirChat = (() => {
|
|
|
493
536
|
var MODEL_CLAUDE_4_6_OPUS = "claude-opus-4-6";
|
|
494
537
|
var MODEL_CLAUDE_4_7_OPUS = "claude-opus-4-7";
|
|
495
538
|
var MODEL_CLAUDE_4_8_OPUS = "claude-opus-4-8";
|
|
539
|
+
var MODEL_CLAUDE_5_FABLE = "claude-fable-5";
|
|
496
540
|
var MODEL_CLAUDE_5_SONNET = "claude-sonnet-5";
|
|
497
541
|
var MODEL_CLAUDE_5_OPUS = "claude-opus-5";
|
|
542
|
+
var CLAUDE_DEPRECATED_MODELS = [
|
|
543
|
+
MODEL_CLAUDE_3_HAIKU,
|
|
544
|
+
MODEL_CLAUDE_3_5_HAIKU,
|
|
545
|
+
MODEL_CLAUDE_3_5_SONNET,
|
|
546
|
+
MODEL_CLAUDE_3_7_SONNET,
|
|
547
|
+
MODEL_CLAUDE_4_SONNET,
|
|
548
|
+
MODEL_CLAUDE_4_OPUS
|
|
549
|
+
];
|
|
498
550
|
var CLAUDE_STANDARD_REASONING_EFFORTS = [
|
|
499
551
|
"low",
|
|
500
552
|
"medium",
|
|
@@ -515,13 +567,11 @@ var AITuberOnAirChat = (() => {
|
|
|
515
567
|
[MODEL_CLAUDE_4_6_OPUS]: CLAUDE_MAX_REASONING_EFFORTS,
|
|
516
568
|
[MODEL_CLAUDE_4_7_OPUS]: CLAUDE_XHIGH_REASONING_EFFORTS,
|
|
517
569
|
[MODEL_CLAUDE_4_8_OPUS]: CLAUDE_XHIGH_REASONING_EFFORTS,
|
|
570
|
+
[MODEL_CLAUDE_5_FABLE]: CLAUDE_XHIGH_REASONING_EFFORTS,
|
|
518
571
|
[MODEL_CLAUDE_5_SONNET]: CLAUDE_XHIGH_REASONING_EFFORTS,
|
|
519
572
|
[MODEL_CLAUDE_5_OPUS]: CLAUDE_XHIGH_REASONING_EFFORTS
|
|
520
573
|
};
|
|
521
574
|
var CLAUDE_VISION_SUPPORTED_MODELS = [
|
|
522
|
-
MODEL_CLAUDE_3_HAIKU,
|
|
523
|
-
MODEL_CLAUDE_4_SONNET,
|
|
524
|
-
MODEL_CLAUDE_4_OPUS,
|
|
525
575
|
MODEL_CLAUDE_4_5_SONNET,
|
|
526
576
|
MODEL_CLAUDE_4_5_HAIKU,
|
|
527
577
|
MODEL_CLAUDE_4_5_OPUS,
|
|
@@ -529,6 +579,7 @@ var AITuberOnAirChat = (() => {
|
|
|
529
579
|
MODEL_CLAUDE_4_6_OPUS,
|
|
530
580
|
MODEL_CLAUDE_4_7_OPUS,
|
|
531
581
|
MODEL_CLAUDE_4_8_OPUS,
|
|
582
|
+
MODEL_CLAUDE_5_FABLE,
|
|
532
583
|
MODEL_CLAUDE_5_SONNET,
|
|
533
584
|
MODEL_CLAUDE_5_OPUS
|
|
534
585
|
];
|
|
@@ -563,6 +614,7 @@ var AITuberOnAirChat = (() => {
|
|
|
563
614
|
var MODEL_GPT_OSS_20B_FREE = "openai/gpt-oss-20b:free";
|
|
564
615
|
var MODEL_MOONSHOTAI_KIMI_K3 = "moonshotai/kimi-k3";
|
|
565
616
|
var MODEL_MOONSHOTAI_KIMI_K2_7_CODE = "moonshotai/kimi-k2.7-code";
|
|
617
|
+
var MODEL_MOONSHOTAI_KIMI_K2_6 = "moonshotai/kimi-k2.6";
|
|
566
618
|
var MODEL_MOONSHOTAI_KIMI_K2_5 = "moonshotai/kimi-k2.5";
|
|
567
619
|
var MODEL_MOONSHOTAI_KIMI_LATEST = "~moonshotai/kimi-latest";
|
|
568
620
|
var MODEL_OPENAI_GPT_LATEST = "~openai/gpt-latest";
|
|
@@ -581,7 +633,10 @@ var AITuberOnAirChat = (() => {
|
|
|
581
633
|
var MODEL_OPENAI_GPT_4_1_NANO = "openai/gpt-4.1-nano";
|
|
582
634
|
var MODEL_ANTHROPIC_CLAUDE_SONNET_LATEST = "~anthropic/claude-sonnet-latest";
|
|
583
635
|
var MODEL_ANTHROPIC_CLAUDE_HAIKU_LATEST = "~anthropic/claude-haiku-latest";
|
|
636
|
+
var MODEL_ANTHROPIC_CLAUDE_FABLE_5 = "anthropic/claude-fable-5";
|
|
637
|
+
var MODEL_ANTHROPIC_CLAUDE_SONNET_5 = "anthropic/claude-sonnet-5";
|
|
584
638
|
var MODEL_ANTHROPIC_CLAUDE_OPUS_5 = "anthropic/claude-opus-5";
|
|
639
|
+
var MODEL_ANTHROPIC_CLAUDE_OPUS_4_8 = "anthropic/claude-opus-4.8";
|
|
585
640
|
var MODEL_ANTHROPIC_CLAUDE_OPUS_4 = "anthropic/claude-opus-4";
|
|
586
641
|
var MODEL_ANTHROPIC_CLAUDE_SONNET_4 = "anthropic/claude-sonnet-4";
|
|
587
642
|
var MODEL_ANTHROPIC_CLAUDE_3_7_SONNET = "anthropic/claude-3.7-sonnet";
|
|
@@ -589,21 +644,34 @@ var AITuberOnAirChat = (() => {
|
|
|
589
644
|
var MODEL_ANTHROPIC_CLAUDE_4_5_HAIKU = "anthropic/claude-haiku-4.5";
|
|
590
645
|
var MODEL_GOOGLE_GEMINI_PRO_LATEST = "~google/gemini-pro-latest";
|
|
591
646
|
var MODEL_GOOGLE_GEMINI_FLASH_LATEST = "~google/gemini-flash-latest";
|
|
647
|
+
var MODEL_GOOGLE_GEMINI_3_7_FLASH = "google/gemini-3.7-flash";
|
|
592
648
|
var MODEL_GOOGLE_GEMINI_3_6_FLASH = "google/gemini-3.6-flash";
|
|
593
649
|
var MODEL_GOOGLE_GEMINI_3_5_FLASH_LITE = "google/gemini-3.5-flash-lite";
|
|
594
650
|
var MODEL_GOOGLE_GEMINI_2_5_PRO = "google/gemini-2.5-pro";
|
|
595
651
|
var MODEL_GOOGLE_GEMINI_2_5_FLASH = "google/gemini-2.5-flash";
|
|
596
652
|
var MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025 = "google/gemini-2.5-flash-lite-preview-09-2025";
|
|
597
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";
|
|
598
656
|
var MODEL_ZAI_GLM_4_7_FLASH = "z-ai/glm-4.7-flash";
|
|
599
657
|
var MODEL_ZAI_GLM_4_5_AIR = "z-ai/glm-4.5-air";
|
|
600
658
|
var MODEL_ZAI_GLM_4_5_AIR_FREE = "z-ai/glm-4.5-air:free";
|
|
601
659
|
var MODEL_KWAIPILOT_KAT_CODER_AIR_V2_5 = "kwaipilot/kat-coder-air-v2.5";
|
|
602
660
|
var MODEL_KWAIPILOT_KAT_CODER_PRO_V2_5 = "kwaipilot/kat-coder-pro-v2.5";
|
|
603
661
|
var MODEL_XAI_GROK_LATEST = "~x-ai/grok-latest";
|
|
662
|
+
var MODEL_XAI_GROK_4_6 = "x-ai/grok-4.6";
|
|
604
663
|
var MODEL_XAI_GROK_4_5 = "x-ai/grok-4.5";
|
|
605
664
|
var MODEL_OPENROUTER_DEEPSEEK_V4_FLASH = "deepseek/deepseek-v4-flash";
|
|
606
665
|
var MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731 = "deepseek/deepseek-v4-flash-0731";
|
|
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";
|
|
669
|
+
var OPENROUTER_DEPRECATED_MODELS = [
|
|
670
|
+
MODEL_OPENAI_GPT_5_1_CHAT,
|
|
671
|
+
MODEL_ANTHROPIC_CLAUDE_3_7_SONNET,
|
|
672
|
+
MODEL_ANTHROPIC_CLAUDE_3_5_SONNET,
|
|
673
|
+
MODEL_ZAI_GLM_4_5_AIR_FREE
|
|
674
|
+
];
|
|
607
675
|
var DEFAULT_OPENROUTER_REASONING_EFFORTS = [
|
|
608
676
|
"none",
|
|
609
677
|
"minimal",
|
|
@@ -622,13 +690,35 @@ var AITuberOnAirChat = (() => {
|
|
|
622
690
|
"high",
|
|
623
691
|
"max"
|
|
624
692
|
];
|
|
625
|
-
var
|
|
626
|
-
|
|
627
|
-
|
|
693
|
+
var OPENROUTER_DEEPSEEK_V4_PRO_REASONING_EFFORTS = [
|
|
694
|
+
"none",
|
|
695
|
+
"high",
|
|
696
|
+
"xhigh"
|
|
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"
|
|
628
716
|
];
|
|
717
|
+
var OPENROUTER_FREE_MODELS = [MODEL_GPT_OSS_20B_FREE];
|
|
629
718
|
var OPENROUTER_VISION_SUPPORTED_MODELS = [
|
|
630
719
|
MODEL_OPENROUTER_AUTO_BETA,
|
|
631
720
|
MODEL_MOONSHOTAI_KIMI_K3,
|
|
721
|
+
MODEL_MOONSHOTAI_KIMI_K2_6,
|
|
632
722
|
MODEL_MOONSHOTAI_KIMI_LATEST,
|
|
633
723
|
MODEL_OPENAI_GPT_LATEST,
|
|
634
724
|
MODEL_OPENAI_GPT_MINI_LATEST,
|
|
@@ -637,7 +727,6 @@ var AITuberOnAirChat = (() => {
|
|
|
637
727
|
MODEL_OPENAI_GPT_5_6_LUNA,
|
|
638
728
|
MODEL_OPENAI_GPT_5_5_PRO,
|
|
639
729
|
MODEL_OPENAI_GPT_5_5,
|
|
640
|
-
MODEL_OPENAI_GPT_5_1_CHAT,
|
|
641
730
|
MODEL_OPENAI_GPT_5_1_CODEX,
|
|
642
731
|
MODEL_OPENAI_GPT_5_MINI,
|
|
643
732
|
MODEL_OPENAI_GPT_5_NANO,
|
|
@@ -646,21 +735,28 @@ var AITuberOnAirChat = (() => {
|
|
|
646
735
|
MODEL_OPENAI_GPT_4_1_NANO,
|
|
647
736
|
MODEL_ANTHROPIC_CLAUDE_SONNET_LATEST,
|
|
648
737
|
MODEL_ANTHROPIC_CLAUDE_HAIKU_LATEST,
|
|
738
|
+
MODEL_ANTHROPIC_CLAUDE_FABLE_5,
|
|
739
|
+
MODEL_ANTHROPIC_CLAUDE_SONNET_5,
|
|
649
740
|
MODEL_ANTHROPIC_CLAUDE_OPUS_5,
|
|
741
|
+
MODEL_ANTHROPIC_CLAUDE_OPUS_4_8,
|
|
650
742
|
MODEL_ANTHROPIC_CLAUDE_OPUS_4,
|
|
651
743
|
MODEL_ANTHROPIC_CLAUDE_SONNET_4,
|
|
652
|
-
MODEL_ANTHROPIC_CLAUDE_3_7_SONNET,
|
|
653
744
|
MODEL_ANTHROPIC_CLAUDE_4_5_HAIKU,
|
|
654
745
|
MODEL_GOOGLE_GEMINI_PRO_LATEST,
|
|
655
746
|
MODEL_GOOGLE_GEMINI_FLASH_LATEST,
|
|
747
|
+
MODEL_GOOGLE_GEMINI_3_7_FLASH,
|
|
656
748
|
MODEL_GOOGLE_GEMINI_3_6_FLASH,
|
|
657
749
|
MODEL_GOOGLE_GEMINI_3_5_FLASH_LITE,
|
|
658
750
|
MODEL_GOOGLE_GEMINI_2_5_PRO,
|
|
659
751
|
MODEL_GOOGLE_GEMINI_2_5_FLASH,
|
|
660
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,
|
|
661
756
|
MODEL_MOONSHOTAI_KIMI_K2_7_CODE,
|
|
662
757
|
MODEL_MOONSHOTAI_KIMI_K2_5,
|
|
663
758
|
MODEL_XAI_GROK_LATEST,
|
|
759
|
+
MODEL_XAI_GROK_4_6,
|
|
664
760
|
MODEL_XAI_GROK_4_5
|
|
665
761
|
];
|
|
666
762
|
var OPENROUTER_FREE_RATE_LIMIT_PER_MINUTE = 20;
|
|
@@ -677,17 +773,32 @@ var AITuberOnAirChat = (() => {
|
|
|
677
773
|
}
|
|
678
774
|
function getOpenRouterSupportedReasoningEfforts(model) {
|
|
679
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
|
+
}
|
|
680
785
|
if (normalizedModel === MODEL_OPENROUTER_DEEPSEEK_V4_FLASH) {
|
|
681
786
|
return OPENROUTER_DEEPSEEK_V4_FLASH_REASONING_EFFORTS;
|
|
682
787
|
}
|
|
683
788
|
if (normalizedModel === MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731) {
|
|
684
789
|
return OPENROUTER_DEEPSEEK_V4_FLASH_0731_REASONING_EFFORTS;
|
|
685
790
|
}
|
|
791
|
+
if (normalizedModel === MODEL_OPENROUTER_DEEPSEEK_V4_PRO_0813) {
|
|
792
|
+
return OPENROUTER_DEEPSEEK_V4_PRO_REASONING_EFFORTS;
|
|
793
|
+
}
|
|
686
794
|
return DEFAULT_OPENROUTER_REASONING_EFFORTS;
|
|
687
795
|
}
|
|
688
796
|
function getDefaultOpenRouterReasoningEffort(model) {
|
|
689
797
|
const normalizedModel = model.trim();
|
|
690
|
-
|
|
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;
|
|
691
802
|
}
|
|
692
803
|
function normalizeOpenRouterReasoningEffort(model, effort) {
|
|
693
804
|
const normalizedModel = model.trim();
|
|
@@ -695,6 +806,15 @@ var AITuberOnAirChat = (() => {
|
|
|
695
806
|
if (!requested) {
|
|
696
807
|
return void 0;
|
|
697
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
|
+
}
|
|
698
818
|
const supported = getOpenRouterSupportedReasoningEfforts(model);
|
|
699
819
|
if (supported.includes(requested)) {
|
|
700
820
|
return requested;
|
|
@@ -710,11 +830,32 @@ var AITuberOnAirChat = (() => {
|
|
|
710
830
|
return "high";
|
|
711
831
|
}
|
|
712
832
|
}
|
|
833
|
+
if (normalizedModel === MODEL_OPENROUTER_DEEPSEEK_V4_PRO_0813) {
|
|
834
|
+
if (requested === "minimal" || requested === "low") {
|
|
835
|
+
return "none";
|
|
836
|
+
}
|
|
837
|
+
if (requested === "medium") {
|
|
838
|
+
return "high";
|
|
839
|
+
}
|
|
840
|
+
if (requested === "max") {
|
|
841
|
+
return "xhigh";
|
|
842
|
+
}
|
|
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
|
+
}
|
|
713
852
|
return requested;
|
|
714
853
|
}
|
|
715
854
|
|
|
716
855
|
// src/constants/zai.ts
|
|
717
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";
|
|
718
859
|
var MODEL_GLM_5_2 = "glm-5.2";
|
|
719
860
|
var MODEL_GLM_5_1 = "glm-5.1";
|
|
720
861
|
var MODEL_GLM_5 = "glm-5";
|
|
@@ -727,7 +868,62 @@ var AITuberOnAirChat = (() => {
|
|
|
727
868
|
var MODEL_GLM_4_6V = "glm-4.6V";
|
|
728
869
|
var MODEL_GLM_4_6V_FLASHX = "glm-4.6V-FlashX";
|
|
729
870
|
var MODEL_GLM_4_6V_FLASH = "glm-4.6V-Flash";
|
|
871
|
+
var ZAI_GLM_5_2_REASONING_EFFORTS = [
|
|
872
|
+
"none",
|
|
873
|
+
"minimal",
|
|
874
|
+
"low",
|
|
875
|
+
"medium",
|
|
876
|
+
"high",
|
|
877
|
+
"xhigh",
|
|
878
|
+
"max"
|
|
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
|
+
}
|
|
888
|
+
function getZaiSupportedReasoningEfforts(model) {
|
|
889
|
+
if (isZaiAlwaysThinkingModel(model)) {
|
|
890
|
+
return ZAI_GLM_5_3_REASONING_EFFORTS;
|
|
891
|
+
}
|
|
892
|
+
return model === MODEL_GLM_5_2 ? ZAI_GLM_5_2_REASONING_EFFORTS : [];
|
|
893
|
+
}
|
|
894
|
+
function isZaiReasoningEffortModel(model) {
|
|
895
|
+
return getZaiSupportedReasoningEfforts(model).length > 0;
|
|
896
|
+
}
|
|
897
|
+
function getDefaultZaiReasoningEffort(model) {
|
|
898
|
+
if (isZaiAlwaysThinkingModel(model)) {
|
|
899
|
+
return "low";
|
|
900
|
+
}
|
|
901
|
+
return model === MODEL_GLM_5_2 ? "none" : void 0;
|
|
902
|
+
}
|
|
903
|
+
function normalizeZaiReasoningEffort(model, effort) {
|
|
904
|
+
if (!isZaiReasoningEffortModel(model)) {
|
|
905
|
+
return void 0;
|
|
906
|
+
}
|
|
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
|
+
}
|
|
917
|
+
if (requested === "none" || requested === "minimal") {
|
|
918
|
+
return "none";
|
|
919
|
+
}
|
|
920
|
+
if (requested === "low" || requested === "medium" || requested === "high") {
|
|
921
|
+
return "high";
|
|
922
|
+
}
|
|
923
|
+
return "max";
|
|
924
|
+
}
|
|
730
925
|
var ZAI_VISION_SUPPORTED_MODELS = [
|
|
926
|
+
MODEL_GLM_5_3_FLASH,
|
|
731
927
|
MODEL_GLM_5V_TURBO,
|
|
732
928
|
MODEL_GLM_4_6V,
|
|
733
929
|
MODEL_GLM_4_6V_FLASHX,
|
|
@@ -737,7 +933,8 @@ var AITuberOnAirChat = (() => {
|
|
|
737
933
|
return ZAI_VISION_SUPPORTED_MODELS.includes(model);
|
|
738
934
|
}
|
|
739
935
|
function isZaiToolStreamModel(model) {
|
|
740
|
-
|
|
936
|
+
const normalizedModel = model.toLowerCase();
|
|
937
|
+
return normalizedModel.startsWith("glm-5.3") || normalizedModel.startsWith("glm-4.6");
|
|
741
938
|
}
|
|
742
939
|
|
|
743
940
|
// src/constants/xai.ts
|
|
@@ -749,14 +946,16 @@ var AITuberOnAirChat = (() => {
|
|
|
749
946
|
var MODEL_GROK_4_20_NON_REASONING = "grok-4.20-0309-non-reasoning";
|
|
750
947
|
var MODEL_GROK_4_1_FAST_REASONING = "grok-4-1-fast-reasoning";
|
|
751
948
|
var MODEL_GROK_4_1_FAST_NON_REASONING = "grok-4-1-fast-non-reasoning";
|
|
949
|
+
var XAI_DEPRECATED_MODELS = [
|
|
950
|
+
MODEL_GROK_4_1_FAST_REASONING,
|
|
951
|
+
MODEL_GROK_4_1_FAST_NON_REASONING
|
|
952
|
+
];
|
|
752
953
|
var XAI_VISION_SUPPORTED_MODELS = [
|
|
753
954
|
MODEL_GROK_4_6,
|
|
754
955
|
MODEL_GROK_4_5,
|
|
755
956
|
MODEL_GROK_4_3,
|
|
756
957
|
MODEL_GROK_4_20_REASONING,
|
|
757
|
-
MODEL_GROK_4_20_NON_REASONING
|
|
758
|
-
MODEL_GROK_4_1_FAST_REASONING,
|
|
759
|
-
MODEL_GROK_4_1_FAST_NON_REASONING
|
|
958
|
+
MODEL_GROK_4_20_NON_REASONING
|
|
760
959
|
];
|
|
761
960
|
function isXaiVisionModel(model) {
|
|
762
961
|
return XAI_VISION_SUPPORTED_MODELS.includes(model);
|
|
@@ -841,6 +1040,7 @@ var AITuberOnAirChat = (() => {
|
|
|
841
1040
|
var ENDPOINT_DEEPSEEK_CHAT_COMPLETIONS_API = `${DEEPSEEK_API_BASE_URL}/chat/completions`;
|
|
842
1041
|
var MODEL_DEEPSEEK_V4_FLASH = "deepseek-v4-flash";
|
|
843
1042
|
var MODEL_DEEPSEEK_V4_PRO = "deepseek-v4-pro";
|
|
1043
|
+
var MODEL_DEEPSEEK_V4_FLASH_VISION_EXP = "deepseek-v4-flash-vision-exp";
|
|
844
1044
|
var DEEPSEEK_V4_FLASH_REASONING_EFFORTS = [
|
|
845
1045
|
"none",
|
|
846
1046
|
"low",
|
|
@@ -856,7 +1056,11 @@ var AITuberOnAirChat = (() => {
|
|
|
856
1056
|
var MODEL_DEEPSEEK_REASONER = "deepseek-reasoner";
|
|
857
1057
|
var DEEPSEEK_SUPPORTED_MODELS = [
|
|
858
1058
|
MODEL_DEEPSEEK_V4_FLASH,
|
|
859
|
-
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
|
|
860
1064
|
];
|
|
861
1065
|
var DEEPSEEK_DEPRECATED_MODELS = [
|
|
862
1066
|
MODEL_DEEPSEEK_CHAT,
|
|
@@ -866,11 +1070,17 @@ var AITuberOnAirChat = (() => {
|
|
|
866
1070
|
if (model === MODEL_DEEPSEEK_V4_FLASH) {
|
|
867
1071
|
return DEEPSEEK_V4_FLASH_REASONING_EFFORTS;
|
|
868
1072
|
}
|
|
1073
|
+
if (model === MODEL_DEEPSEEK_V4_FLASH_VISION_EXP) {
|
|
1074
|
+
return DEEPSEEK_V4_FLASH_REASONING_EFFORTS;
|
|
1075
|
+
}
|
|
869
1076
|
if (model === MODEL_DEEPSEEK_V4_PRO) {
|
|
870
1077
|
return DEEPSEEK_V4_PRO_REASONING_EFFORTS;
|
|
871
1078
|
}
|
|
872
1079
|
return [];
|
|
873
1080
|
}
|
|
1081
|
+
function isDeepSeekVisionModel(model) {
|
|
1082
|
+
return DEEPSEEK_VISION_SUPPORTED_MODELS.includes(model);
|
|
1083
|
+
}
|
|
874
1084
|
function isDeepSeekReasoningEffortModel(model) {
|
|
875
1085
|
return getDeepSeekSupportedReasoningEfforts(model).length > 0;
|
|
876
1086
|
}
|
|
@@ -912,9 +1122,9 @@ var AITuberOnAirChat = (() => {
|
|
|
912
1122
|
MODEL_MISTRAL_MEDIUM_3_5,
|
|
913
1123
|
MODEL_MISTRAL_LARGE_LATEST,
|
|
914
1124
|
MODEL_MISTRAL_LARGE_2512,
|
|
915
|
-
MODEL_MISTRAL_SMALL_2603
|
|
916
|
-
MODEL_MISTRAL_MEDIUM_2508
|
|
1125
|
+
MODEL_MISTRAL_SMALL_2603
|
|
917
1126
|
];
|
|
1127
|
+
var MISTRAL_DEPRECATED_MODELS = [MODEL_MISTRAL_MEDIUM_2508];
|
|
918
1128
|
var MISTRAL_REASONING_EFFORT_SUPPORTED_MODELS = [
|
|
919
1129
|
MODEL_MISTRAL_SMALL_LATEST,
|
|
920
1130
|
MODEL_MISTRAL_MEDIUM_3_5
|
|
@@ -926,7 +1136,6 @@ var AITuberOnAirChat = (() => {
|
|
|
926
1136
|
MODEL_MINISTRAL_14B_2512,
|
|
927
1137
|
MODEL_MISTRAL_SMALL_2603,
|
|
928
1138
|
MODEL_MISTRAL_MEDIUM_3_5,
|
|
929
|
-
MODEL_MISTRAL_MEDIUM_2508,
|
|
930
1139
|
MODEL_MISTRAL_LARGE_LATEST,
|
|
931
1140
|
MODEL_MISTRAL_LARGE_2512
|
|
932
1141
|
];
|
|
@@ -945,9 +1154,19 @@ var AITuberOnAirChat = (() => {
|
|
|
945
1154
|
var ENDPOINT_SAKANA_CHAT_COMPLETIONS_API = `${SAKANA_API_BASE_URL}/chat/completions`;
|
|
946
1155
|
var MODEL_FUGU = "fugu";
|
|
947
1156
|
var MODEL_FUGU_ULTRA = "fugu-ultra";
|
|
1157
|
+
var MODEL_FUGU_ULTRA_V1_1 = "fugu-ultra-v1.1";
|
|
1158
|
+
var MODEL_SAKANA_NAMAZU = "sakana-namazu";
|
|
948
1159
|
var MODEL_FUGU_ULTRA_20260615 = "fugu-ultra-20260615";
|
|
949
1160
|
var SAKANA_SUPPORTED_MODELS = [
|
|
950
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
|
+
}
|
|
1169
|
+
var SAKANA_COMPATIBILITY_MODELS = [
|
|
951
1170
|
MODEL_FUGU_ULTRA,
|
|
952
1171
|
MODEL_FUGU_ULTRA_20260615
|
|
953
1172
|
];
|
|
@@ -957,10 +1176,8 @@ var AITuberOnAirChat = (() => {
|
|
|
957
1176
|
var ENDPOINT_PLAMO_CHAT_COMPLETIONS_API = `${PLAMO_API_BASE_URL}/chat/completions`;
|
|
958
1177
|
var MODEL_PLAMO_3_0_PRIME = "plamo-3.0-prime";
|
|
959
1178
|
var MODEL_PLAMO_2_2_PRIME = "plamo-2.2-prime";
|
|
960
|
-
var PLAMO_SUPPORTED_MODELS = [
|
|
961
|
-
|
|
962
|
-
MODEL_PLAMO_2_2_PRIME
|
|
963
|
-
];
|
|
1179
|
+
var PLAMO_SUPPORTED_MODELS = [MODEL_PLAMO_3_0_PRIME];
|
|
1180
|
+
var PLAMO_DEPRECATED_MODELS = [MODEL_PLAMO_2_2_PRIME];
|
|
964
1181
|
|
|
965
1182
|
// src/constants/chat.ts
|
|
966
1183
|
var CHAT_RESPONSE_LENGTH = {
|
|
@@ -1923,7 +2140,9 @@ If it's in another language, summarize in that language.
|
|
|
1923
2140
|
hasTools: this.tools.length > 0 || this.mcpServers.length > 0,
|
|
1924
2141
|
runWithoutTools: async () => {
|
|
1925
2142
|
const res = await this.callClaude(messages, this.model, true);
|
|
1926
|
-
return this.
|
|
2143
|
+
return this.convertToStandardCompletion(
|
|
2144
|
+
await this.parseStream(res, onPartialResponse)
|
|
2145
|
+
);
|
|
1927
2146
|
},
|
|
1928
2147
|
runWithTools: () => this.chatOnce(messages, true, onPartialResponse),
|
|
1929
2148
|
onCompleteResponse,
|
|
@@ -1941,7 +2160,9 @@ If it's in another language, summarize in that language.
|
|
|
1941
2160
|
hasTools: this.tools.length > 0 || this.mcpServers.length > 0,
|
|
1942
2161
|
runWithoutTools: async () => {
|
|
1943
2162
|
const res = await this.callClaude(messages, this.visionModel, true);
|
|
1944
|
-
return this.
|
|
2163
|
+
return this.convertToStandardCompletion(
|
|
2164
|
+
await this.parseStream(res, onPartialResponse)
|
|
2165
|
+
);
|
|
1945
2166
|
},
|
|
1946
2167
|
runWithTools: () => this.visionChatOnce(messages),
|
|
1947
2168
|
onCompleteResponse,
|
|
@@ -2013,6 +2234,8 @@ If it's in another language, summarize in that language.
|
|
|
2013
2234
|
const textBlocks = [];
|
|
2014
2235
|
const providerBlocks = /* @__PURE__ */ new Map();
|
|
2015
2236
|
const toolCalls = /* @__PURE__ */ new Map();
|
|
2237
|
+
let finishReason;
|
|
2238
|
+
let stopDetails;
|
|
2016
2239
|
let buf = "";
|
|
2017
2240
|
while (true) {
|
|
2018
2241
|
const { done, value } = await reader.read();
|
|
@@ -2026,6 +2249,14 @@ If it's in another language, summarize in that language.
|
|
|
2026
2249
|
const payload = line.slice(5).trim();
|
|
2027
2250
|
if (payload === "[DONE]") break;
|
|
2028
2251
|
const ev = JSON.parse(payload);
|
|
2252
|
+
if (ev.type === "message_delta") {
|
|
2253
|
+
if (typeof ev.delta?.stop_reason === "string") {
|
|
2254
|
+
finishReason = ev.delta.stop_reason;
|
|
2255
|
+
}
|
|
2256
|
+
if (ev.delta?.stop_details !== void 0 || ev.stop_details !== void 0) {
|
|
2257
|
+
stopDetails = ev.delta?.stop_details ?? ev.stop_details;
|
|
2258
|
+
}
|
|
2259
|
+
}
|
|
2029
2260
|
if (ev.type === "content_block_start" && ev.content_block && typeof ev.index === "number") {
|
|
2030
2261
|
providerBlocks.set(ev.index, { ...ev.content_block });
|
|
2031
2262
|
}
|
|
@@ -2108,18 +2339,17 @@ If it's in another language, summarize in that language.
|
|
|
2108
2339
|
}
|
|
2109
2340
|
}
|
|
2110
2341
|
}
|
|
2342
|
+
const hasToolUse = textBlocks.some(
|
|
2343
|
+
(b) => b.type === "tool_use" || b.type === "mcp_tool_use"
|
|
2344
|
+
);
|
|
2111
2345
|
return {
|
|
2112
2346
|
blocks: textBlocks,
|
|
2113
2347
|
providerContent: [...providerBlocks.entries()].sort(([a], [b]) => a - b).map(([, block]) => block),
|
|
2114
|
-
stop_reason:
|
|
2115
|
-
|
|
2116
|
-
|
|
2348
|
+
stop_reason: hasToolUse ? "tool_use" : "end",
|
|
2349
|
+
finish_reason: finishReason,
|
|
2350
|
+
stop_details: stopDetails
|
|
2117
2351
|
};
|
|
2118
2352
|
}
|
|
2119
|
-
async parsePureStream(res, onPartial) {
|
|
2120
|
-
const { blocks } = await this.parseStream(res, onPartial);
|
|
2121
|
-
return blocks.filter((b) => b.type === "text").map((b) => b.text).join("");
|
|
2122
|
-
}
|
|
2123
2353
|
parseOneShot(data) {
|
|
2124
2354
|
const blocks = [];
|
|
2125
2355
|
(data.content ?? []).forEach((c) => {
|
|
@@ -2155,12 +2385,15 @@ If it's in another language, summarize in that language.
|
|
|
2155
2385
|
});
|
|
2156
2386
|
}
|
|
2157
2387
|
});
|
|
2388
|
+
const hasToolUse = blocks.some(
|
|
2389
|
+
(b) => b.type === "tool_use" || b.type === "mcp_tool_use"
|
|
2390
|
+
);
|
|
2158
2391
|
return {
|
|
2159
2392
|
blocks,
|
|
2160
2393
|
providerContent: (data.content ?? []).map((block) => ({ ...block })),
|
|
2161
|
-
stop_reason:
|
|
2162
|
-
|
|
2163
|
-
|
|
2394
|
+
stop_reason: hasToolUse ? "tool_use" : "end",
|
|
2395
|
+
finish_reason: data.stop_reason,
|
|
2396
|
+
stop_details: data.stop_details
|
|
2164
2397
|
};
|
|
2165
2398
|
}
|
|
2166
2399
|
/**
|
|
@@ -2210,6 +2443,8 @@ If it's in another language, summarize in that language.
|
|
|
2210
2443
|
return {
|
|
2211
2444
|
blocks: standardBlocks,
|
|
2212
2445
|
stop_reason: completion.stop_reason,
|
|
2446
|
+
finish_reason: completion.finish_reason,
|
|
2447
|
+
stop_details: completion.stop_details,
|
|
2213
2448
|
assistant_message: {
|
|
2214
2449
|
role: "assistant",
|
|
2215
2450
|
content: standardBlocks.filter((block) => block.type === "text").map((block) => block.text).join(""),
|
|
@@ -2266,8 +2501,6 @@ If it's in another language, summarize in that language.
|
|
|
2266
2501
|
*/
|
|
2267
2502
|
getSupportedModels() {
|
|
2268
2503
|
return [
|
|
2269
|
-
MODEL_CLAUDE_4_SONNET,
|
|
2270
|
-
MODEL_CLAUDE_4_OPUS,
|
|
2271
2504
|
MODEL_CLAUDE_4_5_SONNET,
|
|
2272
2505
|
MODEL_CLAUDE_4_5_HAIKU,
|
|
2273
2506
|
MODEL_CLAUDE_4_5_OPUS,
|
|
@@ -2275,9 +2508,9 @@ If it's in another language, summarize in that language.
|
|
|
2275
2508
|
MODEL_CLAUDE_4_6_OPUS,
|
|
2276
2509
|
MODEL_CLAUDE_4_7_OPUS,
|
|
2277
2510
|
MODEL_CLAUDE_4_8_OPUS,
|
|
2511
|
+
MODEL_CLAUDE_5_FABLE,
|
|
2278
2512
|
MODEL_CLAUDE_5_SONNET,
|
|
2279
|
-
MODEL_CLAUDE_5_OPUS
|
|
2280
|
-
MODEL_CLAUDE_3_HAIKU
|
|
2513
|
+
MODEL_CLAUDE_5_OPUS
|
|
2281
2514
|
];
|
|
2282
2515
|
}
|
|
2283
2516
|
/**
|
|
@@ -2619,6 +2852,7 @@ If it's in another language, summarize in that language.
|
|
|
2619
2852
|
reasoning_effort,
|
|
2620
2853
|
enableReasoningSummary,
|
|
2621
2854
|
responseFormat,
|
|
2855
|
+
chatTemplateThinking,
|
|
2622
2856
|
maxTokens
|
|
2623
2857
|
}) {
|
|
2624
2858
|
const isResponsesAPI = endpoint === ENDPOINT_OPENAI_RESPONSES_API;
|
|
@@ -2703,6 +2937,9 @@ If it's in another language, summarize in that language.
|
|
|
2703
2937
|
body.reasoning_effort = reasoning_effort;
|
|
2704
2938
|
}
|
|
2705
2939
|
}
|
|
2940
|
+
if (provider === "sakana" && chatTemplateThinking !== void 0) {
|
|
2941
|
+
body.chat_template_kwargs = { thinking: chatTemplateThinking };
|
|
2942
|
+
}
|
|
2706
2943
|
const toolDefinitions = buildOpenAIToolsDefinition({
|
|
2707
2944
|
tools,
|
|
2708
2945
|
mcpServers,
|
|
@@ -2830,7 +3067,7 @@ If it's in another language, summarize in that language.
|
|
|
2830
3067
|
* @param model Name of the model to use
|
|
2831
3068
|
* @param visionModel Name of the vision model
|
|
2832
3069
|
*/
|
|
2833
|
-
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) {
|
|
2834
3071
|
this.provider = provider;
|
|
2835
3072
|
this.apiKey = apiKey;
|
|
2836
3073
|
this.model = model;
|
|
@@ -2842,6 +3079,7 @@ If it's in another language, summarize in that language.
|
|
|
2842
3079
|
this.reasoning_effort = reasoning_effort;
|
|
2843
3080
|
this.enableReasoningSummary = enableReasoningSummary;
|
|
2844
3081
|
this.responseFormat = responseFormat;
|
|
3082
|
+
this.chatTemplateThinking = chatTemplateThinking;
|
|
2845
3083
|
if (validateVisionModel && !VISION_SUPPORTED_MODELS.includes(visionModel)) {
|
|
2846
3084
|
throw new Error(
|
|
2847
3085
|
`Model ${visionModel} does not support vision capabilities.`
|
|
@@ -2989,6 +3227,7 @@ If it's in another language, summarize in that language.
|
|
|
2989
3227
|
reasoning_effort: this.reasoning_effort,
|
|
2990
3228
|
enableReasoningSummary: this.enableReasoningSummary,
|
|
2991
3229
|
responseFormat: this.responseFormat,
|
|
3230
|
+
chatTemplateThinking: this.chatTemplateThinking,
|
|
2992
3231
|
maxTokens
|
|
2993
3232
|
});
|
|
2994
3233
|
const headers = {};
|
|
@@ -3046,11 +3285,19 @@ If it's in another language, summarize in that language.
|
|
|
3046
3285
|
createChatService(options) {
|
|
3047
3286
|
this.validateRequiredOptions(options);
|
|
3048
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
|
+
});
|
|
3049
3296
|
const tools = options.tools;
|
|
3050
3297
|
return new DeepSeekChatService(
|
|
3051
3298
|
options.apiKey,
|
|
3052
3299
|
model,
|
|
3053
|
-
|
|
3300
|
+
visionModel,
|
|
3054
3301
|
tools,
|
|
3055
3302
|
this.resolveEndpoint(options),
|
|
3056
3303
|
options.responseLength,
|
|
@@ -3067,16 +3314,16 @@ If it's in another language, summarize in that language.
|
|
|
3067
3314
|
return MODEL_DEEPSEEK_V4_FLASH;
|
|
3068
3315
|
}
|
|
3069
3316
|
supportsVision() {
|
|
3070
|
-
return
|
|
3317
|
+
return true;
|
|
3071
3318
|
}
|
|
3072
3319
|
getVisionSupportLevel() {
|
|
3073
|
-
return "
|
|
3320
|
+
return "supported";
|
|
3074
3321
|
}
|
|
3075
|
-
supportsVisionForModel(
|
|
3076
|
-
return
|
|
3322
|
+
supportsVisionForModel(model) {
|
|
3323
|
+
return isDeepSeekVisionModel(model);
|
|
3077
3324
|
}
|
|
3078
|
-
getVisionSupportLevelForModel(
|
|
3079
|
-
return "unsupported";
|
|
3325
|
+
getVisionSupportLevelForModel(model) {
|
|
3326
|
+
return this.supportsVisionForModel(model) ? "supported" : "unsupported";
|
|
3080
3327
|
}
|
|
3081
3328
|
validateRequiredOptions(options) {
|
|
3082
3329
|
if (!options.apiKey?.trim()) {
|
|
@@ -4845,7 +5092,12 @@ If it's in another language, summarize in that language.
|
|
|
4845
5092
|
|
|
4846
5093
|
// src/services/providers/openrouter/OpenRouterChatService.ts
|
|
4847
5094
|
var isOpenRouterAutoModel = (model) => [MODEL_OPENROUTER_AUTO, MODEL_OPENROUTER_AUTO_BETA].includes(model.trim());
|
|
4848
|
-
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());
|
|
4849
5101
|
var ensureAutoRouterOutput = (model, hasVisibleOutput) => {
|
|
4850
5102
|
if (isOpenRouterAutoModel(model) && !hasVisibleOutput) {
|
|
4851
5103
|
throw new Error(
|
|
@@ -5173,7 +5425,6 @@ If it's in another language, summarize in that language.
|
|
|
5173
5425
|
MODEL_OPENROUTER_FUSION,
|
|
5174
5426
|
// Free models
|
|
5175
5427
|
MODEL_GPT_OSS_20B_FREE,
|
|
5176
|
-
MODEL_ZAI_GLM_4_5_AIR_FREE,
|
|
5177
5428
|
// OpenAI models
|
|
5178
5429
|
MODEL_OPENAI_GPT_LATEST,
|
|
5179
5430
|
MODEL_OPENAI_GPT_MINI_LATEST,
|
|
@@ -5182,7 +5433,6 @@ If it's in another language, summarize in that language.
|
|
|
5182
5433
|
MODEL_OPENAI_GPT_5_6_LUNA,
|
|
5183
5434
|
MODEL_OPENAI_GPT_5_5_PRO,
|
|
5184
5435
|
MODEL_OPENAI_GPT_5_5,
|
|
5185
|
-
MODEL_OPENAI_GPT_5_1_CHAT,
|
|
5186
5436
|
MODEL_OPENAI_GPT_5_1_CODEX,
|
|
5187
5437
|
MODEL_OPENAI_GPT_5_MINI,
|
|
5188
5438
|
MODEL_OPENAI_GPT_5_NANO,
|
|
@@ -5192,34 +5442,43 @@ If it's in another language, summarize in that language.
|
|
|
5192
5442
|
// Anthropic models
|
|
5193
5443
|
MODEL_ANTHROPIC_CLAUDE_SONNET_LATEST,
|
|
5194
5444
|
MODEL_ANTHROPIC_CLAUDE_HAIKU_LATEST,
|
|
5445
|
+
MODEL_ANTHROPIC_CLAUDE_FABLE_5,
|
|
5446
|
+
MODEL_ANTHROPIC_CLAUDE_SONNET_5,
|
|
5195
5447
|
MODEL_ANTHROPIC_CLAUDE_OPUS_5,
|
|
5448
|
+
MODEL_ANTHROPIC_CLAUDE_OPUS_4_8,
|
|
5196
5449
|
MODEL_ANTHROPIC_CLAUDE_OPUS_4,
|
|
5197
5450
|
MODEL_ANTHROPIC_CLAUDE_SONNET_4,
|
|
5198
|
-
MODEL_ANTHROPIC_CLAUDE_3_7_SONNET,
|
|
5199
|
-
MODEL_ANTHROPIC_CLAUDE_3_5_SONNET,
|
|
5200
5451
|
MODEL_ANTHROPIC_CLAUDE_4_5_HAIKU,
|
|
5201
5452
|
// Gemini models
|
|
5202
5453
|
MODEL_GOOGLE_GEMINI_PRO_LATEST,
|
|
5203
5454
|
MODEL_GOOGLE_GEMINI_FLASH_LATEST,
|
|
5455
|
+
MODEL_GOOGLE_GEMINI_3_7_FLASH,
|
|
5204
5456
|
MODEL_GOOGLE_GEMINI_3_6_FLASH,
|
|
5205
5457
|
MODEL_GOOGLE_GEMINI_3_5_FLASH_LITE,
|
|
5206
5458
|
MODEL_GOOGLE_GEMINI_2_5_PRO,
|
|
5207
5459
|
MODEL_GOOGLE_GEMINI_2_5_FLASH,
|
|
5208
5460
|
MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025,
|
|
5209
5461
|
// Z.ai models
|
|
5462
|
+
MODEL_ZAI_GLM_5_3,
|
|
5463
|
+
MODEL_ZAI_GLM_5_3_FLASH,
|
|
5210
5464
|
MODEL_ZAI_GLM_5_2,
|
|
5211
5465
|
MODEL_ZAI_GLM_4_7_FLASH,
|
|
5212
5466
|
MODEL_ZAI_GLM_4_5_AIR,
|
|
5213
5467
|
// xAI models
|
|
5214
5468
|
MODEL_XAI_GROK_LATEST,
|
|
5469
|
+
MODEL_XAI_GROK_4_6,
|
|
5215
5470
|
MODEL_XAI_GROK_4_5,
|
|
5216
5471
|
// DeepSeek models
|
|
5217
5472
|
MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731,
|
|
5218
5473
|
MODEL_OPENROUTER_DEEPSEEK_V4_FLASH,
|
|
5474
|
+
MODEL_OPENROUTER_DEEPSEEK_V4_PRO_0813,
|
|
5475
|
+
MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP,
|
|
5219
5476
|
// Other models
|
|
5477
|
+
MODEL_QWEN_QWEN_3_8_FLASH,
|
|
5220
5478
|
MODEL_MOONSHOTAI_KIMI_LATEST,
|
|
5221
5479
|
MODEL_MOONSHOTAI_KIMI_K3,
|
|
5222
5480
|
MODEL_MOONSHOTAI_KIMI_K2_7_CODE,
|
|
5481
|
+
MODEL_MOONSHOTAI_KIMI_K2_6,
|
|
5223
5482
|
MODEL_MOONSHOTAI_KIMI_K2_5,
|
|
5224
5483
|
MODEL_KWAIPILOT_KAT_CODER_AIR_V2_5,
|
|
5225
5484
|
MODEL_KWAIPILOT_KAT_CODER_PRO_V2_5
|
|
@@ -5354,7 +5613,7 @@ If it's in another language, summarize in that language.
|
|
|
5354
5613
|
|
|
5355
5614
|
// src/services/providers/sakana/SakanaChatService.ts
|
|
5356
5615
|
var SakanaChatService = class extends OpenAIChatService {
|
|
5357
|
-
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) {
|
|
5358
5617
|
super(
|
|
5359
5618
|
apiKey,
|
|
5360
5619
|
model,
|
|
@@ -5367,7 +5626,9 @@ If it's in another language, summarize in that language.
|
|
|
5367
5626
|
void 0,
|
|
5368
5627
|
false,
|
|
5369
5628
|
"sakana",
|
|
5370
|
-
false
|
|
5629
|
+
false,
|
|
5630
|
+
void 0,
|
|
5631
|
+
thinking?.type === "enabled"
|
|
5371
5632
|
);
|
|
5372
5633
|
}
|
|
5373
5634
|
};
|
|
@@ -5377,14 +5638,29 @@ If it's in another language, summarize in that language.
|
|
|
5377
5638
|
createChatService(options) {
|
|
5378
5639
|
this.validateRequiredOptions(options);
|
|
5379
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
|
+
});
|
|
5380
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;
|
|
5381
5656
|
return new SakanaChatService(
|
|
5382
5657
|
options.apiKey,
|
|
5383
5658
|
model,
|
|
5384
|
-
|
|
5659
|
+
visionModel,
|
|
5385
5660
|
tools,
|
|
5386
5661
|
this.resolveEndpoint(options),
|
|
5387
|
-
options.responseLength
|
|
5662
|
+
options.responseLength,
|
|
5663
|
+
thinking
|
|
5388
5664
|
);
|
|
5389
5665
|
}
|
|
5390
5666
|
getProviderName() {
|
|
@@ -5397,16 +5673,16 @@ If it's in another language, summarize in that language.
|
|
|
5397
5673
|
return MODEL_FUGU;
|
|
5398
5674
|
}
|
|
5399
5675
|
supportsVision() {
|
|
5400
|
-
return
|
|
5676
|
+
return true;
|
|
5401
5677
|
}
|
|
5402
5678
|
getVisionSupportLevel() {
|
|
5403
|
-
return "
|
|
5679
|
+
return "supported";
|
|
5404
5680
|
}
|
|
5405
|
-
supportsVisionForModel(
|
|
5406
|
-
return
|
|
5681
|
+
supportsVisionForModel(model) {
|
|
5682
|
+
return isSakanaVisionModel(model);
|
|
5407
5683
|
}
|
|
5408
|
-
getVisionSupportLevelForModel(
|
|
5409
|
-
return "unsupported";
|
|
5684
|
+
getVisionSupportLevelForModel(model) {
|
|
5685
|
+
return this.supportsVisionForModel(model) ? "supported" : "unsupported";
|
|
5410
5686
|
}
|
|
5411
5687
|
validateRequiredOptions(options) {
|
|
5412
5688
|
if (!options.apiKey?.trim()) {
|
|
@@ -5439,7 +5715,7 @@ If it's in another language, summarize in that language.
|
|
|
5439
5715
|
* @param model Name of the model to use
|
|
5440
5716
|
* @param visionModel Name of the vision model
|
|
5441
5717
|
*/
|
|
5442
|
-
constructor(apiKey, model =
|
|
5718
|
+
constructor(apiKey, model = MODEL_GROK_4_3, visionModel = MODEL_GROK_4_3, tools, endpoint = ENDPOINT_XAI_CHAT_COMPLETIONS_API, responseLength, reasoningEffort = "none") {
|
|
5443
5719
|
/** Provider name */
|
|
5444
5720
|
this.provider = "xai";
|
|
5445
5721
|
this.apiKey = apiKey;
|
|
@@ -5627,22 +5903,20 @@ If it's in another language, summarize in that language.
|
|
|
5627
5903
|
MODEL_GROK_4_5,
|
|
5628
5904
|
MODEL_GROK_4_3,
|
|
5629
5905
|
MODEL_GROK_4_20_REASONING,
|
|
5630
|
-
MODEL_GROK_4_20_NON_REASONING
|
|
5631
|
-
MODEL_GROK_4_1_FAST_REASONING,
|
|
5632
|
-
MODEL_GROK_4_1_FAST_NON_REASONING
|
|
5906
|
+
MODEL_GROK_4_20_NON_REASONING
|
|
5633
5907
|
];
|
|
5634
5908
|
}
|
|
5635
5909
|
/**
|
|
5636
5910
|
* Get the default model
|
|
5637
5911
|
*/
|
|
5638
5912
|
getDefaultModel() {
|
|
5639
|
-
return
|
|
5913
|
+
return MODEL_GROK_4_3;
|
|
5640
5914
|
}
|
|
5641
5915
|
/**
|
|
5642
5916
|
* Get the default vision model
|
|
5643
5917
|
*/
|
|
5644
5918
|
getDefaultVisionModel() {
|
|
5645
|
-
return
|
|
5919
|
+
return MODEL_GROK_4_3;
|
|
5646
5920
|
}
|
|
5647
5921
|
/**
|
|
5648
5922
|
* Check if this provider supports vision
|
|
@@ -5672,7 +5946,7 @@ If it's in another language, summarize in that language.
|
|
|
5672
5946
|
* @param model Name of the model to use
|
|
5673
5947
|
* @param visionModel Name of the vision model
|
|
5674
5948
|
*/
|
|
5675
|
-
constructor(apiKey, model = MODEL_GLM_5_2, visionModel = MODEL_GLM_4_6V_FLASH, tools, endpoint = ENDPOINT_ZAI_CHAT_COMPLETIONS_API, responseLength, responseFormat, thinking) {
|
|
5949
|
+
constructor(apiKey, model = MODEL_GLM_5_2, visionModel = MODEL_GLM_4_6V_FLASH, tools, endpoint = ENDPOINT_ZAI_CHAT_COMPLETIONS_API, responseLength, responseFormat, thinking, reasoningEffort) {
|
|
5676
5950
|
/** Provider name */
|
|
5677
5951
|
this.provider = "zai";
|
|
5678
5952
|
this.apiKey = apiKey;
|
|
@@ -5682,6 +5956,7 @@ If it's in another language, summarize in that language.
|
|
|
5682
5956
|
this.responseLength = responseLength;
|
|
5683
5957
|
this.responseFormat = responseFormat;
|
|
5684
5958
|
this.thinking = thinking ?? { type: "disabled" };
|
|
5959
|
+
this.reasoningEffort = reasoningEffort;
|
|
5685
5960
|
this.visionModel = visionModel;
|
|
5686
5961
|
}
|
|
5687
5962
|
/**
|
|
@@ -5786,6 +6061,9 @@ If it's in another language, summarize in that language.
|
|
|
5786
6061
|
if (this.thinking) {
|
|
5787
6062
|
body.thinking = this.thinking;
|
|
5788
6063
|
}
|
|
6064
|
+
if (isZaiReasoningEffortModel(model) && this.reasoningEffort) {
|
|
6065
|
+
body.reasoning_effort = this.reasoningEffort;
|
|
6066
|
+
}
|
|
5789
6067
|
const tools = this.buildToolsDefinition();
|
|
5790
6068
|
if (tools.length > 0) {
|
|
5791
6069
|
body.tools = tools;
|
|
@@ -5836,7 +6114,30 @@ If it's in another language, summarize in that language.
|
|
|
5836
6114
|
validate: "explicit"
|
|
5837
6115
|
});
|
|
5838
6116
|
const tools = options.tools;
|
|
5839
|
-
const
|
|
6117
|
+
const supportedReasoningEfforts = getZaiSupportedReasoningEfforts(model);
|
|
6118
|
+
if (options.reasoning_effort !== void 0 && !supportedReasoningEfforts.includes(options.reasoning_effort)) {
|
|
6119
|
+
const supportedMessage = supportedReasoningEfforts.length > 0 ? `Supported values: ${supportedReasoningEfforts.join(", ")}.` : "This model does not expose configurable effort.";
|
|
6120
|
+
throw new Error(
|
|
6121
|
+
`Model ${model} does not support Z.ai reasoning_effort: ${options.reasoning_effort}. ${supportedMessage}`
|
|
6122
|
+
);
|
|
6123
|
+
}
|
|
6124
|
+
const normalizedReasoningEffort = normalizeZaiReasoningEffort(
|
|
6125
|
+
model,
|
|
6126
|
+
options.reasoning_effort
|
|
6127
|
+
);
|
|
6128
|
+
const alwaysThinking = isZaiAlwaysThinkingModel(model);
|
|
6129
|
+
const usesExplicitThinking = options.thinking !== void 0;
|
|
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" ? {
|
|
6134
|
+
type: "enabled",
|
|
6135
|
+
clear_thinking: options.thinking?.clear_thinking
|
|
6136
|
+
} : {
|
|
6137
|
+
type: "disabled",
|
|
6138
|
+
clear_thinking: options.thinking?.clear_thinking
|
|
6139
|
+
};
|
|
6140
|
+
const reasoningEffort = alwaysThinking ? normalizedReasoningEffort : thinking?.type === "enabled" && options.reasoning_effort !== void 0 ? normalizedReasoningEffort : void 0;
|
|
5840
6141
|
return new ZAIChatService(
|
|
5841
6142
|
options.apiKey,
|
|
5842
6143
|
model,
|
|
@@ -5845,7 +6146,8 @@ If it's in another language, summarize in that language.
|
|
|
5845
6146
|
options.endpoint || ENDPOINT_ZAI_CHAT_COMPLETIONS_API,
|
|
5846
6147
|
options.responseLength,
|
|
5847
6148
|
options.responseFormat,
|
|
5848
|
-
thinking
|
|
6149
|
+
thinking,
|
|
6150
|
+
reasoningEffort
|
|
5849
6151
|
);
|
|
5850
6152
|
}
|
|
5851
6153
|
/**
|
|
@@ -5859,6 +6161,8 @@ If it's in another language, summarize in that language.
|
|
|
5859
6161
|
*/
|
|
5860
6162
|
getSupportedModels() {
|
|
5861
6163
|
return [
|
|
6164
|
+
MODEL_GLM_5_3,
|
|
6165
|
+
MODEL_GLM_5_3_FLASH,
|
|
5862
6166
|
MODEL_GLM_5_2,
|
|
5863
6167
|
MODEL_GLM_5_1,
|
|
5864
6168
|
MODEL_GLM_5,
|
|
@@ -6052,7 +6356,8 @@ If it's in another language, summarize in that language.
|
|
|
6052
6356
|
mistral: ["low", "medium", "high"],
|
|
6053
6357
|
plamo: ["none", "medium"],
|
|
6054
6358
|
xai: ["none", "low", "medium", "high", "xhigh"],
|
|
6055
|
-
deepseek: ["none", "low", "high", "max"]
|
|
6359
|
+
deepseek: ["none", "low", "high", "max"],
|
|
6360
|
+
zai: ["none", "minimal", "low", "medium", "high", "xhigh", "max"]
|
|
6056
6361
|
};
|
|
6057
6362
|
var ChatServiceFactory = class {
|
|
6058
6363
|
/**
|
|
@@ -6113,7 +6418,7 @@ If it's in another language, summarize in that language.
|
|
|
6113
6418
|
mcp: MCP_SUPPORTED_PROVIDERS.has(providerName),
|
|
6114
6419
|
jsonMode: JSON_MODE_SUPPORTED_PROVIDERS.has(providerName),
|
|
6115
6420
|
responseLength: true,
|
|
6116
|
-
reasoningEffort: providerName === "claude" && model ? [...getClaudeSupportedReasoningEfforts(model)] : providerName === "kimi" && model ? [...getKimiSupportedReasoningEfforts(model)] : providerName === "deepseek" && model ? [...getDeepSeekSupportedReasoningEfforts(model)] : providerName === "openrouter" && model ? [...getOpenRouterSupportedReasoningEfforts(model)] : providerName === "xai" && model ? [...getXaiSupportedReasoningEfforts(model)] : REASONING_EFFORT_BY_PROVIDER[providerName] ?? []
|
|
6421
|
+
reasoningEffort: providerName === "claude" && model ? [...getClaudeSupportedReasoningEfforts(model)] : providerName === "gemini" && model ? [...getGeminiSupportedReasoningEfforts(model)] : providerName === "kimi" && model ? [...getKimiSupportedReasoningEfforts(model)] : providerName === "deepseek" && model ? [...getDeepSeekSupportedReasoningEfforts(model)] : providerName === "openrouter" && model ? [...getOpenRouterSupportedReasoningEfforts(model)] : providerName === "xai" && model ? [...getXaiSupportedReasoningEfforts(model)] : providerName === "zai" && model ? [...getZaiSupportedReasoningEfforts(model)] : REASONING_EFFORT_BY_PROVIDER[providerName] ?? []
|
|
6117
6422
|
};
|
|
6118
6423
|
}
|
|
6119
6424
|
/**
|