@aituber-onair/chat 0.49.0 → 0.50.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 +20 -8
- package/README.md +20 -8
- package/dist/cjs/constants/deepseek.d.ts +6 -0
- package/dist/cjs/constants/deepseek.d.ts.map +1 -1
- package/dist/cjs/constants/deepseek.js +47 -0
- package/dist/cjs/constants/deepseek.js.map +1 -1
- package/dist/cjs/constants/openrouter.d.ts +6 -0
- package/dist/cjs/constants/openrouter.d.ts.map +1 -1
- package/dist/cjs/constants/openrouter.js +66 -2
- package/dist/cjs/constants/openrouter.js.map +1 -1
- package/dist/cjs/services/ChatServiceFactory.d.ts.map +1 -1
- package/dist/cjs/services/ChatServiceFactory.js +9 -2
- package/dist/cjs/services/ChatServiceFactory.js.map +1 -1
- package/dist/cjs/services/providers/ChatServiceProvider.d.ts +7 -2
- package/dist/cjs/services/providers/ChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/deepseek/DeepSeekChatService.d.ts +2 -1
- package/dist/cjs/services/providers/deepseek/DeepSeekChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/deepseek/DeepSeekChatService.js +9 -2
- package/dist/cjs/services/providers/deepseek/DeepSeekChatService.js.map +1 -1
- package/dist/cjs/services/providers/deepseek/DeepSeekChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/deepseek/DeepSeekChatServiceProvider.js +1 -1
- package/dist/cjs/services/providers/deepseek/DeepSeekChatServiceProvider.js.map +1 -1
- package/dist/cjs/services/providers/geminiNano/GeminiNanoChatService.d.ts +1 -1
- package/dist/cjs/services/providers/geminiNano/GeminiNanoChatService.js +2 -2
- package/dist/cjs/services/providers/geminiNano/GeminiNanoChatService.js.map +1 -1
- package/dist/cjs/services/providers/openai/openaiRequestBuilder.d.ts.map +1 -1
- package/dist/cjs/services/providers/openai/openaiRequestBuilder.js +8 -0
- package/dist/cjs/services/providers/openai/openaiRequestBuilder.js.map +1 -1
- package/dist/cjs/services/providers/openrouter/OpenRouterChatService.d.ts +2 -1
- package/dist/cjs/services/providers/openrouter/OpenRouterChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/openrouter/OpenRouterChatService.js +7 -8
- 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 +3 -0
- package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.js.map +1 -1
- package/dist/esm/constants/deepseek.d.ts +6 -0
- package/dist/esm/constants/deepseek.d.ts.map +1 -1
- package/dist/esm/constants/deepseek.js +43 -0
- package/dist/esm/constants/deepseek.js.map +1 -1
- package/dist/esm/constants/openrouter.d.ts +6 -0
- package/dist/esm/constants/openrouter.d.ts.map +1 -1
- package/dist/esm/constants/openrouter.js +61 -0
- package/dist/esm/constants/openrouter.js.map +1 -1
- package/dist/esm/services/ChatServiceFactory.d.ts.map +1 -1
- package/dist/esm/services/ChatServiceFactory.js +9 -2
- package/dist/esm/services/ChatServiceFactory.js.map +1 -1
- package/dist/esm/services/providers/ChatServiceProvider.d.ts +7 -2
- package/dist/esm/services/providers/ChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/deepseek/DeepSeekChatService.d.ts +2 -1
- package/dist/esm/services/providers/deepseek/DeepSeekChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/deepseek/DeepSeekChatService.js +10 -3
- package/dist/esm/services/providers/deepseek/DeepSeekChatService.js.map +1 -1
- package/dist/esm/services/providers/deepseek/DeepSeekChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/deepseek/DeepSeekChatServiceProvider.js +1 -1
- package/dist/esm/services/providers/deepseek/DeepSeekChatServiceProvider.js.map +1 -1
- package/dist/esm/services/providers/geminiNano/GeminiNanoChatService.d.ts +1 -1
- package/dist/esm/services/providers/geminiNano/GeminiNanoChatService.js +2 -2
- package/dist/esm/services/providers/geminiNano/GeminiNanoChatService.js.map +1 -1
- package/dist/esm/services/providers/openai/openaiRequestBuilder.d.ts.map +1 -1
- package/dist/esm/services/providers/openai/openaiRequestBuilder.js +8 -0
- package/dist/esm/services/providers/openai/openaiRequestBuilder.js.map +1 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatService.d.ts +2 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatService.js +8 -9
- 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 +4 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.js.map +1 -1
- package/dist/umd/aituber-onair-chat.js +145 -14
- package/dist/umd/aituber-onair-chat.min.js +7 -7
- package/package.json +1 -1
|
@@ -198,6 +198,8 @@ var AITuberOnAirChat = (() => {
|
|
|
198
198
|
MODEL_OPENAI_GPT_MINI_LATEST: () => MODEL_OPENAI_GPT_MINI_LATEST,
|
|
199
199
|
MODEL_OPENROUTER_AUTO: () => MODEL_OPENROUTER_AUTO,
|
|
200
200
|
MODEL_OPENROUTER_AUTO_BETA: () => MODEL_OPENROUTER_AUTO_BETA,
|
|
201
|
+
MODEL_OPENROUTER_DEEPSEEK_V4_FLASH: () => MODEL_OPENROUTER_DEEPSEEK_V4_FLASH,
|
|
202
|
+
MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731: () => MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731,
|
|
201
203
|
MODEL_OPENROUTER_FUSION: () => MODEL_OPENROUTER_FUSION,
|
|
202
204
|
MODEL_PLAMO_2_2_PRIME: () => MODEL_PLAMO_2_2_PRIME,
|
|
203
205
|
MODEL_PLAMO_3_0_PRIME: () => MODEL_PLAMO_3_0_PRIME,
|
|
@@ -243,16 +245,21 @@ var AITuberOnAirChat = (() => {
|
|
|
243
245
|
allowsReasoningXHigh: () => allowsReasoningXHigh,
|
|
244
246
|
buildOpenAICompatibleTools: () => buildOpenAICompatibleTools,
|
|
245
247
|
getClaudeSupportedReasoningEfforts: () => getClaudeSupportedReasoningEfforts,
|
|
248
|
+
getDeepSeekSupportedReasoningEfforts: () => getDeepSeekSupportedReasoningEfforts,
|
|
246
249
|
getDefaultClaudeReasoningEffort: () => getDefaultClaudeReasoningEffort,
|
|
250
|
+
getDefaultDeepSeekReasoningEffort: () => getDefaultDeepSeekReasoningEffort,
|
|
247
251
|
getDefaultGeminiReasoningEffort: () => getDefaultGeminiReasoningEffort,
|
|
248
252
|
getDefaultKimiReasoningEffort: () => getDefaultKimiReasoningEffort,
|
|
253
|
+
getDefaultOpenRouterReasoningEffort: () => getDefaultOpenRouterReasoningEffort,
|
|
249
254
|
getDefaultReasoningEffortForGPT5Model: () => getDefaultReasoningEffortForGPT5Model,
|
|
250
255
|
getDefaultXaiReasoningEffort: () => getDefaultXaiReasoningEffort,
|
|
251
256
|
getGeminiSupportedReasoningEfforts: () => getGeminiSupportedReasoningEfforts,
|
|
252
257
|
getKimiSupportedReasoningEfforts: () => getKimiSupportedReasoningEfforts,
|
|
253
258
|
getMaxTokensForResponseLength: () => getMaxTokensForResponseLength,
|
|
259
|
+
getOpenRouterSupportedReasoningEfforts: () => getOpenRouterSupportedReasoningEfforts,
|
|
254
260
|
installGASFetch: () => installGASFetch,
|
|
255
261
|
isClaudeReasoningEffortModel: () => isClaudeReasoningEffortModel,
|
|
262
|
+
isDeepSeekReasoningEffortModel: () => isDeepSeekReasoningEffortModel,
|
|
256
263
|
isGPT5Model: () => isGPT5Model,
|
|
257
264
|
isGeminiReasoningEffortModel: () => isGeminiReasoningEffortModel,
|
|
258
265
|
isKimiReasoningEffortModel: () => isKimiReasoningEffortModel,
|
|
@@ -270,7 +277,9 @@ var AITuberOnAirChat = (() => {
|
|
|
270
277
|
isZaiToolStreamModel: () => isZaiToolStreamModel,
|
|
271
278
|
isZaiVisionModel: () => isZaiVisionModel,
|
|
272
279
|
normalizeClaudeReasoningEffort: () => normalizeClaudeReasoningEffort,
|
|
280
|
+
normalizeDeepSeekReasoningEffort: () => normalizeDeepSeekReasoningEffort,
|
|
273
281
|
normalizeGeminiReasoningEffort: () => normalizeGeminiReasoningEffort,
|
|
282
|
+
normalizeOpenRouterReasoningEffort: () => normalizeOpenRouterReasoningEffort,
|
|
274
283
|
normalizeXaiReasoningEffort: () => normalizeXaiReasoningEffort,
|
|
275
284
|
parseOpenAICompatibleOneShot: () => parseOpenAICompatibleOneShot,
|
|
276
285
|
parseOpenAICompatibleTextStream: () => parseOpenAICompatibleTextStream,
|
|
@@ -589,6 +598,26 @@ var AITuberOnAirChat = (() => {
|
|
|
589
598
|
var MODEL_KWAIPILOT_KAT_CODER_PRO_V2_5 = "kwaipilot/kat-coder-pro-v2.5";
|
|
590
599
|
var MODEL_XAI_GROK_LATEST = "~x-ai/grok-latest";
|
|
591
600
|
var MODEL_XAI_GROK_4_5 = "x-ai/grok-4.5";
|
|
601
|
+
var MODEL_OPENROUTER_DEEPSEEK_V4_FLASH = "deepseek/deepseek-v4-flash";
|
|
602
|
+
var MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731 = "deepseek/deepseek-v4-flash-0731";
|
|
603
|
+
var DEFAULT_OPENROUTER_REASONING_EFFORTS = [
|
|
604
|
+
"none",
|
|
605
|
+
"minimal",
|
|
606
|
+
"low",
|
|
607
|
+
"medium",
|
|
608
|
+
"high"
|
|
609
|
+
];
|
|
610
|
+
var OPENROUTER_DEEPSEEK_V4_FLASH_REASONING_EFFORTS = [
|
|
611
|
+
"none",
|
|
612
|
+
"high",
|
|
613
|
+
"xhigh"
|
|
614
|
+
];
|
|
615
|
+
var OPENROUTER_DEEPSEEK_V4_FLASH_0731_REASONING_EFFORTS = [
|
|
616
|
+
"none",
|
|
617
|
+
"low",
|
|
618
|
+
"high",
|
|
619
|
+
"max"
|
|
620
|
+
];
|
|
592
621
|
var OPENROUTER_FREE_MODELS = [
|
|
593
622
|
MODEL_GPT_OSS_20B_FREE,
|
|
594
623
|
MODEL_ZAI_GLM_4_5_AIR_FREE
|
|
@@ -642,6 +671,43 @@ var AITuberOnAirChat = (() => {
|
|
|
642
671
|
(visionModel) => model.includes(visionModel)
|
|
643
672
|
);
|
|
644
673
|
}
|
|
674
|
+
function getOpenRouterSupportedReasoningEfforts(model) {
|
|
675
|
+
const normalizedModel = model.trim();
|
|
676
|
+
if (normalizedModel === MODEL_OPENROUTER_DEEPSEEK_V4_FLASH) {
|
|
677
|
+
return OPENROUTER_DEEPSEEK_V4_FLASH_REASONING_EFFORTS;
|
|
678
|
+
}
|
|
679
|
+
if (normalizedModel === MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731) {
|
|
680
|
+
return OPENROUTER_DEEPSEEK_V4_FLASH_0731_REASONING_EFFORTS;
|
|
681
|
+
}
|
|
682
|
+
return DEFAULT_OPENROUTER_REASONING_EFFORTS;
|
|
683
|
+
}
|
|
684
|
+
function getDefaultOpenRouterReasoningEffort(model) {
|
|
685
|
+
const normalizedModel = model.trim();
|
|
686
|
+
return normalizedModel === MODEL_ZAI_GLM_5_2 || normalizedModel === MODEL_OPENROUTER_DEEPSEEK_V4_FLASH || normalizedModel === MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731 ? "none" : void 0;
|
|
687
|
+
}
|
|
688
|
+
function normalizeOpenRouterReasoningEffort(model, effort) {
|
|
689
|
+
const normalizedModel = model.trim();
|
|
690
|
+
const requested = effort ?? getDefaultOpenRouterReasoningEffort(model);
|
|
691
|
+
if (!requested) {
|
|
692
|
+
return void 0;
|
|
693
|
+
}
|
|
694
|
+
const supported = getOpenRouterSupportedReasoningEfforts(model);
|
|
695
|
+
if (supported.includes(requested)) {
|
|
696
|
+
return requested;
|
|
697
|
+
}
|
|
698
|
+
if (normalizedModel === MODEL_OPENROUTER_DEEPSEEK_V4_FLASH) {
|
|
699
|
+
return requested === "max" ? "xhigh" : "none";
|
|
700
|
+
}
|
|
701
|
+
if (normalizedModel === MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731) {
|
|
702
|
+
if (requested === "minimal" || requested === "medium") {
|
|
703
|
+
return "low";
|
|
704
|
+
}
|
|
705
|
+
if (requested === "xhigh") {
|
|
706
|
+
return "high";
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
return requested;
|
|
710
|
+
}
|
|
645
711
|
|
|
646
712
|
// src/constants/zai.ts
|
|
647
713
|
var ENDPOINT_ZAI_CHAT_COMPLETIONS_API = "https://api.z.ai/api/paas/v4/chat/completions";
|
|
@@ -753,6 +819,17 @@ var AITuberOnAirChat = (() => {
|
|
|
753
819
|
var ENDPOINT_DEEPSEEK_CHAT_COMPLETIONS_API = `${DEEPSEEK_API_BASE_URL}/chat/completions`;
|
|
754
820
|
var MODEL_DEEPSEEK_V4_FLASH = "deepseek-v4-flash";
|
|
755
821
|
var MODEL_DEEPSEEK_V4_PRO = "deepseek-v4-pro";
|
|
822
|
+
var DEEPSEEK_V4_FLASH_REASONING_EFFORTS = [
|
|
823
|
+
"none",
|
|
824
|
+
"low",
|
|
825
|
+
"high",
|
|
826
|
+
"max"
|
|
827
|
+
];
|
|
828
|
+
var DEEPSEEK_V4_PRO_REASONING_EFFORTS = [
|
|
829
|
+
"none",
|
|
830
|
+
"high",
|
|
831
|
+
"max"
|
|
832
|
+
];
|
|
756
833
|
var MODEL_DEEPSEEK_CHAT = "deepseek-chat";
|
|
757
834
|
var MODEL_DEEPSEEK_REASONER = "deepseek-reasoner";
|
|
758
835
|
var DEEPSEEK_SUPPORTED_MODELS = [
|
|
@@ -763,6 +840,35 @@ var AITuberOnAirChat = (() => {
|
|
|
763
840
|
MODEL_DEEPSEEK_CHAT,
|
|
764
841
|
MODEL_DEEPSEEK_REASONER
|
|
765
842
|
];
|
|
843
|
+
function getDeepSeekSupportedReasoningEfforts(model) {
|
|
844
|
+
if (model === MODEL_DEEPSEEK_V4_FLASH) {
|
|
845
|
+
return DEEPSEEK_V4_FLASH_REASONING_EFFORTS;
|
|
846
|
+
}
|
|
847
|
+
if (model === MODEL_DEEPSEEK_V4_PRO) {
|
|
848
|
+
return DEEPSEEK_V4_PRO_REASONING_EFFORTS;
|
|
849
|
+
}
|
|
850
|
+
return [];
|
|
851
|
+
}
|
|
852
|
+
function isDeepSeekReasoningEffortModel(model) {
|
|
853
|
+
return getDeepSeekSupportedReasoningEfforts(model).length > 0;
|
|
854
|
+
}
|
|
855
|
+
function getDefaultDeepSeekReasoningEffort(model) {
|
|
856
|
+
return isDeepSeekReasoningEffortModel(model) ? "none" : void 0;
|
|
857
|
+
}
|
|
858
|
+
function normalizeDeepSeekReasoningEffort(model, effort) {
|
|
859
|
+
const supported = getDeepSeekSupportedReasoningEfforts(model);
|
|
860
|
+
if (supported.length === 0) {
|
|
861
|
+
return void 0;
|
|
862
|
+
}
|
|
863
|
+
const requested = effort ?? getDefaultDeepSeekReasoningEffort(model);
|
|
864
|
+
if (requested && supported.includes(requested)) {
|
|
865
|
+
return requested;
|
|
866
|
+
}
|
|
867
|
+
if (model === MODEL_DEEPSEEK_V4_PRO && requested === "low") {
|
|
868
|
+
return "high";
|
|
869
|
+
}
|
|
870
|
+
return getDefaultDeepSeekReasoningEffort(model);
|
|
871
|
+
}
|
|
766
872
|
|
|
767
873
|
// src/constants/mistral.ts
|
|
768
874
|
var MISTRAL_API_BASE_URL = "https://api.mistral.ai/v1";
|
|
@@ -2513,6 +2619,14 @@ If it's in another language, summarize in that language.
|
|
|
2513
2619
|
if (provider === "plamo" && reasoning_effort) {
|
|
2514
2620
|
body.reasoning_effort = reasoning_effort;
|
|
2515
2621
|
}
|
|
2622
|
+
if (provider === "deepseek" && reasoning_effort) {
|
|
2623
|
+
body.thinking = {
|
|
2624
|
+
type: reasoning_effort === "none" ? "disabled" : "enabled"
|
|
2625
|
+
};
|
|
2626
|
+
if (reasoning_effort !== "none") {
|
|
2627
|
+
body.reasoning_effort = reasoning_effort;
|
|
2628
|
+
}
|
|
2629
|
+
}
|
|
2516
2630
|
const toolDefinitions = buildOpenAIToolsDefinition({
|
|
2517
2631
|
tools,
|
|
2518
2632
|
mcpServers,
|
|
@@ -2800,7 +2914,11 @@ If it's in another language, summarize in that language.
|
|
|
2800
2914
|
|
|
2801
2915
|
// src/services/providers/deepseek/DeepSeekChatService.ts
|
|
2802
2916
|
var DeepSeekChatService = class extends OpenAIChatService {
|
|
2803
|
-
constructor(apiKey, model = MODEL_DEEPSEEK_V4_FLASH, visionModel = model, tools, endpoint = ENDPOINT_DEEPSEEK_CHAT_COMPLETIONS_API, responseLength) {
|
|
2917
|
+
constructor(apiKey, model = MODEL_DEEPSEEK_V4_FLASH, visionModel = model, tools, endpoint = ENDPOINT_DEEPSEEK_CHAT_COMPLETIONS_API, responseLength, reasoningEffort) {
|
|
2918
|
+
const normalizedReasoningEffort = normalizeDeepSeekReasoningEffort(
|
|
2919
|
+
model,
|
|
2920
|
+
reasoningEffort
|
|
2921
|
+
);
|
|
2804
2922
|
super(
|
|
2805
2923
|
apiKey,
|
|
2806
2924
|
model,
|
|
@@ -2810,11 +2928,16 @@ If it's in another language, summarize in that language.
|
|
|
2810
2928
|
[],
|
|
2811
2929
|
responseLength,
|
|
2812
2930
|
void 0,
|
|
2813
|
-
|
|
2931
|
+
normalizedReasoningEffort,
|
|
2814
2932
|
false,
|
|
2815
2933
|
"deepseek",
|
|
2816
2934
|
false
|
|
2817
2935
|
);
|
|
2936
|
+
if (tools?.length && normalizedReasoningEffort !== void 0 && normalizedReasoningEffort !== "none") {
|
|
2937
|
+
throw new Error(
|
|
2938
|
+
"DeepSeek thinking with tools is not supported yet. Use reasoning_effort: 'none' for tool calling."
|
|
2939
|
+
);
|
|
2940
|
+
}
|
|
2818
2941
|
}
|
|
2819
2942
|
};
|
|
2820
2943
|
|
|
@@ -2830,7 +2953,8 @@ If it's in another language, summarize in that language.
|
|
|
2830
2953
|
options.visionModel ?? model,
|
|
2831
2954
|
tools,
|
|
2832
2955
|
this.resolveEndpoint(options),
|
|
2833
|
-
options.responseLength
|
|
2956
|
+
options.responseLength,
|
|
2957
|
+
options.reasoning_effort
|
|
2834
2958
|
);
|
|
2835
2959
|
}
|
|
2836
2960
|
getProviderName() {
|
|
@@ -3776,7 +3900,7 @@ If it's in another language, summarize in that language.
|
|
|
3776
3900
|
const api = getLanguageModelAPI();
|
|
3777
3901
|
if (!api) {
|
|
3778
3902
|
throw new Error(
|
|
3779
|
-
"Gemini Nano is not available in this environment. Chrome
|
|
3903
|
+
"Gemini Nano is not available in this environment. Chrome 148+ on a supported desktop device is required for web pages."
|
|
3780
3904
|
);
|
|
3781
3905
|
}
|
|
3782
3906
|
const modelOptions = this.getModelOptions();
|
|
@@ -4606,7 +4730,6 @@ If it's in another language, summarize in that language.
|
|
|
4606
4730
|
// src/services/providers/openrouter/OpenRouterChatService.ts
|
|
4607
4731
|
var isOpenRouterAutoModel = (model) => [MODEL_OPENROUTER_AUTO, MODEL_OPENROUTER_AUTO_BETA].includes(model.trim());
|
|
4608
4732
|
var isTokenLimitUnsupportedModel = (model) => [MODEL_GPT_OSS_20B_FREE, MODEL_ZAI_GLM_5_2].includes(model.trim());
|
|
4609
|
-
var getDefaultReasoningEffort = (model) => model.trim() === MODEL_ZAI_GLM_5_2 ? "none" : void 0;
|
|
4610
4733
|
var ensureAutoRouterOutput = (model, hasVisibleOutput) => {
|
|
4611
4734
|
if (isOpenRouterAutoModel(model) && !hasVisibleOutput) {
|
|
4612
4735
|
throw new Error(
|
|
@@ -4818,16 +4941,20 @@ If it's in another language, summarize in that language.
|
|
|
4818
4941
|
} else if (tokenLimit) {
|
|
4819
4942
|
body.max_tokens = tokenLimit;
|
|
4820
4943
|
}
|
|
4821
|
-
const defaultReasoningEffort =
|
|
4822
|
-
|
|
4944
|
+
const defaultReasoningEffort = getDefaultOpenRouterReasoningEffort(model);
|
|
4945
|
+
const reasoningEffort = normalizeOpenRouterReasoningEffort(
|
|
4946
|
+
model,
|
|
4947
|
+
this.reasoning_effort
|
|
4948
|
+
);
|
|
4949
|
+
if (reasoningEffort !== void 0 || this.includeReasoning !== void 0 || this.reasoningMaxTokens || defaultReasoningEffort) {
|
|
4823
4950
|
body.reasoning = {};
|
|
4824
|
-
if (
|
|
4825
|
-
const effort =
|
|
4951
|
+
if (reasoningEffort) {
|
|
4952
|
+
const effort = reasoningEffort === "minimal" ? "low" : reasoningEffort;
|
|
4826
4953
|
body.reasoning.effort = effort;
|
|
4827
|
-
} else if (
|
|
4954
|
+
} else if (defaultReasoningEffort) {
|
|
4828
4955
|
body.reasoning.effort = defaultReasoningEffort;
|
|
4829
4956
|
}
|
|
4830
|
-
if (
|
|
4957
|
+
if (reasoningEffort === "none" || this.includeReasoning !== true) {
|
|
4831
4958
|
body.reasoning.exclude = true;
|
|
4832
4959
|
}
|
|
4833
4960
|
if (this.reasoningMaxTokens) {
|
|
@@ -4970,6 +5097,9 @@ If it's in another language, summarize in that language.
|
|
|
4970
5097
|
// xAI models
|
|
4971
5098
|
MODEL_XAI_GROK_LATEST,
|
|
4972
5099
|
MODEL_XAI_GROK_4_5,
|
|
5100
|
+
// DeepSeek models
|
|
5101
|
+
MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731,
|
|
5102
|
+
MODEL_OPENROUTER_DEEPSEEK_V4_FLASH,
|
|
4973
5103
|
// Other models
|
|
4974
5104
|
MODEL_MOONSHOTAI_KIMI_LATEST,
|
|
4975
5105
|
MODEL_MOONSHOTAI_KIMI_K3,
|
|
@@ -5701,11 +5831,12 @@ If it's in another language, summarize in that language.
|
|
|
5701
5831
|
openai: ["none", "minimal", "low", "medium", "high", "xhigh", "max"],
|
|
5702
5832
|
claude: ["low", "medium", "high", "xhigh", "max"],
|
|
5703
5833
|
gemini: ["minimal", "low", "medium", "high"],
|
|
5704
|
-
openrouter: ["none", "minimal", "low", "medium", "high"],
|
|
5834
|
+
openrouter: ["none", "minimal", "low", "medium", "high", "xhigh", "max"],
|
|
5705
5835
|
kimi: ["low", "high", "max"],
|
|
5706
5836
|
mistral: ["low", "medium", "high"],
|
|
5707
5837
|
plamo: ["none", "medium"],
|
|
5708
|
-
xai: ["none", "low", "medium", "high"]
|
|
5838
|
+
xai: ["none", "low", "medium", "high"],
|
|
5839
|
+
deepseek: ["none", "low", "high", "max"]
|
|
5709
5840
|
};
|
|
5710
5841
|
var ChatServiceFactory = class {
|
|
5711
5842
|
/**
|
|
@@ -5765,7 +5896,7 @@ If it's in another language, summarize in that language.
|
|
|
5765
5896
|
mcp: MCP_SUPPORTED_PROVIDERS.has(providerName),
|
|
5766
5897
|
jsonMode: JSON_MODE_SUPPORTED_PROVIDERS.has(providerName),
|
|
5767
5898
|
responseLength: true,
|
|
5768
|
-
reasoningEffort: providerName === "claude" && model ? [...getClaudeSupportedReasoningEfforts(model)] : providerName === "kimi" && model ? [...getKimiSupportedReasoningEfforts(model)] : REASONING_EFFORT_BY_PROVIDER[providerName] ?? []
|
|
5899
|
+
reasoningEffort: providerName === "claude" && model ? [...getClaudeSupportedReasoningEfforts(model)] : providerName === "kimi" && model ? [...getKimiSupportedReasoningEfforts(model)] : providerName === "deepseek" && model ? [...getDeepSeekSupportedReasoningEfforts(model)] : providerName === "openrouter" && model ? [...getOpenRouterSupportedReasoningEfforts(model)] : REASONING_EFFORT_BY_PROVIDER[providerName] ?? []
|
|
5769
5900
|
};
|
|
5770
5901
|
}
|
|
5771
5902
|
/**
|