@aituber-onair/chat 0.21.2 → 0.22.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 +45 -1
- package/README.md +46 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/services/ChatServiceFactory.d.ts +9 -1
- package/dist/cjs/services/ChatServiceFactory.d.ts.map +1 -1
- package/dist/cjs/services/ChatServiceFactory.js +25 -0
- package/dist/cjs/services/ChatServiceFactory.js.map +1 -1
- package/dist/cjs/services/providers/ChatServiceProvider.d.ts +18 -1
- package/dist/cjs/services/providers/ChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.d.ts +3 -1
- package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.js +7 -1
- package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.js.map +1 -1
- package/dist/cjs/services/providers/gemini/GeminiChatServiceProvider.d.ts +3 -1
- package/dist/cjs/services/providers/gemini/GeminiChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/gemini/GeminiChatServiceProvider.js +7 -1
- package/dist/cjs/services/providers/gemini/GeminiChatServiceProvider.js.map +1 -1
- package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.d.ts +3 -1
- package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.js +7 -1
- package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.js.map +1 -1
- package/dist/cjs/services/providers/openai/OpenAIChatServiceProvider.d.ts +3 -1
- package/dist/cjs/services/providers/openai/OpenAIChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/openai/OpenAIChatServiceProvider.js +7 -1
- package/dist/cjs/services/providers/openai/OpenAIChatServiceProvider.js.map +1 -1
- package/dist/cjs/services/providers/openaiCompatible/OpenAICompatibleChatServiceProvider.d.ts +4 -1
- package/dist/cjs/services/providers/openaiCompatible/OpenAICompatibleChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/openaiCompatible/OpenAICompatibleChatServiceProvider.js +10 -1
- package/dist/cjs/services/providers/openaiCompatible/OpenAICompatibleChatServiceProvider.js.map +1 -1
- package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts +3 -1
- package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.js +9 -1
- package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.js.map +1 -1
- package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.d.ts +3 -1
- package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.js +7 -1
- package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/services/ChatServiceFactory.d.ts +9 -1
- package/dist/esm/services/ChatServiceFactory.d.ts.map +1 -1
- package/dist/esm/services/ChatServiceFactory.js +25 -0
- package/dist/esm/services/ChatServiceFactory.js.map +1 -1
- package/dist/esm/services/providers/ChatServiceProvider.d.ts +18 -1
- package/dist/esm/services/providers/ChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.d.ts +3 -1
- package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.js +7 -1
- package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.js.map +1 -1
- package/dist/esm/services/providers/gemini/GeminiChatServiceProvider.d.ts +3 -1
- package/dist/esm/services/providers/gemini/GeminiChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/gemini/GeminiChatServiceProvider.js +7 -1
- package/dist/esm/services/providers/gemini/GeminiChatServiceProvider.js.map +1 -1
- package/dist/esm/services/providers/kimi/KimiChatServiceProvider.d.ts +3 -1
- package/dist/esm/services/providers/kimi/KimiChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/kimi/KimiChatServiceProvider.js +7 -1
- package/dist/esm/services/providers/kimi/KimiChatServiceProvider.js.map +1 -1
- package/dist/esm/services/providers/openai/OpenAIChatServiceProvider.d.ts +3 -1
- package/dist/esm/services/providers/openai/OpenAIChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/openai/OpenAIChatServiceProvider.js +7 -1
- package/dist/esm/services/providers/openai/OpenAIChatServiceProvider.js.map +1 -1
- package/dist/esm/services/providers/openaiCompatible/OpenAICompatibleChatServiceProvider.d.ts +4 -1
- package/dist/esm/services/providers/openaiCompatible/OpenAICompatibleChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/openaiCompatible/OpenAICompatibleChatServiceProvider.js +10 -1
- package/dist/esm/services/providers/openaiCompatible/OpenAICompatibleChatServiceProvider.js.map +1 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts +3 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.js +9 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.js.map +1 -1
- package/dist/esm/services/providers/zai/ZAIChatServiceProvider.d.ts +3 -1
- package/dist/esm/services/providers/zai/ZAIChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/zai/ZAIChatServiceProvider.js +7 -1
- package/dist/esm/services/providers/zai/ZAIChatServiceProvider.js.map +1 -1
- package/dist/umd/aituber-onair-chat.js +75 -7
- package/dist/umd/aituber-onair-chat.min.js +6 -6
- package/package.json +1 -1
package/README.ja.md
CHANGED
|
@@ -182,6 +182,9 @@ const compatibleService = ChatServiceFactory.createChatService(
|
|
|
182
182
|
- `openai-compatible` は `endpoint` と `model` の指定が必須です。
|
|
183
183
|
- `openai-compatible` では `apiKey` は任意です。
|
|
184
184
|
- `openai-compatible` では `mcpServers` は利用できません。
|
|
185
|
+
- `openai-compatible` の vision 対応可否は `unknown` として扱われます。
|
|
186
|
+
画像リクエスト自体は許可されますが、未対応の endpoint / model の
|
|
187
|
+
場合は実行時エラーになります。
|
|
185
188
|
- 既存の `openai` プロバイダーの挙動は変更されません。
|
|
186
189
|
|
|
187
190
|
`reasoning_effort` の選択肢はモデルによって異なります。
|
|
@@ -212,7 +215,7 @@ const compatibleService = ChatServiceFactory.createChatService(
|
|
|
212
215
|
|
|
213
216
|
ベストエフォート:
|
|
214
217
|
- tools/function calling
|
|
215
|
-
- vision
|
|
218
|
+
- vision入力(`openai-compatible` では実行時検証)
|
|
216
219
|
- JSONモードの厳密互換
|
|
217
220
|
|
|
218
221
|
### OpenAI互換APIトラブルシューティング
|
|
@@ -226,6 +229,9 @@ const compatibleService = ChatServiceFactory.createChatService(
|
|
|
226
229
|
サーバー側が期待するトークン形式を確認してください。
|
|
227
230
|
- model名: 互換サーバーごとに利用可能なモデルIDが異なります。
|
|
228
231
|
エンドポイントが受け付ける正確なモデル名を指定してください。
|
|
232
|
+
- Vision: `openai-compatible` では画像対応を事前検証しません。
|
|
233
|
+
画像付きリクエストが失敗する場合は、endpoint と model の双方が
|
|
234
|
+
vision入力に対応しているか確認してください。
|
|
229
235
|
- ストリーム互換: `stream: true` では OpenAI互換のSSE形式
|
|
230
236
|
(`data: {...}` + `data: [DONE]`)を想定しています。
|
|
231
237
|
形式が異なる場合、ストリーム解析に失敗する可能性があります。
|
|
@@ -363,6 +369,11 @@ const kimiService = ChatServiceFactory.createChatService('kimi', {
|
|
|
363
369
|
|
|
364
370
|
### ビジョンチャット
|
|
365
371
|
|
|
372
|
+
組み込み provider のうち、対応モデル一覧を持つものは vision 対応を
|
|
373
|
+
事前判定します。一方 `openai-compatible` は endpoint / model ごとの差が
|
|
374
|
+
大きいため、原則 `unknown` として扱います。この場合でも画像リクエストは
|
|
375
|
+
許可され、非互換は接続先 endpoint の実行時エラーとして表面化します。
|
|
376
|
+
|
|
366
377
|
```typescript
|
|
367
378
|
const visionMessage = {
|
|
368
379
|
role: 'user',
|
|
@@ -385,6 +396,17 @@ await chatService.processVisionChat(
|
|
|
385
396
|
);
|
|
386
397
|
```
|
|
387
398
|
|
|
399
|
+
`ChatServiceFactory` から事前判定の状態を参照できます。
|
|
400
|
+
|
|
401
|
+
```typescript
|
|
402
|
+
const level = ChatServiceFactory.getVisionSupportLevelForModel(
|
|
403
|
+
'openai-compatible',
|
|
404
|
+
'your-local-model',
|
|
405
|
+
);
|
|
406
|
+
|
|
407
|
+
console.log(level); // 'unknown'
|
|
408
|
+
```
|
|
409
|
+
|
|
388
410
|
### ツール・関数呼び出し
|
|
389
411
|
|
|
390
412
|
```typescript
|
|
@@ -592,13 +614,35 @@ interface MessageWithVision {
|
|
|
592
614
|
}
|
|
593
615
|
|
|
594
616
|
type ChatResponseLength = 'veryShort' | 'short' | 'medium' | 'long' | 'veryLong';
|
|
617
|
+
type VisionSupportLevel = 'supported' | 'unsupported' | 'unknown';
|
|
618
|
+
```
|
|
619
|
+
|
|
620
|
+
### Vision対応判定
|
|
621
|
+
|
|
622
|
+
```typescript
|
|
623
|
+
const providerLevel = ChatServiceFactory.getVisionSupportLevel(
|
|
624
|
+
'openai-compatible',
|
|
625
|
+
);
|
|
626
|
+
const modelLevel = ChatServiceFactory.getVisionSupportLevelForModel(
|
|
627
|
+
'openai-compatible',
|
|
628
|
+
'your-local-model',
|
|
629
|
+
);
|
|
630
|
+
|
|
631
|
+
console.log(providerLevel); // 'unknown'
|
|
632
|
+
console.log(modelLevel); // 'unknown'
|
|
595
633
|
```
|
|
596
634
|
|
|
635
|
+
意味:
|
|
636
|
+
- `supported`: リクエスト送信前に vision 対応と分かっている
|
|
637
|
+
- `unsupported`: リクエスト送信前に非対応と分かっている
|
|
638
|
+
- `unknown`: 事前判定できないが、実際には成功する可能性がある
|
|
639
|
+
|
|
597
640
|
## 利用可能なプロバイダー
|
|
598
641
|
|
|
599
642
|
現在、以下のAIプロバイダーが組み込まれています:
|
|
600
643
|
|
|
601
644
|
- **OpenAI**: GPT-5.4 Pro、GPT-5.4、GPT-5.4 Mini、GPT-5.4 Nano、GPT-5.1、GPT-5(Nano/Mini/Standard)、GPT-4.1(miniとnanoを含む), GPT-4, GPT-4o-mini, O3-mini, o1, o1-miniのモデルをサポート
|
|
645
|
+
- **OpenAI-Compatible**: OpenAI互換 endpoint 経由で任意のローカル/セルフホスト model ID を利用できます。vision 対応可否は endpoint ごとに差があるため、原則 `unknown` 扱いです
|
|
602
646
|
- **Gemini**: Gemini 3.1 Pro Preview, Gemini 3.1 Flash-Lite Preview, Gemini 3 Pro Preview, Gemini 3 Flash Preview, Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash Lite Preview, Gemini 2.0 Flash, Gemini 2.0 Flash-Liteのモデルをサポート
|
|
603
647
|
- **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のモデルをサポート
|
|
604
648
|
- **OpenRouter**: OpenRouterのキュレーション済みモデル一覧(OpenAI/Claude/Gemini/Z.ai/Kimi)をサポート。モデルIDはOpenRouter節を参照してください
|
package/README.md
CHANGED
|
@@ -182,6 +182,9 @@ Notes:
|
|
|
182
182
|
- `openai-compatible` requires both `endpoint` and `model`.
|
|
183
183
|
- `apiKey` is optional for `openai-compatible`.
|
|
184
184
|
- `openai-compatible` does not support `mcpServers`.
|
|
185
|
+
- Vision support for `openai-compatible` is treated as `unknown`.
|
|
186
|
+
Image requests are allowed, but unsupported endpoints or models will fail
|
|
187
|
+
at runtime.
|
|
185
188
|
- Existing `openai` provider behavior is unchanged.
|
|
186
189
|
|
|
187
190
|
`reasoning_effort` options differ per model:
|
|
@@ -212,7 +215,7 @@ Required:
|
|
|
212
215
|
|
|
213
216
|
Best effort:
|
|
214
217
|
- tools/function calling
|
|
215
|
-
- vision input support
|
|
218
|
+
- vision input support (runtime-validated for `openai-compatible`)
|
|
216
219
|
- strict JSON mode compatibility across implementations
|
|
217
220
|
|
|
218
221
|
### OpenAI-Compatible Troubleshooting
|
|
@@ -224,6 +227,9 @@ Best effort:
|
|
|
224
227
|
Confirm the expected token format on the server side.
|
|
225
228
|
- Model name: Compatible servers often expose different model IDs.
|
|
226
229
|
Confirm the exact model name accepted by your endpoint.
|
|
230
|
+
- Vision: `openai-compatible` does not pre-validate vision capability.
|
|
231
|
+
If an image request fails, confirm that both the endpoint and selected model
|
|
232
|
+
actually support image input.
|
|
227
233
|
- Stream compatibility: `stream: true` assumes OpenAI-compatible SSE chunks
|
|
228
234
|
(`data: { ... }` + `data: [DONE]`). If the format differs, streaming parse
|
|
229
235
|
may fail.
|
|
@@ -359,6 +365,12 @@ Notes for self-hosted:
|
|
|
359
365
|
|
|
360
366
|
### Vision Chat
|
|
361
367
|
|
|
368
|
+
For built-in providers with curated model lists, the library pre-validates
|
|
369
|
+
vision support. For `openai-compatible`, vision support is reported as
|
|
370
|
+
`'unknown'` unless your application adds its own endpoint-specific knowledge.
|
|
371
|
+
In that case, image requests are still allowed and any incompatibility is
|
|
372
|
+
surfaced as a runtime error from the target endpoint.
|
|
373
|
+
|
|
362
374
|
```typescript
|
|
363
375
|
const visionMessage = {
|
|
364
376
|
role: 'user',
|
|
@@ -381,6 +393,17 @@ await chatService.processVisionChat(
|
|
|
381
393
|
);
|
|
382
394
|
```
|
|
383
395
|
|
|
396
|
+
You can inspect the pre-validation status from `ChatServiceFactory`:
|
|
397
|
+
|
|
398
|
+
```typescript
|
|
399
|
+
const level = ChatServiceFactory.getVisionSupportLevelForModel(
|
|
400
|
+
'openai-compatible',
|
|
401
|
+
'your-local-model',
|
|
402
|
+
);
|
|
403
|
+
|
|
404
|
+
console.log(level); // 'unknown'
|
|
405
|
+
```
|
|
406
|
+
|
|
384
407
|
### Tool/Function Calling
|
|
385
408
|
|
|
386
409
|
```typescript
|
|
@@ -587,13 +610,35 @@ interface MessageWithVision {
|
|
|
587
610
|
}
|
|
588
611
|
|
|
589
612
|
type ChatResponseLength = 'veryShort' | 'short' | 'medium' | 'long' | 'veryLong' | 'deep';
|
|
613
|
+
type VisionSupportLevel = 'supported' | 'unsupported' | 'unknown';
|
|
614
|
+
```
|
|
615
|
+
|
|
616
|
+
### Vision Support Discovery
|
|
617
|
+
|
|
618
|
+
```typescript
|
|
619
|
+
const providerLevel = ChatServiceFactory.getVisionSupportLevel(
|
|
620
|
+
'openai-compatible',
|
|
621
|
+
);
|
|
622
|
+
const modelLevel = ChatServiceFactory.getVisionSupportLevelForModel(
|
|
623
|
+
'openai-compatible',
|
|
624
|
+
'your-local-model',
|
|
625
|
+
);
|
|
626
|
+
|
|
627
|
+
console.log(providerLevel); // 'unknown'
|
|
628
|
+
console.log(modelLevel); // 'unknown'
|
|
590
629
|
```
|
|
591
630
|
|
|
631
|
+
Semantics:
|
|
632
|
+
- `supported`: Known to support vision before sending the request
|
|
633
|
+
- `unsupported`: Known to reject vision before sending the request
|
|
634
|
+
- `unknown`: Cannot be pre-validated, but vision requests may still succeed
|
|
635
|
+
|
|
592
636
|
## Available Providers
|
|
593
637
|
|
|
594
638
|
Currently, the following AI providers are built-in:
|
|
595
639
|
|
|
596
640
|
- **OpenAI**: Supports models like GPT-5.4 Pro, GPT-5.4, GPT-5.4 Mini, GPT-5.4 Nano, GPT-5.1, GPT-5 (Nano/Mini/Standard), GPT-4.1 (including mini and nano), GPT-4, GPT-4o-mini, O3-mini, o1, o1-mini
|
|
641
|
+
- **OpenAI-Compatible**: Supports arbitrary local/self-hosted model IDs via OpenAI-compatible endpoints. Vision capability is treated as `unknown` unless your app knows the endpoint-specific model catalog.
|
|
597
642
|
- **Gemini**: Supports models like Gemini 3.1 Pro Preview, Gemini 3.1 Flash-Lite Preview, Gemini 3 Pro Preview, Gemini 3 Flash Preview, Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash Lite Preview, Gemini 2.0 Flash, Gemini 2.0 Flash-Lite
|
|
598
643
|
- **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
|
|
599
644
|
- **OpenRouter**: Supports a curated OpenRouter model list (OpenAI/Claude/Gemini/Z.ai/Kimi). See the OpenRouter section for model IDs.
|
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, } from './services/providers/ChatServiceProvider';
|
|
8
|
+
export type { ChatServiceOptions, ChatServiceOptionsByProvider, ChatProviderName, OpenAIChatServiceOptions, OpenAICompatibleChatServiceOptions, OpenRouterChatServiceOptions, GeminiChatServiceOptions, ClaudeChatServiceOptions, ZAIChatServiceOptions, 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';
|
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,
|
|
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"}
|
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;AAkB3B,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,wBAAwB;AACxB,6EAA4E;AAAnE,kHAAA,eAAe,OAAA;AACxB,6FAA4F;AAAnF,kIAAA,uBAAuB,OAAA;AAEhC,oBAAoB;AACpB,8CAA4B;AAE5B,kBAAkB;AAClB,0CAAwB;AAExB,WAAW;AACX,gDAAsD;AAA7C,2GAAA,eAAe,OAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChatService } from './ChatService';
|
|
2
|
-
import { ChatServiceOptionsByProvider, ChatProviderName, ChatServiceProvider } from './providers/ChatServiceProvider';
|
|
2
|
+
import { ChatServiceOptionsByProvider, ChatProviderName, ChatServiceProvider, VisionSupportLevel } from './providers/ChatServiceProvider';
|
|
3
3
|
/**
|
|
4
4
|
* Chat service factory
|
|
5
5
|
* Manages and creates various AI providers
|
|
@@ -35,5 +35,13 @@ export declare class ChatServiceFactory {
|
|
|
35
35
|
* @returns Array of supported models, empty array if provider doesn't exist
|
|
36
36
|
*/
|
|
37
37
|
static getSupportedModels(providerName: string): string[];
|
|
38
|
+
/**
|
|
39
|
+
* Get provider-level vision support status.
|
|
40
|
+
*/
|
|
41
|
+
static getVisionSupportLevel(providerName: string): VisionSupportLevel;
|
|
42
|
+
/**
|
|
43
|
+
* Get model-level vision support status.
|
|
44
|
+
*/
|
|
45
|
+
static getVisionSupportLevelForModel(providerName: string, model: string): VisionSupportLevel;
|
|
38
46
|
}
|
|
39
47
|
//# sourceMappingURL=ChatServiceFactory.d.ts.map
|
|
@@ -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,EAEL,4BAA4B,EAC5B,gBAAgB,EAChB,mBAAmB,
|
|
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,EAEL,4BAA4B,EAC5B,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,iCAAiC,CAAC;AAGzC;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,kCAAkC;IAClC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAoD;IAE5E;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,GAAG,CAAC,GAAG,IAAI;IAIjE;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,CAAC,SAAS,SAAS,gBAAgB,EACzD,YAAY,EAAE,SAAS,EACvB,OAAO,EAAE,4BAA4B,CAAC,SAAS,CAAC,GAC/C,WAAW;IAYd;;;OAGG;IACH,MAAM,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAI5D;;;OAGG;IACH,MAAM,CAAC,qBAAqB,IAAI,MAAM,EAAE;IAIxC;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE;IAKzD;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,kBAAkB;IAKtE;;OAEG;IACH,MAAM,CAAC,6BAA6B,CAClC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,GACZ,kBAAkB;CAkBtB"}
|
|
@@ -44,6 +44,31 @@ class ChatServiceFactory {
|
|
|
44
44
|
const provider = this.providers.get(providerName);
|
|
45
45
|
return provider ? provider.getSupportedModels() : [];
|
|
46
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Get provider-level vision support status.
|
|
49
|
+
*/
|
|
50
|
+
static getVisionSupportLevel(providerName) {
|
|
51
|
+
const provider = this.providers.get(providerName);
|
|
52
|
+
return provider ? provider.getVisionSupportLevel() : 'unsupported';
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Get model-level vision support status.
|
|
56
|
+
*/
|
|
57
|
+
static getVisionSupportLevelForModel(providerName, model) {
|
|
58
|
+
const provider = this.providers.get(providerName);
|
|
59
|
+
if (!provider) {
|
|
60
|
+
return 'unsupported';
|
|
61
|
+
}
|
|
62
|
+
if (provider.getVisionSupportLevelForModel) {
|
|
63
|
+
return provider.getVisionSupportLevelForModel(model);
|
|
64
|
+
}
|
|
65
|
+
if (provider.supportsVisionForModel) {
|
|
66
|
+
return provider.supportsVisionForModel(model)
|
|
67
|
+
? 'supported'
|
|
68
|
+
: 'unsupported';
|
|
69
|
+
}
|
|
70
|
+
return provider.getVisionSupportLevel();
|
|
71
|
+
}
|
|
47
72
|
}
|
|
48
73
|
exports.ChatServiceFactory = ChatServiceFactory;
|
|
49
74
|
/** Map of registered providers */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatServiceFactory.js","sourceRoot":"","sources":["../../../src/services/ChatServiceFactory.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ChatServiceFactory.js","sourceRoot":"","sources":["../../../src/services/ChatServiceFactory.ts"],"names":[],"mappings":";;;AAQA,2CAA6D;AAE7D;;;GAGG;AACH,MAAa,kBAAkB;IAI7B;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAkC;QACxD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAYD,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;IAED;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,YAAoB;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClD,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;IACrE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,6BAA6B,CAClC,YAAoB,EACpB,KAAa;QAEb,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,IAAI,QAAQ,CAAC,6BAA6B,EAAE,CAAC;YAC3C,OAAO,QAAQ,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,QAAQ,CAAC,sBAAsB,EAAE,CAAC;YACpC,OAAO,QAAQ,CAAC,sBAAsB,CAAC,KAAK,CAAC;gBAC3C,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,aAAa,CAAC;QACpB,CAAC;QAED,OAAO,QAAQ,CAAC,qBAAqB,EAAE,CAAC;IAC1C,CAAC;;AA1FH,gDA2FC;AA1FC,kCAAkC;AACnB,4BAAS,GAA0C,IAAI,GAAG,EAAE,CAAC;AA2F9E,0CAA8B,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAClD,kBAAkB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAC9C,CAAC"}
|
|
@@ -80,6 +80,7 @@ export type ChatServiceOptionsByProvider = {
|
|
|
80
80
|
kimi: KimiChatServiceOptions;
|
|
81
81
|
};
|
|
82
82
|
export type ChatProviderName = keyof ChatServiceOptionsByProvider;
|
|
83
|
+
export type VisionSupportLevel = 'supported' | 'unsupported' | 'unknown';
|
|
83
84
|
/**
|
|
84
85
|
* Chat service provider interface
|
|
85
86
|
* Abstraction for various AI API providers (OpenAI, Gemini, Claude, etc.)
|
|
@@ -106,11 +107,27 @@ export interface ChatServiceProvider<TOptions = BaseChatServiceOptions> {
|
|
|
106
107
|
* @returns Default model name
|
|
107
108
|
*/
|
|
108
109
|
getDefaultModel(): string;
|
|
110
|
+
/**
|
|
111
|
+
* Get the provider-level vision support status.
|
|
112
|
+
* - supported: known to support vision
|
|
113
|
+
* - unsupported: known to not support vision
|
|
114
|
+
* - unknown: depends on endpoint/model and cannot be pre-validated
|
|
115
|
+
*/
|
|
116
|
+
getVisionSupportLevel(): VisionSupportLevel;
|
|
117
|
+
/**
|
|
118
|
+
* Get the model-level vision support status when pre-validation is possible.
|
|
119
|
+
*/
|
|
120
|
+
getVisionSupportLevelForModel?(model: string): VisionSupportLevel;
|
|
109
121
|
/**
|
|
110
122
|
* Check if the provider supports vision (image processing)
|
|
111
|
-
* @returns
|
|
123
|
+
* @returns True when vision can be attempted
|
|
112
124
|
*/
|
|
113
125
|
supportsVision(): boolean;
|
|
126
|
+
/**
|
|
127
|
+
* Check if a specific model supports vision capabilities.
|
|
128
|
+
* Returns true when vision can be attempted for the model.
|
|
129
|
+
*/
|
|
130
|
+
supportsVisionForModel?(model: string): boolean;
|
|
114
131
|
}
|
|
115
132
|
export {};
|
|
116
133
|
//# sourceMappingURL=ChatServiceProvider.d.ts.map
|
|
@@ -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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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChatService } from '../../ChatService';
|
|
2
|
-
import { ClaudeChatServiceOptions, ChatServiceProvider } from '../ChatServiceProvider';
|
|
2
|
+
import { ClaudeChatServiceOptions, ChatServiceProvider, VisionSupportLevel } from '../ChatServiceProvider';
|
|
3
3
|
/**
|
|
4
4
|
* Claude API provider implementation
|
|
5
5
|
*/
|
|
@@ -30,11 +30,13 @@ export declare class ClaudeChatServiceProvider implements ChatServiceProvider<Cl
|
|
|
30
30
|
* @returns Vision support status (true)
|
|
31
31
|
*/
|
|
32
32
|
supportsVision(): boolean;
|
|
33
|
+
getVisionSupportLevel(): VisionSupportLevel;
|
|
33
34
|
/**
|
|
34
35
|
* Check if a specific model supports vision capabilities
|
|
35
36
|
* @param model The model name to check
|
|
36
37
|
* @returns True if the model supports vision, false otherwise
|
|
37
38
|
*/
|
|
38
39
|
supportsVisionForModel(model: string): boolean;
|
|
40
|
+
getVisionSupportLevelForModel(model: string): VisionSupportLevel;
|
|
39
41
|
}
|
|
40
42
|
//# sourceMappingURL=ClaudeChatServiceProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudeChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/claude/ClaudeChatServiceProvider.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EACL,wBAAwB,EACxB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"ClaudeChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/claude/ClaudeChatServiceProvider.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAGhC;;GAEG;AACH,qBAAa,yBACX,YAAW,mBAAmB,CAAC,wBAAwB,CAAC;IAExD;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,WAAW;IAqBjE;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAgB9B;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,cAAc,IAAI,OAAO;IAIzB,qBAAqB,IAAI,kBAAkB;IAI3C;;;;OAIG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI9C,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB;CAGjE"}
|
|
@@ -63,7 +63,10 @@ class ClaudeChatServiceProvider {
|
|
|
63
63
|
* @returns Vision support status (true)
|
|
64
64
|
*/
|
|
65
65
|
supportsVision() {
|
|
66
|
-
return
|
|
66
|
+
return this.getVisionSupportLevel() !== 'unsupported';
|
|
67
|
+
}
|
|
68
|
+
getVisionSupportLevel() {
|
|
69
|
+
return 'supported';
|
|
67
70
|
}
|
|
68
71
|
/**
|
|
69
72
|
* Check if a specific model supports vision capabilities
|
|
@@ -73,6 +76,9 @@ class ClaudeChatServiceProvider {
|
|
|
73
76
|
supportsVisionForModel(model) {
|
|
74
77
|
return constants_1.CLAUDE_VISION_SUPPORTED_MODELS.includes(model);
|
|
75
78
|
}
|
|
79
|
+
getVisionSupportLevelForModel(model) {
|
|
80
|
+
return this.supportsVisionForModel(model) ? 'supported' : 'unsupported';
|
|
81
|
+
}
|
|
76
82
|
}
|
|
77
83
|
exports.ClaudeChatServiceProvider = ClaudeChatServiceProvider;
|
|
78
84
|
//# sourceMappingURL=ClaudeChatServiceProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudeChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/claude/ClaudeChatServiceProvider.ts"],"names":[],"mappings":";;;AAAA,kDAa4B;AAE5B,2DAAwD;
|
|
1
|
+
{"version":3,"file":"ClaudeChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/claude/ClaudeChatServiceProvider.ts"],"names":[],"mappings":";;;AAAA,kDAa4B;AAE5B,2DAAwD;AAOxD,0CAAoD;AAEpD;;GAEG;AACH,MAAa,yBAAyB;IAGpC;;;;OAIG;IACH,iBAAiB,CAAC,OAAiC;QACjD,gFAAgF;QAChF,MAAM,WAAW,GAAG,IAAA,0BAAkB,EAAC;YACrC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE;YACpC,kBAAkB,EAAE,IAAI,CAAC,eAAe,EAAE;YAC1C,sBAAsB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;YACrE,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC;QAEH,OAAO,IAAI,qCAAiB,CAC1B,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,EACvC,WAAW,EACX,OAAO,CAAC,KAAK,IAAI,EAAE,EACnB,OAAO,CAAC,UAAU,IAAI,EAAE,EACxB,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;YACrB,mCAAuB;YACvB,iCAAqB;SACtB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,gCAAoB,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,qBAAqB,EAAE,KAAK,aAAa,CAAC;IACxD,CAAC;IAED,qBAAqB;QACnB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,KAAa;QAClC,OAAO,0CAA8B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,6BAA6B,CAAC,KAAa;QACzC,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;IAC1E,CAAC;CACF;AAzFD,8DAyFC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChatService } from '../../ChatService';
|
|
2
|
-
import { GeminiChatServiceOptions, ChatServiceProvider } from '../ChatServiceProvider';
|
|
2
|
+
import { GeminiChatServiceOptions, ChatServiceProvider, VisionSupportLevel } from '../ChatServiceProvider';
|
|
3
3
|
/**
|
|
4
4
|
* Gemini API provider implementation
|
|
5
5
|
*/
|
|
@@ -30,11 +30,13 @@ export declare class GeminiChatServiceProvider implements ChatServiceProvider<Ge
|
|
|
30
30
|
* @returns Vision support status (true)
|
|
31
31
|
*/
|
|
32
32
|
supportsVision(): boolean;
|
|
33
|
+
getVisionSupportLevel(): VisionSupportLevel;
|
|
33
34
|
/**
|
|
34
35
|
* Check if a specific model supports vision capabilities
|
|
35
36
|
* @param model The model name to check
|
|
36
37
|
* @returns True if the model supports vision, false otherwise
|
|
37
38
|
*/
|
|
38
39
|
supportsVisionForModel(model: string): boolean;
|
|
40
|
+
getVisionSupportLevelForModel(model: string): VisionSupportLevel;
|
|
39
41
|
}
|
|
40
42
|
//# sourceMappingURL=GeminiChatServiceProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeminiChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/gemini/GeminiChatServiceProvider.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,wBAAwB,EACxB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"GeminiChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/gemini/GeminiChatServiceProvider.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAGhC;;GAEG;AACH,qBAAa,yBACX,YAAW,mBAAmB,CAAC,wBAAwB,CAAC;IAExD;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,WAAW;IAqBjE;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAe9B;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,cAAc,IAAI,OAAO;IAIzB,qBAAqB,IAAI,kBAAkB;IAI3C;;;;OAIG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI9C,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB;CAGjE"}
|
|
@@ -62,7 +62,10 @@ class GeminiChatServiceProvider {
|
|
|
62
62
|
* @returns Vision support status (true)
|
|
63
63
|
*/
|
|
64
64
|
supportsVision() {
|
|
65
|
-
return
|
|
65
|
+
return this.getVisionSupportLevel() !== 'unsupported';
|
|
66
|
+
}
|
|
67
|
+
getVisionSupportLevel() {
|
|
68
|
+
return 'supported';
|
|
66
69
|
}
|
|
67
70
|
/**
|
|
68
71
|
* Check if a specific model supports vision capabilities
|
|
@@ -72,6 +75,9 @@ class GeminiChatServiceProvider {
|
|
|
72
75
|
supportsVisionForModel(model) {
|
|
73
76
|
return constants_1.GEMINI_VISION_SUPPORTED_MODELS.includes(model);
|
|
74
77
|
}
|
|
78
|
+
getVisionSupportLevelForModel(model) {
|
|
79
|
+
return this.supportsVisionForModel(model) ? 'supported' : 'unsupported';
|
|
80
|
+
}
|
|
75
81
|
}
|
|
76
82
|
exports.GeminiChatServiceProvider = GeminiChatServiceProvider;
|
|
77
83
|
//# sourceMappingURL=GeminiChatServiceProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeminiChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/gemini/GeminiChatServiceProvider.ts"],"names":[],"mappings":";;;AAAA,kDAY4B;AAE5B,2DAAwD;
|
|
1
|
+
{"version":3,"file":"GeminiChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/gemini/GeminiChatServiceProvider.ts"],"names":[],"mappings":";;;AAAA,kDAY4B;AAE5B,2DAAwD;AAMxD,0CAAoD;AAEpD;;GAEG;AACH,MAAa,yBAAyB;IAGpC;;;;OAIG;IACH,iBAAiB,CAAC,OAAiC;QACjD,gFAAgF;QAChF,MAAM,WAAW,GAAG,IAAA,0BAAkB,EAAC;YACrC,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE;YACpC,kBAAkB,EAAE,IAAI,CAAC,eAAe,EAAE;YAC1C,sBAAsB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;YACrE,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC;QAEH,OAAO,IAAI,qCAAiB,CAC1B,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,EACvC,WAAW,EACX,OAAO,CAAC,KAAK,IAAI,EAAE,EACnB,OAAO,CAAC,UAAU,IAAI,EAAE,EACxB,OAAO,CAAC,cAAc,CACvB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,OAAO;YACL,wCAA4B;YAC5B,+CAAmC;YACnC,sCAA0B;YAC1B,wCAA4B;YAC5B,gCAAoB;YACpB,kCAAsB;YACtB,uCAA2B;YAC3B,qDAAyC;YACzC,kCAAsB;YACtB,uCAA2B;SAC5B,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,uCAA2B,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,qBAAqB,EAAE,KAAK,aAAa,CAAC;IACxD,CAAC;IAED,qBAAqB;QACnB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,KAAa;QAClC,OAAO,0CAA8B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,6BAA6B,CAAC,KAAa;QACzC,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;IAC1E,CAAC;CACF;AAxFD,8DAwFC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChatService } from '../../ChatService';
|
|
2
|
-
import { KimiChatServiceOptions, ChatServiceProvider } from '../ChatServiceProvider';
|
|
2
|
+
import { KimiChatServiceOptions, ChatServiceProvider, VisionSupportLevel } from '../ChatServiceProvider';
|
|
3
3
|
/**
|
|
4
4
|
* Kimi API provider implementation
|
|
5
5
|
*/
|
|
@@ -28,10 +28,12 @@ export declare class KimiChatServiceProvider implements ChatServiceProvider<Kimi
|
|
|
28
28
|
* Check if this provider supports vision
|
|
29
29
|
*/
|
|
30
30
|
supportsVision(): boolean;
|
|
31
|
+
getVisionSupportLevel(): VisionSupportLevel;
|
|
31
32
|
/**
|
|
32
33
|
* Check if a specific model supports vision capabilities
|
|
33
34
|
*/
|
|
34
35
|
supportsVisionForModel(model: string): boolean;
|
|
36
|
+
getVisionSupportLevelForModel(model: string): VisionSupportLevel;
|
|
35
37
|
private resolveEndpoint;
|
|
36
38
|
private normalizeEndpoint;
|
|
37
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KimiChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/kimi/KimiChatServiceProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,sBAAsB,EACtB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"KimiChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/kimi/KimiChatServiceProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAIhC;;GAEG;AACH,qBAAa,uBACX,YAAW,mBAAmB,CAAC,sBAAsB,CAAC;IAEtD;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,sBAAsB,GAAG,WAAW;IAgC/D;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAI9B;;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;IAIhE,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,iBAAiB;CAG1B"}
|
|
@@ -57,7 +57,10 @@ class KimiChatServiceProvider {
|
|
|
57
57
|
* Check if this provider supports vision
|
|
58
58
|
*/
|
|
59
59
|
supportsVision() {
|
|
60
|
-
return
|
|
60
|
+
return this.getVisionSupportLevel() !== 'unsupported';
|
|
61
|
+
}
|
|
62
|
+
getVisionSupportLevel() {
|
|
63
|
+
return 'supported';
|
|
61
64
|
}
|
|
62
65
|
/**
|
|
63
66
|
* Check if a specific model supports vision capabilities
|
|
@@ -65,6 +68,9 @@ class KimiChatServiceProvider {
|
|
|
65
68
|
supportsVisionForModel(model) {
|
|
66
69
|
return (0, kimi_1.isKimiVisionModel)(model);
|
|
67
70
|
}
|
|
71
|
+
getVisionSupportLevelForModel(model) {
|
|
72
|
+
return this.supportsVisionForModel(model) ? 'supported' : 'unsupported';
|
|
73
|
+
}
|
|
68
74
|
resolveEndpoint(options) {
|
|
69
75
|
if (options.endpoint) {
|
|
70
76
|
return this.normalizeEndpoint(options.endpoint);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KimiChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/kimi/KimiChatServiceProvider.ts"],"names":[],"mappings":";;;AAAA,kDAIiC;AAEjC,uDAAoD;
|
|
1
|
+
{"version":3,"file":"KimiChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/kimi/KimiChatServiceProvider.ts"],"names":[],"mappings":";;;AAAA,kDAIiC;AAEjC,uDAAoD;AAOpD,0CAAoD;AAEpD;;GAEG;AACH,MAAa,uBAAuB;IAGlC;;OAEG;IACH,iBAAiB,CAAC,OAA+B;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACtD,MAAM,WAAW,GAAG,IAAA,0BAAkB,EAAC;YACrC,KAAK;YACL,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE;YACpC,kBAAkB,EAAE,IAAI,CAAC,qBAAqB,EAAE;YAChD,sBAAsB,EAAE,CAAC,WAAW,EAAE,EAAE,CACtC,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC;YAC1C,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC;QAEH,MAAM,KAAK,GAAiC,OAAO,CAAC,KAAK,CAAC;QAC1D,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,IAAI,EAAE,SAAkB,EAAE,CAAC;QACzE,MAAM,QAAQ,GACZ,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YACvB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAmB,EAAE;YAC/B,CAAC,CAAC,eAAe,CAAC;QAEtB,OAAO,IAAI,iCAAe,CACxB,OAAO,CAAC,MAAM,EACd,KAAK,EACL,WAAW,EACX,KAAK,EACL,QAAQ,EACR,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,cAAc,EACtB,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO,CAAC,sBAAe,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,sBAAe,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,qBAAqB;QAC3B,OAAO,sBAAe,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,qBAAqB,EAAE,KAAK,aAAa,CAAC;IACxD,CAAC;IAED,qBAAqB;QACnB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,KAAa;QAClC,OAAO,IAAA,wBAAiB,EAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,6BAA6B,CAAC,KAAa;QACzC,OAAO,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC;IAC1E,CAAC;IAEO,eAAe,CAAC,OAA+B;QACrD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACxD,IAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC1C,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,OAAO,GAAG,OAAO,mBAAmB,CAAC;QACvC,CAAC;QACD,OAAO,yCAAkC,CAAC;IAC5C,CAAC;IAEO,iBAAiB,CAAC,KAAa;QACrC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACnC,CAAC;CACF;AAzGD,0DAyGC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChatService } from '../../ChatService';
|
|
2
|
-
import { OpenAIChatServiceOptions, ChatServiceProvider } from '../ChatServiceProvider';
|
|
2
|
+
import { OpenAIChatServiceOptions, ChatServiceProvider, VisionSupportLevel } from '../ChatServiceProvider';
|
|
3
3
|
/**
|
|
4
4
|
* OpenAI API provider implementation
|
|
5
5
|
*/
|
|
@@ -30,12 +30,14 @@ export declare class OpenAIChatServiceProvider implements ChatServiceProvider<Op
|
|
|
30
30
|
* @returns Vision support status (true)
|
|
31
31
|
*/
|
|
32
32
|
supportsVision(): boolean;
|
|
33
|
+
getVisionSupportLevel(): VisionSupportLevel;
|
|
33
34
|
/**
|
|
34
35
|
* Check if a specific model supports vision capabilities
|
|
35
36
|
* @param model The model name to check
|
|
36
37
|
* @returns True if the model supports vision, false otherwise
|
|
37
38
|
*/
|
|
38
39
|
supportsVisionForModel(model: string): boolean;
|
|
40
|
+
getVisionSupportLevelForModel(model: string): VisionSupportLevel;
|
|
39
41
|
/**
|
|
40
42
|
* Apply GPT-5 specific optimizations to options
|
|
41
43
|
* @param options Original chat service options
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAIChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/openai/OpenAIChatServiceProvider.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,wBAAwB,EACxB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"OpenAIChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/openai/OpenAIChatServiceProvider.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAIhC;;GAEG;AACH,qBAAa,yBACX,YAAW,mBAAmB,CAAC,wBAAwB,CAAC;IAExD;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,WAAW;IAwDjE;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAqB9B;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,cAAc,IAAI,OAAO;IAIzB,qBAAqB,IAAI,kBAAkB;IAI3C;;;;OAIG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI9C,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB;IAIhE;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;CA0BjC"}
|
|
@@ -95,7 +95,10 @@ class OpenAIChatServiceProvider {
|
|
|
95
95
|
* @returns Vision support status (true)
|
|
96
96
|
*/
|
|
97
97
|
supportsVision() {
|
|
98
|
-
return
|
|
98
|
+
return this.getVisionSupportLevel() !== 'unsupported';
|
|
99
|
+
}
|
|
100
|
+
getVisionSupportLevel() {
|
|
101
|
+
return 'supported';
|
|
99
102
|
}
|
|
100
103
|
/**
|
|
101
104
|
* Check if a specific model supports vision capabilities
|
|
@@ -105,6 +108,9 @@ class OpenAIChatServiceProvider {
|
|
|
105
108
|
supportsVisionForModel(model) {
|
|
106
109
|
return constants_1.VISION_SUPPORTED_MODELS.includes(model);
|
|
107
110
|
}
|
|
111
|
+
getVisionSupportLevelForModel(model) {
|
|
112
|
+
return this.supportsVisionForModel(model) ? 'supported' : 'unsupported';
|
|
113
|
+
}
|
|
108
114
|
/**
|
|
109
115
|
* Apply GPT-5 specific optimizations to options
|
|
110
116
|
* @param options Original chat service options
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAIChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/openai/OpenAIChatServiceProvider.ts"],"names":[],"mappings":";;;AAAA,kDA4B4B;AAC5B,kDAAuD;AAEvD,2DAAwD;
|
|
1
|
+
{"version":3,"file":"OpenAIChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/openai/OpenAIChatServiceProvider.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/services/providers/openaiCompatible/OpenAICompatibleChatServiceProvider.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ChatService } from '../../ChatService';
|
|
2
|
-
import { ChatServiceProvider, OpenAICompatibleChatServiceOptions } from '../ChatServiceProvider';
|
|
2
|
+
import { ChatServiceProvider, OpenAICompatibleChatServiceOptions, VisionSupportLevel } from '../ChatServiceProvider';
|
|
3
3
|
/**
|
|
4
4
|
* OpenAI-compatible provider implementation.
|
|
5
5
|
*
|
|
@@ -15,6 +15,9 @@ export declare class OpenAICompatibleChatServiceProvider implements ChatServiceP
|
|
|
15
15
|
*/
|
|
16
16
|
getSupportedModels(): string[];
|
|
17
17
|
supportsVision(): boolean;
|
|
18
|
+
getVisionSupportLevel(): VisionSupportLevel;
|
|
19
|
+
supportsVisionForModel(_model: string): boolean;
|
|
20
|
+
getVisionSupportLevelForModel(_model: string): VisionSupportLevel;
|
|
18
21
|
getDefaultModel(): string;
|
|
19
22
|
private validateRequiredOptions;
|
|
20
23
|
}
|
package/dist/cjs/services/providers/openaiCompatible/OpenAICompatibleChatServiceProvider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAICompatibleChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/openaiCompatible/OpenAICompatibleChatServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,kCAAkC,
|
|
1
|
+
{"version":3,"file":"OpenAICompatibleChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/openaiCompatible/OpenAICompatibleChatServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,kCAAkC,EAClC,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAGhC;;;;;;GAMG;AACH,qBAAa,mCACX,YAAW,mBAAmB,CAAC,kCAAkC,CAAC;IAElE,iBAAiB,CAAC,OAAO,EAAE,kCAAkC,GAAG,WAAW;IAkB3E,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAI9B,cAAc,IAAI,OAAO;IAIzB,qBAAqB,IAAI,kBAAkB;IAI3C,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI/C,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB;IAIjE,eAAe,IAAI,MAAM;IAIzB,OAAO,CAAC,uBAAuB;CAmChC"}
|