@aituber-onair/chat 0.2.1 → 0.3.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 +21 -2
- package/README.md +22 -3
- 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/openrouter.d.ts +21 -0
- package/dist/cjs/constants/openrouter.d.ts.map +1 -0
- package/dist/cjs/constants/openrouter.js +34 -0
- package/dist/cjs/constants/openrouter.js.map +1 -0
- package/dist/cjs/index.d.ts +2 -0
- 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/ChatServiceFactory.d.ts.map +1 -1
- package/dist/cjs/services/ChatServiceFactory.js +3 -0
- package/dist/cjs/services/ChatServiceFactory.js.map +1 -1
- package/dist/cjs/services/providers/ChatServiceProvider.d.ts +5 -1
- package/dist/cjs/services/providers/ChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/openrouter/OpenRouterChatService.d.ts +108 -0
- package/dist/cjs/services/providers/openrouter/OpenRouterChatService.d.ts.map +1 -0
- package/dist/cjs/services/providers/openrouter/OpenRouterChatService.js +397 -0
- package/dist/cjs/services/providers/openrouter/OpenRouterChatService.js.map +1 -0
- package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts +53 -0
- package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts.map +1 -0
- package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.js +89 -0
- package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.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/openrouter.d.ts +21 -0
- package/dist/esm/constants/openrouter.d.ts.map +1 -0
- package/dist/esm/constants/openrouter.js +29 -0
- package/dist/esm/constants/openrouter.js.map +1 -0
- package/dist/esm/index.d.ts +2 -0
- 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/ChatServiceFactory.d.ts.map +1 -1
- package/dist/esm/services/ChatServiceFactory.js +3 -0
- package/dist/esm/services/ChatServiceFactory.js.map +1 -1
- package/dist/esm/services/providers/ChatServiceProvider.d.ts +5 -1
- package/dist/esm/services/providers/ChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatService.d.ts +108 -0
- package/dist/esm/services/providers/openrouter/OpenRouterChatService.d.ts.map +1 -0
- package/dist/esm/services/providers/openrouter/OpenRouterChatService.js +393 -0
- package/dist/esm/services/providers/openrouter/OpenRouterChatService.js.map +1 -0
- package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts +53 -0
- package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts.map +1 -0
- package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.js +85 -0
- package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.js.map +1 -0
- 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、Claude、Gemini等の様々なAIチャットプロバイダーとやり取りするための統一されたインターフェースを提供します。
|
|
5
|
+
AITuber OnAirのチャット・LLM API統合ライブラリです。このパッケージは、OpenAI、Claude、Gemini、OpenRouter等の様々なAIチャットプロバイダーとやり取りするための統一されたインターフェースを提供します。
|
|
6
6
|
|
|
7
7
|
## 機能
|
|
8
8
|
|
|
9
|
-
- 🤖 **複数のAIプロバイダー対応**: OpenAI、Claude (Anthropic)、Google Gemini
|
|
9
|
+
- 🤖 **複数のAIプロバイダー対応**: OpenAI、Claude (Anthropic)、Google Gemini、OpenRouter
|
|
10
10
|
- 🔄 **統一されたインターフェース**: 異なるプロバイダー間での一貫したAPI
|
|
11
11
|
- 🛠️ **ツール・関数呼び出し**: AI関数呼び出しの自動反復処理をサポート
|
|
12
12
|
- 💬 **ストリーミングレスポンス**: リアルタイムストリーミングチャット応答
|
|
@@ -85,6 +85,24 @@ const geminiService = ChatServiceFactory.createChatService('gemini', {
|
|
|
85
85
|
});
|
|
86
86
|
```
|
|
87
87
|
|
|
88
|
+
#### OpenRouter
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
const openRouterService = ChatServiceFactory.createChatService('openrouter', {
|
|
92
|
+
apiKey: process.env.OPENROUTER_API_KEY,
|
|
93
|
+
model: 'openai/gpt-oss-20b:free', // 無料利用枠モデル
|
|
94
|
+
// オプション: 分析用アプリ情報を追加
|
|
95
|
+
appName: 'あなたのアプリ名',
|
|
96
|
+
appUrl: 'https://your-app-url.com'
|
|
97
|
+
});
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**OpenRouterの重要な注意事項:**
|
|
101
|
+
- `gpt-oss-20b:free`モデルでは、技術的制限によりトークン制限が自動的に無効化されます
|
|
102
|
+
- 応答の長さを制御するには、プロンプト内で指示してください(例:「40文字以内で返答してください」)
|
|
103
|
+
- 無料階層にはレート制限があります(20リクエスト/分)
|
|
104
|
+
- 現在は`openai/gpt-oss-20b:free`モデルのみサポートしています
|
|
105
|
+
|
|
88
106
|
### ビジョンチャット
|
|
89
107
|
|
|
90
108
|
```typescript
|
|
@@ -308,6 +326,7 @@ type ChatResponseLength = 'veryShort' | 'short' | 'medium' | 'long' | 'veryLong'
|
|
|
308
326
|
- **OpenAI**: GPT-4.1(miniとnanoを含む), GPT-4, GPT-4o-mini, O3-mini, o1, o1-miniのモデルをサポート
|
|
309
327
|
- **Gemini**: Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash Lite Preview, Gemini 2.0 Flash, Gemini 2.0 Flash-Lite, Gemini 1.5 Flash, Gemini 1.5 Proのモデルをサポート
|
|
310
328
|
- **Claude**: Claude 3 Haiku, Claude 3.5 Haiku, Claude 3.5 Sonnet v2, Claude 3.7 Sonnetのモデルをサポート
|
|
329
|
+
- **OpenRouter**: `openai/gpt-oss-20b:free`(トークン制限の特別処理がある無料利用枠モデル)をサポート
|
|
311
330
|
|
|
312
331
|
## ライセンス
|
|
313
332
|
|
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, Claude, and
|
|
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.
|
|
6
6
|
|
|
7
7
|
## Features
|
|
8
8
|
|
|
9
|
-
- 🤖 **Multiple AI Provider Support**: OpenAI, Claude (Anthropic),
|
|
9
|
+
- 🤖 **Multiple AI Provider Support**: OpenAI, Claude (Anthropic), Google Gemini, and OpenRouter
|
|
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
|
|
@@ -85,6 +85,24 @@ const geminiService = ChatServiceFactory.createChatService('gemini', {
|
|
|
85
85
|
});
|
|
86
86
|
```
|
|
87
87
|
|
|
88
|
+
#### OpenRouter
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
const openRouterService = ChatServiceFactory.createChatService('openrouter', {
|
|
92
|
+
apiKey: process.env.OPENROUTER_API_KEY,
|
|
93
|
+
model: 'openai/gpt-oss-20b:free', // Free tier model
|
|
94
|
+
// Optional: Add app information for analytics
|
|
95
|
+
appName: 'Your App Name',
|
|
96
|
+
appUrl: 'https://your-app-url.com'
|
|
97
|
+
});
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
**Important Notes for OpenRouter:**
|
|
101
|
+
- Token limits are automatically disabled for the `gpt-oss-20b:free` model due to technical limitations
|
|
102
|
+
- To control response length, include instructions in your prompt (e.g., "Please respond in 40 characters or less")
|
|
103
|
+
- Free tier has rate limits (20 requests/minute)
|
|
104
|
+
- Only `openai/gpt-oss-20b:free` model is currently supported
|
|
105
|
+
|
|
88
106
|
### Vision Chat
|
|
89
107
|
|
|
90
108
|
```typescript
|
|
@@ -303,11 +321,12 @@ type ChatResponseLength = 'veryShort' | 'short' | 'medium' | 'long' | 'veryLong'
|
|
|
303
321
|
|
|
304
322
|
## Available Providers
|
|
305
323
|
|
|
306
|
-
Currently, the following AI
|
|
324
|
+
Currently, the following AI providers are built-in:
|
|
307
325
|
|
|
308
326
|
- **OpenAI**: Supports models like GPT-4.1(including mini and nano), GPT-4, GPT-4o-mini, O3-mini, o1, o1-mini
|
|
309
327
|
- **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, Gemini 1.5 Flash, Gemini 1.5 Pro
|
|
310
328
|
- **Claude**: Supports models like Claude 3 Haiku, Claude 3.5 Haiku, Claude 3.5 Sonnet v2, Claude 3.7 Sonnet
|
|
329
|
+
- **OpenRouter**: Supports `openai/gpt-oss-20b:free` (free tier model with special handling for token limits)
|
|
311
330
|
|
|
312
331
|
## License
|
|
313
332
|
|
|
@@ -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,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,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
|
|
@@ -20,6 +20,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
20
20
|
__exportStar(require("./openai"), exports);
|
|
21
21
|
__exportStar(require("./gemini"), exports);
|
|
22
22
|
__exportStar(require("./claude"), exports);
|
|
23
|
+
__exportStar(require("./openrouter"), exports);
|
|
23
24
|
__exportStar(require("./chat"), exports);
|
|
24
25
|
__exportStar(require("./prompts"), exports);
|
|
25
26
|
//# 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,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,yCAAuB;AACvB,4CAA0B"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const ENDPOINT_OPENROUTER_API = "https://openrouter.ai/api/v1/chat/completions";
|
|
2
|
+
export declare const MODEL_GPT_OSS_20B_FREE = "openai/gpt-oss-20b:free";
|
|
3
|
+
export declare const OPENROUTER_FREE_MODELS: string[];
|
|
4
|
+
export declare const OPENROUTER_VISION_SUPPORTED_MODELS: never[];
|
|
5
|
+
export declare const OPENROUTER_FREE_RATE_LIMIT_PER_MINUTE = 20;
|
|
6
|
+
export declare const OPENROUTER_FREE_DAILY_LIMIT_LOW_CREDITS = 50;
|
|
7
|
+
export declare const OPENROUTER_FREE_DAILY_LIMIT_HIGH_CREDITS = 1000;
|
|
8
|
+
export declare const OPENROUTER_CREDITS_THRESHOLD = 10;
|
|
9
|
+
/**
|
|
10
|
+
* Check if a model is a free tier model
|
|
11
|
+
* @param model Model name to check
|
|
12
|
+
* @returns True if the model is free tier
|
|
13
|
+
*/
|
|
14
|
+
export declare function isOpenRouterFreeModel(model: string): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Check if a model supports vision on OpenRouter
|
|
17
|
+
* @param model Model name to check
|
|
18
|
+
* @returns True if the model supports vision
|
|
19
|
+
*/
|
|
20
|
+
export declare function isOpenRouterVisionModel(model: string): boolean;
|
|
21
|
+
//# sourceMappingURL=openrouter.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
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;
|
|
4
|
+
exports.isOpenRouterFreeModel = isOpenRouterFreeModel;
|
|
5
|
+
exports.isOpenRouterVisionModel = isOpenRouterVisionModel;
|
|
6
|
+
exports.ENDPOINT_OPENROUTER_API = 'https://openrouter.ai/api/v1/chat/completions';
|
|
7
|
+
// OpenRouter models
|
|
8
|
+
exports.MODEL_GPT_OSS_20B_FREE = 'openai/gpt-oss-20b:free';
|
|
9
|
+
// Free tier models
|
|
10
|
+
exports.OPENROUTER_FREE_MODELS = [exports.MODEL_GPT_OSS_20B_FREE];
|
|
11
|
+
// Vision supported models on OpenRouter
|
|
12
|
+
exports.OPENROUTER_VISION_SUPPORTED_MODELS = [];
|
|
13
|
+
// Rate limits for free tier
|
|
14
|
+
exports.OPENROUTER_FREE_RATE_LIMIT_PER_MINUTE = 20;
|
|
15
|
+
exports.OPENROUTER_FREE_DAILY_LIMIT_LOW_CREDITS = 50;
|
|
16
|
+
exports.OPENROUTER_FREE_DAILY_LIMIT_HIGH_CREDITS = 1000;
|
|
17
|
+
exports.OPENROUTER_CREDITS_THRESHOLD = 10;
|
|
18
|
+
/**
|
|
19
|
+
* Check if a model is a free tier model
|
|
20
|
+
* @param model Model name to check
|
|
21
|
+
* @returns True if the model is free tier
|
|
22
|
+
*/
|
|
23
|
+
function isOpenRouterFreeModel(model) {
|
|
24
|
+
return exports.OPENROUTER_FREE_MODELS.some((freeModel) => model.includes(freeModel));
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Check if a model supports vision on OpenRouter
|
|
28
|
+
* @param model Model name to check
|
|
29
|
+
* @returns True if the model supports vision
|
|
30
|
+
*/
|
|
31
|
+
function isOpenRouterVisionModel(model) {
|
|
32
|
+
return exports.OPENROUTER_VISION_SUPPORTED_MODELS.some((visionModel) => model.includes(visionModel));
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=openrouter.js.map
|
|
@@ -0,0 +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"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -12,6 +12,8 @@ export { GeminiChatService } from './services/providers/gemini/GeminiChatService
|
|
|
12
12
|
export { GeminiChatServiceProvider } from './services/providers/gemini/GeminiChatServiceProvider';
|
|
13
13
|
export { ClaudeChatService } from './services/providers/claude/ClaudeChatService';
|
|
14
14
|
export { ClaudeChatServiceProvider } from './services/providers/claude/ClaudeChatServiceProvider';
|
|
15
|
+
export { OpenRouterChatService } from './services/providers/openrouter/OpenRouterChatService';
|
|
16
|
+
export { OpenRouterChatServiceProvider } from './services/providers/openrouter/OpenRouterChatServiceProvider';
|
|
15
17
|
export * from './constants';
|
|
16
18
|
export * from './utils';
|
|
17
19
|
//# sourceMappingURL=index.d.ts.map
|
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,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,cAAc,aAAa,CAAC;AAG5B,cAAc,SAAS,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,cAAc,aAAa,CAAC;AAG5B,cAAc,SAAS,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.ClaudeChatServiceProvider = exports.ClaudeChatService = exports.GeminiChatServiceProvider = exports.GeminiChatService = exports.OpenAIChatServiceProvider = exports.OpenAIChatService = exports.ChatServiceFactory = void 0;
|
|
21
|
+
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");
|
|
@@ -38,6 +38,11 @@ var ClaudeChatService_1 = require("./services/providers/claude/ClaudeChatService
|
|
|
38
38
|
Object.defineProperty(exports, "ClaudeChatService", { enumerable: true, get: function () { return ClaudeChatService_1.ClaudeChatService; } });
|
|
39
39
|
var ClaudeChatServiceProvider_1 = require("./services/providers/claude/ClaudeChatServiceProvider");
|
|
40
40
|
Object.defineProperty(exports, "ClaudeChatServiceProvider", { enumerable: true, get: function () { return ClaudeChatServiceProvider_1.ClaudeChatServiceProvider; } });
|
|
41
|
+
// OpenRouter provider exports
|
|
42
|
+
var OpenRouterChatService_1 = require("./services/providers/openrouter/OpenRouterChatService");
|
|
43
|
+
Object.defineProperty(exports, "OpenRouterChatService", { enumerable: true, get: function () { return OpenRouterChatService_1.OpenRouterChatService; } });
|
|
44
|
+
var OpenRouterChatServiceProvider_1 = require("./services/providers/openrouter/OpenRouterChatServiceProvider");
|
|
45
|
+
Object.defineProperty(exports, "OpenRouterChatServiceProvider", { enumerable: true, get: function () { return OpenRouterChatServiceProvider_1.OpenRouterChatServiceProvider; } });
|
|
41
46
|
// Constants exports
|
|
42
47
|
__exportStar(require("./constants"), exports);
|
|
43
48
|
// Utility exports
|
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;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,oBAAoB;AACpB,8CAA4B;AAE5B,kBAAkB;AAClB,0CAAwB"}
|
|
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"}
|
|
@@ -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;
|
|
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"}
|
|
@@ -4,6 +4,7 @@ exports.ChatServiceFactory = void 0;
|
|
|
4
4
|
const OpenAIChatServiceProvider_1 = require("./providers/openai/OpenAIChatServiceProvider");
|
|
5
5
|
const GeminiChatServiceProvider_1 = require("./providers/gemini/GeminiChatServiceProvider");
|
|
6
6
|
const ClaudeChatServiceProvider_1 = require("./providers/claude/ClaudeChatServiceProvider");
|
|
7
|
+
const OpenRouterChatServiceProvider_1 = require("./providers/openrouter/OpenRouterChatServiceProvider");
|
|
7
8
|
/**
|
|
8
9
|
* Chat service factory
|
|
9
10
|
* Manages and creates various AI providers
|
|
@@ -62,4 +63,6 @@ ChatServiceFactory.registerProvider(new OpenAIChatServiceProvider_1.OpenAIChatSe
|
|
|
62
63
|
ChatServiceFactory.registerProvider(new GeminiChatServiceProvider_1.GeminiChatServiceProvider());
|
|
63
64
|
// Register Claude as a provider
|
|
64
65
|
ChatServiceFactory.registerProvider(new ClaudeChatServiceProvider_1.ClaudeChatServiceProvider());
|
|
66
|
+
// Register OpenRouter as a provider
|
|
67
|
+
ChatServiceFactory.registerProvider(new OpenRouterChatServiceProvider_1.OpenRouterChatServiceProvider());
|
|
65
68
|
//# 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;
|
|
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"}
|
|
@@ -16,7 +16,7 @@ export interface ChatServiceOptions {
|
|
|
16
16
|
responseLength?: ChatResponseLength;
|
|
17
17
|
/** Verbosity level for GPT-5 models (OpenAI only) */
|
|
18
18
|
verbosity?: 'low' | 'medium' | 'high';
|
|
19
|
-
/** Reasoning effort level for GPT-5 models (OpenAI
|
|
19
|
+
/** Reasoning effort level for GPT-5 models (OpenAI) and gpt-oss models (OpenRouter) */
|
|
20
20
|
reasoning_effort?: 'minimal' | 'low' | 'medium' | 'high';
|
|
21
21
|
/** GPT-5 usage preset (OpenAI only) - overrides individual reasoning/verbosity settings */
|
|
22
22
|
gpt5Preset?: GPT5PresetKey;
|
|
@@ -24,6 +24,10 @@ export interface ChatServiceOptions {
|
|
|
24
24
|
gpt5EndpointPreference?: 'chat' | 'responses' | 'auto';
|
|
25
25
|
/** Enable reasoning summary for GPT-5 models (OpenAI only) - requires organization verification */
|
|
26
26
|
enableReasoningSummary?: boolean;
|
|
27
|
+
/** Include reasoning in response (OpenRouter only) - default false to avoid empty responses */
|
|
28
|
+
includeReasoning?: boolean;
|
|
29
|
+
/** Maximum tokens allocated for reasoning (OpenRouter only) */
|
|
30
|
+
reasoningMaxTokens?: number;
|
|
27
31
|
/** Additional provider-specific options */
|
|
28
32
|
[key: string]: any;
|
|
29
33
|
}
|
|
@@ -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,
|
|
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,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACzD,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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
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
|
+
* OpenRouter implementation of ChatService
|
|
7
|
+
* OpenRouter provides access to multiple AI models through a unified API
|
|
8
|
+
*/
|
|
9
|
+
export declare class OpenRouterChatService implements ChatService {
|
|
10
|
+
/** Provider name */
|
|
11
|
+
readonly provider: string;
|
|
12
|
+
private apiKey;
|
|
13
|
+
private model;
|
|
14
|
+
private visionModel;
|
|
15
|
+
private tools;
|
|
16
|
+
private endpoint;
|
|
17
|
+
private responseLength?;
|
|
18
|
+
private appName?;
|
|
19
|
+
private appUrl?;
|
|
20
|
+
private reasoning_effort?;
|
|
21
|
+
private includeReasoning?;
|
|
22
|
+
private reasoningMaxTokens?;
|
|
23
|
+
private lastRequestTime;
|
|
24
|
+
private requestCount;
|
|
25
|
+
/**
|
|
26
|
+
* Constructor
|
|
27
|
+
* @param apiKey OpenRouter API key
|
|
28
|
+
* @param model Name of the model to use
|
|
29
|
+
* @param visionModel Name of the vision model
|
|
30
|
+
* @param tools Tool definitions (optional)
|
|
31
|
+
* @param endpoint API endpoint (optional)
|
|
32
|
+
* @param responseLength Response length configuration (optional)
|
|
33
|
+
* @param appName Application name for OpenRouter analytics (optional)
|
|
34
|
+
* @param appUrl Application URL for OpenRouter analytics (optional)
|
|
35
|
+
* @param reasoning_effort Reasoning effort level (optional)
|
|
36
|
+
* @param includeReasoning Whether to include reasoning in response (optional)
|
|
37
|
+
* @param reasoningMaxTokens Maximum tokens for reasoning (optional)
|
|
38
|
+
*/
|
|
39
|
+
constructor(apiKey: string, model?: string, visionModel?: string, tools?: ToolDefinition[], endpoint?: string, responseLength?: ChatResponseLength, appName?: string, appUrl?: string, reasoning_effort?: 'minimal' | 'low' | 'medium' | 'high', includeReasoning?: boolean, reasoningMaxTokens?: number);
|
|
40
|
+
/**
|
|
41
|
+
* Get the current model name
|
|
42
|
+
* @returns Model name
|
|
43
|
+
*/
|
|
44
|
+
getModel(): string;
|
|
45
|
+
/**
|
|
46
|
+
* Get the current vision model name
|
|
47
|
+
* @returns Vision model name
|
|
48
|
+
*/
|
|
49
|
+
getVisionModel(): string;
|
|
50
|
+
/**
|
|
51
|
+
* Apply rate limiting for free tier models
|
|
52
|
+
*/
|
|
53
|
+
private applyRateLimiting;
|
|
54
|
+
/**
|
|
55
|
+
* Process chat messages
|
|
56
|
+
* @param messages Array of messages to send
|
|
57
|
+
* @param onPartialResponse Callback to receive each part of streaming response
|
|
58
|
+
* @param onCompleteResponse Callback to execute when response is complete
|
|
59
|
+
*/
|
|
60
|
+
processChat(messages: Message[], onPartialResponse: (text: string) => void, onCompleteResponse: (text: string) => Promise<void>): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Process chat messages with images
|
|
63
|
+
* @param messages Array of messages to send (including images)
|
|
64
|
+
* @param onPartialResponse Callback to receive each part of streaming response
|
|
65
|
+
* @param onCompleteResponse Callback to execute when response is complete
|
|
66
|
+
*/
|
|
67
|
+
processVisionChat(messages: MessageWithVision[], onPartialResponse: (text: string) => void, onCompleteResponse: (text: string) => Promise<void>): Promise<void>;
|
|
68
|
+
/**
|
|
69
|
+
* Process chat messages with tools (text only)
|
|
70
|
+
* @param messages Array of messages to send
|
|
71
|
+
* @param stream Whether to use streaming
|
|
72
|
+
* @param onPartialResponse Callback for partial responses
|
|
73
|
+
* @param maxTokens Maximum tokens for response (optional)
|
|
74
|
+
* @returns Tool chat completion
|
|
75
|
+
*/
|
|
76
|
+
chatOnce(messages: Message[], stream?: boolean, onPartialResponse?: (text: string) => void, maxTokens?: number): Promise<ToolChatCompletion>;
|
|
77
|
+
/**
|
|
78
|
+
* Process vision chat messages with tools
|
|
79
|
+
* @param messages Array of messages to send (including images)
|
|
80
|
+
* @param stream Whether to use streaming
|
|
81
|
+
* @param onPartialResponse Callback for partial responses
|
|
82
|
+
* @param maxTokens Maximum tokens for response (optional)
|
|
83
|
+
* @returns Tool chat completion
|
|
84
|
+
*/
|
|
85
|
+
visionChatOnce(messages: MessageWithVision[], stream?: boolean, onPartialResponse?: (text: string) => void, maxTokens?: number): Promise<ToolChatCompletion>;
|
|
86
|
+
/**
|
|
87
|
+
* Call OpenRouter API
|
|
88
|
+
*/
|
|
89
|
+
private callOpenRouter;
|
|
90
|
+
/**
|
|
91
|
+
* Build request body for OpenRouter API (OpenAI-compatible format)
|
|
92
|
+
*/
|
|
93
|
+
private buildRequestBody;
|
|
94
|
+
/**
|
|
95
|
+
* Handle streaming response from OpenRouter
|
|
96
|
+
* OpenRouter uses SSE format with potential comment lines
|
|
97
|
+
*/
|
|
98
|
+
private handleStream;
|
|
99
|
+
/**
|
|
100
|
+
* Parse streaming response with tool support
|
|
101
|
+
*/
|
|
102
|
+
private parseStream;
|
|
103
|
+
/**
|
|
104
|
+
* Parse non-streaming response
|
|
105
|
+
*/
|
|
106
|
+
private parseOneShot;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=OpenRouterChatService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenRouterChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/openrouter/OpenRouterChatService.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;;;GAGG;AACH,qBAAa,qBAAsB,YAAW,WAAW;IACvD,oBAAoB;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAgB;IAEzC,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,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,gBAAgB,CAAC,CAAwC;IACjE,OAAO,CAAC,gBAAgB,CAAC,CAAU;IACnC,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,YAAY,CAAa;IAEjC;;;;;;;;;;;;;OAaG;gBAED,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAA+B,EACtC,WAAW,GAAE,MAA+B,EAC5C,KAAK,CAAC,EAAE,cAAc,EAAE,EACxB,QAAQ,GAAE,MAAgC,EAC1C,cAAc,CAAC,EAAE,kBAAkB,EACnC,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,EACxD,gBAAgB,CAAC,EAAE,OAAO,EAC1B,kBAAkB,CAAC,EAAE,MAAM;IAkB7B;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;OAGG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;YACW,iBAAiB;IA6B/B;;;;;OAKG;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;IA8BhB;;;;;OAKG;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;IA8ChB;;;;;;;OAOG;IACG,QAAQ,CACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,UAAO,EACb,iBAAiB,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAe,EACpD,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC;IAa9B;;;;;;;OAOG;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;IAoB9B;;OAEG;YACW,cAAc;IA0B5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAuExB;;;OAGG;YACW,YAAY;IAgD1B;;OAEG;YACW,WAAW;IA+EzB;;OAEG;IACH,OAAO,CAAC,YAAY;CAsBrB"}
|