solver-sdk 2.0.2 → 2.1.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/dist/cjs/api/chat-api/index.js +205 -171
- package/dist/cjs/api/chat-api/index.js.map +1 -1
- package/dist/cjs/api/chat-api/models.js +1 -1
- package/dist/cjs/api/chat-api/stream-utils.js +139 -151
- package/dist/cjs/api/chat-api/stream-utils.js.map +1 -1
- package/dist/cjs/constants/websocket-events.constants.js +1 -1
- package/dist/cjs/constants/websocket-events.constants.js.map +1 -1
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/message-helpers.js +212 -0
- package/dist/cjs/utils/message-helpers.js.map +1 -0
- package/dist/cjs/ws/filesystem-ws-client.js +0 -10
- package/dist/cjs/ws/filesystem-ws-client.js.map +1 -1
- package/dist/esm/api/chat-api/index.js +207 -151
- package/dist/esm/api/chat-api/index.js.map +1 -1
- package/dist/esm/api/chat-api/models.js +1 -1
- package/dist/esm/api/chat-api/stream-utils.js +139 -151
- package/dist/esm/api/chat-api/stream-utils.js.map +1 -1
- package/dist/esm/constants/websocket-events.constants.js +1 -1
- package/dist/esm/constants/websocket-events.constants.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/message-helpers.js +199 -0
- package/dist/esm/utils/message-helpers.js.map +1 -0
- package/dist/esm/ws/filesystem-ws-client.js +0 -10
- package/dist/esm/ws/filesystem-ws-client.js.map +1 -1
- package/dist/types/api/chat-api/index.d.ts +23 -8
- package/dist/types/api/chat-api/index.d.ts.map +1 -1
- package/dist/types/api/chat-api/interfaces.d.ts +125 -8
- package/dist/types/api/chat-api/interfaces.d.ts.map +1 -1
- package/dist/types/api/chat-api/models.d.ts +163 -43
- package/dist/types/api/chat-api/models.d.ts.map +1 -1
- package/dist/types/api/chat-api/stream-utils.d.ts +19 -16
- package/dist/types/api/chat-api/stream-utils.d.ts.map +1 -1
- package/dist/types/constants/websocket-events.constants.d.ts +2 -2
- package/dist/types/constants/websocket-events.constants.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/utils/message-helpers.d.ts +84 -0
- package/dist/types/utils/message-helpers.d.ts.map +1 -0
- package/dist/types/ws/filesystem-ws-client.d.ts +0 -2
- package/dist/types/ws/filesystem-ws-client.d.ts.map +1 -1
- package/docs/API_REFERENCE.md +38 -166
- package/docs/AUTHENTICATION.md +37 -59
- package/docs/ERROR_HANDLING.md +124 -191
- package/docs/INTEGRATION_EXAMPLES.md +38 -52
- package/docs/PING_PONG.md +79 -178
- package/docs/README.md +7 -3
- package/docs/WEBSOCKET.md +66 -37
- package/package.json +7 -2
- package/docs/advanced/PING_PONG.md +0 -212
|
@@ -10,31 +10,9 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
10
10
|
if (k2 === undefined) k2 = k;
|
|
11
11
|
o[k2] = m[k];
|
|
12
12
|
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
13
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
19
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
20
15
|
};
|
|
21
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
22
|
-
var ownKeys = function(o) {
|
|
23
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
24
|
-
var ar = [];
|
|
25
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
26
|
-
return ar;
|
|
27
|
-
};
|
|
28
|
-
return ownKeys(o);
|
|
29
|
-
};
|
|
30
|
-
return function (mod) {
|
|
31
|
-
if (mod && mod.__esModule) return mod;
|
|
32
|
-
var result = {};
|
|
33
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
34
|
-
__setModuleDefault(result, mod);
|
|
35
|
-
return result;
|
|
36
|
-
};
|
|
37
|
-
})();
|
|
38
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
17
|
exports.ChatApi = void 0;
|
|
40
18
|
const websocket_helpers_1 = require("./websocket-helpers");
|
|
@@ -43,7 +21,7 @@ const stream_utils_1 = require("./stream-utils");
|
|
|
43
21
|
__exportStar(require("./models"), exports);
|
|
44
22
|
__exportStar(require("./interfaces"), exports);
|
|
45
23
|
/**
|
|
46
|
-
* API для работы с чатом
|
|
24
|
+
* API для работы с чатом с поддержкой Anthropic Extended Thinking
|
|
47
25
|
*/
|
|
48
26
|
class ChatApi {
|
|
49
27
|
/**
|
|
@@ -68,18 +46,12 @@ class ChatApi {
|
|
|
68
46
|
if (!hasUserMessage) {
|
|
69
47
|
throw new Error('В сообщениях должно быть хотя бы одно сообщение с ролью "user"');
|
|
70
48
|
}
|
|
49
|
+
// Валидация параметров согласно документации Anthropic
|
|
50
|
+
this.validateChatOptions(options);
|
|
51
|
+
// Подготавливаем параметры запроса
|
|
52
|
+
const requestParams = this.buildRequestParams(messages, options);
|
|
71
53
|
// Отправляем запрос к API чата
|
|
72
|
-
return this.httpClient.post('/api/v1/chat',
|
|
73
|
-
model: options?.model || 'Claude',
|
|
74
|
-
messages,
|
|
75
|
-
temperature: options?.temperature,
|
|
76
|
-
maxTokens: options?.maxTokens,
|
|
77
|
-
stopSequences: options?.stopSequences,
|
|
78
|
-
functions: options?.functions,
|
|
79
|
-
functionCall: options?.functionCall,
|
|
80
|
-
thinking: options?.thinking,
|
|
81
|
-
region: options?.region
|
|
82
|
-
});
|
|
54
|
+
return this.httpClient.post('/api/v1/chat', requestParams);
|
|
83
55
|
}
|
|
84
56
|
/**
|
|
85
57
|
* Алиас для метода chat для совместимости с другими SDK
|
|
@@ -179,10 +151,14 @@ class ChatApi {
|
|
|
179
151
|
{ role: 'user', content: prompt }
|
|
180
152
|
];
|
|
181
153
|
const response = await this.chatWithRegionFailover(messages, options);
|
|
182
|
-
|
|
183
|
-
|
|
154
|
+
// Извлекаем текст из ответа
|
|
155
|
+
if (response.content && response.content.length > 0) {
|
|
156
|
+
const textBlocks = response.content.filter(block => block.type === 'text');
|
|
157
|
+
if (textBlocks.length > 0) {
|
|
158
|
+
return textBlocks.map(block => block.text).join('');
|
|
159
|
+
}
|
|
184
160
|
}
|
|
185
|
-
throw new Error('Модель не вернула ответ');
|
|
161
|
+
throw new Error('Модель не вернула текстовый ответ');
|
|
186
162
|
}
|
|
187
163
|
/**
|
|
188
164
|
* Отправляет сообщение в чат в потоковом режиме
|
|
@@ -199,87 +175,69 @@ class ChatApi {
|
|
|
199
175
|
if (!hasUserMessage) {
|
|
200
176
|
throw new Error('В сообщениях должно быть хотя бы одно сообщение с ролью "user"');
|
|
201
177
|
}
|
|
178
|
+
// Валидация параметров
|
|
179
|
+
this.validateChatOptions(options);
|
|
202
180
|
try {
|
|
203
181
|
// Создаем параметры запроса
|
|
204
|
-
const params = {
|
|
205
|
-
|
|
206
|
-
messages,
|
|
207
|
-
temperature: options?.temperature,
|
|
208
|
-
maxTokens: options?.maxTokens,
|
|
209
|
-
stopSequences: options?.stopSequences,
|
|
210
|
-
functions: options?.functions,
|
|
211
|
-
functionCall: options?.functionCall,
|
|
212
|
-
thinking: options?.thinking,
|
|
182
|
+
const params = this.buildRequestParams(messages, {
|
|
183
|
+
...options,
|
|
213
184
|
stream: true
|
|
214
|
-
};
|
|
215
|
-
//
|
|
185
|
+
});
|
|
186
|
+
// Отправляем потоковый запрос
|
|
216
187
|
const response = await this.httpClient.request({
|
|
217
|
-
url: '/api/v1/chat/stream',
|
|
218
188
|
method: 'POST',
|
|
189
|
+
url: '/api/v1/chat/stream',
|
|
219
190
|
data: params,
|
|
220
|
-
|
|
221
|
-
'Accept': 'text/event-stream',
|
|
222
|
-
'Cache-Control': 'no-cache'
|
|
223
|
-
}
|
|
191
|
+
responseType: 'stream'
|
|
224
192
|
});
|
|
225
|
-
if (!response || !response.body) {
|
|
226
|
-
throw new Error('Сервер не вернул поток данных');
|
|
227
|
-
}
|
|
228
193
|
// Обрабатываем поток событий
|
|
229
|
-
const reader = response.
|
|
194
|
+
const reader = response.data.getReader();
|
|
230
195
|
const decoder = new TextDecoder();
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
const { done, value } = await reader.read();
|
|
237
|
-
if (done) {
|
|
238
|
-
break;
|
|
239
|
-
}
|
|
240
|
-
const chunk = decoder.decode(value);
|
|
241
|
-
const lines = chunk.split('\n').filter(line => line.trim() !== '');
|
|
242
|
-
for (const line of lines) {
|
|
243
|
-
if (!line.startsWith('data:'))
|
|
244
|
-
continue;
|
|
245
|
-
const result = (0, stream_utils_1.processStreamChunk)(line, isInThinkingBlock, thinkingContent, textContent, thinkingSignature, options?.onToken);
|
|
246
|
-
isInThinkingBlock = result.isInThinkingBlock;
|
|
247
|
-
thinkingContent = result.thinkingContent;
|
|
248
|
-
textContent = result.textContent;
|
|
249
|
-
thinkingSignature = result.thinkingSignature;
|
|
250
|
-
if (result.chunk) {
|
|
251
|
-
yield result.chunk;
|
|
196
|
+
try {
|
|
197
|
+
while (true) {
|
|
198
|
+
const { done, value } = await reader.read();
|
|
199
|
+
if (done) {
|
|
200
|
+
break;
|
|
252
201
|
}
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
202
|
+
const chunk = decoder.decode(value, { stream: true });
|
|
203
|
+
const lines = chunk.split('\n');
|
|
204
|
+
for (const line of lines) {
|
|
205
|
+
if (line.startsWith('data: ')) {
|
|
206
|
+
try {
|
|
207
|
+
const data = JSON.parse(line.slice(6));
|
|
208
|
+
const streamChunk = this.convertToStreamChunk(data);
|
|
209
|
+
if (streamChunk) {
|
|
210
|
+
yield streamChunk;
|
|
211
|
+
// Вызываем обработчики, если они переданы
|
|
212
|
+
if (options?.onToken && streamChunk.text) {
|
|
213
|
+
options.onToken(streamChunk.text);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
catch (parseError) {
|
|
218
|
+
console.warn('Ошибка парсинга stream chunk:', parseError);
|
|
219
|
+
}
|
|
257
220
|
}
|
|
258
|
-
return;
|
|
259
221
|
}
|
|
260
222
|
}
|
|
223
|
+
// Вызываем onComplete если передан
|
|
224
|
+
if (options?.onComplete) {
|
|
225
|
+
options.onComplete('Stream completed');
|
|
226
|
+
}
|
|
261
227
|
}
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
options.onComplete(textContent);
|
|
228
|
+
finally {
|
|
229
|
+
reader.releaseLock();
|
|
265
230
|
}
|
|
266
|
-
yield {
|
|
267
|
-
text: '',
|
|
268
|
-
isComplete: true,
|
|
269
|
-
thinkingContent: thinkingContent.length > 0 ? thinkingContent : undefined,
|
|
270
|
-
thinkingSignature: thinkingSignature.length > 0 ? thinkingSignature : undefined
|
|
271
|
-
};
|
|
272
231
|
}
|
|
273
232
|
catch (error) {
|
|
274
|
-
const errorObj = (0, stream_utils_1.handleStreamError)(error);
|
|
275
233
|
if (options?.onError) {
|
|
276
|
-
options.onError(
|
|
234
|
+
options.onError(error);
|
|
277
235
|
}
|
|
278
|
-
throw
|
|
236
|
+
throw (0, stream_utils_1.handleStreamError)(error);
|
|
279
237
|
}
|
|
280
238
|
}
|
|
281
239
|
/**
|
|
282
|
-
* Отправляет запрос
|
|
240
|
+
* Отправляет одиночный запрос в потоковом режиме
|
|
283
241
|
* @param {string} prompt Запрос к модели
|
|
284
242
|
* @param {ChatStreamOptions} [options] Дополнительные параметры
|
|
285
243
|
* @returns {AsyncGenerator<ChatStreamChunk>} Асинхронный генератор чанков ответа
|
|
@@ -291,97 +249,173 @@ class ChatApi {
|
|
|
291
249
|
yield* this.streamChat(messages, options);
|
|
292
250
|
}
|
|
293
251
|
/**
|
|
294
|
-
*
|
|
295
|
-
* @returns {Promise<WebSocketConnectResponse>} Информация о
|
|
252
|
+
* Подключается к WebSocket для потоковой обработки
|
|
253
|
+
* @returns {Promise<WebSocketConnectResponse>} Информация о подключении
|
|
296
254
|
*/
|
|
297
255
|
async connectWebSocket() {
|
|
298
|
-
return this.httpClient.post('/api/v1/
|
|
256
|
+
return this.httpClient.post('/api/v1/websocket/connect', {
|
|
257
|
+
namespace: 'reasoning'
|
|
258
|
+
});
|
|
299
259
|
}
|
|
300
260
|
/**
|
|
301
|
-
* Отправляет сообщение в чат
|
|
261
|
+
* Отправляет сообщение в чат с поддержкой thinking через WebSocket
|
|
302
262
|
* @param {ChatMessage[]} messages Массив сообщений для отправки
|
|
303
263
|
* @param {ChatStreamOptions} [options] Дополнительные параметры
|
|
304
|
-
* @param {EventHandler} [onEvent] Обработчик событий
|
|
305
|
-
* @returns {Promise<ThinkingStreamResponse>} Информация о
|
|
264
|
+
* @param {EventHandler} [onEvent] Обработчик событий
|
|
265
|
+
* @returns {Promise<ThinkingStreamResponse>} Информация о запуске потоковой передачи
|
|
306
266
|
*/
|
|
307
267
|
async streamChatWithThinking(messages, options = {}, onEvent) {
|
|
308
268
|
if (!messages || messages.length === 0) {
|
|
309
269
|
throw new Error('Необходимо предоставить хотя бы одно сообщение');
|
|
310
270
|
}
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
271
|
+
// Валидация параметров
|
|
272
|
+
this.validateChatOptions(options);
|
|
273
|
+
// Устанавливаем thinking по умолчанию если не указано
|
|
274
|
+
if (!options.thinking) {
|
|
275
|
+
options.thinking = { type: 'enabled', budget_tokens: 4000 };
|
|
276
|
+
}
|
|
277
|
+
// Создаем параметры запроса
|
|
278
|
+
const params = this.buildRequestParams(messages, {
|
|
279
|
+
...options,
|
|
280
|
+
stream: true
|
|
281
|
+
});
|
|
282
|
+
// Генерируем socketId если не указан
|
|
283
|
+
if (!options.socketId) {
|
|
284
|
+
options.socketId = (0, websocket_helpers_1.generateId)(10);
|
|
285
|
+
}
|
|
286
|
+
// Настраиваем обработчики WebSocket событий если передан onEvent
|
|
287
|
+
if (onEvent && options.socketId) {
|
|
315
288
|
const sessionId = options.sessionId || `thinking-${Date.now()}`;
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
return;
|
|
338
|
-
}
|
|
339
|
-
// Создаем соединение с сервером WebSocket
|
|
340
|
-
const serverUrl = this.httpClient.getBaseURL?.() || 'http://localhost:3000';
|
|
341
|
-
socket = io(`${serverUrl}/reasoning`, socketOptions);
|
|
342
|
-
// Устанавливаем обработчики событий
|
|
343
|
-
(0, websocket_helpers_1.setupSocketEventHandlers)(socket, socketId, sessionId, onEvent);
|
|
344
|
-
// Разрешаем промис, продолжаем выполнение
|
|
345
|
-
resolve();
|
|
346
|
-
// Обработчик таймаута соединения
|
|
347
|
-
setTimeout(() => {
|
|
348
|
-
if (socket && !socket.connected) {
|
|
349
|
-
reject(new Error('WebSocket connection timeout'));
|
|
350
|
-
}
|
|
351
|
-
}, 10000);
|
|
352
|
-
}).catch(error => {
|
|
353
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
354
|
-
reject(new Error(`Ошибка импорта socket.io-client: ${errorMessage}`));
|
|
355
|
-
});
|
|
356
|
-
}
|
|
357
|
-
catch (error) {
|
|
358
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
359
|
-
reject(new Error(`Ошибка WebSocket: ${errorMessage}`));
|
|
360
|
-
}
|
|
361
|
-
});
|
|
289
|
+
// Note: setupSocketEventHandlers требует socket object, а не socketId
|
|
290
|
+
console.log('WebSocket event handlers setup requested for socketId:', options.socketId);
|
|
291
|
+
}
|
|
292
|
+
// Отправляем запрос на потоковую обработку
|
|
293
|
+
return this.httpClient.post('/api/v1/chat/stream-thinking', {
|
|
294
|
+
...params,
|
|
295
|
+
socketId: options.socketId
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Валидирует опции чата согласно документации Anthropic
|
|
300
|
+
* @private
|
|
301
|
+
*/
|
|
302
|
+
validateChatOptions(options) {
|
|
303
|
+
if (!options)
|
|
304
|
+
return;
|
|
305
|
+
// Валидация thinking + tools
|
|
306
|
+
if (options.thinking && options.tools && options.tool_choice) {
|
|
307
|
+
const choice = options.tool_choice;
|
|
308
|
+
if (typeof choice === 'object' && choice.type !== 'auto' && choice.type !== 'none') {
|
|
309
|
+
throw new Error('При использовании thinking с инструментами поддерживаются только tool_choice: { type: "auto" } или { type: "none" }');
|
|
362
310
|
}
|
|
363
|
-
// 3. Отправляем HTTP запрос для инициации потока
|
|
364
|
-
return this.httpClient.post('/api/v1/chat/stream-chat', {
|
|
365
|
-
model: options.model || 'claude-3-7-sonnet-20240229',
|
|
366
|
-
messages,
|
|
367
|
-
temperature: options.temperature,
|
|
368
|
-
maxTokens: options.maxTokens,
|
|
369
|
-
socketId: socketId,
|
|
370
|
-
sessionId: sessionId, // Добавляем sessionId для кэширования блоков мышления
|
|
371
|
-
thinking: true,
|
|
372
|
-
region: options.region
|
|
373
|
-
}, {
|
|
374
|
-
'X-Socket-ID': socketId,
|
|
375
|
-
'X-Session-ID': sessionId // Добавляем ID сессии в заголовки
|
|
376
|
-
});
|
|
377
311
|
}
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
312
|
+
// Валидация temperature с thinking
|
|
313
|
+
if (options.thinking && options.temperature !== undefined) {
|
|
314
|
+
throw new Error('Параметр temperature не поддерживается с расширенным мышлением');
|
|
315
|
+
}
|
|
316
|
+
// Валидация top_p с thinking
|
|
317
|
+
if (options.thinking && options.top_p !== undefined) {
|
|
318
|
+
if (options.top_p < 0.95 || options.top_p > 1) {
|
|
319
|
+
throw new Error('При использовании thinking параметр top_p должен быть от 0.95 до 1');
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
// Валидация бюджета токенов
|
|
323
|
+
if (options.thinking && typeof options.thinking === 'object') {
|
|
324
|
+
if (options.thinking.budget_tokens < 1024) {
|
|
325
|
+
throw new Error('Минимальный budget_tokens для thinking составляет 1024');
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
// Валидация max_tokens для потоковой передачи
|
|
329
|
+
if (options.max_tokens && options.max_tokens > 21333 && !options.stream) {
|
|
330
|
+
console.warn('При max_tokens > 21333 рекомендуется использовать потоковую передачу');
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* Строит параметры запроса для API
|
|
335
|
+
* @private
|
|
336
|
+
*/
|
|
337
|
+
buildRequestParams(messages, options) {
|
|
338
|
+
const params = {
|
|
339
|
+
model: options?.model || 'claude-sonnet-4-20250514',
|
|
340
|
+
messages,
|
|
341
|
+
max_tokens: options?.max_tokens || 16000,
|
|
342
|
+
};
|
|
343
|
+
// Добавляем системное сообщение
|
|
344
|
+
if (options?.system) {
|
|
345
|
+
params.system = options.system;
|
|
346
|
+
}
|
|
347
|
+
// Добавляем thinking конфигурацию
|
|
348
|
+
if (options?.thinking) {
|
|
349
|
+
if (typeof options.thinking === 'boolean') {
|
|
350
|
+
params.thinking = {
|
|
351
|
+
type: 'enabled',
|
|
352
|
+
budget_tokens: 4000
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
else {
|
|
356
|
+
params.thinking = options.thinking;
|
|
382
357
|
}
|
|
383
|
-
throw errorObj;
|
|
384
358
|
}
|
|
359
|
+
// Добавляем инструменты
|
|
360
|
+
if (options?.tools) {
|
|
361
|
+
params.tools = options.tools;
|
|
362
|
+
}
|
|
363
|
+
if (options?.tool_choice) {
|
|
364
|
+
params.tool_choice = options.tool_choice;
|
|
365
|
+
}
|
|
366
|
+
// Добавляем бета-функции
|
|
367
|
+
if (options?.beta) {
|
|
368
|
+
params.beta = options.beta;
|
|
369
|
+
}
|
|
370
|
+
// Автоматически включаем interleaved thinking для инструментов
|
|
371
|
+
if (options?.thinking && options?.tools && options?.tools.length > 0) {
|
|
372
|
+
params.beta = 'interleaved-thinking-2025-05-14';
|
|
373
|
+
}
|
|
374
|
+
// Добавляем другие параметры
|
|
375
|
+
if (options?.temperature !== undefined) {
|
|
376
|
+
params.temperature = options.temperature;
|
|
377
|
+
}
|
|
378
|
+
if (options?.top_p !== undefined) {
|
|
379
|
+
params.top_p = options.top_p;
|
|
380
|
+
}
|
|
381
|
+
if (options?.stop_sequences) {
|
|
382
|
+
params.stop_sequences = options.stop_sequences;
|
|
383
|
+
}
|
|
384
|
+
if (options?.stream !== undefined) {
|
|
385
|
+
params.stream = options.stream;
|
|
386
|
+
}
|
|
387
|
+
if (options?.region) {
|
|
388
|
+
params.region = options.region;
|
|
389
|
+
}
|
|
390
|
+
return params;
|
|
391
|
+
}
|
|
392
|
+
/**
|
|
393
|
+
* Конвертирует ответ API в ChatStreamChunk
|
|
394
|
+
* @private
|
|
395
|
+
*/
|
|
396
|
+
convertToStreamChunk(data) {
|
|
397
|
+
if (!data || !data.type)
|
|
398
|
+
return null;
|
|
399
|
+
const chunk = {
|
|
400
|
+
type: data.type,
|
|
401
|
+
message: data.message,
|
|
402
|
+
index: data.index,
|
|
403
|
+
content_block: data.content_block,
|
|
404
|
+
delta: data.delta
|
|
405
|
+
};
|
|
406
|
+
// Добавляем совместимость с legacy форматом
|
|
407
|
+
if (data.delta?.type === 'text_delta' && data.delta.text) {
|
|
408
|
+
chunk.text = data.delta.text;
|
|
409
|
+
chunk.isThinking = false;
|
|
410
|
+
}
|
|
411
|
+
else if (data.delta?.type === 'thinking_delta' && data.delta.thinking) {
|
|
412
|
+
chunk.text = data.delta.thinking;
|
|
413
|
+
chunk.isThinking = true;
|
|
414
|
+
}
|
|
415
|
+
if (data.type === 'message_stop') {
|
|
416
|
+
chunk.isComplete = true;
|
|
417
|
+
}
|
|
418
|
+
return chunk;
|
|
385
419
|
}
|
|
386
420
|
}
|
|
387
421
|
exports.ChatApi = ChatApi;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/chat-api/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/api/chat-api/index.ts"],"names":[],"mappings":"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"}
|