@aituber-onair/chat 0.22.0 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja.md +18 -2
- package/README.md +18 -2
- package/dist/cjs/constants/index.d.ts +1 -0
- package/dist/cjs/constants/index.d.ts.map +1 -1
- package/dist/cjs/constants/index.js +1 -0
- package/dist/cjs/constants/index.js.map +1 -1
- package/dist/cjs/constants/xai.d.ts +11 -0
- package/dist/cjs/constants/xai.d.ts.map +1 -0
- package/dist/cjs/constants/xai.js +24 -0
- package/dist/cjs/constants/xai.js.map +1 -0
- package/dist/cjs/index.d.ts +3 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +6 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/services/providers/ChatServiceProvider.d.ts +2 -0
- package/dist/cjs/services/providers/ChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/index.d.ts +2 -1
- package/dist/cjs/services/providers/index.d.ts.map +1 -1
- package/dist/cjs/services/providers/index.js +2 -0
- package/dist/cjs/services/providers/index.js.map +1 -1
- package/dist/cjs/services/providers/xai/XAIChatService.d.ts +65 -0
- package/dist/cjs/services/providers/xai/XAIChatService.d.ts.map +1 -0
- package/dist/cjs/services/providers/xai/XAIChatService.js +150 -0
- package/dist/cjs/services/providers/xai/XAIChatService.js.map +1 -0
- package/dist/cjs/services/providers/xai/XAIChatServiceProvider.d.ts +38 -0
- package/dist/cjs/services/providers/xai/XAIChatServiceProvider.d.ts.map +1 -0
- package/dist/cjs/services/providers/xai/XAIChatServiceProvider.js +76 -0
- package/dist/cjs/services/providers/xai/XAIChatServiceProvider.js.map +1 -0
- package/dist/esm/constants/index.d.ts +1 -0
- package/dist/esm/constants/index.d.ts.map +1 -1
- package/dist/esm/constants/index.js +1 -0
- package/dist/esm/constants/index.js.map +1 -1
- package/dist/esm/constants/xai.d.ts +11 -0
- package/dist/esm/constants/xai.d.ts.map +1 -0
- package/dist/esm/constants/xai.js +20 -0
- package/dist/esm/constants/xai.js.map +1 -0
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/services/providers/ChatServiceProvider.d.ts +2 -0
- package/dist/esm/services/providers/ChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/index.d.ts +2 -1
- package/dist/esm/services/providers/index.d.ts.map +1 -1
- package/dist/esm/services/providers/index.js +2 -0
- package/dist/esm/services/providers/index.js.map +1 -1
- package/dist/esm/services/providers/xai/XAIChatService.d.ts +65 -0
- package/dist/esm/services/providers/xai/XAIChatService.d.ts.map +1 -0
- package/dist/esm/services/providers/xai/XAIChatService.js +146 -0
- package/dist/esm/services/providers/xai/XAIChatService.js.map +1 -0
- package/dist/esm/services/providers/xai/XAIChatServiceProvider.d.ts +38 -0
- package/dist/esm/services/providers/xai/XAIChatServiceProvider.d.ts.map +1 -0
- package/dist/esm/services/providers/xai/XAIChatServiceProvider.js +72 -0
- package/dist/esm/services/providers/xai/XAIChatServiceProvider.js.map +1 -0
- package/dist/umd/aituber-onair-chat.js +245 -0
- package/dist/umd/aituber-onair-chat.min.js +6 -6
- package/package.json +1 -1
package/README.ja.md
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|

|
|
4
4
|
|
|
5
|
-
AITuber OnAirのチャット・LLM API統合ライブラリです。このパッケージは、OpenAI、ローカルLLM含むOpenAI互換プロバイダー、Claude、Gemini、OpenRouter、Z.ai、Kimi等の様々なAIチャットプロバイダーとやり取りするための統一されたインターフェースを提供します。
|
|
5
|
+
AITuber OnAirのチャット・LLM API統合ライブラリです。このパッケージは、OpenAI、ローカルLLM含むOpenAI互換プロバイダー、Claude、Gemini、OpenRouter、Z.ai、xAI、Kimi等の様々なAIチャットプロバイダーとやり取りするための統一されたインターフェースを提供します。
|
|
6
6
|
|
|
7
7
|
## 機能
|
|
8
8
|
|
|
9
|
-
- 🤖 **複数のAIプロバイダー対応**: OpenAI、ローカルLLM含むOpenAI互換プロバイダー、Claude (Anthropic)、Google Gemini、OpenRouter、Z.ai、Kimi
|
|
9
|
+
- 🤖 **複数のAIプロバイダー対応**: OpenAI、ローカルLLM含むOpenAI互換プロバイダー、Claude (Anthropic)、Google Gemini、OpenRouter、Z.ai、xAI、Kimi
|
|
10
10
|
- 🔄 **統一されたインターフェース**: 異なるプロバイダー間での一貫したAPI
|
|
11
11
|
- 🛠️ **ツール・関数呼び出し**: AI関数呼び出しの自動反復処理をサポート
|
|
12
12
|
- 💬 **ストリーミングレスポンス**: リアルタイムストリーミングチャット応答
|
|
@@ -337,6 +337,21 @@ const zaiService = ChatServiceFactory.createChatService('zai', {
|
|
|
337
337
|
- ビジョン対応モデル: `glm-4.6V`, `glm-4.6V-FlashX`, `glm-4.6V-Flash`
|
|
338
338
|
- `thinking` はデフォルトで無効化しています。
|
|
339
339
|
|
|
340
|
+
#### xAI(Grok)
|
|
341
|
+
|
|
342
|
+
```typescript
|
|
343
|
+
const xaiService = ChatServiceFactory.createChatService('xai', {
|
|
344
|
+
apiKey: process.env.XAI_API_KEY,
|
|
345
|
+
model: 'grok-4-1-fast-non-reasoning',
|
|
346
|
+
visionModel: 'grok-4-1-fast-non-reasoning', // 任意: xAI の全モデルがビジョン対応
|
|
347
|
+
});
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
注意:
|
|
351
|
+
- xAIはOpenAI互換のChat Completionsを利用します。
|
|
352
|
+
- 対応モデル: `grok-4.20-0309-reasoning`, `grok-4.20-0309-non-reasoning`, `grok-4-1-fast-reasoning`, `grok-4-1-fast-non-reasoning`
|
|
353
|
+
- すべての対応 xAI モデルでビジョンとツール・関数呼び出しを利用できます。
|
|
354
|
+
|
|
340
355
|
#### Kimi(Moonshot)
|
|
341
356
|
|
|
342
357
|
```typescript
|
|
@@ -647,6 +662,7 @@ console.log(modelLevel); // 'unknown'
|
|
|
647
662
|
- **Claude**: Claude Sonnet 4.6, Claude Opus 4.6, 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のモデルをサポート
|
|
648
663
|
- **OpenRouter**: OpenRouterのキュレーション済みモデル一覧(OpenAI/Claude/Gemini/Z.ai/Kimi)をサポート。モデルIDはOpenRouter節を参照してください
|
|
649
664
|
- **Z.ai**: GLM-5/GLM-5-Turbo(テキスト)、GLM-4.7/4.6(テキスト)、GLM-4.6V系(ビジョン)をサポート
|
|
665
|
+
- **xAI**: Grok 4.20 の Reasoning/Non-Reasoning と Grok 4-1 Fast の Reasoning/Non-Reasoning をサポートし、全モデルでビジョン対応
|
|
650
666
|
- **Kimi**: Kimi K2.5(`kimi-k2.5`、ビジョン対応)をサポート
|
|
651
667
|
|
|
652
668
|
## ライセンス
|
package/README.md
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|

|
|
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, OpenAI-compatible, Claude, Gemini, OpenRouter, Z.ai, and Kimi.
|
|
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, OpenAI-compatible, Claude, Gemini, OpenRouter, Z.ai, xAI, and Kimi.
|
|
6
6
|
|
|
7
7
|
## Features
|
|
8
8
|
|
|
9
|
-
- 🤖 **Multiple AI Provider Support**: OpenAI, OpenAI-compatible, Claude (Anthropic), Google Gemini, OpenRouter, Z.ai, and Kimi
|
|
9
|
+
- 🤖 **Multiple AI Provider Support**: OpenAI, OpenAI-compatible, Claude (Anthropic), Google Gemini, OpenRouter, Z.ai, xAI, 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
|
|
@@ -333,6 +333,21 @@ Notes:
|
|
|
333
333
|
- Supported vision models: `glm-4.6V`, `glm-4.6V-FlashX`, `glm-4.6V-Flash`
|
|
334
334
|
- `thinking` is disabled by default to match fast response behavior.
|
|
335
335
|
|
|
336
|
+
#### xAI (Grok)
|
|
337
|
+
|
|
338
|
+
```typescript
|
|
339
|
+
const xaiService = ChatServiceFactory.createChatService('xai', {
|
|
340
|
+
apiKey: process.env.XAI_API_KEY,
|
|
341
|
+
model: 'grok-4-1-fast-non-reasoning',
|
|
342
|
+
visionModel: 'grok-4-1-fast-non-reasoning', // Optional: all xAI models support vision
|
|
343
|
+
});
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
Notes:
|
|
347
|
+
- xAI uses OpenAI-compatible Chat Completions.
|
|
348
|
+
- Supported models: `grok-4.20-0309-reasoning`, `grok-4.20-0309-non-reasoning`, `grok-4-1-fast-reasoning`, `grok-4-1-fast-non-reasoning`
|
|
349
|
+
- All supported xAI models support vision and tool/function calling.
|
|
350
|
+
|
|
336
351
|
#### Kimi (Moonshot)
|
|
337
352
|
|
|
338
353
|
```typescript
|
|
@@ -643,6 +658,7 @@ Currently, the following AI providers are built-in:
|
|
|
643
658
|
- **Claude**: Supports models like Claude Sonnet 4.6, Claude Opus 4.6, 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
|
|
644
659
|
- **OpenRouter**: Supports a curated OpenRouter model list (OpenAI/Claude/Gemini/Z.ai/Kimi). See the OpenRouter section for model IDs.
|
|
645
660
|
- **Z.ai**: Supports GLM-5/GLM-5-Turbo (text), GLM-4.7/4.6 (text), and GLM-4.6V family (vision)
|
|
661
|
+
- **xAI**: Supports Grok 4.20 Reasoning/Non-Reasoning and Grok 4-1 Fast Reasoning/Non-Reasoning, all with vision support
|
|
646
662
|
- **Kimi**: Supports Kimi K2.5 (`kimi-k2.5`) with vision support
|
|
647
663
|
|
|
648
664
|
## License
|
|
@@ -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,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,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,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
|
|
@@ -22,6 +22,7 @@ __exportStar(require("./gemini"), exports);
|
|
|
22
22
|
__exportStar(require("./claude"), exports);
|
|
23
23
|
__exportStar(require("./openrouter"), exports);
|
|
24
24
|
__exportStar(require("./zai"), exports);
|
|
25
|
+
__exportStar(require("./xai"), exports);
|
|
25
26
|
__exportStar(require("./kimi"), exports);
|
|
26
27
|
__exportStar(require("./chat"), exports);
|
|
27
28
|
__exportStar(require("./prompts"), exports);
|
|
@@ -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,wCAAsB;AACtB,yCAAuB;AACvB,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,wCAAsB;AACtB,yCAAuB;AACvB,yCAAuB;AACvB,4CAA0B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const ENDPOINT_XAI_CHAT_COMPLETIONS_API = "https://api.x.ai/v1/chat/completions";
|
|
2
|
+
export declare const MODEL_GROK_4_20_REASONING = "grok-4.20-0309-reasoning";
|
|
3
|
+
export declare const MODEL_GROK_4_20_NON_REASONING = "grok-4.20-0309-non-reasoning";
|
|
4
|
+
export declare const MODEL_GROK_4_1_FAST_REASONING = "grok-4-1-fast-reasoning";
|
|
5
|
+
export declare const MODEL_GROK_4_1_FAST_NON_REASONING = "grok-4-1-fast-non-reasoning";
|
|
6
|
+
export declare const XAI_VISION_SUPPORTED_MODELS: string[];
|
|
7
|
+
/**
|
|
8
|
+
* Check if a model supports vision capabilities
|
|
9
|
+
*/
|
|
10
|
+
export declare function isXaiVisionModel(model: string): boolean;
|
|
11
|
+
//# sourceMappingURL=xai.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xai.d.ts","sourceRoot":"","sources":["../../../src/constants/xai.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,yCACN,CAAC;AAGzC,eAAO,MAAM,yBAAyB,6BAA6B,CAAC;AACpE,eAAO,MAAM,6BAA6B,iCAAiC,CAAC;AAC5E,eAAO,MAAM,6BAA6B,4BAA4B,CAAC;AACvE,eAAO,MAAM,iCAAiC,gCAAgC,CAAC;AAG/E,eAAO,MAAM,2BAA2B,UAKvC,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvD"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.XAI_VISION_SUPPORTED_MODELS = exports.MODEL_GROK_4_1_FAST_NON_REASONING = exports.MODEL_GROK_4_1_FAST_REASONING = exports.MODEL_GROK_4_20_NON_REASONING = exports.MODEL_GROK_4_20_REASONING = exports.ENDPOINT_XAI_CHAT_COMPLETIONS_API = void 0;
|
|
4
|
+
exports.isXaiVisionModel = isXaiVisionModel;
|
|
5
|
+
exports.ENDPOINT_XAI_CHAT_COMPLETIONS_API = 'https://api.x.ai/v1/chat/completions';
|
|
6
|
+
// xAI Grok models
|
|
7
|
+
exports.MODEL_GROK_4_20_REASONING = 'grok-4.20-0309-reasoning';
|
|
8
|
+
exports.MODEL_GROK_4_20_NON_REASONING = 'grok-4.20-0309-non-reasoning';
|
|
9
|
+
exports.MODEL_GROK_4_1_FAST_REASONING = 'grok-4-1-fast-reasoning';
|
|
10
|
+
exports.MODEL_GROK_4_1_FAST_NON_REASONING = 'grok-4-1-fast-non-reasoning';
|
|
11
|
+
// Vision support for models
|
|
12
|
+
exports.XAI_VISION_SUPPORTED_MODELS = [
|
|
13
|
+
exports.MODEL_GROK_4_20_REASONING,
|
|
14
|
+
exports.MODEL_GROK_4_20_NON_REASONING,
|
|
15
|
+
exports.MODEL_GROK_4_1_FAST_REASONING,
|
|
16
|
+
exports.MODEL_GROK_4_1_FAST_NON_REASONING,
|
|
17
|
+
];
|
|
18
|
+
/**
|
|
19
|
+
* Check if a model supports vision capabilities
|
|
20
|
+
*/
|
|
21
|
+
function isXaiVisionModel(model) {
|
|
22
|
+
return exports.XAI_VISION_SUPPORTED_MODELS.includes(model);
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=xai.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xai.js","sourceRoot":"","sources":["../../../src/constants/xai.ts"],"names":[],"mappings":";;;AAoBA,4CAEC;AAtBY,QAAA,iCAAiC,GAC5C,sCAAsC,CAAC;AAEzC,kBAAkB;AACL,QAAA,yBAAyB,GAAG,0BAA0B,CAAC;AACvD,QAAA,6BAA6B,GAAG,8BAA8B,CAAC;AAC/D,QAAA,6BAA6B,GAAG,yBAAyB,CAAC;AAC1D,QAAA,iCAAiC,GAAG,6BAA6B,CAAC;AAE/E,4BAA4B;AACf,QAAA,2BAA2B,GAAG;IACzC,iCAAyB;IACzB,qCAA6B;IAC7B,qCAA6B;IAC7B,yCAAiC;CAClC,CAAC;AAEF;;GAEG;AACH,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,OAAO,mCAA2B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
export * from './types';
|
|
6
6
|
export type { ChatService } from './services/ChatService';
|
|
7
7
|
export { ChatServiceFactory } from './services/ChatServiceFactory';
|
|
8
|
-
export type { ChatServiceOptions, ChatServiceOptionsByProvider, ChatProviderName, OpenAIChatServiceOptions, OpenAICompatibleChatServiceOptions, OpenRouterChatServiceOptions, GeminiChatServiceOptions, ClaudeChatServiceOptions, ZAIChatServiceOptions, KimiChatServiceOptions, ChatServiceProvider, VisionSupportLevel, } from './services/providers/ChatServiceProvider';
|
|
8
|
+
export type { ChatServiceOptions, ChatServiceOptionsByProvider, ChatProviderName, OpenAIChatServiceOptions, OpenAICompatibleChatServiceOptions, OpenRouterChatServiceOptions, GeminiChatServiceOptions, ClaudeChatServiceOptions, ZAIChatServiceOptions, XAIChatServiceOptions, KimiChatServiceOptions, ChatServiceProvider, VisionSupportLevel, } from './services/providers/ChatServiceProvider';
|
|
9
9
|
export { OpenAIChatService } from './services/providers/openai/OpenAIChatService';
|
|
10
10
|
export { OpenAIChatServiceProvider } from './services/providers/openai/OpenAIChatServiceProvider';
|
|
11
11
|
export { OpenAICompatibleChatServiceProvider } from './services/providers/openaiCompatible/OpenAICompatibleChatServiceProvider';
|
|
@@ -17,6 +17,8 @@ export { OpenRouterChatService } from './services/providers/openrouter/OpenRoute
|
|
|
17
17
|
export { OpenRouterChatServiceProvider } from './services/providers/openrouter/OpenRouterChatServiceProvider';
|
|
18
18
|
export { ZAIChatService } from './services/providers/zai/ZAIChatService';
|
|
19
19
|
export { ZAIChatServiceProvider } from './services/providers/zai/ZAIChatServiceProvider';
|
|
20
|
+
export { XAIChatService } from './services/providers/xai/XAIChatService';
|
|
21
|
+
export { XAIChatServiceProvider } from './services/providers/xai/XAIChatServiceProvider';
|
|
20
22
|
export { KimiChatService } from './services/providers/kimi/KimiChatService';
|
|
21
23
|
export { KimiChatServiceProvider } from './services/providers/kimi/KimiChatServiceProvider';
|
|
22
24
|
export * from './constants';
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -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,4BAA4B,EAC5B,gBAAgB,EAChB,wBAAwB,EACxB,kCAAkC,EAClC,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAClG,OAAO,EAAE,mCAAmC,EAAE,MAAM,2EAA2E,CAAC;AAGhI,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"}
|
|
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,4BAA4B,EAC5B,gBAAgB,EAChB,wBAAwB,EACxB,kCAAkC,EAClC,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAClG,OAAO,EAAE,mCAAmC,EAAE,MAAM,2EAA2E,CAAC;AAGhI,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,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.KimiChatServiceProvider = exports.KimiChatService = exports.ZAIChatServiceProvider = exports.ZAIChatService = exports.OpenRouterChatServiceProvider = exports.OpenRouterChatService = exports.ClaudeChatServiceProvider = exports.ClaudeChatService = exports.GeminiChatServiceProvider = exports.GeminiChatService = exports.OpenAICompatibleChatServiceProvider = exports.OpenAIChatServiceProvider = exports.OpenAIChatService = exports.ChatServiceFactory = void 0;
|
|
21
|
+
exports.installGASFetch = exports.KimiChatServiceProvider = exports.KimiChatService = exports.XAIChatServiceProvider = exports.XAIChatService = exports.ZAIChatServiceProvider = exports.ZAIChatService = exports.OpenRouterChatServiceProvider = exports.OpenRouterChatService = exports.ClaudeChatServiceProvider = exports.ClaudeChatService = exports.GeminiChatServiceProvider = exports.GeminiChatService = exports.OpenAICompatibleChatServiceProvider = 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");
|
|
@@ -50,6 +50,11 @@ var ZAIChatService_1 = require("./services/providers/zai/ZAIChatService");
|
|
|
50
50
|
Object.defineProperty(exports, "ZAIChatService", { enumerable: true, get: function () { return ZAIChatService_1.ZAIChatService; } });
|
|
51
51
|
var ZAIChatServiceProvider_1 = require("./services/providers/zai/ZAIChatServiceProvider");
|
|
52
52
|
Object.defineProperty(exports, "ZAIChatServiceProvider", { enumerable: true, get: function () { return ZAIChatServiceProvider_1.ZAIChatServiceProvider; } });
|
|
53
|
+
// xAI provider exports
|
|
54
|
+
var XAIChatService_1 = require("./services/providers/xai/XAIChatService");
|
|
55
|
+
Object.defineProperty(exports, "XAIChatService", { enumerable: true, get: function () { return XAIChatService_1.XAIChatService; } });
|
|
56
|
+
var XAIChatServiceProvider_1 = require("./services/providers/xai/XAIChatServiceProvider");
|
|
57
|
+
Object.defineProperty(exports, "XAIChatServiceProvider", { enumerable: true, get: function () { return XAIChatServiceProvider_1.XAIChatServiceProvider; } });
|
|
53
58
|
// Kimi provider exports
|
|
54
59
|
var KimiChatService_1 = require("./services/providers/kimi/KimiChatService");
|
|
55
60
|
Object.defineProperty(exports, "KimiChatService", { enumerable: true, get: function () { return KimiChatService_1.KimiChatService; } });
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -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;
|
|
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;AAmB3B,0BAA0B;AAC1B,mFAAkF;AAAzE,sHAAA,iBAAiB,OAAA;AAC1B,mGAAkG;AAAzF,sIAAA,yBAAyB,OAAA;AAClC,iIAAgI;AAAvH,0JAAA,mCAAmC,OAAA;AAE5C,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,uBAAuB;AACvB,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"}
|
|
@@ -69,6 +69,7 @@ export type ClaudeChatServiceOptions = DisallowKeys<BaseChatServiceOptions, 'end
|
|
|
69
69
|
};
|
|
70
70
|
export type KimiChatServiceOptions = DisallowKeys<BaseChatServiceOptions, 'verbosity' | 'reasoning_effort' | 'gpt5Preset' | 'gpt5EndpointPreference' | 'enableReasoningSummary' | 'includeReasoning' | 'reasoningMaxTokens'>;
|
|
71
71
|
export type ZAIChatServiceOptions = DisallowKeys<BaseChatServiceOptions, 'verbosity' | 'reasoning_effort' | 'gpt5Preset' | 'gpt5EndpointPreference' | 'enableReasoningSummary' | 'includeReasoning' | 'reasoningMaxTokens' | 'baseUrl'>;
|
|
72
|
+
export type XAIChatServiceOptions = DisallowKeys<BaseChatServiceOptions, 'verbosity' | 'reasoning_effort' | 'gpt5Preset' | 'gpt5EndpointPreference' | 'enableReasoningSummary' | 'includeReasoning' | 'reasoningMaxTokens' | 'baseUrl' | 'thinking' | 'responseFormat'>;
|
|
72
73
|
export type ChatServiceOptions<TExtra extends Record<string, unknown> = Record<string, unknown>> = BaseChatServiceOptions & TExtra;
|
|
73
74
|
export type ChatServiceOptionsByProvider = {
|
|
74
75
|
openai: OpenAIChatServiceOptions;
|
|
@@ -77,6 +78,7 @@ export type ChatServiceOptionsByProvider = {
|
|
|
77
78
|
gemini: GeminiChatServiceOptions;
|
|
78
79
|
claude: ClaudeChatServiceOptions;
|
|
79
80
|
zai: ZAIChatServiceOptions;
|
|
81
|
+
xai: XAIChatServiceOptions;
|
|
80
82
|
kimi: KimiChatServiceOptions;
|
|
81
83
|
};
|
|
82
84
|
export type ChatProviderName = keyof ChatServiceOptionsByProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../src/services/providers/ChatServiceProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../src/services/providers/ChatServiceProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { KimiChatServiceProvider } from './kimi/KimiChatServiceProvider';
|
|
|
4
4
|
import { OpenAICompatibleChatServiceProvider } from './openaiCompatible/OpenAICompatibleChatServiceProvider';
|
|
5
5
|
import { OpenAIChatServiceProvider } from './openai/OpenAIChatServiceProvider';
|
|
6
6
|
import { OpenRouterChatServiceProvider } from './openrouter/OpenRouterChatServiceProvider';
|
|
7
|
+
import { XAIChatServiceProvider } from './xai/XAIChatServiceProvider';
|
|
7
8
|
import { ZAIChatServiceProvider } from './zai/ZAIChatServiceProvider';
|
|
8
|
-
export declare const DEFAULT_CHAT_SERVICE_PROVIDERS: (ClaudeChatServiceProvider | GeminiChatServiceProvider | KimiChatServiceProvider | OpenAICompatibleChatServiceProvider | OpenAIChatServiceProvider | OpenRouterChatServiceProvider | ZAIChatServiceProvider)[];
|
|
9
|
+
export declare const DEFAULT_CHAT_SERVICE_PROVIDERS: (ClaudeChatServiceProvider | GeminiChatServiceProvider | KimiChatServiceProvider | OpenAICompatibleChatServiceProvider | OpenAIChatServiceProvider | OpenRouterChatServiceProvider | XAIChatServiceProvider | ZAIChatServiceProvider)[];
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,mCAAmC,EAAE,MAAM,wDAAwD,CAAC;AAC7G,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,eAAO,MAAM,8BAA8B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/providers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,mCAAmC,EAAE,MAAM,wDAAwD,CAAC;AAC7G,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,eAAO,MAAM,8BAA8B,yOAS1C,CAAC"}
|
|
@@ -7,6 +7,7 @@ const KimiChatServiceProvider_1 = require("./kimi/KimiChatServiceProvider");
|
|
|
7
7
|
const OpenAICompatibleChatServiceProvider_1 = require("./openaiCompatible/OpenAICompatibleChatServiceProvider");
|
|
8
8
|
const OpenAIChatServiceProvider_1 = require("./openai/OpenAIChatServiceProvider");
|
|
9
9
|
const OpenRouterChatServiceProvider_1 = require("./openrouter/OpenRouterChatServiceProvider");
|
|
10
|
+
const XAIChatServiceProvider_1 = require("./xai/XAIChatServiceProvider");
|
|
10
11
|
const ZAIChatServiceProvider_1 = require("./zai/ZAIChatServiceProvider");
|
|
11
12
|
exports.DEFAULT_CHAT_SERVICE_PROVIDERS = [
|
|
12
13
|
new OpenAIChatServiceProvider_1.OpenAIChatServiceProvider(),
|
|
@@ -15,6 +16,7 @@ exports.DEFAULT_CHAT_SERVICE_PROVIDERS = [
|
|
|
15
16
|
new ClaudeChatServiceProvider_1.ClaudeChatServiceProvider(),
|
|
16
17
|
new OpenRouterChatServiceProvider_1.OpenRouterChatServiceProvider(),
|
|
17
18
|
new ZAIChatServiceProvider_1.ZAIChatServiceProvider(),
|
|
19
|
+
new XAIChatServiceProvider_1.XAIChatServiceProvider(),
|
|
18
20
|
new KimiChatServiceProvider_1.KimiChatServiceProvider(),
|
|
19
21
|
];
|
|
20
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/providers/index.ts"],"names":[],"mappings":";;;AAAA,kFAA+E;AAC/E,kFAA+E;AAC/E,4EAAyE;AACzE,gHAA6G;AAC7G,kFAA+E;AAC/E,8FAA2F;AAC3F,yEAAsE;AAEzD,QAAA,8BAA8B,GAAG;IAC5C,IAAI,qDAAyB,EAAE;IAC/B,IAAI,yEAAmC,EAAE;IACzC,IAAI,qDAAyB,EAAE;IAC/B,IAAI,qDAAyB,EAAE;IAC/B,IAAI,6DAA6B,EAAE;IACnC,IAAI,+CAAsB,EAAE;IAC5B,IAAI,iDAAuB,EAAE;CAC9B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/providers/index.ts"],"names":[],"mappings":";;;AAAA,kFAA+E;AAC/E,kFAA+E;AAC/E,4EAAyE;AACzE,gHAA6G;AAC7G,kFAA+E;AAC/E,8FAA2F;AAC3F,yEAAsE;AACtE,yEAAsE;AAEzD,QAAA,8BAA8B,GAAG;IAC5C,IAAI,qDAAyB,EAAE;IAC/B,IAAI,yEAAmC,EAAE;IACzC,IAAI,qDAAyB,EAAE;IAC/B,IAAI,qDAAyB,EAAE;IAC/B,IAAI,6DAA6B,EAAE;IACnC,IAAI,+CAAsB,EAAE;IAC5B,IAAI,+CAAsB,EAAE;IAC5B,IAAI,iDAAuB,EAAE;CAC9B,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
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
|
+
* xAI implementation of ChatService (OpenAI-compatible Chat Completions)
|
|
7
|
+
*/
|
|
8
|
+
export declare class XAIChatService 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
|
+
/**
|
|
18
|
+
* Constructor
|
|
19
|
+
* @param apiKey xAI API key
|
|
20
|
+
* @param model Name of the model to use
|
|
21
|
+
* @param visionModel Name of the vision model
|
|
22
|
+
*/
|
|
23
|
+
constructor(apiKey: string, model?: string, visionModel?: string, tools?: ToolDefinition[], endpoint?: string, responseLength?: ChatResponseLength);
|
|
24
|
+
/**
|
|
25
|
+
* Get the current model name
|
|
26
|
+
*/
|
|
27
|
+
getModel(): string;
|
|
28
|
+
/**
|
|
29
|
+
* Get the current vision model name
|
|
30
|
+
*/
|
|
31
|
+
getVisionModel(): string;
|
|
32
|
+
/**
|
|
33
|
+
* Process chat messages
|
|
34
|
+
*/
|
|
35
|
+
processChat(messages: Message[], onPartialResponse: (text: string) => void, onCompleteResponse: (text: string) => Promise<void>): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Process chat messages with images
|
|
38
|
+
*/
|
|
39
|
+
processVisionChat(messages: MessageWithVision[], onPartialResponse: (text: string) => void, onCompleteResponse: (text: string) => Promise<void>): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Process chat messages with tools (text only)
|
|
42
|
+
*/
|
|
43
|
+
chatOnce(messages: Message[], stream?: boolean, onPartialResponse?: (text: string) => void, maxTokens?: number): Promise<ToolChatCompletion>;
|
|
44
|
+
/**
|
|
45
|
+
* Process vision chat messages with tools
|
|
46
|
+
*/
|
|
47
|
+
visionChatOnce(messages: MessageWithVision[], stream?: boolean, onPartialResponse?: (text: string) => void, maxTokens?: number): Promise<ToolChatCompletion>;
|
|
48
|
+
private parseResponse;
|
|
49
|
+
private callXAI;
|
|
50
|
+
/**
|
|
51
|
+
* Build request body (OpenAI-compatible Chat Completions)
|
|
52
|
+
*/
|
|
53
|
+
private buildRequestBody;
|
|
54
|
+
private buildToolsDefinition;
|
|
55
|
+
private handleStream;
|
|
56
|
+
/**
|
|
57
|
+
* Parse streaming response with tool support
|
|
58
|
+
*/
|
|
59
|
+
private parseStream;
|
|
60
|
+
/**
|
|
61
|
+
* Parse non-streaming response
|
|
62
|
+
*/
|
|
63
|
+
private parseOneShot;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=XAIChatService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XAIChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/xai/XAIChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAMpE,OAAO,EACL,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAUjC;;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;IAE5C;;;;;OAKG;gBAED,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAA0C,EACjD,WAAW,GAAE,MAA0C,EACvD,KAAK,CAAC,EAAE,cAAc,EAAE,EACxB,QAAQ,GAAE,MAA0C,EACpD,cAAc,CAAC,EAAE,kBAAkB;IAUrC;;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;IAehB;;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;IAsBhB;;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;IA6BxB,OAAO,CAAC,oBAAoB;YAId,YAAY;IAO1B;;OAEG;YACW,WAAW;IAUzB;;OAEG;IACH,OAAO,CAAC,YAAY;CAGrB"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.XAIChatService = void 0;
|
|
4
|
+
const xai_1 = require("../../../constants/xai");
|
|
5
|
+
const chat_1 = require("../../../constants/chat");
|
|
6
|
+
const chatServiceHttpClient_1 = require("../../../utils/chatServiceHttpClient");
|
|
7
|
+
const utils_1 = require("../../../utils");
|
|
8
|
+
/**
|
|
9
|
+
* xAI implementation of ChatService (OpenAI-compatible Chat Completions)
|
|
10
|
+
*/
|
|
11
|
+
class XAIChatService {
|
|
12
|
+
/**
|
|
13
|
+
* Constructor
|
|
14
|
+
* @param apiKey xAI API key
|
|
15
|
+
* @param model Name of the model to use
|
|
16
|
+
* @param visionModel Name of the vision model
|
|
17
|
+
*/
|
|
18
|
+
constructor(apiKey, model = xai_1.MODEL_GROK_4_1_FAST_NON_REASONING, visionModel = xai_1.MODEL_GROK_4_1_FAST_NON_REASONING, tools, endpoint = xai_1.ENDPOINT_XAI_CHAT_COMPLETIONS_API, responseLength) {
|
|
19
|
+
/** Provider name */
|
|
20
|
+
this.provider = 'xai';
|
|
21
|
+
this.apiKey = apiKey;
|
|
22
|
+
this.model = model;
|
|
23
|
+
this.tools = tools || [];
|
|
24
|
+
this.endpoint = endpoint;
|
|
25
|
+
this.responseLength = responseLength;
|
|
26
|
+
this.visionModel = visionModel;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get the current model name
|
|
30
|
+
*/
|
|
31
|
+
getModel() {
|
|
32
|
+
return this.model;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Get the current vision model name
|
|
36
|
+
*/
|
|
37
|
+
getVisionModel() {
|
|
38
|
+
return this.visionModel;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Process chat messages
|
|
42
|
+
*/
|
|
43
|
+
async processChat(messages, onPartialResponse, onCompleteResponse) {
|
|
44
|
+
await (0, utils_1.processChatWithOptionalTools)({
|
|
45
|
+
hasTools: this.tools.length > 0,
|
|
46
|
+
runWithoutTools: async () => {
|
|
47
|
+
const res = await this.callXAI(messages, this.model, true);
|
|
48
|
+
return this.handleStream(res, onPartialResponse);
|
|
49
|
+
},
|
|
50
|
+
runWithTools: () => this.chatOnce(messages, true, onPartialResponse),
|
|
51
|
+
onCompleteResponse,
|
|
52
|
+
toolErrorMessage: 'processChat received tool_calls. ' +
|
|
53
|
+
'ChatProcessor must use chatOnce() loop when tools are enabled.',
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Process chat messages with images
|
|
58
|
+
*/
|
|
59
|
+
async processVisionChat(messages, onPartialResponse, onCompleteResponse) {
|
|
60
|
+
if (!(0, xai_1.isXaiVisionModel)(this.visionModel)) {
|
|
61
|
+
throw new Error(`Model ${this.visionModel} does not support vision capabilities.`);
|
|
62
|
+
}
|
|
63
|
+
await (0, utils_1.processChatWithOptionalTools)({
|
|
64
|
+
hasTools: this.tools.length > 0,
|
|
65
|
+
runWithoutTools: async () => {
|
|
66
|
+
const res = await this.callXAI(messages, this.visionModel, true);
|
|
67
|
+
return this.handleStream(res, onPartialResponse);
|
|
68
|
+
},
|
|
69
|
+
runWithTools: () => this.visionChatOnce(messages, true, onPartialResponse),
|
|
70
|
+
onCompleteResponse,
|
|
71
|
+
toolErrorMessage: 'processVisionChat received tool_calls. ' +
|
|
72
|
+
'ChatProcessor must use visionChatOnce() loop when tools are enabled.',
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Process chat messages with tools (text only)
|
|
77
|
+
*/
|
|
78
|
+
async chatOnce(messages, stream = true, onPartialResponse = () => { }, maxTokens) {
|
|
79
|
+
const res = await this.callXAI(messages, this.model, stream, maxTokens);
|
|
80
|
+
return this.parseResponse(res, stream, onPartialResponse);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Process vision chat messages with tools
|
|
84
|
+
*/
|
|
85
|
+
async visionChatOnce(messages, stream = false, onPartialResponse = () => { }, maxTokens) {
|
|
86
|
+
if (!(0, xai_1.isXaiVisionModel)(this.visionModel)) {
|
|
87
|
+
throw new Error(`Model ${this.visionModel} does not support vision capabilities.`);
|
|
88
|
+
}
|
|
89
|
+
const res = await this.callXAI(messages, this.visionModel, stream, maxTokens);
|
|
90
|
+
return this.parseResponse(res, stream, onPartialResponse);
|
|
91
|
+
}
|
|
92
|
+
async parseResponse(res, stream, onPartialResponse) {
|
|
93
|
+
return stream
|
|
94
|
+
? this.parseStream(res, onPartialResponse)
|
|
95
|
+
: this.parseOneShot(await res.json());
|
|
96
|
+
}
|
|
97
|
+
async callXAI(messages, model, stream = false, maxTokens) {
|
|
98
|
+
const body = this.buildRequestBody(messages, model, stream, maxTokens);
|
|
99
|
+
const res = await chatServiceHttpClient_1.ChatServiceHttpClient.post(this.endpoint, body, {
|
|
100
|
+
Authorization: `Bearer ${this.apiKey}`,
|
|
101
|
+
});
|
|
102
|
+
return res;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Build request body (OpenAI-compatible Chat Completions)
|
|
106
|
+
*/
|
|
107
|
+
buildRequestBody(messages, model, stream, maxTokens) {
|
|
108
|
+
const body = {
|
|
109
|
+
model,
|
|
110
|
+
stream,
|
|
111
|
+
messages,
|
|
112
|
+
};
|
|
113
|
+
const tokenLimit = maxTokens !== undefined
|
|
114
|
+
? maxTokens
|
|
115
|
+
: (0, chat_1.getMaxTokensForResponseLength)(this.responseLength);
|
|
116
|
+
if (tokenLimit !== undefined) {
|
|
117
|
+
body.max_tokens = tokenLimit;
|
|
118
|
+
}
|
|
119
|
+
const tools = this.buildToolsDefinition();
|
|
120
|
+
if (tools.length > 0) {
|
|
121
|
+
body.tools = tools;
|
|
122
|
+
body.tool_choice = 'auto';
|
|
123
|
+
}
|
|
124
|
+
return body;
|
|
125
|
+
}
|
|
126
|
+
buildToolsDefinition() {
|
|
127
|
+
return (0, utils_1.buildOpenAICompatibleTools)(this.tools, 'chat-completions');
|
|
128
|
+
}
|
|
129
|
+
async handleStream(res, onPartial) {
|
|
130
|
+
return (0, utils_1.parseOpenAICompatibleTextStream)(res, onPartial, {
|
|
131
|
+
onJsonError: (payload) => console.debug('Failed to parse SSE data:', payload),
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Parse streaming response with tool support
|
|
136
|
+
*/
|
|
137
|
+
async parseStream(res, onPartial) {
|
|
138
|
+
return (0, utils_1.parseOpenAICompatibleToolStream)(res, onPartial, {
|
|
139
|
+
onJsonError: (payload) => console.debug('Failed to parse SSE data:', payload),
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Parse non-streaming response
|
|
144
|
+
*/
|
|
145
|
+
parseOneShot(data) {
|
|
146
|
+
return (0, utils_1.parseOpenAICompatibleOneShot)(data);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
exports.XAIChatService = XAIChatService;
|
|
150
|
+
//# sourceMappingURL=XAIChatService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XAIChatService.js","sourceRoot":"","sources":["../../../../../src/services/providers/xai/XAIChatService.ts"],"names":[],"mappings":";;;AAGA,gDAIgC;AAChC,kDAGiC;AACjC,gFAA6E;AAC7E,0CAMwB;AAExB;;GAEG;AACH,MAAa,cAAc;IAWzB;;;;;OAKG;IACH,YACE,MAAc,EACd,QAAgB,uCAAiC,EACjD,cAAsB,uCAAiC,EACvD,KAAwB,EACxB,WAAmB,uCAAiC,EACpD,cAAmC;QAtBrC,oBAAoB;QACX,aAAQ,GAAW,KAAK,CAAC;QAuBhC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,QAAmB,EACnB,iBAAyC,EACzC,kBAAmD;QAEnD,MAAM,IAAA,oCAA4B,EAAC;YACjC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAC/B,eAAe,EAAE,KAAK,IAAI,EAAE;gBAC1B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC3D,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;YACnD,CAAC;YACD,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,iBAAiB,CAAC;YACpE,kBAAkB;YAClB,gBAAgB,EACd,mCAAmC;gBACnC,gEAAgE;SACnE,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CACrB,QAA6B,EAC7B,iBAAyC,EACzC,kBAAmD;QAEnD,IAAI,CAAC,IAAA,sBAAgB,EAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,SAAS,IAAI,CAAC,WAAW,wCAAwC,CAClE,CAAC;QACJ,CAAC;QAED,MAAM,IAAA,oCAA4B,EAAC;YACjC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YAC/B,eAAe,EAAE,KAAK,IAAI,EAAE;gBAC1B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBACjE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;YACnD,CAAC;YACD,YAAY,EAAE,GAAG,EAAE,CACjB,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,iBAAiB,CAAC;YACxD,kBAAkB;YAClB,gBAAgB,EACd,yCAAyC;gBACzC,sEAAsE;SACzE,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CACZ,QAAmB,EACnB,SAAkB,IAAI,EACtB,oBAA4C,GAAG,EAAE,GAAE,CAAC,EACpD,SAAkB;QAElB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,QAA6B,EAC7B,SAAkB,KAAK,EACvB,oBAA4C,GAAG,EAAE,GAAE,CAAC,EACpD,SAAkB;QAElB,IAAI,CAAC,IAAA,sBAAgB,EAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,SAAS,IAAI,CAAC,WAAW,wCAAwC,CAClE,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAC5B,QAAQ,EACR,IAAI,CAAC,WAAW,EAChB,MAAM,EACN,SAAS,CACV,CAAC;QACF,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,aAAa,CACzB,GAAa,EACb,MAAe,EACf,iBAAyC;QAEzC,OAAO,MAAM;YACX,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,iBAAiB,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,QAAyC,EACzC,KAAa,EACb,SAAkB,KAAK,EACvB,SAAkB;QAElB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAEvE,MAAM,GAAG,GAAG,MAAM,6CAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;YAChE,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;SACvC,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACK,gBAAgB,CACtB,QAAyC,EACzC,KAAa,EACb,MAAe,EACf,SAAkB;QAElB,MAAM,IAAI,GAAQ;YAChB,KAAK;YACL,MAAM;YACN,QAAQ;SACT,CAAC;QAEF,MAAM,UAAU,GACd,SAAS,KAAK,SAAS;YACrB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAA,oCAA6B,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC/B,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC5B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,oBAAoB;QAC1B,OAAO,IAAA,kCAA0B,EAAC,IAAI,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IACpE,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,GAAa,EAAE,SAA8B;QACtE,OAAO,IAAA,uCAA+B,EAAC,GAAG,EAAE,SAAS,EAAE;YACrD,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CACvB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,OAAO,CAAC;SACtD,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CACvB,GAAa,EACb,SAA8B;QAE9B,OAAO,IAAA,uCAA+B,EAAC,GAAG,EAAE,SAAS,EAAE;YACrD,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CACvB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,OAAO,CAAC;SACtD,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,IAAS;QAC5B,OAAO,IAAA,oCAA4B,EAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;CACF;AA9ND,wCA8NC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ChatService } from '../../ChatService';
|
|
2
|
+
import { XAIChatServiceOptions, ChatServiceProvider, VisionSupportLevel } from '../ChatServiceProvider';
|
|
3
|
+
/**
|
|
4
|
+
* xAI API provider implementation
|
|
5
|
+
*/
|
|
6
|
+
export declare class XAIChatServiceProvider implements ChatServiceProvider<XAIChatServiceOptions> {
|
|
7
|
+
/**
|
|
8
|
+
* Create a chat service instance
|
|
9
|
+
*/
|
|
10
|
+
createChatService(options: XAIChatServiceOptions): ChatService;
|
|
11
|
+
/**
|
|
12
|
+
* Get the provider name
|
|
13
|
+
*/
|
|
14
|
+
getProviderName(): string;
|
|
15
|
+
/**
|
|
16
|
+
* Get the list of supported models
|
|
17
|
+
*/
|
|
18
|
+
getSupportedModels(): string[];
|
|
19
|
+
/**
|
|
20
|
+
* Get the default model
|
|
21
|
+
*/
|
|
22
|
+
getDefaultModel(): string;
|
|
23
|
+
/**
|
|
24
|
+
* Get the default vision model
|
|
25
|
+
*/
|
|
26
|
+
private getDefaultVisionModel;
|
|
27
|
+
/**
|
|
28
|
+
* Check if this provider supports vision
|
|
29
|
+
*/
|
|
30
|
+
supportsVision(): boolean;
|
|
31
|
+
getVisionSupportLevel(): VisionSupportLevel;
|
|
32
|
+
/**
|
|
33
|
+
* Check if a specific model supports vision capabilities
|
|
34
|
+
*/
|
|
35
|
+
supportsVisionForModel(model: string): boolean;
|
|
36
|
+
getVisionSupportLevelForModel(model: string): VisionSupportLevel;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=XAIChatServiceProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"XAIChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/xai/XAIChatServiceProvider.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAIhC;;GAEG;AACH,qBAAa,sBACX,YAAW,mBAAmB,CAAC,qBAAqB,CAAC;IAErD;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW;IAwB9D;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAS9B;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB,qBAAqB,IAAI,kBAAkB;IAI3C;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI9C,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB;CAGjE"}
|