@aituber-onair/chat 0.47.0 → 0.48.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 +25 -12
- package/README.md +27 -12
- package/dist/cjs/constants/gemini.d.ts +17 -0
- package/dist/cjs/constants/gemini.d.ts.map +1 -1
- package/dist/cjs/constants/gemini.js +67 -1
- package/dist/cjs/constants/gemini.js.map +1 -1
- package/dist/cjs/constants/kimi.d.ts +10 -0
- package/dist/cjs/constants/kimi.d.ts.map +1 -1
- package/dist/cjs/constants/kimi.js +20 -1
- package/dist/cjs/constants/kimi.js.map +1 -1
- package/dist/cjs/services/ChatService.d.ts +2 -2
- package/dist/cjs/services/ChatService.d.ts.map +1 -1
- package/dist/cjs/services/ChatServiceFactory.d.ts.map +1 -1
- package/dist/cjs/services/ChatServiceFactory.js +1 -0
- package/dist/cjs/services/ChatServiceFactory.js.map +1 -1
- package/dist/cjs/services/providers/ChatServiceProvider.d.ts +9 -2
- package/dist/cjs/services/providers/ChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/gemini/GeminiChatService.d.ts +8 -2
- package/dist/cjs/services/providers/gemini/GeminiChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/gemini/GeminiChatService.js +65 -38
- package/dist/cjs/services/providers/gemini/GeminiChatService.js.map +1 -1
- package/dist/cjs/services/providers/gemini/GeminiChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/gemini/GeminiChatServiceProvider.js +9 -2
- package/dist/cjs/services/providers/gemini/GeminiChatServiceProvider.js.map +1 -1
- package/dist/cjs/services/providers/gemini/geminiMessageConverter.d.ts +6 -0
- package/dist/cjs/services/providers/gemini/geminiMessageConverter.d.ts.map +1 -1
- package/dist/cjs/services/providers/gemini/geminiMessageConverter.js +61 -58
- package/dist/cjs/services/providers/gemini/geminiMessageConverter.js.map +1 -1
- package/dist/cjs/services/providers/kimi/KimiChatService.d.ts +5 -4
- package/dist/cjs/services/providers/kimi/KimiChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/kimi/KimiChatService.js +34 -18
- package/dist/cjs/services/providers/kimi/KimiChatService.js.map +1 -1
- package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.d.ts +1 -0
- package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.js +23 -1
- package/dist/cjs/services/providers/kimi/KimiChatServiceProvider.js.map +1 -1
- package/dist/cjs/types/chat.d.ts +10 -2
- package/dist/cjs/types/chat.d.ts.map +1 -1
- package/dist/cjs/types/toolChat.d.ts +20 -0
- 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 +48 -5
- package/dist/cjs/utils/openaiCompatibleSse.js.map +1 -1
- package/dist/cjs/utils/processChatFlow.d.ts +2 -2
- package/dist/cjs/utils/processChatFlow.d.ts.map +1 -1
- package/dist/cjs/utils/processChatFlow.js +8 -3
- package/dist/cjs/utils/processChatFlow.js.map +1 -1
- package/dist/esm/constants/gemini.d.ts +17 -0
- package/dist/esm/constants/gemini.d.ts.map +1 -1
- package/dist/esm/constants/gemini.js +62 -0
- package/dist/esm/constants/gemini.js.map +1 -1
- package/dist/esm/constants/kimi.d.ts +10 -0
- package/dist/esm/constants/kimi.d.ts.map +1 -1
- package/dist/esm/constants/kimi.js +17 -0
- package/dist/esm/constants/kimi.js.map +1 -1
- package/dist/esm/services/ChatService.d.ts +2 -2
- package/dist/esm/services/ChatService.d.ts.map +1 -1
- package/dist/esm/services/ChatServiceFactory.d.ts.map +1 -1
- package/dist/esm/services/ChatServiceFactory.js +1 -0
- package/dist/esm/services/ChatServiceFactory.js.map +1 -1
- package/dist/esm/services/providers/ChatServiceProvider.d.ts +9 -2
- package/dist/esm/services/providers/ChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/gemini/GeminiChatService.d.ts +8 -2
- package/dist/esm/services/providers/gemini/GeminiChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/gemini/GeminiChatService.js +66 -39
- package/dist/esm/services/providers/gemini/GeminiChatService.js.map +1 -1
- package/dist/esm/services/providers/gemini/GeminiChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/gemini/GeminiChatServiceProvider.js +10 -3
- package/dist/esm/services/providers/gemini/GeminiChatServiceProvider.js.map +1 -1
- package/dist/esm/services/providers/gemini/geminiMessageConverter.d.ts +6 -0
- package/dist/esm/services/providers/gemini/geminiMessageConverter.d.ts.map +1 -1
- package/dist/esm/services/providers/gemini/geminiMessageConverter.js +61 -58
- package/dist/esm/services/providers/gemini/geminiMessageConverter.js.map +1 -1
- package/dist/esm/services/providers/kimi/KimiChatService.d.ts +5 -4
- package/dist/esm/services/providers/kimi/KimiChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/kimi/KimiChatService.js +36 -20
- package/dist/esm/services/providers/kimi/KimiChatService.js.map +1 -1
- package/dist/esm/services/providers/kimi/KimiChatServiceProvider.d.ts +1 -0
- package/dist/esm/services/providers/kimi/KimiChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/kimi/KimiChatServiceProvider.js +24 -2
- package/dist/esm/services/providers/kimi/KimiChatServiceProvider.js.map +1 -1
- package/dist/esm/types/chat.d.ts +10 -2
- package/dist/esm/types/chat.d.ts.map +1 -1
- package/dist/esm/types/toolChat.d.ts +20 -0
- 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 +48 -5
- package/dist/esm/utils/openaiCompatibleSse.js.map +1 -1
- package/dist/esm/utils/processChatFlow.d.ts +2 -2
- package/dist/esm/utils/processChatFlow.d.ts.map +1 -1
- package/dist/esm/utils/processChatFlow.js +8 -3
- package/dist/esm/utils/processChatFlow.js.map +1 -1
- package/dist/umd/aituber-onair-chat.js +325 -131
- package/dist/umd/aituber-onair-chat.min.js +8 -8
- package/package.json +1 -1
|
@@ -15,7 +15,7 @@ class KimiChatService {
|
|
|
15
15
|
* @param model Name of the model to use
|
|
16
16
|
* @param visionModel Name of the vision model
|
|
17
17
|
*/
|
|
18
|
-
constructor(apiKey, model = kimi_1.MODEL_KIMI_K2_6, visionModel = kimi_1.MODEL_KIMI_K2_6, tools, endpoint = kimi_1.ENDPOINT_KIMI_CHAT_COMPLETIONS_API, responseLength, responseFormat, thinking) {
|
|
18
|
+
constructor(apiKey, model = kimi_1.MODEL_KIMI_K2_6, visionModel = kimi_1.MODEL_KIMI_K2_6, tools, endpoint = kimi_1.ENDPOINT_KIMI_CHAT_COMPLETIONS_API, responseLength, responseFormat, thinking, reasoningEffort) {
|
|
19
19
|
/** Provider name */
|
|
20
20
|
this.provider = 'kimi';
|
|
21
21
|
this.apiKey = apiKey;
|
|
@@ -24,7 +24,17 @@ class KimiChatService {
|
|
|
24
24
|
this.endpoint = endpoint;
|
|
25
25
|
this.responseLength = responseLength;
|
|
26
26
|
this.responseFormat = responseFormat;
|
|
27
|
-
this.thinking = thinking
|
|
27
|
+
this.thinking = thinking;
|
|
28
|
+
const supportedReasoningEfforts = (0, kimi_1.getKimiSupportedReasoningEfforts)(model);
|
|
29
|
+
if (reasoningEffort !== undefined &&
|
|
30
|
+
!supportedReasoningEfforts.includes(reasoningEffort)) {
|
|
31
|
+
throw new Error(`Model ${model} does not support reasoning_effort: ${reasoningEffort}.`);
|
|
32
|
+
}
|
|
33
|
+
this.reasoningEffort =
|
|
34
|
+
reasoningEffort ??
|
|
35
|
+
((0, kimi_1.isKimiReasoningEffortModel)(model)
|
|
36
|
+
? supportedReasoningEfforts[0]
|
|
37
|
+
: undefined);
|
|
28
38
|
this.visionModel = visionModel;
|
|
29
39
|
}
|
|
30
40
|
/**
|
|
@@ -45,10 +55,7 @@ class KimiChatService {
|
|
|
45
55
|
async processChat(messages, onPartialResponse, onCompleteResponse) {
|
|
46
56
|
await (0, utils_1.processChatWithOptionalTools)({
|
|
47
57
|
hasTools: this.tools.length > 0,
|
|
48
|
-
runWithoutTools:
|
|
49
|
-
const res = await this.callKimi(messages, this.model, true);
|
|
50
|
-
return this.handleStream(res, onPartialResponse);
|
|
51
|
-
},
|
|
58
|
+
runWithoutTools: () => this.chatOnce(messages, true, onPartialResponse),
|
|
52
59
|
runWithTools: () => this.chatOnce(messages, true, onPartialResponse),
|
|
53
60
|
onCompleteResponse,
|
|
54
61
|
toolErrorMessage: 'processChat received tool_calls. ' +
|
|
@@ -64,10 +71,7 @@ class KimiChatService {
|
|
|
64
71
|
}
|
|
65
72
|
await (0, utils_1.processChatWithOptionalTools)({
|
|
66
73
|
hasTools: this.tools.length > 0,
|
|
67
|
-
runWithoutTools:
|
|
68
|
-
const res = await this.callKimi(messages, this.visionModel, true);
|
|
69
|
-
return this.handleStream(res, onPartialResponse);
|
|
70
|
-
},
|
|
74
|
+
runWithoutTools: () => this.visionChatOnce(messages, true, onPartialResponse),
|
|
71
75
|
runWithTools: () => this.visionChatOnce(messages, true, onPartialResponse),
|
|
72
76
|
onCompleteResponse,
|
|
73
77
|
toolErrorMessage: 'processVisionChat received tool_calls. ' +
|
|
@@ -116,11 +120,19 @@ class KimiChatService {
|
|
|
116
120
|
? maxTokens
|
|
117
121
|
: (0, chat_1.getMaxTokensForResponseLength)(this.responseLength);
|
|
118
122
|
if (tokenLimit !== undefined) {
|
|
119
|
-
|
|
123
|
+
if ((0, kimi_1.isKimiReasoningEffortModel)(model)) {
|
|
124
|
+
body.max_completion_tokens = tokenLimit;
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
body.max_tokens = tokenLimit;
|
|
128
|
+
}
|
|
120
129
|
}
|
|
121
130
|
if (this.responseFormat) {
|
|
122
131
|
body.response_format = this.responseFormat;
|
|
123
132
|
}
|
|
133
|
+
if ((0, kimi_1.isKimiReasoningEffortModel)(model)) {
|
|
134
|
+
body.reasoning_effort = this.reasoningEffort ?? 'max';
|
|
135
|
+
}
|
|
124
136
|
const effectiveThinking = this.resolveEffectiveThinking(model);
|
|
125
137
|
if (effectiveThinking) {
|
|
126
138
|
if (this.isSelfHostedEndpoint()) {
|
|
@@ -147,6 +159,12 @@ class KimiChatService {
|
|
|
147
159
|
return value.replace(/\/+$/, '');
|
|
148
160
|
}
|
|
149
161
|
resolveEffectiveThinking(model) {
|
|
162
|
+
if ((0, kimi_1.isKimiReasoningEffortModel)(model)) {
|
|
163
|
+
if (this.thinking) {
|
|
164
|
+
throw new Error(`Model ${model} uses reasoning_effort and does not support the K2.x thinking option.`);
|
|
165
|
+
}
|
|
166
|
+
return undefined;
|
|
167
|
+
}
|
|
150
168
|
if ((0, kimi_1.isKimiThinkingRequiredModel)(model)) {
|
|
151
169
|
if (this.thinking?.type === 'disabled') {
|
|
152
170
|
throw new Error(`Model ${model} requires thinking mode and does not support thinking: disabled.`);
|
|
@@ -156,21 +174,17 @@ class KimiChatService {
|
|
|
156
174
|
if (this.tools.length > 0) {
|
|
157
175
|
return { type: 'disabled' };
|
|
158
176
|
}
|
|
159
|
-
return this.thinking;
|
|
177
|
+
return this.thinking ?? { type: 'enabled' };
|
|
160
178
|
}
|
|
161
179
|
buildToolsDefinition() {
|
|
162
180
|
return (0, utils_1.buildOpenAICompatibleTools)(this.tools, 'chat-completions');
|
|
163
181
|
}
|
|
164
|
-
async handleStream(res, onPartial) {
|
|
165
|
-
return (0, utils_1.parseOpenAICompatibleTextStream)(res, onPartial, {
|
|
166
|
-
onJsonError: (payload) => console.debug('Failed to parse SSE data:', payload),
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
182
|
/**
|
|
170
183
|
* Parse streaming response with tool support
|
|
171
184
|
*/
|
|
172
185
|
async parseStream(res, onPartial) {
|
|
173
186
|
return (0, utils_1.parseOpenAICompatibleToolStream)(res, onPartial, {
|
|
187
|
+
preserveAssistantMessage: true,
|
|
174
188
|
onJsonError: (payload) => console.debug('Failed to parse SSE data:', payload),
|
|
175
189
|
});
|
|
176
190
|
}
|
|
@@ -178,7 +192,9 @@ class KimiChatService {
|
|
|
178
192
|
* Parse non-streaming response
|
|
179
193
|
*/
|
|
180
194
|
parseOneShot(data) {
|
|
181
|
-
return (0, utils_1.parseOpenAICompatibleOneShot)(data
|
|
195
|
+
return (0, utils_1.parseOpenAICompatibleOneShot)(data, {
|
|
196
|
+
preserveAssistantMessage: true,
|
|
197
|
+
});
|
|
182
198
|
}
|
|
183
199
|
}
|
|
184
200
|
exports.KimiChatService = KimiChatService;
|
|
@@ -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":"AAYA,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;CAwB/B"}
|
|
@@ -27,7 +27,8 @@ class KimiChatServiceProvider {
|
|
|
27
27
|
});
|
|
28
28
|
const tools = options.tools;
|
|
29
29
|
const thinking = this.resolveThinking(model, tools, options.thinking);
|
|
30
|
-
|
|
30
|
+
const reasoningEffort = this.resolveReasoningEffort(model, options.reasoning_effort);
|
|
31
|
+
return new KimiChatService_1.KimiChatService(options.apiKey, model, visionModel, tools, endpoint, options.responseLength, options.responseFormat, thinking, reasoningEffort);
|
|
31
32
|
}
|
|
32
33
|
/**
|
|
33
34
|
* Get the provider name
|
|
@@ -40,6 +41,7 @@ class KimiChatServiceProvider {
|
|
|
40
41
|
*/
|
|
41
42
|
getSupportedModels() {
|
|
42
43
|
return [
|
|
44
|
+
kimi_1.MODEL_KIMI_K3,
|
|
43
45
|
kimi_1.MODEL_KIMI_K2_7_CODE,
|
|
44
46
|
kimi_1.MODEL_KIMI_K2_7_CODE_HIGHSPEED,
|
|
45
47
|
kimi_1.MODEL_KIMI_K2_6,
|
|
@@ -93,6 +95,12 @@ class KimiChatServiceProvider {
|
|
|
93
95
|
return value.replace(/\/+$/, '');
|
|
94
96
|
}
|
|
95
97
|
resolveThinking(model, tools, thinking) {
|
|
98
|
+
if ((0, kimi_1.isKimiReasoningEffortModel)(model)) {
|
|
99
|
+
if (thinking) {
|
|
100
|
+
throw new Error(`Model ${model} uses reasoning_effort and does not support the K2.x thinking option.`);
|
|
101
|
+
}
|
|
102
|
+
return undefined;
|
|
103
|
+
}
|
|
96
104
|
if ((0, kimi_1.isKimiThinkingRequiredModel)(model)) {
|
|
97
105
|
if (thinking?.type === 'disabled') {
|
|
98
106
|
throw new Error(`Model ${model} requires thinking mode and does not support thinking: disabled.`);
|
|
@@ -104,6 +112,20 @@ class KimiChatServiceProvider {
|
|
|
104
112
|
}
|
|
105
113
|
return thinking ?? this.defaultThinking;
|
|
106
114
|
}
|
|
115
|
+
resolveReasoningEffort(model, reasoningEffort) {
|
|
116
|
+
const supported = (0, kimi_1.getKimiSupportedReasoningEfforts)(model);
|
|
117
|
+
if (supported.length === 0) {
|
|
118
|
+
if (reasoningEffort !== undefined) {
|
|
119
|
+
throw new Error(`Model ${model} does not support the reasoning_effort option.`);
|
|
120
|
+
}
|
|
121
|
+
return undefined;
|
|
122
|
+
}
|
|
123
|
+
const resolved = reasoningEffort ?? supported[0];
|
|
124
|
+
if (!supported.includes(resolved)) {
|
|
125
|
+
throw new Error(`Model ${model} supports reasoning_effort values: ${supported.join(', ')}.`);
|
|
126
|
+
}
|
|
127
|
+
return resolved;
|
|
128
|
+
}
|
|
107
129
|
}
|
|
108
130
|
exports.KimiChatServiceProvider = KimiChatServiceProvider;
|
|
109
131
|
//# sourceMappingURL=KimiChatServiceProvider.js.map
|
|
@@ -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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"}
|
package/dist/cjs/types/chat.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AITuber OnAir Core type definitions
|
|
3
3
|
*/
|
|
4
|
+
import type { ChatCompletionToolCall } from './toolChat';
|
|
4
5
|
/**
|
|
5
6
|
* Chat message basic type
|
|
6
7
|
*/
|
|
@@ -8,6 +9,14 @@ export interface Message {
|
|
|
8
9
|
role: 'system' | 'user' | 'assistant' | 'tool';
|
|
9
10
|
content: string;
|
|
10
11
|
timestamp?: number;
|
|
12
|
+
/** Provider reasoning state that must be preserved for some models. */
|
|
13
|
+
reasoning_content?: string;
|
|
14
|
+
/** OpenAI-compatible assistant tool calls. */
|
|
15
|
+
tool_calls?: ChatCompletionToolCall[];
|
|
16
|
+
/** OpenAI-compatible tool result reference. */
|
|
17
|
+
tool_call_id?: string;
|
|
18
|
+
/** Optional message or tool name. */
|
|
19
|
+
name?: string;
|
|
11
20
|
}
|
|
12
21
|
/**
|
|
13
22
|
* Vision block type for image content
|
|
@@ -25,8 +34,7 @@ export type VisionBlock = {
|
|
|
25
34
|
/**
|
|
26
35
|
* Message type corresponding to vision (image)
|
|
27
36
|
*/
|
|
28
|
-
export interface MessageWithVision {
|
|
29
|
-
role: 'system' | 'user' | 'assistant' | 'tool';
|
|
37
|
+
export interface MessageWithVision extends Omit<Message, 'content'> {
|
|
30
38
|
content: string | VisionBlock[];
|
|
31
39
|
}
|
|
32
40
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/types/chat.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/types/chat.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,UAAU,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACtC,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE;QACT,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;KAClC,CAAC;CACH,CAAC;AAEN;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC;IACjE,OAAO,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;CACjC;AAED;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -14,6 +14,24 @@ export interface ToolResultBlock {
|
|
|
14
14
|
content: string;
|
|
15
15
|
}
|
|
16
16
|
export type CoreToolChatBlock = TextBlock | ToolUseBlock | ToolResultBlock;
|
|
17
|
+
export interface ChatCompletionToolCall {
|
|
18
|
+
id: string;
|
|
19
|
+
type: 'function';
|
|
20
|
+
function: {
|
|
21
|
+
name: string;
|
|
22
|
+
arguments: string;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Assistant message that can be appended to OpenAI-compatible chat history.
|
|
27
|
+
*/
|
|
28
|
+
export interface ChatCompletionAssistantMessage {
|
|
29
|
+
role: 'assistant';
|
|
30
|
+
content: string;
|
|
31
|
+
reasoning_content?: string;
|
|
32
|
+
tool_calls?: ChatCompletionToolCall[];
|
|
33
|
+
[key: string]: unknown;
|
|
34
|
+
}
|
|
17
35
|
export interface ToolChatCompletion<B = CoreToolChatBlock> {
|
|
18
36
|
blocks: B[];
|
|
19
37
|
stop_reason: 'tool_use' | 'end';
|
|
@@ -25,6 +43,8 @@ export interface ToolChatCompletion<B = CoreToolChatBlock> {
|
|
|
25
43
|
[key: string]: any;
|
|
26
44
|
} | null;
|
|
27
45
|
usage?: Record<string, any>;
|
|
46
|
+
/** Complete assistant message for provider-compatible multi-turn history. */
|
|
47
|
+
assistant_message?: ChatCompletionAssistantMessage;
|
|
28
48
|
}
|
|
29
49
|
export type ToolChatBlock = CoreToolChatBlock;
|
|
30
50
|
export type ToolDefinition = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolChat.d.ts","sourceRoot":"","sources":["../../../src/types/toolChat.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,GAAG;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,CAAC;CACV;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,YAAY,GAAG,eAAe,CAAC;AAE3E,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,iBAAiB;IACvD,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,WAAW,EAAE,UAAU,GAAG,KAAK,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI,CAAC;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"toolChat.d.ts","sourceRoot":"","sources":["../../../src/types/toolChat.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,GAAG;IACnC,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,CAAC;CACV;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,YAAY,GAAG,eAAe,CAAC;AAE3E,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACtC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,iBAAiB;IACvD,MAAM,EAAE,CAAC,EAAE,CAAC;IACZ,WAAW,EAAE,UAAU,GAAG,KAAK,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI,CAAC;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,6EAA6E;IAC7E,iBAAiB,CAAC,EAAE,8BAA8B,CAAC;CACpD;AACD,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAE9C,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CACjB,MAAM,EACN;YACE,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;YACb,KAAK,CAAC,EAAE,GAAG,CAAC;YACZ,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;YACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;SACpB,CACF,CAAC;QACF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;IACF,MAAM,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACjC,CAAC"}
|
|
@@ -3,6 +3,7 @@ import type { JsonParseErrorHandler } from './safeJsonParse';
|
|
|
3
3
|
type SseParseOptions = {
|
|
4
4
|
onJsonError?: JsonParseErrorHandler;
|
|
5
5
|
appendTextBlock?: (blocks: ToolChatBlock[], text: string) => void;
|
|
6
|
+
preserveAssistantMessage?: boolean;
|
|
6
7
|
};
|
|
7
8
|
export declare function parseOpenAICompatibleTextStream(res: Response, onPartial: (text: string) => void, options?: SseParseOptions): Promise<string>;
|
|
8
9
|
export declare function parseOpenAICompatibleToolStream(res: Response, onPartial: (text: string) => void, options?: SseParseOptions): Promise<ToolChatCompletion>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openaiCompatibleSse.d.ts","sourceRoot":"","sources":["../../../src/utils/openaiCompatibleSse.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"openaiCompatibleSse.d.ts","sourceRoot":"","sources":["../../../src/utils/openaiCompatibleSse.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,aAAa,EACb,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAI7D,KAAK,eAAe,GAAG;IACrB,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClE,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AAiFF,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACjC,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAejB;AAED,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACjC,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CA8F7B;AAED,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,GAAG,EACT,OAAO,GAAE,eAAoB,GAC5B,kBAAkB,CA2CpB"}
|
|
@@ -86,6 +86,8 @@ async function parseOpenAICompatibleTextStream(res, onPartial, options = {}) {
|
|
|
86
86
|
async function parseOpenAICompatibleToolStream(res, onPartial, options = {}) {
|
|
87
87
|
const textBlocks = [];
|
|
88
88
|
const toolCallsMap = new Map();
|
|
89
|
+
let fullContent = '';
|
|
90
|
+
let reasoningContent = '';
|
|
89
91
|
let finishReason;
|
|
90
92
|
let usage;
|
|
91
93
|
const appendTextBlock = options.appendTextBlock ?? streamTextAccumulator_1.StreamTextAccumulator.append;
|
|
@@ -105,14 +107,26 @@ async function parseOpenAICompatibleToolStream(res, onPartial, options = {}) {
|
|
|
105
107
|
if (content) {
|
|
106
108
|
onPartial(content);
|
|
107
109
|
appendTextBlock(textBlocks, content);
|
|
110
|
+
fullContent += content;
|
|
111
|
+
}
|
|
112
|
+
const reasoning = extractTextContent(delta?.reasoning_content);
|
|
113
|
+
if (reasoning) {
|
|
114
|
+
reasoningContent += reasoning;
|
|
108
115
|
}
|
|
109
116
|
if (delta?.tool_calls) {
|
|
110
117
|
delta.tool_calls.forEach((c) => {
|
|
111
118
|
const entry = toolCallsMap.get(c.index) ?? {
|
|
112
119
|
id: c.id,
|
|
120
|
+
type: c.type,
|
|
113
121
|
name: c.function?.name,
|
|
114
122
|
args: '',
|
|
115
123
|
};
|
|
124
|
+
if (c.id)
|
|
125
|
+
entry.id = c.id;
|
|
126
|
+
if (c.type)
|
|
127
|
+
entry.type = c.type;
|
|
128
|
+
if (c.function?.name)
|
|
129
|
+
entry.name = c.function.name;
|
|
116
130
|
entry.args += c.function?.arguments || '';
|
|
117
131
|
toolCallsMap.set(c.index, entry);
|
|
118
132
|
});
|
|
@@ -127,17 +141,39 @@ async function parseOpenAICompatibleToolStream(res, onPartial, options = {}) {
|
|
|
127
141
|
input: (0, safeJsonParse_1.safeParseToolCallInput)(e.args, options.onJsonError),
|
|
128
142
|
}));
|
|
129
143
|
const blocks = [...textBlocks, ...toolBlocks];
|
|
144
|
+
const assistantToolCalls = Array.from(toolCallsMap.entries())
|
|
145
|
+
.sort((a, b) => a[0] - b[0])
|
|
146
|
+
.map(([_, entry]) => ({
|
|
147
|
+
id: entry.id,
|
|
148
|
+
type: 'function',
|
|
149
|
+
function: {
|
|
150
|
+
name: entry.name,
|
|
151
|
+
arguments: entry.args,
|
|
152
|
+
},
|
|
153
|
+
}));
|
|
154
|
+
const assistantMessage = {
|
|
155
|
+
role: 'assistant',
|
|
156
|
+
content: fullContent,
|
|
157
|
+
...(reasoningContent ? { reasoning_content: reasoningContent } : {}),
|
|
158
|
+
...(assistantToolCalls.length > 0
|
|
159
|
+
? { tool_calls: assistantToolCalls }
|
|
160
|
+
: {}),
|
|
161
|
+
};
|
|
130
162
|
return {
|
|
131
163
|
blocks,
|
|
132
164
|
stop_reason: toolBlocks.length ? 'tool_use' : 'end',
|
|
133
165
|
truncated: finishReason === 'length',
|
|
134
166
|
finish_reason: finishReason,
|
|
135
167
|
usage,
|
|
168
|
+
...(options.preserveAssistantMessage
|
|
169
|
+
? { assistant_message: assistantMessage }
|
|
170
|
+
: {}),
|
|
136
171
|
};
|
|
137
172
|
}
|
|
138
173
|
function parseOpenAICompatibleOneShot(data, options = {}) {
|
|
139
174
|
const choice = data?.choices?.[0];
|
|
140
175
|
const blocks = [];
|
|
176
|
+
const content = extractTextContent(choice?.message?.content);
|
|
141
177
|
if (choice?.message?.tool_calls?.length) {
|
|
142
178
|
choice.message.tool_calls.forEach((c) => blocks.push({
|
|
143
179
|
type: 'tool_use',
|
|
@@ -146,12 +182,16 @@ function parseOpenAICompatibleOneShot(data, options = {}) {
|
|
|
146
182
|
input: (0, safeJsonParse_1.safeParseToolCallInput)(c.function?.arguments, options.onJsonError),
|
|
147
183
|
}));
|
|
148
184
|
}
|
|
149
|
-
else {
|
|
150
|
-
|
|
151
|
-
if (content) {
|
|
152
|
-
blocks.push({ type: 'text', text: content });
|
|
153
|
-
}
|
|
185
|
+
else if (content) {
|
|
186
|
+
blocks.push({ type: 'text', text: content });
|
|
154
187
|
}
|
|
188
|
+
const assistantMessage = choice?.message
|
|
189
|
+
? {
|
|
190
|
+
...choice.message,
|
|
191
|
+
role: 'assistant',
|
|
192
|
+
content,
|
|
193
|
+
}
|
|
194
|
+
: undefined;
|
|
155
195
|
return {
|
|
156
196
|
blocks,
|
|
157
197
|
stop_reason: choice?.finish_reason === 'tool_calls' ||
|
|
@@ -161,6 +201,9 @@ function parseOpenAICompatibleOneShot(data, options = {}) {
|
|
|
161
201
|
truncated: choice?.finish_reason === 'length',
|
|
162
202
|
finish_reason: choice?.finish_reason,
|
|
163
203
|
usage: data?.usage,
|
|
204
|
+
...(options.preserveAssistantMessage
|
|
205
|
+
? { assistant_message: assistantMessage }
|
|
206
|
+
: {}),
|
|
164
207
|
};
|
|
165
208
|
}
|
|
166
209
|
//# sourceMappingURL=openaiCompatibleSse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openaiCompatibleSse.js","sourceRoot":"","sources":["../../../src/utils/openaiCompatibleSse.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"openaiCompatibleSse.js","sourceRoot":"","sources":["../../../src/utils/openaiCompatibleSse.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ToolChatBlock, ToolChatCompletion } from '../types';
|
|
2
2
|
type ProcessChatFlowOptions<B = ToolChatBlock> = {
|
|
3
3
|
hasTools: boolean;
|
|
4
|
-
runWithoutTools: () => Promise<string
|
|
4
|
+
runWithoutTools: () => Promise<string | ToolChatCompletion<B>>;
|
|
5
5
|
runWithTools: () => Promise<ToolChatCompletion<B>>;
|
|
6
|
-
onCompleteResponse: (text: string) => Promise<void>;
|
|
6
|
+
onCompleteResponse: (text: string, completion?: ToolChatCompletion<B>) => Promise<void>;
|
|
7
7
|
toolErrorMessage: string;
|
|
8
8
|
onToolBlocks?: (blocks: B[]) => void;
|
|
9
9
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processChatFlow.d.ts","sourceRoot":"","sources":["../../../src/utils/processChatFlow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAG7D,KAAK,sBAAsB,CAAC,CAAC,GAAG,aAAa,IAAI;IAC/C,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"processChatFlow.d.ts","sourceRoot":"","sources":["../../../src/utils/processChatFlow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAG7D,KAAK,sBAAsB,CAAC,CAAC,GAAG,aAAa,IAAI;IAC/C,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,YAAY,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IACnD,kBAAkB,EAAE,CAClB,IAAI,EAAE,MAAM,EACZ,UAAU,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CACtC,CAAC;AAEF,wBAAsB,4BAA4B,CAAC,CAAC,GAAG,aAAa,EAClE,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
|
|
@@ -4,8 +4,13 @@ exports.processChatWithOptionalTools = processChatWithOptionalTools;
|
|
|
4
4
|
const streamTextAccumulator_1 = require("./streamTextAccumulator");
|
|
5
5
|
async function processChatWithOptionalTools(options) {
|
|
6
6
|
if (!options.hasTools) {
|
|
7
|
-
const
|
|
8
|
-
|
|
7
|
+
const result = await options.runWithoutTools();
|
|
8
|
+
if (typeof result === 'string') {
|
|
9
|
+
await options.onCompleteResponse(result);
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const full = streamTextAccumulator_1.StreamTextAccumulator.getFullText(result.blocks);
|
|
13
|
+
await options.onCompleteResponse(full, result);
|
|
9
14
|
return;
|
|
10
15
|
}
|
|
11
16
|
const result = await options.runWithTools();
|
|
@@ -14,7 +19,7 @@ async function processChatWithOptionalTools(options) {
|
|
|
14
19
|
}
|
|
15
20
|
if (result.stop_reason === 'end') {
|
|
16
21
|
const full = streamTextAccumulator_1.StreamTextAccumulator.getFullText(result.blocks);
|
|
17
|
-
await options.onCompleteResponse(full);
|
|
22
|
+
await options.onCompleteResponse(full, result);
|
|
18
23
|
return;
|
|
19
24
|
}
|
|
20
25
|
throw new Error(options.toolErrorMessage);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processChatFlow.js","sourceRoot":"","sources":["../../../src/utils/processChatFlow.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"processChatFlow.js","sourceRoot":"","sources":["../../../src/utils/processChatFlow.ts"],"names":[],"mappings":";;AAeA,oEA+BC;AA7CD,mEAAgE;AAczD,KAAK,UAAU,4BAA4B,CAChD,OAAkC;IAElC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;QAC/C,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACzC,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,6CAAqB,CAAC,WAAW,CAC5C,MAAM,CAAC,MAAyB,CACjC,CAAC;QACF,MAAM,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;IAC5C,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,6CAAqB,CAAC,WAAW,CAC5C,MAAM,CAAC,MAAyB,CACjC,CAAC;QACF,MAAM,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export declare const ENDPOINT_GEMINI_API = "https://generativelanguage.googleapis.com";
|
|
2
2
|
export declare const MODEL_GEMMA_4_31B_IT = "gemma-4-31b-it";
|
|
3
3
|
export declare const MODEL_GEMMA_4_26B_A4B_IT = "gemma-4-26b-a4b-it";
|
|
4
|
+
export declare const MODEL_GEMINI_3_6_FLASH = "gemini-3.6-flash";
|
|
4
5
|
export declare const MODEL_GEMINI_3_5_FLASH = "gemini-3.5-flash";
|
|
6
|
+
export declare const MODEL_GEMINI_3_5_FLASH_LITE = "gemini-3.5-flash-lite";
|
|
5
7
|
export declare const MODEL_GEMINI_3_1_PRO_PREVIEW = "gemini-3.1-pro-preview";
|
|
6
8
|
export declare const MODEL_GEMINI_3_1_FLASH_LITE = "gemini-3.1-flash-lite";
|
|
7
9
|
/** @deprecated Use MODEL_GEMINI_3_1_FLASH_LITE instead. */
|
|
@@ -17,4 +19,19 @@ export declare const MODEL_GEMINI_2_5_FLASH_LITE_PREVIEW_06_17 = "gemini-2.5-fla
|
|
|
17
19
|
export declare const GEMINI_RECOMMENDED_MODELS: string[];
|
|
18
20
|
export declare const GEMINI_DEPRECATED_MODELS: string[];
|
|
19
21
|
export declare const GEMINI_VISION_SUPPORTED_MODELS: string[];
|
|
22
|
+
export type GeminiReasoningEffort = 'minimal' | 'low' | 'medium' | 'high';
|
|
23
|
+
/**
|
|
24
|
+
* Return the reasoning effort values supported by a Gemini 3 model.
|
|
25
|
+
* Gemini 2.5 uses thinkingBudget instead and is intentionally excluded.
|
|
26
|
+
*/
|
|
27
|
+
export declare function getGeminiSupportedReasoningEfforts(model: string): readonly GeminiReasoningEffort[];
|
|
28
|
+
export declare function isGeminiReasoningEffortModel(model: string): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Chat-oriented default: minimal for Flash families, low for Pro families.
|
|
31
|
+
*/
|
|
32
|
+
export declare function getDefaultGeminiReasoningEffort(model: string): GeminiReasoningEffort | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Normalize an effort to the closest low-latency value supported by the model.
|
|
35
|
+
*/
|
|
36
|
+
export declare function normalizeGeminiReasoningEffort(model: string, effort?: GeminiReasoningEffort): GeminiReasoningEffort | undefined;
|
|
20
37
|
//# sourceMappingURL=gemini.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/constants/gemini.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,mBAAmB,8CAA8C,CAAC;AAG/E,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAC7D,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AACzD,eAAO,MAAM,4BAA4B,2BAA2B,CAAC;AACrE,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AACnE,2DAA2D;AAC3D,eAAO,MAAM,mCAAmC,kCACf,CAAC;AAClC,4DAA4D;AAC5D,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AACjE,eAAO,MAAM,4BAA4B,2BAA2B,CAAC;AACrE,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AACzD,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AACnE,2DAA2D;AAC3D,eAAO,MAAM,yCAAyC,wCACf,CAAC;AAExC,eAAO,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../src/constants/gemini.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,mBAAmB,8CAA8C,CAAC;AAG/E,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAC7D,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AACzD,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AACzD,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AACnE,eAAO,MAAM,4BAA4B,2BAA2B,CAAC;AACrE,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AACnE,2DAA2D;AAC3D,eAAO,MAAM,mCAAmC,kCACf,CAAC;AAClC,4DAA4D;AAC5D,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AACjE,eAAO,MAAM,4BAA4B,2BAA2B,CAAC;AACrE,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,sBAAsB,qBAAqB,CAAC;AACzD,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AACnE,2DAA2D;AAC3D,eAAO,MAAM,yCAAyC,wCACf,CAAC;AAExC,eAAO,MAAM,yBAAyB,UAYrC,CAAC;AAEF,eAAO,MAAM,wBAAwB,UAIpC,CAAC;AAIF,eAAO,MAAM,8BAA8B,UAG1C,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AA6B1E;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,MAAM,GACZ,SAAS,qBAAqB,EAAE,CAUlC;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnE;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,MAAM,GACZ,qBAAqB,GAAG,SAAS,CAEnC;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,qBAAqB,GAC7B,qBAAqB,GAAG,SAAS,CAWnC"}
|