@aituber-onair/core 0.23.8 → 0.23.9
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.md +25 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1349,7 +1349,7 @@ This is useful when running voice engines on different ports or remote servers.
|
|
|
1349
1349
|
## AI Provider System
|
|
1350
1350
|
|
|
1351
1351
|
AITuber OnAir Core adopts an extensible provider system, enabling integration with various AI APIs.
|
|
1352
|
-
Currently, OpenAI API, Gemini API, Claude API, Z.ai API, Kimi API, and OpenRouter API are available. If you would like to use any other API, please submit a PR or send us a message.
|
|
1352
|
+
Currently, OpenAI API, OpenAI-compatible APIs, Gemini API, Claude API, Z.ai API, Kimi API, and OpenRouter API are available. If you would like to use any other API, please submit a PR or send us a message.
|
|
1353
1353
|
|
|
1354
1354
|
### Available Providers
|
|
1355
1355
|
|
|
@@ -1361,6 +1361,7 @@ Currently, the following AI provider is built-in:
|
|
|
1361
1361
|
- **Z.ai**: Supports models like GLM-5/GLM-5-Turbo (text-only), GLM-4.7, GLM-4.7 Flash/FlashX, GLM-4.6, GLM-4.6V, GLM-4.6V Flash/FlashX
|
|
1362
1362
|
- **Kimi**: Supports Kimi K2.5 (`kimi-k2.5`) with vision support
|
|
1363
1363
|
- **OpenRouter**: Supports a curated OpenRouter model list (OpenAI/Claude/Gemini/Z.ai/Kimi)
|
|
1364
|
+
- **OpenAI-Compatible**: Supports arbitrary OpenAI-compatible Chat Completions endpoints; vision capability is treated as unknown until the target endpoint/model responds
|
|
1364
1365
|
|
|
1365
1366
|
For OpenRouter free-tier discovery, you can also use
|
|
1366
1367
|
`refreshOpenRouterFreeModels` via `@aituber-onair/core`
|
|
@@ -1389,6 +1390,11 @@ Different AI models support different features. For example:
|
|
|
1389
1390
|
|
|
1390
1391
|
When selecting a model, be aware of these limitations. Attempting to use unsupported features will result in an explicit error.
|
|
1391
1392
|
|
|
1393
|
+
For `openai-compatible`, vision support is treated as `unknown` because the
|
|
1394
|
+
library cannot pre-validate arbitrary local/self-hosted endpoints. Image
|
|
1395
|
+
requests are allowed, but unsupported endpoint/model combinations will fail at
|
|
1396
|
+
runtime with the upstream API error.
|
|
1397
|
+
|
|
1392
1398
|
**Note**: If you don't specify a model, the default model used is 'gpt-4o-mini'. This model supports both text chat and image processing.
|
|
1393
1399
|
|
|
1394
1400
|
### Using Different Models Together
|
|
@@ -1407,7 +1413,24 @@ const aituberCore = new AITuberOnAirCore({
|
|
|
1407
1413
|
|
|
1408
1414
|
This allows for optimizations such as using a lightweight model for text chat and a more powerful model only when image processing is needed.
|
|
1409
1415
|
|
|
1410
|
-
Note: When specifying a visionModel
|
|
1416
|
+
Note: When specifying a `visionModel`, ensure it supports vision capabilities.
|
|
1417
|
+
Built-in providers are validated during initialization. For
|
|
1418
|
+
`openai-compatible`, support is treated as unknown, so the request is allowed
|
|
1419
|
+
and the endpoint may reject it at runtime if vision is unsupported.
|
|
1420
|
+
|
|
1421
|
+
If you need to surface this in your own UI, `@aituber-onair/core` re-exports
|
|
1422
|
+
the chat capability helpers:
|
|
1423
|
+
|
|
1424
|
+
```typescript
|
|
1425
|
+
import { ChatServiceFactory, type VisionSupportLevel } from '@aituber-onair/core';
|
|
1426
|
+
|
|
1427
|
+
const visionSupport: VisionSupportLevel =
|
|
1428
|
+
ChatServiceFactory.getVisionSupportLevelForModel(
|
|
1429
|
+
'openai-compatible',
|
|
1430
|
+
'local-model',
|
|
1431
|
+
);
|
|
1432
|
+
// 'supported' | 'unsupported' | 'unknown'
|
|
1433
|
+
```
|
|
1411
1434
|
|
|
1412
1435
|
### Retrieving Providers & Models
|
|
1413
1436
|
|
package/dist/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Modularized library of AITuber OnAir core features
|
|
4
4
|
*/
|
|
5
5
|
export * from './types';
|
|
6
|
-
export { type ChatService, ChatServiceFactory, type ChatServiceOptions, type ChatServiceOptionsByProvider, type ChatProviderName, type OpenAICompatibleChatServiceOptions, type ChatServiceProvider, OpenAIChatService, OpenAIChatServiceProvider, OpenAICompatibleChatServiceProvider, GeminiChatService, GeminiChatServiceProvider, ClaudeChatService, ClaudeChatServiceProvider, ZAIChatService, ZAIChatServiceProvider, KimiChatService, KimiChatServiceProvider, type Message, type MessageWithVision, type VisionBlock, type ChatType, type ToolDefinition, type ToolUseBlock, type ToolResultBlock, type ToolChatCompletion, type MCPServerConfig, type ChatResponseLength, CHAT_RESPONSE_LENGTH, MAX_TOKENS_BY_LENGTH, DEFAULT_MAX_TOKENS, DEFAULT_VISION_PROMPT, getMaxTokensForResponseLength, MODEL_GPT_5_NANO, MODEL_GPT_5_MINI, MODEL_GPT_5, MODEL_GPT_5_1, MODEL_GPT_5_4, MODEL_GPT_5_4_MINI, MODEL_GPT_5_4_NANO, MODEL_GPT_5_4_PRO, MODEL_GPT_4_1, MODEL_GPT_4_1_MINI, MODEL_GPT_4_1_NANO, MODEL_GPT_4O, MODEL_GPT_4O_MINI, MODEL_O3_MINI, MODEL_O1, MODEL_O1_MINI, type OpenAIReasoningEffort, GPT_5_MODELS, isGPT5Model, isResponsesOnlyGPT5Model, allowsReasoningXHigh, allowsReasoningLow, allowsReasoningMinimal, allowsReasoningNone, getDefaultReasoningEffortForGPT5Model, VISION_SUPPORTED_MODELS, ENDPOINT_OPENAI_CHAT_COMPLETIONS_API, ENDPOINT_OPENAI_RESPONSES_API, GPT5_PRESETS, type GPT5PresetKey, MODEL_GEMINI_3_1_PRO_PREVIEW, MODEL_GEMINI_3_1_FLASH_LITE_PREVIEW, MODEL_GEMINI_3_PRO_PREVIEW, MODEL_GEMINI_3_FLASH_PREVIEW, MODEL_GEMINI_2_5_PRO, MODEL_GEMINI_2_5_FLASH, MODEL_GEMINI_2_5_FLASH_LITE, MODEL_GEMINI_2_5_FLASH_LITE_PREVIEW_06_17, MODEL_GEMINI_2_0_FLASH, MODEL_GEMINI_2_0_FLASH_LITE, GEMINI_VISION_SUPPORTED_MODELS, ENDPOINT_GEMINI_API, MODEL_CLAUDE_4_6_SONNET, MODEL_CLAUDE_3_HAIKU, MODEL_CLAUDE_3_5_HAIKU, MODEL_CLAUDE_3_5_SONNET, MODEL_CLAUDE_3_7_SONNET, MODEL_CLAUDE_4_SONNET, MODEL_CLAUDE_4_OPUS, MODEL_CLAUDE_4_5_OPUS, MODEL_CLAUDE_4_6_OPUS, MODEL_CLAUDE_4_5_SONNET, MODEL_CLAUDE_4_5_HAIKU, CLAUDE_VISION_SUPPORTED_MODELS, ENDPOINT_CLAUDE_API, MODEL_GLM_5, MODEL_GLM_5_TURBO, MODEL_GLM_4_7, MODEL_GLM_4_7_FLASHX, MODEL_GLM_4_7_FLASH, MODEL_GLM_4_6, MODEL_GLM_4_6V, MODEL_GLM_4_6V_FLASHX, MODEL_GLM_4_6V_FLASH, ZAI_VISION_SUPPORTED_MODELS, ENDPOINT_ZAI_CHAT_COMPLETIONS_API, MODEL_KIMI_K2_5, KIMI_VISION_SUPPORTED_MODELS, ENDPOINT_KIMI_CHAT_COMPLETIONS_API, MODEL_GPT_OSS_20B_FREE, MODEL_MOONSHOTAI_KIMI_K2_5, MODEL_OPENAI_GPT_5_1_CHAT, MODEL_OPENAI_GPT_5_1_CODEX, MODEL_OPENAI_GPT_5_MINI, MODEL_OPENAI_GPT_5_NANO, MODEL_OPENAI_GPT_4O, MODEL_OPENAI_GPT_4_1_MINI, MODEL_OPENAI_GPT_4_1_NANO, MODEL_ANTHROPIC_CLAUDE_OPUS_4, MODEL_ANTHROPIC_CLAUDE_SONNET_4, MODEL_ANTHROPIC_CLAUDE_3_7_SONNET, MODEL_ANTHROPIC_CLAUDE_3_5_SONNET, MODEL_ANTHROPIC_CLAUDE_4_5_HAIKU, MODEL_GOOGLE_GEMINI_2_5_PRO, MODEL_GOOGLE_GEMINI_2_5_FLASH, MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025, MODEL_ZAI_GLM_4_7_FLASH, MODEL_ZAI_GLM_4_5_AIR, MODEL_ZAI_GLM_4_5_AIR_FREE, OPENROUTER_FREE_MODELS, OPENROUTER_VISION_SUPPORTED_MODELS, ENDPOINT_OPENROUTER_API, type RefreshOpenRouterFreeModelsOptions, type RefreshOpenRouterFreeModelsFailure, type RefreshOpenRouterFreeModelsResult, refreshOpenRouterFreeModels, textToScreenplay as chatTextToScreenplay, screenplayToText as chatScreenplayToText, EmotionParser as ChatEmotionParser, } from '@aituber-onair/chat';
|
|
6
|
+
export { type ChatService, ChatServiceFactory, type ChatServiceOptions, type ChatServiceOptionsByProvider, type ChatProviderName, type OpenAICompatibleChatServiceOptions, type ChatServiceProvider, OpenAIChatService, OpenAIChatServiceProvider, OpenAICompatibleChatServiceProvider, GeminiChatService, GeminiChatServiceProvider, ClaudeChatService, ClaudeChatServiceProvider, ZAIChatService, ZAIChatServiceProvider, KimiChatService, KimiChatServiceProvider, type Message, type MessageWithVision, type VisionBlock, type VisionSupportLevel, type ChatType, type ToolDefinition, type ToolUseBlock, type ToolResultBlock, type ToolChatCompletion, type MCPServerConfig, type ChatResponseLength, CHAT_RESPONSE_LENGTH, MAX_TOKENS_BY_LENGTH, DEFAULT_MAX_TOKENS, DEFAULT_VISION_PROMPT, getMaxTokensForResponseLength, MODEL_GPT_5_NANO, MODEL_GPT_5_MINI, MODEL_GPT_5, MODEL_GPT_5_1, MODEL_GPT_5_4, MODEL_GPT_5_4_MINI, MODEL_GPT_5_4_NANO, MODEL_GPT_5_4_PRO, MODEL_GPT_4_1, MODEL_GPT_4_1_MINI, MODEL_GPT_4_1_NANO, MODEL_GPT_4O, MODEL_GPT_4O_MINI, MODEL_O3_MINI, MODEL_O1, MODEL_O1_MINI, type OpenAIReasoningEffort, GPT_5_MODELS, isGPT5Model, isResponsesOnlyGPT5Model, allowsReasoningXHigh, allowsReasoningLow, allowsReasoningMinimal, allowsReasoningNone, getDefaultReasoningEffortForGPT5Model, VISION_SUPPORTED_MODELS, ENDPOINT_OPENAI_CHAT_COMPLETIONS_API, ENDPOINT_OPENAI_RESPONSES_API, GPT5_PRESETS, type GPT5PresetKey, MODEL_GEMINI_3_1_PRO_PREVIEW, MODEL_GEMINI_3_1_FLASH_LITE_PREVIEW, MODEL_GEMINI_3_PRO_PREVIEW, MODEL_GEMINI_3_FLASH_PREVIEW, MODEL_GEMINI_2_5_PRO, MODEL_GEMINI_2_5_FLASH, MODEL_GEMINI_2_5_FLASH_LITE, MODEL_GEMINI_2_5_FLASH_LITE_PREVIEW_06_17, MODEL_GEMINI_2_0_FLASH, MODEL_GEMINI_2_0_FLASH_LITE, GEMINI_VISION_SUPPORTED_MODELS, ENDPOINT_GEMINI_API, MODEL_CLAUDE_4_6_SONNET, MODEL_CLAUDE_3_HAIKU, MODEL_CLAUDE_3_5_HAIKU, MODEL_CLAUDE_3_5_SONNET, MODEL_CLAUDE_3_7_SONNET, MODEL_CLAUDE_4_SONNET, MODEL_CLAUDE_4_OPUS, MODEL_CLAUDE_4_5_OPUS, MODEL_CLAUDE_4_6_OPUS, MODEL_CLAUDE_4_5_SONNET, MODEL_CLAUDE_4_5_HAIKU, CLAUDE_VISION_SUPPORTED_MODELS, ENDPOINT_CLAUDE_API, MODEL_GLM_5, MODEL_GLM_5_TURBO, MODEL_GLM_4_7, MODEL_GLM_4_7_FLASHX, MODEL_GLM_4_7_FLASH, MODEL_GLM_4_6, MODEL_GLM_4_6V, MODEL_GLM_4_6V_FLASHX, MODEL_GLM_4_6V_FLASH, ZAI_VISION_SUPPORTED_MODELS, ENDPOINT_ZAI_CHAT_COMPLETIONS_API, MODEL_KIMI_K2_5, KIMI_VISION_SUPPORTED_MODELS, ENDPOINT_KIMI_CHAT_COMPLETIONS_API, MODEL_GPT_OSS_20B_FREE, MODEL_MOONSHOTAI_KIMI_K2_5, MODEL_OPENAI_GPT_5_1_CHAT, MODEL_OPENAI_GPT_5_1_CODEX, MODEL_OPENAI_GPT_5_MINI, MODEL_OPENAI_GPT_5_NANO, MODEL_OPENAI_GPT_4O, MODEL_OPENAI_GPT_4_1_MINI, MODEL_OPENAI_GPT_4_1_NANO, MODEL_ANTHROPIC_CLAUDE_OPUS_4, MODEL_ANTHROPIC_CLAUDE_SONNET_4, MODEL_ANTHROPIC_CLAUDE_3_7_SONNET, MODEL_ANTHROPIC_CLAUDE_3_5_SONNET, MODEL_ANTHROPIC_CLAUDE_4_5_HAIKU, MODEL_GOOGLE_GEMINI_2_5_PRO, MODEL_GOOGLE_GEMINI_2_5_FLASH, MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025, MODEL_ZAI_GLM_4_7_FLASH, MODEL_ZAI_GLM_4_5_AIR, MODEL_ZAI_GLM_4_5_AIR_FREE, OPENROUTER_FREE_MODELS, OPENROUTER_VISION_SUPPORTED_MODELS, ENDPOINT_OPENROUTER_API, type RefreshOpenRouterFreeModelsOptions, type RefreshOpenRouterFreeModelsFailure, type RefreshOpenRouterFreeModelsResult, refreshOpenRouterFreeModels, textToScreenplay as chatTextToScreenplay, screenplayToText as chatScreenplayToText, EmotionParser as ChatEmotionParser, } from '@aituber-onair/chat';
|
|
7
7
|
export { EventEmitter } from './core/EventEmitter';
|
|
8
8
|
export type { MemoryOptions, Summarizer } from './core/MemoryManager';
|
|
9
9
|
export { MemoryManager } from './core/MemoryManager';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,2BAA2B;AAC3B,cAAc,SAAS,CAAC;AAExB,iFAAiF;AACjF,OAAO,EAGL,kBAAkB;AAOlB,kBAAkB;AAClB,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC;AACnC,kBAAkB;AAClB,iBAAiB,EACjB,yBAAyB;AACzB,kBAAkB;AAClB,iBAAiB,EACjB,yBAAyB;AACzB,gBAAgB;AAChB,cAAc,EACd,sBAAsB;AACtB,gBAAgB;AAChB,eAAe,EACf,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aituber-onair/core",
|
|
3
|
-
"version": "0.23.
|
|
3
|
+
"version": "0.23.9",
|
|
4
4
|
"description": "Core library for AITuber OnAir providing voice synthesis and chat processing",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"author": "shinshin86 (https://github.com/shinshin86)",
|
|
22
22
|
"license": "MIT",
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@aituber-onair/chat": "^0.
|
|
24
|
+
"@aituber-onair/chat": "^0.22.0",
|
|
25
25
|
"@aituber-onair/voice": "^0.9.0"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|