solver-sdk 1.5.1 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +106 -1
- package/dist/cjs/api/reasoning-api.js.map +1 -1
- package/dist/cjs/utils/code-solver-websocket-client.js +239 -3
- package/dist/cjs/utils/code-solver-websocket-client.js.map +1 -1
- package/dist/cjs/utils/websocket-client.js +67 -4
- package/dist/cjs/utils/websocket-client.js.map +1 -1
- package/dist/esm/api/reasoning-api.js.map +1 -1
- package/dist/esm/utils/code-solver-websocket-client.js +239 -3
- package/dist/esm/utils/code-solver-websocket-client.js.map +1 -1
- package/dist/esm/utils/websocket-client.js +67 -4
- package/dist/esm/utils/websocket-client.js.map +1 -1
- package/dist/types/api/reasoning-api.d.ts +20 -12
- package/dist/types/api/reasoning-api.d.ts.map +1 -1
- package/dist/types/utils/code-solver-websocket-client.d.ts +49 -0
- package/dist/types/utils/code-solver-websocket-client.d.ts.map +1 -1
- package/dist/types/utils/websocket-client.d.ts +18 -3
- package/dist/types/utils/websocket-client.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -469,4 +469,109 @@ const sdk = new CodeSolverSDK({
|
|
|
469
469
|
|
|
470
470
|
- Улучшена совместимость с CommonJS и ESM модулями
|
|
471
471
|
- Добавлена поддержка WebSocket соединений
|
|
472
|
-
- Добавлена встроенная зависимость ws для Node.js
|
|
472
|
+
- Добавлена встроенная зависимость ws для Node.js
|
|
473
|
+
|
|
474
|
+
## Режим мышления (Thinking Mode)
|
|
475
|
+
|
|
476
|
+
Режим мышления позволяет получать промежуточные рассуждения модели в процессе формирования ответа. Это особенно полезно для отладки и понимания логики работы AI.
|
|
477
|
+
|
|
478
|
+
### Использование через REST API
|
|
479
|
+
|
|
480
|
+
```javascript
|
|
481
|
+
const { CodeSolverSDK } = require('solver-sdk');
|
|
482
|
+
|
|
483
|
+
const sdk = new CodeSolverSDK({
|
|
484
|
+
baseURL: 'https://api.example.com',
|
|
485
|
+
apiKey: 'ваш-ключ-api'
|
|
486
|
+
});
|
|
487
|
+
|
|
488
|
+
// Запрос с включенным режимом мышления
|
|
489
|
+
const response = await sdk.chat.chat([
|
|
490
|
+
{ role: 'user', content: 'Как реализовать алгоритм сортировки слиянием?' }
|
|
491
|
+
], {
|
|
492
|
+
model: 'Claude',
|
|
493
|
+
thinking: true // Активируем режим мышления
|
|
494
|
+
});
|
|
495
|
+
|
|
496
|
+
// Вывод хода мыслей
|
|
497
|
+
if (response.choices && response.choices[0] && response.choices[0].thinking) {
|
|
498
|
+
console.log('Ход мыслей модели:');
|
|
499
|
+
console.log(response.choices[0].thinking);
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
// Вывод финального ответа
|
|
503
|
+
console.log('Ответ модели:');
|
|
504
|
+
console.log(response.choices[0].message.content);
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
### Использование через WebSocket (потоковое получение событий мышления)
|
|
508
|
+
|
|
509
|
+
```javascript
|
|
510
|
+
const { CodeSolverSDK } = require('solver-sdk');
|
|
511
|
+
|
|
512
|
+
async function streamThinking() {
|
|
513
|
+
const sdk = new CodeSolverSDK({
|
|
514
|
+
baseURL: 'https://api.example.com',
|
|
515
|
+
apiKey: 'ваш-ключ-api'
|
|
516
|
+
});
|
|
517
|
+
|
|
518
|
+
// Получаем WebSocket клиент
|
|
519
|
+
const wsClient = sdk.getWebSocketClient();
|
|
520
|
+
|
|
521
|
+
// Обработчик событий мышления
|
|
522
|
+
const handleThinking = (data) => {
|
|
523
|
+
console.log('Новый шаг мышления:', data.content);
|
|
524
|
+
};
|
|
525
|
+
|
|
526
|
+
try {
|
|
527
|
+
// Подключаемся к WebSocket серверу с обработчиком мышления
|
|
528
|
+
const reasoningId = await wsClient.connectToThinkingSession('system', handleThinking);
|
|
529
|
+
|
|
530
|
+
// Создаем рассуждение
|
|
531
|
+
const result = await sdk.reasoning.createReasoning({
|
|
532
|
+
projectId: 'project-123',
|
|
533
|
+
query: 'Объясни асинхронное программирование в JavaScript',
|
|
534
|
+
options: {
|
|
535
|
+
thinking: true,
|
|
536
|
+
socketId: wsClient.getSocketId()
|
|
537
|
+
}
|
|
538
|
+
});
|
|
539
|
+
|
|
540
|
+
// Запускаем рассуждение
|
|
541
|
+
await sdk.reasoning.startReasoning(result.id);
|
|
542
|
+
|
|
543
|
+
console.log('Рассуждение запущено, шаги мышления будут приходить через WebSocket');
|
|
544
|
+
} catch (error) {
|
|
545
|
+
console.error('Ошибка:', error);
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
streamThinking();
|
|
550
|
+
```
|
|
551
|
+
|
|
552
|
+
### Примеры использования
|
|
553
|
+
|
|
554
|
+
Полные примеры кода можно найти в директории `examples`:
|
|
555
|
+
- `examples/chat-example.js` - пример использования thinking в чате
|
|
556
|
+
- `examples/thinking-example.js` - пример использования thinking через WebSocket
|
|
557
|
+
|
|
558
|
+
### Параметры режима мышления
|
|
559
|
+
|
|
560
|
+
Параметр `level` позволяет настроить детализацию процесса мышления:
|
|
561
|
+
|
|
562
|
+
- `CONCISE` - краткие шаги рассуждения
|
|
563
|
+
- `STANDARD` - стандартный уровень детализации (по умолчанию)
|
|
564
|
+
- `DETAILED` - подробное рассуждение с промежуточными шагами
|
|
565
|
+
- `VERBOSE` - максимальная детализация процесса мышления
|
|
566
|
+
|
|
567
|
+
```javascript
|
|
568
|
+
const result = await sdk.reasoning.createReasoning({
|
|
569
|
+
projectId: 'project-123',
|
|
570
|
+
query: 'Объясни, как работает blockchain',
|
|
571
|
+
level: 'DETAILED', // Уровень детализации мышления
|
|
572
|
+
options: {
|
|
573
|
+
thinking: true,
|
|
574
|
+
socketId: wsClient.getSocketId()
|
|
575
|
+
}
|
|
576
|
+
});
|
|
577
|
+
```
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasoning-api.js","sourceRoot":"","sources":["../../../src/api/reasoning-api.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"reasoning-api.js","sourceRoot":"","sources":["../../../src/api/reasoning-api.ts"],"names":[],"mappings":";;;AAqLA;;GAEG;AACH,MAAa,YAAY;IAOvB;;;;OAIG;IACH,YAAY,UAAsB,EAAE,WAAyB;QAC3D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,aAAa,CAAC,MAA4B;QACrD,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,YAAY,CAAC,WAAmB;QAC3C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,qBAAqB,WAAW,EAAE,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,eAAe,CAAC,OAAyB;QACpD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,cAAc,CAAC,WAAmB;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,2BAA2B,WAAW,EAAE,CAAC,CAAC;IACxE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,aAAa,CAAC,WAAmB;QAC5C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,4BAA4B,WAAW,EAAE,CAAC,CAAC;IACzE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,eAAe,CAAC,WAAmB;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,qBAAqB,WAAW,EAAE,CAAC,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAC,WAAmB;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,qBAAqB,WAAW,WAAW,CAAC,CAAC;IAC1E,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gBAAgB,CAAC,SAAiB;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,6BAA6B,SAAS,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,SAAS;QACpB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC/C,CAAC;CACF;AAjGD,oCAiGC"}
|
|
@@ -26,12 +26,16 @@ class CodeSolverWebSocketClient {
|
|
|
26
26
|
* @param {CodeSolverWebSocketOptions} [options] Опции клиента
|
|
27
27
|
*/
|
|
28
28
|
constructor(baseURL, options = {}) {
|
|
29
|
+
/** Пространство имен для Socket.IO */
|
|
30
|
+
this.namespace = '';
|
|
29
31
|
/** WebSocket клиенты для разных пространств имен */
|
|
30
32
|
this.clients = new Map();
|
|
31
33
|
/** Активная сессия рассуждения */
|
|
32
34
|
this.activeReasoningId = null;
|
|
33
35
|
/** Активная сессия индексации */
|
|
34
36
|
this.activeProjectId = null;
|
|
37
|
+
/** Обработчики событий мышления */
|
|
38
|
+
this.thinkingEventHandlers = new Map();
|
|
35
39
|
this.baseURL = baseURL.replace(/^http/, 'ws');
|
|
36
40
|
this.options = {
|
|
37
41
|
...options,
|
|
@@ -40,6 +44,25 @@ class CodeSolverWebSocketClient {
|
|
|
40
44
|
...(options.apiKey ? { 'Authorization': `Bearer ${options.apiKey}` } : {})
|
|
41
45
|
}
|
|
42
46
|
};
|
|
47
|
+
// Инициализируем пространство имен
|
|
48
|
+
this.namespace = String(WebSocketNamespace.REASONING);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Логирование сообщений
|
|
52
|
+
* @param {string} level Уровень логирования ('info', 'debug', 'error')
|
|
53
|
+
* @param {string} message Сообщение для логирования
|
|
54
|
+
* @param {any} [data] Дополнительные данные для логирования
|
|
55
|
+
*/
|
|
56
|
+
logger(level, message, data) {
|
|
57
|
+
if (level === 'error') {
|
|
58
|
+
console.error(`[CodeSolverWebSocket] ${message}`, data);
|
|
59
|
+
}
|
|
60
|
+
else if (level === 'info') {
|
|
61
|
+
console.info(`[CodeSolverWebSocket] ${message}`, data);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
console.debug(`[CodeSolverWebSocket] ${message}`, data);
|
|
65
|
+
}
|
|
43
66
|
}
|
|
44
67
|
/**
|
|
45
68
|
* Подключается к пространству имен WebSocket
|
|
@@ -168,12 +191,29 @@ class CodeSolverWebSocketClient {
|
|
|
168
191
|
}
|
|
169
192
|
// Сохраняем активный идентификатор рассуждения
|
|
170
193
|
this.activeReasoningId = id;
|
|
171
|
-
// Подключаемся к пространству имен
|
|
172
194
|
try {
|
|
173
|
-
|
|
174
|
-
|
|
195
|
+
// Подключаемся к пространству имен
|
|
196
|
+
await this.connect(WebSocketNamespace.REASONING);
|
|
197
|
+
// Получаем клиент
|
|
198
|
+
const client = this.clients.get(WebSocketNamespace.REASONING);
|
|
199
|
+
if (!client) {
|
|
200
|
+
throw new Error(`Не удалось получить WebSocket клиент для ${WebSocketNamespace.REASONING}`);
|
|
201
|
+
}
|
|
202
|
+
// Отправляем запрос на присоединение к сессии рассуждения с callback
|
|
203
|
+
return new Promise((resolve, reject) => {
|
|
204
|
+
client.sendSocketIOEvent('join_reasoning', { reasoningId: id }, (response) => {
|
|
205
|
+
if (response.success === false) {
|
|
206
|
+
this.logger('error', `Ошибка при присоединении к сессии рассуждения: ${response.error || 'Неизвестная ошибка'}`);
|
|
207
|
+
reject(new Error(response.error || 'Не удалось присоединиться к сессии рассуждения'));
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
this.logger('info', `Успешно присоединился к сессии рассуждения ${id}`);
|
|
211
|
+
resolve(true);
|
|
212
|
+
}, this.namespace);
|
|
213
|
+
});
|
|
175
214
|
}
|
|
176
215
|
catch (error) {
|
|
216
|
+
this.logger('error', `Ошибка при подключении к сессии рассуждения: ${error instanceof Error ? error.message : String(error)}`);
|
|
177
217
|
return false;
|
|
178
218
|
}
|
|
179
219
|
}
|
|
@@ -381,6 +421,202 @@ class CodeSolverWebSocketClient {
|
|
|
381
421
|
isConnectedToNotifications() {
|
|
382
422
|
return this.isConnected(WebSocketNamespace.DEFAULT);
|
|
383
423
|
}
|
|
424
|
+
/**
|
|
425
|
+
* Получает ID сокета для указанного пространства имен
|
|
426
|
+
* @param {WebSocketNamespace} [namespace=WebSocketNamespace.REASONING] Пространство имен
|
|
427
|
+
* @returns {string|null} ID сокета или null, если соединение не установлено
|
|
428
|
+
*/
|
|
429
|
+
getSocketId(namespace = WebSocketNamespace.REASONING) {
|
|
430
|
+
const client = this.clients.get(namespace);
|
|
431
|
+
if (!client || !client.isConnected()) {
|
|
432
|
+
console.warn(`[WsClientWrapper] getSocketId: Нет активных соединений с Socket.IO сервером для ${namespace}`);
|
|
433
|
+
return null;
|
|
434
|
+
}
|
|
435
|
+
return client.getSocketId();
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* Подписывается на события мышления
|
|
439
|
+
* @param {string} reasoningId Идентификатор рассуждения
|
|
440
|
+
* @param {Function} handler Обработчик событий мышления
|
|
441
|
+
* @returns {void}
|
|
442
|
+
*/
|
|
443
|
+
subscribeToThinking(reasoningId, handler) {
|
|
444
|
+
// Сохраняем обработчик
|
|
445
|
+
this.thinkingEventHandlers.set(reasoningId, handler);
|
|
446
|
+
// Получаем клиент рассуждений
|
|
447
|
+
const client = this.clients.get(WebSocketNamespace.REASONING);
|
|
448
|
+
if (!client) {
|
|
449
|
+
throw new Error('Не подключен к пространству имен рассуждения');
|
|
450
|
+
}
|
|
451
|
+
// Подписываемся на события мышления
|
|
452
|
+
client.on(`thinking:${reasoningId}`, (data) => {
|
|
453
|
+
handler(data);
|
|
454
|
+
});
|
|
455
|
+
// Дублируем подписку для полной совместимости
|
|
456
|
+
client.on(`reasoning:thinking:${reasoningId}`, (data) => {
|
|
457
|
+
handler(data);
|
|
458
|
+
});
|
|
459
|
+
}
|
|
460
|
+
/**
|
|
461
|
+
* Отписывается от событий мышления
|
|
462
|
+
* @param {string} reasoningId Идентификатор рассуждения
|
|
463
|
+
* @returns {void}
|
|
464
|
+
*/
|
|
465
|
+
unsubscribeFromThinking(reasoningId) {
|
|
466
|
+
// Удаляем обработчик
|
|
467
|
+
this.thinkingEventHandlers.delete(reasoningId);
|
|
468
|
+
// Получаем клиент рассуждений
|
|
469
|
+
const client = this.clients.get(WebSocketNamespace.REASONING);
|
|
470
|
+
if (!client)
|
|
471
|
+
return;
|
|
472
|
+
// Отписываемся от событий
|
|
473
|
+
client.off(`thinking:${reasoningId}`);
|
|
474
|
+
client.off(`reasoning:thinking:${reasoningId}`);
|
|
475
|
+
}
|
|
476
|
+
/**
|
|
477
|
+
* Подключается к сессии рассуждения с thinking
|
|
478
|
+
* @param {string} [reasoningId="system"] Идентификатор рассуждения
|
|
479
|
+
* @param {Function} [thinkingHandler] Обработчик событий мышления
|
|
480
|
+
* @returns {Promise<string>} Идентификатор сессии рассуждения
|
|
481
|
+
*/
|
|
482
|
+
async connectToThinkingSession(reasoningId = "system", thinkingHandler) {
|
|
483
|
+
try {
|
|
484
|
+
// Подключаемся к пространству имен
|
|
485
|
+
await this.connect(WebSocketNamespace.REASONING);
|
|
486
|
+
// Получаем клиент
|
|
487
|
+
const client = this.clients.get(WebSocketNamespace.REASONING);
|
|
488
|
+
if (!client) {
|
|
489
|
+
throw new Error(`Не удалось получить WebSocket клиент для ${WebSocketNamespace.REASONING}`);
|
|
490
|
+
}
|
|
491
|
+
// Если reasoningId == "system", сервер заменит его на новый
|
|
492
|
+
// с префиксом "system-". Для получения нового ID нужно подписаться
|
|
493
|
+
// на событие создания рассуждения.
|
|
494
|
+
if (reasoningId === "system") {
|
|
495
|
+
// Будем ждать ответа о создании рассуждения
|
|
496
|
+
return new Promise((resolve, reject) => {
|
|
497
|
+
// Устанавливаем таймаут
|
|
498
|
+
const timeout = setTimeout(() => {
|
|
499
|
+
reject(new Error('Таймаут ожидания ответа о создании рассуждения'));
|
|
500
|
+
}, 10000);
|
|
501
|
+
// Подписываемся на событие создания рассуждения
|
|
502
|
+
client.once('create_reasoning_response', (data) => {
|
|
503
|
+
clearTimeout(timeout);
|
|
504
|
+
if (data.error) {
|
|
505
|
+
reject(new Error(`Ошибка создания рассуждения: ${data.error}`));
|
|
506
|
+
return;
|
|
507
|
+
}
|
|
508
|
+
const newReasoningId = data.reasoningId;
|
|
509
|
+
this.activeReasoningId = newReasoningId;
|
|
510
|
+
// Отправляем запрос на присоединение к сессии рассуждения
|
|
511
|
+
client.sendSocketIOEvent('join_reasoning', { reasoningId: newReasoningId }, (joinResponse) => {
|
|
512
|
+
if (joinResponse.success === false) {
|
|
513
|
+
reject(new Error(`Ошибка при присоединении к сессии рассуждения: ${joinResponse.error || 'Неизвестная ошибка'}`));
|
|
514
|
+
return;
|
|
515
|
+
}
|
|
516
|
+
// Отправляем запрос на запуск рассуждения
|
|
517
|
+
client.sendSocketIOEvent('start_reasoning', { reasoningId: newReasoningId }, (startResponse) => {
|
|
518
|
+
if (startResponse.success === false) {
|
|
519
|
+
reject(new Error(`Ошибка при запуске рассуждения: ${startResponse.error || 'Неизвестная ошибка'}`));
|
|
520
|
+
return;
|
|
521
|
+
}
|
|
522
|
+
// Если передан обработчик событий мышления, подписываемся
|
|
523
|
+
if (thinkingHandler) {
|
|
524
|
+
this.subscribeToThinking(newReasoningId, thinkingHandler);
|
|
525
|
+
}
|
|
526
|
+
resolve(newReasoningId);
|
|
527
|
+
}, this.namespace);
|
|
528
|
+
}, this.namespace);
|
|
529
|
+
});
|
|
530
|
+
});
|
|
531
|
+
}
|
|
532
|
+
else {
|
|
533
|
+
this.activeReasoningId = reasoningId;
|
|
534
|
+
// Отправляем запрос на присоединение к сессии рассуждения
|
|
535
|
+
return new Promise((resolve, reject) => {
|
|
536
|
+
client.sendSocketIOEvent('join_reasoning', { reasoningId }, (joinResponse) => {
|
|
537
|
+
if (joinResponse.success === false) {
|
|
538
|
+
reject(new Error(`Ошибка при присоединении к сессии рассуждения: ${joinResponse.error || 'Неизвестная ошибка'}`));
|
|
539
|
+
return;
|
|
540
|
+
}
|
|
541
|
+
// Отправляем запрос на запуск рассуждения
|
|
542
|
+
client.sendSocketIOEvent('start_reasoning', { reasoningId }, (startResponse) => {
|
|
543
|
+
if (startResponse.success === false) {
|
|
544
|
+
reject(new Error(`Ошибка при запуске рассуждения: ${startResponse.error || 'Неизвестная ошибка'}`));
|
|
545
|
+
return;
|
|
546
|
+
}
|
|
547
|
+
// Если передан обработчик событий мышления, подписываемся
|
|
548
|
+
if (thinkingHandler) {
|
|
549
|
+
this.subscribeToThinking(reasoningId, thinkingHandler);
|
|
550
|
+
}
|
|
551
|
+
resolve(reasoningId);
|
|
552
|
+
}, this.namespace);
|
|
553
|
+
}, this.namespace);
|
|
554
|
+
});
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
catch (error) {
|
|
558
|
+
throw new Error(`Ошибка при подключении к сессии thinking: ${error instanceof Error ? error.message : String(error)}`);
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
/**
|
|
562
|
+
* Регистрирует логирование всех событий для отладки
|
|
563
|
+
* @private
|
|
564
|
+
*/
|
|
565
|
+
setupDebugLogging(namespace) {
|
|
566
|
+
const client = this.clients.get(namespace);
|
|
567
|
+
if (!client)
|
|
568
|
+
return;
|
|
569
|
+
// Регистрируем конкретные обработчики вместо wildcard '*'
|
|
570
|
+
client.on('message', (data) => {
|
|
571
|
+
this.logger('debug', `[DEBUG] Получено сообщение от ${namespace}`, data);
|
|
572
|
+
});
|
|
573
|
+
// Специальное логирование для ошибок
|
|
574
|
+
client.on('error', (error) => {
|
|
575
|
+
this.logger('error', `[ERROR] Ошибка от ${namespace}`, error);
|
|
576
|
+
});
|
|
577
|
+
// Логирование успешных и неуспешных ответов для типичных событий
|
|
578
|
+
client.on('join_reasoning_success', (data) => {
|
|
579
|
+
this.logger('debug', `[SUCCESS] Успешное присоединение к рассуждению от ${namespace}`, data);
|
|
580
|
+
});
|
|
581
|
+
client.on('join_reasoning_error', (error) => {
|
|
582
|
+
this.logger('error', `[ERROR] Ошибка присоединения к рассуждению от ${namespace}`, error);
|
|
583
|
+
});
|
|
584
|
+
client.on('start_reasoning_success', (data) => {
|
|
585
|
+
this.logger('debug', `[SUCCESS] Успешный запуск рассуждения от ${namespace}`, data);
|
|
586
|
+
});
|
|
587
|
+
client.on('start_reasoning_error', (error) => {
|
|
588
|
+
this.logger('error', `[ERROR] Ошибка запуска рассуждения от ${namespace}`, error);
|
|
589
|
+
});
|
|
590
|
+
}
|
|
591
|
+
/**
|
|
592
|
+
* Проверяет наличие callback-функции в данных и правильно вызывает ее
|
|
593
|
+
* @param eventName Имя события
|
|
594
|
+
* @param data Данные события
|
|
595
|
+
* @private
|
|
596
|
+
*/
|
|
597
|
+
extractAndCallCallback(eventName, data) {
|
|
598
|
+
if (data && typeof data === 'object' && typeof data.callback === 'function') {
|
|
599
|
+
try {
|
|
600
|
+
// Копируем данные без callback
|
|
601
|
+
const dataCopy = { ...data };
|
|
602
|
+
delete dataCopy.callback;
|
|
603
|
+
// Получаем callback-функцию
|
|
604
|
+
const callback = data.callback;
|
|
605
|
+
// Вызываем callback
|
|
606
|
+
this.logger('debug', `Вызов callback для события ${eventName}`);
|
|
607
|
+
// Создаем таймаут для предотвращения зависания
|
|
608
|
+
const timeoutId = setTimeout(() => {
|
|
609
|
+
this.logger('warn', `Таймаут выполнения callback для события ${eventName}`);
|
|
610
|
+
}, 5000);
|
|
611
|
+
// Вызываем callback и очищаем таймаут
|
|
612
|
+
callback();
|
|
613
|
+
clearTimeout(timeoutId);
|
|
614
|
+
}
|
|
615
|
+
catch (error) {
|
|
616
|
+
this.logger('error', `Ошибка при вызове callback для события ${eventName}: ${error instanceof Error ? error.message : String(error)}`);
|
|
617
|
+
}
|
|
618
|
+
}
|
|
619
|
+
}
|
|
384
620
|
}
|
|
385
621
|
exports.CodeSolverWebSocketClient = CodeSolverWebSocketClient;
|
|
386
622
|
//# sourceMappingURL=code-solver-websocket-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-solver-websocket-client.js","sourceRoot":"","sources":["../../../src/utils/code-solver-websocket-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"code-solver-websocket-client.js","sourceRoot":"","sources":["../../../src/utils/code-solver-websocket-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,6 +29,8 @@ class WebSocketClient {
|
|
|
29
29
|
this.connected = false;
|
|
30
30
|
/** Аутентифицировано ли соединение */
|
|
31
31
|
this.authenticated = false;
|
|
32
|
+
/** ID сокета */
|
|
33
|
+
this.socketId = null;
|
|
32
34
|
this.url = url;
|
|
33
35
|
this.options = {
|
|
34
36
|
headers: options.headers || {},
|
|
@@ -568,13 +570,46 @@ class WebSocketClient {
|
|
|
568
570
|
}
|
|
569
571
|
}
|
|
570
572
|
/**
|
|
571
|
-
* Отправляет событие Socket.IO
|
|
572
|
-
* @param {string} event
|
|
573
|
+
* Отправляет событие Socket.IO через WebSocket соединение
|
|
574
|
+
* @param {string} event Имя события
|
|
573
575
|
* @param {any} data Данные события
|
|
576
|
+
* @param {(response: any) => void} [callback] Функция обратного вызова для получения ответа
|
|
574
577
|
* @param {string} [namespace=''] Namespace для Socket.IO
|
|
575
578
|
* @returns {boolean} Успешно ли отправлено сообщение
|
|
576
579
|
*/
|
|
577
|
-
sendSocketIOEvent(event, data, namespace = '') {
|
|
580
|
+
sendSocketIOEvent(event, data, callback, namespace = '') {
|
|
581
|
+
// Проверяем наличие callback-функции
|
|
582
|
+
const hasCallback = typeof callback === 'function';
|
|
583
|
+
this.logger('debug', `Отправка Socket.IO события ${event}`, {
|
|
584
|
+
hasData: !!data,
|
|
585
|
+
namespace,
|
|
586
|
+
hasCallback
|
|
587
|
+
});
|
|
588
|
+
// Если callback предоставлен, регистрируем временный обработчик для ответа
|
|
589
|
+
if (hasCallback) {
|
|
590
|
+
// Создаем уникальный идентификатор для обработчика
|
|
591
|
+
const callbackId = `${event}_response_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
592
|
+
// Регистрируем обработчик на время ожидания ответа
|
|
593
|
+
this.once(`${event}_error`, (errorData) => {
|
|
594
|
+
this.logger('error', `Получен ответ с ошибкой для события ${event}`, errorData);
|
|
595
|
+
callback({ success: false, error: errorData.message || 'Неизвестная ошибка' });
|
|
596
|
+
});
|
|
597
|
+
this.once(`${event}_success`, (responseData) => {
|
|
598
|
+
this.logger('debug', `Получен успешный ответ для события ${event}`, responseData);
|
|
599
|
+
callback({ success: true, ...responseData });
|
|
600
|
+
});
|
|
601
|
+
// Устанавливаем таймаут для автоматического удаления обработчиков
|
|
602
|
+
setTimeout(() => {
|
|
603
|
+
this.off(`${event}_error`);
|
|
604
|
+
this.off(`${event}_success`);
|
|
605
|
+
// Если callback еще не был вызван, вызываем его с ошибкой таймаута
|
|
606
|
+
callback({
|
|
607
|
+
success: false,
|
|
608
|
+
error: `Таймаут ожидания ответа на событие ${event}`,
|
|
609
|
+
timeout: true
|
|
610
|
+
});
|
|
611
|
+
}, 10000); // 10-секундный таймаут
|
|
612
|
+
}
|
|
578
613
|
// Формируем объект для отправки через метод send
|
|
579
614
|
const socketIOMessage = {
|
|
580
615
|
type: '2',
|
|
@@ -619,7 +654,7 @@ class WebSocketClient {
|
|
|
619
654
|
socketState: this.webSocket ? this.webSocket.readyState : 'нет соединения'
|
|
620
655
|
});
|
|
621
656
|
// Отправляем событие authenticate с API ключом
|
|
622
|
-
this.sendSocketIOEvent('authenticate', { apiKey: this.options.apiKey }, this.namespace);
|
|
657
|
+
this.sendSocketIOEvent('authenticate', { apiKey: this.options.apiKey }, undefined, this.namespace);
|
|
623
658
|
}
|
|
624
659
|
/**
|
|
625
660
|
* Обработка открытия соединения Socket.IO
|
|
@@ -649,6 +684,34 @@ class WebSocketClient {
|
|
|
649
684
|
this.authenticated = true;
|
|
650
685
|
}
|
|
651
686
|
});
|
|
687
|
+
// Сохраняем ID сокета, если он пришел
|
|
688
|
+
if (data && data.sid) {
|
|
689
|
+
this.socketId = data.sid;
|
|
690
|
+
}
|
|
691
|
+
}
|
|
692
|
+
/**
|
|
693
|
+
* Получает ID текущего сокета
|
|
694
|
+
* @returns {string|null} ID сокета или null, если соединение не установлено
|
|
695
|
+
*/
|
|
696
|
+
getSocketId() {
|
|
697
|
+
return this.socketId;
|
|
698
|
+
}
|
|
699
|
+
/**
|
|
700
|
+
* Регистрирует обработчик события, который будет вызван один раз и удален
|
|
701
|
+
* @param {string} event Название события
|
|
702
|
+
* @param {WebSocketEventHandler} handler Обработчик события
|
|
703
|
+
* @returns {void}
|
|
704
|
+
*/
|
|
705
|
+
once(event, handler) {
|
|
706
|
+
// Создаем обертку, которая удалит обработчик после первого вызова
|
|
707
|
+
const wrapperHandler = (data) => {
|
|
708
|
+
// Удаляем обработчик
|
|
709
|
+
this.off(event, wrapperHandler);
|
|
710
|
+
// Вызываем оригинальный обработчик
|
|
711
|
+
handler(data);
|
|
712
|
+
};
|
|
713
|
+
// Регистрируем обертку
|
|
714
|
+
this.on(event, wrapperHandler);
|
|
652
715
|
}
|
|
653
716
|
}
|
|
654
717
|
exports.WebSocketClient = WebSocketClient;
|