@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.
Files changed (71) hide show
  1. package/README.ja.md +20 -8
  2. package/README.md +20 -8
  3. package/dist/cjs/constants/deepseek.d.ts +6 -0
  4. package/dist/cjs/constants/deepseek.d.ts.map +1 -1
  5. package/dist/cjs/constants/deepseek.js +47 -0
  6. package/dist/cjs/constants/deepseek.js.map +1 -1
  7. package/dist/cjs/constants/openrouter.d.ts +6 -0
  8. package/dist/cjs/constants/openrouter.d.ts.map +1 -1
  9. package/dist/cjs/constants/openrouter.js +66 -2
  10. package/dist/cjs/constants/openrouter.js.map +1 -1
  11. package/dist/cjs/services/ChatServiceFactory.d.ts.map +1 -1
  12. package/dist/cjs/services/ChatServiceFactory.js +9 -2
  13. package/dist/cjs/services/ChatServiceFactory.js.map +1 -1
  14. package/dist/cjs/services/providers/ChatServiceProvider.d.ts +7 -2
  15. package/dist/cjs/services/providers/ChatServiceProvider.d.ts.map +1 -1
  16. package/dist/cjs/services/providers/deepseek/DeepSeekChatService.d.ts +2 -1
  17. package/dist/cjs/services/providers/deepseek/DeepSeekChatService.d.ts.map +1 -1
  18. package/dist/cjs/services/providers/deepseek/DeepSeekChatService.js +9 -2
  19. package/dist/cjs/services/providers/deepseek/DeepSeekChatService.js.map +1 -1
  20. package/dist/cjs/services/providers/deepseek/DeepSeekChatServiceProvider.d.ts.map +1 -1
  21. package/dist/cjs/services/providers/deepseek/DeepSeekChatServiceProvider.js +1 -1
  22. package/dist/cjs/services/providers/deepseek/DeepSeekChatServiceProvider.js.map +1 -1
  23. package/dist/cjs/services/providers/geminiNano/GeminiNanoChatService.d.ts +1 -1
  24. package/dist/cjs/services/providers/geminiNano/GeminiNanoChatService.js +2 -2
  25. package/dist/cjs/services/providers/geminiNano/GeminiNanoChatService.js.map +1 -1
  26. package/dist/cjs/services/providers/openai/openaiRequestBuilder.d.ts.map +1 -1
  27. package/dist/cjs/services/providers/openai/openaiRequestBuilder.js +8 -0
  28. package/dist/cjs/services/providers/openai/openaiRequestBuilder.js.map +1 -1
  29. package/dist/cjs/services/providers/openrouter/OpenRouterChatService.d.ts +2 -1
  30. package/dist/cjs/services/providers/openrouter/OpenRouterChatService.d.ts.map +1 -1
  31. package/dist/cjs/services/providers/openrouter/OpenRouterChatService.js +7 -8
  32. package/dist/cjs/services/providers/openrouter/OpenRouterChatService.js.map +1 -1
  33. package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts.map +1 -1
  34. package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.js +3 -0
  35. package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.js.map +1 -1
  36. package/dist/esm/constants/deepseek.d.ts +6 -0
  37. package/dist/esm/constants/deepseek.d.ts.map +1 -1
  38. package/dist/esm/constants/deepseek.js +43 -0
  39. package/dist/esm/constants/deepseek.js.map +1 -1
  40. package/dist/esm/constants/openrouter.d.ts +6 -0
  41. package/dist/esm/constants/openrouter.d.ts.map +1 -1
  42. package/dist/esm/constants/openrouter.js +61 -0
  43. package/dist/esm/constants/openrouter.js.map +1 -1
  44. package/dist/esm/services/ChatServiceFactory.d.ts.map +1 -1
  45. package/dist/esm/services/ChatServiceFactory.js +9 -2
  46. package/dist/esm/services/ChatServiceFactory.js.map +1 -1
  47. package/dist/esm/services/providers/ChatServiceProvider.d.ts +7 -2
  48. package/dist/esm/services/providers/ChatServiceProvider.d.ts.map +1 -1
  49. package/dist/esm/services/providers/deepseek/DeepSeekChatService.d.ts +2 -1
  50. package/dist/esm/services/providers/deepseek/DeepSeekChatService.d.ts.map +1 -1
  51. package/dist/esm/services/providers/deepseek/DeepSeekChatService.js +10 -3
  52. package/dist/esm/services/providers/deepseek/DeepSeekChatService.js.map +1 -1
  53. package/dist/esm/services/providers/deepseek/DeepSeekChatServiceProvider.d.ts.map +1 -1
  54. package/dist/esm/services/providers/deepseek/DeepSeekChatServiceProvider.js +1 -1
  55. package/dist/esm/services/providers/deepseek/DeepSeekChatServiceProvider.js.map +1 -1
  56. package/dist/esm/services/providers/geminiNano/GeminiNanoChatService.d.ts +1 -1
  57. package/dist/esm/services/providers/geminiNano/GeminiNanoChatService.js +2 -2
  58. package/dist/esm/services/providers/geminiNano/GeminiNanoChatService.js.map +1 -1
  59. package/dist/esm/services/providers/openai/openaiRequestBuilder.d.ts.map +1 -1
  60. package/dist/esm/services/providers/openai/openaiRequestBuilder.js +8 -0
  61. package/dist/esm/services/providers/openai/openaiRequestBuilder.js.map +1 -1
  62. package/dist/esm/services/providers/openrouter/OpenRouterChatService.d.ts +2 -1
  63. package/dist/esm/services/providers/openrouter/OpenRouterChatService.d.ts.map +1 -1
  64. package/dist/esm/services/providers/openrouter/OpenRouterChatService.js +8 -9
  65. package/dist/esm/services/providers/openrouter/OpenRouterChatService.js.map +1 -1
  66. package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts.map +1 -1
  67. package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.js +4 -1
  68. package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.js.map +1 -1
  69. package/dist/umd/aituber-onair-chat.js +145 -14
  70. package/dist/umd/aituber-onair-chat.min.js +7 -7
  71. 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
- void 0,
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 138+ with Prompt API enabled is required."
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 = getDefaultReasoningEffort(model);
4822
- if (this.reasoning_effort !== void 0 || this.includeReasoning !== void 0 || this.reasoningMaxTokens || defaultReasoningEffort) {
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 (this.reasoning_effort && this.reasoning_effort !== "none") {
4825
- const effort = this.reasoning_effort === "minimal" ? "low" : this.reasoning_effort;
4951
+ if (reasoningEffort) {
4952
+ const effort = reasoningEffort === "minimal" ? "low" : reasoningEffort;
4826
4953
  body.reasoning.effort = effort;
4827
- } else if (this.reasoning_effort === void 0 && defaultReasoningEffort) {
4954
+ } else if (defaultReasoningEffort) {
4828
4955
  body.reasoning.effort = defaultReasoningEffort;
4829
4956
  }
4830
- if (this.reasoning_effort === "none" || this.includeReasoning !== true) {
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
  /**