@aituber-onair/chat 0.21.1 → 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 +63 -2
- package/README.md +62 -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/OpenAIChatService.d.ts +2 -0
- package/dist/cjs/services/providers/openai/OpenAIChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/openai/OpenAIChatService.js +69 -9
- package/dist/cjs/services/providers/openai/OpenAIChatService.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/cjs/types/toolChat.d.ts +8 -0
- package/dist/cjs/types/toolChat.d.ts.map +1 -1
- package/dist/cjs/utils/openaiCompatibleSse.d.ts.map +1 -1
- package/dist/cjs/utils/openaiCompatibleSse.js +16 -1
- package/dist/cjs/utils/openaiCompatibleSse.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/OpenAIChatService.d.ts +2 -0
- package/dist/esm/services/providers/openai/OpenAIChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/openai/OpenAIChatService.js +71 -11
- package/dist/esm/services/providers/openai/OpenAIChatService.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/esm/types/toolChat.d.ts +8 -0
- package/dist/esm/types/toolChat.d.ts.map +1 -1
- package/dist/esm/utils/openaiCompatibleSse.d.ts.map +1 -1
- package/dist/esm/utils/openaiCompatibleSse.js +16 -1
- package/dist/esm/utils/openaiCompatibleSse.js.map +1 -1
- package/dist/umd/aituber-onair-chat.js +163 -15
- 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
|
|
@@ -408,11 +430,28 @@ const tools: ToolDefinition[] = [{
|
|
|
408
430
|
|
|
409
431
|
### 応答長制御
|
|
410
432
|
|
|
433
|
+
プリセットの基準トークン値は次の通りです。
|
|
434
|
+
- `veryShort`: 40
|
|
435
|
+
- `short`: 100
|
|
436
|
+
- `medium`: 200
|
|
437
|
+
- `long`: 300
|
|
438
|
+
- `veryLong`: 1000
|
|
439
|
+
- `deep`: 5000
|
|
440
|
+
|
|
441
|
+
ただし OpenAI の GPT-5 family
|
|
442
|
+
(`gpt-5`, `gpt-5-mini`, `gpt-5-nano`, `gpt-5.1`, `gpt-5.4`,
|
|
443
|
+
`gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.4-pro`)では、これらは基準値として
|
|
444
|
+
扱われます。途中終了を減らすため、実際に送信される
|
|
445
|
+
`max_completion_tokens` / `max_output_tokens` は、model と
|
|
446
|
+
`reasoning_effort` に応じて自動的に引き上げられることがあります。
|
|
447
|
+
|
|
448
|
+
厳密な token 上限を指定したい場合は `maxTokens` を使ってください。
|
|
449
|
+
|
|
411
450
|
```typescript
|
|
412
451
|
// プリセット応答長を使用
|
|
413
452
|
const service = ChatServiceFactory.createChatService('openai', {
|
|
414
453
|
apiKey: 'your-key',
|
|
415
|
-
responseLength: 'medium' // 'veryShort', 'short', 'medium', 'long', 'veryLong'
|
|
454
|
+
responseLength: 'medium' // 'veryShort', 'short', 'medium', 'long', 'veryLong', 'deep'
|
|
416
455
|
});
|
|
417
456
|
|
|
418
457
|
// カスタムトークン制限を使用
|
|
@@ -575,13 +614,35 @@ interface MessageWithVision {
|
|
|
575
614
|
}
|
|
576
615
|
|
|
577
616
|
type ChatResponseLength = 'veryShort' | 'short' | 'medium' | 'long' | 'veryLong';
|
|
617
|
+
type VisionSupportLevel = 'supported' | 'unsupported' | 'unknown';
|
|
578
618
|
```
|
|
579
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'
|
|
633
|
+
```
|
|
634
|
+
|
|
635
|
+
意味:
|
|
636
|
+
- `supported`: リクエスト送信前に vision 対応と分かっている
|
|
637
|
+
- `unsupported`: リクエスト送信前に非対応と分かっている
|
|
638
|
+
- `unknown`: 事前判定できないが、実際には成功する可能性がある
|
|
639
|
+
|
|
580
640
|
## 利用可能なプロバイダー
|
|
581
641
|
|
|
582
642
|
現在、以下のAIプロバイダーが組み込まれています:
|
|
583
643
|
|
|
584
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` 扱いです
|
|
585
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のモデルをサポート
|
|
586
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のモデルをサポート
|
|
587
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
|
|
@@ -404,6 +427,22 @@ const tools: ToolDefinition[] = [{
|
|
|
404
427
|
|
|
405
428
|
### Response Length Control
|
|
406
429
|
|
|
430
|
+
Base preset token targets are:
|
|
431
|
+
- `veryShort`: 40
|
|
432
|
+
- `short`: 100
|
|
433
|
+
- `medium`: 200
|
|
434
|
+
- `long`: 300
|
|
435
|
+
- `veryLong`: 1000
|
|
436
|
+
- `deep`: 5000
|
|
437
|
+
|
|
438
|
+
For the OpenAI GPT-5 family (`gpt-5`, `gpt-5-mini`, `gpt-5-nano`,
|
|
439
|
+
`gpt-5.1`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.4-pro`),
|
|
440
|
+
these values are treated as base presets. The library may raise the actual
|
|
441
|
+
`max_completion_tokens` or `max_output_tokens` to reduce premature truncation,
|
|
442
|
+
depending on the selected model and `reasoning_effort`.
|
|
443
|
+
|
|
444
|
+
If you need an exact token limit, use `maxTokens`.
|
|
445
|
+
|
|
407
446
|
```typescript
|
|
408
447
|
// Using preset response lengths
|
|
409
448
|
const service = ChatServiceFactory.createChatService('openai', {
|
|
@@ -571,13 +610,35 @@ interface MessageWithVision {
|
|
|
571
610
|
}
|
|
572
611
|
|
|
573
612
|
type ChatResponseLength = 'veryShort' | 'short' | 'medium' | 'long' | 'veryLong' | 'deep';
|
|
613
|
+
type VisionSupportLevel = 'supported' | 'unsupported' | 'unknown';
|
|
574
614
|
```
|
|
575
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'
|
|
629
|
+
```
|
|
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
|
+
|
|
576
636
|
## Available Providers
|
|
577
637
|
|
|
578
638
|
Currently, the following AI providers are built-in:
|
|
579
639
|
|
|
580
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.
|
|
581
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
|
|
582
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
|
|
583
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"}
|
|
@@ -79,6 +79,7 @@ export declare class OpenAIChatService implements ChatService {
|
|
|
79
79
|
* Build request body based on the endpoint type
|
|
80
80
|
*/
|
|
81
81
|
private buildRequestBody;
|
|
82
|
+
private resolveTokenLimit;
|
|
82
83
|
/**
|
|
83
84
|
* Validate MCP servers compatibility with the current endpoint
|
|
84
85
|
*/
|
|
@@ -107,6 +108,7 @@ export declare class OpenAIChatService implements ChatService {
|
|
|
107
108
|
* @returns 'completed' if the response is completed, undefined otherwise
|
|
108
109
|
*/
|
|
109
110
|
private handleResponsesSSEEvent;
|
|
111
|
+
private extractResponsesMetadata;
|
|
110
112
|
/**
|
|
111
113
|
* Parse non-streaming response from Responses API
|
|
112
114
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAIChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/openai/OpenAIChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAIL,qBAAqB,
|
|
1
|
+
{"version":3,"file":"OpenAIChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/openai/OpenAIChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAIL,qBAAqB,EAItB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAEL,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,cAAc,EAEd,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AA6BjD;;GAEG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IACnD,oBAAoB;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,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,UAAU,CAAoB;IACtC,OAAO,CAAC,cAAc,CAAC,CAAqB;IAC5C,OAAO,CAAC,SAAS,CAAC,CAA4B;IAC9C,OAAO,CAAC,gBAAgB,CAAC,CAAwB;IACjD,OAAO,CAAC,sBAAsB,CAAC,CAAU;IAEzC;;;;;OAKG;gBAED,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAA0B,EACjC,WAAW,GAAE,MAA0B,EACvC,KAAK,CAAC,EAAE,cAAc,EAAE,EACxB,QAAQ,GAAE,MAA6C,EACvD,UAAU,GAAE,eAAe,EAAO,EAClC,cAAc,CAAC,EAAE,kBAAkB,EACnC,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,EACrC,gBAAgB,CAAC,EAAE,qBAAqB,EACxC,sBAAsB,GAAE,OAAe,EACvC,QAAQ,GAAE,MAAiB,EAC3B,mBAAmB,GAAE,OAAc;IAyBrC;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;OAGG;IACH,cAAc,IAAI,MAAM;IAIxB;;;;;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;IA6BhB;;;;;;OAMG;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;IAuChB;;;;;;;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;IAK9B;;;;;;;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;IAU9B;;OAEG;YACW,aAAa;YAkBb,UAAU;IAoBxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0FxB,OAAO,CAAC,iBAAiB;IAiCzB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAchC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAyCpC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;OAEG;IACH,OAAO,CAAC,uBAAuB;YA0BjB,YAAY;YAIZ,WAAW;IASzB,OAAO,CAAC,YAAY;IAIpB;;OAEG;YACW,oBAAoB;IA4FlC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAsF/B,OAAO,CAAC,wBAAwB;IAiBhC;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAqC9B"}
|