@aituber-onair/chat 0.7.0 → 0.9.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 (69) hide show
  1. package/README.ja.md +19 -3
  2. package/README.md +20 -4
  3. package/dist/cjs/constants/claude.d.ts +1 -0
  4. package/dist/cjs/constants/claude.d.ts.map +1 -1
  5. package/dist/cjs/constants/claude.js +3 -1
  6. package/dist/cjs/constants/claude.js.map +1 -1
  7. package/dist/cjs/constants/index.d.ts +1 -0
  8. package/dist/cjs/constants/index.d.ts.map +1 -1
  9. package/dist/cjs/constants/index.js +1 -0
  10. package/dist/cjs/constants/index.js.map +1 -1
  11. package/dist/cjs/constants/zai.d.ts +18 -0
  12. package/dist/cjs/constants/zai.d.ts.map +1 -0
  13. package/dist/cjs/constants/zai.js +33 -0
  14. package/dist/cjs/constants/zai.js.map +1 -0
  15. package/dist/cjs/index.d.ts +2 -0
  16. package/dist/cjs/index.d.ts.map +1 -1
  17. package/dist/cjs/index.js +6 -1
  18. package/dist/cjs/index.js.map +1 -1
  19. package/dist/cjs/services/ChatServiceFactory.d.ts.map +1 -1
  20. package/dist/cjs/services/ChatServiceFactory.js +3 -0
  21. package/dist/cjs/services/ChatServiceFactory.js.map +1 -1
  22. package/dist/cjs/services/providers/ChatServiceProvider.d.ts +10 -0
  23. package/dist/cjs/services/providers/ChatServiceProvider.d.ts.map +1 -1
  24. package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.d.ts.map +1 -1
  25. package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.js +1 -0
  26. package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.js.map +1 -1
  27. package/dist/cjs/services/providers/zai/ZAIChatService.d.ts +73 -0
  28. package/dist/cjs/services/providers/zai/ZAIChatService.d.ts.map +1 -0
  29. package/dist/cjs/services/providers/zai/ZAIChatService.js +292 -0
  30. package/dist/cjs/services/providers/zai/ZAIChatService.js.map +1 -0
  31. package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.d.ts +36 -0
  32. package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.d.ts.map +1 -0
  33. package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.js +73 -0
  34. package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.js.map +1 -0
  35. package/dist/esm/constants/claude.d.ts +1 -0
  36. package/dist/esm/constants/claude.d.ts.map +1 -1
  37. package/dist/esm/constants/claude.js +2 -0
  38. package/dist/esm/constants/claude.js.map +1 -1
  39. package/dist/esm/constants/index.d.ts +1 -0
  40. package/dist/esm/constants/index.d.ts.map +1 -1
  41. package/dist/esm/constants/index.js +1 -0
  42. package/dist/esm/constants/index.js.map +1 -1
  43. package/dist/esm/constants/zai.d.ts +18 -0
  44. package/dist/esm/constants/zai.d.ts.map +1 -0
  45. package/dist/esm/constants/zai.js +28 -0
  46. package/dist/esm/constants/zai.js.map +1 -0
  47. package/dist/esm/index.d.ts +2 -0
  48. package/dist/esm/index.d.ts.map +1 -1
  49. package/dist/esm/index.js +3 -0
  50. package/dist/esm/index.js.map +1 -1
  51. package/dist/esm/services/ChatServiceFactory.d.ts.map +1 -1
  52. package/dist/esm/services/ChatServiceFactory.js +3 -0
  53. package/dist/esm/services/ChatServiceFactory.js.map +1 -1
  54. package/dist/esm/services/providers/ChatServiceProvider.d.ts +10 -0
  55. package/dist/esm/services/providers/ChatServiceProvider.d.ts.map +1 -1
  56. package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.d.ts.map +1 -1
  57. package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.js +2 -1
  58. package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.js.map +1 -1
  59. package/dist/esm/services/providers/zai/ZAIChatService.d.ts +73 -0
  60. package/dist/esm/services/providers/zai/ZAIChatService.d.ts.map +1 -0
  61. package/dist/esm/services/providers/zai/ZAIChatService.js +288 -0
  62. package/dist/esm/services/providers/zai/ZAIChatService.js.map +1 -0
  63. package/dist/esm/services/providers/zai/ZAIChatServiceProvider.d.ts +36 -0
  64. package/dist/esm/services/providers/zai/ZAIChatServiceProvider.d.ts.map +1 -0
  65. package/dist/esm/services/providers/zai/ZAIChatServiceProvider.js +69 -0
  66. package/dist/esm/services/providers/zai/ZAIChatServiceProvider.js.map +1 -0
  67. package/dist/umd/aituber-onair-chat.js +386 -2
  68. package/dist/umd/aituber-onair-chat.min.js +11 -9
  69. 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等の様々な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
10
10
  - 🔄 **統一されたインターフェース**: 異なるプロバイダー間での一貫したAPI
11
11
  - 🛠️ **ツール・関数呼び出し**: AI関数呼び出しの自動反復処理をサポート
12
12
  - 💬 **ストリーミングレスポンス**: リアルタイムストリーミングチャット応答
@@ -181,6 +181,21 @@ const openRouterService = ChatServiceFactory.createChatService('openrouter', {
181
181
  - 無料階層にはレート制限があります(20リクエスト/分)
182
182
  - 現在は`openai/gpt-oss-20b:free`モデルのみサポートしています
183
183
 
184
+ #### Z.ai(GLM)
185
+
186
+ ```typescript
187
+ const zaiService = ChatServiceFactory.createChatService('zai', {
188
+ apiKey: process.env.ZAI_API_KEY,
189
+ model: 'glm-4.7',
190
+ visionModel: 'glm-4.6V-Flash', // 任意: ビジョン対応モデル
191
+ responseFormat: { type: 'json_object' } // 任意: JSONモード
192
+ });
193
+ ```
194
+
195
+ 注意:
196
+ - Z.aiはOpenAI互換のChat Completionsを利用します。
197
+ - `thinking` はデフォルトで無効化しています。
198
+
184
199
  ### ビジョンチャット
185
200
 
186
201
  ```typescript
@@ -403,8 +418,9 @@ type ChatResponseLength = 'veryShort' | 'short' | 'medium' | 'long' | 'veryLong'
403
418
 
404
419
  - **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
420
  - **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
- - **Claude**: 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のモデルをサポート
421
+ - **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
422
  - **OpenRouter**: `openai/gpt-oss-20b:free`(トークン制限の特別処理がある無料利用枠モデル)をサポート
423
+ - **Z.ai**: GLM-4.7(Flash/FlashX含む)とGLM-4.6V-Flash(ビジョン)をサポート
408
424
 
409
425
  ## ライセンス
410
426
 
package/README.md CHANGED
@@ -1,12 +1,12 @@
1
1
  # @aituber-onair/chat
2
2
 
3
- ![@aituber-onair/chat logo](./images/aituber-onair-chat.png)
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, and Z.ai.
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, and Z.ai
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
@@ -181,6 +181,21 @@ const openRouterService = ChatServiceFactory.createChatService('openrouter', {
181
181
  - Free tier has rate limits (20 requests/minute)
182
182
  - Only `openai/gpt-oss-20b:free` model is currently supported
183
183
 
184
+ #### Z.ai (GLM)
185
+
186
+ ```typescript
187
+ const zaiService = ChatServiceFactory.createChatService('zai', {
188
+ apiKey: process.env.ZAI_API_KEY,
189
+ model: 'glm-4.7',
190
+ visionModel: 'glm-4.6V-Flash', // Optional: vision-capable model
191
+ responseFormat: { type: 'json_object' } // Optional JSON mode
192
+ });
193
+ ```
194
+
195
+ Notes:
196
+ - Z.ai uses OpenAI-compatible Chat Completions.
197
+ - `thinking` is disabled by default to match fast response behavior.
198
+
184
199
  ### Vision Chat
185
200
 
186
201
  ```typescript
@@ -403,8 +418,9 @@ Currently, the following AI providers are built-in:
403
418
 
404
419
  - **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
420
  - **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
- - **Claude**: Supports models like 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
421
+ - **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
422
  - **OpenRouter**: Supports `openai/gpt-oss-20b:free` (free tier model with special handling for token limits)
423
+ - **Z.ai**: Supports GLM-4.7 (including Flash/FlashX) and GLM-4.6V-Flash (vision)
408
424
 
409
425
  ## License
410
426
 
@@ -7,5 +7,6 @@ export declare const MODEL_CLAUDE_4_SONNET = "claude-4-sonnet-20250514";
7
7
  export declare const MODEL_CLAUDE_4_OPUS = "claude-4-opus-20250514";
8
8
  export declare const MODEL_CLAUDE_4_5_SONNET = "claude-sonnet-4-5-20250929";
9
9
  export declare const MODEL_CLAUDE_4_5_HAIKU = "claude-haiku-4-5-20251001";
10
+ export declare const MODEL_CLAUDE_4_5_OPUS = "claude-opus-4-5-20251101";
10
11
  export declare const CLAUDE_VISION_SUPPORTED_MODELS: string[];
11
12
  //# sourceMappingURL=claude.d.ts.map
@@ -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;AAElE,eAAO,MAAM,8BAA8B,UAS1C,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;AAEhE,eAAO,MAAM,8BAA8B,UAU1C,CAAC"}
@@ -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_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.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.ENDPOINT_CLAUDE_API = 'https://api.anthropic.com/v1/messages';
5
5
  // claude model
6
6
  exports.MODEL_CLAUDE_3_HAIKU = 'claude-3-haiku-20240307';
@@ -11,6 +11,7 @@ exports.MODEL_CLAUDE_4_SONNET = 'claude-4-sonnet-20250514';
11
11
  exports.MODEL_CLAUDE_4_OPUS = 'claude-4-opus-20250514';
12
12
  exports.MODEL_CLAUDE_4_5_SONNET = 'claude-sonnet-4-5-20250929';
13
13
  exports.MODEL_CLAUDE_4_5_HAIKU = 'claude-haiku-4-5-20251001';
14
+ exports.MODEL_CLAUDE_4_5_OPUS = 'claude-opus-4-5-20251101';
14
15
  exports.CLAUDE_VISION_SUPPORTED_MODELS = [
15
16
  exports.MODEL_CLAUDE_3_HAIKU,
16
17
  exports.MODEL_CLAUDE_3_5_HAIKU,
@@ -20,5 +21,6 @@ exports.CLAUDE_VISION_SUPPORTED_MODELS = [
20
21
  exports.MODEL_CLAUDE_4_OPUS,
21
22
  exports.MODEL_CLAUDE_4_5_SONNET,
22
23
  exports.MODEL_CLAUDE_4_5_HAIKU,
24
+ exports.MODEL_CLAUDE_4_5_OPUS,
23
25
  ];
24
26
  //# sourceMappingURL=claude.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/constants/claude.ts"],"names":[],"mappings":";;;AAAa,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;AAErD,QAAA,8BAA8B,GAAG;IAC5C,4BAAoB;IACpB,8BAAsB;IACtB,+BAAuB;IACvB,+BAAuB;IACvB,6BAAqB;IACrB,2BAAmB;IACnB,+BAAuB;IACvB,8BAAsB;CACvB,CAAC"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/constants/claude.ts"],"names":[],"mappings":";;;AAAa,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;AAEnD,QAAA,8BAA8B,GAAG;IAC5C,4BAAoB;IACpB,8BAAsB;IACtB,+BAAuB;IACvB,+BAAuB;IACvB,6BAAqB;IACrB,2BAAmB;IACnB,+BAAuB;IACvB,8BAAsB;IACtB,6BAAqB;CACtB,CAAC"}
@@ -5,6 +5,7 @@ export * from './openai';
5
5
  export * from './gemini';
6
6
  export * from './claude';
7
7
  export * from './openrouter';
8
+ export * from './zai';
8
9
  export * from './chat';
9
10
  export * from './prompts';
10
11
  //# 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,WAAW,CAAC"}
@@ -21,6 +21,7 @@ __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);
24
25
  __exportStar(require("./chat"), exports);
25
26
  __exportStar(require("./prompts"), exports);
26
27
  //# 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,4CAA0B"}
@@ -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,8 @@ 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';
17
19
  export * from './constants';
18
20
  export * from './utils';
19
21
  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,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.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,11 @@ 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; } });
46
51
  // Constants exports
47
52
  __exportStar(require("./constants"), exports);
48
53
  // 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,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;AAOzC;;;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,7 @@ 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");
8
9
  /**
9
10
  * Chat service factory
10
11
  * Manages and creates various AI providers
@@ -65,4 +66,6 @@ ChatServiceFactory.registerProvider(new GeminiChatServiceProvider_1.GeminiChatSe
65
66
  ChatServiceFactory.registerProvider(new ClaudeChatServiceProvider_1.ClaudeChatServiceProvider());
66
67
  // Register OpenRouter as a provider
67
68
  ChatServiceFactory.registerProvider(new OpenRouterChatServiceProvider_1.OpenRouterChatServiceProvider());
69
+ // Register Z.ai as a provider
70
+ ChatServiceFactory.registerProvider(new ZAIChatServiceProvider_1.ZAIChatServiceProvider());
68
71
  //# 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;AAEhF;;;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"}
@@ -28,6 +28,16 @@ export interface ChatServiceOptions {
28
28
  includeReasoning?: boolean;
29
29
  /** Maximum tokens allocated for reasoning (OpenRouter only) */
30
30
  reasoningMaxTokens?: number;
31
+ /** Response format (OpenAI-compatible JSON mode) */
32
+ responseFormat?: {
33
+ type: 'text' | 'json_object' | 'json_schema';
34
+ json_schema?: any;
35
+ };
36
+ /** Thinking mode options (Z.ai only) */
37
+ thinking?: {
38
+ type: 'enabled' | 'disabled';
39
+ clear_thinking?: boolean;
40
+ };
31
41
  /** Additional provider-specific options */
32
42
  [key: string]: any;
33
43
  }
@@ -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,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,wCAAwC;IACxC,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClaudeChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/claude/ClaudeChatServiceProvider.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,qBAAa,yBAA0B,YAAW,mBAAmB;IACnE;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW;IAkB3D;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAa9B;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,cAAc,IAAI,OAAO;IAIzB;;;;OAIG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAG/C"}
1
+ {"version":3,"file":"ClaudeChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/claude/ClaudeChatServiceProvider.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,qBAAa,yBAA0B,YAAW,mBAAmB;IACnE;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW;IAkB3D;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAc9B;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,cAAc,IAAI,OAAO;IAIzB;;;;OAIG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAG/C"}
@@ -41,6 +41,7 @@ class ClaudeChatServiceProvider {
41
41
  constants_1.MODEL_CLAUDE_4_OPUS,
42
42
  constants_1.MODEL_CLAUDE_4_5_SONNET,
43
43
  constants_1.MODEL_CLAUDE_4_5_HAIKU,
44
+ constants_1.MODEL_CLAUDE_4_5_OPUS,
44
45
  ];
45
46
  }
46
47
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ClaudeChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/claude/ClaudeChatServiceProvider.ts"],"names":[],"mappings":";;;AAAA,kDAU4B;AAE5B,2DAAwD;AAOxD;;GAEG;AACH,MAAa,yBAAyB;IACpC;;;;OAIG;IACH,iBAAiB,CAAC,OAA2B;QAC3C,gFAAgF;QAChF,MAAM,WAAW,GACf,OAAO,CAAC,WAAW;YACnB,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnE,CAAC,CAAC,OAAO,CAAC,KAAK;gBACf,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QAE9B,OAAO,IAAI,qCAAiB,CAC1B,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,EACvC,WAAW,EACX,OAAO,CAAC,KAAK,IAAI,EAAE,EAClB,OAAe,CAAC,UAAU,IAAI,EAAE,EACjC,OAAO,CAAC,cAAc,CACvB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,OAAO;YACL,gCAAoB;YACpB,kCAAsB;YACtB,mCAAuB;YACvB,mCAAuB;YACvB,iCAAqB;YACrB,+BAAmB;YACnB,mCAAuB;YACvB,kCAAsB;SACvB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,gCAAoB,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,KAAa;QAClC,OAAO,0CAA8B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;CACF;AAzED,8DAyEC"}
1
+ {"version":3,"file":"ClaudeChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/claude/ClaudeChatServiceProvider.ts"],"names":[],"mappings":";;;AAAA,kDAW4B;AAE5B,2DAAwD;AAOxD;;GAEG;AACH,MAAa,yBAAyB;IACpC;;;;OAIG;IACH,iBAAiB,CAAC,OAA2B;QAC3C,gFAAgF;QAChF,MAAM,WAAW,GACf,OAAO,CAAC,WAAW;YACnB,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnE,CAAC,CAAC,OAAO,CAAC,KAAK;gBACf,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QAE9B,OAAO,IAAI,qCAAiB,CAC1B,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,EACvC,WAAW,EACX,OAAO,CAAC,KAAK,IAAI,EAAE,EAClB,OAAe,CAAC,UAAU,IAAI,EAAE,EACjC,OAAO,CAAC,cAAc,CACvB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,OAAO;YACL,gCAAoB;YACpB,kCAAsB;YACtB,mCAAuB;YACvB,mCAAuB;YACvB,iCAAqB;YACrB,+BAAmB;YACnB,mCAAuB;YACvB,kCAAsB;YACtB,iCAAqB;SACtB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,gCAAoB,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,KAAa;QAClC,OAAO,0CAA8B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;CACF;AA1ED,8DA0EC"}
@@ -0,0 +1,73 @@
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
+ * Z.ai implementation of ChatService (OpenAI-compatible Chat Completions)
7
+ */
8
+ export declare class ZAIChatService 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 Z.ai 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 callZAI;
58
+ /**
59
+ * Build request body (OpenAI-compatible Chat Completions)
60
+ */
61
+ private buildRequestBody;
62
+ private buildToolsDefinition;
63
+ private handleStream;
64
+ /**
65
+ * Parse streaming response with tool support
66
+ */
67
+ private parseStream;
68
+ /**
69
+ * Parse non-streaming response
70
+ */
71
+ private parseOneShot;
72
+ }
73
+ //# sourceMappingURL=ZAIChatService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZAIChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/zai/ZAIChatService.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;AAQxB,OAAO,EACL,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAIjC;;GAEG;AACH,qBAAa,cAAe,YAAW,WAAW;IAChD,oBAAoB;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAS;IAElC,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,MAAsB,EAC7B,WAAW,GAAE,MAA6B,EAC1C,KAAK,CAAC,EAAE,cAAc,EAAE,EACxB,QAAQ,GAAE,MAA0C,EACpD,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,OAAO;IAerB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAwCxB,OAAO,CAAC,oBAAoB;YAYd,YAAY;IAwC1B;;OAEG;YACW,WAAW;IAyEzB;;OAEG;IACH,OAAO,CAAC,YAAY;CAwBrB"}