@aituber-onair/chat 0.38.0 → 0.40.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 +19 -9
- package/README.md +18 -9
- package/dist/cjs/constants/kimi.d.ts +7 -0
- package/dist/cjs/constants/kimi.d.ts.map +1 -1
- package/dist/cjs/constants/kimi.js +21 -2
- package/dist/cjs/constants/kimi.js.map +1 -1
- package/dist/cjs/constants/openai.d.ts +3 -2
- package/dist/cjs/constants/openai.d.ts.map +1 -1
- package/dist/cjs/constants/openai.js +5 -1
- package/dist/cjs/constants/openai.js.map +1 -1
- package/dist/cjs/constants/openrouter.d.ts +3 -0
- package/dist/cjs/constants/openrouter.d.ts.map +1 -1
- package/dist/cjs/constants/openrouter.js +5 -1
- package/dist/cjs/constants/openrouter.js.map +1 -1
- package/dist/cjs/constants/zai.d.ts +1 -0
- package/dist/cjs/constants/zai.d.ts.map +1 -1
- package/dist/cjs/constants/zai.js +2 -1
- package/dist/cjs/constants/zai.js.map +1 -1
- package/dist/cjs/services/providers/kimi/KimiChatService.d.ts +1 -0
- package/dist/cjs/services/providers/kimi/KimiChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/kimi/KimiChatService.js +13 -1
- package/dist/cjs/services/providers/kimi/KimiChatService.js.map +1 -1
- package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.d.ts +2 -0
- package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.js +22 -5
- package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.js.map +1 -1
- package/dist/cjs/services/providers/openrouter/OpenRouterChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/openrouter/OpenRouterChatService.js +12 -4
- package/dist/cjs/services/providers/openrouter/OpenRouterChatService.js.map +1 -1
- package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.js +3 -0
- package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.js.map +1 -1
- package/dist/cjs/services/providers/zai/ZAIChatService.js +1 -1
- package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.js +2 -1
- package/dist/cjs/services/providers/zai/ZAIChatServiceProvider.js.map +1 -1
- package/dist/esm/constants/kimi.d.ts +7 -0
- package/dist/esm/constants/kimi.d.ts.map +1 -1
- package/dist/esm/constants/kimi.js +19 -1
- package/dist/esm/constants/kimi.js.map +1 -1
- package/dist/esm/constants/openai.d.ts +3 -2
- package/dist/esm/constants/openai.d.ts.map +1 -1
- package/dist/esm/constants/openai.js +5 -1
- package/dist/esm/constants/openai.js.map +1 -1
- package/dist/esm/constants/openrouter.d.ts +3 -0
- package/dist/esm/constants/openrouter.d.ts.map +1 -1
- package/dist/esm/constants/openrouter.js +4 -0
- package/dist/esm/constants/openrouter.js.map +1 -1
- package/dist/esm/constants/zai.d.ts +1 -0
- package/dist/esm/constants/zai.d.ts.map +1 -1
- package/dist/esm/constants/zai.js +1 -0
- package/dist/esm/constants/zai.js.map +1 -1
- package/dist/esm/services/providers/kimi/KimiChatService.d.ts +1 -0
- package/dist/esm/services/providers/kimi/KimiChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/kimi/KimiChatService.js +14 -2
- package/dist/esm/services/providers/kimi/KimiChatService.js.map +1 -1
- package/dist/esm/services/providers/kimi/KimiChatServiceProvider.d.ts +2 -0
- package/dist/esm/services/providers/kimi/KimiChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/kimi/KimiChatServiceProvider.js +23 -6
- package/dist/esm/services/providers/kimi/KimiChatServiceProvider.js.map +1 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatService.js +13 -5
- package/dist/esm/services/providers/openrouter/OpenRouterChatService.js.map +1 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.js +4 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.js.map +1 -1
- package/dist/esm/services/providers/zai/ZAIChatService.js +2 -2
- package/dist/esm/services/providers/zai/ZAIChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/zai/ZAIChatServiceProvider.js +3 -2
- package/dist/esm/services/providers/zai/ZAIChatServiceProvider.js.map +1 -1
- package/dist/umd/aituber-onair-chat.js +83 -10
- package/dist/umd/aituber-onair-chat.min.js +7 -7
- package/package.json +1 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { ENDPOINT_OPENROUTER_API, MODEL_GPT_OSS_20B_FREE, isOpenRouterVisionModel, isOpenRouterFreeModel, OPENROUTER_FREE_RATE_LIMIT_PER_MINUTE, } from '../../../constants/openrouter';
|
|
1
|
+
import { ENDPOINT_OPENROUTER_API, MODEL_GPT_OSS_20B_FREE, MODEL_ZAI_GLM_5_2, isOpenRouterVisionModel, isOpenRouterFreeModel, OPENROUTER_FREE_RATE_LIMIT_PER_MINUTE, } from '../../../constants/openrouter';
|
|
2
2
|
import { getMaxTokensForResponseLength, } from '../../../constants/chat';
|
|
3
3
|
import { ChatServiceHttpClient } from '../../../utils/chatServiceHttpClient';
|
|
4
4
|
import { buildOpenAICompatibleTools, parseOpenAICompatibleOneShot, parseOpenAICompatibleTextStream, parseOpenAICompatibleToolStream, processChatWithOptionalTools, } from '../../../utils';
|
|
5
|
-
const isTokenLimitUnsupportedModel = (model) => model.trim()
|
|
5
|
+
const isTokenLimitUnsupportedModel = (model) => [MODEL_GPT_OSS_20B_FREE, MODEL_ZAI_GLM_5_2].includes(model.trim());
|
|
6
|
+
const getDefaultReasoningEffort = (model) => model.trim() === MODEL_ZAI_GLM_5_2 ? 'none' : undefined;
|
|
6
7
|
/**
|
|
7
8
|
* OpenRouter implementation of ChatService
|
|
8
9
|
* OpenRouter provides access to multiple AI models through a unified API
|
|
@@ -198,23 +199,30 @@ export class OpenRouterChatService {
|
|
|
198
199
|
const tokenLimit = maxTokens !== undefined
|
|
199
200
|
? maxTokens
|
|
200
201
|
: getMaxTokensForResponseLength(this.responseLength);
|
|
201
|
-
// OpenRouter
|
|
202
|
+
// Some OpenRouter reasoning models can spend the whole budget on reasoning
|
|
203
|
+
// tokens before emitting visible content.
|
|
202
204
|
if (tokenLimit && isTokenLimitUnsupportedModel(model)) {
|
|
203
|
-
console.warn(`OpenRouter: Token limits are
|
|
205
|
+
console.warn(`OpenRouter: Token limits are disabled for ${model} because this model can return empty content when a token limit is set.`);
|
|
204
206
|
}
|
|
205
207
|
else if (tokenLimit) {
|
|
206
208
|
body.max_tokens = tokenLimit;
|
|
207
209
|
}
|
|
208
210
|
// Add OpenRouter reasoning control
|
|
211
|
+
const defaultReasoningEffort = getDefaultReasoningEffort(model);
|
|
209
212
|
if (this.reasoning_effort !== undefined ||
|
|
210
213
|
this.includeReasoning !== undefined ||
|
|
211
|
-
this.reasoningMaxTokens
|
|
214
|
+
this.reasoningMaxTokens ||
|
|
215
|
+
defaultReasoningEffort) {
|
|
212
216
|
body.reasoning = {};
|
|
213
217
|
if (this.reasoning_effort && this.reasoning_effort !== 'none') {
|
|
214
218
|
// OpenRouter uses 'low' as the minimum effort level, map 'minimal' to 'low'
|
|
215
219
|
const effort = this.reasoning_effort === 'minimal' ? 'low' : this.reasoning_effort;
|
|
216
220
|
body.reasoning.effort = effort;
|
|
217
221
|
}
|
|
222
|
+
else if (this.reasoning_effort === undefined &&
|
|
223
|
+
defaultReasoningEffort) {
|
|
224
|
+
body.reasoning.effort = defaultReasoningEffort;
|
|
225
|
+
}
|
|
218
226
|
// Default to exclude reasoning to avoid empty responses unless explicitly requested
|
|
219
227
|
if (this.reasoning_effort === 'none' || this.includeReasoning !== true) {
|
|
220
228
|
body.reasoning.exclude = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenRouterChatService.js","sourceRoot":"","sources":["../../../../../src/services/providers/openrouter/OpenRouterChatService.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,qCAAqC,GACtC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,6BAA6B,GAC9B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EACL,0BAA0B,EAC1B,4BAA4B,EAC5B,+BAA+B,EAC/B,+BAA+B,EAC/B,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AAExB,MAAM,4BAA4B,GAAG,CAAC,KAAa,EAAW,EAAE,CAC9D,KAAK,CAAC,IAAI,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"OpenRouterChatService.js","sourceRoot":"","sources":["../../../../../src/services/providers/openrouter/OpenRouterChatService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenRouterChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/openrouter/OpenRouterChatServiceProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"OpenRouterChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/openrouter/OpenRouterChatServiceProvider.ts"],"names":[],"mappings":"AAsCA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAIhC;;;GAGG;AACH,qBAAa,6BACX,YAAW,mBAAmB,CAAC,4BAA4B,CAAC;IAE5D;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,4BAA4B,GAAG,WAAW;IAmCrE;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;;OAIG;IACH,kBAAkB,IAAI,MAAM,EAAE;IA6C9B;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,cAAc,IAAI,OAAO;IAIzB,qBAAqB,IAAI,kBAAkB;IAQ3C;;;;OAIG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI9C,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB;IAIhE;;;OAGG;IACH,aAAa,IAAI,MAAM,EAAE;IAIzB;;;;OAIG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGpC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MODEL_GPT_OSS_20B_FREE, MODEL_MOONSHOTAI_KIMI_K2_5, MODEL_MOONSHOTAI_KIMI_LATEST, MODEL_OPENROUTER_AUTO, MODEL_OPENAI_GPT_LATEST, MODEL_OPENAI_GPT_MINI_LATEST, MODEL_OPENAI_GPT_5_5_PRO, MODEL_OPENAI_GPT_5_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_SONNET_LATEST, MODEL_ANTHROPIC_CLAUDE_HAIKU_LATEST, 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_PRO_LATEST, MODEL_GOOGLE_GEMINI_FLASH_LATEST, 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, isOpenRouterFreeModel, isOpenRouterVisionModel, } from '../../../constants/openrouter';
|
|
1
|
+
import { MODEL_GPT_OSS_20B_FREE, MODEL_MOONSHOTAI_KIMI_K2_5, MODEL_MOONSHOTAI_KIMI_LATEST, MODEL_OPENROUTER_AUTO, MODEL_OPENROUTER_FUSION, MODEL_OPENAI_GPT_LATEST, MODEL_MOONSHOTAI_KIMI_K2_7_CODE, MODEL_OPENAI_GPT_MINI_LATEST, MODEL_OPENAI_GPT_5_5_PRO, MODEL_OPENAI_GPT_5_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_SONNET_LATEST, MODEL_ANTHROPIC_CLAUDE_HAIKU_LATEST, 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_PRO_LATEST, MODEL_GOOGLE_GEMINI_FLASH_LATEST, 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_5_2, MODEL_ZAI_GLM_4_7_FLASH, MODEL_ZAI_GLM_4_5_AIR, MODEL_ZAI_GLM_4_5_AIR_FREE, OPENROUTER_FREE_MODELS, isOpenRouterFreeModel, isOpenRouterVisionModel, } from '../../../constants/openrouter';
|
|
2
2
|
import { OpenRouterChatService } from './OpenRouterChatService';
|
|
3
3
|
import { resolveVisionModel } from '../../../utils';
|
|
4
4
|
/**
|
|
@@ -45,6 +45,7 @@ export class OpenRouterChatServiceProvider {
|
|
|
45
45
|
return [
|
|
46
46
|
// OpenRouter routing
|
|
47
47
|
MODEL_OPENROUTER_AUTO,
|
|
48
|
+
MODEL_OPENROUTER_FUSION,
|
|
48
49
|
// Free models
|
|
49
50
|
MODEL_GPT_OSS_20B_FREE,
|
|
50
51
|
MODEL_ZAI_GLM_4_5_AIR_FREE,
|
|
@@ -75,10 +76,12 @@ export class OpenRouterChatServiceProvider {
|
|
|
75
76
|
MODEL_GOOGLE_GEMINI_2_5_FLASH,
|
|
76
77
|
MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025,
|
|
77
78
|
// Z.ai models
|
|
79
|
+
MODEL_ZAI_GLM_5_2,
|
|
78
80
|
MODEL_ZAI_GLM_4_7_FLASH,
|
|
79
81
|
MODEL_ZAI_GLM_4_5_AIR,
|
|
80
82
|
// Other models
|
|
81
83
|
MODEL_MOONSHOTAI_KIMI_LATEST,
|
|
84
|
+
MODEL_MOONSHOTAI_KIMI_K2_7_CODE,
|
|
82
85
|
MODEL_MOONSHOTAI_KIMI_K2_5,
|
|
83
86
|
];
|
|
84
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenRouterChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/openrouter/OpenRouterChatServiceProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OpenRouterChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/openrouter/OpenRouterChatServiceProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ENDPOINT_ZAI_CHAT_COMPLETIONS_API,
|
|
1
|
+
import { ENDPOINT_ZAI_CHAT_COMPLETIONS_API, MODEL_GLM_5_2, MODEL_GLM_4_6V_FLASH, isZaiToolStreamModel, isZaiVisionModel, } from '../../../constants/zai';
|
|
2
2
|
import { getMaxTokensForResponseLength, } from '../../../constants/chat';
|
|
3
3
|
import { ChatServiceHttpClient } from '../../../utils/chatServiceHttpClient';
|
|
4
4
|
import { buildOpenAICompatibleTools, parseOpenAICompatibleOneShot, parseOpenAICompatibleTextStream, parseOpenAICompatibleToolStream, processChatWithOptionalTools, } from '../../../utils';
|
|
@@ -12,7 +12,7 @@ export class ZAIChatService {
|
|
|
12
12
|
* @param model Name of the model to use
|
|
13
13
|
* @param visionModel Name of the vision model
|
|
14
14
|
*/
|
|
15
|
-
constructor(apiKey, model =
|
|
15
|
+
constructor(apiKey, model = MODEL_GLM_5_2, visionModel = MODEL_GLM_4_6V_FLASH, tools, endpoint = ENDPOINT_ZAI_CHAT_COMPLETIONS_API, responseLength, responseFormat, thinking) {
|
|
16
16
|
/** Provider name */
|
|
17
17
|
this.provider = 'zai';
|
|
18
18
|
this.apiKey = apiKey;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZAIChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/zai/ZAIChatServiceProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ZAIChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/zai/ZAIChatServiceProvider.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAIhC;;GAEG;AACH,qBAAa,sBACX,YAAW,mBAAmB,CAAC,qBAAqB,CAAC;IAErD;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,qBAAqB,GAAG,WAAW;IA2B9D;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAe9B;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB,qBAAqB,IAAI,kBAAkB;IAI3C;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI9C,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB;CAGjE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ENDPOINT_ZAI_CHAT_COMPLETIONS_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, isZaiVisionModel, } from '../../../constants/zai';
|
|
1
|
+
import { ENDPOINT_ZAI_CHAT_COMPLETIONS_API, MODEL_GLM_5_2, 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, isZaiVisionModel, } from '../../../constants/zai';
|
|
2
2
|
import { ZAIChatService } from './ZAIChatService';
|
|
3
3
|
import { resolveVisionModel } from '../../../utils';
|
|
4
4
|
/**
|
|
@@ -33,6 +33,7 @@ export class ZAIChatServiceProvider {
|
|
|
33
33
|
*/
|
|
34
34
|
getSupportedModels() {
|
|
35
35
|
return [
|
|
36
|
+
MODEL_GLM_5_2,
|
|
36
37
|
MODEL_GLM_5,
|
|
37
38
|
MODEL_GLM_5_TURBO,
|
|
38
39
|
MODEL_GLM_4_7,
|
|
@@ -48,7 +49,7 @@ export class ZAIChatServiceProvider {
|
|
|
48
49
|
* Get the default model
|
|
49
50
|
*/
|
|
50
51
|
getDefaultModel() {
|
|
51
|
-
return
|
|
52
|
+
return MODEL_GLM_5_2;
|
|
52
53
|
}
|
|
53
54
|
/**
|
|
54
55
|
* Get the default vision model
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZAIChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/zai/ZAIChatServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAOlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAGjC;;OAEG;IACH,iBAAiB,CAAC,OAA8B;QAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACtD,MAAM,WAAW,GAAG,kBAAkB,CAAC;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,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,IAAI,EAAE,UAAmB,EAAE,CAAC;QAEnE,OAAO,IAAI,cAAc,CACvB,OAAO,CAAC,MAAM,EACd,KAAK,EACL,WAAW,EACX,KAAK,EACL,OAAO,CAAC,QAAQ,IAAI,iCAAiC,EACrD,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,cAAc,EACtB,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO;YACL,WAAW;YACX,iBAAiB;YACjB,aAAa;YACb,oBAAoB;YACpB,mBAAmB;YACnB,aAAa;YACb,cAAc;YACd,qBAAqB;YACrB,oBAAoB;SACrB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,qBAAqB;QAC3B,OAAO,oBAAoB,CAAC;IAC9B,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,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACjC,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"}
|
|
1
|
+
{"version":3,"file":"ZAIChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/zai/ZAIChatServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAOlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAGjC;;OAEG;IACH,iBAAiB,CAAC,OAA8B;QAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACtD,MAAM,WAAW,GAAG,kBAAkB,CAAC;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,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,IAAI,EAAE,UAAmB,EAAE,CAAC;QAEnE,OAAO,IAAI,cAAc,CACvB,OAAO,CAAC,MAAM,EACd,KAAK,EACL,WAAW,EACX,KAAK,EACL,OAAO,CAAC,QAAQ,IAAI,iCAAiC,EACrD,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,cAAc,EACtB,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO;YACL,aAAa;YACb,WAAW;YACX,iBAAiB;YACjB,aAAa;YACb,oBAAoB;YACpB,mBAAmB;YACnB,aAAa;YACb,cAAc;YACd,qBAAqB;YACrB,oBAAoB;SACrB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,qBAAqB;QAC3B,OAAO,oBAAoB,CAAC;IAC9B,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,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACjC,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"}
|
|
@@ -59,6 +59,7 @@ var AITuberOnAirChat = (() => {
|
|
|
59
59
|
GeminiNanoChatService: () => GeminiNanoChatService,
|
|
60
60
|
GeminiNanoChatServiceProvider: () => GeminiNanoChatServiceProvider,
|
|
61
61
|
HttpError: () => HttpError,
|
|
62
|
+
KIMI_THINKING_REQUIRED_MODELS: () => KIMI_THINKING_REQUIRED_MODELS,
|
|
62
63
|
KIMI_VISION_SUPPORTED_MODELS: () => KIMI_VISION_SUPPORTED_MODELS,
|
|
63
64
|
KimiChatService: () => KimiChatService,
|
|
64
65
|
KimiChatServiceProvider: () => KimiChatServiceProvider,
|
|
@@ -112,6 +113,7 @@ var AITuberOnAirChat = (() => {
|
|
|
112
113
|
MODEL_GLM_4_7_FLASH: () => MODEL_GLM_4_7_FLASH,
|
|
113
114
|
MODEL_GLM_4_7_FLASHX: () => MODEL_GLM_4_7_FLASHX,
|
|
114
115
|
MODEL_GLM_5: () => MODEL_GLM_5,
|
|
116
|
+
MODEL_GLM_5_2: () => MODEL_GLM_5_2,
|
|
115
117
|
MODEL_GLM_5_TURBO: () => MODEL_GLM_5_TURBO,
|
|
116
118
|
MODEL_GOOGLE_GEMINI_2_5_FLASH: () => MODEL_GOOGLE_GEMINI_2_5_FLASH,
|
|
117
119
|
MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025: () => MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025,
|
|
@@ -140,6 +142,8 @@ var AITuberOnAirChat = (() => {
|
|
|
140
142
|
MODEL_GROK_4_3: () => MODEL_GROK_4_3,
|
|
141
143
|
MODEL_KIMI_K2_5: () => MODEL_KIMI_K2_5,
|
|
142
144
|
MODEL_KIMI_K2_6: () => MODEL_KIMI_K2_6,
|
|
145
|
+
MODEL_KIMI_K2_7_CODE: () => MODEL_KIMI_K2_7_CODE,
|
|
146
|
+
MODEL_KIMI_K2_7_CODE_HIGHSPEED: () => MODEL_KIMI_K2_7_CODE_HIGHSPEED,
|
|
143
147
|
MODEL_MISTRAL_LARGE_2512: () => MODEL_MISTRAL_LARGE_2512,
|
|
144
148
|
MODEL_MISTRAL_LARGE_LATEST: () => MODEL_MISTRAL_LARGE_LATEST,
|
|
145
149
|
MODEL_MISTRAL_MEDIUM_2508: () => MODEL_MISTRAL_MEDIUM_2508,
|
|
@@ -147,6 +151,7 @@ var AITuberOnAirChat = (() => {
|
|
|
147
151
|
MODEL_MISTRAL_SMALL_2603: () => MODEL_MISTRAL_SMALL_2603,
|
|
148
152
|
MODEL_MISTRAL_SMALL_LATEST: () => MODEL_MISTRAL_SMALL_LATEST,
|
|
149
153
|
MODEL_MOONSHOTAI_KIMI_K2_5: () => MODEL_MOONSHOTAI_KIMI_K2_5,
|
|
154
|
+
MODEL_MOONSHOTAI_KIMI_K2_7_CODE: () => MODEL_MOONSHOTAI_KIMI_K2_7_CODE,
|
|
150
155
|
MODEL_MOONSHOTAI_KIMI_LATEST: () => MODEL_MOONSHOTAI_KIMI_LATEST,
|
|
151
156
|
MODEL_O1: () => MODEL_O1,
|
|
152
157
|
MODEL_O1_MINI: () => MODEL_O1_MINI,
|
|
@@ -163,9 +168,11 @@ var AITuberOnAirChat = (() => {
|
|
|
163
168
|
MODEL_OPENAI_GPT_LATEST: () => MODEL_OPENAI_GPT_LATEST,
|
|
164
169
|
MODEL_OPENAI_GPT_MINI_LATEST: () => MODEL_OPENAI_GPT_MINI_LATEST,
|
|
165
170
|
MODEL_OPENROUTER_AUTO: () => MODEL_OPENROUTER_AUTO,
|
|
171
|
+
MODEL_OPENROUTER_FUSION: () => MODEL_OPENROUTER_FUSION,
|
|
166
172
|
MODEL_ZAI_GLM_4_5_AIR: () => MODEL_ZAI_GLM_4_5_AIR,
|
|
167
173
|
MODEL_ZAI_GLM_4_5_AIR_FREE: () => MODEL_ZAI_GLM_4_5_AIR_FREE,
|
|
168
174
|
MODEL_ZAI_GLM_4_7_FLASH: () => MODEL_ZAI_GLM_4_7_FLASH,
|
|
175
|
+
MODEL_ZAI_GLM_5_2: () => MODEL_ZAI_GLM_5_2,
|
|
169
176
|
MistralChatService: () => MistralChatService,
|
|
170
177
|
MistralChatServiceProvider: () => MistralChatServiceProvider,
|
|
171
178
|
OPENROUTER_CREDITS_THRESHOLD: () => OPENROUTER_CREDITS_THRESHOLD,
|
|
@@ -196,6 +203,7 @@ var AITuberOnAirChat = (() => {
|
|
|
196
203
|
getMaxTokensForResponseLength: () => getMaxTokensForResponseLength,
|
|
197
204
|
installGASFetch: () => installGASFetch,
|
|
198
205
|
isGPT5Model: () => isGPT5Model,
|
|
206
|
+
isKimiThinkingRequiredModel: () => isKimiThinkingRequiredModel,
|
|
199
207
|
isKimiVisionModel: () => isKimiVisionModel,
|
|
200
208
|
isMistralReasoningEffort: () => isMistralReasoningEffort,
|
|
201
209
|
isMistralReasoningEffortModel: () => isMistralReasoningEffortModel,
|
|
@@ -291,6 +299,9 @@ var AITuberOnAirChat = (() => {
|
|
|
291
299
|
if (allowsReasoningNone(model)) {
|
|
292
300
|
return "none";
|
|
293
301
|
}
|
|
302
|
+
if (allowsReasoningMinimal(model)) {
|
|
303
|
+
return "minimal";
|
|
304
|
+
}
|
|
294
305
|
return "medium";
|
|
295
306
|
}
|
|
296
307
|
|
|
@@ -360,7 +371,9 @@ var AITuberOnAirChat = (() => {
|
|
|
360
371
|
// src/constants/openrouter.ts
|
|
361
372
|
var ENDPOINT_OPENROUTER_API = "https://openrouter.ai/api/v1/chat/completions";
|
|
362
373
|
var MODEL_OPENROUTER_AUTO = "openrouter/auto";
|
|
374
|
+
var MODEL_OPENROUTER_FUSION = "openrouter/fusion";
|
|
363
375
|
var MODEL_GPT_OSS_20B_FREE = "openai/gpt-oss-20b:free";
|
|
376
|
+
var MODEL_MOONSHOTAI_KIMI_K2_7_CODE = "moonshotai/kimi-k2.7-code";
|
|
364
377
|
var MODEL_MOONSHOTAI_KIMI_K2_5 = "moonshotai/kimi-k2.5";
|
|
365
378
|
var MODEL_MOONSHOTAI_KIMI_LATEST = "~moonshotai/kimi-latest";
|
|
366
379
|
var MODEL_OPENAI_GPT_LATEST = "~openai/gpt-latest";
|
|
@@ -386,6 +399,7 @@ var AITuberOnAirChat = (() => {
|
|
|
386
399
|
var MODEL_GOOGLE_GEMINI_2_5_PRO = "google/gemini-2.5-pro";
|
|
387
400
|
var MODEL_GOOGLE_GEMINI_2_5_FLASH = "google/gemini-2.5-flash";
|
|
388
401
|
var MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025 = "google/gemini-2.5-flash-lite-preview-09-2025";
|
|
402
|
+
var MODEL_ZAI_GLM_5_2 = "z-ai/glm-5.2";
|
|
389
403
|
var MODEL_ZAI_GLM_4_7_FLASH = "z-ai/glm-4.7-flash";
|
|
390
404
|
var MODEL_ZAI_GLM_4_5_AIR = "z-ai/glm-4.5-air";
|
|
391
405
|
var MODEL_ZAI_GLM_4_5_AIR_FREE = "z-ai/glm-4.5-air:free";
|
|
@@ -417,6 +431,7 @@ var AITuberOnAirChat = (() => {
|
|
|
417
431
|
MODEL_GOOGLE_GEMINI_2_5_PRO,
|
|
418
432
|
MODEL_GOOGLE_GEMINI_2_5_FLASH,
|
|
419
433
|
MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025,
|
|
434
|
+
MODEL_MOONSHOTAI_KIMI_K2_7_CODE,
|
|
420
435
|
MODEL_MOONSHOTAI_KIMI_K2_5
|
|
421
436
|
];
|
|
422
437
|
var OPENROUTER_FREE_RATE_LIMIT_PER_MINUTE = 20;
|
|
@@ -434,6 +449,7 @@ var AITuberOnAirChat = (() => {
|
|
|
434
449
|
|
|
435
450
|
// src/constants/zai.ts
|
|
436
451
|
var ENDPOINT_ZAI_CHAT_COMPLETIONS_API = "https://api.z.ai/api/paas/v4/chat/completions";
|
|
452
|
+
var MODEL_GLM_5_2 = "glm-5.2";
|
|
437
453
|
var MODEL_GLM_5 = "glm-5";
|
|
438
454
|
var MODEL_GLM_5_TURBO = "glm-5-turbo";
|
|
439
455
|
var MODEL_GLM_4_7 = "glm-4.7";
|
|
@@ -475,12 +491,26 @@ var AITuberOnAirChat = (() => {
|
|
|
475
491
|
|
|
476
492
|
// src/constants/kimi.ts
|
|
477
493
|
var ENDPOINT_KIMI_CHAT_COMPLETIONS_API = "https://api.moonshot.ai/v1/chat/completions";
|
|
494
|
+
var MODEL_KIMI_K2_7_CODE = "kimi-k2.7-code";
|
|
495
|
+
var MODEL_KIMI_K2_7_CODE_HIGHSPEED = "kimi-k2.7-code-highspeed";
|
|
478
496
|
var MODEL_KIMI_K2_6 = "kimi-k2.6";
|
|
479
497
|
var MODEL_KIMI_K2_5 = "kimi-k2.5";
|
|
480
|
-
var KIMI_VISION_SUPPORTED_MODELS = [
|
|
498
|
+
var KIMI_VISION_SUPPORTED_MODELS = [
|
|
499
|
+
MODEL_KIMI_K2_7_CODE,
|
|
500
|
+
MODEL_KIMI_K2_7_CODE_HIGHSPEED,
|
|
501
|
+
MODEL_KIMI_K2_6,
|
|
502
|
+
MODEL_KIMI_K2_5
|
|
503
|
+
];
|
|
504
|
+
var KIMI_THINKING_REQUIRED_MODELS = [
|
|
505
|
+
MODEL_KIMI_K2_7_CODE,
|
|
506
|
+
MODEL_KIMI_K2_7_CODE_HIGHSPEED
|
|
507
|
+
];
|
|
481
508
|
function isKimiVisionModel(model) {
|
|
482
509
|
return KIMI_VISION_SUPPORTED_MODELS.includes(model);
|
|
483
510
|
}
|
|
511
|
+
function isKimiThinkingRequiredModel(model) {
|
|
512
|
+
return KIMI_THINKING_REQUIRED_MODELS.includes(model);
|
|
513
|
+
}
|
|
484
514
|
|
|
485
515
|
// src/constants/deepseek.ts
|
|
486
516
|
var DEEPSEEK_API_BASE_URL = "https://api.deepseek.com";
|
|
@@ -3518,7 +3548,7 @@ If it's in another language, summarize in that language.
|
|
|
3518
3548
|
if (this.responseFormat) {
|
|
3519
3549
|
body.response_format = this.responseFormat;
|
|
3520
3550
|
}
|
|
3521
|
-
const effectiveThinking = this.
|
|
3551
|
+
const effectiveThinking = this.resolveEffectiveThinking(model);
|
|
3522
3552
|
if (effectiveThinking) {
|
|
3523
3553
|
if (this.isSelfHostedEndpoint()) {
|
|
3524
3554
|
if (effectiveThinking.type === "disabled") {
|
|
@@ -3541,6 +3571,20 @@ If it's in another language, summarize in that language.
|
|
|
3541
3571
|
normalizeEndpoint(value) {
|
|
3542
3572
|
return value.replace(/\/+$/, "");
|
|
3543
3573
|
}
|
|
3574
|
+
resolveEffectiveThinking(model) {
|
|
3575
|
+
if (isKimiThinkingRequiredModel(model)) {
|
|
3576
|
+
if (this.thinking?.type === "disabled") {
|
|
3577
|
+
throw new Error(
|
|
3578
|
+
`Model ${model} requires thinking mode and does not support thinking: disabled.`
|
|
3579
|
+
);
|
|
3580
|
+
}
|
|
3581
|
+
return this.thinking ?? { type: "enabled" };
|
|
3582
|
+
}
|
|
3583
|
+
if (this.tools.length > 0) {
|
|
3584
|
+
return { type: "disabled" };
|
|
3585
|
+
}
|
|
3586
|
+
return this.thinking;
|
|
3587
|
+
}
|
|
3544
3588
|
buildToolsDefinition() {
|
|
3545
3589
|
return buildOpenAICompatibleTools(this.tools, "chat-completions");
|
|
3546
3590
|
}
|
|
@@ -3567,6 +3611,9 @@ If it's in another language, summarize in that language.
|
|
|
3567
3611
|
|
|
3568
3612
|
// src/services/providers/kimi/KimiChatServiceProvider.ts
|
|
3569
3613
|
var KimiChatServiceProvider = class {
|
|
3614
|
+
constructor() {
|
|
3615
|
+
this.defaultThinking = { type: "enabled" };
|
|
3616
|
+
}
|
|
3570
3617
|
/**
|
|
3571
3618
|
* Create a chat service instance
|
|
3572
3619
|
*/
|
|
@@ -3582,8 +3629,7 @@ If it's in another language, summarize in that language.
|
|
|
3582
3629
|
validate: "explicit"
|
|
3583
3630
|
});
|
|
3584
3631
|
const tools = options.tools;
|
|
3585
|
-
const
|
|
3586
|
-
const thinking = tools && tools.length > 0 ? { type: "disabled" } : defaultThinking;
|
|
3632
|
+
const thinking = this.resolveThinking(model, tools, options.thinking);
|
|
3587
3633
|
return new KimiChatService(
|
|
3588
3634
|
options.apiKey,
|
|
3589
3635
|
model,
|
|
@@ -3605,7 +3651,12 @@ If it's in another language, summarize in that language.
|
|
|
3605
3651
|
* Get the list of supported models
|
|
3606
3652
|
*/
|
|
3607
3653
|
getSupportedModels() {
|
|
3608
|
-
return [
|
|
3654
|
+
return [
|
|
3655
|
+
MODEL_KIMI_K2_7_CODE,
|
|
3656
|
+
MODEL_KIMI_K2_7_CODE_HIGHSPEED,
|
|
3657
|
+
MODEL_KIMI_K2_6,
|
|
3658
|
+
MODEL_KIMI_K2_5
|
|
3659
|
+
];
|
|
3609
3660
|
}
|
|
3610
3661
|
/**
|
|
3611
3662
|
* Get the default model
|
|
@@ -3653,6 +3704,20 @@ If it's in another language, summarize in that language.
|
|
|
3653
3704
|
normalizeEndpoint(value) {
|
|
3654
3705
|
return value.replace(/\/+$/, "");
|
|
3655
3706
|
}
|
|
3707
|
+
resolveThinking(model, tools, thinking) {
|
|
3708
|
+
if (isKimiThinkingRequiredModel(model)) {
|
|
3709
|
+
if (thinking?.type === "disabled") {
|
|
3710
|
+
throw new Error(
|
|
3711
|
+
`Model ${model} requires thinking mode and does not support thinking: disabled.`
|
|
3712
|
+
);
|
|
3713
|
+
}
|
|
3714
|
+
return thinking ?? this.defaultThinking;
|
|
3715
|
+
}
|
|
3716
|
+
if (tools && tools.length > 0) {
|
|
3717
|
+
return { type: "disabled" };
|
|
3718
|
+
}
|
|
3719
|
+
return thinking ?? this.defaultThinking;
|
|
3720
|
+
}
|
|
3656
3721
|
};
|
|
3657
3722
|
|
|
3658
3723
|
// src/services/providers/mistral/MistralChatService.ts
|
|
@@ -3984,7 +4049,8 @@ If it's in another language, summarize in that language.
|
|
|
3984
4049
|
};
|
|
3985
4050
|
|
|
3986
4051
|
// src/services/providers/openrouter/OpenRouterChatService.ts
|
|
3987
|
-
var isTokenLimitUnsupportedModel = (model) => model.trim()
|
|
4052
|
+
var isTokenLimitUnsupportedModel = (model) => [MODEL_GPT_OSS_20B_FREE, MODEL_ZAI_GLM_5_2].includes(model.trim());
|
|
4053
|
+
var getDefaultReasoningEffort = (model) => model.trim() === MODEL_ZAI_GLM_5_2 ? "none" : void 0;
|
|
3988
4054
|
var OpenRouterChatService = class {
|
|
3989
4055
|
/**
|
|
3990
4056
|
* Constructor
|
|
@@ -4180,16 +4246,19 @@ If it's in another language, summarize in that language.
|
|
|
4180
4246
|
const tokenLimit = maxTokens !== void 0 ? maxTokens : getMaxTokensForResponseLength(this.responseLength);
|
|
4181
4247
|
if (tokenLimit && isTokenLimitUnsupportedModel(model)) {
|
|
4182
4248
|
console.warn(
|
|
4183
|
-
`OpenRouter: Token limits are
|
|
4249
|
+
`OpenRouter: Token limits are disabled for ${model} because this model can return empty content when a token limit is set.`
|
|
4184
4250
|
);
|
|
4185
4251
|
} else if (tokenLimit) {
|
|
4186
4252
|
body.max_tokens = tokenLimit;
|
|
4187
4253
|
}
|
|
4188
|
-
|
|
4254
|
+
const defaultReasoningEffort = getDefaultReasoningEffort(model);
|
|
4255
|
+
if (this.reasoning_effort !== void 0 || this.includeReasoning !== void 0 || this.reasoningMaxTokens || defaultReasoningEffort) {
|
|
4189
4256
|
body.reasoning = {};
|
|
4190
4257
|
if (this.reasoning_effort && this.reasoning_effort !== "none") {
|
|
4191
4258
|
const effort = this.reasoning_effort === "minimal" ? "low" : this.reasoning_effort;
|
|
4192
4259
|
body.reasoning.effort = effort;
|
|
4260
|
+
} else if (this.reasoning_effort === void 0 && defaultReasoningEffort) {
|
|
4261
|
+
body.reasoning.effort = defaultReasoningEffort;
|
|
4193
4262
|
}
|
|
4194
4263
|
if (this.reasoning_effort === "none" || this.includeReasoning !== true) {
|
|
4195
4264
|
body.reasoning.exclude = true;
|
|
@@ -4280,6 +4349,7 @@ If it's in another language, summarize in that language.
|
|
|
4280
4349
|
return [
|
|
4281
4350
|
// OpenRouter routing
|
|
4282
4351
|
MODEL_OPENROUTER_AUTO,
|
|
4352
|
+
MODEL_OPENROUTER_FUSION,
|
|
4283
4353
|
// Free models
|
|
4284
4354
|
MODEL_GPT_OSS_20B_FREE,
|
|
4285
4355
|
MODEL_ZAI_GLM_4_5_AIR_FREE,
|
|
@@ -4310,10 +4380,12 @@ If it's in another language, summarize in that language.
|
|
|
4310
4380
|
MODEL_GOOGLE_GEMINI_2_5_FLASH,
|
|
4311
4381
|
MODEL_GOOGLE_GEMINI_2_5_FLASH_LITE_PREVIEW_09_2025,
|
|
4312
4382
|
// Z.ai models
|
|
4383
|
+
MODEL_ZAI_GLM_5_2,
|
|
4313
4384
|
MODEL_ZAI_GLM_4_7_FLASH,
|
|
4314
4385
|
MODEL_ZAI_GLM_4_5_AIR,
|
|
4315
4386
|
// Other models
|
|
4316
4387
|
MODEL_MOONSHOTAI_KIMI_LATEST,
|
|
4388
|
+
MODEL_MOONSHOTAI_KIMI_K2_7_CODE,
|
|
4317
4389
|
MODEL_MOONSHOTAI_KIMI_K2_5
|
|
4318
4390
|
];
|
|
4319
4391
|
}
|
|
@@ -4592,7 +4664,7 @@ If it's in another language, summarize in that language.
|
|
|
4592
4664
|
* @param model Name of the model to use
|
|
4593
4665
|
* @param visionModel Name of the vision model
|
|
4594
4666
|
*/
|
|
4595
|
-
constructor(apiKey, model =
|
|
4667
|
+
constructor(apiKey, model = MODEL_GLM_5_2, visionModel = MODEL_GLM_4_6V_FLASH, tools, endpoint = ENDPOINT_ZAI_CHAT_COMPLETIONS_API, responseLength, responseFormat, thinking) {
|
|
4596
4668
|
/** Provider name */
|
|
4597
4669
|
this.provider = "zai";
|
|
4598
4670
|
this.apiKey = apiKey;
|
|
@@ -4779,6 +4851,7 @@ If it's in another language, summarize in that language.
|
|
|
4779
4851
|
*/
|
|
4780
4852
|
getSupportedModels() {
|
|
4781
4853
|
return [
|
|
4854
|
+
MODEL_GLM_5_2,
|
|
4782
4855
|
MODEL_GLM_5,
|
|
4783
4856
|
MODEL_GLM_5_TURBO,
|
|
4784
4857
|
MODEL_GLM_4_7,
|
|
@@ -4794,7 +4867,7 @@ If it's in another language, summarize in that language.
|
|
|
4794
4867
|
* Get the default model
|
|
4795
4868
|
*/
|
|
4796
4869
|
getDefaultModel() {
|
|
4797
|
-
return
|
|
4870
|
+
return MODEL_GLM_5_2;
|
|
4798
4871
|
}
|
|
4799
4872
|
/**
|
|
4800
4873
|
* Get the default vision model
|