@aituber-onair/chat 0.51.0 → 0.53.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja.md +61 -41
- package/README.md +60 -42
- package/dist/cjs/constants/claude.d.ts +2 -0
- package/dist/cjs/constants/claude.d.ts.map +1 -1
- package/dist/cjs/constants/claude.js +13 -4
- package/dist/cjs/constants/claude.js.map +1 -1
- package/dist/cjs/constants/deepseek.d.ts +3 -0
- package/dist/cjs/constants/deepseek.d.ts.map +1 -1
- package/dist/cjs/constants/deepseek.js +13 -1
- package/dist/cjs/constants/deepseek.js.map +1 -1
- package/dist/cjs/constants/gemini.d.ts +1 -0
- package/dist/cjs/constants/gemini.d.ts.map +1 -1
- package/dist/cjs/constants/gemini.js +11 -1
- package/dist/cjs/constants/gemini.js.map +1 -1
- package/dist/cjs/constants/mistral.d.ts +2 -0
- package/dist/cjs/constants/mistral.d.ts.map +1 -1
- package/dist/cjs/constants/mistral.js +3 -3
- package/dist/cjs/constants/mistral.js.map +1 -1
- package/dist/cjs/constants/openrouter.d.ts +12 -0
- package/dist/cjs/constants/openrouter.d.ts.map +1 -1
- package/dist/cjs/constants/openrouter.js +108 -9
- package/dist/cjs/constants/openrouter.js.map +1 -1
- package/dist/cjs/constants/plamo.d.ts +2 -0
- package/dist/cjs/constants/plamo.d.ts.map +1 -1
- package/dist/cjs/constants/plamo.js +4 -5
- package/dist/cjs/constants/plamo.js.map +1 -1
- package/dist/cjs/constants/sakana.d.ts +6 -0
- package/dist/cjs/constants/sakana.d.ts.map +1 -1
- package/dist/cjs/constants/sakana.js +15 -1
- package/dist/cjs/constants/sakana.js.map +1 -1
- package/dist/cjs/constants/xai.d.ts +1 -0
- package/dist/cjs/constants/xai.d.ts.map +1 -1
- package/dist/cjs/constants/xai.js +7 -3
- package/dist/cjs/constants/xai.js.map +1 -1
- package/dist/cjs/constants/zai.d.ts +11 -0
- package/dist/cjs/constants/zai.d.ts.map +1 -1
- package/dist/cjs/constants/zai.js +69 -2
- package/dist/cjs/constants/zai.js.map +1 -1
- package/dist/cjs/services/ChatServiceFactory.d.ts.map +1 -1
- package/dist/cjs/services/ChatServiceFactory.js +16 -9
- package/dist/cjs/services/ChatServiceFactory.js.map +1 -1
- package/dist/cjs/services/providers/ChatServiceProvider.d.ts +7 -3
- package/dist/cjs/services/providers/ChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/claude/ClaudeChatService.d.ts +2 -3
- package/dist/cjs/services/providers/claude/ClaudeChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/claude/ClaudeChatService.js +23 -15
- package/dist/cjs/services/providers/claude/ClaudeChatService.js.map +1 -1
- package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.js +1 -3
- package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.js.map +1 -1
- package/dist/cjs/services/providers/deepseek/DeepSeekChatServiceProvider.d.ts +2 -2
- package/dist/cjs/services/providers/deepseek/DeepSeekChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/deepseek/DeepSeekChatServiceProvider.js +16 -7
- package/dist/cjs/services/providers/deepseek/DeepSeekChatServiceProvider.js.map +1 -1
- package/dist/cjs/services/providers/openai/OpenAIChatService.d.ts +2 -1
- package/dist/cjs/services/providers/openai/OpenAIChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/openai/OpenAIChatService.js +3 -1
- package/dist/cjs/services/providers/openai/OpenAIChatService.js.map +1 -1
- package/dist/cjs/services/providers/openai/openaiRequestBuilder.d.ts +2 -1
- package/dist/cjs/services/providers/openai/openaiRequestBuilder.d.ts.map +1 -1
- package/dist/cjs/services/providers/openai/openaiRequestBuilder.js +4 -1
- package/dist/cjs/services/providers/openai/openaiRequestBuilder.js.map +1 -1
- package/dist/cjs/services/providers/openrouter/OpenRouterChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/openrouter/OpenRouterChatService.js +6 -1
- package/dist/cjs/services/providers/openrouter/OpenRouterChatService.js.map +1 -1
- package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.js +11 -4
- package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.js.map +1 -1
- package/dist/cjs/services/providers/sakana/SakanaChatService.d.ts +3 -1
- package/dist/cjs/services/providers/sakana/SakanaChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/sakana/SakanaChatService.js +2 -2
- package/dist/cjs/services/providers/sakana/SakanaChatService.js.map +1 -1
- package/dist/cjs/services/providers/sakana/SakanaChatServiceProvider.d.ts +2 -2
- package/dist/cjs/services/providers/sakana/SakanaChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/sakana/SakanaChatServiceProvider.js +22 -7
- package/dist/cjs/services/providers/sakana/SakanaChatServiceProvider.js.map +1 -1
- package/dist/cjs/services/providers/xai/XAIChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/xai/XAIChatService.js +1 -1
- package/dist/cjs/services/providers/xai/XAIChatService.js.map +1 -1
- package/dist/cjs/services/providers/xai/XAIChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/xai/XAIChatServiceProvider.js +2 -4
- package/dist/cjs/services/providers/xai/XAIChatServiceProvider.js.map +1 -1
- package/dist/cjs/services/providers/zai/ZAIChatService.d.ts +3 -1
- package/dist/cjs/services/providers/zai/ZAIChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/zai/ZAIChatService.js +5 -1
- package/dist/cjs/services/providers/zai/ZAIChatService.js.map +1 -1
- package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.js +37 -2
- package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.js.map +1 -1
- package/dist/cjs/types/toolChat.d.ts +6 -0
- package/dist/cjs/types/toolChat.d.ts.map +1 -1
- package/dist/esm/constants/claude.d.ts +2 -0
- package/dist/esm/constants/claude.d.ts.map +1 -1
- package/dist/esm/constants/claude.js +12 -3
- package/dist/esm/constants/claude.js.map +1 -1
- package/dist/esm/constants/deepseek.d.ts +3 -0
- package/dist/esm/constants/deepseek.d.ts.map +1 -1
- package/dist/esm/constants/deepseek.js +11 -0
- package/dist/esm/constants/deepseek.js.map +1 -1
- package/dist/esm/constants/gemini.d.ts +1 -0
- package/dist/esm/constants/gemini.d.ts.map +1 -1
- package/dist/esm/constants/gemini.js +10 -0
- package/dist/esm/constants/gemini.js.map +1 -1
- package/dist/esm/constants/mistral.d.ts +2 -0
- package/dist/esm/constants/mistral.d.ts.map +1 -1
- package/dist/esm/constants/mistral.js +2 -2
- package/dist/esm/constants/mistral.js.map +1 -1
- package/dist/esm/constants/openrouter.d.ts +12 -0
- package/dist/esm/constants/openrouter.d.ts.map +1 -1
- package/dist/esm/constants/openrouter.js +106 -7
- package/dist/esm/constants/openrouter.js.map +1 -1
- package/dist/esm/constants/plamo.d.ts +2 -0
- package/dist/esm/constants/plamo.d.ts.map +1 -1
- package/dist/esm/constants/plamo.js +3 -4
- package/dist/esm/constants/plamo.js.map +1 -1
- package/dist/esm/constants/sakana.d.ts +6 -0
- package/dist/esm/constants/sakana.d.ts.map +1 -1
- package/dist/esm/constants/sakana.js +13 -0
- package/dist/esm/constants/sakana.js.map +1 -1
- package/dist/esm/constants/xai.d.ts +1 -0
- package/dist/esm/constants/xai.d.ts.map +1 -1
- package/dist/esm/constants/xai.js +6 -2
- package/dist/esm/constants/xai.js.map +1 -1
- package/dist/esm/constants/zai.d.ts +11 -0
- package/dist/esm/constants/zai.d.ts.map +1 -1
- package/dist/esm/constants/zai.js +63 -1
- package/dist/esm/constants/zai.js.map +1 -1
- package/dist/esm/services/ChatServiceFactory.d.ts.map +1 -1
- package/dist/esm/services/ChatServiceFactory.js +16 -9
- package/dist/esm/services/ChatServiceFactory.js.map +1 -1
- package/dist/esm/services/providers/ChatServiceProvider.d.ts +7 -3
- package/dist/esm/services/providers/ChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/claude/ClaudeChatService.d.ts +2 -3
- package/dist/esm/services/providers/claude/ClaudeChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/claude/ClaudeChatService.js +23 -15
- package/dist/esm/services/providers/claude/ClaudeChatService.js.map +1 -1
- package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.js +2 -4
- package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.js.map +1 -1
- package/dist/esm/services/providers/deepseek/DeepSeekChatServiceProvider.d.ts +2 -2
- package/dist/esm/services/providers/deepseek/DeepSeekChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/deepseek/DeepSeekChatServiceProvider.js +17 -8
- package/dist/esm/services/providers/deepseek/DeepSeekChatServiceProvider.js.map +1 -1
- package/dist/esm/services/providers/openai/OpenAIChatService.d.ts +2 -1
- package/dist/esm/services/providers/openai/OpenAIChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/openai/OpenAIChatService.js +3 -1
- package/dist/esm/services/providers/openai/OpenAIChatService.js.map +1 -1
- package/dist/esm/services/providers/openai/openaiRequestBuilder.d.ts +2 -1
- package/dist/esm/services/providers/openai/openaiRequestBuilder.d.ts.map +1 -1
- package/dist/esm/services/providers/openai/openaiRequestBuilder.js +4 -1
- package/dist/esm/services/providers/openai/openaiRequestBuilder.js.map +1 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatService.js +7 -2
- package/dist/esm/services/providers/openrouter/OpenRouterChatService.js.map +1 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.js +12 -5
- package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.js.map +1 -1
- package/dist/esm/services/providers/sakana/SakanaChatService.d.ts +3 -1
- package/dist/esm/services/providers/sakana/SakanaChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/sakana/SakanaChatService.js +2 -2
- package/dist/esm/services/providers/sakana/SakanaChatService.js.map +1 -1
- package/dist/esm/services/providers/sakana/SakanaChatServiceProvider.d.ts +2 -2
- package/dist/esm/services/providers/sakana/SakanaChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/sakana/SakanaChatServiceProvider.js +23 -8
- package/dist/esm/services/providers/sakana/SakanaChatServiceProvider.js.map +1 -1
- package/dist/esm/services/providers/xai/XAIChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/xai/XAIChatService.js +2 -2
- package/dist/esm/services/providers/xai/XAIChatService.js.map +1 -1
- package/dist/esm/services/providers/xai/XAIChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/xai/XAIChatServiceProvider.js +3 -5
- package/dist/esm/services/providers/xai/XAIChatServiceProvider.js.map +1 -1
- package/dist/esm/services/providers/zai/ZAIChatService.d.ts +3 -1
- package/dist/esm/services/providers/zai/ZAIChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/zai/ZAIChatService.js +6 -2
- package/dist/esm/services/providers/zai/ZAIChatService.js.map +1 -1
- package/dist/esm/services/providers/zai/ZAIChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/zai/ZAIChatServiceProvider.js +38 -3
- package/dist/esm/services/providers/zai/ZAIChatServiceProvider.js.map +1 -1
- package/dist/esm/types/toolChat.d.ts +6 -0
- package/dist/esm/types/toolChat.d.ts.map +1 -1
- package/dist/umd/aituber-onair-chat.js +376 -71
- package/dist/umd/aituber-onair-chat.min.js +9 -9
- package/package.json +1 -1
package/README.ja.md
CHANGED
|
@@ -581,7 +581,7 @@ const claudeService = ChatServiceFactory.createChatService('claude', {
|
|
|
581
581
|
対応するClaudeモデルでは `reasoning_effort` を指定でき、Anthropic APIの
|
|
582
582
|
`output_config.effort` に変換されます。省略時のClaude API既定値は `high` です。
|
|
583
583
|
|
|
584
|
-
- Claude Opus 5、Sonnet 5、Opus 4.8、Opus 4.7:
|
|
584
|
+
- Claude Fable 5、Opus 5、Sonnet 5、Opus 4.8、Opus 4.7:
|
|
585
585
|
`low`、`medium`、`high`、`xhigh`、`max`
|
|
586
586
|
- Claude Opus 4.6、Sonnet 4.6:
|
|
587
587
|
`low`、`medium`、`high`、`max`
|
|
@@ -591,6 +591,9 @@ effortを下げるとレイテンシーとトークン効率を優先できま
|
|
|
591
591
|
短さは保証されません。短い回答が必要な場合は、回答長の指示も併用してください。
|
|
592
592
|
複数ターンのツール呼び出しでは provider 固有の thinking / tool-use ブロックを
|
|
593
593
|
保持するため、返された `completion.assistant_message` を会話履歴へ追加してください。
|
|
594
|
+
Claudeのrefusalはtool errorではなく終端completionとして扱います。Anthropicから
|
|
595
|
+
返された場合は、streamingの`processChat` callbackを含めて
|
|
596
|
+
`finish_reason: 'refusal'`と`stop_details`を保持します。
|
|
594
597
|
|
|
595
598
|
#### Google Gemini
|
|
596
599
|
|
|
@@ -603,9 +606,10 @@ const geminiService = ChatServiceFactory.createChatService('gemini', {
|
|
|
603
606
|
```
|
|
604
607
|
|
|
605
608
|
`gemini-3.1-flash-lite` は既定の Flash-Lite モデルとして維持します。
|
|
606
|
-
最新の安定版・低遅延 Flash-Lite として `gemini-3.5-flash-lite
|
|
607
|
-
|
|
608
|
-
|
|
609
|
+
最新の安定版・低遅延 Flash-Lite として `gemini-3.5-flash-lite` を利用できます。
|
|
610
|
+
より高度なコーディング・エージェント・マルチモーダル用途向けの安定版として
|
|
611
|
+
`gemini-3.7-flash` を明示的に選択でき、`gemini-3.6-flash` と
|
|
612
|
+
`gemini-3.5-flash` も引き続き利用できます。
|
|
609
613
|
`gemini-3.1-flash-lite-preview`、`gemini-3-pro-preview`、
|
|
610
614
|
`gemini-2.5-flash-lite-preview-06-17` などの preview / deprecated
|
|
611
615
|
モデルは後方互換のため明示的な model string では利用できますが、本番用途では
|
|
@@ -614,13 +618,14 @@ const geminiService = ChatServiceFactory.createChatService('gemini', {
|
|
|
614
618
|
Gemini 3 モデルでは `reasoning_effort` を指定できます。この値は Gemini の
|
|
615
619
|
`thinkingConfig.thinkingLevel` に変換され、`includeThoughts: false` を維持します。
|
|
616
620
|
|
|
617
|
-
- Gemini 3
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
+
- Gemini 3 モデルは、低遅延なチャット向けに利用可能な最小の effort を既定値にします。
|
|
622
|
+
- `minimal` 対応の Flash / Flash-Lite は `minimal`, `low`, `medium`, `high`
|
|
623
|
+
を公開し、既定値は `minimal` です。
|
|
624
|
+
- `minimal` 非対応モデルは `low`, `medium`, `high` を公開し、既定値は `low`
|
|
625
|
+
です。現在該当するのは Gemini 3.7 Flash と Gemini 3 Pro です。
|
|
621
626
|
|
|
622
|
-
|
|
623
|
-
|
|
627
|
+
これにより各モデルで利用可能な最小の thinking level を使い、短い出力上限を
|
|
628
|
+
hidden thinking が使い切るリスクを抑えます。Gemini 2.5 は
|
|
624
629
|
`thinkingBudget` を使うため、`reasoning_effort` は送信しません。
|
|
625
630
|
|
|
626
631
|
#### OpenRouter
|
|
@@ -638,16 +643,20 @@ const openRouterService = ChatServiceFactory.createChatService('openrouter', {
|
|
|
638
643
|
|
|
639
644
|
**OpenRouterの重要な注意事項:**
|
|
640
645
|
- `openrouter/auto` と `openrouter/auto-beta` では、ルーティング先のreasoningモデルが可視テキストの生成前に出力予算を使い切ることを避けるため、`responseLength` 由来のトークン制限を自動的に無効化します。明示的に指定した `maxTokens` はそのまま使用します。
|
|
641
|
-
- `gpt-oss-20b:free
|
|
646
|
+
- `gpt-oss-20b:free`、`z-ai/glm-5.2`、`z-ai/glm-5.3`、`z-ai/glm-5.3-flash` では、すべてのトークン制限を無効化します。これらのモデルと動的Routerでは、応答の長さをプロンプトで指示してください(例:「40文字以内で回答してください」)。
|
|
642
647
|
- 無料階層にはレート制限があります(20リクエスト/分)
|
|
643
648
|
- 無料モデル判定はモデルID末尾の `:free` で行います(動的取得した `:free` も同様にレート制限対象)
|
|
644
649
|
- `openrouter/auto-beta` はタスクを判定するBetaルーターです。リクエストごとにモデルを選択し、そのモデルの料金が適用されます。選択結果はレスポンスの `model` またはOpenRouter Activityで確認できます。
|
|
645
650
|
- `openrouter/fusion` は複数モデルのパネルとジャッジモデルを実行します。単一モデルの固定単価ではなく、内部で使われた各モデル呼び出しと web search/fetch 利用分の合算で課金されます。
|
|
646
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`で開始します。
|
|
647
654
|
- OpenRouterのreasoning無効化には `reasoning.effort: 'none'` を送ります。`exclude: true` はreasoning内容を返すかどうかだけを制御し、reasoning自体は無効化しません。
|
|
648
|
-
- DeepSeek V4
|
|
655
|
+
- DeepSeek V4モデルは、再現可能なバージョンを選べるようOpenRouterのデフォルトではなく明示的な選択肢にしています。すべて応答性重視で`none`がデフォルトです:
|
|
649
656
|
- `deepseek/deepseek-v4-flash-0731`: 現行の固定0731スナップショット。`none`, `low`, `high`, `max`に対応。
|
|
650
657
|
- `deepseek/deepseek-v4-flash`: 旧無印0423スナップショット。`none`, `high`, `xhigh`に対応。
|
|
658
|
+
- `deepseek/deepseek-v4-pro-0813`: 固定Proスナップショット。`none`, `high`, `xhigh`に対応。
|
|
659
|
+
- `deepseek/deepseek-v4-flash-vision-exp`: 画像対応の実験モデル。`none`, `low`, `high`, `max`に対応。
|
|
651
660
|
- コーディング特化モデルはデフォルトではなく明示的な選択肢です。`kwaipilot/kat-coder-air-v2.5` と `kwaipilot/kat-coder-pro-v2.5` はテキスト専用です。
|
|
652
661
|
- `moonshotai/kimi-k3` の可用性は上流キャパシティに依存し、混雑時はOpenRouterから429レスポンスが返る場合があります。
|
|
653
662
|
- `x-ai/grok-4.5` には現在のEU制限を含む地域別の可用性制限があります。`~x-ai/grok-latest` がGrok 4.5へ解決される場合も同じ制限を受けます。
|
|
@@ -658,19 +667,20 @@ const openRouterService = ChatServiceFactory.createChatService('openrouter', {
|
|
|
658
667
|
- `~openai/gpt-latest`, `~openai/gpt-mini-latest`
|
|
659
668
|
- `openai/gpt-5.6-sol`, `openai/gpt-5.6-terra`, `openai/gpt-5.6-luna`
|
|
660
669
|
- `openai/gpt-5.5-pro`, `openai/gpt-5.5`
|
|
661
|
-
- `openai/gpt-5.1-
|
|
670
|
+
- `openai/gpt-5.1-codex`, `openai/gpt-5-mini`, `openai/gpt-5-nano`
|
|
662
671
|
- `openai/gpt-4o`, `openai/gpt-4.1-mini`, `openai/gpt-4.1-nano`
|
|
663
672
|
- `~anthropic/claude-sonnet-latest`, `~anthropic/claude-haiku-latest`
|
|
664
|
-
- `anthropic/claude-opus-5`
|
|
673
|
+
- `anthropic/claude-fable-5`, `anthropic/claude-sonnet-5`, `anthropic/claude-opus-5`, `anthropic/claude-opus-4.8`
|
|
665
674
|
- `anthropic/claude-opus-4`, `anthropic/claude-sonnet-4`
|
|
666
|
-
- `anthropic/claude-
|
|
675
|
+
- `anthropic/claude-haiku-4.5`
|
|
667
676
|
- `~google/gemini-pro-latest`, `~google/gemini-flash-latest`
|
|
668
|
-
- `google/gemini-3.6-flash`, `google/gemini-3.5-flash-lite`
|
|
677
|
+
- `google/gemini-3.7-flash`, `google/gemini-3.6-flash`, `google/gemini-3.5-flash-lite`
|
|
669
678
|
- `google/gemini-2.5-pro`, `google/gemini-2.5-flash`, `google/gemini-2.5-flash-lite-preview-09-2025`
|
|
670
|
-
- `z-ai/glm-5.
|
|
671
|
-
- `~x-ai/grok-latest`, `x-ai/grok-4.5`
|
|
672
|
-
- `deepseek/deepseek-v4-flash-0731`, `deepseek/deepseek-v4-flash`
|
|
673
|
-
-
|
|
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`
|
|
680
|
+
- `~x-ai/grok-latest`, `x-ai/grok-4.6`, `x-ai/grok-4.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`
|
|
674
684
|
- `kwaipilot/kat-coder-air-v2.5`, `kwaipilot/kat-coder-pro-v2.5`
|
|
675
685
|
|
|
676
686
|
**OpenRouter freeモデルの動的リフレッシュ**
|
|
@@ -706,17 +716,22 @@ console.log(result.fetchedAt); // Date.now() のタイムスタンプ
|
|
|
706
716
|
```typescript
|
|
707
717
|
const zaiService = ChatServiceFactory.createChatService('zai', {
|
|
708
718
|
apiKey: process.env.ZAI_API_KEY,
|
|
709
|
-
model: 'glm-5.
|
|
710
|
-
|
|
719
|
+
model: 'glm-5.3',
|
|
720
|
+
reasoning_effort: 'low', // package既定値: 最小のthinking
|
|
721
|
+
responseLength: 'short',
|
|
722
|
+
visionModel: 'glm-5.3-flash', // 任意: ビジョン対応モデル
|
|
711
723
|
responseFormat: { type: 'json_object' } // 任意: JSONモード
|
|
712
724
|
});
|
|
713
725
|
```
|
|
714
726
|
|
|
715
727
|
注意:
|
|
716
728
|
- Z.aiはOpenAI互換のChat Completionsを利用します。
|
|
717
|
-
- テキスト対応モデル: `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`
|
|
718
|
-
- ビジョン対応モデル: `glm-5v-turbo`, `glm-4.6V`, `glm-4.6V-FlashX`, `glm-4.6V-Flash`
|
|
719
|
-
-
|
|
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はデフォルトでクリアします。
|
|
732
|
+
- GLM-5.2では`reasoning_effort: 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max'`を公開します。package既定値は低遅延チャット向けの`none`で、thinkingを無効化します。
|
|
733
|
+
- Z.ai側の実効tierは3段階です。`none`/`minimal`は`none`、`low`/`medium`/`high`は`high`、`xhigh`/`max`は`max`へpackage側で正規化して送信します。
|
|
734
|
+
- `reasoning_effort`を省略した場合は、従来の明示的な`thinking`設定も利用できます。両方を指定した場合は`reasoning_effort`を優先します。
|
|
720
735
|
|
|
721
736
|
#### xAI(Grok)
|
|
722
737
|
|
|
@@ -731,7 +746,8 @@ const xaiService = ChatServiceFactory.createChatService('xai', {
|
|
|
731
746
|
|
|
732
747
|
注意:
|
|
733
748
|
- xAIはOpenAI互換のChat Completionsを利用します。
|
|
734
|
-
- 対応モデル: `grok-4.6`, `grok-4.5`, `grok-4.3`, `grok-4.20-0309-reasoning`, `grok-4.20-0309-non-reasoning
|
|
749
|
+
- 対応モデル: `grok-4.6`, `grok-4.5`, `grok-4.3`, `grok-4.20-0309-reasoning`, `grok-4.20-0309-non-reasoning`
|
|
750
|
+
- packageのデフォルトは`reasoning_effort: 'none'`の`grok-4.3`です。廃止済みGrok 4.1 Fastの定数はソース互換のためexportを残しますが、対応一覧には表示しません。
|
|
735
751
|
- `reasoning_effort` は対応モデルにのみ送信されます。`grok-4.6` は `low`, `medium`, `high`, `xhigh`、`grok-4.5` は `low`, `medium`, `high` に対応し、いずれもチャット用途向けにデフォルトは `low` です。`grok-4.3` は `none`, `low`, `medium`, `high` に対応し、デフォルトは `none` です。
|
|
736
752
|
- 対応 xAI モデルではビジョンとツール・関数呼び出しを利用できます。Grok 4.6 も React basic サンプルで画像チャットを直接検証できるようにビジョン対応として有効化しています。
|
|
737
753
|
|
|
@@ -784,11 +800,12 @@ const deepSeekService = ChatServiceFactory.createChatService('deepseek', {
|
|
|
784
800
|
|
|
785
801
|
注意:
|
|
786
802
|
- DeepSeekはOpenAI互換のChat Completions(`https://api.deepseek.com/chat/completions`)を利用します。
|
|
787
|
-
-
|
|
803
|
+
- 推奨テキストモデルは`deepseek-v4-flash`(デフォルト)と`deepseek-v4-pro`です。画像入力には実験モデル`deepseek-v4-flash-vision-exp`を明示選択できます。
|
|
788
804
|
- legacy alias の`deepseek-chat`と`deepseek-reasoner`は互換用にexportしていますが、DeepSeek側で非推奨かつ2026-07-24廃止予定です。
|
|
789
805
|
- `openai-compatible`にendpoint/modelを直接指定して使うこともできますが、`deepseek` providerならendpointとデフォルトモデル指定が簡単です。
|
|
790
806
|
- `deepseek-v4-flash`は`reasoning_effort: 'none' | 'low' | 'high' | 'max'`に対応します。packageのデフォルトは応答性重視の`none`で、`thinking: { type: 'disabled' }`へ変換します。それ以外はthinkingを有効化してDeepSeekの`reasoning_effort`として送信します。
|
|
791
807
|
- `deepseek-v4-pro`では`none`, `high`, `max`を公開します。DeepSeek側で`low`が`high`へ変換されるため、packageでも明示的に正規化します。
|
|
808
|
+
- `deepseek-v4-flash-vision-exp`は同じChat Completions画像形式を使い、ビジョンチャットでもthinkingはデフォルト`none`です。
|
|
792
809
|
- ThinkingとTool Callingの併用は、DeepSeekがtool turn間での`reasoning_content`再送を要求し、thinking時に通常の`tool_choice`形式を受け付けないため、現時点では明示的に拒否します。デフォルトの`none`ではTool Callingを利用できます。
|
|
793
810
|
|
|
794
811
|
#### Mistral
|
|
@@ -809,7 +826,8 @@ await mistralService.processChat(
|
|
|
809
826
|
注意:
|
|
810
827
|
- Mistralは`https://api.mistral.ai/v1/chat/completions`のChat Completionsを利用します。
|
|
811
828
|
- デフォルトモデルは`mistral-small-latest`です。低コスト、汎用チャット品質、vision対応、adjustable reasoning対応のバランスがよいためサンプル向けの既定値にしています。
|
|
812
|
-
- 対応モデル: `mistral-small-latest`, `ministral-3b-2512`, `ministral-8b-2512`, `ministral-14b-2512`, `mistral-medium-3-5`, `mistral-large-latest`, `mistral-large-2512`, `mistral-small-2603
|
|
829
|
+
- 対応モデル: `mistral-small-latest`, `ministral-3b-2512`, `ministral-8b-2512`, `ministral-14b-2512`, `mistral-medium-3-5`, `mistral-large-latest`, `mistral-large-2512`, `mistral-small-2603`
|
|
830
|
+
- 廃止済みの`mistral-medium-2508`はソース互換用にのみexportを残します。
|
|
813
831
|
- Ministral 3系は同じChat Completions endpointでtext、vision、streaming、function callingに対応します。
|
|
814
832
|
- `reasoning_effort`は`'none' | 'high'`に対応し、Mistral公式docsに合わせて`mistral-small-latest`と`mistral-medium-3-5`にだけ送信します。それ以外のモデルでは省略します。
|
|
815
833
|
|
|
@@ -830,14 +848,16 @@ const mistralReasoningService = ChatServiceFactory.createChatService(
|
|
|
830
848
|
|
|
831
849
|
```typescript
|
|
832
850
|
const sakanaService = ChatServiceFactory.createChatService('sakana', {
|
|
833
|
-
apiKey: process.env.
|
|
834
|
-
model: '
|
|
851
|
+
apiKey: process.env.SAKANA_API_KEY,
|
|
852
|
+
model: 'sakana-namazu',
|
|
853
|
+
thinking: { type: 'disabled' }, // Namazuのpackageデフォルト
|
|
835
854
|
});
|
|
836
855
|
```
|
|
837
856
|
|
|
838
857
|
注意:
|
|
839
858
|
- Sakana AI Fuguは`https://api.sakana.ai/v1/chat/completions`のOpenAI互換Chat Completionsを利用します。
|
|
840
|
-
- 対応モデル: `fugu
|
|
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' }`で有効化できます。
|
|
841
861
|
- Sakanaは新しいChat Completions連携では`max_completion_tokens`を推奨していますが、legacyな`max_tokens`も受け付けます。このproviderでは既存OpenAI互換providerの挙動に合わせて`max_tokens`を使います。
|
|
842
862
|
- Sakanaは最高性能にはResponses APIを推奨していますが、このproviderはpackageのOpenAI互換chat経路に合わせてChat Completionsを利用します。
|
|
843
863
|
- ブラウザから直接呼ぶ場合、Sakana側がoriginに対してCORSを許可していないと失敗します。ブラウザ単体ではなく、Node.js、backend/serverless proxy、または`examples/node-basic/sakana-example.js`を利用してください。
|
|
@@ -853,8 +873,8 @@ const plamoService = ChatServiceFactory.createChatService('plamo', {
|
|
|
853
873
|
|
|
854
874
|
注意:
|
|
855
875
|
- PLaMoは`https://api.platform.preferredai.jp/v1/chat/completions`のOpenAI互換Chat Completionsを利用します。
|
|
856
|
-
- 対応モデル: `plamo-3.0-prime
|
|
857
|
-
- `plamo-2.2-prime
|
|
876
|
+
- 対応モデル: `plamo-3.0-prime`(デフォルト)
|
|
877
|
+
- `plamo-2.2-prime`はソース互換用にexportを残しますが、PLaMO公式docsで2026-09-30の提供終了と`plamo-3.0-prime`への移行が案内されているため、対応一覧には表示しません。
|
|
858
878
|
- reasoning対応モデルでは`reasoning_effort`に`none`または`medium`を指定できます。
|
|
859
879
|
- このproviderではvision対応はサポート対象として扱いません。
|
|
860
880
|
- PLaMoは`openai-compatible`にendpointとmodelを直接指定して使うこともできます。
|
|
@@ -1268,16 +1288,16 @@ vision、JSON mode、reasoning 設定を使うべきかを provider 固有ロジ
|
|
|
1268
1288
|
|
|
1269
1289
|
- **OpenAI**: GPT-5.6(Sol/Terra/Luna)、GPT-5.5、GPT-5.4 Pro、GPT-5.4、GPT-5.4 Mini、GPT-5.4 Nano、GPT-5.1、GPT-5(Nano/Mini/Standard)、GPT-4.1(miniとnanoを含む), GPT-4, GPT-4o-mini, O3-mini, o1, o1-miniのモデルをサポート
|
|
1270
1290
|
- **OpenAI-Compatible**: OpenAI互換 endpoint 経由で任意のローカル/セルフホスト model ID を利用できます。vision 対応可否は endpoint ごとに差があるため、原則 `unknown` 扱いです
|
|
1271
|
-
- **Gemini**: 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
|
|
1272
|
-
- **Claude**: 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
|
|
1273
|
-
- **OpenRouter**:
|
|
1274
|
-
- **Z.ai**: GLM-5.2/GLM-5.1/GLM-5/GLM-5-Turbo
|
|
1275
|
-
- **xAI**: Grok 4.6
|
|
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 を残しています
|
|
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として保持します
|
|
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`を既定値にします
|
|
1295
|
+
- **xAI**: Grok 4.6、Grok 4.5、Grok 4.3、Grok 4.20 Reasoning/Non-Reasoningをvision対応でサポート。低遅延のデフォルトは`reasoning_effort: 'none'`のGrok 4.3です
|
|
1276
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`、いずれもビジョン対応)をサポート
|
|
1277
|
-
- **DeepSeek**: DeepSeek V4 Flash
|
|
1297
|
+
- **DeepSeek**: DeepSeek V4 Flash、V4 Pro、明示選択用の実験ビジョンモデル`deepseek-v4-flash-vision-exp`をOpenAI互換Chat Completions経由でサポート。低遅延チャット向けにthinkingはデフォルト無効です
|
|
1278
1298
|
- **Mistral**: Ministral 3系(`ministral-3b-2512`, `ministral-8b-2512`, `ministral-14b-2512`)と現行generalist modelをサポートし、streamingとvisionにも対応。adjustable `reasoning_effort`は対応モデルにだけ送信します
|
|
1279
|
-
- **Sakana AI**: Fugu
|
|
1280
|
-
- **PLaMo**: PLaMo 3.0 Prime(`plamo-3.0-prime`,
|
|
1299
|
+
- **Sakana AI**: Fugu、Fugu Ultra、日本語特化・ビジョン対応のSakana Namazu(`sakana-namazu`)をOpenAI互換Chat Completions経由でサポート。Namazuのthinkingはデフォルト無効です
|
|
1300
|
+
- **PLaMo**: PLaMo 3.0 Prime(`plamo-3.0-prime`, デフォルト)をOpenAI互換Chat Completions経由でサポートし、廃止予定の2.2定数は互換用にexportを残します
|
|
1281
1301
|
- **Gemini Nano**: Chromeブラウザ内蔵AI(LanguageModel API)。デバイス上で動作し、APIキー不要。Webページでは対応するデスクトップ端末上のChrome 148以降が必要で、Chromeフラグの設定は不要。非ストリーミング、ビジョン非対応
|
|
1282
1302
|
|
|
1283
1303
|
## ライセンス
|
package/README.md
CHANGED
|
@@ -595,7 +595,7 @@ the package default. Claude Opus 5 has adaptive thinking enabled by default.
|
|
|
595
595
|
Supported Claude models accept `reasoning_effort`, which maps to Anthropic's
|
|
596
596
|
`output_config.effort`. The Claude API defaults to `high` when it is omitted:
|
|
597
597
|
|
|
598
|
-
- Claude Opus 5, Sonnet 5, Opus 4.8, and Opus 4.7:
|
|
598
|
+
- Claude Fable 5, Opus 5, Sonnet 5, Opus 4.8, and Opus 4.7:
|
|
599
599
|
`low`, `medium`, `high`, `xhigh`, or `max`.
|
|
600
600
|
- Claude Opus 4.6 and Sonnet 4.6:
|
|
601
601
|
`low`, `medium`, `high`, or `max`.
|
|
@@ -607,6 +607,9 @@ output is required.
|
|
|
607
607
|
For multi-turn tool calls, append the returned
|
|
608
608
|
`completion.assistant_message` to history so its provider-native thinking and
|
|
609
609
|
tool-use blocks are preserved.
|
|
610
|
+
Claude refusals are terminal completions rather than tool errors. The returned
|
|
611
|
+
completion preserves `finish_reason: 'refusal'` and Anthropic `stop_details`
|
|
612
|
+
when supplied, including in streaming `processChat` callbacks.
|
|
610
613
|
|
|
611
614
|
#### Google Gemini
|
|
612
615
|
|
|
@@ -620,8 +623,9 @@ const geminiService = ChatServiceFactory.createChatService('gemini', {
|
|
|
620
623
|
|
|
621
624
|
`gemini-3.1-flash-lite` remains the default Flash-Lite model.
|
|
622
625
|
`gemini-3.5-flash-lite` is available as the latest stable, low-latency
|
|
623
|
-
Flash-Lite option
|
|
624
|
-
and multimodal tasks.
|
|
626
|
+
Flash-Lite option. `gemini-3.7-flash` is available as an explicit stable option
|
|
627
|
+
for stronger coding, agentic, and multimodal tasks, while `gemini-3.6-flash`
|
|
628
|
+
remains available for compatibility. Deprecated
|
|
625
629
|
preview and shutdown-scheduled models such as `gemini-3.1-flash-lite-preview`,
|
|
626
630
|
`gemini-3-pro-preview`, and `gemini-2.5-flash-lite-preview-06-17` remain usable
|
|
627
631
|
by explicit model string for backward compatibility, but are no longer
|
|
@@ -631,13 +635,14 @@ advertised in the standard supported-model list for production use.
|
|
|
631
635
|
Gemini 3 models accept `reasoning_effort`, which maps to Gemini
|
|
632
636
|
`thinkingConfig.thinkingLevel` while keeping `includeThoughts: false`:
|
|
633
637
|
|
|
634
|
-
- Gemini 3
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
+
- Gemini 3 models default to their lowest supported effort for low-latency chat.
|
|
639
|
+
- Flash / Flash-Lite models that support `minimal` expose `minimal`, `low`,
|
|
640
|
+
`medium`, and `high`, and default to `minimal`.
|
|
641
|
+
- Models that do not support `minimal` expose `low`, `medium`, and `high`, and
|
|
642
|
+
default to `low`. Current instances are Gemini 3.7 Flash and Gemini 3 Pro.
|
|
638
643
|
|
|
639
|
-
This
|
|
640
|
-
|
|
644
|
+
This uses the lowest supported thinking level for chat and reduces the risk of
|
|
645
|
+
hidden thinking exhausting short output limits. Gemini 2.5 uses
|
|
641
646
|
`thinkingBudget` instead, so `reasoning_effort` is intentionally not sent for
|
|
642
647
|
those models.
|
|
643
648
|
|
|
@@ -656,16 +661,20 @@ const openRouterService = ChatServiceFactory.createChatService('openrouter', {
|
|
|
656
661
|
|
|
657
662
|
**Important Notes for OpenRouter:**
|
|
658
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.
|
|
659
|
-
- All token limits remain disabled for `gpt-oss-20b:free` and `z-ai/glm-5.
|
|
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").
|
|
660
665
|
- Free tier has rate limits (20 requests/minute)
|
|
661
666
|
- Free tier detection is based on the model ID suffix `:free` (dynamic `:free` IDs are also rate-limited)
|
|
662
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.
|
|
663
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.
|
|
664
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.
|
|
665
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.
|
|
666
|
-
- DeepSeek V4
|
|
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:
|
|
667
674
|
- `deepseek/deepseek-v4-flash-0731`: current fixed 0731 snapshot; supports `none`, `low`, `high`, and `max`.
|
|
668
675
|
- `deepseek/deepseek-v4-flash`: older unversioned 0423 snapshot; supports `none`, `high`, and `xhigh`.
|
|
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`.
|
|
669
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.
|
|
670
679
|
- `moonshotai/kimi-k3` availability depends on upstream capacity; OpenRouter may return 429 responses when capacity is constrained.
|
|
671
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.
|
|
@@ -676,19 +685,20 @@ const openRouterService = ChatServiceFactory.createChatService('openrouter', {
|
|
|
676
685
|
- `~openai/gpt-latest`, `~openai/gpt-mini-latest`
|
|
677
686
|
- `openai/gpt-5.6-sol`, `openai/gpt-5.6-terra`, `openai/gpt-5.6-luna`
|
|
678
687
|
- `openai/gpt-5.5-pro`, `openai/gpt-5.5`
|
|
679
|
-
- `openai/gpt-5.1-
|
|
688
|
+
- `openai/gpt-5.1-codex`, `openai/gpt-5-mini`, `openai/gpt-5-nano`
|
|
680
689
|
- `openai/gpt-4o`, `openai/gpt-4.1-mini`, `openai/gpt-4.1-nano`
|
|
681
690
|
- `~anthropic/claude-sonnet-latest`, `~anthropic/claude-haiku-latest`
|
|
682
|
-
- `anthropic/claude-opus-5`
|
|
691
|
+
- `anthropic/claude-fable-5`, `anthropic/claude-sonnet-5`, `anthropic/claude-opus-5`, `anthropic/claude-opus-4.8`
|
|
683
692
|
- `anthropic/claude-opus-4`, `anthropic/claude-sonnet-4`
|
|
684
|
-
- `anthropic/claude-
|
|
693
|
+
- `anthropic/claude-haiku-4.5`
|
|
685
694
|
- `~google/gemini-pro-latest`, `~google/gemini-flash-latest`
|
|
686
|
-
- `google/gemini-3.6-flash`, `google/gemini-3.5-flash-lite`
|
|
695
|
+
- `google/gemini-3.7-flash`, `google/gemini-3.6-flash`, `google/gemini-3.5-flash-lite`
|
|
687
696
|
- `google/gemini-2.5-pro`, `google/gemini-2.5-flash`, `google/gemini-2.5-flash-lite-preview-09-2025`
|
|
688
|
-
- `z-ai/glm-5.
|
|
689
|
-
- `~x-ai/grok-latest`, `x-ai/grok-4.5`
|
|
690
|
-
- `deepseek/deepseek-v4-flash-0731`, `deepseek/deepseek-v4-flash`
|
|
691
|
-
-
|
|
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`
|
|
698
|
+
- `~x-ai/grok-latest`, `x-ai/grok-4.6`, `x-ai/grok-4.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`
|
|
692
702
|
- `kwaipilot/kat-coder-air-v2.5`, `kwaipilot/kat-coder-pro-v2.5`
|
|
693
703
|
|
|
694
704
|
**Dynamic OpenRouter free model refresh**
|
|
@@ -723,17 +733,22 @@ Notes:
|
|
|
723
733
|
```typescript
|
|
724
734
|
const zaiService = ChatServiceFactory.createChatService('zai', {
|
|
725
735
|
apiKey: process.env.ZAI_API_KEY,
|
|
726
|
-
model: 'glm-5.
|
|
727
|
-
|
|
736
|
+
model: 'glm-5.3',
|
|
737
|
+
reasoning_effort: 'low', // Package default: minimum supported thinking
|
|
738
|
+
responseLength: 'short',
|
|
739
|
+
visionModel: 'glm-5.3-flash', // Optional: vision-capable model
|
|
728
740
|
responseFormat: { type: 'json_object' } // Optional JSON mode
|
|
729
741
|
});
|
|
730
742
|
```
|
|
731
743
|
|
|
732
744
|
Notes:
|
|
733
745
|
- Z.ai uses OpenAI-compatible Chat Completions.
|
|
734
|
-
- Supported text models
|
|
735
|
-
- Supported vision models: `glm-5v-turbo`, `glm-4.6V`, `glm-4.6V-FlashX`, `glm-4.6V-Flash
|
|
736
|
-
- `thinking` is
|
|
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.
|
|
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.
|
|
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.
|
|
751
|
+
- Explicit legacy `thinking` remains available when `reasoning_effort` is omitted. `reasoning_effort` takes precedence when both are supplied.
|
|
737
752
|
|
|
738
753
|
#### xAI (Grok)
|
|
739
754
|
|
|
@@ -748,7 +763,8 @@ const xaiService = ChatServiceFactory.createChatService('xai', {
|
|
|
748
763
|
|
|
749
764
|
Notes:
|
|
750
765
|
- xAI uses OpenAI-compatible Chat Completions.
|
|
751
|
-
- Supported models: `grok-4.6`, `grok-4.5`, `grok-4.3`, `grok-4.20-0309-reasoning`, `grok-4.20-0309-non-reasoning
|
|
766
|
+
- Supported models: `grok-4.6`, `grok-4.5`, `grok-4.3`, `grok-4.20-0309-reasoning`, `grok-4.20-0309-non-reasoning`.
|
|
767
|
+
- `grok-4.3` is the package default with `reasoning_effort: 'none'`. Retired Grok 4.1 Fast constants remain exported for source compatibility but are no longer advertised.
|
|
752
768
|
- `reasoning_effort` is sent only for models that support it. `grok-4.6` supports `low`, `medium`, `high`, and `xhigh`; `grok-4.5` supports `low`, `medium`, and `high`. Both default to `low` for chat-style responses. `grok-4.3` supports `none`, `low`, `medium`, and `high` and defaults to `none`.
|
|
753
769
|
- Supported xAI models can be used with vision and tool/function calling. Grok 4.6 vision support is enabled so image chat can be validated directly in the React basic sample.
|
|
754
770
|
|
|
@@ -801,11 +817,12 @@ const deepSeekService = ChatServiceFactory.createChatService('deepseek', {
|
|
|
801
817
|
|
|
802
818
|
Notes:
|
|
803
819
|
- DeepSeek uses OpenAI-compatible Chat Completions at `https://api.deepseek.com/chat/completions`.
|
|
804
|
-
- 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.
|
|
805
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.
|
|
806
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.
|
|
807
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`.
|
|
808
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.
|
|
809
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.
|
|
810
827
|
|
|
811
828
|
#### Mistral
|
|
@@ -826,7 +843,8 @@ await mistralService.processChat(
|
|
|
826
843
|
Notes:
|
|
827
844
|
- Mistral uses Chat Completions at `https://api.mistral.ai/v1/chat/completions`.
|
|
828
845
|
- Default model: `mistral-small-latest`, chosen for the sample-friendly balance of low cost, strong general chat quality, vision support, and adjustable reasoning support.
|
|
829
|
-
- Supported models: `mistral-small-latest`, `ministral-3b-2512`, `ministral-8b-2512`, `ministral-14b-2512`, `mistral-medium-3-5`, `mistral-large-latest`, `mistral-large-2512`, `mistral-small-2603
|
|
846
|
+
- Supported models: `mistral-small-latest`, `ministral-3b-2512`, `ministral-8b-2512`, `ministral-14b-2512`, `mistral-medium-3-5`, `mistral-large-latest`, `mistral-large-2512`, `mistral-small-2603`.
|
|
847
|
+
- Retired `mistral-medium-2508` remains exported only for source compatibility.
|
|
830
848
|
- Ministral 3 models support text, vision, streaming, and function calling through the same Chat Completions endpoint.
|
|
831
849
|
- `reasoning_effort` is supported as `'none' | 'high'` and is only sent for `mistral-small-latest` and `mistral-medium-3-5`, matching Mistral's adjustable reasoning docs. It is omitted for other models.
|
|
832
850
|
|
|
@@ -847,14 +865,16 @@ const mistralReasoningService = ChatServiceFactory.createChatService(
|
|
|
847
865
|
|
|
848
866
|
```typescript
|
|
849
867
|
const sakanaService = ChatServiceFactory.createChatService('sakana', {
|
|
850
|
-
apiKey: process.env.
|
|
851
|
-
model: '
|
|
868
|
+
apiKey: process.env.SAKANA_API_KEY,
|
|
869
|
+
model: 'sakana-namazu',
|
|
870
|
+
thinking: { type: 'disabled' }, // Package default for Namazu
|
|
852
871
|
});
|
|
853
872
|
```
|
|
854
873
|
|
|
855
874
|
Notes:
|
|
856
875
|
- Sakana AI Fugu uses OpenAI-compatible Chat Completions at `https://api.sakana.ai/v1/chat/completions`.
|
|
857
|
-
- Supported models: `fugu` (default), `fugu-ultra`, and `fugu-ultra
|
|
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' }`.
|
|
858
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.
|
|
859
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.
|
|
860
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.
|
|
@@ -870,10 +890,8 @@ const plamoService = ChatServiceFactory.createChatService('plamo', {
|
|
|
870
890
|
|
|
871
891
|
Notes:
|
|
872
892
|
- PLaMo uses OpenAI-compatible Chat Completions at `https://api.platform.preferredai.jp/v1/chat/completions`.
|
|
873
|
-
- Supported
|
|
874
|
-
- `plamo-2.2-prime`
|
|
875
|
-
it is scheduled to be discontinued on 2026-09-30 and consolidated into
|
|
876
|
-
`plamo-3.0-prime`.
|
|
893
|
+
- Supported model: `plamo-3.0-prime` (default).
|
|
894
|
+
- `plamo-2.2-prime` remains exported for source compatibility, but is no longer advertised because PLaMo documents its 2026-09-30 retirement and replacement by `plamo-3.0-prime`.
|
|
877
895
|
- `reasoning_effort` can be set to `none` or `medium` for reasoning-capable PLaMo models.
|
|
878
896
|
- Vision is not advertised as supported by this provider.
|
|
879
897
|
- PLaMo can also be used through `openai-compatible` by manually providing the full endpoint and model.
|
|
@@ -1293,16 +1311,16 @@ Currently, the following AI providers are built-in:
|
|
|
1293
1311
|
|
|
1294
1312
|
- **OpenAI**: Supports models like GPT-5.6 (Sol/Terra/Luna), GPT-5.5, GPT-5.4 Pro, GPT-5.4, GPT-5.4 Mini, GPT-5.4 Nano, GPT-5.1, GPT-5 (Nano/Mini/Standard), GPT-4.1 (including mini and nano), GPT-4, GPT-4o-mini, O3-mini, o1, o1-mini
|
|
1295
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.
|
|
1296
|
-
- **Gemini**: Supports recommended models like 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 Flash
|
|
1297
|
-
- **Claude**: Supports current Claude API model IDs including 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
|
|
1298
|
-
- **OpenRouter**: Supports a curated OpenRouter model list (OpenAI/Claude/Gemini/Z.ai/xAI/Kimi/DeepSeek/Kwaipilot). See the OpenRouter section for model IDs.
|
|
1299
|
-
- **Z.ai**: Supports GLM-5.2/GLM-5.1/GLM-5/GLM-5-Turbo
|
|
1300
|
-
- **xAI**: Supports Grok 4.6
|
|
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.
|
|
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.
|
|
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`.
|
|
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'`.
|
|
1301
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
|
|
1302
|
-
- **DeepSeek**: Supports DeepSeek V4 Flash (`deepseek-v4-flash`)
|
|
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.
|
|
1303
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.
|
|
1304
|
-
- **Sakana AI**: Supports Fugu (`fugu`)
|
|
1305
|
-
- **PLaMo**: Supports PLaMo 3.0 Prime (`plamo-3.0-prime`, default)
|
|
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.
|
|
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.
|
|
1306
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.
|
|
1307
1325
|
|
|
1308
1326
|
## License
|
|
@@ -12,8 +12,10 @@ export declare const MODEL_CLAUDE_4_6_SONNET = "claude-sonnet-4-6";
|
|
|
12
12
|
export declare const MODEL_CLAUDE_4_6_OPUS = "claude-opus-4-6";
|
|
13
13
|
export declare const MODEL_CLAUDE_4_7_OPUS = "claude-opus-4-7";
|
|
14
14
|
export declare const MODEL_CLAUDE_4_8_OPUS = "claude-opus-4-8";
|
|
15
|
+
export declare const MODEL_CLAUDE_5_FABLE = "claude-fable-5";
|
|
15
16
|
export declare const MODEL_CLAUDE_5_SONNET = "claude-sonnet-5";
|
|
16
17
|
export declare const MODEL_CLAUDE_5_OPUS = "claude-opus-5";
|
|
18
|
+
export declare const CLAUDE_DEPRECATED_MODELS: string[];
|
|
17
19
|
export type ClaudeReasoningEffort = 'low' | 'medium' | 'high' | 'xhigh' | 'max';
|
|
18
20
|
export declare const CLAUDE_VISION_SUPPORTED_MODELS: string[];
|
|
19
21
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/constants/claude.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,0CAA0C,CAAC;AAG3E,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AAC9D,eAAO,MAAM,sBAAsB,8BAA8B,CAAC;AAClE,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AACpE,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AACpE,eAAO,MAAM,qBAAqB,6BAA6B,CAAC;AAChE,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAC5D,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AACpE,eAAO,MAAM,sBAAsB,8BAA8B,CAAC;AAClE,eAAO,MAAM,qBAAqB,6BAA6B,CAAC;AAChE,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAC3D,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/constants/claude.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,0CAA0C,CAAC;AAG3E,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AAC9D,eAAO,MAAM,sBAAsB,8BAA8B,CAAC;AAClE,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AACpE,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AACpE,eAAO,MAAM,qBAAqB,6BAA6B,CAAC;AAChE,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAC5D,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AACpE,eAAO,MAAM,sBAAsB,8BAA8B,CAAC;AAClE,eAAO,MAAM,qBAAqB,6BAA6B,CAAC;AAChE,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAC3D,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AAGnD,eAAO,MAAM,wBAAwB,UAOpC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAiChF,eAAO,MAAM,8BAA8B,UAW1C,CAAC;AAEF;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,MAAM,GACZ,SAAS,qBAAqB,EAAE,CAElC;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,MAAM,GACZ,qBAAqB,GAAG,SAAS,CAEnC;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,qBAAqB,GAC7B,qBAAqB,GAAG,SAAS,CAenC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CLAUDE_VISION_SUPPORTED_MODELS = exports.MODEL_CLAUDE_5_OPUS = exports.MODEL_CLAUDE_5_SONNET = exports.MODEL_CLAUDE_4_8_OPUS = exports.MODEL_CLAUDE_4_7_OPUS = exports.MODEL_CLAUDE_4_6_OPUS = exports.MODEL_CLAUDE_4_6_SONNET = exports.MODEL_CLAUDE_4_5_OPUS = exports.MODEL_CLAUDE_4_5_HAIKU = exports.MODEL_CLAUDE_4_5_SONNET = exports.MODEL_CLAUDE_4_OPUS = exports.MODEL_CLAUDE_4_SONNET = exports.MODEL_CLAUDE_3_7_SONNET = exports.MODEL_CLAUDE_3_5_SONNET = exports.MODEL_CLAUDE_3_5_HAIKU = exports.MODEL_CLAUDE_3_HAIKU = exports.ENDPOINT_CLAUDE_API = void 0;
|
|
3
|
+
exports.CLAUDE_VISION_SUPPORTED_MODELS = exports.CLAUDE_DEPRECATED_MODELS = exports.MODEL_CLAUDE_5_OPUS = exports.MODEL_CLAUDE_5_SONNET = exports.MODEL_CLAUDE_5_FABLE = exports.MODEL_CLAUDE_4_8_OPUS = exports.MODEL_CLAUDE_4_7_OPUS = exports.MODEL_CLAUDE_4_6_OPUS = exports.MODEL_CLAUDE_4_6_SONNET = exports.MODEL_CLAUDE_4_5_OPUS = exports.MODEL_CLAUDE_4_5_HAIKU = exports.MODEL_CLAUDE_4_5_SONNET = exports.MODEL_CLAUDE_4_OPUS = exports.MODEL_CLAUDE_4_SONNET = exports.MODEL_CLAUDE_3_7_SONNET = exports.MODEL_CLAUDE_3_5_SONNET = exports.MODEL_CLAUDE_3_5_HAIKU = exports.MODEL_CLAUDE_3_HAIKU = exports.ENDPOINT_CLAUDE_API = void 0;
|
|
4
4
|
exports.getClaudeSupportedReasoningEfforts = getClaudeSupportedReasoningEfforts;
|
|
5
5
|
exports.isClaudeReasoningEffortModel = isClaudeReasoningEffortModel;
|
|
6
6
|
exports.getDefaultClaudeReasoningEffort = getDefaultClaudeReasoningEffort;
|
|
@@ -20,8 +20,18 @@ exports.MODEL_CLAUDE_4_6_SONNET = 'claude-sonnet-4-6';
|
|
|
20
20
|
exports.MODEL_CLAUDE_4_6_OPUS = 'claude-opus-4-6';
|
|
21
21
|
exports.MODEL_CLAUDE_4_7_OPUS = 'claude-opus-4-7';
|
|
22
22
|
exports.MODEL_CLAUDE_4_8_OPUS = 'claude-opus-4-8';
|
|
23
|
+
exports.MODEL_CLAUDE_5_FABLE = 'claude-fable-5';
|
|
23
24
|
exports.MODEL_CLAUDE_5_SONNET = 'claude-sonnet-5';
|
|
24
25
|
exports.MODEL_CLAUDE_5_OPUS = 'claude-opus-5';
|
|
26
|
+
// Retired model ids remain exported so existing imports continue to compile.
|
|
27
|
+
exports.CLAUDE_DEPRECATED_MODELS = [
|
|
28
|
+
exports.MODEL_CLAUDE_3_HAIKU,
|
|
29
|
+
exports.MODEL_CLAUDE_3_5_HAIKU,
|
|
30
|
+
exports.MODEL_CLAUDE_3_5_SONNET,
|
|
31
|
+
exports.MODEL_CLAUDE_3_7_SONNET,
|
|
32
|
+
exports.MODEL_CLAUDE_4_SONNET,
|
|
33
|
+
exports.MODEL_CLAUDE_4_OPUS,
|
|
34
|
+
];
|
|
25
35
|
const CLAUDE_STANDARD_REASONING_EFFORTS = [
|
|
26
36
|
'low',
|
|
27
37
|
'medium',
|
|
@@ -42,13 +52,11 @@ const CLAUDE_REASONING_EFFORTS_BY_MODEL = {
|
|
|
42
52
|
[exports.MODEL_CLAUDE_4_6_OPUS]: CLAUDE_MAX_REASONING_EFFORTS,
|
|
43
53
|
[exports.MODEL_CLAUDE_4_7_OPUS]: CLAUDE_XHIGH_REASONING_EFFORTS,
|
|
44
54
|
[exports.MODEL_CLAUDE_4_8_OPUS]: CLAUDE_XHIGH_REASONING_EFFORTS,
|
|
55
|
+
[exports.MODEL_CLAUDE_5_FABLE]: CLAUDE_XHIGH_REASONING_EFFORTS,
|
|
45
56
|
[exports.MODEL_CLAUDE_5_SONNET]: CLAUDE_XHIGH_REASONING_EFFORTS,
|
|
46
57
|
[exports.MODEL_CLAUDE_5_OPUS]: CLAUDE_XHIGH_REASONING_EFFORTS,
|
|
47
58
|
};
|
|
48
59
|
exports.CLAUDE_VISION_SUPPORTED_MODELS = [
|
|
49
|
-
exports.MODEL_CLAUDE_3_HAIKU,
|
|
50
|
-
exports.MODEL_CLAUDE_4_SONNET,
|
|
51
|
-
exports.MODEL_CLAUDE_4_OPUS,
|
|
52
60
|
exports.MODEL_CLAUDE_4_5_SONNET,
|
|
53
61
|
exports.MODEL_CLAUDE_4_5_HAIKU,
|
|
54
62
|
exports.MODEL_CLAUDE_4_5_OPUS,
|
|
@@ -56,6 +64,7 @@ exports.CLAUDE_VISION_SUPPORTED_MODELS = [
|
|
|
56
64
|
exports.MODEL_CLAUDE_4_6_OPUS,
|
|
57
65
|
exports.MODEL_CLAUDE_4_7_OPUS,
|
|
58
66
|
exports.MODEL_CLAUDE_4_8_OPUS,
|
|
67
|
+
exports.MODEL_CLAUDE_5_FABLE,
|
|
59
68
|
exports.MODEL_CLAUDE_5_SONNET,
|
|
60
69
|
exports.MODEL_CLAUDE_5_OPUS,
|
|
61
70
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/constants/claude.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/constants/claude.ts"],"names":[],"mappings":";;;AA+EA,gFAIC;AAED,oEAEC;AAKD,0EAIC;AAKD,wEAkBC;AAvHY,QAAA,mBAAmB,GAAG,uCAAuC,CAAC;AAE3E,eAAe;AACF,QAAA,oBAAoB,GAAG,yBAAyB,CAAC;AACjD,QAAA,sBAAsB,GAAG,2BAA2B,CAAC;AACrD,QAAA,uBAAuB,GAAG,4BAA4B,CAAC;AACvD,QAAA,uBAAuB,GAAG,4BAA4B,CAAC;AACvD,QAAA,qBAAqB,GAAG,0BAA0B,CAAC;AACnD,QAAA,mBAAmB,GAAG,wBAAwB,CAAC;AAC/C,QAAA,uBAAuB,GAAG,4BAA4B,CAAC;AACvD,QAAA,sBAAsB,GAAG,2BAA2B,CAAC;AACrD,QAAA,qBAAqB,GAAG,0BAA0B,CAAC;AACnD,QAAA,uBAAuB,GAAG,mBAAmB,CAAC;AAC9C,QAAA,qBAAqB,GAAG,iBAAiB,CAAC;AAC1C,QAAA,qBAAqB,GAAG,iBAAiB,CAAC;AAC1C,QAAA,qBAAqB,GAAG,iBAAiB,CAAC;AAC1C,QAAA,oBAAoB,GAAG,gBAAgB,CAAC;AACxC,QAAA,qBAAqB,GAAG,iBAAiB,CAAC;AAC1C,QAAA,mBAAmB,GAAG,eAAe,CAAC;AAEnD,6EAA6E;AAChE,QAAA,wBAAwB,GAAG;IACtC,4BAAoB;IACpB,8BAAsB;IACtB,+BAAuB;IACvB,+BAAuB;IACvB,6BAAqB;IACrB,2BAAmB;CACpB,CAAC;AAIF,MAAM,iCAAiC,GAAqC;IAC1E,KAAK;IACL,QAAQ;IACR,MAAM;CACP,CAAC;AAEF,MAAM,4BAA4B,GAAqC;IACrE,GAAG,iCAAiC;IACpC,KAAK;CACN,CAAC;AAEF,MAAM,8BAA8B,GAAqC;IACvE,GAAG,iCAAiC;IACpC,OAAO;IACP,KAAK;CACN,CAAC;AAEF,MAAM,iCAAiC,GAGnC;IACF,CAAC,6BAAqB,CAAC,EAAE,iCAAiC;IAC1D,CAAC,+BAAuB,CAAC,EAAE,4BAA4B;IACvD,CAAC,6BAAqB,CAAC,EAAE,4BAA4B;IACrD,CAAC,6BAAqB,CAAC,EAAE,8BAA8B;IACvD,CAAC,6BAAqB,CAAC,EAAE,8BAA8B;IACvD,CAAC,4BAAoB,CAAC,EAAE,8BAA8B;IACtD,CAAC,6BAAqB,CAAC,EAAE,8BAA8B;IACvD,CAAC,2BAAmB,CAAC,EAAE,8BAA8B;CACtD,CAAC;AAEW,QAAA,8BAA8B,GAAG;IAC5C,+BAAuB;IACvB,8BAAsB;IACtB,6BAAqB;IACrB,+BAAuB;IACvB,6BAAqB;IACrB,6BAAqB;IACrB,6BAAqB;IACrB,4BAAoB;IACpB,6BAAqB;IACrB,2BAAmB;CACpB,CAAC;AAEF;;GAEG;AACH,SAAgB,kCAAkC,CAChD,KAAa;IAEb,OAAO,iCAAiC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AACxD,CAAC;AAED,SAAgB,4BAA4B,CAAC,KAAa;IACxD,OAAO,kCAAkC,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,SAAgB,+BAA+B,CAC7C,KAAa;IAEb,OAAO,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,SAAgB,8BAA8B,CAC5C,KAAa,EACb,MAA8B;IAE9B,MAAM,SAAS,GAAG,kCAAkC,CAAC,KAAK,CAAC,CAAC;IAC5D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,+BAA+B,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -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;
|
|
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"}
|