@aituber-onair/chat 0.52.0 → 0.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/README.ja.md +27 -20
  2. package/README.md +27 -20
  3. package/dist/cjs/constants/deepseek.d.ts +3 -0
  4. package/dist/cjs/constants/deepseek.d.ts.map +1 -1
  5. package/dist/cjs/constants/deepseek.js +13 -1
  6. package/dist/cjs/constants/deepseek.js.map +1 -1
  7. package/dist/cjs/constants/openrouter.d.ts +7 -0
  8. package/dist/cjs/constants/openrouter.d.ts.map +1 -1
  9. package/dist/cjs/constants/openrouter.js +71 -2
  10. package/dist/cjs/constants/openrouter.js.map +1 -1
  11. package/dist/cjs/constants/sakana.d.ts +3 -0
  12. package/dist/cjs/constants/sakana.d.ts.map +1 -1
  13. package/dist/cjs/constants/sakana.js +12 -2
  14. package/dist/cjs/constants/sakana.js.map +1 -1
  15. package/dist/cjs/constants/zai.d.ts +3 -0
  16. package/dist/cjs/constants/zai.d.ts.map +1 -1
  17. package/dist/cjs/constants/zai.js +32 -3
  18. package/dist/cjs/constants/zai.js.map +1 -1
  19. package/dist/cjs/services/providers/ChatServiceProvider.d.ts +3 -3
  20. package/dist/cjs/services/providers/ChatServiceProvider.d.ts.map +1 -1
  21. package/dist/cjs/services/providers/deepseek/DeepSeekChatServiceProvider.d.ts +2 -2
  22. package/dist/cjs/services/providers/deepseek/DeepSeekChatServiceProvider.d.ts.map +1 -1
  23. package/dist/cjs/services/providers/deepseek/DeepSeekChatServiceProvider.js +16 -7
  24. package/dist/cjs/services/providers/deepseek/DeepSeekChatServiceProvider.js.map +1 -1
  25. package/dist/cjs/services/providers/openai/OpenAIChatService.d.ts +2 -1
  26. package/dist/cjs/services/providers/openai/OpenAIChatService.d.ts.map +1 -1
  27. package/dist/cjs/services/providers/openai/OpenAIChatService.js +3 -1
  28. package/dist/cjs/services/providers/openai/OpenAIChatService.js.map +1 -1
  29. package/dist/cjs/services/providers/openai/openaiRequestBuilder.d.ts +2 -1
  30. package/dist/cjs/services/providers/openai/openaiRequestBuilder.d.ts.map +1 -1
  31. package/dist/cjs/services/providers/openai/openaiRequestBuilder.js +4 -1
  32. package/dist/cjs/services/providers/openai/openaiRequestBuilder.js.map +1 -1
  33. package/dist/cjs/services/providers/openrouter/OpenRouterChatService.d.ts.map +1 -1
  34. package/dist/cjs/services/providers/openrouter/OpenRouterChatService.js +6 -1
  35. package/dist/cjs/services/providers/openrouter/OpenRouterChatService.js.map +1 -1
  36. package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts.map +1 -1
  37. package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.js +7 -0
  38. package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.js.map +1 -1
  39. package/dist/cjs/services/providers/sakana/SakanaChatService.d.ts +3 -1
  40. package/dist/cjs/services/providers/sakana/SakanaChatService.d.ts.map +1 -1
  41. package/dist/cjs/services/providers/sakana/SakanaChatService.js +2 -2
  42. package/dist/cjs/services/providers/sakana/SakanaChatService.js.map +1 -1
  43. package/dist/cjs/services/providers/sakana/SakanaChatServiceProvider.d.ts +2 -2
  44. package/dist/cjs/services/providers/sakana/SakanaChatServiceProvider.d.ts.map +1 -1
  45. package/dist/cjs/services/providers/sakana/SakanaChatServiceProvider.js +22 -7
  46. package/dist/cjs/services/providers/sakana/SakanaChatServiceProvider.js.map +1 -1
  47. package/dist/cjs/services/providers/zai/ZAIChatService.d.ts.map +1 -1
  48. package/dist/cjs/services/providers/zai/ZAIChatService.js +1 -1
  49. package/dist/cjs/services/providers/zai/ZAIChatService.js.map +1 -1
  50. package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.d.ts.map +1 -1
  51. package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.js +24 -14
  52. package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.js.map +1 -1
  53. package/dist/esm/constants/deepseek.d.ts +3 -0
  54. package/dist/esm/constants/deepseek.d.ts.map +1 -1
  55. package/dist/esm/constants/deepseek.js +11 -0
  56. package/dist/esm/constants/deepseek.js.map +1 -1
  57. package/dist/esm/constants/openrouter.d.ts +7 -0
  58. package/dist/esm/constants/openrouter.d.ts.map +1 -1
  59. package/dist/esm/constants/openrouter.js +69 -0
  60. package/dist/esm/constants/openrouter.js.map +1 -1
  61. package/dist/esm/constants/sakana.d.ts +3 -0
  62. package/dist/esm/constants/sakana.d.ts.map +1 -1
  63. package/dist/esm/constants/sakana.js +10 -1
  64. package/dist/esm/constants/sakana.js.map +1 -1
  65. package/dist/esm/constants/zai.d.ts +3 -0
  66. package/dist/esm/constants/zai.d.ts.map +1 -1
  67. package/dist/esm/constants/zai.js +30 -2
  68. package/dist/esm/constants/zai.js.map +1 -1
  69. package/dist/esm/services/providers/ChatServiceProvider.d.ts +3 -3
  70. package/dist/esm/services/providers/ChatServiceProvider.d.ts.map +1 -1
  71. package/dist/esm/services/providers/deepseek/DeepSeekChatServiceProvider.d.ts +2 -2
  72. package/dist/esm/services/providers/deepseek/DeepSeekChatServiceProvider.d.ts.map +1 -1
  73. package/dist/esm/services/providers/deepseek/DeepSeekChatServiceProvider.js +17 -8
  74. package/dist/esm/services/providers/deepseek/DeepSeekChatServiceProvider.js.map +1 -1
  75. package/dist/esm/services/providers/openai/OpenAIChatService.d.ts +2 -1
  76. package/dist/esm/services/providers/openai/OpenAIChatService.d.ts.map +1 -1
  77. package/dist/esm/services/providers/openai/OpenAIChatService.js +3 -1
  78. package/dist/esm/services/providers/openai/OpenAIChatService.js.map +1 -1
  79. package/dist/esm/services/providers/openai/openaiRequestBuilder.d.ts +2 -1
  80. package/dist/esm/services/providers/openai/openaiRequestBuilder.d.ts.map +1 -1
  81. package/dist/esm/services/providers/openai/openaiRequestBuilder.js +4 -1
  82. package/dist/esm/services/providers/openai/openaiRequestBuilder.js.map +1 -1
  83. package/dist/esm/services/providers/openrouter/OpenRouterChatService.d.ts.map +1 -1
  84. package/dist/esm/services/providers/openrouter/OpenRouterChatService.js +7 -2
  85. package/dist/esm/services/providers/openrouter/OpenRouterChatService.js.map +1 -1
  86. package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts.map +1 -1
  87. package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.js +8 -1
  88. package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.js.map +1 -1
  89. package/dist/esm/services/providers/sakana/SakanaChatService.d.ts +3 -1
  90. package/dist/esm/services/providers/sakana/SakanaChatService.d.ts.map +1 -1
  91. package/dist/esm/services/providers/sakana/SakanaChatService.js +2 -2
  92. package/dist/esm/services/providers/sakana/SakanaChatService.js.map +1 -1
  93. package/dist/esm/services/providers/sakana/SakanaChatServiceProvider.d.ts +2 -2
  94. package/dist/esm/services/providers/sakana/SakanaChatServiceProvider.d.ts.map +1 -1
  95. package/dist/esm/services/providers/sakana/SakanaChatServiceProvider.js +23 -8
  96. package/dist/esm/services/providers/sakana/SakanaChatServiceProvider.js.map +1 -1
  97. package/dist/esm/services/providers/zai/ZAIChatService.d.ts.map +1 -1
  98. package/dist/esm/services/providers/zai/ZAIChatService.js +2 -2
  99. package/dist/esm/services/providers/zai/ZAIChatService.js.map +1 -1
  100. package/dist/esm/services/providers/zai/ZAIChatServiceProvider.d.ts.map +1 -1
  101. package/dist/esm/services/providers/zai/ZAIChatServiceProvider.js +25 -15
  102. package/dist/esm/services/providers/zai/ZAIChatServiceProvider.js.map +1 -1
  103. package/dist/umd/aituber-onair-chat.js +200 -27
  104. package/dist/umd/aituber-onair-chat.min.js +9 -9
  105. package/package.json +1 -1
package/README.ja.md CHANGED
@@ -643,17 +643,20 @@ const openRouterService = ChatServiceFactory.createChatService('openrouter', {
643
643
 
644
644
  **OpenRouterの重要な注意事項:**
645
645
  - `openrouter/auto` と `openrouter/auto-beta` では、ルーティング先のreasoningモデルが可視テキストの生成前に出力予算を使い切ることを避けるため、`responseLength` 由来のトークン制限を自動的に無効化します。明示的に指定した `maxTokens` はそのまま使用します。
646
- - `gpt-oss-20b:free` と `z-ai/glm-5.2` では、すべてのトークン制限を引き続き無効化します。これらのモデルと動的Routerでは、応答の長さをプロンプトで指示してください(例:「40文字以内で回答してください」)。
646
+ - `gpt-oss-20b:free`、`z-ai/glm-5.2`、`z-ai/glm-5.3`、`z-ai/glm-5.3-flash` では、すべてのトークン制限を無効化します。これらのモデルと動的Routerでは、応答の長さをプロンプトで指示してください(例:「40文字以内で回答してください」)。
647
647
  - 無料階層にはレート制限があります(20リクエスト/分)
648
648
  - 無料モデル判定はモデルID末尾の `:free` で行います(動的取得した `:free` も同様にレート制限対象)
649
649
  - `openrouter/auto-beta` はタスクを判定するBetaルーターです。リクエストごとにモデルを選択し、そのモデルの料金が適用されます。選択結果はレスポンスの `model` またはOpenRouter Activityで確認できます。
650
650
  - `openrouter/fusion` は複数モデルのパネルとジャッジモデルを実行します。単一モデルの固定単価ではなく、内部で使われた各モデル呼び出しと web search/fetch 利用分の合算で課金されます。
651
651
  - `z-ai/glm-5.2` は OpenRouter reasoning も `none` にします。
652
+ - `z-ai/glm-5.3` と `z-ai/glm-5.3-flash` はreasoning必須です。packageは最小の`low`を選び、reasoning本文を除外してチャット応答性を優先します。
653
+ - 新たに追加した `qwen/qwen3.8-flash`、`moonshotai/kimi-k2.6`、`anthropic/claude-sonnet-5`、`deepseek/deepseek-v4-flash-vision-exp` は、任意reasoningを`none`で開始します。
652
654
  - OpenRouterのreasoning無効化には `reasoning.effort: 'none'` を送ります。`exclude: true` はreasoning内容を返すかどうかだけを制御し、reasoning自体は無効化しません。
653
- - DeepSeek V4モデルは、再現可能なバージョンを選べるようOpenRouterのデフォルトではなく明示的なテキスト専用選択肢にしています。すべて応答性重視で`none`がデフォルトです:
655
+ - DeepSeek V4モデルは、再現可能なバージョンを選べるようOpenRouterのデフォルトではなく明示的な選択肢にしています。すべて応答性重視で`none`がデフォルトです:
654
656
  - `deepseek/deepseek-v4-flash-0731`: 現行の固定0731スナップショット。`none`, `low`, `high`, `max`に対応。
655
657
  - `deepseek/deepseek-v4-flash`: 旧無印0423スナップショット。`none`, `high`, `xhigh`に対応。
656
658
  - `deepseek/deepseek-v4-pro-0813`: 固定Proスナップショット。`none`, `high`, `xhigh`に対応。
659
+ - `deepseek/deepseek-v4-flash-vision-exp`: 画像対応の実験モデル。`none`, `low`, `high`, `max`に対応。
657
660
  - コーディング特化モデルはデフォルトではなく明示的な選択肢です。`kwaipilot/kat-coder-air-v2.5` と `kwaipilot/kat-coder-pro-v2.5` はテキスト専用です。
658
661
  - `moonshotai/kimi-k3` の可用性は上流キャパシティに依存し、混雑時はOpenRouterから429レスポンスが返る場合があります。
659
662
  - `x-ai/grok-4.5` には現在のEU制限を含む地域別の可用性制限があります。`~x-ai/grok-latest` がGrok 4.5へ解決される場合も同じ制限を受けます。
@@ -667,16 +670,17 @@ const openRouterService = ChatServiceFactory.createChatService('openrouter', {
667
670
  - `openai/gpt-5.1-codex`, `openai/gpt-5-mini`, `openai/gpt-5-nano`
668
671
  - `openai/gpt-4o`, `openai/gpt-4.1-mini`, `openai/gpt-4.1-nano`
669
672
  - `~anthropic/claude-sonnet-latest`, `~anthropic/claude-haiku-latest`
670
- - `anthropic/claude-fable-5`, `anthropic/claude-opus-5`
673
+ - `anthropic/claude-fable-5`, `anthropic/claude-sonnet-5`, `anthropic/claude-opus-5`, `anthropic/claude-opus-4.8`
671
674
  - `anthropic/claude-opus-4`, `anthropic/claude-sonnet-4`
672
675
  - `anthropic/claude-haiku-4.5`
673
676
  - `~google/gemini-pro-latest`, `~google/gemini-flash-latest`
674
677
  - `google/gemini-3.7-flash`, `google/gemini-3.6-flash`, `google/gemini-3.5-flash-lite`
675
678
  - `google/gemini-2.5-pro`, `google/gemini-2.5-flash`, `google/gemini-2.5-flash-lite-preview-09-2025`
676
- - `z-ai/glm-5.2`, `z-ai/glm-4.7-flash`, `z-ai/glm-4.5-air`
679
+ - `z-ai/glm-5.3`, `z-ai/glm-5.3-flash`, `z-ai/glm-5.2`, `z-ai/glm-4.7-flash`, `z-ai/glm-4.5-air`
677
680
  - `~x-ai/grok-latest`, `x-ai/grok-4.6`, `x-ai/grok-4.5`
678
- - `deepseek/deepseek-v4-flash-0731`, `deepseek/deepseek-v4-flash`, `deepseek/deepseek-v4-pro-0813`
679
- - `~moonshotai/kimi-latest`, `moonshotai/kimi-k3`, `moonshotai/kimi-k2.7-code`, `moonshotai/kimi-k2.5`
681
+ - `deepseek/deepseek-v4-flash-0731`, `deepseek/deepseek-v4-flash`, `deepseek/deepseek-v4-pro-0813`, `deepseek/deepseek-v4-flash-vision-exp`
682
+ - `qwen/qwen3.8-flash`
683
+ - `~moonshotai/kimi-latest`, `moonshotai/kimi-k3`, `moonshotai/kimi-k2.7-code`, `moonshotai/kimi-k2.6`, `moonshotai/kimi-k2.5`
680
684
  - `kwaipilot/kat-coder-air-v2.5`, `kwaipilot/kat-coder-pro-v2.5`
681
685
 
682
686
  **OpenRouter freeモデルの動的リフレッシュ**
@@ -712,22 +716,22 @@ console.log(result.fetchedAt); // Date.now() のタイムスタンプ
712
716
  ```typescript
713
717
  const zaiService = ChatServiceFactory.createChatService('zai', {
714
718
  apiKey: process.env.ZAI_API_KEY,
715
- model: 'glm-5.2',
716
- reasoning_effort: 'none', // package既定値: thinkingを省略して低遅延化
719
+ model: 'glm-5.3',
720
+ reasoning_effort: 'low', // package既定値: 最小のthinking
717
721
  responseLength: 'short',
718
- visionModel: 'glm-4.6V-Flash', // 任意: ビジョン対応モデル
722
+ visionModel: 'glm-5.3-flash', // 任意: ビジョン対応モデル
719
723
  responseFormat: { type: 'json_object' } // 任意: JSONモード
720
724
  });
721
725
  ```
722
726
 
723
727
  注意:
724
728
  - Z.aiはOpenAI互換のChat Completionsを利用します。
725
- - テキスト対応モデル: `glm-5.2`, `glm-5.1`, `glm-5`, `glm-5-turbo`, `glm-4.7`, `glm-4.7-FlashX`, `glm-4.7-Flash`, `glm-4.6`
726
- - ビジョン対応モデル: `glm-5v-turbo`, `glm-4.6V`, `glm-4.6V-FlashX`, `glm-4.6V-Flash`
729
+ - テキスト対応モデル: `glm-5.3`, `glm-5.2`, `glm-5.1`, `glm-5`, `glm-5-turbo`, `glm-4.7`, `glm-4.7-FlashX`, `glm-4.7-Flash`, `glm-4.6`
730
+ - ビジョン対応モデル: `glm-5.3-flash`, `glm-5v-turbo`, `glm-4.6V`, `glm-4.6V-FlashX`, `glm-4.6V-Flash`
731
+ - GLM-5.3とGLM-5.3 Flashはthinking常時有効で、`low`, `high`, `max`のみ対応します。packageは`low`を既定値とし、`thinking.type: 'disabled'`が指定されても有効状態を維持します。また、チャットの遅延とコストを抑えるため、過去ターンのthinkingはデフォルトでクリアします。
727
732
  - GLM-5.2では`reasoning_effort: 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max'`を公開します。package既定値は低遅延チャット向けの`none`で、thinkingを無効化します。
728
733
  - Z.ai側の実効tierは3段階です。`none`/`minimal`は`none`、`low`/`medium`/`high`は`high`、`xhigh`/`max`は`max`へpackage側で正規化して送信します。
729
734
  - `reasoning_effort`を省略した場合は、従来の明示的な`thinking`設定も利用できます。両方を指定した場合は`reasoning_effort`を優先します。
730
- - GLM-5.3はZ.aiの一般APIが現在「coming soon」と案内されているため、まだ対応一覧に加えていません。Coding Plan限定の利用経路は、このproviderの設定経路とは異なります。
731
735
 
732
736
  #### xAI(Grok)
733
737
 
@@ -796,11 +800,12 @@ const deepSeekService = ChatServiceFactory.createChatService('deepseek', {
796
800
 
797
801
  注意:
798
802
  - DeepSeekはOpenAI互換のChat Completions(`https://api.deepseek.com/chat/completions`)を利用します。
799
- - 推奨モデルは`deepseek-v4-flash`(デフォルト)と`deepseek-v4-pro`です。
803
+ - 推奨テキストモデルは`deepseek-v4-flash`(デフォルト)と`deepseek-v4-pro`です。画像入力には実験モデル`deepseek-v4-flash-vision-exp`を明示選択できます。
800
804
  - legacy alias の`deepseek-chat`と`deepseek-reasoner`は互換用にexportしていますが、DeepSeek側で非推奨かつ2026-07-24廃止予定です。
801
805
  - `openai-compatible`にendpoint/modelを直接指定して使うこともできますが、`deepseek` providerならendpointとデフォルトモデル指定が簡単です。
802
806
  - `deepseek-v4-flash`は`reasoning_effort: 'none' | 'low' | 'high' | 'max'`に対応します。packageのデフォルトは応答性重視の`none`で、`thinking: { type: 'disabled' }`へ変換します。それ以外はthinkingを有効化してDeepSeekの`reasoning_effort`として送信します。
803
807
  - `deepseek-v4-pro`では`none`, `high`, `max`を公開します。DeepSeek側で`low`が`high`へ変換されるため、packageでも明示的に正規化します。
808
+ - `deepseek-v4-flash-vision-exp`は同じChat Completions画像形式を使い、ビジョンチャットでもthinkingはデフォルト`none`です。
804
809
  - ThinkingとTool Callingの併用は、DeepSeekがtool turn間での`reasoning_content`再送を要求し、thinking時に通常の`tool_choice`形式を受け付けないため、現時点では明示的に拒否します。デフォルトの`none`ではTool Callingを利用できます。
805
810
 
806
811
  #### Mistral
@@ -843,14 +848,16 @@ const mistralReasoningService = ChatServiceFactory.createChatService(
843
848
 
844
849
  ```typescript
845
850
  const sakanaService = ChatServiceFactory.createChatService('sakana', {
846
- apiKey: process.env.FUGU_API_KEY,
847
- model: 'fugu',
851
+ apiKey: process.env.SAKANA_API_KEY,
852
+ model: 'sakana-namazu',
853
+ thinking: { type: 'disabled' }, // Namazuのpackageデフォルト
848
854
  });
849
855
  ```
850
856
 
851
857
  注意:
852
858
  - Sakana AI Fuguは`https://api.sakana.ai/v1/chat/completions`のOpenAI互換Chat Completionsを利用します。
853
- - 対応モデル: `fugu`(デフォルト)と現行の正確なFugu Ultra ID `fugu-ultra-v1.1`。`fugu-ultra` aliasと旧日付IDは互換用にexportを残します。
859
+ - 対応モデル: `fugu`(デフォルト)、`fugu-ultra-v1.1`、日本語特化の`sakana-namazu`。`fugu-ultra` aliasと旧日付IDは互換用にexportを残します。
860
+ - Sakana Namazuは同じChat Completions endpointで画像入力に対応します。応答性重視で`chat_template_kwargs`経由のthinkingをデフォルト無効とし、`thinking: { type: 'enabled' }`で有効化できます。
854
861
  - Sakanaは新しいChat Completions連携では`max_completion_tokens`を推奨していますが、legacyな`max_tokens`も受け付けます。このproviderでは既存OpenAI互換providerの挙動に合わせて`max_tokens`を使います。
855
862
  - Sakanaは最高性能にはResponses APIを推奨していますが、このproviderはpackageのOpenAI互換chat経路に合わせてChat Completionsを利用します。
856
863
  - ブラウザから直接呼ぶ場合、Sakana側がoriginに対してCORSを許可していないと失敗します。ブラウザ単体ではなく、Node.js、backend/serverless proxy、または`examples/node-basic/sakana-example.js`を利用してください。
@@ -1283,13 +1290,13 @@ vision、JSON mode、reasoning 設定を使うべきかを provider 固有ロジ
1283
1290
  - **OpenAI-Compatible**: OpenAI互換 endpoint 経由で任意のローカル/セルフホスト model ID を利用できます。vision 対応可否は endpoint ごとに差があるため、原則 `unknown` 扱いです
1284
1291
  - **Gemini**: Gemini 3.7 Flash、Gemini 3.6 Flash、Gemini 3.5 Flash、Gemini 3.5 Flash-Lite、Gemini 3.1 Flash-Lite、Gemini 3.1 Pro Preview、Gemini 3 Flash Preview、Gemini 2.5 Pro、Gemini 2.5 Flash、Gemini 2.5 Flash Lite、Gemma 4 31B IT、Gemma 4 26B A4B IT などの推奨モデルをサポート。`minimal` 非対応の Gemini 3.7 Flash と Gemini 3 Pro は low thinking、その他の Gemini 3 Flash は minimal thinking をチャット用途向けの既定値にします。Gemini 3.1 Flash-Lite Preview、Gemini 3 Pro Preview、Gemini 2.5 Flash Lite Preview などの lifecycle 上 deprecated なモデルは明示指定用に export を残しています
1285
1292
  - **Claude**: Claude Fable 5, Claude Opus 5, Claude Sonnet 5, Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, Claude Opus 4.5, Claude Sonnet 4.6, Claude Sonnet 4.5, Claude Haiku 4.5 をサポート。調整可能な`reasoning_effort`は対応モデルに限り`output_config.effort`として送信し、refusal metadataは終端completionとして保持します
1286
- - **OpenRouter**: OpenRouterのキュレーション済みモデル一覧(OpenAI/Claude/Gemini/Z.ai/xAI/Kimi/DeepSeek/Kwaipilot)をサポート。モデルIDはOpenRouter節を参照してください
1287
- - **Z.ai**: GLM-5.2/GLM-5.1/GLM-5/GLM-5-Turbo(テキスト)、GLM-4.7/4.6(テキスト)、GLM-5V-Turbo/GLM-4.6V系(ビジョン)をサポート。GLM-5.2はモデル別`reasoning_effort`を公開し、低遅延チャット向けに`none`を既定値にします
1293
+ - **OpenRouter**: OpenAI/Claude/Gemini/Z.ai/xAI/Kimi/DeepSeek/Qwen/Kwaipilotのキュレーション済み一覧をサポート。GLM-5.3、Qwen3.8 Flash、DeepSeek V4 Flash Vision Exp、Claude Sonnet 5/Opus 4.8、Kimi K2.6も含みます
1294
+ - **Z.ai**: GLM-5.3/GLM-5.2/GLM-5.1/GLM-5/GLM-5-TurboとGLM-4.7/4.6のテキストモデル、GLM-5.3-Flash/GLM-5V-Turbo/GLM-4.6V系のビジョンモデルをサポート。GLM-5.3はthinking必須で`low`、GLM-5.2は`none`を既定値にします
1288
1295
  - **xAI**: Grok 4.6、Grok 4.5、Grok 4.3、Grok 4.20 Reasoning/Non-Reasoningをvision対応でサポート。低遅延のデフォルトは`reasoning_effort: 'none'`のGrok 4.3です
1289
1296
  - **Kimi**: Kimi K3(`kimi-k3`、`low` / `high` / `max` reasoning、デフォルトは `max`)、Kimi K2.7 Code(`kimi-k2.7-code`)、Kimi K2.7 Code HighSpeed(`kimi-k2.7-code-highspeed`)、Kimi K2.6(`kimi-k2.6`、デフォルト)、Kimi K2.5(`kimi-k2.5`、いずれもビジョン対応)をサポート
1290
- - **DeepSeek**: DeepSeek V4 Flash(`deepseek-v4-flash`)と DeepSeek V4 Pro(`deepseek-v4-pro`)をOpenAI互換Chat Completions経由でサポート。低遅延チャット向けにthinkingはデフォルト無効で、モデル別の`reasoning_effort`から有効化できます。legacy alias の`deepseek-chat`と`deepseek-reasoner`はDeepSeek側で非推奨です
1297
+ - **DeepSeek**: DeepSeek V4 Flash、V4 Pro、明示選択用の実験ビジョンモデル`deepseek-v4-flash-vision-exp`をOpenAI互換Chat Completions経由でサポート。低遅延チャット向けにthinkingはデフォルト無効です
1291
1298
  - **Mistral**: Ministral 3系(`ministral-3b-2512`, `ministral-8b-2512`, `ministral-14b-2512`)と現行generalist modelをサポートし、streamingとvisionにも対応。adjustable `reasoning_effort`は対応モデルにだけ送信します
1292
- - **Sakana AI**: Fugu(`fugu`)と Fugu Ultra(`fugu-ultra-v1.1`)をOpenAI互換Chat Completions経由でサポート
1299
+ - **Sakana AI**: Fugu、Fugu Ultra、日本語特化・ビジョン対応のSakana Namazu(`sakana-namazu`)をOpenAI互換Chat Completions経由でサポート。Namazuのthinkingはデフォルト無効です
1293
1300
  - **PLaMo**: PLaMo 3.0 Prime(`plamo-3.0-prime`, デフォルト)をOpenAI互換Chat Completions経由でサポートし、廃止予定の2.2定数は互換用にexportを残します
1294
1301
  - **Gemini Nano**: Chromeブラウザ内蔵AI(LanguageModel API)。デバイス上で動作し、APIキー不要。Webページでは対応するデスクトップ端末上のChrome 148以降が必要で、Chromeフラグの設定は不要。非ストリーミング、ビジョン非対応
1295
1302
 
package/README.md CHANGED
@@ -661,17 +661,20 @@ const openRouterService = ChatServiceFactory.createChatService('openrouter', {
661
661
 
662
662
  **Important Notes for OpenRouter:**
663
663
  - Automatic token limits from `responseLength` are disabled for `openrouter/auto` and `openrouter/auto-beta` because a routed reasoning model can spend the entire output budget before emitting visible content. An explicitly supplied `maxTokens` is still honored.
664
- - All token limits remain disabled for `gpt-oss-20b:free` and `z-ai/glm-5.2`. For these models and the dynamic routers, control response length with prompt instructions (e.g., "Please respond in 40 characters or less").
664
+ - All token limits remain disabled for `gpt-oss-20b:free`, `z-ai/glm-5.2`, `z-ai/glm-5.3`, and `z-ai/glm-5.3-flash`. For these models and the dynamic routers, control response length with prompt instructions (e.g., "Please respond in 40 characters or less").
665
665
  - Free tier has rate limits (20 requests/minute)
666
666
  - Free tier detection is based on the model ID suffix `:free` (dynamic `:free` IDs are also rate-limited)
667
667
  - `openrouter/auto-beta` is a Beta task-aware router. It chooses a model for each request and charges that routed model's rate; inspect the response `model` field or OpenRouter Activity to see the selection.
668
668
  - `openrouter/fusion` runs a multi-model panel plus a judge model; OpenRouter bills the sum of the underlying model calls and any enabled web search/fetch usage, not a single fixed model rate.
669
669
  - For `z-ai/glm-5.2`, OpenRouter reasoning also defaults to `none`.
670
+ - `z-ai/glm-5.3` and `z-ai/glm-5.3-flash` require reasoning. The package selects the minimum supported `low` effort and excludes reasoning text for responsive chat.
671
+ - Optional reasoning defaults to `none` for the newly curated `qwen/qwen3.8-flash`, `moonshotai/kimi-k2.6`, `anthropic/claude-sonnet-5`, and `deepseek/deepseek-v4-flash-vision-exp` models.
670
672
  - OpenRouter reasoning uses `reasoning.effort: 'none'` to disable reasoning. `exclude: true` only controls whether reasoning content is returned; it does not disable reasoning by itself.
671
- - DeepSeek V4 models are explicit text-only options rather than the OpenRouter default so applications can choose a reproducible version. All default to `none` for responsive chat:
673
+ - DeepSeek V4 models are explicit options rather than the OpenRouter default so applications can choose a reproducible version. All default to `none` for responsive chat:
672
674
  - `deepseek/deepseek-v4-flash-0731`: current fixed 0731 snapshot; supports `none`, `low`, `high`, and `max`.
673
675
  - `deepseek/deepseek-v4-flash`: older unversioned 0423 snapshot; supports `none`, `high`, and `xhigh`.
674
676
  - `deepseek/deepseek-v4-pro-0813`: fixed Pro snapshot; supports `none`, `high`, and `xhigh`.
677
+ - `deepseek/deepseek-v4-flash-vision-exp`: experimental image-capable model; supports `none`, `low`, `high`, and `max`.
675
678
  - Specialized coding models are explicit options rather than defaults. This includes `kwaipilot/kat-coder-air-v2.5` and `kwaipilot/kat-coder-pro-v2.5`, which are text-only.
676
679
  - `moonshotai/kimi-k3` availability depends on upstream capacity; OpenRouter may return 429 responses when capacity is constrained.
677
680
  - `x-ai/grok-4.5` has region-specific availability, including a current EU limitation. `~x-ai/grok-latest` inherits those limits when it resolves to Grok 4.5.
@@ -685,16 +688,17 @@ const openRouterService = ChatServiceFactory.createChatService('openrouter', {
685
688
  - `openai/gpt-5.1-codex`, `openai/gpt-5-mini`, `openai/gpt-5-nano`
686
689
  - `openai/gpt-4o`, `openai/gpt-4.1-mini`, `openai/gpt-4.1-nano`
687
690
  - `~anthropic/claude-sonnet-latest`, `~anthropic/claude-haiku-latest`
688
- - `anthropic/claude-fable-5`, `anthropic/claude-opus-5`
691
+ - `anthropic/claude-fable-5`, `anthropic/claude-sonnet-5`, `anthropic/claude-opus-5`, `anthropic/claude-opus-4.8`
689
692
  - `anthropic/claude-opus-4`, `anthropic/claude-sonnet-4`
690
693
  - `anthropic/claude-haiku-4.5`
691
694
  - `~google/gemini-pro-latest`, `~google/gemini-flash-latest`
692
695
  - `google/gemini-3.7-flash`, `google/gemini-3.6-flash`, `google/gemini-3.5-flash-lite`
693
696
  - `google/gemini-2.5-pro`, `google/gemini-2.5-flash`, `google/gemini-2.5-flash-lite-preview-09-2025`
694
- - `z-ai/glm-5.2`, `z-ai/glm-4.7-flash`, `z-ai/glm-4.5-air`
697
+ - `z-ai/glm-5.3`, `z-ai/glm-5.3-flash`, `z-ai/glm-5.2`, `z-ai/glm-4.7-flash`, `z-ai/glm-4.5-air`
695
698
  - `~x-ai/grok-latest`, `x-ai/grok-4.6`, `x-ai/grok-4.5`
696
- - `deepseek/deepseek-v4-flash-0731`, `deepseek/deepseek-v4-flash`, `deepseek/deepseek-v4-pro-0813`
697
- - `~moonshotai/kimi-latest`, `moonshotai/kimi-k3`, `moonshotai/kimi-k2.7-code`, `moonshotai/kimi-k2.5`
699
+ - `deepseek/deepseek-v4-flash-0731`, `deepseek/deepseek-v4-flash`, `deepseek/deepseek-v4-pro-0813`, `deepseek/deepseek-v4-flash-vision-exp`
700
+ - `qwen/qwen3.8-flash`
701
+ - `~moonshotai/kimi-latest`, `moonshotai/kimi-k3`, `moonshotai/kimi-k2.7-code`, `moonshotai/kimi-k2.6`, `moonshotai/kimi-k2.5`
698
702
  - `kwaipilot/kat-coder-air-v2.5`, `kwaipilot/kat-coder-pro-v2.5`
699
703
 
700
704
  **Dynamic OpenRouter free model refresh**
@@ -729,22 +733,22 @@ Notes:
729
733
  ```typescript
730
734
  const zaiService = ChatServiceFactory.createChatService('zai', {
731
735
  apiKey: process.env.ZAI_API_KEY,
732
- model: 'glm-5.2',
733
- reasoning_effort: 'none', // Package default: skip thinking for low latency
736
+ model: 'glm-5.3',
737
+ reasoning_effort: 'low', // Package default: minimum supported thinking
734
738
  responseLength: 'short',
735
- visionModel: 'glm-4.6V-Flash', // Optional: vision-capable model
739
+ visionModel: 'glm-5.3-flash', // Optional: vision-capable model
736
740
  responseFormat: { type: 'json_object' } // Optional JSON mode
737
741
  });
738
742
  ```
739
743
 
740
744
  Notes:
741
745
  - Z.ai uses OpenAI-compatible Chat Completions.
742
- - Supported text models: `glm-5.2`, `glm-5.1`, `glm-5`, `glm-5-turbo`, `glm-4.7`, `glm-4.7-FlashX`, `glm-4.7-Flash`, `glm-4.6`
743
- - Supported vision models: `glm-5v-turbo`, `glm-4.6V`, `glm-4.6V-FlashX`, `glm-4.6V-Flash`
746
+ - Supported text models include `glm-5.3`, `glm-5.2`, `glm-5.1`, `glm-5`, `glm-5-turbo`, `glm-4.7`, `glm-4.7-FlashX`, `glm-4.7-Flash`, and `glm-4.6`.
747
+ - Supported vision models: `glm-5.3-flash`, `glm-5v-turbo`, `glm-4.6V`, `glm-4.6V-FlashX`, `glm-4.6V-Flash`.
748
+ - GLM-5.3 and GLM-5.3 Flash always use thinking and accept only `low`, `high`, or `max`. The package defaults to `low`, keeps thinking enabled even if `thinking.type: 'disabled'` is requested, and clears prior-turn thinking by default for chat latency and cost.
744
749
  - GLM-5.2 exposes `reasoning_effort: 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max'`. The package defaults to `none` and disables thinking for low-latency chat.
745
750
  - Z.ai currently applies only three effective tiers: `none`/`minimal` become `none`, `low`/`medium`/`high` become `high`, and `xhigh`/`max` become `max`. The package normalizes these values before sending them.
746
751
  - Explicit legacy `thinking` remains available when `reasoning_effort` is omitted. `reasoning_effort` takes precedence when both are supplied.
747
- - GLM-5.3 is not advertised yet because Z.ai currently documents its general API as coming soon; Coding Plan-only availability is not the same configuration path as this provider.
748
752
 
749
753
  #### xAI (Grok)
750
754
 
@@ -813,11 +817,12 @@ const deepSeekService = ChatServiceFactory.createChatService('deepseek', {
813
817
 
814
818
  Notes:
815
819
  - DeepSeek uses OpenAI-compatible Chat Completions at `https://api.deepseek.com/chat/completions`.
816
- - Recommended models: `deepseek-v4-flash` (default) and `deepseek-v4-pro`.
820
+ - Recommended text models: `deepseek-v4-flash` (default) and `deepseek-v4-pro`. The experimental `deepseek-v4-flash-vision-exp` model is available explicitly for image input.
817
821
  - Legacy aliases `deepseek-chat` and `deepseek-reasoner` remain exported for explicit compatibility, but DeepSeek marks them deprecated and scheduled for removal on 2026-07-24.
818
822
  - You can still use DeepSeek through `openai-compatible` by providing the full endpoint and model manually, but the first-class `deepseek` provider supplies the endpoint and default model for you.
819
823
  - `deepseek-v4-flash` accepts `reasoning_effort: 'none' | 'low' | 'high' | 'max'`. The package defaults to `none`, mapped to `thinking: { type: 'disabled' }`, for responsive chat. Other levels enable thinking and are sent as DeepSeek `reasoning_effort`.
820
824
  - `deepseek-v4-pro` exposes `none`, `high`, and `max`. DeepSeek currently maps a requested `low` to `high`, so the package normalizes it explicitly.
825
+ - `deepseek-v4-flash-vision-exp` uses the same Chat Completions image format and defaults to `none` thinking for responsive vision chat.
821
826
  - Thinking with tool calling is intentionally rejected for now because DeepSeek requires `reasoning_content` replay across tool turns and does not accept the normal `tool_choice` request shape in thinking mode. Tool calling works with the default `none` setting.
822
827
 
823
828
  #### Mistral
@@ -860,14 +865,16 @@ const mistralReasoningService = ChatServiceFactory.createChatService(
860
865
 
861
866
  ```typescript
862
867
  const sakanaService = ChatServiceFactory.createChatService('sakana', {
863
- apiKey: process.env.FUGU_API_KEY,
864
- model: 'fugu',
868
+ apiKey: process.env.SAKANA_API_KEY,
869
+ model: 'sakana-namazu',
870
+ thinking: { type: 'disabled' }, // Package default for Namazu
865
871
  });
866
872
  ```
867
873
 
868
874
  Notes:
869
875
  - Sakana AI Fugu uses OpenAI-compatible Chat Completions at `https://api.sakana.ai/v1/chat/completions`.
870
- - Supported models: `fugu` (default) and the exact current Fugu Ultra ID `fugu-ultra-v1.1`. The `fugu-ultra` alias and former dated ID remain exported for compatibility.
876
+ - Supported models: `fugu` (default), `fugu-ultra-v1.1`, and the Japanese-focused `sakana-namazu`. The `fugu-ultra` alias and former dated ID remain exported for compatibility.
877
+ - Sakana Namazu supports image input through the same Chat Completions endpoint. Its thinking is disabled by default through `chat_template_kwargs` for responsive chat and can be enabled with `thinking: { type: 'enabled' }`.
871
878
  - Sakana recommends `max_completion_tokens` for new Chat Completions integrations, but also accepts legacy `max_tokens`. This provider keeps `max_tokens` to match existing OpenAI-compatible provider behavior.
872
879
  - Sakana recommends the Responses API for best performance, but this provider uses Chat Completions because it matches the package's OpenAI-compatible chat path.
873
880
  - Direct browser usage may fail with CORS unless Sakana enables CORS for your origin. Use Node.js, a backend/serverless proxy, or `examples/node-basic/sakana-example.js` instead of calling Sakana directly from browser-only apps.
@@ -1306,13 +1313,13 @@ Currently, the following AI providers are built-in:
1306
1313
  - **OpenAI-Compatible**: Supports arbitrary local/self-hosted model IDs via OpenAI-compatible endpoints. Vision capability is treated as `unknown` unless your app knows the endpoint-specific model catalog.
1307
1314
  - **Gemini**: Supports recommended models like Gemini 3.7 Flash, Gemini 3.6 Flash, Gemini 3.5 Flash, Gemini 3.5 Flash-Lite, Gemini 3.1 Flash-Lite, Gemini 3.1 Pro Preview, Gemini 3 Flash Preview, Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash Lite, Gemma 4 31B IT, and Gemma 4 26B A4B IT. Gemini 3.7 Flash and Gemini 3 Pro default to low thinking because they do not support minimal; other Gemini 3 Flash models default to minimal for chat-style responses. Deprecated lifecycle models such as Gemini 3.1 Flash-Lite Preview, Gemini 3 Pro Preview, and Gemini 2.5 Flash Lite Preview remain exported for explicit use.
1308
1315
  - **Claude**: Supports current Claude API model IDs including Claude Fable 5, Claude Opus 5, Claude Sonnet 5, Claude Opus 4.8, Claude Opus 4.7, Claude Opus 4.6, Claude Opus 4.5, Claude Sonnet 4.6, Claude Sonnet 4.5, and Claude Haiku 4.5. Adjustable `reasoning_effort` is sent as `output_config.effort` only for models that support it; refusal metadata is preserved as a terminal completion.
1309
- - **OpenRouter**: Supports a curated OpenRouter model list (OpenAI/Claude/Gemini/Z.ai/xAI/Kimi/DeepSeek/Kwaipilot). See the OpenRouter section for model IDs.
1310
- - **Z.ai**: Supports GLM-5.2/GLM-5.1/GLM-5/GLM-5-Turbo (text), GLM-4.7/4.6 (text), and GLM-5V-Turbo/GLM-4.6V family (vision). GLM-5.2 exposes model-aware `reasoning_effort` and defaults to `none` for low-latency chat.
1316
+ - **OpenRouter**: Supports a curated OpenRouter model list (OpenAI/Claude/Gemini/Z.ai/xAI/Kimi/DeepSeek/Qwen/Kwaipilot), including GLM-5.3, Qwen3.8 Flash, DeepSeek V4 Flash Vision Exp, Claude Sonnet 5/Opus 4.8, and Kimi K2.6. See the OpenRouter section for model IDs.
1317
+ - **Z.ai**: Supports GLM-5.3/GLM-5.2/GLM-5.1/GLM-5/GLM-5-Turbo and GLM-4.7/4.6 text models, plus GLM-5.3-Flash/GLM-5V-Turbo/GLM-4.6V vision models. GLM-5.3 always thinks and defaults to `low`; GLM-5.2 defaults to `none`.
1311
1318
  - **xAI**: Supports Grok 4.6, Grok 4.5, Grok 4.3, and Grok 4.20 Reasoning/Non-Reasoning with vision. Grok 4.3 is the low-latency default with `reasoning_effort: 'none'`.
1312
1319
  - **Kimi**: Supports Kimi K3 (`kimi-k3`, `low` / `high` / `max` reasoning with `max` as the default), Kimi K2.7 Code (`kimi-k2.7-code`), Kimi K2.7 Code HighSpeed (`kimi-k2.7-code-highspeed`), Kimi K2.6 (`kimi-k2.6`, default), and Kimi K2.5 (`kimi-k2.5`) with vision support
1313
- - **DeepSeek**: Supports DeepSeek V4 Flash (`deepseek-v4-flash`) and DeepSeek V4 Pro (`deepseek-v4-pro`) via OpenAI-compatible Chat Completions. Thinking defaults to disabled for low-latency chat and can be enabled with model-aware `reasoning_effort`. Legacy aliases `deepseek-chat` and `deepseek-reasoner` are deprecated by DeepSeek.
1320
+ - **DeepSeek**: Supports DeepSeek V4 Flash (`deepseek-v4-flash`), V4 Pro (`deepseek-v4-pro`), and the explicit experimental vision model (`deepseek-v4-flash-vision-exp`) via OpenAI-compatible Chat Completions. Thinking defaults to disabled for low-latency chat.
1314
1321
  - **Mistral**: Supports the Ministral 3 family (`ministral-3b-2512`, `ministral-8b-2512`, `ministral-14b-2512`) and current Mistral generalist models, with streaming and vision support. Adjustable `reasoning_effort` is only sent for supported models.
1315
- - **Sakana AI**: Supports Fugu (`fugu`) and Fugu Ultra (`fugu-ultra-v1.1`) via OpenAI-compatible Chat Completions.
1322
+ - **Sakana AI**: Supports Fugu (`fugu`), Fugu Ultra (`fugu-ultra-v1.1`), and vision-capable Sakana Namazu (`sakana-namazu`) via OpenAI-compatible Chat Completions. Namazu thinking defaults to disabled for responsive chat.
1316
1323
  - **PLaMo**: Supports PLaMo 3.0 Prime (`plamo-3.0-prime`, default) via OpenAI-compatible Chat Completions; the retiring 2.2 constant remains exported for compatibility.
1317
1324
  - **Gemini Nano**: Chrome built-in AI (LanguageModel API). Runs on-device with no API key required. Web pages require Chrome 148+ on a supported desktop device; no Chrome flags are required. Non-streaming, no vision support.
1318
1325
 
@@ -2,14 +2,17 @@ export declare const DEEPSEEK_API_BASE_URL = "https://api.deepseek.com";
2
2
  export declare const ENDPOINT_DEEPSEEK_CHAT_COMPLETIONS_API = "https://api.deepseek.com/chat/completions";
3
3
  export declare const MODEL_DEEPSEEK_V4_FLASH = "deepseek-v4-flash";
4
4
  export declare const MODEL_DEEPSEEK_V4_PRO = "deepseek-v4-pro";
5
+ export declare const MODEL_DEEPSEEK_V4_FLASH_VISION_EXP = "deepseek-v4-flash-vision-exp";
5
6
  export type DeepSeekReasoningEffort = 'none' | 'low' | 'high' | 'max';
6
7
  /** @deprecated Use MODEL_DEEPSEEK_V4_FLASH instead. */
7
8
  export declare const MODEL_DEEPSEEK_CHAT = "deepseek-chat";
8
9
  /** @deprecated Use MODEL_DEEPSEEK_V4_FLASH or MODEL_DEEPSEEK_V4_PRO instead. */
9
10
  export declare const MODEL_DEEPSEEK_REASONER = "deepseek-reasoner";
10
11
  export declare const DEEPSEEK_SUPPORTED_MODELS: string[];
12
+ export declare const DEEPSEEK_VISION_SUPPORTED_MODELS: string[];
11
13
  export declare const DEEPSEEK_DEPRECATED_MODELS: string[];
12
14
  export declare function getDeepSeekSupportedReasoningEfforts(model: string): readonly DeepSeekReasoningEffort[];
15
+ export declare function isDeepSeekVisionModel(model: string): boolean;
13
16
  export declare function isDeepSeekReasoningEffortModel(model: string): boolean;
14
17
  /** Chat-oriented default that disables DeepSeek thinking for lower latency. */
15
18
  export declare function getDefaultDeepSeekReasoningEffort(model: string): DeepSeekReasoningEffort | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"deepseek.d.ts","sourceRoot":"","sources":["../../../src/constants/deepseek.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,6BAA6B,CAAC;AAChE,eAAO,MAAM,sCAAsC,8CAA8C,CAAC;AAGlG,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAC3D,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AAEvD,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;AAgBtE,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AACnD,gFAAgF;AAChF,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAE3D,eAAO,MAAM,yBAAyB,UAGrC,CAAC;AAEF,eAAO,MAAM,0BAA0B,UAGtC,CAAC;AAEF,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,MAAM,GACZ,SAAS,uBAAuB,EAAE,CAUpC;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAErE;AAED,+EAA+E;AAC/E,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,MAAM,GACZ,uBAAuB,GAAG,SAAS,CAErC;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,uBAAuB,GAC/B,uBAAuB,GAAG,SAAS,CAkBrC"}
1
+ {"version":3,"file":"deepseek.d.ts","sourceRoot":"","sources":["../../../src/constants/deepseek.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,qBAAqB,6BAA6B,CAAC;AAChE,eAAO,MAAM,sCAAsC,8CAA8C,CAAC;AAGlG,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAC3D,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,kCAAkC,iCACf,CAAC;AAEjC,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;AAgBtE,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AACnD,gFAAgF;AAChF,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAE3D,eAAO,MAAM,yBAAyB,UAIrC,CAAC;AAEF,eAAO,MAAM,gCAAgC,UAE5C,CAAC;AAEF,eAAO,MAAM,0BAA0B,UAGtC,CAAC;AAEF,wBAAgB,oCAAoC,CAClD,KAAK,EAAE,MAAM,GACZ,SAAS,uBAAuB,EAAE,CAcpC;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAErE;AAED,+EAA+E;AAC/E,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,MAAM,GACZ,uBAAuB,GAAG,SAAS,CAErC;AAED,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,uBAAuB,GAC/B,uBAAuB,GAAG,SAAS,CAkBrC"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEEPSEEK_DEPRECATED_MODELS = exports.DEEPSEEK_SUPPORTED_MODELS = exports.MODEL_DEEPSEEK_REASONER = exports.MODEL_DEEPSEEK_CHAT = exports.MODEL_DEEPSEEK_V4_PRO = exports.MODEL_DEEPSEEK_V4_FLASH = exports.ENDPOINT_DEEPSEEK_CHAT_COMPLETIONS_API = exports.DEEPSEEK_API_BASE_URL = void 0;
3
+ exports.DEEPSEEK_DEPRECATED_MODELS = exports.DEEPSEEK_VISION_SUPPORTED_MODELS = exports.DEEPSEEK_SUPPORTED_MODELS = exports.MODEL_DEEPSEEK_REASONER = exports.MODEL_DEEPSEEK_CHAT = exports.MODEL_DEEPSEEK_V4_FLASH_VISION_EXP = exports.MODEL_DEEPSEEK_V4_PRO = exports.MODEL_DEEPSEEK_V4_FLASH = exports.ENDPOINT_DEEPSEEK_CHAT_COMPLETIONS_API = exports.DEEPSEEK_API_BASE_URL = void 0;
4
4
  exports.getDeepSeekSupportedReasoningEfforts = getDeepSeekSupportedReasoningEfforts;
5
+ exports.isDeepSeekVisionModel = isDeepSeekVisionModel;
5
6
  exports.isDeepSeekReasoningEffortModel = isDeepSeekReasoningEffortModel;
6
7
  exports.getDefaultDeepSeekReasoningEffort = getDefaultDeepSeekReasoningEffort;
7
8
  exports.normalizeDeepSeekReasoningEffort = normalizeDeepSeekReasoningEffort;
@@ -10,6 +11,7 @@ exports.ENDPOINT_DEEPSEEK_CHAT_COMPLETIONS_API = `${exports.DEEPSEEK_API_BASE_UR
10
11
  // DeepSeek V4 models
11
12
  exports.MODEL_DEEPSEEK_V4_FLASH = 'deepseek-v4-flash';
12
13
  exports.MODEL_DEEPSEEK_V4_PRO = 'deepseek-v4-pro';
14
+ exports.MODEL_DEEPSEEK_V4_FLASH_VISION_EXP = 'deepseek-v4-flash-vision-exp';
13
15
  const DEEPSEEK_V4_FLASH_REASONING_EFFORTS = [
14
16
  'none',
15
17
  'low',
@@ -29,6 +31,10 @@ exports.MODEL_DEEPSEEK_REASONER = 'deepseek-reasoner';
29
31
  exports.DEEPSEEK_SUPPORTED_MODELS = [
30
32
  exports.MODEL_DEEPSEEK_V4_FLASH,
31
33
  exports.MODEL_DEEPSEEK_V4_PRO,
34
+ exports.MODEL_DEEPSEEK_V4_FLASH_VISION_EXP,
35
+ ];
36
+ exports.DEEPSEEK_VISION_SUPPORTED_MODELS = [
37
+ exports.MODEL_DEEPSEEK_V4_FLASH_VISION_EXP,
32
38
  ];
33
39
  exports.DEEPSEEK_DEPRECATED_MODELS = [
34
40
  exports.MODEL_DEEPSEEK_CHAT,
@@ -38,11 +44,17 @@ function getDeepSeekSupportedReasoningEfforts(model) {
38
44
  if (model === exports.MODEL_DEEPSEEK_V4_FLASH) {
39
45
  return DEEPSEEK_V4_FLASH_REASONING_EFFORTS;
40
46
  }
47
+ if (model === exports.MODEL_DEEPSEEK_V4_FLASH_VISION_EXP) {
48
+ return DEEPSEEK_V4_FLASH_REASONING_EFFORTS;
49
+ }
41
50
  if (model === exports.MODEL_DEEPSEEK_V4_PRO) {
42
51
  return DEEPSEEK_V4_PRO_REASONING_EFFORTS;
43
52
  }
44
53
  return [];
45
54
  }
55
+ function isDeepSeekVisionModel(model) {
56
+ return exports.DEEPSEEK_VISION_SUPPORTED_MODELS.includes(model);
57
+ }
46
58
  function isDeepSeekReasoningEffortModel(model) {
47
59
  return getDeepSeekSupportedReasoningEfforts(model).length > 0;
48
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"deepseek.js","sourceRoot":"","sources":["../../../src/constants/deepseek.ts"],"names":[],"mappings":";;;AAsCA,oFAYC;AAED,wEAEC;AAGD,8EAIC;AAED,4EAqBC;AApFY,QAAA,qBAAqB,GAAG,0BAA0B,CAAC;AACnD,QAAA,sCAAsC,GAAG,GAAG,6BAAqB,mBAAmB,CAAC;AAElG,qBAAqB;AACR,QAAA,uBAAuB,GAAG,mBAAmB,CAAC;AAC9C,QAAA,qBAAqB,GAAG,iBAAiB,CAAC;AAIvD,MAAM,mCAAmC,GAAG;IAC1C,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;CACgD,CAAC;AAExD,MAAM,iCAAiC,GAAG;IACxC,MAAM;IACN,MAAM;IACN,KAAK;CACgD,CAAC;AAExD,gCAAgC;AAChC,uDAAuD;AAC1C,QAAA,mBAAmB,GAAG,eAAe,CAAC;AACnD,gFAAgF;AACnE,QAAA,uBAAuB,GAAG,mBAAmB,CAAC;AAE9C,QAAA,yBAAyB,GAAG;IACvC,+BAAuB;IACvB,6BAAqB;CACtB,CAAC;AAEW,QAAA,0BAA0B,GAAG;IACxC,2BAAmB;IACnB,+BAAuB;CACxB,CAAC;AAEF,SAAgB,oCAAoC,CAClD,KAAa;IAEb,IAAI,KAAK,KAAK,+BAAuB,EAAE,CAAC;QACtC,OAAO,mCAAmC,CAAC;IAC7C,CAAC;IAED,IAAI,KAAK,KAAK,6BAAqB,EAAE,CAAC;QACpC,OAAO,iCAAiC,CAAC;IAC3C,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAgB,8BAA8B,CAAC,KAAa;IAC1D,OAAO,oCAAoC,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAChE,CAAC;AAED,+EAA+E;AAC/E,SAAgB,iCAAiC,CAC/C,KAAa;IAEb,OAAO,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAED,SAAgB,gCAAgC,CAC9C,KAAa,EACb,MAAgC;IAEhC,MAAM,SAAS,GAAG,oCAAoC,CAAC,KAAK,CAAC,CAAC;IAC9D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,IAAI,iCAAiC,CAAC,KAAK,CAAC,CAAC;IACrE,IAAI,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,yEAAyE;IACzE,kEAAkE;IAClE,IAAI,KAAK,KAAK,6BAAqB,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QAC3D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,iCAAiC,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"deepseek.js","sourceRoot":"","sources":["../../../src/constants/deepseek.ts"],"names":[],"mappings":";;;AA6CA,oFAgBC;AAED,sDAEC;AAED,wEAEC;AAGD,8EAIC;AAED,4EAqBC;AAnGY,QAAA,qBAAqB,GAAG,0BAA0B,CAAC;AACnD,QAAA,sCAAsC,GAAG,GAAG,6BAAqB,mBAAmB,CAAC;AAElG,qBAAqB;AACR,QAAA,uBAAuB,GAAG,mBAAmB,CAAC;AAC9C,QAAA,qBAAqB,GAAG,iBAAiB,CAAC;AAC1C,QAAA,kCAAkC,GAC7C,8BAA8B,CAAC;AAIjC,MAAM,mCAAmC,GAAG;IAC1C,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;CACgD,CAAC;AAExD,MAAM,iCAAiC,GAAG;IACxC,MAAM;IACN,MAAM;IACN,KAAK;CACgD,CAAC;AAExD,gCAAgC;AAChC,uDAAuD;AAC1C,QAAA,mBAAmB,GAAG,eAAe,CAAC;AACnD,gFAAgF;AACnE,QAAA,uBAAuB,GAAG,mBAAmB,CAAC;AAE9C,QAAA,yBAAyB,GAAG;IACvC,+BAAuB;IACvB,6BAAqB;IACrB,0CAAkC;CACnC,CAAC;AAEW,QAAA,gCAAgC,GAAG;IAC9C,0CAAkC;CACnC,CAAC;AAEW,QAAA,0BAA0B,GAAG;IACxC,2BAAmB;IACnB,+BAAuB;CACxB,CAAC;AAEF,SAAgB,oCAAoC,CAClD,KAAa;IAEb,IAAI,KAAK,KAAK,+BAAuB,EAAE,CAAC;QACtC,OAAO,mCAAmC,CAAC;IAC7C,CAAC;IAED,IAAI,KAAK,KAAK,0CAAkC,EAAE,CAAC;QACjD,OAAO,mCAAmC,CAAC;IAC7C,CAAC;IAED,IAAI,KAAK,KAAK,6BAAqB,EAAE,CAAC;QACpC,OAAO,iCAAiC,CAAC;IAC3C,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAgB,qBAAqB,CAAC,KAAa;IACjD,OAAO,wCAAgC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED,SAAgB,8BAA8B,CAAC,KAAa;IAC1D,OAAO,oCAAoC,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAChE,CAAC;AAED,+EAA+E;AAC/E,SAAgB,iCAAiC,CAC/C,KAAa;IAEb,OAAO,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACpE,CAAC;AAED,SAAgB,gCAAgC,CAC9C,KAAa,EACb,MAAgC;IAEhC,MAAM,SAAS,GAAG,oCAAoC,CAAC,KAAK,CAAC,CAAC;IAC9D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,IAAI,iCAAiC,CAAC,KAAK,CAAC,CAAC;IACrE,IAAI,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,yEAAyE;IACzE,kEAAkE;IAClE,IAAI,KAAK,KAAK,6BAAqB,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QAC3D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,iCAAiC,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC"}
@@ -5,6 +5,7 @@ export declare const MODEL_OPENROUTER_FUSION = "openrouter/fusion";
5
5
  export declare const MODEL_GPT_OSS_20B_FREE = "openai/gpt-oss-20b:free";
6
6
  export declare const MODEL_MOONSHOTAI_KIMI_K3 = "moonshotai/kimi-k3";
7
7
  export declare const MODEL_MOONSHOTAI_KIMI_K2_7_CODE = "moonshotai/kimi-k2.7-code";
8
+ export declare const MODEL_MOONSHOTAI_KIMI_K2_6 = "moonshotai/kimi-k2.6";
8
9
  export declare const MODEL_MOONSHOTAI_KIMI_K2_5 = "moonshotai/kimi-k2.5";
9
10
  export declare const MODEL_MOONSHOTAI_KIMI_LATEST = "~moonshotai/kimi-latest";
10
11
  export declare const MODEL_OPENAI_GPT_LATEST = "~openai/gpt-latest";
@@ -24,7 +25,9 @@ export declare const MODEL_OPENAI_GPT_4_1_NANO = "openai/gpt-4.1-nano";
24
25
  export declare const MODEL_ANTHROPIC_CLAUDE_SONNET_LATEST = "~anthropic/claude-sonnet-latest";
25
26
  export declare const MODEL_ANTHROPIC_CLAUDE_HAIKU_LATEST = "~anthropic/claude-haiku-latest";
26
27
  export declare const MODEL_ANTHROPIC_CLAUDE_FABLE_5 = "anthropic/claude-fable-5";
28
+ export declare const MODEL_ANTHROPIC_CLAUDE_SONNET_5 = "anthropic/claude-sonnet-5";
27
29
  export declare const MODEL_ANTHROPIC_CLAUDE_OPUS_5 = "anthropic/claude-opus-5";
30
+ export declare const MODEL_ANTHROPIC_CLAUDE_OPUS_4_8 = "anthropic/claude-opus-4.8";
28
31
  export declare const MODEL_ANTHROPIC_CLAUDE_OPUS_4 = "anthropic/claude-opus-4";
29
32
  export declare const MODEL_ANTHROPIC_CLAUDE_SONNET_4 = "anthropic/claude-sonnet-4";
30
33
  export declare const MODEL_ANTHROPIC_CLAUDE_3_7_SONNET = "anthropic/claude-3.7-sonnet";
@@ -39,6 +42,8 @@ export declare const MODEL_GOOGLE_GEMINI_2_5_PRO = "google/gemini-2.5-pro";
39
42
  export declare const MODEL_GOOGLE_GEMINI_2_5_FLASH = "google/gemini-2.5-flash";
40
43
  export declare const MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025 = "google/gemini-2.5-flash-lite-preview-09-2025";
41
44
  export declare const MODEL_ZAI_GLM_5_2 = "z-ai/glm-5.2";
45
+ export declare const MODEL_ZAI_GLM_5_3 = "z-ai/glm-5.3";
46
+ export declare const MODEL_ZAI_GLM_5_3_FLASH = "z-ai/glm-5.3-flash";
42
47
  export declare const MODEL_ZAI_GLM_4_7_FLASH = "z-ai/glm-4.7-flash";
43
48
  export declare const MODEL_ZAI_GLM_4_5_AIR = "z-ai/glm-4.5-air";
44
49
  export declare const MODEL_ZAI_GLM_4_5_AIR_FREE = "z-ai/glm-4.5-air:free";
@@ -50,6 +55,8 @@ export declare const MODEL_XAI_GROK_4_5 = "x-ai/grok-4.5";
50
55
  export declare const MODEL_OPENROUTER_DEEPSEEK_V4_FLASH = "deepseek/deepseek-v4-flash";
51
56
  export declare const MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731 = "deepseek/deepseek-v4-flash-0731";
52
57
  export declare const MODEL_OPENROUTER_DEEPSEEK_V4_PRO_0813 = "deepseek/deepseek-v4-pro-0813";
58
+ export declare const MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP = "deepseek/deepseek-v4-flash-vision-exp";
59
+ export declare const MODEL_QWEN_QWEN_3_8_FLASH = "qwen/qwen3.8-flash";
53
60
  export declare const OPENROUTER_DEPRECATED_MODELS: string[];
54
61
  export type OpenRouterReasoningEffort = 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max';
55
62
  export declare const OPENROUTER_FREE_MODELS: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../../src/constants/openrouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../../src/constants/openrouter.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MODEL_OPENROUTER_DEEPSEEK_V4_FLASH = exports.MODEL_XAI_GROK_4_5 = exports.MODEL_XAI_GROK_4_6 = exports.MODEL_XAI_GROK_LATEST = exports.MODEL_KWAIPILOT_KAT_CODER_PRO_V2_5 = exports.MODEL_KWAIPILOT_KAT_CODER_AIR_V2_5 = exports.MODEL_ZAI_GLM_4_5_AIR_FREE = exports.MODEL_ZAI_GLM_4_5_AIR = exports.MODEL_ZAI_GLM_4_7_FLASH = exports.MODEL_ZAI_GLM_5_2 = exports.MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025 = exports.MODEL_GOOGLE_GEMINI_2_5_FLASH = exports.MODEL_GOOGLE_GEMINI_2_5_PRO = exports.MODEL_GOOGLE_GEMINI_3_5_FLASH_LITE = exports.MODEL_GOOGLE_GEMINI_3_6_FLASH = exports.MODEL_GOOGLE_GEMINI_3_7_FLASH = exports.MODEL_GOOGLE_GEMINI_FLASH_LATEST = exports.MODEL_GOOGLE_GEMINI_PRO_LATEST = exports.MODEL_ANTHROPIC_CLAUDE_4_5_HAIKU = exports.MODEL_ANTHROPIC_CLAUDE_3_5_SONNET = exports.MODEL_ANTHROPIC_CLAUDE_3_7_SONNET = exports.MODEL_ANTHROPIC_CLAUDE_SONNET_4 = exports.MODEL_ANTHROPIC_CLAUDE_OPUS_4 = exports.MODEL_ANTHROPIC_CLAUDE_OPUS_5 = exports.MODEL_ANTHROPIC_CLAUDE_FABLE_5 = exports.MODEL_ANTHROPIC_CLAUDE_HAIKU_LATEST = exports.MODEL_ANTHROPIC_CLAUDE_SONNET_LATEST = exports.MODEL_OPENAI_GPT_4_1_NANO = exports.MODEL_OPENAI_GPT_4_1_MINI = exports.MODEL_OPENAI_GPT_4O = exports.MODEL_OPENAI_GPT_5_NANO = exports.MODEL_OPENAI_GPT_5_MINI = exports.MODEL_OPENAI_GPT_5_1_CODEX = exports.MODEL_OPENAI_GPT_5_1_CHAT = exports.MODEL_OPENAI_GPT_5_5 = exports.MODEL_OPENAI_GPT_5_5_PRO = exports.MODEL_OPENAI_GPT_5_6_LUNA = exports.MODEL_OPENAI_GPT_5_6_TERRA = exports.MODEL_OPENAI_GPT_5_6_SOL = exports.MODEL_OPENAI_GPT_MINI_LATEST = exports.MODEL_OPENAI_GPT_LATEST = exports.MODEL_MOONSHOTAI_KIMI_LATEST = exports.MODEL_MOONSHOTAI_KIMI_K2_5 = exports.MODEL_MOONSHOTAI_KIMI_K2_7_CODE = exports.MODEL_MOONSHOTAI_KIMI_K3 = exports.MODEL_GPT_OSS_20B_FREE = exports.MODEL_OPENROUTER_FUSION = exports.MODEL_OPENROUTER_AUTO_BETA = exports.MODEL_OPENROUTER_AUTO = exports.ENDPOINT_OPENROUTER_API = void 0;
4
- exports.OPENROUTER_CREDITS_THRESHOLD = exports.OPENROUTER_FREE_DAILY_LIMIT_HIGH_CREDITS = exports.OPENROUTER_FREE_DAILY_LIMIT_LOW_CREDITS = exports.OPENROUTER_FREE_RATE_LIMIT_PER_MINUTE = exports.OPENROUTER_VISION_SUPPORTED_MODELS = exports.OPENROUTER_FREE_MODELS = exports.OPENROUTER_DEPRECATED_MODELS = exports.MODEL_OPENROUTER_DEEPSEEK_V4_PRO_0813 = exports.MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731 = void 0;
3
+ exports.MODEL_KWAIPILOT_KAT_CODER_AIR_V2_5 = exports.MODEL_ZAI_GLM_4_5_AIR_FREE = exports.MODEL_ZAI_GLM_4_5_AIR = exports.MODEL_ZAI_GLM_4_7_FLASH = exports.MODEL_ZAI_GLM_5_3_FLASH = exports.MODEL_ZAI_GLM_5_3 = exports.MODEL_ZAI_GLM_5_2 = exports.MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025 = exports.MODEL_GOOGLE_GEMINI_2_5_FLASH = exports.MODEL_GOOGLE_GEMINI_2_5_PRO = exports.MODEL_GOOGLE_GEMINI_3_5_FLASH_LITE = exports.MODEL_GOOGLE_GEMINI_3_6_FLASH = exports.MODEL_GOOGLE_GEMINI_3_7_FLASH = exports.MODEL_GOOGLE_GEMINI_FLASH_LATEST = exports.MODEL_GOOGLE_GEMINI_PRO_LATEST = exports.MODEL_ANTHROPIC_CLAUDE_4_5_HAIKU = exports.MODEL_ANTHROPIC_CLAUDE_3_5_SONNET = exports.MODEL_ANTHROPIC_CLAUDE_3_7_SONNET = exports.MODEL_ANTHROPIC_CLAUDE_SONNET_4 = exports.MODEL_ANTHROPIC_CLAUDE_OPUS_4 = exports.MODEL_ANTHROPIC_CLAUDE_OPUS_4_8 = exports.MODEL_ANTHROPIC_CLAUDE_OPUS_5 = exports.MODEL_ANTHROPIC_CLAUDE_SONNET_5 = exports.MODEL_ANTHROPIC_CLAUDE_FABLE_5 = exports.MODEL_ANTHROPIC_CLAUDE_HAIKU_LATEST = exports.MODEL_ANTHROPIC_CLAUDE_SONNET_LATEST = exports.MODEL_OPENAI_GPT_4_1_NANO = exports.MODEL_OPENAI_GPT_4_1_MINI = exports.MODEL_OPENAI_GPT_4O = exports.MODEL_OPENAI_GPT_5_NANO = exports.MODEL_OPENAI_GPT_5_MINI = exports.MODEL_OPENAI_GPT_5_1_CODEX = exports.MODEL_OPENAI_GPT_5_1_CHAT = exports.MODEL_OPENAI_GPT_5_5 = exports.MODEL_OPENAI_GPT_5_5_PRO = exports.MODEL_OPENAI_GPT_5_6_LUNA = exports.MODEL_OPENAI_GPT_5_6_TERRA = exports.MODEL_OPENAI_GPT_5_6_SOL = exports.MODEL_OPENAI_GPT_MINI_LATEST = exports.MODEL_OPENAI_GPT_LATEST = exports.MODEL_MOONSHOTAI_KIMI_LATEST = exports.MODEL_MOONSHOTAI_KIMI_K2_5 = exports.MODEL_MOONSHOTAI_KIMI_K2_6 = exports.MODEL_MOONSHOTAI_KIMI_K2_7_CODE = exports.MODEL_MOONSHOTAI_KIMI_K3 = exports.MODEL_GPT_OSS_20B_FREE = exports.MODEL_OPENROUTER_FUSION = exports.MODEL_OPENROUTER_AUTO_BETA = exports.MODEL_OPENROUTER_AUTO = exports.ENDPOINT_OPENROUTER_API = void 0;
4
+ exports.OPENROUTER_CREDITS_THRESHOLD = exports.OPENROUTER_FREE_DAILY_LIMIT_HIGH_CREDITS = exports.OPENROUTER_FREE_DAILY_LIMIT_LOW_CREDITS = exports.OPENROUTER_FREE_RATE_LIMIT_PER_MINUTE = exports.OPENROUTER_VISION_SUPPORTED_MODELS = exports.OPENROUTER_FREE_MODELS = exports.OPENROUTER_DEPRECATED_MODELS = exports.MODEL_QWEN_QWEN_3_8_FLASH = exports.MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP = exports.MODEL_OPENROUTER_DEEPSEEK_V4_PRO_0813 = exports.MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731 = exports.MODEL_OPENROUTER_DEEPSEEK_V4_FLASH = exports.MODEL_XAI_GROK_4_5 = exports.MODEL_XAI_GROK_4_6 = exports.MODEL_XAI_GROK_LATEST = exports.MODEL_KWAIPILOT_KAT_CODER_PRO_V2_5 = void 0;
5
5
  exports.isOpenRouterFreeModel = isOpenRouterFreeModel;
6
6
  exports.isOpenRouterVisionModel = isOpenRouterVisionModel;
7
7
  exports.getOpenRouterSupportedReasoningEfforts = getOpenRouterSupportedReasoningEfforts;
@@ -15,6 +15,7 @@ exports.MODEL_OPENROUTER_FUSION = 'openrouter/fusion';
15
15
  exports.MODEL_GPT_OSS_20B_FREE = 'openai/gpt-oss-20b:free';
16
16
  exports.MODEL_MOONSHOTAI_KIMI_K3 = 'moonshotai/kimi-k3';
17
17
  exports.MODEL_MOONSHOTAI_KIMI_K2_7_CODE = 'moonshotai/kimi-k2.7-code';
18
+ exports.MODEL_MOONSHOTAI_KIMI_K2_6 = 'moonshotai/kimi-k2.6';
18
19
  exports.MODEL_MOONSHOTAI_KIMI_K2_5 = 'moonshotai/kimi-k2.5';
19
20
  exports.MODEL_MOONSHOTAI_KIMI_LATEST = '~moonshotai/kimi-latest';
20
21
  exports.MODEL_OPENAI_GPT_LATEST = '~openai/gpt-latest';
@@ -34,7 +35,9 @@ exports.MODEL_OPENAI_GPT_4_1_NANO = 'openai/gpt-4.1-nano';
34
35
  exports.MODEL_ANTHROPIC_CLAUDE_SONNET_LATEST = '~anthropic/claude-sonnet-latest';
35
36
  exports.MODEL_ANTHROPIC_CLAUDE_HAIKU_LATEST = '~anthropic/claude-haiku-latest';
36
37
  exports.MODEL_ANTHROPIC_CLAUDE_FABLE_5 = 'anthropic/claude-fable-5';
38
+ exports.MODEL_ANTHROPIC_CLAUDE_SONNET_5 = 'anthropic/claude-sonnet-5';
37
39
  exports.MODEL_ANTHROPIC_CLAUDE_OPUS_5 = 'anthropic/claude-opus-5';
40
+ exports.MODEL_ANTHROPIC_CLAUDE_OPUS_4_8 = 'anthropic/claude-opus-4.8';
38
41
  exports.MODEL_ANTHROPIC_CLAUDE_OPUS_4 = 'anthropic/claude-opus-4';
39
42
  exports.MODEL_ANTHROPIC_CLAUDE_SONNET_4 = 'anthropic/claude-sonnet-4';
40
43
  exports.MODEL_ANTHROPIC_CLAUDE_3_7_SONNET = 'anthropic/claude-3.7-sonnet';
@@ -49,6 +52,8 @@ exports.MODEL_GOOGLE_GEMINI_2_5_PRO = 'google/gemini-2.5-pro';
49
52
  exports.MODEL_GOOGLE_GEMINI_2_5_FLASH = 'google/gemini-2.5-flash';
50
53
  exports.MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025 = 'google/gemini-2.5-flash-lite-preview-09-2025';
51
54
  exports.MODEL_ZAI_GLM_5_2 = 'z-ai/glm-5.2';
55
+ exports.MODEL_ZAI_GLM_5_3 = 'z-ai/glm-5.3';
56
+ exports.MODEL_ZAI_GLM_5_3_FLASH = 'z-ai/glm-5.3-flash';
52
57
  exports.MODEL_ZAI_GLM_4_7_FLASH = 'z-ai/glm-4.7-flash';
53
58
  exports.MODEL_ZAI_GLM_4_5_AIR = 'z-ai/glm-4.5-air';
54
59
  exports.MODEL_ZAI_GLM_4_5_AIR_FREE = 'z-ai/glm-4.5-air:free';
@@ -60,6 +65,8 @@ exports.MODEL_XAI_GROK_4_5 = 'x-ai/grok-4.5';
60
65
  exports.MODEL_OPENROUTER_DEEPSEEK_V4_FLASH = 'deepseek/deepseek-v4-flash';
61
66
  exports.MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731 = 'deepseek/deepseek-v4-flash-0731';
62
67
  exports.MODEL_OPENROUTER_DEEPSEEK_V4_PRO_0813 = 'deepseek/deepseek-v4-pro-0813';
68
+ exports.MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP = 'deepseek/deepseek-v4-flash-vision-exp';
69
+ exports.MODEL_QWEN_QWEN_3_8_FLASH = 'qwen/qwen3.8-flash';
63
70
  // These ids remain exported for compatibility but are absent from the current
64
71
  // OpenRouter public model catalog.
65
72
  exports.OPENROUTER_DEPRECATED_MODELS = [
@@ -91,12 +98,32 @@ const OPENROUTER_DEEPSEEK_V4_PRO_REASONING_EFFORTS = [
91
98
  'high',
92
99
  'xhigh',
93
100
  ];
101
+ const OPENROUTER_ALWAYS_THINKING_REASONING_EFFORTS = [
102
+ 'low',
103
+ 'high',
104
+ 'max',
105
+ ];
106
+ const OPENROUTER_OPTIONAL_LOW_REASONING_EFFORTS = [
107
+ 'none',
108
+ 'low',
109
+ 'high',
110
+ 'max',
111
+ ];
112
+ const OPENROUTER_CLAUDE_REASONING_EFFORTS = [
113
+ 'none',
114
+ 'low',
115
+ 'medium',
116
+ 'high',
117
+ 'xhigh',
118
+ 'max',
119
+ ];
94
120
  // Free tier models
95
121
  exports.OPENROUTER_FREE_MODELS = [exports.MODEL_GPT_OSS_20B_FREE];
96
122
  // Vision supported models on OpenRouter
97
123
  exports.OPENROUTER_VISION_SUPPORTED_MODELS = [
98
124
  exports.MODEL_OPENROUTER_AUTO_BETA,
99
125
  exports.MODEL_MOONSHOTAI_KIMI_K3,
126
+ exports.MODEL_MOONSHOTAI_KIMI_K2_6,
100
127
  exports.MODEL_MOONSHOTAI_KIMI_LATEST,
101
128
  exports.MODEL_OPENAI_GPT_LATEST,
102
129
  exports.MODEL_OPENAI_GPT_MINI_LATEST,
@@ -114,7 +141,9 @@ exports.OPENROUTER_VISION_SUPPORTED_MODELS = [
114
141
  exports.MODEL_ANTHROPIC_CLAUDE_SONNET_LATEST,
115
142
  exports.MODEL_ANTHROPIC_CLAUDE_HAIKU_LATEST,
116
143
  exports.MODEL_ANTHROPIC_CLAUDE_FABLE_5,
144
+ exports.MODEL_ANTHROPIC_CLAUDE_SONNET_5,
117
145
  exports.MODEL_ANTHROPIC_CLAUDE_OPUS_5,
146
+ exports.MODEL_ANTHROPIC_CLAUDE_OPUS_4_8,
118
147
  exports.MODEL_ANTHROPIC_CLAUDE_OPUS_4,
119
148
  exports.MODEL_ANTHROPIC_CLAUDE_SONNET_4,
120
149
  exports.MODEL_ANTHROPIC_CLAUDE_4_5_HAIKU,
@@ -126,6 +155,9 @@ exports.OPENROUTER_VISION_SUPPORTED_MODELS = [
126
155
  exports.MODEL_GOOGLE_GEMINI_2_5_PRO,
127
156
  exports.MODEL_GOOGLE_GEMINI_2_5_FLASH,
128
157
  exports.MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025,
158
+ exports.MODEL_ZAI_GLM_5_3_FLASH,
159
+ exports.MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP,
160
+ exports.MODEL_QWEN_QWEN_3_8_FLASH,
129
161
  exports.MODEL_MOONSHOTAI_KIMI_K2_7_CODE,
130
162
  exports.MODEL_MOONSHOTAI_KIMI_K2_5,
131
163
  exports.MODEL_XAI_GROK_LATEST,
@@ -155,6 +187,17 @@ function isOpenRouterVisionModel(model) {
155
187
  }
156
188
  function getOpenRouterSupportedReasoningEfforts(model) {
157
189
  const normalizedModel = model.trim();
190
+ if (normalizedModel === exports.MODEL_ZAI_GLM_5_3 ||
191
+ normalizedModel === exports.MODEL_ZAI_GLM_5_3_FLASH) {
192
+ return OPENROUTER_ALWAYS_THINKING_REASONING_EFFORTS;
193
+ }
194
+ if (normalizedModel === exports.MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP) {
195
+ return OPENROUTER_OPTIONAL_LOW_REASONING_EFFORTS;
196
+ }
197
+ if (normalizedModel === exports.MODEL_ANTHROPIC_CLAUDE_SONNET_5 ||
198
+ normalizedModel === exports.MODEL_ANTHROPIC_CLAUDE_OPUS_4_8) {
199
+ return OPENROUTER_CLAUDE_REASONING_EFFORTS;
200
+ }
158
201
  if (normalizedModel === exports.MODEL_OPENROUTER_DEEPSEEK_V4_FLASH) {
159
202
  return OPENROUTER_DEEPSEEK_V4_FLASH_REASONING_EFFORTS;
160
203
  }
@@ -168,7 +211,15 @@ function getOpenRouterSupportedReasoningEfforts(model) {
168
211
  }
169
212
  function getDefaultOpenRouterReasoningEffort(model) {
170
213
  const normalizedModel = model.trim();
214
+ if (normalizedModel === exports.MODEL_ZAI_GLM_5_3 ||
215
+ normalizedModel === exports.MODEL_ZAI_GLM_5_3_FLASH) {
216
+ return 'low';
217
+ }
171
218
  return normalizedModel === exports.MODEL_ZAI_GLM_5_2 ||
219
+ normalizedModel === exports.MODEL_QWEN_QWEN_3_8_FLASH ||
220
+ normalizedModel === exports.MODEL_MOONSHOTAI_KIMI_K2_6 ||
221
+ normalizedModel === exports.MODEL_ANTHROPIC_CLAUDE_SONNET_5 ||
222
+ normalizedModel === exports.MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP ||
172
223
  normalizedModel === exports.MODEL_OPENROUTER_DEEPSEEK_V4_FLASH ||
173
224
  normalizedModel === exports.MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_0731 ||
174
225
  normalizedModel === exports.MODEL_OPENROUTER_DEEPSEEK_V4_PRO_0813
@@ -181,6 +232,16 @@ function normalizeOpenRouterReasoningEffort(model, effort) {
181
232
  if (!requested) {
182
233
  return undefined;
183
234
  }
235
+ if (normalizedModel === exports.MODEL_ZAI_GLM_5_3 ||
236
+ normalizedModel === exports.MODEL_ZAI_GLM_5_3_FLASH) {
237
+ if (requested === 'high') {
238
+ return 'high';
239
+ }
240
+ if (requested === 'max' || requested === 'xhigh') {
241
+ return 'max';
242
+ }
243
+ return 'low';
244
+ }
184
245
  const supported = getOpenRouterSupportedReasoningEfforts(model);
185
246
  if (supported.includes(requested)) {
186
247
  return requested;
@@ -207,6 +268,14 @@ function normalizeOpenRouterReasoningEffort(model, effort) {
207
268
  return 'xhigh';
208
269
  }
209
270
  }
271
+ if (normalizedModel === exports.MODEL_OPENROUTER_DEEPSEEK_V4_FLASH_VISION_EXP) {
272
+ if (requested === 'minimal' || requested === 'medium') {
273
+ return 'low';
274
+ }
275
+ if (requested === 'xhigh') {
276
+ return 'high';
277
+ }
278
+ }
210
279
  return requested;
211
280
  }
212
281
  //# sourceMappingURL=openrouter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../../src/constants/openrouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../../src/constants/openrouter.ts"],"names":[],"mappings":"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"}