@aituber-onair/chat 0.8.0 → 0.10.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 (95) hide show
  1. package/README.ja.md +59 -4
  2. package/README.md +59 -4
  3. package/dist/cjs/constants/index.d.ts +2 -0
  4. package/dist/cjs/constants/index.d.ts.map +1 -1
  5. package/dist/cjs/constants/index.js +2 -0
  6. package/dist/cjs/constants/index.js.map +1 -1
  7. package/dist/cjs/constants/kimi.d.ts +8 -0
  8. package/dist/cjs/constants/kimi.d.ts.map +1 -0
  9. package/dist/cjs/constants/kimi.js +16 -0
  10. package/dist/cjs/constants/kimi.js.map +1 -0
  11. package/dist/cjs/constants/openrouter.d.ts +20 -1
  12. package/dist/cjs/constants/openrouter.d.ts.map +1 -1
  13. package/dist/cjs/constants/openrouter.js +41 -3
  14. package/dist/cjs/constants/openrouter.js.map +1 -1
  15. package/dist/cjs/constants/zai.d.ts +18 -0
  16. package/dist/cjs/constants/zai.d.ts.map +1 -0
  17. package/dist/cjs/constants/zai.js +33 -0
  18. package/dist/cjs/constants/zai.js.map +1 -0
  19. package/dist/cjs/index.d.ts +4 -0
  20. package/dist/cjs/index.d.ts.map +1 -1
  21. package/dist/cjs/index.js +11 -1
  22. package/dist/cjs/index.js.map +1 -1
  23. package/dist/cjs/services/ChatServiceFactory.d.ts.map +1 -1
  24. package/dist/cjs/services/ChatServiceFactory.js +6 -0
  25. package/dist/cjs/services/ChatServiceFactory.js.map +1 -1
  26. package/dist/cjs/services/providers/ChatServiceProvider.d.ts +12 -0
  27. package/dist/cjs/services/providers/ChatServiceProvider.d.ts.map +1 -1
  28. package/dist/cjs/services/providers/kimi/KimiChatService.d.ts +75 -0
  29. package/dist/cjs/services/providers/kimi/KimiChatService.d.ts.map +1 -0
  30. package/dist/cjs/services/providers/kimi/KimiChatService.js +304 -0
  31. package/dist/cjs/services/providers/kimi/KimiChatService.js.map +1 -0
  32. package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.d.ts +38 -0
  33. package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.d.ts.map +1 -0
  34. package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.js +85 -0
  35. package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.js.map +1 -0
  36. package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts +1 -1
  37. package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts.map +1 -1
  38. package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.js +26 -2
  39. package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.js.map +1 -1
  40. package/dist/cjs/services/providers/zai/ZAIChatService.d.ts +73 -0
  41. package/dist/cjs/services/providers/zai/ZAIChatService.d.ts.map +1 -0
  42. package/dist/cjs/services/providers/zai/ZAIChatService.js +292 -0
  43. package/dist/cjs/services/providers/zai/ZAIChatService.js.map +1 -0
  44. package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.d.ts +36 -0
  45. package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.d.ts.map +1 -0
  46. package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.js +73 -0
  47. package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.js.map +1 -0
  48. package/dist/esm/constants/index.d.ts +2 -0
  49. package/dist/esm/constants/index.d.ts.map +1 -1
  50. package/dist/esm/constants/index.js +2 -0
  51. package/dist/esm/constants/index.js.map +1 -1
  52. package/dist/esm/constants/kimi.d.ts +8 -0
  53. package/dist/esm/constants/kimi.d.ts.map +1 -0
  54. package/dist/esm/constants/kimi.js +12 -0
  55. package/dist/esm/constants/kimi.js.map +1 -0
  56. package/dist/esm/constants/openrouter.d.ts +20 -1
  57. package/dist/esm/constants/openrouter.d.ts.map +1 -1
  58. package/dist/esm/constants/openrouter.js +40 -2
  59. package/dist/esm/constants/openrouter.js.map +1 -1
  60. package/dist/esm/constants/zai.d.ts +18 -0
  61. package/dist/esm/constants/zai.d.ts.map +1 -0
  62. package/dist/esm/constants/zai.js +28 -0
  63. package/dist/esm/constants/zai.js.map +1 -0
  64. package/dist/esm/index.d.ts +4 -0
  65. package/dist/esm/index.d.ts.map +1 -1
  66. package/dist/esm/index.js +6 -0
  67. package/dist/esm/index.js.map +1 -1
  68. package/dist/esm/services/ChatServiceFactory.d.ts.map +1 -1
  69. package/dist/esm/services/ChatServiceFactory.js +6 -0
  70. package/dist/esm/services/ChatServiceFactory.js.map +1 -1
  71. package/dist/esm/services/providers/ChatServiceProvider.d.ts +12 -0
  72. package/dist/esm/services/providers/ChatServiceProvider.d.ts.map +1 -1
  73. package/dist/esm/services/providers/kimi/KimiChatService.d.ts +75 -0
  74. package/dist/esm/services/providers/kimi/KimiChatService.d.ts.map +1 -0
  75. package/dist/esm/services/providers/kimi/KimiChatService.js +300 -0
  76. package/dist/esm/services/providers/kimi/KimiChatService.js.map +1 -0
  77. package/dist/esm/services/providers/kimi/KimiChatServiceProvider.d.ts +38 -0
  78. package/dist/esm/services/providers/kimi/KimiChatServiceProvider.d.ts.map +1 -0
  79. package/dist/esm/services/providers/kimi/KimiChatServiceProvider.js +81 -0
  80. package/dist/esm/services/providers/kimi/KimiChatServiceProvider.js.map +1 -0
  81. package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts +1 -1
  82. package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts.map +1 -1
  83. package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.js +27 -3
  84. package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.js.map +1 -1
  85. package/dist/esm/services/providers/zai/ZAIChatService.d.ts +73 -0
  86. package/dist/esm/services/providers/zai/ZAIChatService.d.ts.map +1 -0
  87. package/dist/esm/services/providers/zai/ZAIChatService.js +288 -0
  88. package/dist/esm/services/providers/zai/ZAIChatService.js.map +1 -0
  89. package/dist/esm/services/providers/zai/ZAIChatServiceProvider.d.ts +36 -0
  90. package/dist/esm/services/providers/zai/ZAIChatServiceProvider.d.ts.map +1 -0
  91. package/dist/esm/services/providers/zai/ZAIChatServiceProvider.js +69 -0
  92. package/dist/esm/services/providers/zai/ZAIChatServiceProvider.js.map +1 -0
  93. package/dist/umd/aituber-onair-chat.js +848 -5
  94. package/dist/umd/aituber-onair-chat.min.js +13 -9
  95. package/package.json +1 -1
package/README.ja.md CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  ![@aituber-onair/chat ロゴ](./images/aituber-onair-chat.png)
4
4
 
5
- AITuber OnAirのチャット・LLM API統合ライブラリです。このパッケージは、OpenAI、Claude、Gemini、OpenRouter等の様々なAIチャットプロバイダーとやり取りするための統一されたインターフェースを提供します。
5
+ AITuber OnAirのチャット・LLM API統合ライブラリです。このパッケージは、OpenAI、Claude、Gemini、OpenRouter、Z.ai、Kimi等の様々なAIチャットプロバイダーとやり取りするための統一されたインターフェースを提供します。
6
6
 
7
7
  ## 機能
8
8
 
9
- - 🤖 **複数のAIプロバイダー対応**: OpenAI、Claude (Anthropic)、Google Gemini、OpenRouter
9
+ - 🤖 **複数のAIプロバイダー対応**: OpenAI、Claude (Anthropic)、Google Gemini、OpenRouter、Z.ai、Kimi
10
10
  - 🔄 **統一されたインターフェース**: 異なるプロバイダー間での一貫したAPI
11
11
  - 🛠️ **ツール・関数呼び出し**: AI関数呼び出しの自動反復処理をサポート
12
12
  - 💬 **ストリーミングレスポンス**: リアルタイムストリーミングチャット応答
@@ -179,7 +179,60 @@ const openRouterService = ChatServiceFactory.createChatService('openrouter', {
179
179
  - `gpt-oss-20b:free`モデルでは、技術的制限によりトークン制限が自動的に無効化されます
180
180
  - 応答の長さを制御するには、プロンプト内で指示してください(例:「40文字以内で返答してください」)
181
181
  - 無料階層にはレート制限があります(20リクエスト/分)
182
- - 現在は`openai/gpt-oss-20b:free`モデルのみサポートしています
182
+ - サポート対象モデル(キュレーション済み):
183
+ - `openai/gpt-oss-20b:free`
184
+ - `openai/gpt-5.1-chat`, `openai/gpt-5.1-codex`, `openai/gpt-5-mini`, `openai/gpt-5-nano`
185
+ - `openai/gpt-4o`, `openai/gpt-4.1-mini`, `openai/gpt-4.1-nano`
186
+ - `anthropic/claude-opus-4`, `anthropic/claude-sonnet-4`
187
+ - `anthropic/claude-3.7-sonnet`, `anthropic/claude-3.5-sonnet`, `anthropic/claude-haiku-4.5`
188
+ - `google/gemini-2.5-pro`, `google/gemini-2.5-flash`, `google/gemini-2.5-flash-lite-preview-09-2025`
189
+ - `z-ai/glm-4.7-flash`, `z-ai/glm-4.5-air`, `z-ai/glm-4.5-air:free`
190
+ - `moonshotai/kimi-k2.5`
191
+
192
+ #### Z.ai(GLM)
193
+
194
+ ```typescript
195
+ const zaiService = ChatServiceFactory.createChatService('zai', {
196
+ apiKey: process.env.ZAI_API_KEY,
197
+ model: 'glm-4.7',
198
+ visionModel: 'glm-4.6V-Flash', // 任意: ビジョン対応モデル
199
+ responseFormat: { type: 'json_object' } // 任意: JSONモード
200
+ });
201
+ ```
202
+
203
+ 注意:
204
+ - Z.aiはOpenAI互換のChat Completionsを利用します。
205
+ - `thinking` はデフォルトで無効化しています。
206
+
207
+ #### Kimi(Moonshot)
208
+
209
+ ```typescript
210
+ const kimiService = ChatServiceFactory.createChatService('kimi', {
211
+ apiKey: process.env.MOONSHOT_API_KEY,
212
+ model: 'kimi-k2.5',
213
+ // Optional: エンドポイント/ベースURLの上書き
214
+ // endpoint: 'https://api.moonshot.ai/v1/chat/completions',
215
+ // baseUrl: 'https://api.moonshot.ai/v1',
216
+ thinking: { type: 'enabled' }
217
+ });
218
+ ```
219
+
220
+ 注意:
221
+ - KimiはOpenAI互換のChat Completionsを利用します。
222
+ - ツール使用時は`thinking`を`{ type: 'disabled' }`に強制します。
223
+
224
+ 自前ホスティング例:
225
+
226
+ ```typescript
227
+ const kimiService = ChatServiceFactory.createChatService('kimi', {
228
+ apiKey: process.env.MOONSHOT_API_KEY,
229
+ baseUrl: 'http://localhost:8000/v1',
230
+ thinking: { type: 'disabled' }
231
+ });
232
+ ```
233
+
234
+ 注意:
235
+ - 自前ホスティングではthinking制御に`chat_template_kwargs`を使用します。
183
236
 
184
237
  ### ビジョンチャット
185
238
 
@@ -404,7 +457,9 @@ type ChatResponseLength = 'veryShort' | 'short' | 'medium' | 'long' | 'veryLong'
404
457
  - **OpenAI**: GPT-5.1、GPT-5(Nano/Mini/Standard)、GPT-4.1(miniとnanoを含む), GPT-4, GPT-4o-mini, O3-mini, o1, o1-miniのモデルをサポート
405
458
  - **Gemini**: Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash Lite Preview, Gemini 2.0 Flash, Gemini 2.0 Flash-Liteのモデルをサポート
406
459
  - **Claude**: Claude Opus 4.5, Claude Sonnet 4.5, Claude Haiku 4.5, Claude 4 Sonnet, Claude 4 Opus, Claude 3.7 Sonnet, Claude 3.5 Haiku/Sonnet, Claude 3 Haikuのモデルをサポート
407
- - **OpenRouter**: `openai/gpt-oss-20b:free`(トークン制限の特別処理がある無料利用枠モデル)をサポート
460
+ - **OpenRouter**: OpenRouterのキュレーション済みモデル一覧(OpenAI/Claude/Gemini/Z.ai/Kimi)をサポート。モデルIDはOpenRouter節を参照してください
461
+ - **Z.ai**: GLM-4.7(Flash/FlashX含む)とGLM-4.6V-Flash(ビジョン)をサポート
462
+ - **Kimi**: Kimi K2.5(`kimi-k2.5`、ビジョン対応)をサポート
408
463
 
409
464
  ## ライセンス
410
465
 
package/README.md CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  ![@aituber-onair/chat logo](https://github.com/shinshin86/aituber-onair/raw/main/packages/chat/images/aituber-onair-chat.png)
4
4
 
5
- Chat and LLM API integration library for AITuber OnAir. This package provides a unified interface for interacting with various AI chat providers including OpenAI, Claude, Gemini, and OpenRouter.
5
+ Chat and LLM API integration library for AITuber OnAir. This package provides a unified interface for interacting with various AI chat providers including OpenAI, Claude, Gemini, OpenRouter, Z.ai, and Kimi.
6
6
 
7
7
  ## Features
8
8
 
9
- - 🤖 **Multiple AI Provider Support**: OpenAI, Claude (Anthropic), Google Gemini, and OpenRouter
9
+ - 🤖 **Multiple AI Provider Support**: OpenAI, Claude (Anthropic), Google Gemini, OpenRouter, Z.ai, and Kimi
10
10
  - 🔄 **Unified Interface**: Consistent API across different providers
11
11
  - 🛠️ **Tool/Function Calling**: Support for AI function calling with automatic iteration
12
12
  - 💬 **Streaming Responses**: Real-time streaming chat responses
@@ -179,7 +179,60 @@ const openRouterService = ChatServiceFactory.createChatService('openrouter', {
179
179
  - Token limits are automatically disabled for the `gpt-oss-20b:free` model due to technical limitations
180
180
  - To control response length, include instructions in your prompt (e.g., "Please respond in 40 characters or less")
181
181
  - Free tier has rate limits (20 requests/minute)
182
- - Only `openai/gpt-oss-20b:free` model is currently supported
182
+ - Supported models (curated list):
183
+ - `openai/gpt-oss-20b:free`
184
+ - `openai/gpt-5.1-chat`, `openai/gpt-5.1-codex`, `openai/gpt-5-mini`, `openai/gpt-5-nano`
185
+ - `openai/gpt-4o`, `openai/gpt-4.1-mini`, `openai/gpt-4.1-nano`
186
+ - `anthropic/claude-opus-4`, `anthropic/claude-sonnet-4`
187
+ - `anthropic/claude-3.7-sonnet`, `anthropic/claude-3.5-sonnet`, `anthropic/claude-haiku-4.5`
188
+ - `google/gemini-2.5-pro`, `google/gemini-2.5-flash`, `google/gemini-2.5-flash-lite-preview-09-2025`
189
+ - `z-ai/glm-4.7-flash`, `z-ai/glm-4.5-air`, `z-ai/glm-4.5-air:free`
190
+ - `moonshotai/kimi-k2.5`
191
+
192
+ #### Z.ai (GLM)
193
+
194
+ ```typescript
195
+ const zaiService = ChatServiceFactory.createChatService('zai', {
196
+ apiKey: process.env.ZAI_API_KEY,
197
+ model: 'glm-4.7',
198
+ visionModel: 'glm-4.6V-Flash', // Optional: vision-capable model
199
+ responseFormat: { type: 'json_object' } // Optional JSON mode
200
+ });
201
+ ```
202
+
203
+ Notes:
204
+ - Z.ai uses OpenAI-compatible Chat Completions.
205
+ - `thinking` is disabled by default to match fast response behavior.
206
+
207
+ #### Kimi (Moonshot)
208
+
209
+ ```typescript
210
+ const kimiService = ChatServiceFactory.createChatService('kimi', {
211
+ apiKey: process.env.MOONSHOT_API_KEY,
212
+ model: 'kimi-k2.5',
213
+ // Optional: override endpoint or baseUrl
214
+ // endpoint: 'https://api.moonshot.ai/v1/chat/completions',
215
+ // baseUrl: 'https://api.moonshot.ai/v1',
216
+ thinking: { type: 'enabled' }
217
+ });
218
+ ```
219
+
220
+ Notes:
221
+ - Kimi uses OpenAI-compatible Chat Completions.
222
+ - When tools are enabled, `thinking` is forced to `{ type: 'disabled' }`.
223
+
224
+ Self-hosted example:
225
+
226
+ ```typescript
227
+ const kimiService = ChatServiceFactory.createChatService('kimi', {
228
+ apiKey: process.env.MOONSHOT_API_KEY,
229
+ baseUrl: 'http://localhost:8000/v1',
230
+ thinking: { type: 'disabled' }
231
+ });
232
+ ```
233
+
234
+ Notes for self-hosted:
235
+ - Self-hosted endpoints use `chat_template_kwargs` for thinking controls.
183
236
 
184
237
  ### Vision Chat
185
238
 
@@ -404,7 +457,9 @@ Currently, the following AI providers are built-in:
404
457
  - **OpenAI**: Supports models like 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
405
458
  - **Gemini**: Supports models like Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash Lite Preview, Gemini 2.0 Flash, Gemini 2.0 Flash-Lite
406
459
  - **Claude**: Supports models like Claude Opus 4.5, Claude Sonnet 4.5, Claude Haiku 4.5, Claude 4 Sonnet, Claude 4 Opus, Claude 3.7 Sonnet, Claude 3.5 Haiku/Sonnet, Claude 3 Haiku
407
- - **OpenRouter**: Supports `openai/gpt-oss-20b:free` (free tier model with special handling for token limits)
460
+ - **OpenRouter**: Supports a curated OpenRouter model list (OpenAI/Claude/Gemini/Z.ai/Kimi). See the OpenRouter section for model IDs.
461
+ - **Z.ai**: Supports GLM-4.7 (including Flash/FlashX) and GLM-4.6V-Flash (vision)
462
+ - **Kimi**: Supports Kimi K2.5 (`kimi-k2.5`) with vision support
408
463
 
409
464
  ## License
410
465
 
@@ -5,6 +5,8 @@ export * from './openai';
5
5
  export * from './gemini';
6
6
  export * from './claude';
7
7
  export * from './openrouter';
8
+ export * from './zai';
9
+ export * from './kimi';
8
10
  export * from './chat';
9
11
  export * from './prompts';
10
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
@@ -21,6 +21,8 @@ __exportStar(require("./openai"), exports);
21
21
  __exportStar(require("./gemini"), exports);
22
22
  __exportStar(require("./claude"), exports);
23
23
  __exportStar(require("./openrouter"), exports);
24
+ __exportStar(require("./zai"), exports);
25
+ __exportStar(require("./kimi"), exports);
24
26
  __exportStar(require("./chat"), exports);
25
27
  __exportStar(require("./prompts"), exports);
26
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,+CAA6B;AAC7B,yCAAuB;AACvB,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB;AACzB,+CAA6B;AAC7B,wCAAsB;AACtB,yCAAuB;AACvB,yCAAuB;AACvB,4CAA0B"}
@@ -0,0 +1,8 @@
1
+ export declare const ENDPOINT_KIMI_CHAT_COMPLETIONS_API = "https://api.moonshot.ai/v1/chat/completions";
2
+ export declare const MODEL_KIMI_K2_5 = "kimi-k2.5";
3
+ export declare const KIMI_VISION_SUPPORTED_MODELS: string[];
4
+ /**
5
+ * Check if a model supports vision capabilities
6
+ */
7
+ export declare function isKimiVisionModel(model: string): boolean;
8
+ //# sourceMappingURL=kimi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kimi.d.ts","sourceRoot":"","sources":["../../../src/constants/kimi.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kCAAkC,gDACA,CAAC;AAGhD,eAAO,MAAM,eAAe,cAAc,CAAC;AAG3C,eAAO,MAAM,4BAA4B,UAAoB,CAAC;AAE9D;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAExD"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KIMI_VISION_SUPPORTED_MODELS = exports.MODEL_KIMI_K2_5 = exports.ENDPOINT_KIMI_CHAT_COMPLETIONS_API = void 0;
4
+ exports.isKimiVisionModel = isKimiVisionModel;
5
+ exports.ENDPOINT_KIMI_CHAT_COMPLETIONS_API = 'https://api.moonshot.ai/v1/chat/completions';
6
+ // Kimi models
7
+ exports.MODEL_KIMI_K2_5 = 'kimi-k2.5';
8
+ // Vision support for models
9
+ exports.KIMI_VISION_SUPPORTED_MODELS = [exports.MODEL_KIMI_K2_5];
10
+ /**
11
+ * Check if a model supports vision capabilities
12
+ */
13
+ function isKimiVisionModel(model) {
14
+ return exports.KIMI_VISION_SUPPORTED_MODELS.includes(model);
15
+ }
16
+ //# sourceMappingURL=kimi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kimi.js","sourceRoot":"","sources":["../../../src/constants/kimi.ts"],"names":[],"mappings":";;;AAYA,8CAEC;AAdY,QAAA,kCAAkC,GAC7C,6CAA6C,CAAC;AAEhD,cAAc;AACD,QAAA,eAAe,GAAG,WAAW,CAAC;AAE3C,4BAA4B;AACf,QAAA,4BAA4B,GAAG,CAAC,uBAAe,CAAC,CAAC;AAE9D;;GAEG;AACH,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,OAAO,oCAA4B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtD,CAAC"}
@@ -1,7 +1,26 @@
1
1
  export declare const ENDPOINT_OPENROUTER_API = "https://openrouter.ai/api/v1/chat/completions";
2
2
  export declare const MODEL_GPT_OSS_20B_FREE = "openai/gpt-oss-20b:free";
3
+ export declare const MODEL_MOONSHOTAI_KIMI_K2_5 = "moonshotai/kimi-k2.5";
4
+ export declare const MODEL_OPENAI_GPT_5_1_CHAT = "openai/gpt-5.1-chat";
5
+ export declare const MODEL_OPENAI_GPT_5_1_CODEX = "openai/gpt-5.1-codex";
6
+ export declare const MODEL_OPENAI_GPT_5_MINI = "openai/gpt-5-mini";
7
+ export declare const MODEL_OPENAI_GPT_5_NANO = "openai/gpt-5-nano";
8
+ export declare const MODEL_OPENAI_GPT_4O = "openai/gpt-4o";
9
+ export declare const MODEL_OPENAI_GPT_4_1_MINI = "openai/gpt-4.1-mini";
10
+ export declare const MODEL_OPENAI_GPT_4_1_NANO = "openai/gpt-4.1-nano";
11
+ export declare const MODEL_ANTHROPIC_CLAUDE_OPUS_4 = "anthropic/claude-opus-4";
12
+ export declare const MODEL_ANTHROPIC_CLAUDE_SONNET_4 = "anthropic/claude-sonnet-4";
13
+ export declare const MODEL_ANTHROPIC_CLAUDE_3_7_SONNET = "anthropic/claude-3.7-sonnet";
14
+ export declare const MODEL_ANTHROPIC_CLAUDE_3_5_SONNET = "anthropic/claude-3.5-sonnet";
15
+ export declare const MODEL_ANTHROPIC_CLAUDE_4_5_HAIKU = "anthropic/claude-haiku-4.5";
16
+ export declare const MODEL_GOOGLE_GEMINI_2_5_PRO = "google/gemini-2.5-pro";
17
+ export declare const MODEL_GOOGLE_GEMINI_2_5_FLASH = "google/gemini-2.5-flash";
18
+ export declare const MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025 = "google/gemini-2.5-flash-lite-preview-09-2025";
19
+ export declare const MODEL_ZAI_GLM_4_7_FLASH = "z-ai/glm-4.7-flash";
20
+ export declare const MODEL_ZAI_GLM_4_5_AIR = "z-ai/glm-4.5-air";
21
+ export declare const MODEL_ZAI_GLM_4_5_AIR_FREE = "z-ai/glm-4.5-air:free";
3
22
  export declare const OPENROUTER_FREE_MODELS: string[];
4
- export declare const OPENROUTER_VISION_SUPPORTED_MODELS: never[];
23
+ export declare const OPENROUTER_VISION_SUPPORTED_MODELS: string[];
5
24
  export declare const OPENROUTER_FREE_RATE_LIMIT_PER_MINUTE = 20;
6
25
  export declare const OPENROUTER_FREE_DAILY_LIMIT_LOW_CREDITS = 50;
7
26
  export declare const OPENROUTER_FREE_DAILY_LIMIT_HIGH_CREDITS = 1000;
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../../src/constants/openrouter.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,kDACa,CAAC;AAGlD,eAAO,MAAM,sBAAsB,4BAA4B,CAAC;AAGhE,eAAO,MAAM,sBAAsB,UAA2B,CAAC;AAG/D,eAAO,MAAM,kCAAkC,SAAK,CAAC;AAGrD,eAAO,MAAM,qCAAqC,KAAK,CAAC;AACxD,eAAO,MAAM,uCAAuC,KAAK,CAAC;AAC1D,eAAO,MAAM,wCAAwC,OAAO,CAAC;AAC7D,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAI9D"}
1
+ {"version":3,"file":"openrouter.d.ts","sourceRoot":"","sources":["../../../src/constants/openrouter.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,kDACa,CAAC;AAGlD,eAAO,MAAM,sBAAsB,4BAA4B,CAAC;AAChE,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AACjE,eAAO,MAAM,yBAAyB,wBAAwB,CAAC;AAC/D,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AACjE,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAC3D,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAC3D,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AACnD,eAAO,MAAM,yBAAyB,wBAAwB,CAAC;AAC/D,eAAO,MAAM,yBAAyB,wBAAwB,CAAC;AAC/D,eAAO,MAAM,6BAA6B,4BAA4B,CAAC;AACvE,eAAO,MAAM,+BAA+B,8BAA8B,CAAC;AAC3E,eAAO,MAAM,iCAAiC,gCAAgC,CAAC;AAC/E,eAAO,MAAM,iCAAiC,gCAAgC,CAAC;AAC/E,eAAO,MAAM,gCAAgC,+BAA+B,CAAC;AAC7E,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AACnE,eAAO,MAAM,6BAA6B,4BAA4B,CAAC;AACvE,eAAO,MAAM,kDAAkD,iDACf,CAAC;AACjD,eAAO,MAAM,uBAAuB,uBAAuB,CAAC;AAC5D,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AACxD,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAGlE,eAAO,MAAM,sBAAsB,UAGlC,CAAC;AAGF,eAAO,MAAM,kCAAkC,UAgB9C,CAAC;AAGF,eAAO,MAAM,qCAAqC,KAAK,CAAC;AACxD,eAAO,MAAM,uCAAuC,KAAK,CAAC;AAC1D,eAAO,MAAM,wCAAwC,OAAO,CAAC;AAC7D,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAI9D"}
@@ -1,15 +1,53 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- 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.MODEL_GPT_OSS_20B_FREE = exports.ENDPOINT_OPENROUTER_API = void 0;
3
+ 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.MODEL_ZAI_GLM_4_5_AIR_FREE = exports.MODEL_ZAI_GLM_4_5_AIR = exports.MODEL_ZAI_GLM_4_7_FLASH = 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_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_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_MOONSHOTAI_KIMI_K2_5 = exports.MODEL_GPT_OSS_20B_FREE = exports.ENDPOINT_OPENROUTER_API = void 0;
4
4
  exports.isOpenRouterFreeModel = isOpenRouterFreeModel;
5
5
  exports.isOpenRouterVisionModel = isOpenRouterVisionModel;
6
6
  exports.ENDPOINT_OPENROUTER_API = 'https://openrouter.ai/api/v1/chat/completions';
7
7
  // OpenRouter models
8
8
  exports.MODEL_GPT_OSS_20B_FREE = 'openai/gpt-oss-20b:free';
9
+ exports.MODEL_MOONSHOTAI_KIMI_K2_5 = 'moonshotai/kimi-k2.5';
10
+ exports.MODEL_OPENAI_GPT_5_1_CHAT = 'openai/gpt-5.1-chat';
11
+ exports.MODEL_OPENAI_GPT_5_1_CODEX = 'openai/gpt-5.1-codex';
12
+ exports.MODEL_OPENAI_GPT_5_MINI = 'openai/gpt-5-mini';
13
+ exports.MODEL_OPENAI_GPT_5_NANO = 'openai/gpt-5-nano';
14
+ exports.MODEL_OPENAI_GPT_4O = 'openai/gpt-4o';
15
+ exports.MODEL_OPENAI_GPT_4_1_MINI = 'openai/gpt-4.1-mini';
16
+ exports.MODEL_OPENAI_GPT_4_1_NANO = 'openai/gpt-4.1-nano';
17
+ exports.MODEL_ANTHROPIC_CLAUDE_OPUS_4 = 'anthropic/claude-opus-4';
18
+ exports.MODEL_ANTHROPIC_CLAUDE_SONNET_4 = 'anthropic/claude-sonnet-4';
19
+ exports.MODEL_ANTHROPIC_CLAUDE_3_7_SONNET = 'anthropic/claude-3.7-sonnet';
20
+ exports.MODEL_ANTHROPIC_CLAUDE_3_5_SONNET = 'anthropic/claude-3.5-sonnet';
21
+ exports.MODEL_ANTHROPIC_CLAUDE_4_5_HAIKU = 'anthropic/claude-haiku-4.5';
22
+ exports.MODEL_GOOGLE_GEMINI_2_5_PRO = 'google/gemini-2.5-pro';
23
+ exports.MODEL_GOOGLE_GEMINI_2_5_FLASH = 'google/gemini-2.5-flash';
24
+ exports.MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025 = 'google/gemini-2.5-flash-lite-preview-09-2025';
25
+ exports.MODEL_ZAI_GLM_4_7_FLASH = 'z-ai/glm-4.7-flash';
26
+ exports.MODEL_ZAI_GLM_4_5_AIR = 'z-ai/glm-4.5-air';
27
+ exports.MODEL_ZAI_GLM_4_5_AIR_FREE = 'z-ai/glm-4.5-air:free';
9
28
  // Free tier models
10
- exports.OPENROUTER_FREE_MODELS = [exports.MODEL_GPT_OSS_20B_FREE];
29
+ exports.OPENROUTER_FREE_MODELS = [
30
+ exports.MODEL_GPT_OSS_20B_FREE,
31
+ exports.MODEL_ZAI_GLM_4_5_AIR_FREE,
32
+ ];
11
33
  // Vision supported models on OpenRouter
12
- exports.OPENROUTER_VISION_SUPPORTED_MODELS = [];
34
+ exports.OPENROUTER_VISION_SUPPORTED_MODELS = [
35
+ exports.MODEL_OPENAI_GPT_5_1_CHAT,
36
+ exports.MODEL_OPENAI_GPT_5_1_CODEX,
37
+ exports.MODEL_OPENAI_GPT_5_MINI,
38
+ exports.MODEL_OPENAI_GPT_5_NANO,
39
+ exports.MODEL_OPENAI_GPT_4O,
40
+ exports.MODEL_OPENAI_GPT_4_1_MINI,
41
+ exports.MODEL_OPENAI_GPT_4_1_NANO,
42
+ exports.MODEL_ANTHROPIC_CLAUDE_OPUS_4,
43
+ exports.MODEL_ANTHROPIC_CLAUDE_SONNET_4,
44
+ exports.MODEL_ANTHROPIC_CLAUDE_3_7_SONNET,
45
+ exports.MODEL_ANTHROPIC_CLAUDE_4_5_HAIKU,
46
+ exports.MODEL_GOOGLE_GEMINI_2_5_PRO,
47
+ exports.MODEL_GOOGLE_GEMINI_2_5_FLASH,
48
+ exports.MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025,
49
+ exports.MODEL_MOONSHOTAI_KIMI_K2_5,
50
+ ];
13
51
  // Rate limits for free tier
14
52
  exports.OPENROUTER_FREE_RATE_LIMIT_PER_MINUTE = 20;
15
53
  exports.OPENROUTER_FREE_DAILY_LIMIT_LOW_CREDITS = 50;
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../../src/constants/openrouter.ts"],"names":[],"mappings":";;;AAuBA,sDAEC;AAOD,0DAIC;AApCY,QAAA,uBAAuB,GAClC,+CAA+C,CAAC;AAElD,oBAAoB;AACP,QAAA,sBAAsB,GAAG,yBAAyB,CAAC;AAEhE,mBAAmB;AACN,QAAA,sBAAsB,GAAG,CAAC,8BAAsB,CAAC,CAAC;AAE/D,wCAAwC;AAC3B,QAAA,kCAAkC,GAAG,EAAE,CAAC;AAErD,4BAA4B;AACf,QAAA,qCAAqC,GAAG,EAAE,CAAC;AAC3C,QAAA,uCAAuC,GAAG,EAAE,CAAC;AAC7C,QAAA,wCAAwC,GAAG,IAAI,CAAC;AAChD,QAAA,4BAA4B,GAAG,EAAE,CAAC;AAE/C;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,KAAa;IACjD,OAAO,8BAAsB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,KAAa;IACnD,OAAO,0CAAkC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAC7D,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAC5B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"openrouter.js","sourceRoot":"","sources":["../../../src/constants/openrouter.ts"],"names":[],"mappings":";;;AA8DA,sDAEC;AAOD,0DAIC;AA3EY,QAAA,uBAAuB,GAClC,+CAA+C,CAAC;AAElD,oBAAoB;AACP,QAAA,sBAAsB,GAAG,yBAAyB,CAAC;AACnD,QAAA,0BAA0B,GAAG,sBAAsB,CAAC;AACpD,QAAA,yBAAyB,GAAG,qBAAqB,CAAC;AAClD,QAAA,0BAA0B,GAAG,sBAAsB,CAAC;AACpD,QAAA,uBAAuB,GAAG,mBAAmB,CAAC;AAC9C,QAAA,uBAAuB,GAAG,mBAAmB,CAAC;AAC9C,QAAA,mBAAmB,GAAG,eAAe,CAAC;AACtC,QAAA,yBAAyB,GAAG,qBAAqB,CAAC;AAClD,QAAA,yBAAyB,GAAG,qBAAqB,CAAC;AAClD,QAAA,6BAA6B,GAAG,yBAAyB,CAAC;AAC1D,QAAA,+BAA+B,GAAG,2BAA2B,CAAC;AAC9D,QAAA,iCAAiC,GAAG,6BAA6B,CAAC;AAClE,QAAA,iCAAiC,GAAG,6BAA6B,CAAC;AAClE,QAAA,gCAAgC,GAAG,4BAA4B,CAAC;AAChE,QAAA,2BAA2B,GAAG,uBAAuB,CAAC;AACtD,QAAA,6BAA6B,GAAG,yBAAyB,CAAC;AAC1D,QAAA,kDAAkD,GAC7D,8CAA8C,CAAC;AACpC,QAAA,uBAAuB,GAAG,oBAAoB,CAAC;AAC/C,QAAA,qBAAqB,GAAG,kBAAkB,CAAC;AAC3C,QAAA,0BAA0B,GAAG,uBAAuB,CAAC;AAElE,mBAAmB;AACN,QAAA,sBAAsB,GAAG;IACpC,8BAAsB;IACtB,kCAA0B;CAC3B,CAAC;AAEF,wCAAwC;AAC3B,QAAA,kCAAkC,GAAG;IAChD,iCAAyB;IACzB,kCAA0B;IAC1B,+BAAuB;IACvB,+BAAuB;IACvB,2BAAmB;IACnB,iCAAyB;IACzB,iCAAyB;IACzB,qCAA6B;IAC7B,uCAA+B;IAC/B,yCAAiC;IACjC,wCAAgC;IAChC,mCAA2B;IAC3B,qCAA6B;IAC7B,0DAAkD;IAClD,kCAA0B;CAC3B,CAAC;AAEF,4BAA4B;AACf,QAAA,qCAAqC,GAAG,EAAE,CAAC;AAC3C,QAAA,uCAAuC,GAAG,EAAE,CAAC;AAC7C,QAAA,wCAAwC,GAAG,IAAI,CAAC;AAChD,QAAA,4BAA4B,GAAG,EAAE,CAAC;AAE/C;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,KAAa;IACjD,OAAO,8BAAsB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,KAAa;IACnD,OAAO,0CAAkC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAC7D,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAC5B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,18 @@
1
+ export declare const ENDPOINT_ZAI_CHAT_COMPLETIONS_API = "https://api.z.ai/api/paas/v4/chat/completions";
2
+ export declare const MODEL_GLM_4_7 = "glm-4.7";
3
+ export declare const MODEL_GLM_4_7_FLASHX = "glm-4.7-FlashX";
4
+ export declare const MODEL_GLM_4_7_FLASH = "glm-4.7-Flash";
5
+ export declare const MODEL_GLM_4_6 = "glm-4.6";
6
+ export declare const MODEL_GLM_4_6V = "glm-4.6V";
7
+ export declare const MODEL_GLM_4_6V_FLASHX = "glm-4.6V-FlashX";
8
+ export declare const MODEL_GLM_4_6V_FLASH = "glm-4.6V-Flash";
9
+ export declare const ZAI_VISION_SUPPORTED_MODELS: string[];
10
+ /**
11
+ * Check if a model supports vision capabilities
12
+ */
13
+ export declare function isZaiVisionModel(model: string): boolean;
14
+ /**
15
+ * Tool streaming support (GLM-4.6 family)
16
+ */
17
+ export declare function isZaiToolStreamModel(model: string): boolean;
18
+ //# sourceMappingURL=zai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zai.d.ts","sourceRoot":"","sources":["../../../src/constants/zai.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,kDACG,CAAC;AAGlD,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AACnD,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AAGrD,eAAO,MAAM,2BAA2B,UAIvC,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D"}
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZAI_VISION_SUPPORTED_MODELS = exports.MODEL_GLM_4_6V_FLASH = exports.MODEL_GLM_4_6V_FLASHX = exports.MODEL_GLM_4_6V = exports.MODEL_GLM_4_6 = exports.MODEL_GLM_4_7_FLASH = exports.MODEL_GLM_4_7_FLASHX = exports.MODEL_GLM_4_7 = exports.ENDPOINT_ZAI_CHAT_COMPLETIONS_API = void 0;
4
+ exports.isZaiVisionModel = isZaiVisionModel;
5
+ exports.isZaiToolStreamModel = isZaiToolStreamModel;
6
+ exports.ENDPOINT_ZAI_CHAT_COMPLETIONS_API = 'https://api.z.ai/api/paas/v4/chat/completions';
7
+ // Z.ai GLM models
8
+ exports.MODEL_GLM_4_7 = 'glm-4.7';
9
+ exports.MODEL_GLM_4_7_FLASHX = 'glm-4.7-FlashX';
10
+ exports.MODEL_GLM_4_7_FLASH = 'glm-4.7-Flash';
11
+ exports.MODEL_GLM_4_6 = 'glm-4.6';
12
+ exports.MODEL_GLM_4_6V = 'glm-4.6V';
13
+ exports.MODEL_GLM_4_6V_FLASHX = 'glm-4.6V-FlashX';
14
+ exports.MODEL_GLM_4_6V_FLASH = 'glm-4.6V-Flash';
15
+ // Vision support for models
16
+ exports.ZAI_VISION_SUPPORTED_MODELS = [
17
+ exports.MODEL_GLM_4_6V,
18
+ exports.MODEL_GLM_4_6V_FLASHX,
19
+ exports.MODEL_GLM_4_6V_FLASH,
20
+ ];
21
+ /**
22
+ * Check if a model supports vision capabilities
23
+ */
24
+ function isZaiVisionModel(model) {
25
+ return exports.ZAI_VISION_SUPPORTED_MODELS.includes(model);
26
+ }
27
+ /**
28
+ * Tool streaming support (GLM-4.6 family)
29
+ */
30
+ function isZaiToolStreamModel(model) {
31
+ return model.toLowerCase().startsWith('glm-4.6');
32
+ }
33
+ //# sourceMappingURL=zai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zai.js","sourceRoot":"","sources":["../../../src/constants/zai.ts"],"names":[],"mappings":";;;AAsBA,4CAEC;AAKD,oDAEC;AA/BY,QAAA,iCAAiC,GAC5C,+CAA+C,CAAC;AAElD,kBAAkB;AACL,QAAA,aAAa,GAAG,SAAS,CAAC;AAC1B,QAAA,oBAAoB,GAAG,gBAAgB,CAAC;AACxC,QAAA,mBAAmB,GAAG,eAAe,CAAC;AACtC,QAAA,aAAa,GAAG,SAAS,CAAC;AAC1B,QAAA,cAAc,GAAG,UAAU,CAAC;AAC5B,QAAA,qBAAqB,GAAG,iBAAiB,CAAC;AAC1C,QAAA,oBAAoB,GAAG,gBAAgB,CAAC;AAErD,4BAA4B;AACf,QAAA,2BAA2B,GAAG;IACzC,sBAAc;IACd,6BAAqB;IACrB,4BAAoB;CACrB,CAAC;AAEF;;GAEG;AACH,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,OAAO,mCAA2B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,KAAa;IAChD,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACnD,CAAC"}
@@ -14,6 +14,10 @@ export { ClaudeChatService } from './services/providers/claude/ClaudeChatService
14
14
  export { ClaudeChatServiceProvider } from './services/providers/claude/ClaudeChatServiceProvider';
15
15
  export { OpenRouterChatService } from './services/providers/openrouter/OpenRouterChatService';
16
16
  export { OpenRouterChatServiceProvider } from './services/providers/openrouter/OpenRouterChatServiceProvider';
17
+ export { ZAIChatService } from './services/providers/zai/ZAIChatService';
18
+ export { ZAIChatServiceProvider } from './services/providers/zai/ZAIChatServiceProvider';
19
+ export { KimiChatService } from './services/providers/kimi/KimiChatService';
20
+ export { KimiChatServiceProvider } from './services/providers/kimi/KimiChatServiceProvider';
17
21
  export * from './constants';
18
22
  export * from './utils';
19
23
  export { installGASFetch } from './adapters/gasFetch';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,SAAS,CAAC;AAGxB,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGnE,YAAY,EACV,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAGlG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAGlG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAGlG,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAC9F,OAAO,EAAE,6BAA6B,EAAE,MAAM,+DAA+D,CAAC;AAG9G,cAAc,aAAa,CAAC;AAG5B,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,SAAS,CAAC;AAGxB,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGnE,YAAY,EACV,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAGlG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAGlG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAGlG,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAC9F,OAAO,EAAE,6BAA6B,EAAE,MAAM,+DAA+D,CAAC;AAG9G,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AAGzF,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mDAAmD,CAAC;AAG5F,cAAc,aAAa,CAAC;AAG5B,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/cjs/index.js CHANGED
@@ -18,7 +18,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
18
18
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
19
19
  };
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.installGASFetch = exports.OpenRouterChatServiceProvider = exports.OpenRouterChatService = exports.ClaudeChatServiceProvider = exports.ClaudeChatService = exports.GeminiChatServiceProvider = exports.GeminiChatService = exports.OpenAIChatServiceProvider = exports.OpenAIChatService = exports.ChatServiceFactory = void 0;
21
+ exports.installGASFetch = exports.KimiChatServiceProvider = exports.KimiChatService = exports.ZAIChatServiceProvider = exports.ZAIChatService = exports.OpenRouterChatServiceProvider = exports.OpenRouterChatService = exports.ClaudeChatServiceProvider = exports.ClaudeChatService = exports.GeminiChatServiceProvider = exports.GeminiChatService = exports.OpenAIChatServiceProvider = exports.OpenAIChatService = exports.ChatServiceFactory = void 0;
22
22
  // Type definitions exports
23
23
  __exportStar(require("./types"), exports);
24
24
  var ChatServiceFactory_1 = require("./services/ChatServiceFactory");
@@ -43,6 +43,16 @@ var OpenRouterChatService_1 = require("./services/providers/openrouter/OpenRoute
43
43
  Object.defineProperty(exports, "OpenRouterChatService", { enumerable: true, get: function () { return OpenRouterChatService_1.OpenRouterChatService; } });
44
44
  var OpenRouterChatServiceProvider_1 = require("./services/providers/openrouter/OpenRouterChatServiceProvider");
45
45
  Object.defineProperty(exports, "OpenRouterChatServiceProvider", { enumerable: true, get: function () { return OpenRouterChatServiceProvider_1.OpenRouterChatServiceProvider; } });
46
+ // Z.ai provider exports
47
+ var ZAIChatService_1 = require("./services/providers/zai/ZAIChatService");
48
+ Object.defineProperty(exports, "ZAIChatService", { enumerable: true, get: function () { return ZAIChatService_1.ZAIChatService; } });
49
+ var ZAIChatServiceProvider_1 = require("./services/providers/zai/ZAIChatServiceProvider");
50
+ Object.defineProperty(exports, "ZAIChatServiceProvider", { enumerable: true, get: function () { return ZAIChatServiceProvider_1.ZAIChatServiceProvider; } });
51
+ // Kimi provider exports
52
+ var KimiChatService_1 = require("./services/providers/kimi/KimiChatService");
53
+ Object.defineProperty(exports, "KimiChatService", { enumerable: true, get: function () { return KimiChatService_1.KimiChatService; } });
54
+ var KimiChatServiceProvider_1 = require("./services/providers/kimi/KimiChatServiceProvider");
55
+ Object.defineProperty(exports, "KimiChatServiceProvider", { enumerable: true, get: function () { return KimiChatServiceProvider_1.KimiChatServiceProvider; } });
46
56
  // Constants exports
47
57
  __exportStar(require("./constants"), exports);
48
58
  // Utility exports
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,2BAA2B;AAC3B,0CAAwB;AAIxB,oEAAmE;AAA1D,wHAAA,kBAAkB,OAAA;AAQ3B,0BAA0B;AAC1B,mFAAkF;AAAzE,sHAAA,iBAAiB,OAAA;AAC1B,mGAAkG;AAAzF,sIAAA,yBAAyB,OAAA;AAElC,0BAA0B;AAC1B,mFAAkF;AAAzE,sHAAA,iBAAiB,OAAA;AAC1B,mGAAkG;AAAzF,sIAAA,yBAAyB,OAAA;AAElC,0BAA0B;AAC1B,mFAAkF;AAAzE,sHAAA,iBAAiB,OAAA;AAC1B,mGAAkG;AAAzF,sIAAA,yBAAyB,OAAA;AAElC,8BAA8B;AAC9B,+FAA8F;AAArF,8HAAA,qBAAqB,OAAA;AAC9B,+GAA8G;AAArG,8IAAA,6BAA6B,OAAA;AAEtC,oBAAoB;AACpB,8CAA4B;AAE5B,kBAAkB;AAClB,0CAAwB;AAExB,WAAW;AACX,gDAAsD;AAA7C,2GAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,2BAA2B;AAC3B,0CAAwB;AAIxB,oEAAmE;AAA1D,wHAAA,kBAAkB,OAAA;AAQ3B,0BAA0B;AAC1B,mFAAkF;AAAzE,sHAAA,iBAAiB,OAAA;AAC1B,mGAAkG;AAAzF,sIAAA,yBAAyB,OAAA;AAElC,0BAA0B;AAC1B,mFAAkF;AAAzE,sHAAA,iBAAiB,OAAA;AAC1B,mGAAkG;AAAzF,sIAAA,yBAAyB,OAAA;AAElC,0BAA0B;AAC1B,mFAAkF;AAAzE,sHAAA,iBAAiB,OAAA;AAC1B,mGAAkG;AAAzF,sIAAA,yBAAyB,OAAA;AAElC,8BAA8B;AAC9B,+FAA8F;AAArF,8HAAA,qBAAqB,OAAA;AAC9B,+GAA8G;AAArG,8IAAA,6BAA6B,OAAA;AAEtC,wBAAwB;AACxB,0EAAyE;AAAhE,gHAAA,cAAc,OAAA;AACvB,0FAAyF;AAAhF,gIAAA,sBAAsB,OAAA;AAE/B,wBAAwB;AACxB,6EAA4E;AAAnE,kHAAA,eAAe,OAAA;AACxB,6FAA4F;AAAnF,kIAAA,uBAAuB,OAAA;AAEhC,oBAAoB;AACpB,8CAA4B;AAE5B,kBAAkB;AAClB,0CAAwB;AAExB,WAAW;AACX,gDAAsD;AAA7C,2GAAA,eAAe,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChatServiceFactory.d.ts","sourceRoot":"","sources":["../../../src/services/ChatServiceFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AAMzC;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,kCAAkC;IAClC,OAAO,CAAC,MAAM,CAAC,SAAS,CAA+C;IAEvE;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAI5D;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CACtB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,kBAAkB,GAC1B,WAAW;IAQd;;;OAGG;IACH,MAAM,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAIvD;;;OAGG;IACH,MAAM,CAAC,qBAAqB,IAAI,MAAM,EAAE;IAIxC;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE;CAI1D"}
1
+ {"version":3,"file":"ChatServiceFactory.d.ts","sourceRoot":"","sources":["../../../src/services/ChatServiceFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AAQzC;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,kCAAkC;IAClC,OAAO,CAAC,MAAM,CAAC,SAAS,CAA+C;IAEvE;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAI5D;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CACtB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,kBAAkB,GAC1B,WAAW;IAQd;;;OAGG;IACH,MAAM,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC;IAIvD;;;OAGG;IACH,MAAM,CAAC,qBAAqB,IAAI,MAAM,EAAE;IAIxC;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE;CAI1D"}
@@ -5,6 +5,8 @@ const OpenAIChatServiceProvider_1 = require("./providers/openai/OpenAIChatServic
5
5
  const GeminiChatServiceProvider_1 = require("./providers/gemini/GeminiChatServiceProvider");
6
6
  const ClaudeChatServiceProvider_1 = require("./providers/claude/ClaudeChatServiceProvider");
7
7
  const OpenRouterChatServiceProvider_1 = require("./providers/openrouter/OpenRouterChatServiceProvider");
8
+ const ZAIChatServiceProvider_1 = require("./providers/zai/ZAIChatServiceProvider");
9
+ const KimiChatServiceProvider_1 = require("./providers/kimi/KimiChatServiceProvider");
8
10
  /**
9
11
  * Chat service factory
10
12
  * Manages and creates various AI providers
@@ -65,4 +67,8 @@ ChatServiceFactory.registerProvider(new GeminiChatServiceProvider_1.GeminiChatSe
65
67
  ChatServiceFactory.registerProvider(new ClaudeChatServiceProvider_1.ClaudeChatServiceProvider());
66
68
  // Register OpenRouter as a provider
67
69
  ChatServiceFactory.registerProvider(new OpenRouterChatServiceProvider_1.OpenRouterChatServiceProvider());
70
+ // Register Z.ai as a provider
71
+ ChatServiceFactory.registerProvider(new ZAIChatServiceProvider_1.ZAIChatServiceProvider());
72
+ // Register Kimi as a provider
73
+ ChatServiceFactory.registerProvider(new KimiChatServiceProvider_1.KimiChatServiceProvider());
68
74
  //# sourceMappingURL=ChatServiceFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatServiceFactory.js","sourceRoot":"","sources":["../../../src/services/ChatServiceFactory.ts"],"names":[],"mappings":";;;AAKA,4FAAyF;AACzF,4FAAyF;AACzF,4FAAyF;AACzF,wGAAqG;AAErG;;;GAGG;AACH,MAAa,kBAAkB;IAI7B;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAA6B;QACnD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CACtB,YAAoB,EACpB,OAA2B;QAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,YAAY;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,qBAAqB;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,YAAoB;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClD,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,CAAC;;AArDH,gDAsDC;AArDC,kCAAkC;AACnB,4BAAS,GAAqC,IAAI,GAAG,EAAE,CAAC;AAsDzE,gCAAgC;AAChC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,qDAAyB,EAAE,CAAC,CAAC;AACrE,gCAAgC;AAChC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,qDAAyB,EAAE,CAAC,CAAC;AACrE,gCAAgC;AAChC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,qDAAyB,EAAE,CAAC,CAAC;AACrE,oCAAoC;AACpC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,6DAA6B,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"ChatServiceFactory.js","sourceRoot":"","sources":["../../../src/services/ChatServiceFactory.ts"],"names":[],"mappings":";;;AAKA,4FAAyF;AACzF,4FAAyF;AACzF,4FAAyF;AACzF,wGAAqG;AACrG,mFAAgF;AAChF,sFAAmF;AAEnF;;;GAGG;AACH,MAAa,kBAAkB;IAI7B;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAA6B;QACnD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CACtB,YAAoB,EACpB,OAA2B;QAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,OAAO,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,YAAY;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,qBAAqB;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,YAAoB;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClD,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,CAAC;;AArDH,gDAsDC;AArDC,kCAAkC;AACnB,4BAAS,GAAqC,IAAI,GAAG,EAAE,CAAC;AAsDzE,gCAAgC;AAChC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,qDAAyB,EAAE,CAAC,CAAC;AACrE,gCAAgC;AAChC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,qDAAyB,EAAE,CAAC,CAAC;AACrE,gCAAgC;AAChC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,qDAAyB,EAAE,CAAC,CAAC;AACrE,oCAAoC;AACpC,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,6DAA6B,EAAE,CAAC,CAAC;AACzE,8BAA8B;AAC9B,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,+CAAsB,EAAE,CAAC,CAAC;AAClE,8BAA8B;AAC9B,kBAAkB,CAAC,gBAAgB,CAAC,IAAI,iDAAuB,EAAE,CAAC,CAAC"}
@@ -12,6 +12,8 @@ export interface ChatServiceOptions {
12
12
  visionModel?: string;
13
13
  /** API endpoint type (chat/completions or responses (OpenAI only)) */
14
14
  endpoint?: string;
15
+ /** Base URL for OpenAI-compatible APIs (Kimi only) */
16
+ baseUrl?: string;
15
17
  /** Response length setting */
16
18
  responseLength?: ChatResponseLength;
17
19
  /** Verbosity level for GPT-5 models (OpenAI only) */
@@ -28,6 +30,16 @@ export interface ChatServiceOptions {
28
30
  includeReasoning?: boolean;
29
31
  /** Maximum tokens allocated for reasoning (OpenRouter only) */
30
32
  reasoningMaxTokens?: number;
33
+ /** Response format (OpenAI-compatible JSON mode) */
34
+ responseFormat?: {
35
+ type: 'text' | 'json_object' | 'json_schema';
36
+ json_schema?: any;
37
+ };
38
+ /** Thinking mode options (Z.ai/Kimi only) */
39
+ thinking?: {
40
+ type: 'enabled' | 'disabled';
41
+ clear_thinking?: boolean;
42
+ };
31
43
  /** Additional provider-specific options */
32
44
  [key: string]: any;
33
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../src/services/providers/ChatServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,cAAc;IACd,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,qDAAqD;IACrD,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAClE,2FAA2F;IAC3F,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,+IAA+I;IAC/I,sBAAsB,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IACvD,mGAAmG;IACnG,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,+FAA+F;IAC/F,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2CAA2C;IAC3C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAAC;IAE5D;;;OAGG;IACH,eAAe,IAAI,MAAM,CAAC;IAE1B;;;OAGG;IACH,kBAAkB,IAAI,MAAM,EAAE,CAAC;IAE/B;;;OAGG;IACH,eAAe,IAAI,MAAM,CAAC;IAE1B;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC;CAC3B"}
1
+ {"version":3,"file":"ChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../src/services/providers/ChatServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,cAAc;IACd,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,qDAAqD;IACrD,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtC,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAClE,2FAA2F;IAC3F,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,+IAA+I;IAC/I,sBAAsB,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IACvD,mGAAmG;IACnG,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,+FAA+F;IAC/F,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,+DAA+D;IAC/D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oDAAoD;IACpD,cAAc,CAAC,EAAE;QACf,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,aAAa,CAAC;QAC7C,WAAW,CAAC,EAAE,GAAG,CAAC;KACnB,CAAC;IACF,6CAA6C;IAC7C,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;QAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,2CAA2C;IAC3C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAAC;IAE5D;;;OAGG;IACH,eAAe,IAAI,MAAM,CAAC;IAE1B;;;OAGG;IACH,kBAAkB,IAAI,MAAM,EAAE,CAAC;IAE/B;;;OAGG;IACH,eAAe,IAAI,MAAM,CAAC;IAE1B;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC;CAC3B"}
@@ -0,0 +1,75 @@
1
+ import { ChatService } from '../../ChatService';
2
+ import { Message, MessageWithVision } from '../../../types';
3
+ import { ToolDefinition, ToolChatCompletion } from '../../../types';
4
+ import { ChatResponseLength } from '../../../constants/chat';
5
+ /**
6
+ * Kimi implementation of ChatService (OpenAI-compatible Chat Completions)
7
+ */
8
+ export declare class KimiChatService implements ChatService {
9
+ /** Provider name */
10
+ readonly provider: string;
11
+ private apiKey;
12
+ private model;
13
+ private visionModel;
14
+ private tools;
15
+ private endpoint;
16
+ private responseLength?;
17
+ private responseFormat?;
18
+ private thinking?;
19
+ /**
20
+ * Constructor
21
+ * @param apiKey Kimi API key
22
+ * @param model Name of the model to use
23
+ * @param visionModel Name of the vision model
24
+ */
25
+ constructor(apiKey: string, model?: string, visionModel?: string, tools?: ToolDefinition[], endpoint?: string, responseLength?: ChatResponseLength, responseFormat?: {
26
+ type: 'text' | 'json_object' | 'json_schema';
27
+ json_schema?: any;
28
+ }, thinking?: {
29
+ type: 'enabled' | 'disabled';
30
+ clear_thinking?: boolean;
31
+ });
32
+ /**
33
+ * Get the current model name
34
+ */
35
+ getModel(): string;
36
+ /**
37
+ * Get the current vision model name
38
+ */
39
+ getVisionModel(): string;
40
+ /**
41
+ * Process chat messages
42
+ */
43
+ processChat(messages: Message[], onPartialResponse: (text: string) => void, onCompleteResponse: (text: string) => Promise<void>): Promise<void>;
44
+ /**
45
+ * Process chat messages with images
46
+ */
47
+ processVisionChat(messages: MessageWithVision[], onPartialResponse: (text: string) => void, onCompleteResponse: (text: string) => Promise<void>): Promise<void>;
48
+ /**
49
+ * Process chat messages with tools (text only)
50
+ */
51
+ chatOnce(messages: Message[], stream?: boolean, onPartialResponse?: (text: string) => void, maxTokens?: number): Promise<ToolChatCompletion>;
52
+ /**
53
+ * Process vision chat messages with tools
54
+ */
55
+ visionChatOnce(messages: MessageWithVision[], stream?: boolean, onPartialResponse?: (text: string) => void, maxTokens?: number): Promise<ToolChatCompletion>;
56
+ private parseResponse;
57
+ private callKimi;
58
+ /**
59
+ * Build request body (OpenAI-compatible Chat Completions)
60
+ */
61
+ private buildRequestBody;
62
+ private isSelfHostedEndpoint;
63
+ private normalizeEndpoint;
64
+ private buildToolsDefinition;
65
+ private handleStream;
66
+ /**
67
+ * Parse streaming response with tool support
68
+ */
69
+ private parseStream;
70
+ /**
71
+ * Parse non-streaming response
72
+ */
73
+ private parseOneShot;
74
+ }
75
+ //# sourceMappingURL=KimiChatService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KimiChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/kimi/KimiChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EACL,cAAc,EAEd,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AAMxB,OAAO,EACL,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAIjC;;GAEG;AACH,qBAAa,eAAgB,YAAW,WAAW;IACjD,oBAAoB;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAU;IAEnC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,cAAc,CAAC,CAAqB;IAC5C,OAAO,CAAC,cAAc,CAAC,CAGrB;IACF,OAAO,CAAC,QAAQ,CAAC,CAGf;IAEF;;;;;OAKG;gBAED,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAAwB,EAC/B,WAAW,GAAE,MAAwB,EACrC,KAAK,CAAC,EAAE,cAAc,EAAE,EACxB,QAAQ,GAAE,MAA2C,EACrD,cAAc,CAAC,EAAE,kBAAkB,EACnC,cAAc,CAAC,EAAE;QACf,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,aAAa,CAAC;QAC7C,WAAW,CAAC,EAAE,GAAG,CAAC;KACnB,EACD,QAAQ,CAAC,EAAE;QACT,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;QAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B;IAaH;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACG,WAAW,CACf,QAAQ,EAAE,OAAO,EAAE,EACnB,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAClD,OAAO,CAAC,IAAI,CAAC;IA2BhB;;OAEG;IACG,iBAAiB,CACrB,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAClD,OAAO,CAAC,IAAI,CAAC;IAqChB;;OAEG;IACG,QAAQ,CACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,GAAE,OAAc,EACtB,iBAAiB,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAe,EACpD,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC;IAK9B;;OAEG;IACG,cAAc,CAClB,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,MAAM,GAAE,OAAe,EACvB,iBAAiB,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAe,EACpD,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC;YAgBhB,aAAa;YAUb,QAAQ;IAetB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA6CxB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,oBAAoB;YAYd,YAAY;IAwC1B;;OAEG;YACW,WAAW;IAyEzB;;OAEG;IACH,OAAO,CAAC,YAAY;CAwBrB"}