@aituber-onair/chat 0.48.0 → 0.49.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 +106 -14
- package/README.md +113 -14
- package/dist/cjs/constants/claude.d.ts +15 -0
- package/dist/cjs/constants/claude.d.ts.map +1 -1
- package/dist/cjs/constants/claude.js +61 -1
- package/dist/cjs/constants/claude.js.map +1 -1
- package/dist/cjs/constants/kimi.d.ts +5 -1
- package/dist/cjs/constants/kimi.d.ts.map +1 -1
- package/dist/cjs/constants/kimi.js +8 -1
- package/dist/cjs/constants/kimi.js.map +1 -1
- package/dist/cjs/constants/openrouter.d.ts +12 -0
- package/dist/cjs/constants/openrouter.d.ts.map +1 -1
- package/dist/cjs/constants/openrouter.js +24 -1
- package/dist/cjs/constants/openrouter.js.map +1 -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.map +1 -1
- package/dist/cjs/services/ChatServiceFactory.js +9 -1
- package/dist/cjs/services/ChatServiceFactory.js.map +1 -1
- package/dist/cjs/services/providers/ChatServiceProvider.d.ts +15 -3
- package/dist/cjs/services/providers/ChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/claude/ClaudeChatService.d.ts +3 -1
- package/dist/cjs/services/providers/claude/ClaudeChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/claude/ClaudeChatService.js +51 -4
- package/dist/cjs/services/providers/claude/ClaudeChatService.js.map +1 -1
- package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.js +13 -2
- package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.js.map +1 -1
- package/dist/cjs/services/providers/claude/claudeMessageConverter.d.ts.map +1 -1
- package/dist/cjs/services/providers/claude/claudeMessageConverter.js +7 -1
- package/dist/cjs/services/providers/claude/claudeMessageConverter.js.map +1 -1
- package/dist/cjs/services/providers/geminiNano/GeminiNanoChatService.d.ts +7 -2
- package/dist/cjs/services/providers/geminiNano/GeminiNanoChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/geminiNano/GeminiNanoChatService.js +83 -30
- package/dist/cjs/services/providers/geminiNano/GeminiNanoChatService.js.map +1 -1
- package/dist/cjs/services/providers/geminiNano/GeminiNanoChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/geminiNano/GeminiNanoChatServiceProvider.js +1 -0
- package/dist/cjs/services/providers/geminiNano/GeminiNanoChatServiceProvider.js.map +1 -1
- package/dist/cjs/services/providers/kimi/KimiChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/kimi/KimiChatService.js +3 -5
- package/dist/cjs/services/providers/kimi/KimiChatService.js.map +1 -1
- package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.js +1 -1
- 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 +34 -15
- 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 +13 -0
- package/dist/cjs/services/providers/openrouter/OpenRouterChatServiceProvider.js.map +1 -1
- package/dist/cjs/types/chat.d.ts +2 -0
- package/dist/cjs/types/chat.d.ts.map +1 -1
- package/dist/cjs/types/toolChat.d.ts +2 -3
- package/dist/cjs/types/toolChat.d.ts.map +1 -1
- package/dist/cjs/utils/openaiCompatibleSse.d.ts +1 -0
- package/dist/cjs/utils/openaiCompatibleSse.d.ts.map +1 -1
- package/dist/cjs/utils/openaiCompatibleSse.js +22 -0
- package/dist/cjs/utils/openaiCompatibleSse.js.map +1 -1
- package/dist/esm/constants/claude.d.ts +15 -0
- package/dist/esm/constants/claude.d.ts.map +1 -1
- package/dist/esm/constants/claude.js +56 -0
- package/dist/esm/constants/claude.js.map +1 -1
- package/dist/esm/constants/kimi.d.ts +5 -1
- package/dist/esm/constants/kimi.d.ts.map +1 -1
- package/dist/esm/constants/kimi.js +7 -1
- package/dist/esm/constants/kimi.js.map +1 -1
- package/dist/esm/constants/openrouter.d.ts +12 -0
- package/dist/esm/constants/openrouter.d.ts.map +1 -1
- package/dist/esm/constants/openrouter.js +22 -0
- package/dist/esm/constants/openrouter.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.map +1 -1
- package/dist/esm/services/ChatServiceFactory.js +9 -1
- package/dist/esm/services/ChatServiceFactory.js.map +1 -1
- package/dist/esm/services/providers/ChatServiceProvider.d.ts +15 -3
- package/dist/esm/services/providers/ChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/claude/ClaudeChatService.d.ts +3 -1
- package/dist/esm/services/providers/claude/ClaudeChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/claude/ClaudeChatService.js +52 -5
- package/dist/esm/services/providers/claude/ClaudeChatService.js.map +1 -1
- package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.js +14 -3
- package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.js.map +1 -1
- package/dist/esm/services/providers/claude/claudeMessageConverter.d.ts.map +1 -1
- package/dist/esm/services/providers/claude/claudeMessageConverter.js +7 -1
- package/dist/esm/services/providers/claude/claudeMessageConverter.js.map +1 -1
- package/dist/esm/services/providers/geminiNano/GeminiNanoChatService.d.ts +7 -2
- package/dist/esm/services/providers/geminiNano/GeminiNanoChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/geminiNano/GeminiNanoChatService.js +84 -31
- package/dist/esm/services/providers/geminiNano/GeminiNanoChatService.js.map +1 -1
- package/dist/esm/services/providers/geminiNano/GeminiNanoChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/geminiNano/GeminiNanoChatServiceProvider.js +1 -0
- package/dist/esm/services/providers/geminiNano/GeminiNanoChatServiceProvider.js.map +1 -1
- package/dist/esm/services/providers/kimi/KimiChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/kimi/KimiChatService.js +4 -6
- package/dist/esm/services/providers/kimi/KimiChatService.js.map +1 -1
- package/dist/esm/services/providers/kimi/KimiChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/kimi/KimiChatServiceProvider.js +2 -2
- 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 +35 -16
- 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 +14 -1
- package/dist/esm/services/providers/openrouter/OpenRouterChatServiceProvider.js.map +1 -1
- package/dist/esm/types/chat.d.ts +2 -0
- package/dist/esm/types/chat.d.ts.map +1 -1
- package/dist/esm/types/toolChat.d.ts +2 -3
- package/dist/esm/types/toolChat.d.ts.map +1 -1
- package/dist/esm/utils/openaiCompatibleSse.d.ts +1 -0
- package/dist/esm/utils/openaiCompatibleSse.d.ts.map +1 -1
- package/dist/esm/utils/openaiCompatibleSse.js +22 -0
- package/dist/esm/utils/openaiCompatibleSse.js.map +1 -1
- package/dist/umd/aituber-onair-chat.js +300 -50
- package/dist/umd/aituber-onair-chat.min.js +9 -11
- package/package.json +1 -1
|
@@ -14,16 +14,26 @@ class ClaudeChatServiceProvider {
|
|
|
14
14
|
* @returns ClaudeChatService instance
|
|
15
15
|
*/
|
|
16
16
|
createChatService(options) {
|
|
17
|
+
const model = options.model || this.getDefaultModel();
|
|
18
|
+
const supportedReasoningEfforts = (0, constants_1.getClaudeSupportedReasoningEfforts)(model);
|
|
19
|
+
if (options.reasoning_effort !== undefined &&
|
|
20
|
+
!supportedReasoningEfforts.includes(options.reasoning_effort)) {
|
|
21
|
+
const supportedMessage = supportedReasoningEfforts.length > 0
|
|
22
|
+
? `Supported values: ${supportedReasoningEfforts.join(', ')}.`
|
|
23
|
+
: 'This model does not expose configurable effort.';
|
|
24
|
+
throw new Error(`Model ${model} does not support Claude reasoning_effort: ` +
|
|
25
|
+
`${options.reasoning_effort}. ${supportedMessage}`);
|
|
26
|
+
}
|
|
17
27
|
// Use the visionModel if provided, otherwise use the model that supports vision
|
|
18
28
|
const visionModel = (0, utils_1.resolveVisionModel)({
|
|
19
|
-
model
|
|
29
|
+
model,
|
|
20
30
|
visionModel: options.visionModel,
|
|
21
31
|
defaultModel: this.getDefaultModel(),
|
|
22
32
|
defaultVisionModel: this.getDefaultModel(),
|
|
23
33
|
supportsVisionForModel: (model) => this.supportsVisionForModel(model),
|
|
24
34
|
validate: 'resolved',
|
|
25
35
|
});
|
|
26
|
-
return new ClaudeChatService_1.ClaudeChatService(options.apiKey,
|
|
36
|
+
return new ClaudeChatService_1.ClaudeChatService(options.apiKey, model, visionModel, options.tools ?? [], options.mcpServers ?? [], options.responseLength, options.reasoning_effort);
|
|
27
37
|
}
|
|
28
38
|
/**
|
|
29
39
|
* Get the provider name
|
|
@@ -48,6 +58,7 @@ class ClaudeChatServiceProvider {
|
|
|
48
58
|
constants_1.MODEL_CLAUDE_4_7_OPUS,
|
|
49
59
|
constants_1.MODEL_CLAUDE_4_8_OPUS,
|
|
50
60
|
constants_1.MODEL_CLAUDE_5_SONNET,
|
|
61
|
+
constants_1.MODEL_CLAUDE_5_OPUS,
|
|
51
62
|
constants_1.MODEL_CLAUDE_3_HAIKU,
|
|
52
63
|
];
|
|
53
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudeChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/claude/ClaudeChatServiceProvider.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"ClaudeChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/claude/ClaudeChatServiceProvider.ts"],"names":[],"mappings":";;;AAAA,kDAe4B;AAE5B,2DAAwD;AAOxD,0CAAoD;AAEpD;;GAEG;AACH,MAAa,yBAAyB;IAGpC;;;;OAIG;IACH,iBAAiB,CAAC,OAAiC;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACtD,MAAM,yBAAyB,GAAG,IAAA,8CAAkC,EAAC,KAAK,CAAC,CAAC;QAC5E,IACE,OAAO,CAAC,gBAAgB,KAAK,SAAS;YACtC,CAAC,yBAAyB,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAC7D,CAAC;YACD,MAAM,gBAAgB,GACpB,yBAAyB,CAAC,MAAM,GAAG,CAAC;gBAClC,CAAC,CAAC,qBAAqB,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAC9D,CAAC,CAAC,iDAAiD,CAAC;YACxD,MAAM,IAAI,KAAK,CACb,SAAS,KAAK,6CAA6C;gBACzD,GAAG,OAAO,CAAC,gBAAgB,KAAK,gBAAgB,EAAE,CACrD,CAAC;QACJ,CAAC;QAED,gFAAgF;QAChF,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,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,KAAK,EACL,WAAW,EACX,OAAO,CAAC,KAAK,IAAI,EAAE,EACnB,OAAO,CAAC,UAAU,IAAI,EAAE,EACxB,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,gBAAgB,CACzB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,OAAO;YACL,iCAAqB;YACrB,+BAAmB;YACnB,mCAAuB;YACvB,kCAAsB;YACtB,iCAAqB;YACrB,mCAAuB;YACvB,iCAAqB;YACrB,iCAAqB;YACrB,iCAAqB;YACrB,iCAAqB;YACrB,+BAAmB;YACnB,gCAAoB;SACrB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,kCAAsB,CAAC;IAChC,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;AA3GD,8DA2GC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claudeMessageConverter.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/claude/claudeMessageConverter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEjE,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,EAAE,CAKxE;AAED,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"claudeMessageConverter.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/claude/claudeMessageConverter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEjE,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,EAAE,CAKxE;AAED,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,iBAAiB,EAAE,GAC5B,GAAG,EAAE,CAgEP;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWpD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAetD"}
|
|
@@ -7,11 +7,17 @@ exports.getMimeTypeFromUrl = getMimeTypeFromUrl;
|
|
|
7
7
|
function convertMessagesToClaudeFormat(messages) {
|
|
8
8
|
return messages.map((msg) => ({
|
|
9
9
|
role: mapRoleToClaude(msg.role),
|
|
10
|
-
content: msg.content,
|
|
10
|
+
content: msg.provider_content ?? msg.content,
|
|
11
11
|
}));
|
|
12
12
|
}
|
|
13
13
|
function convertVisionMessagesToClaudeFormat(messages) {
|
|
14
14
|
return messages.map((msg) => {
|
|
15
|
+
if (msg.provider_content) {
|
|
16
|
+
return {
|
|
17
|
+
role: mapRoleToClaude(msg.role),
|
|
18
|
+
content: msg.provider_content,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
15
21
|
if (typeof msg.content === 'string') {
|
|
16
22
|
return {
|
|
17
23
|
role: mapRoleToClaude(msg.role),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claudeMessageConverter.js","sourceRoot":"","sources":["../../../../../src/services/providers/claude/claudeMessageConverter.ts"],"names":[],"mappings":";;AAEA,sEAKC;AAED,
|
|
1
|
+
{"version":3,"file":"claudeMessageConverter.js","sourceRoot":"","sources":["../../../../../src/services/providers/claude/claudeMessageConverter.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ export declare class GeminiNanoChatService implements ChatService {
|
|
|
11
11
|
readonly provider: string;
|
|
12
12
|
private expectedInputLanguages;
|
|
13
13
|
private expectedOutputLanguages;
|
|
14
|
+
private initialPrompts;
|
|
14
15
|
private _responseLength?;
|
|
15
16
|
constructor(options?: GeminiNanoChatServiceOptions);
|
|
16
17
|
getModel(): string;
|
|
@@ -29,10 +30,14 @@ export declare class GeminiNanoChatService implements ChatService {
|
|
|
29
30
|
*/
|
|
30
31
|
private generateResponse;
|
|
31
32
|
/**
|
|
32
|
-
* Create a new LanguageModel session with
|
|
33
|
-
*
|
|
33
|
+
* Create a new LanguageModel session with structured initial prompts.
|
|
34
|
+
* System instructions, few-shot examples, and conversation history retain
|
|
35
|
+
* their roles instead of being flattened into a single string.
|
|
34
36
|
*/
|
|
35
37
|
private createSession;
|
|
38
|
+
private getModelOptions;
|
|
39
|
+
private buildInitialPrompts;
|
|
40
|
+
private findLastUserMessageIndex;
|
|
36
41
|
private buildSystemPrompt;
|
|
37
42
|
private getResponseLengthInstruction;
|
|
38
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeminiNanoChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/geminiNano/GeminiNanoChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"GeminiNanoChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/geminiNano/GeminiNanoChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAU7D,OAAO,KAAK,EACV,4BAA4B,EAE7B,MAAM,wBAAwB,CAAC;AAyChC;;;;GAIG;AACH,qBAAa,qBAAsB,YAAW,WAAW;IACvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAiB;IAE1C,OAAO,CAAC,sBAAsB,CAAW;IACzC,OAAO,CAAC,uBAAuB,CAAW;IAC1C,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,eAAe,CAAC,CAAqB;gBAEjC,OAAO,GAAE,4BAAiC;IAYtD,QAAQ,IAAI,MAAM;IAIlB,cAAc,IAAI,MAAM;IAIxB;;;;OAIG;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;IAMV,iBAAiB,CACrB,SAAS,EAAE,iBAAiB,EAAE,EAC9B,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC1C,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACnD,OAAO,CAAC,IAAI,CAAC;IAIV,QAAQ,CACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,OAAO,GAAE,OAAe,EACxB,iBAAiB,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAe,EACpD,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC;IAUxB,cAAc,CAClB,SAAS,EAAE,iBAAiB,EAAE,EAC9B,OAAO,GAAE,OAAe,EACxB,kBAAkB,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAe,EACrD,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC;IAI9B;;OAEG;YACW,gBAAgB;IAuD9B;;;;OAIG;YACW,aAAa;IAkB3B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,mBAAmB;IA+B3B,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,4BAA4B;CAsDrC"}
|
|
@@ -21,8 +21,14 @@ function getLanguageModelAPI() {
|
|
|
21
21
|
class GeminiNanoChatService {
|
|
22
22
|
constructor(options = {}) {
|
|
23
23
|
this.provider = 'gemini-nano';
|
|
24
|
-
this.expectedInputLanguages = options.expectedInputLanguages ?? [
|
|
24
|
+
this.expectedInputLanguages = options.expectedInputLanguages ?? [
|
|
25
|
+
'ja',
|
|
26
|
+
'en',
|
|
27
|
+
];
|
|
25
28
|
this.expectedOutputLanguages = options.expectedOutputLanguages ?? ['ja'];
|
|
29
|
+
this.initialPrompts = (options.initialPrompts ?? []).map((prompt) => ({
|
|
30
|
+
...prompt,
|
|
31
|
+
}));
|
|
26
32
|
this._responseLength = options.responseLength;
|
|
27
33
|
}
|
|
28
34
|
getModel() {
|
|
@@ -64,7 +70,8 @@ class GeminiNanoChatService {
|
|
|
64
70
|
throw new Error('Gemini Nano is not available in this environment. ' +
|
|
65
71
|
'Chrome 138+ with Prompt API enabled is required.');
|
|
66
72
|
}
|
|
67
|
-
const
|
|
73
|
+
const modelOptions = this.getModelOptions();
|
|
74
|
+
const availability = await api.availability(modelOptions);
|
|
68
75
|
if (availability !== 'available' && availability !== 'downloadable') {
|
|
69
76
|
throw new Error('Gemini Nano Prompt API is not ready in this environment. ' +
|
|
70
77
|
`LanguageModel.availability() returned "${availability}". ` +
|
|
@@ -75,16 +82,15 @@ class GeminiNanoChatService {
|
|
|
75
82
|
const systemPrompt = systemMessages.map((m) => m.content).join('\n');
|
|
76
83
|
// Get conversation messages (exclude system)
|
|
77
84
|
const conversationMessages = messages
|
|
78
|
-
.filter((m) => m.role
|
|
85
|
+
.filter((m) => m.role === 'user' || m.role === 'assistant')
|
|
79
86
|
.slice(-geminiNano_1.GEMINI_NANO_MAX_CONTEXT_MESSAGES);
|
|
80
87
|
// Get the last user message to send via prompt()
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
.find((m) => m.role === 'user');
|
|
84
|
-
if (!lastUserMessage) {
|
|
88
|
+
const lastUserMessageIndex = this.findLastUserMessageIndex(conversationMessages);
|
|
89
|
+
if (lastUserMessageIndex === -1) {
|
|
85
90
|
throw new Error('No user message found in the provided messages.');
|
|
86
91
|
}
|
|
87
|
-
const
|
|
92
|
+
const lastUserMessage = conversationMessages[lastUserMessageIndex];
|
|
93
|
+
const session = await this.createSession(api, systemPrompt, conversationMessages.slice(0, lastUserMessageIndex), modelOptions);
|
|
88
94
|
try {
|
|
89
95
|
return await session.prompt(lastUserMessage.content);
|
|
90
96
|
}
|
|
@@ -98,30 +104,51 @@ class GeminiNanoChatService {
|
|
|
98
104
|
}
|
|
99
105
|
}
|
|
100
106
|
/**
|
|
101
|
-
* Create a new LanguageModel session with
|
|
102
|
-
*
|
|
107
|
+
* Create a new LanguageModel session with structured initial prompts.
|
|
108
|
+
* System instructions, few-shot examples, and conversation history retain
|
|
109
|
+
* their roles instead of being flattened into a single string.
|
|
103
110
|
*/
|
|
104
|
-
async createSession(api, systemPrompt, contextHistory) {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
history;
|
|
115
|
-
}
|
|
116
|
-
return api.create({
|
|
117
|
-
systemPrompt: prompt,
|
|
111
|
+
async createSession(api, systemPrompt, contextHistory, modelOptions) {
|
|
112
|
+
const initialPrompts = this.buildInitialPrompts(systemPrompt, contextHistory);
|
|
113
|
+
const createOptions = {
|
|
114
|
+
...modelOptions,
|
|
115
|
+
...(initialPrompts.length > 0 ? { initialPrompts } : {}),
|
|
116
|
+
};
|
|
117
|
+
return api.create(createOptions);
|
|
118
|
+
}
|
|
119
|
+
getModelOptions() {
|
|
120
|
+
return {
|
|
118
121
|
expectedInputs: [
|
|
119
122
|
{ type: 'text', languages: this.expectedInputLanguages },
|
|
120
123
|
],
|
|
121
124
|
expectedOutputs: [
|
|
122
125
|
{ type: 'text', languages: this.expectedOutputLanguages },
|
|
123
126
|
],
|
|
124
|
-
}
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
buildInitialPrompts(systemPrompt, contextHistory) {
|
|
130
|
+
const configuredSystemPrompts = this.initialPrompts
|
|
131
|
+
.filter((prompt) => prompt.role === 'system')
|
|
132
|
+
.map((prompt) => prompt.content);
|
|
133
|
+
const combinedSystemPrompt = this.buildSystemPrompt([systemPrompt, ...configuredSystemPrompts].filter(Boolean).join('\n\n'));
|
|
134
|
+
const prompts = [];
|
|
135
|
+
if (combinedSystemPrompt) {
|
|
136
|
+
prompts.push({ role: 'system', content: combinedSystemPrompt });
|
|
137
|
+
}
|
|
138
|
+
prompts.push(...this.initialPrompts
|
|
139
|
+
.filter((prompt) => prompt.role !== 'system')
|
|
140
|
+
.map((prompt) => ({ ...prompt })), ...contextHistory
|
|
141
|
+
.filter((message) => message.role === 'user' || message.role === 'assistant')
|
|
142
|
+
.map(({ role, content }) => ({ role, content })));
|
|
143
|
+
return prompts;
|
|
144
|
+
}
|
|
145
|
+
findLastUserMessageIndex(messages) {
|
|
146
|
+
for (let index = messages.length - 1; index >= 0; index -= 1) {
|
|
147
|
+
if (messages[index].role === 'user') {
|
|
148
|
+
return index;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return -1;
|
|
125
152
|
}
|
|
126
153
|
buildSystemPrompt(systemPrompt) {
|
|
127
154
|
const promptParts = [];
|
|
@@ -142,11 +169,37 @@ class GeminiNanoChatService {
|
|
|
142
169
|
if (!maxTokens) {
|
|
143
170
|
return undefined;
|
|
144
171
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
172
|
+
switch (this._responseLength) {
|
|
173
|
+
case chat_1.CHAT_RESPONSE_LENGTH.VERY_SHORT:
|
|
174
|
+
return ('Reply in no more than one concise sentence. Do not use a ' +
|
|
175
|
+
'preamble, summary, bullet points, or Markdown. Keep the reaction ' +
|
|
176
|
+
'and answer short enough to read in one breath. Stay within ' +
|
|
177
|
+
`approximately ${maxTokens} tokens.`);
|
|
178
|
+
case chat_1.CHAT_RESPONSE_LENGTH.SHORT:
|
|
179
|
+
return ('Reply in no more than two concise sentences. Do not use a ' +
|
|
180
|
+
'preamble, summary, bullet points, or Markdown. Keep the reaction ' +
|
|
181
|
+
'and answer short enough to read in one breath. Use natural ' +
|
|
182
|
+
`conversational language. Stay within approximately ${maxTokens} tokens.`);
|
|
183
|
+
case chat_1.CHAT_RESPONSE_LENGTH.MEDIUM:
|
|
184
|
+
return ('Reply in no more than three concise sentences. Answer directly ' +
|
|
185
|
+
'and include only the context needed to understand the answer. Do ' +
|
|
186
|
+
'not use a preamble, summary, bullet points, or Markdown. Use ' +
|
|
187
|
+
`natural conversational language. Stay within approximately ${maxTokens} tokens.`);
|
|
188
|
+
case chat_1.CHAT_RESPONSE_LENGTH.LONG:
|
|
189
|
+
return ('Reply in no more than five sentences. Explain the important ' +
|
|
190
|
+
'details clearly, but avoid unnecessary preambles, repetition, ' +
|
|
191
|
+
'bullet points, or Markdown. Use natural conversational language. ' +
|
|
192
|
+
`Stay within approximately ${maxTokens} tokens.`);
|
|
193
|
+
case chat_1.CHAT_RESPONSE_LENGTH.VERY_LONG:
|
|
194
|
+
return ('Reply in no more than ten sentences. Give a thorough but focused ' +
|
|
195
|
+
'answer. Use short plain-text paragraphs when helpful, and avoid ' +
|
|
196
|
+
'unnecessary repetition, bullet points, or Markdown. Stay within ' +
|
|
197
|
+
`approximately ${maxTokens} tokens.`);
|
|
198
|
+
case chat_1.CHAT_RESPONSE_LENGTH.DEEP:
|
|
199
|
+
return ('Give a detailed response and organize it in the way that best ' +
|
|
200
|
+
'fits the request. No sentence-count limit applies at this level. ' +
|
|
201
|
+
`Stay within approximately ${maxTokens} tokens.`);
|
|
202
|
+
}
|
|
150
203
|
}
|
|
151
204
|
}
|
|
152
205
|
exports.GeminiNanoChatService = GeminiNanoChatService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeminiNanoChatService.js","sourceRoot":"","sources":["../../../../../src/services/providers/geminiNano/GeminiNanoChatService.ts"],"names":[],"mappings":";;;AAGA,8DAGuC;AACvC,
|
|
1
|
+
{"version":3,"file":"GeminiNanoChatService.js","sourceRoot":"","sources":["../../../../../src/services/providers/geminiNano/GeminiNanoChatService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeminiNanoChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/geminiNano/GeminiNanoChatServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAGhC;;;GAGG;AACH,qBAAa,6BACX,YAAW,mBAAmB,CAAC,4BAA4B,CAAC;IAE5D,iBAAiB,CAAC,OAAO,EAAE,4BAA4B,GAAG,WAAW;
|
|
1
|
+
{"version":3,"file":"GeminiNanoChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/geminiNano/GeminiNanoChatServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAGhC;;;GAGG;AACH,qBAAa,6BACX,YAAW,mBAAmB,CAAC,4BAA4B,CAAC;IAE5D,iBAAiB,CAAC,OAAO,EAAE,4BAA4B,GAAG,WAAW;IASrE,eAAe,IAAI,MAAM;IAIzB,kBAAkB,IAAI,MAAM,EAAE;IAI9B,eAAe,IAAI,MAAM;IAIzB,cAAc,IAAI,OAAO;IAIzB,qBAAqB,IAAI,kBAAkB;CAG5C"}
|
|
@@ -12,6 +12,7 @@ class GeminiNanoChatServiceProvider {
|
|
|
12
12
|
return new GeminiNanoChatService_1.GeminiNanoChatService({
|
|
13
13
|
expectedInputLanguages: options.expectedInputLanguages,
|
|
14
14
|
expectedOutputLanguages: options.expectedOutputLanguages,
|
|
15
|
+
initialPrompts: options.initialPrompts,
|
|
15
16
|
responseLength: options.responseLength,
|
|
16
17
|
});
|
|
17
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeminiNanoChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/geminiNano/GeminiNanoChatServiceProvider.ts"],"names":[],"mappings":";;;AACA,mEAAgE;AAMhE,8DAAkE;AAElE;;;GAGG;AACH,MAAa,6BAA6B;IAGxC,iBAAiB,CAAC,OAAqC;QACrD,OAAO,IAAI,6CAAqB,CAAC;YAC/B,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;YACtD,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;YACxD,cAAc,EAAE,OAAO,CAAC,cAAc;SACvC,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,8BAAiB,CAAC,CAAC;IAC7B,CAAC;IAED,eAAe;QACb,OAAO,8BAAiB,CAAC;IAC3B,CAAC;IAED,cAAc;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qBAAqB;QACnB,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"GeminiNanoChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/geminiNano/GeminiNanoChatServiceProvider.ts"],"names":[],"mappings":";;;AACA,mEAAgE;AAMhE,8DAAkE;AAElE;;;GAGG;AACH,MAAa,6BAA6B;IAGxC,iBAAiB,CAAC,OAAqC;QACrD,OAAO,IAAI,6CAAqB,CAAC;YAC/B,sBAAsB,EAAE,OAAO,CAAC,sBAAsB;YACtD,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;YACxD,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,cAAc,EAAE,OAAO,CAAC,cAAc;SACvC,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,8BAAiB,CAAC,CAAC;IAC7B,CAAC;IAED,eAAe;QACb,OAAO,8BAAiB,CAAC;IAC3B,CAAC;IAED,cAAc;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qBAAqB;QACnB,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AA/BD,sEA+BC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KimiChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/kimi/KimiChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAEL,mBAAmB,
|
|
1
|
+
{"version":3,"file":"KimiChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/kimi/KimiChatService.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,10 +31,7 @@ class KimiChatService {
|
|
|
31
31
|
throw new Error(`Model ${model} does not support reasoning_effort: ${reasoningEffort}.`);
|
|
32
32
|
}
|
|
33
33
|
this.reasoningEffort =
|
|
34
|
-
reasoningEffort ??
|
|
35
|
-
((0, kimi_1.isKimiReasoningEffortModel)(model)
|
|
36
|
-
? supportedReasoningEfforts[0]
|
|
37
|
-
: undefined);
|
|
34
|
+
reasoningEffort ?? (0, kimi_1.getDefaultKimiReasoningEffort)(model);
|
|
38
35
|
this.visionModel = visionModel;
|
|
39
36
|
}
|
|
40
37
|
/**
|
|
@@ -131,7 +128,8 @@ class KimiChatService {
|
|
|
131
128
|
body.response_format = this.responseFormat;
|
|
132
129
|
}
|
|
133
130
|
if ((0, kimi_1.isKimiReasoningEffortModel)(model)) {
|
|
134
|
-
body.reasoning_effort =
|
|
131
|
+
body.reasoning_effort =
|
|
132
|
+
this.reasoningEffort ?? (0, kimi_1.getDefaultKimiReasoningEffort)(model);
|
|
135
133
|
}
|
|
136
134
|
const effectiveThinking = this.resolveEffectiveThinking(model);
|
|
137
135
|
if (effectiveThinking) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KimiChatService.js","sourceRoot":"","sources":["../../../../../src/services/providers/kimi/KimiChatService.ts"],"names":[],"mappings":";;;AAGA,
|
|
1
|
+
{"version":3,"file":"KimiChatService.js","sourceRoot":"","sources":["../../../../../src/services/providers/kimi/KimiChatService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KimiChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/kimi/KimiChatServiceProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"KimiChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/kimi/KimiChatServiceProvider.ts"],"names":[],"mappings":"AAaA,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,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAgC;IAEhE;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,sBAAsB,GAAG,WAAW;IAiC/D;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAU9B;;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;IAIzB,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,sBAAsB;CAyB/B"}
|
|
@@ -120,7 +120,7 @@ class KimiChatServiceProvider {
|
|
|
120
120
|
}
|
|
121
121
|
return undefined;
|
|
122
122
|
}
|
|
123
|
-
const resolved = reasoningEffort ?? supported[0];
|
|
123
|
+
const resolved = reasoningEffort ?? (0, kimi_1.getDefaultKimiReasoningEffort)(model) ?? supported[0];
|
|
124
124
|
if (!supported.includes(resolved)) {
|
|
125
125
|
throw new Error(`Model ${model} supports reasoning_effort values: ${supported.join(', ')}.`);
|
|
126
126
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KimiChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/kimi/KimiChatServiceProvider.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"KimiChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/kimi/KimiChatServiceProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenRouterChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/openrouter/OpenRouterChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"OpenRouterChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/openrouter/OpenRouterChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAWpE,OAAO,EACL,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAmCjC;;;GAGG;AACH,qBAAa,qBAAsB,YAAW,WAAW;IACvD,oBAAoB;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAgB;IAEzC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,cAAc,CAAC,CAAqB;IAC5C,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,gBAAgB,CAAC,CAAiD;IAC1E,OAAO,CAAC,gBAAgB,CAAC,CAAU;IACnC,OAAO,CAAC,kBAAkB,CAAC,CAAS;IACpC,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,YAAY,CAAa;IAEjC;;;;;;;;;;;;;OAaG;gBAED,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAA+B,EACtC,WAAW,GAAE,MAA+B,EAC5C,KAAK,CAAC,EAAE,cAAc,EAAE,EACxB,QAAQ,GAAE,MAAgC,EAC1C,cAAc,CAAC,EAAE,kBAAkB,EACnC,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,EACf,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,EACjE,gBAAgB,CAAC,EAAE,OAAO,EAC1B,kBAAkB,CAAC,EAAE,MAAM;IAkB7B;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;OAGG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;YACW,iBAAiB;IA6B/B;;;;;OAKG;IACG,WAAW,CACf,QAAQ,EAAE,OAAO,EAAE,EACnB,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAClD,OAAO,CAAC,IAAI,CAAC;IAkBhB;;;;;OAKG;IACG,iBAAiB,CACrB,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAClD,OAAO,CAAC,IAAI,CAAC;IAmChB;;;;;;;OAOG;IACG,QAAQ,CACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,UAAO,EACb,iBAAiB,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAe,EACpD,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC;IAa9B;;;;;;;OAOG;IACG,cAAc,CAClB,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,MAAM,GAAE,OAAe,EACvB,iBAAiB,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAe,EACpD,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC;IAoB9B;;OAEG;YACW,cAAc;IA0B5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4ExB;;;OAGG;YACW,YAAY;IAc1B;;OAEG;YACW,WAAW;IAczB;;OAEG;IACH,OAAO,CAAC,YAAY;CAOrB"}
|
|
@@ -5,8 +5,15 @@ const openrouter_1 = require("../../../constants/openrouter");
|
|
|
5
5
|
const chat_1 = require("../../../constants/chat");
|
|
6
6
|
const chatServiceHttpClient_1 = require("../../../utils/chatServiceHttpClient");
|
|
7
7
|
const utils_1 = require("../../../utils");
|
|
8
|
+
const isOpenRouterAutoModel = (model) => [openrouter_1.MODEL_OPENROUTER_AUTO, openrouter_1.MODEL_OPENROUTER_AUTO_BETA].includes(model.trim());
|
|
8
9
|
const isTokenLimitUnsupportedModel = (model) => [openrouter_1.MODEL_GPT_OSS_20B_FREE, openrouter_1.MODEL_ZAI_GLM_5_2].includes(model.trim());
|
|
9
10
|
const getDefaultReasoningEffort = (model) => model.trim() === openrouter_1.MODEL_ZAI_GLM_5_2 ? 'none' : undefined;
|
|
11
|
+
const ensureAutoRouterOutput = (model, hasVisibleOutput) => {
|
|
12
|
+
if (isOpenRouterAutoModel(model) && !hasVisibleOutput) {
|
|
13
|
+
throw new Error('OpenRouter Auto Router returned no visible content. Please retry.');
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
const hasUsableCompletionOutput = (completion) => completion.blocks.some((block) => block.type !== 'text' || block.text.trim().length > 0);
|
|
10
17
|
/**
|
|
11
18
|
* OpenRouter implementation of ChatService
|
|
12
19
|
* OpenRouter provides access to multiple AI models through a unified API
|
|
@@ -97,7 +104,7 @@ class OpenRouterChatService {
|
|
|
97
104
|
hasTools: this.tools.length > 0,
|
|
98
105
|
runWithoutTools: async () => {
|
|
99
106
|
const res = await this.callOpenRouter(messages, this.model, true);
|
|
100
|
-
return this.handleStream(res, onPartialResponse);
|
|
107
|
+
return this.handleStream(res, onPartialResponse, this.model);
|
|
101
108
|
},
|
|
102
109
|
runWithTools: () => this.chatOnce(messages, true, onPartialResponse),
|
|
103
110
|
onCompleteResponse,
|
|
@@ -123,7 +130,7 @@ class OpenRouterChatService {
|
|
|
123
130
|
hasTools: this.tools.length > 0,
|
|
124
131
|
runWithoutTools: async () => {
|
|
125
132
|
const res = await this.callOpenRouter(messages, this.visionModel, true);
|
|
126
|
-
return this.handleStream(res, onPartialResponse);
|
|
133
|
+
return this.handleStream(res, onPartialResponse, this.visionModel);
|
|
127
134
|
},
|
|
128
135
|
runWithTools: () => this.visionChatOnce(messages, true, onPartialResponse),
|
|
129
136
|
onCompleteResponse,
|
|
@@ -148,8 +155,8 @@ class OpenRouterChatService {
|
|
|
148
155
|
await this.applyRateLimiting();
|
|
149
156
|
const res = await this.callOpenRouter(messages, this.model, stream, maxTokens);
|
|
150
157
|
return stream
|
|
151
|
-
? this.parseStream(res, onPartialResponse)
|
|
152
|
-
: this.parseOneShot(await res.json());
|
|
158
|
+
? this.parseStream(res, onPartialResponse, this.model)
|
|
159
|
+
: this.parseOneShot(await res.json(), this.model);
|
|
153
160
|
}
|
|
154
161
|
/**
|
|
155
162
|
* Process vision chat messages with tools
|
|
@@ -167,8 +174,8 @@ class OpenRouterChatService {
|
|
|
167
174
|
await this.applyRateLimiting();
|
|
168
175
|
const res = await this.callOpenRouter(messages, this.visionModel, stream, maxTokens);
|
|
169
176
|
return stream
|
|
170
|
-
? this.parseStream(res, onPartialResponse)
|
|
171
|
-
: this.parseOneShot(await res.json());
|
|
177
|
+
? this.parseStream(res, onPartialResponse, this.visionModel)
|
|
178
|
+
: this.parseOneShot(await res.json(), this.visionModel);
|
|
172
179
|
}
|
|
173
180
|
/**
|
|
174
181
|
* Call OpenRouter API
|
|
@@ -202,9 +209,11 @@ class OpenRouterChatService {
|
|
|
202
209
|
const tokenLimit = maxTokens !== undefined
|
|
203
210
|
? maxTokens
|
|
204
211
|
: (0, chat_1.getMaxTokensForResponseLength)(this.responseLength);
|
|
205
|
-
//
|
|
206
|
-
// tokens before emitting visible content.
|
|
207
|
-
|
|
212
|
+
// Dynamic routers and some reasoning models can spend the whole budget on
|
|
213
|
+
// reasoning tokens before emitting visible content.
|
|
214
|
+
const shouldOmitTokenLimit = isTokenLimitUnsupportedModel(model) ||
|
|
215
|
+
(isOpenRouterAutoModel(model) && maxTokens === undefined);
|
|
216
|
+
if (tokenLimit && shouldOmitTokenLimit) {
|
|
208
217
|
console.warn(`OpenRouter: Token limits are disabled for ${model} because this model can return empty content when a token limit is set.`);
|
|
209
218
|
}
|
|
210
219
|
else if (tokenLimit) {
|
|
@@ -249,24 +258,34 @@ class OpenRouterChatService {
|
|
|
249
258
|
* Handle streaming response from OpenRouter
|
|
250
259
|
* OpenRouter uses SSE format with potential comment lines
|
|
251
260
|
*/
|
|
252
|
-
async handleStream(res, onPartial) {
|
|
253
|
-
|
|
261
|
+
async handleStream(res, onPartial, model) {
|
|
262
|
+
const text = await (0, utils_1.parseOpenAICompatibleTextStream)(res, onPartial, {
|
|
254
263
|
onJsonError: (payload) => console.debug('Failed to parse SSE data:', payload),
|
|
264
|
+
throwOnApiError: isOpenRouterAutoModel(model),
|
|
255
265
|
});
|
|
266
|
+
ensureAutoRouterOutput(model, text.trim().length > 0);
|
|
267
|
+
return text;
|
|
256
268
|
}
|
|
257
269
|
/**
|
|
258
270
|
* Parse streaming response with tool support
|
|
259
271
|
*/
|
|
260
|
-
async parseStream(res, onPartial) {
|
|
261
|
-
|
|
272
|
+
async parseStream(res, onPartial, model) {
|
|
273
|
+
const completion = await (0, utils_1.parseOpenAICompatibleToolStream)(res, onPartial, {
|
|
262
274
|
onJsonError: (payload) => console.debug('Failed to parse SSE data:', payload),
|
|
275
|
+
throwOnApiError: isOpenRouterAutoModel(model),
|
|
263
276
|
});
|
|
277
|
+
ensureAutoRouterOutput(model, hasUsableCompletionOutput(completion));
|
|
278
|
+
return completion;
|
|
264
279
|
}
|
|
265
280
|
/**
|
|
266
281
|
* Parse non-streaming response
|
|
267
282
|
*/
|
|
268
|
-
parseOneShot(data) {
|
|
269
|
-
|
|
283
|
+
parseOneShot(data, model) {
|
|
284
|
+
const completion = (0, utils_1.parseOpenAICompatibleOneShot)(data, {
|
|
285
|
+
throwOnApiError: isOpenRouterAutoModel(model),
|
|
286
|
+
});
|
|
287
|
+
ensureAutoRouterOutput(model, hasUsableCompletionOutput(completion));
|
|
288
|
+
return completion;
|
|
270
289
|
}
|
|
271
290
|
}
|
|
272
291
|
exports.OpenRouterChatService = OpenRouterChatService;
|