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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-solver-sdk.js","sourceRoot":"","sources":["../../src/code-solver-sdk.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"code-solver-sdk.js","sourceRoot":"","sources":["../../src/code-solver-sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,7 +70,8 @@ export class CodeSolverWebSocketClient {
|
|
|
70
70
|
url.searchParams.append('transport', 'websocket');
|
|
71
71
|
// Если указан namespace, добавляем его как параметр
|
|
72
72
|
if (namespace !== WebSocketNamespace.DEFAULT) {
|
|
73
|
-
const
|
|
73
|
+
const nsString = String(namespace);
|
|
74
|
+
const nsName = nsString.startsWith('/') ? nsString.substring(1) : nsString;
|
|
74
75
|
url.searchParams.append('namespace', nsName);
|
|
75
76
|
}
|
|
76
77
|
// Добавляем параметры к URL
|
|
@@ -80,20 +81,34 @@ export class CodeSolverWebSocketClient {
|
|
|
80
81
|
}
|
|
81
82
|
});
|
|
82
83
|
const urlString = url.toString();
|
|
83
|
-
console.debug(`[WS] Подключение к ${urlString}
|
|
84
|
+
console.debug(`[WS] Подключение к ${urlString}`, {
|
|
85
|
+
namespace: String(namespace),
|
|
86
|
+
hasApiKey: !!this.options.apiKey,
|
|
87
|
+
apiKeyLength: this.options.apiKey ? this.options.apiKey.length : 0,
|
|
88
|
+
params: Object.keys(params)
|
|
89
|
+
});
|
|
84
90
|
// Создаем новый WebSocket клиент
|
|
85
91
|
const client = new WebSocketClient(urlString, this.options);
|
|
86
92
|
// Добавляем обработчик для успешного подключения и отправки аутентификации
|
|
87
93
|
client.on('open', () => {
|
|
88
|
-
console.debug(`[WS] Подключение к ${namespace}
|
|
94
|
+
console.debug(`[WS] Подключение к ${String(namespace)} установлено`, {
|
|
95
|
+
socketId: client.webSocket?.id,
|
|
96
|
+
readyState: client.webSocket?.readyState
|
|
97
|
+
});
|
|
89
98
|
// Отправляем сообщение аутентификации, если задан API ключ
|
|
90
99
|
if (this.options.apiKey && namespace !== WebSocketNamespace.DEFAULT) {
|
|
91
100
|
try {
|
|
92
|
-
|
|
101
|
+
const apiKeySafe = this.options.apiKey.length > 8
|
|
102
|
+
? `${this.options.apiKey.substring(0, 4)}...${this.options.apiKey.substring(this.options.apiKey.length - 4)}`
|
|
103
|
+
: '[короткий ключ]';
|
|
104
|
+
console.debug(`[WS] Отправка аутентификации для ${String(namespace)}`, {
|
|
105
|
+
namespace: String(namespace),
|
|
106
|
+
apiKey: apiKeySafe
|
|
107
|
+
});
|
|
93
108
|
// Отправляем сообщение аутентификации в формате Socket.IO
|
|
94
109
|
const authMessage = {
|
|
95
110
|
type: '2', // Socket.IO packet type: EVENT
|
|
96
|
-
nsp: namespace,
|
|
111
|
+
nsp: String(namespace),
|
|
97
112
|
data: ['authenticate', { token: this.options.apiKey }]
|
|
98
113
|
};
|
|
99
114
|
client.send(authMessage);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-solver-websocket-client.js","sourceRoot":"","sources":["../../../src/utils/code-solver-websocket-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA0B,MAAM,uBAAuB,CAAC;AAEhF;;GAEG;AACH,MAAM,CAAN,IAAY,kBAYX;AAZD,WAAY,kBAAkB;IAC5B,iCAAiC;IACjC,mCAAa,CAAA;IAEb,mCAAmC;IACnC,8CAAwB,CAAA;IAExB,kCAAkC;IAClC,4CAAsB,CAAA;IAEtB,oCAAoC;IACpC,oDAA8B,CAAA;AAChC,CAAC,EAZW,kBAAkB,KAAlB,kBAAkB,QAY7B;AA+
|
|
1
|
+
{"version":3,"file":"code-solver-websocket-client.js","sourceRoot":"","sources":["../../../src/utils/code-solver-websocket-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,8 @@ export class WebSocketClient {
|
|
|
24
24
|
this.messageQueue = [];
|
|
25
25
|
/** Состояние соединения */
|
|
26
26
|
this.connected = false;
|
|
27
|
+
/** Аутентифицировано ли соединение */
|
|
28
|
+
this.authenticated = false;
|
|
27
29
|
this.url = url;
|
|
28
30
|
this.options = {
|
|
29
31
|
headers: options.headers || {},
|
|
@@ -33,10 +35,44 @@ export class WebSocketClient {
|
|
|
33
35
|
retryDelay: options.retryDelay || 1000,
|
|
34
36
|
maxRetryDelay: options.maxRetryDelay || 30000,
|
|
35
37
|
autoReconnect: options.autoReconnect !== undefined ? options.autoReconnect : true,
|
|
36
|
-
rejectUnauthorized: options.rejectUnauthorized !== undefined ? options.rejectUnauthorized : true
|
|
38
|
+
rejectUnauthorized: options.rejectUnauthorized !== undefined ? options.rejectUnauthorized : true,
|
|
39
|
+
apiKey: options.apiKey || '',
|
|
40
|
+
namespace: options.namespace || '',
|
|
41
|
+
logger: options.logger
|
|
37
42
|
};
|
|
38
43
|
// Определяем среду выполнения
|
|
39
44
|
this.isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';
|
|
45
|
+
// Инициализируем пространство имен
|
|
46
|
+
this.namespace = this.options.namespace || '';
|
|
47
|
+
// Если namespace не начинается с /, добавляем его
|
|
48
|
+
if (this.namespace && !this.namespace.startsWith('/')) {
|
|
49
|
+
this.namespace = '/' + this.namespace;
|
|
50
|
+
}
|
|
51
|
+
// Инициализируем логгер
|
|
52
|
+
this.logger = this.options.logger || ((level, message, data) => {
|
|
53
|
+
if (level === 'error') {
|
|
54
|
+
console.error(`[WebSocketClient] ${message}`, data);
|
|
55
|
+
}
|
|
56
|
+
else if (level === 'warn') {
|
|
57
|
+
console.warn(`[WebSocketClient] ${message}`, data);
|
|
58
|
+
}
|
|
59
|
+
else if (level === 'info') {
|
|
60
|
+
console.info(`[WebSocketClient] ${message}`, data);
|
|
61
|
+
}
|
|
62
|
+
else if (level === 'debug' && process.env.NODE_ENV === 'development') {
|
|
63
|
+
console.debug(`[WebSocketClient] ${message}`, data);
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
// Логирование конфигурации при создании клиента
|
|
67
|
+
this.logger('info', 'Создан WebSocket клиент', {
|
|
68
|
+
url: this.url,
|
|
69
|
+
namespace: this.namespace,
|
|
70
|
+
hasApiKey: !!this.options.apiKey,
|
|
71
|
+
apiKeyLength: this.options.apiKey ? this.options.apiKey.length : 0,
|
|
72
|
+
connectionTimeout: this.options.connectionTimeout,
|
|
73
|
+
autoReconnect: this.options.autoReconnect,
|
|
74
|
+
maxRetries: this.options.maxRetries
|
|
75
|
+
});
|
|
40
76
|
}
|
|
41
77
|
/**
|
|
42
78
|
* Подключается к WebSocket серверу
|
|
@@ -45,30 +81,50 @@ export class WebSocketClient {
|
|
|
45
81
|
connect() {
|
|
46
82
|
// Если соединение уже установлено, возвращаем Promise.resolve
|
|
47
83
|
if (this.webSocket && this.webSocket.readyState === WebSocket.OPEN) {
|
|
84
|
+
this.logger('info', 'Соединение уже установлено');
|
|
48
85
|
return Promise.resolve();
|
|
49
86
|
}
|
|
50
87
|
// Сбрасываем флаг намеренного закрытия
|
|
51
88
|
this.intentionallyClosed = false;
|
|
52
89
|
return new Promise((resolve, reject) => {
|
|
53
90
|
try {
|
|
91
|
+
// Проверяем, содержит ли URL параметры Socket.IO
|
|
92
|
+
let wsUrl = this.url;
|
|
93
|
+
// Проверяем, является ли это Socket.IO подключением
|
|
94
|
+
if (wsUrl.includes('/socket.io/') || wsUrl.includes('?EIO=')) {
|
|
95
|
+
// Убедимся, что в URL есть параметры для Socket.IO версии 4
|
|
96
|
+
if (!wsUrl.includes('EIO=')) {
|
|
97
|
+
// Добавляем разделитель: ? или &
|
|
98
|
+
const separator = wsUrl.includes('?') ? '&' : '?';
|
|
99
|
+
wsUrl += `${separator}EIO=4&transport=websocket`;
|
|
100
|
+
}
|
|
101
|
+
// Добавляем timestamp для предотвращения кеширования
|
|
102
|
+
if (!wsUrl.includes('t=')) {
|
|
103
|
+
const separator = wsUrl.includes('?') ? '&' : '?';
|
|
104
|
+
wsUrl += `${separator}t=${Date.now()}`;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
this.logger('info', 'Выполняется подключение', { url: wsUrl });
|
|
54
108
|
// Создаем новый экземпляр WebSocket
|
|
55
109
|
if (this.isBrowser) {
|
|
56
110
|
// Браузерное окружение
|
|
57
|
-
this.webSocket = new WebSocket(
|
|
111
|
+
this.webSocket = new WebSocket(wsUrl, this.options.protocols);
|
|
58
112
|
}
|
|
59
113
|
else {
|
|
60
114
|
// Node.js окружение
|
|
61
115
|
try {
|
|
62
116
|
// Динамически импортируем ws модуль в Node.js
|
|
63
117
|
const WebSocketImpl = require('ws');
|
|
64
|
-
this.webSocket = new WebSocketImpl(
|
|
118
|
+
this.webSocket = new WebSocketImpl(wsUrl, {
|
|
65
119
|
headers: this.options.headers,
|
|
66
120
|
protocol: this.options.protocols,
|
|
67
121
|
rejectUnauthorized: this.options.rejectUnauthorized !== false
|
|
68
122
|
});
|
|
69
123
|
}
|
|
70
124
|
catch (error) {
|
|
71
|
-
|
|
125
|
+
const errorMsg = `Не удалось загрузить модуль ws в Node.js: ${error.message}`;
|
|
126
|
+
this.logger('error', errorMsg);
|
|
127
|
+
reject(new Error(errorMsg));
|
|
72
128
|
return;
|
|
73
129
|
}
|
|
74
130
|
}
|
|
@@ -84,6 +140,7 @@ export class WebSocketClient {
|
|
|
84
140
|
clearTimeout(this.connectionTimeoutTimer);
|
|
85
141
|
this.retryCount = 0;
|
|
86
142
|
this.connected = true;
|
|
143
|
+
this.logger('info', 'WebSocket соединение установлено');
|
|
87
144
|
// Отправляем сообщения из очереди
|
|
88
145
|
while (this.messageQueue.length > 0) {
|
|
89
146
|
const message = this.messageQueue.shift();
|
|
@@ -103,63 +160,137 @@ export class WebSocketClient {
|
|
|
103
160
|
let data = event.data;
|
|
104
161
|
// Обработка сообщений Socket.IO
|
|
105
162
|
if (typeof data === 'string') {
|
|
106
|
-
//
|
|
163
|
+
// Обработка Engine.IO - Ping/Pong (2/3)
|
|
107
164
|
if (data === '2') {
|
|
108
|
-
//
|
|
165
|
+
// Engine.IO ping, отправляем понг
|
|
109
166
|
if (this.webSocket && this.webSocket.readyState === WebSocket.OPEN) {
|
|
110
167
|
this.webSocket.send('3');
|
|
111
168
|
}
|
|
112
169
|
this.dispatchEvent('ping', {});
|
|
113
170
|
return;
|
|
114
171
|
}
|
|
115
|
-
|
|
172
|
+
else if (data === '3') {
|
|
173
|
+
// Engine.IO pong
|
|
174
|
+
this.dispatchEvent('pong', {});
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
// Обработка открытия соединения Socket.IO
|
|
178
|
+
if (data.startsWith('0')) {
|
|
179
|
+
try {
|
|
180
|
+
const authData = JSON.parse(data.substring(1));
|
|
181
|
+
this.dispatchEvent('socket.io_open', authData);
|
|
182
|
+
// Вызываем обработчик открытия соединения Socket.IO
|
|
183
|
+
this.handleSocketIOOpen(authData);
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
catch (e) {
|
|
187
|
+
// Игнорируем ошибки парсинга
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
// Обработка Socket.IO событий (42)
|
|
191
|
+
if (data.startsWith('42')) {
|
|
192
|
+
// Формат: 42/namespace,[event,data]
|
|
193
|
+
let namespace = '';
|
|
194
|
+
let eventData = data.substring(2);
|
|
195
|
+
// Извлекаем namespace, если есть
|
|
196
|
+
if (eventData.startsWith('/')) {
|
|
197
|
+
const namespaceEnd = eventData.indexOf(',');
|
|
198
|
+
if (namespaceEnd !== -1) {
|
|
199
|
+
namespace = eventData.substring(0, namespaceEnd);
|
|
200
|
+
eventData = eventData.substring(namespaceEnd + 1);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
try {
|
|
204
|
+
const parsedData = JSON.parse(eventData);
|
|
205
|
+
if (Array.isArray(parsedData) && parsedData.length >= 1) {
|
|
206
|
+
const event = parsedData[0];
|
|
207
|
+
const eventPayload = parsedData.length > 1 ? parsedData[1] : null;
|
|
208
|
+
// Запускаем обработчик для данного события
|
|
209
|
+
this.dispatchEvent(event, eventPayload);
|
|
210
|
+
// Также отправляем общее событие socket.io с информацией о полученном событии
|
|
211
|
+
this.dispatchEvent('socket.io_event', {
|
|
212
|
+
event,
|
|
213
|
+
data: eventPayload,
|
|
214
|
+
namespace
|
|
215
|
+
});
|
|
216
|
+
// Обработка специальных событий для стриминга
|
|
217
|
+
if (event === 'text_delta' && eventPayload?.delta?.text) {
|
|
218
|
+
this.dispatchEvent('streaming_delta', { type: 'text', content: eventPayload.delta.text });
|
|
219
|
+
}
|
|
220
|
+
else if (event === 'thinking_delta' && eventPayload?.delta?.thinking) {
|
|
221
|
+
this.dispatchEvent('streaming_delta', { type: 'thinking', content: eventPayload.delta.thinking });
|
|
222
|
+
}
|
|
223
|
+
else if (event === 'message_stop') {
|
|
224
|
+
this.dispatchEvent('streaming_complete', {});
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
catch (e) {
|
|
229
|
+
this.dispatchEvent('error', { message: `Ошибка парсинга Socket.IO данных: ${e instanceof Error ? e.message : 'Неизвестная ошибка'}` });
|
|
230
|
+
}
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
// Определяем тип пакета Socket.IO по первому символу
|
|
116
234
|
const packetType = data.charAt(0);
|
|
117
235
|
// Если это пакет данных (тип 0-6)
|
|
118
236
|
if (packetType >= '0' && packetType <= '6') {
|
|
119
|
-
//
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
237
|
+
// Отправляем особое событие для Socket.IO пакетов
|
|
238
|
+
this.dispatchEvent('socket.io_raw', {
|
|
239
|
+
type: packetType,
|
|
240
|
+
data: data.substring(1)
|
|
241
|
+
});
|
|
242
|
+
// Пытаемся обработать содержимое
|
|
243
|
+
if (data.length > 1) {
|
|
244
|
+
try {
|
|
124
245
|
// Обработка пакета с namespace
|
|
125
246
|
let jsonStart = 1;
|
|
126
|
-
|
|
247
|
+
let namespace = '';
|
|
248
|
+
// Если есть namespace, извлекаем его
|
|
127
249
|
if (data.charAt(1) === '/') {
|
|
128
250
|
const namespaceEnd = data.indexOf('{', 1);
|
|
129
251
|
if (namespaceEnd !== -1) {
|
|
252
|
+
namespace = data.substring(1, namespaceEnd);
|
|
130
253
|
jsonStart = namespaceEnd;
|
|
131
254
|
}
|
|
132
255
|
}
|
|
133
|
-
//
|
|
256
|
+
// Пытаемся преобразовать оставшуюся часть в JSON
|
|
134
257
|
const jsonStr = data.substring(jsonStart);
|
|
135
258
|
if (jsonStr) {
|
|
136
|
-
|
|
259
|
+
try {
|
|
260
|
+
const parsedData = JSON.parse(jsonStr);
|
|
261
|
+
this.dispatchEvent('message', parsedData);
|
|
262
|
+
}
|
|
263
|
+
catch (e) {
|
|
264
|
+
// Если не можем преобразовать в JSON, отправляем как есть
|
|
265
|
+
this.dispatchEvent('message', jsonStr);
|
|
266
|
+
}
|
|
137
267
|
}
|
|
138
268
|
}
|
|
269
|
+
catch (e) {
|
|
270
|
+
// Игнорируем ошибки парсинга
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
else {
|
|
275
|
+
// Если это не Socket.IO пакет, пытаемся обработать как обычное сообщение
|
|
276
|
+
try {
|
|
277
|
+
const parsedData = JSON.parse(data);
|
|
278
|
+
this.dispatchEvent('message', parsedData);
|
|
139
279
|
}
|
|
140
280
|
catch (e) {
|
|
141
|
-
//
|
|
281
|
+
// Если не можем преобразовать в JSON, отправляем как есть
|
|
282
|
+
this.dispatchEvent('message', data);
|
|
142
283
|
}
|
|
143
|
-
// Отправляем особое событие для Socket.IO пакетов
|
|
144
|
-
this.dispatchEvent('socket.io', {
|
|
145
|
-
type: packetType,
|
|
146
|
-
data: socketData
|
|
147
|
-
});
|
|
148
|
-
// Для обычного события message используем распарсенные данные, если есть
|
|
149
|
-
data = socketData || data;
|
|
150
|
-
}
|
|
151
|
-
try {
|
|
152
|
-
// Пытаемся распарсить как JSON для обычных сообщений
|
|
153
|
-
data = JSON.parse(data);
|
|
154
|
-
}
|
|
155
|
-
catch (e) {
|
|
156
|
-
// Если не удалось распарсить, оставляем как есть
|
|
157
284
|
}
|
|
158
285
|
}
|
|
159
|
-
|
|
286
|
+
else {
|
|
287
|
+
// Если данные не строка (например, ArrayBuffer), отправляем как есть
|
|
288
|
+
this.dispatchEvent('message', data);
|
|
289
|
+
}
|
|
160
290
|
}
|
|
161
291
|
catch (e) {
|
|
162
292
|
console.error('Ошибка при обработке сообщения WebSocket:', e);
|
|
293
|
+
this.dispatchEvent('error', { message: `Ошибка при обработке сообщения: ${e instanceof Error ? e.message : 'Неизвестная ошибка'}` });
|
|
163
294
|
}
|
|
164
295
|
};
|
|
165
296
|
// Обработчик закрытия соединения
|
|
@@ -264,8 +395,24 @@ export class WebSocketClient {
|
|
|
264
395
|
// Если это объект с type='2' (Socket.IO EVENT), обрабатываем как Socket.IO сообщение
|
|
265
396
|
if (typeof message === 'object' && message.type === '2') {
|
|
266
397
|
const socketIOMessage = message;
|
|
398
|
+
let packet;
|
|
267
399
|
// Формат сообщения для Socket.IO протокола 4
|
|
268
|
-
|
|
400
|
+
if (socketIOMessage.event && socketIOMessage.data) {
|
|
401
|
+
// Format: 42namespace,[event,data]
|
|
402
|
+
const namespace = socketIOMessage.nsp ? socketIOMessage.nsp : '';
|
|
403
|
+
const namespaceStr = namespace && !namespace.startsWith('/') ? '/' + namespace : namespace;
|
|
404
|
+
const eventData = [socketIOMessage.event];
|
|
405
|
+
if (socketIOMessage.data !== undefined) {
|
|
406
|
+
eventData.push(socketIOMessage.data);
|
|
407
|
+
}
|
|
408
|
+
// 4 - Engine.IO message type
|
|
409
|
+
// 2 - Socket.IO EVENT type
|
|
410
|
+
packet = `42${namespaceStr}${namespaceStr ? ',' : ''}${JSON.stringify(eventData)}`;
|
|
411
|
+
}
|
|
412
|
+
else {
|
|
413
|
+
// Обратная совместимость со старым форматом
|
|
414
|
+
packet = `${socketIOMessage.type}${socketIOMessage.nsp ? socketIOMessage.nsp : ''}${JSON.stringify(socketIOMessage.data)}`;
|
|
415
|
+
}
|
|
269
416
|
if (this.webSocket && this.webSocket.readyState === WebSocket.OPEN) {
|
|
270
417
|
this.webSocket.send(packet);
|
|
271
418
|
return true;
|
|
@@ -353,5 +500,152 @@ export class WebSocketClient {
|
|
|
353
500
|
}
|
|
354
501
|
}
|
|
355
502
|
}
|
|
503
|
+
/**
|
|
504
|
+
* Обработка полученного сообщения от сервера
|
|
505
|
+
* @param message Сообщение от сервера
|
|
506
|
+
*/
|
|
507
|
+
handleMessage(message) {
|
|
508
|
+
try {
|
|
509
|
+
if (!message) {
|
|
510
|
+
this.dispatchEvent('error', { message: 'Получено пустое сообщение' });
|
|
511
|
+
return;
|
|
512
|
+
}
|
|
513
|
+
// Проверяем, является ли сообщение пингом Socket.IO (2)
|
|
514
|
+
if (message === '2') {
|
|
515
|
+
// Отправляем понг (3)
|
|
516
|
+
this.send('3');
|
|
517
|
+
this.dispatchEvent('debug', 'Получен ping, отправлен pong');
|
|
518
|
+
return;
|
|
519
|
+
}
|
|
520
|
+
// Если это сообщение Socket.IO с данными
|
|
521
|
+
if (message.startsWith('42')) {
|
|
522
|
+
// Формат: 42[event,data]
|
|
523
|
+
const eventDataStr = message.substring(2);
|
|
524
|
+
try {
|
|
525
|
+
const [event, data] = JSON.parse(eventDataStr);
|
|
526
|
+
// Вызываем соответствующий обработчик события
|
|
527
|
+
this.dispatchEvent(event, data);
|
|
528
|
+
// Добавляем специальную обработку для событий стриминга
|
|
529
|
+
if (event === 'text_delta' && data.delta?.text) {
|
|
530
|
+
this.dispatchEvent('streaming_delta', { type: 'text', content: data.delta.text });
|
|
531
|
+
}
|
|
532
|
+
else if (event === 'thinking_delta' && data.delta?.thinking) {
|
|
533
|
+
this.dispatchEvent('streaming_delta', { type: 'thinking', content: data.delta.thinking });
|
|
534
|
+
}
|
|
535
|
+
else if (event === 'message_stop') {
|
|
536
|
+
this.dispatchEvent('streaming_complete', {});
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
catch (error) {
|
|
540
|
+
const errorMessage = error instanceof Error ? error.message : 'Неизвестная ошибка';
|
|
541
|
+
this.dispatchEvent('error', { message: `Ошибка разбора данных события: ${errorMessage}` });
|
|
542
|
+
}
|
|
543
|
+
return;
|
|
544
|
+
}
|
|
545
|
+
// Пытаемся преобразовать сообщение в JSON
|
|
546
|
+
try {
|
|
547
|
+
const parsedMessage = JSON.parse(message);
|
|
548
|
+
// Если это объект с типом event и данными, это может быть событие
|
|
549
|
+
if (parsedMessage.event && parsedMessage.data) {
|
|
550
|
+
const { event, data } = parsedMessage;
|
|
551
|
+
this.dispatchEvent(event, data);
|
|
552
|
+
}
|
|
553
|
+
else {
|
|
554
|
+
this.dispatchEvent('message', parsedMessage);
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
catch (error) {
|
|
558
|
+
// Если не удалось преобразовать в JSON, обрабатываем как текстовое сообщение
|
|
559
|
+
this.dispatchEvent('message', message);
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
catch (error) {
|
|
563
|
+
const errorMessage = error instanceof Error ? error.message : 'Неизвестная ошибка';
|
|
564
|
+
this.dispatchEvent('error', { message: `Ошибка при обработке сообщения: ${errorMessage}` });
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
/**
|
|
568
|
+
* Отправляет событие Socket.IO
|
|
569
|
+
* @param {string} event Название события
|
|
570
|
+
* @param {any} data Данные события
|
|
571
|
+
* @param {string} [namespace=''] Namespace для Socket.IO
|
|
572
|
+
* @returns {boolean} Успешно ли отправлено сообщение
|
|
573
|
+
*/
|
|
574
|
+
sendSocketIOEvent(event, data, namespace = '') {
|
|
575
|
+
// Формируем объект для отправки через метод send
|
|
576
|
+
const socketIOMessage = {
|
|
577
|
+
type: '2',
|
|
578
|
+
event,
|
|
579
|
+
data,
|
|
580
|
+
nsp: namespace
|
|
581
|
+
};
|
|
582
|
+
return this.send(socketIOMessage);
|
|
583
|
+
}
|
|
584
|
+
/**
|
|
585
|
+
* Обработка подключения к пространству имен Socket.IO
|
|
586
|
+
*/
|
|
587
|
+
handleNamespaceConnection() {
|
|
588
|
+
if (!this.namespace) {
|
|
589
|
+
return;
|
|
590
|
+
}
|
|
591
|
+
// Отправляем запрос на подключение к namespace
|
|
592
|
+
this.logger('info', `Подключение к пространству имен ${this.namespace}`);
|
|
593
|
+
const connectMessage = `40${this.namespace}`;
|
|
594
|
+
if (this.webSocket && this.webSocket.readyState === WebSocket.OPEN) {
|
|
595
|
+
this.webSocket.send(connectMessage);
|
|
596
|
+
}
|
|
597
|
+
else {
|
|
598
|
+
this.messageQueue.push(connectMessage);
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
/**
|
|
602
|
+
* Отправка аутентификационного сообщения
|
|
603
|
+
*/
|
|
604
|
+
authenticate() {
|
|
605
|
+
if (!this.options.apiKey) {
|
|
606
|
+
this.logger('warn', 'API ключ не предоставлен, аутентификация пропущена');
|
|
607
|
+
return;
|
|
608
|
+
}
|
|
609
|
+
const apiKeySafe = this.options.apiKey.length > 8
|
|
610
|
+
? `${this.options.apiKey.substring(0, 4)}...${this.options.apiKey.substring(this.options.apiKey.length - 4)}`
|
|
611
|
+
: '[короткий ключ]';
|
|
612
|
+
this.logger('info', 'Отправка аутентификационного сообщения', {
|
|
613
|
+
namespace: this.namespace,
|
|
614
|
+
apiKey: apiKeySafe,
|
|
615
|
+
authenticated: this.authenticated,
|
|
616
|
+
socketState: this.webSocket ? this.webSocket.readyState : 'нет соединения'
|
|
617
|
+
});
|
|
618
|
+
// Отправляем событие authenticate с API ключом
|
|
619
|
+
this.sendSocketIOEvent('authenticate', { apiKey: this.options.apiKey }, this.namespace);
|
|
620
|
+
}
|
|
621
|
+
/**
|
|
622
|
+
* Обработка открытия соединения Socket.IO
|
|
623
|
+
* @param data Данные открытия соединения
|
|
624
|
+
*/
|
|
625
|
+
handleSocketIOOpen(data) {
|
|
626
|
+
this.logger('info', 'Socket.IO соединение открыто', {
|
|
627
|
+
pingInterval: data.pingInterval,
|
|
628
|
+
pingTimeout: data.pingTimeout,
|
|
629
|
+
sid: data.sid
|
|
630
|
+
});
|
|
631
|
+
// Если указано пространство имен, подключаемся к нему
|
|
632
|
+
if (this.namespace) {
|
|
633
|
+
this.handleNamespaceConnection();
|
|
634
|
+
}
|
|
635
|
+
// Добавляем обработчик успешного подключения к пространству имен
|
|
636
|
+
this.on('socket.io_event', (eventData) => {
|
|
637
|
+
// Если это событие connect и мы еще не аутентифицированы
|
|
638
|
+
if (!this.authenticated && eventData.event === 'connect') {
|
|
639
|
+
this.logger('info', `Подключено к пространству имен ${eventData.namespace || '/'}`, {
|
|
640
|
+
namespace: eventData.namespace || '/',
|
|
641
|
+
event: eventData.event,
|
|
642
|
+
data: eventData.data
|
|
643
|
+
});
|
|
644
|
+
// Аутентифицируем соединение
|
|
645
|
+
this.authenticate();
|
|
646
|
+
this.authenticated = true;
|
|
647
|
+
}
|
|
648
|
+
});
|
|
649
|
+
}
|
|
356
650
|
}
|
|
357
651
|
//# sourceMappingURL=websocket-client.js.map
|