solver-sdk 1.4.1 → 1.5.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/code-solver-sdk.js +94 -1
- package/dist/cjs/code-solver-sdk.js.map +1 -1
- package/dist/cjs/utils/code-solver-websocket-client.js +20 -5
- package/dist/cjs/utils/code-solver-websocket-client.js.map +1 -1
- package/dist/cjs/utils/websocket-client.js +326 -32
- package/dist/cjs/utils/websocket-client.js.map +1 -1
- package/dist/esm/code-solver-sdk.js +94 -1
- package/dist/esm/code-solver-sdk.js.map +1 -1
- package/dist/esm/utils/code-solver-websocket-client.js +20 -5
- package/dist/esm/utils/code-solver-websocket-client.js.map +1 -1
- package/dist/esm/utils/websocket-client.js +326 -32
- package/dist/esm/utils/websocket-client.js.map +1 -1
- package/dist/types/code-solver-sdk.d.ts +18 -1
- package/dist/types/code-solver-sdk.d.ts.map +1 -1
- package/dist/types/utils/code-solver-websocket-client.d.ts +118 -20
- package/dist/types/utils/code-solver-websocket-client.d.ts.map +1 -1
- package/dist/types/utils/websocket-client.d.ts +44 -0
- package/dist/types/utils/websocket-client.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -27,6 +27,8 @@ class WebSocketClient {
|
|
|
27
27
|
this.messageQueue = [];
|
|
28
28
|
/** Состояние соединения */
|
|
29
29
|
this.connected = false;
|
|
30
|
+
/** Аутентифицировано ли соединение */
|
|
31
|
+
this.authenticated = false;
|
|
30
32
|
this.url = url;
|
|
31
33
|
this.options = {
|
|
32
34
|
headers: options.headers || {},
|
|
@@ -36,10 +38,44 @@ class WebSocketClient {
|
|
|
36
38
|
retryDelay: options.retryDelay || 1000,
|
|
37
39
|
maxRetryDelay: options.maxRetryDelay || 30000,
|
|
38
40
|
autoReconnect: options.autoReconnect !== undefined ? options.autoReconnect : true,
|
|
39
|
-
rejectUnauthorized: options.rejectUnauthorized !== undefined ? options.rejectUnauthorized : true
|
|
41
|
+
rejectUnauthorized: options.rejectUnauthorized !== undefined ? options.rejectUnauthorized : true,
|
|
42
|
+
apiKey: options.apiKey || '',
|
|
43
|
+
namespace: options.namespace || '',
|
|
44
|
+
logger: options.logger
|
|
40
45
|
};
|
|
41
46
|
// Определяем среду выполнения
|
|
42
47
|
this.isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';
|
|
48
|
+
// Инициализируем пространство имен
|
|
49
|
+
this.namespace = this.options.namespace || '';
|
|
50
|
+
// Если namespace не начинается с /, добавляем его
|
|
51
|
+
if (this.namespace && !this.namespace.startsWith('/')) {
|
|
52
|
+
this.namespace = '/' + this.namespace;
|
|
53
|
+
}
|
|
54
|
+
// Инициализируем логгер
|
|
55
|
+
this.logger = this.options.logger || ((level, message, data) => {
|
|
56
|
+
if (level === 'error') {
|
|
57
|
+
console.error(`[WebSocketClient] ${message}`, data);
|
|
58
|
+
}
|
|
59
|
+
else if (level === 'warn') {
|
|
60
|
+
console.warn(`[WebSocketClient] ${message}`, data);
|
|
61
|
+
}
|
|
62
|
+
else if (level === 'info') {
|
|
63
|
+
console.info(`[WebSocketClient] ${message}`, data);
|
|
64
|
+
}
|
|
65
|
+
else if (level === 'debug' && process.env.NODE_ENV === 'development') {
|
|
66
|
+
console.debug(`[WebSocketClient] ${message}`, data);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
// Логирование конфигурации при создании клиента
|
|
70
|
+
this.logger('info', 'Создан WebSocket клиент', {
|
|
71
|
+
url: this.url,
|
|
72
|
+
namespace: this.namespace,
|
|
73
|
+
hasApiKey: !!this.options.apiKey,
|
|
74
|
+
apiKeyLength: this.options.apiKey ? this.options.apiKey.length : 0,
|
|
75
|
+
connectionTimeout: this.options.connectionTimeout,
|
|
76
|
+
autoReconnect: this.options.autoReconnect,
|
|
77
|
+
maxRetries: this.options.maxRetries
|
|
78
|
+
});
|
|
43
79
|
}
|
|
44
80
|
/**
|
|
45
81
|
* Подключается к WebSocket серверу
|
|
@@ -48,30 +84,50 @@ class WebSocketClient {
|
|
|
48
84
|
connect() {
|
|
49
85
|
// Если соединение уже установлено, возвращаем Promise.resolve
|
|
50
86
|
if (this.webSocket && this.webSocket.readyState === WebSocket.OPEN) {
|
|
87
|
+
this.logger('info', 'Соединение уже установлено');
|
|
51
88
|
return Promise.resolve();
|
|
52
89
|
}
|
|
53
90
|
// Сбрасываем флаг намеренного закрытия
|
|
54
91
|
this.intentionallyClosed = false;
|
|
55
92
|
return new Promise((resolve, reject) => {
|
|
56
93
|
try {
|
|
94
|
+
// Проверяем, содержит ли URL параметры Socket.IO
|
|
95
|
+
let wsUrl = this.url;
|
|
96
|
+
// Проверяем, является ли это Socket.IO подключением
|
|
97
|
+
if (wsUrl.includes('/socket.io/') || wsUrl.includes('?EIO=')) {
|
|
98
|
+
// Убедимся, что в URL есть параметры для Socket.IO версии 4
|
|
99
|
+
if (!wsUrl.includes('EIO=')) {
|
|
100
|
+
// Добавляем разделитель: ? или &
|
|
101
|
+
const separator = wsUrl.includes('?') ? '&' : '?';
|
|
102
|
+
wsUrl += `${separator}EIO=4&transport=websocket`;
|
|
103
|
+
}
|
|
104
|
+
// Добавляем timestamp для предотвращения кеширования
|
|
105
|
+
if (!wsUrl.includes('t=')) {
|
|
106
|
+
const separator = wsUrl.includes('?') ? '&' : '?';
|
|
107
|
+
wsUrl += `${separator}t=${Date.now()}`;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
this.logger('info', 'Выполняется подключение', { url: wsUrl });
|
|
57
111
|
// Создаем новый экземпляр WebSocket
|
|
58
112
|
if (this.isBrowser) {
|
|
59
113
|
// Браузерное окружение
|
|
60
|
-
this.webSocket = new WebSocket(
|
|
114
|
+
this.webSocket = new WebSocket(wsUrl, this.options.protocols);
|
|
61
115
|
}
|
|
62
116
|
else {
|
|
63
117
|
// Node.js окружение
|
|
64
118
|
try {
|
|
65
119
|
// Динамически импортируем ws модуль в Node.js
|
|
66
120
|
const WebSocketImpl = require('ws');
|
|
67
|
-
this.webSocket = new WebSocketImpl(
|
|
121
|
+
this.webSocket = new WebSocketImpl(wsUrl, {
|
|
68
122
|
headers: this.options.headers,
|
|
69
123
|
protocol: this.options.protocols,
|
|
70
124
|
rejectUnauthorized: this.options.rejectUnauthorized !== false
|
|
71
125
|
});
|
|
72
126
|
}
|
|
73
127
|
catch (error) {
|
|
74
|
-
|
|
128
|
+
const errorMsg = `Не удалось загрузить модуль ws в Node.js: ${error.message}`;
|
|
129
|
+
this.logger('error', errorMsg);
|
|
130
|
+
reject(new Error(errorMsg));
|
|
75
131
|
return;
|
|
76
132
|
}
|
|
77
133
|
}
|
|
@@ -87,6 +143,7 @@ class WebSocketClient {
|
|
|
87
143
|
clearTimeout(this.connectionTimeoutTimer);
|
|
88
144
|
this.retryCount = 0;
|
|
89
145
|
this.connected = true;
|
|
146
|
+
this.logger('info', 'WebSocket соединение установлено');
|
|
90
147
|
// Отправляем сообщения из очереди
|
|
91
148
|
while (this.messageQueue.length > 0) {
|
|
92
149
|
const message = this.messageQueue.shift();
|
|
@@ -106,63 +163,137 @@ class WebSocketClient {
|
|
|
106
163
|
let data = event.data;
|
|
107
164
|
// Обработка сообщений Socket.IO
|
|
108
165
|
if (typeof data === 'string') {
|
|
109
|
-
//
|
|
166
|
+
// Обработка Engine.IO - Ping/Pong (2/3)
|
|
110
167
|
if (data === '2') {
|
|
111
|
-
//
|
|
168
|
+
// Engine.IO ping, отправляем понг
|
|
112
169
|
if (this.webSocket && this.webSocket.readyState === WebSocket.OPEN) {
|
|
113
170
|
this.webSocket.send('3');
|
|
114
171
|
}
|
|
115
172
|
this.dispatchEvent('ping', {});
|
|
116
173
|
return;
|
|
117
174
|
}
|
|
118
|
-
|
|
175
|
+
else if (data === '3') {
|
|
176
|
+
// Engine.IO pong
|
|
177
|
+
this.dispatchEvent('pong', {});
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
// Обработка открытия соединения Socket.IO
|
|
181
|
+
if (data.startsWith('0')) {
|
|
182
|
+
try {
|
|
183
|
+
const authData = JSON.parse(data.substring(1));
|
|
184
|
+
this.dispatchEvent('socket.io_open', authData);
|
|
185
|
+
// Вызываем обработчик открытия соединения Socket.IO
|
|
186
|
+
this.handleSocketIOOpen(authData);
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
catch (e) {
|
|
190
|
+
// Игнорируем ошибки парсинга
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
// Обработка Socket.IO событий (42)
|
|
194
|
+
if (data.startsWith('42')) {
|
|
195
|
+
// Формат: 42/namespace,[event,data]
|
|
196
|
+
let namespace = '';
|
|
197
|
+
let eventData = data.substring(2);
|
|
198
|
+
// Извлекаем namespace, если есть
|
|
199
|
+
if (eventData.startsWith('/')) {
|
|
200
|
+
const namespaceEnd = eventData.indexOf(',');
|
|
201
|
+
if (namespaceEnd !== -1) {
|
|
202
|
+
namespace = eventData.substring(0, namespaceEnd);
|
|
203
|
+
eventData = eventData.substring(namespaceEnd + 1);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
try {
|
|
207
|
+
const parsedData = JSON.parse(eventData);
|
|
208
|
+
if (Array.isArray(parsedData) && parsedData.length >= 1) {
|
|
209
|
+
const event = parsedData[0];
|
|
210
|
+
const eventPayload = parsedData.length > 1 ? parsedData[1] : null;
|
|
211
|
+
// Запускаем обработчик для данного события
|
|
212
|
+
this.dispatchEvent(event, eventPayload);
|
|
213
|
+
// Также отправляем общее событие socket.io с информацией о полученном событии
|
|
214
|
+
this.dispatchEvent('socket.io_event', {
|
|
215
|
+
event,
|
|
216
|
+
data: eventPayload,
|
|
217
|
+
namespace
|
|
218
|
+
});
|
|
219
|
+
// Обработка специальных событий для стриминга
|
|
220
|
+
if (event === 'text_delta' && eventPayload?.delta?.text) {
|
|
221
|
+
this.dispatchEvent('streaming_delta', { type: 'text', content: eventPayload.delta.text });
|
|
222
|
+
}
|
|
223
|
+
else if (event === 'thinking_delta' && eventPayload?.delta?.thinking) {
|
|
224
|
+
this.dispatchEvent('streaming_delta', { type: 'thinking', content: eventPayload.delta.thinking });
|
|
225
|
+
}
|
|
226
|
+
else if (event === 'message_stop') {
|
|
227
|
+
this.dispatchEvent('streaming_complete', {});
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
catch (e) {
|
|
232
|
+
this.dispatchEvent('error', { message: `Ошибка парсинга Socket.IO данных: ${e instanceof Error ? e.message : 'Неизвестная ошибка'}` });
|
|
233
|
+
}
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
// Определяем тип пакета Socket.IO по первому символу
|
|
119
237
|
const packetType = data.charAt(0);
|
|
120
238
|
// Если это пакет данных (тип 0-6)
|
|
121
239
|
if (packetType >= '0' && packetType <= '6') {
|
|
122
|
-
//
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
240
|
+
// Отправляем особое событие для Socket.IO пакетов
|
|
241
|
+
this.dispatchEvent('socket.io_raw', {
|
|
242
|
+
type: packetType,
|
|
243
|
+
data: data.substring(1)
|
|
244
|
+
});
|
|
245
|
+
// Пытаемся обработать содержимое
|
|
246
|
+
if (data.length > 1) {
|
|
247
|
+
try {
|
|
127
248
|
// Обработка пакета с namespace
|
|
128
249
|
let jsonStart = 1;
|
|
129
|
-
|
|
250
|
+
let namespace = '';
|
|
251
|
+
// Если есть namespace, извлекаем его
|
|
130
252
|
if (data.charAt(1) === '/') {
|
|
131
253
|
const namespaceEnd = data.indexOf('{', 1);
|
|
132
254
|
if (namespaceEnd !== -1) {
|
|
255
|
+
namespace = data.substring(1, namespaceEnd);
|
|
133
256
|
jsonStart = namespaceEnd;
|
|
134
257
|
}
|
|
135
258
|
}
|
|
136
|
-
//
|
|
259
|
+
// Пытаемся преобразовать оставшуюся часть в JSON
|
|
137
260
|
const jsonStr = data.substring(jsonStart);
|
|
138
261
|
if (jsonStr) {
|
|
139
|
-
|
|
262
|
+
try {
|
|
263
|
+
const parsedData = JSON.parse(jsonStr);
|
|
264
|
+
this.dispatchEvent('message', parsedData);
|
|
265
|
+
}
|
|
266
|
+
catch (e) {
|
|
267
|
+
// Если не можем преобразовать в JSON, отправляем как есть
|
|
268
|
+
this.dispatchEvent('message', jsonStr);
|
|
269
|
+
}
|
|
140
270
|
}
|
|
141
271
|
}
|
|
272
|
+
catch (e) {
|
|
273
|
+
// Игнорируем ошибки парсинга
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
// Если это не Socket.IO пакет, пытаемся обработать как обычное сообщение
|
|
279
|
+
try {
|
|
280
|
+
const parsedData = JSON.parse(data);
|
|
281
|
+
this.dispatchEvent('message', parsedData);
|
|
142
282
|
}
|
|
143
283
|
catch (e) {
|
|
144
|
-
//
|
|
284
|
+
// Если не можем преобразовать в JSON, отправляем как есть
|
|
285
|
+
this.dispatchEvent('message', data);
|
|
145
286
|
}
|
|
146
|
-
// Отправляем особое событие для Socket.IO пакетов
|
|
147
|
-
this.dispatchEvent('socket.io', {
|
|
148
|
-
type: packetType,
|
|
149
|
-
data: socketData
|
|
150
|
-
});
|
|
151
|
-
// Для обычного события message используем распарсенные данные, если есть
|
|
152
|
-
data = socketData || data;
|
|
153
|
-
}
|
|
154
|
-
try {
|
|
155
|
-
// Пытаемся распарсить как JSON для обычных сообщений
|
|
156
|
-
data = JSON.parse(data);
|
|
157
|
-
}
|
|
158
|
-
catch (e) {
|
|
159
|
-
// Если не удалось распарсить, оставляем как есть
|
|
160
287
|
}
|
|
161
288
|
}
|
|
162
|
-
|
|
289
|
+
else {
|
|
290
|
+
// Если данные не строка (например, ArrayBuffer), отправляем как есть
|
|
291
|
+
this.dispatchEvent('message', data);
|
|
292
|
+
}
|
|
163
293
|
}
|
|
164
294
|
catch (e) {
|
|
165
295
|
console.error('Ошибка при обработке сообщения WebSocket:', e);
|
|
296
|
+
this.dispatchEvent('error', { message: `Ошибка при обработке сообщения: ${e instanceof Error ? e.message : 'Неизвестная ошибка'}` });
|
|
166
297
|
}
|
|
167
298
|
};
|
|
168
299
|
// Обработчик закрытия соединения
|
|
@@ -267,8 +398,24 @@ class WebSocketClient {
|
|
|
267
398
|
// Если это объект с type='2' (Socket.IO EVENT), обрабатываем как Socket.IO сообщение
|
|
268
399
|
if (typeof message === 'object' && message.type === '2') {
|
|
269
400
|
const socketIOMessage = message;
|
|
401
|
+
let packet;
|
|
270
402
|
// Формат сообщения для Socket.IO протокола 4
|
|
271
|
-
|
|
403
|
+
if (socketIOMessage.event && socketIOMessage.data) {
|
|
404
|
+
// Format: 42namespace,[event,data]
|
|
405
|
+
const namespace = socketIOMessage.nsp ? socketIOMessage.nsp : '';
|
|
406
|
+
const namespaceStr = namespace && !namespace.startsWith('/') ? '/' + namespace : namespace;
|
|
407
|
+
const eventData = [socketIOMessage.event];
|
|
408
|
+
if (socketIOMessage.data !== undefined) {
|
|
409
|
+
eventData.push(socketIOMessage.data);
|
|
410
|
+
}
|
|
411
|
+
// 4 - Engine.IO message type
|
|
412
|
+
// 2 - Socket.IO EVENT type
|
|
413
|
+
packet = `42${namespaceStr}${namespaceStr ? ',' : ''}${JSON.stringify(eventData)}`;
|
|
414
|
+
}
|
|
415
|
+
else {
|
|
416
|
+
// Обратная совместимость со старым форматом
|
|
417
|
+
packet = `${socketIOMessage.type}${socketIOMessage.nsp ? socketIOMessage.nsp : ''}${JSON.stringify(socketIOMessage.data)}`;
|
|
418
|
+
}
|
|
272
419
|
if (this.webSocket && this.webSocket.readyState === WebSocket.OPEN) {
|
|
273
420
|
this.webSocket.send(packet);
|
|
274
421
|
return true;
|
|
@@ -356,6 +503,153 @@ class WebSocketClient {
|
|
|
356
503
|
}
|
|
357
504
|
}
|
|
358
505
|
}
|
|
506
|
+
/**
|
|
507
|
+
* Обработка полученного сообщения от сервера
|
|
508
|
+
* @param message Сообщение от сервера
|
|
509
|
+
*/
|
|
510
|
+
handleMessage(message) {
|
|
511
|
+
try {
|
|
512
|
+
if (!message) {
|
|
513
|
+
this.dispatchEvent('error', { message: 'Получено пустое сообщение' });
|
|
514
|
+
return;
|
|
515
|
+
}
|
|
516
|
+
// Проверяем, является ли сообщение пингом Socket.IO (2)
|
|
517
|
+
if (message === '2') {
|
|
518
|
+
// Отправляем понг (3)
|
|
519
|
+
this.send('3');
|
|
520
|
+
this.dispatchEvent('debug', 'Получен ping, отправлен pong');
|
|
521
|
+
return;
|
|
522
|
+
}
|
|
523
|
+
// Если это сообщение Socket.IO с данными
|
|
524
|
+
if (message.startsWith('42')) {
|
|
525
|
+
// Формат: 42[event,data]
|
|
526
|
+
const eventDataStr = message.substring(2);
|
|
527
|
+
try {
|
|
528
|
+
const [event, data] = JSON.parse(eventDataStr);
|
|
529
|
+
// Вызываем соответствующий обработчик события
|
|
530
|
+
this.dispatchEvent(event, data);
|
|
531
|
+
// Добавляем специальную обработку для событий стриминга
|
|
532
|
+
if (event === 'text_delta' && data.delta?.text) {
|
|
533
|
+
this.dispatchEvent('streaming_delta', { type: 'text', content: data.delta.text });
|
|
534
|
+
}
|
|
535
|
+
else if (event === 'thinking_delta' && data.delta?.thinking) {
|
|
536
|
+
this.dispatchEvent('streaming_delta', { type: 'thinking', content: data.delta.thinking });
|
|
537
|
+
}
|
|
538
|
+
else if (event === 'message_stop') {
|
|
539
|
+
this.dispatchEvent('streaming_complete', {});
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
catch (error) {
|
|
543
|
+
const errorMessage = error instanceof Error ? error.message : 'Неизвестная ошибка';
|
|
544
|
+
this.dispatchEvent('error', { message: `Ошибка разбора данных события: ${errorMessage}` });
|
|
545
|
+
}
|
|
546
|
+
return;
|
|
547
|
+
}
|
|
548
|
+
// Пытаемся преобразовать сообщение в JSON
|
|
549
|
+
try {
|
|
550
|
+
const parsedMessage = JSON.parse(message);
|
|
551
|
+
// Если это объект с типом event и данными, это может быть событие
|
|
552
|
+
if (parsedMessage.event && parsedMessage.data) {
|
|
553
|
+
const { event, data } = parsedMessage;
|
|
554
|
+
this.dispatchEvent(event, data);
|
|
555
|
+
}
|
|
556
|
+
else {
|
|
557
|
+
this.dispatchEvent('message', parsedMessage);
|
|
558
|
+
}
|
|
559
|
+
}
|
|
560
|
+
catch (error) {
|
|
561
|
+
// Если не удалось преобразовать в JSON, обрабатываем как текстовое сообщение
|
|
562
|
+
this.dispatchEvent('message', message);
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
catch (error) {
|
|
566
|
+
const errorMessage = error instanceof Error ? error.message : 'Неизвестная ошибка';
|
|
567
|
+
this.dispatchEvent('error', { message: `Ошибка при обработке сообщения: ${errorMessage}` });
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
/**
|
|
571
|
+
* Отправляет событие Socket.IO
|
|
572
|
+
* @param {string} event Название события
|
|
573
|
+
* @param {any} data Данные события
|
|
574
|
+
* @param {string} [namespace=''] Namespace для Socket.IO
|
|
575
|
+
* @returns {boolean} Успешно ли отправлено сообщение
|
|
576
|
+
*/
|
|
577
|
+
sendSocketIOEvent(event, data, namespace = '') {
|
|
578
|
+
// Формируем объект для отправки через метод send
|
|
579
|
+
const socketIOMessage = {
|
|
580
|
+
type: '2',
|
|
581
|
+
event,
|
|
582
|
+
data,
|
|
583
|
+
nsp: namespace
|
|
584
|
+
};
|
|
585
|
+
return this.send(socketIOMessage);
|
|
586
|
+
}
|
|
587
|
+
/**
|
|
588
|
+
* Обработка подключения к пространству имен Socket.IO
|
|
589
|
+
*/
|
|
590
|
+
handleNamespaceConnection() {
|
|
591
|
+
if (!this.namespace) {
|
|
592
|
+
return;
|
|
593
|
+
}
|
|
594
|
+
// Отправляем запрос на подключение к namespace
|
|
595
|
+
this.logger('info', `Подключение к пространству имен ${this.namespace}`);
|
|
596
|
+
const connectMessage = `40${this.namespace}`;
|
|
597
|
+
if (this.webSocket && this.webSocket.readyState === WebSocket.OPEN) {
|
|
598
|
+
this.webSocket.send(connectMessage);
|
|
599
|
+
}
|
|
600
|
+
else {
|
|
601
|
+
this.messageQueue.push(connectMessage);
|
|
602
|
+
}
|
|
603
|
+
}
|
|
604
|
+
/**
|
|
605
|
+
* Отправка аутентификационного сообщения
|
|
606
|
+
*/
|
|
607
|
+
authenticate() {
|
|
608
|
+
if (!this.options.apiKey) {
|
|
609
|
+
this.logger('warn', 'API ключ не предоставлен, аутентификация пропущена');
|
|
610
|
+
return;
|
|
611
|
+
}
|
|
612
|
+
const apiKeySafe = this.options.apiKey.length > 8
|
|
613
|
+
? `${this.options.apiKey.substring(0, 4)}...${this.options.apiKey.substring(this.options.apiKey.length - 4)}`
|
|
614
|
+
: '[короткий ключ]';
|
|
615
|
+
this.logger('info', 'Отправка аутентификационного сообщения', {
|
|
616
|
+
namespace: this.namespace,
|
|
617
|
+
apiKey: apiKeySafe,
|
|
618
|
+
authenticated: this.authenticated,
|
|
619
|
+
socketState: this.webSocket ? this.webSocket.readyState : 'нет соединения'
|
|
620
|
+
});
|
|
621
|
+
// Отправляем событие authenticate с API ключом
|
|
622
|
+
this.sendSocketIOEvent('authenticate', { apiKey: this.options.apiKey }, this.namespace);
|
|
623
|
+
}
|
|
624
|
+
/**
|
|
625
|
+
* Обработка открытия соединения Socket.IO
|
|
626
|
+
* @param data Данные открытия соединения
|
|
627
|
+
*/
|
|
628
|
+
handleSocketIOOpen(data) {
|
|
629
|
+
this.logger('info', 'Socket.IO соединение открыто', {
|
|
630
|
+
pingInterval: data.pingInterval,
|
|
631
|
+
pingTimeout: data.pingTimeout,
|
|
632
|
+
sid: data.sid
|
|
633
|
+
});
|
|
634
|
+
// Если указано пространство имен, подключаемся к нему
|
|
635
|
+
if (this.namespace) {
|
|
636
|
+
this.handleNamespaceConnection();
|
|
637
|
+
}
|
|
638
|
+
// Добавляем обработчик успешного подключения к пространству имен
|
|
639
|
+
this.on('socket.io_event', (eventData) => {
|
|
640
|
+
// Если это событие connect и мы еще не аутентифицированы
|
|
641
|
+
if (!this.authenticated && eventData.event === 'connect') {
|
|
642
|
+
this.logger('info', `Подключено к пространству имен ${eventData.namespace || '/'}`, {
|
|
643
|
+
namespace: eventData.namespace || '/',
|
|
644
|
+
event: eventData.event,
|
|
645
|
+
data: eventData.data
|
|
646
|
+
});
|
|
647
|
+
// Аутентифицируем соединение
|
|
648
|
+
this.authenticate();
|
|
649
|
+
this.authenticated = true;
|
|
650
|
+
}
|
|
651
|
+
});
|
|
652
|
+
}
|
|
359
653
|
}
|
|
360
654
|
exports.WebSocketClient = WebSocketClient;
|
|
361
655
|
//# sourceMappingURL=websocket-client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-client.js","sourceRoot":"","sources":["../../../src/utils/websocket-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"websocket-client.js","sourceRoot":"","sources":["../../../src/utils/websocket-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import { ChatApi } from './api/chat-api.js';
|
|
|
10
10
|
import { ModelsApi } from './api/models-api.js';
|
|
11
11
|
import { DependenciesApi } from './api/dependencies-api.js';
|
|
12
12
|
// Версия SDK
|
|
13
|
-
const SDK_VERSION = '1.
|
|
13
|
+
const SDK_VERSION = '1.5.0';
|
|
14
14
|
/**
|
|
15
15
|
* Определение типа среды выполнения
|
|
16
16
|
* @returns 'browser' | 'node' | 'unknown'
|
|
@@ -394,6 +394,99 @@ export class CodeSolverSDK {
|
|
|
394
394
|
this.dispose();
|
|
395
395
|
return Promise.resolve();
|
|
396
396
|
}
|
|
397
|
+
/**
|
|
398
|
+
* Выполняет запрос к API для генерации рассуждения с использованием Anthropic API
|
|
399
|
+
* с поддержкой потоковой передачи данных через WebSocket
|
|
400
|
+
*
|
|
401
|
+
* @param {ReasoningOptions} options Опции для рассуждения
|
|
402
|
+
* @param {AnthropicStreamCallbacks} callbacks Коллбэки для обработки событий
|
|
403
|
+
* @returns {Promise<void>} Promise без результата
|
|
404
|
+
*/
|
|
405
|
+
async executeReasoning(options, callbacks) {
|
|
406
|
+
try {
|
|
407
|
+
// Подключаемся к WebSocket серверу если еще не подключены
|
|
408
|
+
if (!this.isConnected()) {
|
|
409
|
+
await this.connect();
|
|
410
|
+
}
|
|
411
|
+
// Получаем WebSocket клиент
|
|
412
|
+
const wsClient = this.getWebSocketClient();
|
|
413
|
+
// Подписываемся на события
|
|
414
|
+
this.setupAnthropicEventHandlers(wsClient, callbacks);
|
|
415
|
+
// Отправляем запрос на выполнение рассуждения
|
|
416
|
+
wsClient.sendToReasoning('execute_reasoning', {
|
|
417
|
+
projectId: options.projectId,
|
|
418
|
+
prompt: options.query,
|
|
419
|
+
level: options.level || 'STANDARD',
|
|
420
|
+
type: options.type || 'THINKING',
|
|
421
|
+
currentFile: options.currentFilePath,
|
|
422
|
+
selection: options.selection,
|
|
423
|
+
options: {
|
|
424
|
+
modelProvider: options.options?.modelProvider || 'anthropic',
|
|
425
|
+
modelName: options.options?.modelName || 'claude-3-sonnet-20240229',
|
|
426
|
+
streamResponse: true,
|
|
427
|
+
...(options.options || {})
|
|
428
|
+
}
|
|
429
|
+
});
|
|
430
|
+
this.logger.debug(`Запрос на выполнение рассуждения отправлен: ${JSON.stringify({
|
|
431
|
+
projectId: options.projectId,
|
|
432
|
+
prompt: options.query.substring(0, 50) + '...',
|
|
433
|
+
level: options.level
|
|
434
|
+
})}`);
|
|
435
|
+
}
|
|
436
|
+
catch (error) {
|
|
437
|
+
this.logger.error(`Ошибка при отправке запроса на рассуждение: ${error instanceof Error ? error.message : String(error)}`);
|
|
438
|
+
callbacks.onError?.({
|
|
439
|
+
code: 'SDK_ERROR',
|
|
440
|
+
message: `Ошибка при отправке запроса: ${error instanceof Error ? error.message : String(error)}`
|
|
441
|
+
});
|
|
442
|
+
throw error;
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
/**
|
|
446
|
+
* Настраивает обработчики событий Anthropic API
|
|
447
|
+
* @param {CodeSolverWebSocketClient} wsClient WebSocket клиент
|
|
448
|
+
* @param {AnthropicStreamCallbacks} callbacks Коллбэки для обработки событий
|
|
449
|
+
* @private
|
|
450
|
+
*/
|
|
451
|
+
setupAnthropicEventHandlers(wsClient, callbacks) {
|
|
452
|
+
// Регистрируем обработчики для всех типов событий
|
|
453
|
+
wsClient.on('message_start', (data) => {
|
|
454
|
+
callbacks.onMessageStart?.(data);
|
|
455
|
+
callbacks.onAny?.('message_start', data);
|
|
456
|
+
}, WebSocketNamespace.REASONING);
|
|
457
|
+
wsClient.on('thinking_block_start', (data) => {
|
|
458
|
+
callbacks.onThinkingStart?.(data);
|
|
459
|
+
callbacks.onAny?.('thinking_block_start', data);
|
|
460
|
+
}, WebSocketNamespace.REASONING);
|
|
461
|
+
wsClient.on('thinking_block_delta', (data) => {
|
|
462
|
+
callbacks.onThinkingDelta?.(data);
|
|
463
|
+
callbacks.onAny?.('thinking_block_delta', data);
|
|
464
|
+
}, WebSocketNamespace.REASONING);
|
|
465
|
+
wsClient.on('thinking_block_stop', (data) => {
|
|
466
|
+
callbacks.onThinkingStop?.(data);
|
|
467
|
+
callbacks.onAny?.('thinking_block_stop', data);
|
|
468
|
+
}, WebSocketNamespace.REASONING);
|
|
469
|
+
wsClient.on('content_block_start', (data) => {
|
|
470
|
+
callbacks.onContentStart?.(data);
|
|
471
|
+
callbacks.onAny?.('content_block_start', data);
|
|
472
|
+
}, WebSocketNamespace.REASONING);
|
|
473
|
+
wsClient.on('content_block_delta', (data) => {
|
|
474
|
+
callbacks.onContentDelta?.(data);
|
|
475
|
+
callbacks.onAny?.('content_block_delta', data);
|
|
476
|
+
}, WebSocketNamespace.REASONING);
|
|
477
|
+
wsClient.on('content_block_stop', (data) => {
|
|
478
|
+
callbacks.onContentStop?.(data);
|
|
479
|
+
callbacks.onAny?.('content_block_stop', data);
|
|
480
|
+
}, WebSocketNamespace.REASONING);
|
|
481
|
+
wsClient.on('message_stop', (data) => {
|
|
482
|
+
callbacks.onMessageStop?.(data);
|
|
483
|
+
callbacks.onAny?.('message_stop', data);
|
|
484
|
+
}, WebSocketNamespace.REASONING);
|
|
485
|
+
wsClient.on('error', (data) => {
|
|
486
|
+
callbacks.onError?.(data);
|
|
487
|
+
callbacks.onAny?.('error', data);
|
|
488
|
+
}, WebSocketNamespace.REASONING);
|
|
489
|
+
}
|
|
397
490
|
}
|
|
398
491
|
/** Глобальный обработчик ошибок */
|
|
399
492
|
CodeSolverSDK.errorHandler = null;
|