solver-sdk 1.8.1 → 1.9.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/projects-api.js +4 -6
- package/dist/cjs/api/projects-api.js.map +1 -1
- package/dist/cjs/code-solver-sdk.js +13 -10
- package/dist/cjs/code-solver-sdk.js.map +1 -1
- package/dist/cjs/constants/websocket-events.constants.js +14 -1
- package/dist/cjs/constants/websocket-events.constants.js.map +1 -1
- package/dist/cjs/constants/websocket-namespaces.constants.js +18 -0
- package/dist/cjs/constants/websocket-namespaces.constants.js.map +1 -0
- package/dist/cjs/interfaces/websocket/callbacks.interfaces.js +3 -0
- package/dist/cjs/interfaces/websocket/callbacks.interfaces.js.map +1 -0
- package/dist/cjs/interfaces/websocket/client-options.interfaces.js +3 -0
- package/dist/cjs/interfaces/websocket/client-options.interfaces.js.map +1 -0
- package/dist/cjs/interfaces/websocket/events.interfaces.js +3 -0
- package/dist/cjs/interfaces/websocket/events.interfaces.js.map +1 -0
- package/dist/cjs/interfaces/websocket/stats.interfaces.js +3 -0
- package/dist/cjs/interfaces/websocket/stats.interfaces.js.map +1 -0
- package/dist/cjs/utils/code-solver-websocket-client.js +382 -1503
- package/dist/cjs/utils/code-solver-websocket-client.js.map +1 -1
- package/dist/cjs/utils/connection-state-manager.js +133 -0
- package/dist/cjs/utils/connection-state-manager.js.map +1 -0
- package/dist/cjs/utils/logger.js +106 -0
- package/dist/cjs/utils/logger.js.map +1 -0
- package/dist/cjs/utils/ping-pong-manager.js +306 -0
- package/dist/cjs/utils/ping-pong-manager.js.map +1 -0
- package/dist/cjs/utils/session-manager.js +114 -0
- package/dist/cjs/utils/session-manager.js.map +1 -0
- package/dist/cjs/ws/base-ws-client.js +286 -0
- package/dist/cjs/ws/base-ws-client.js.map +1 -0
- package/dist/cjs/ws/dependencies-ws-client.js +11 -0
- package/dist/cjs/ws/dependencies-ws-client.js.map +1 -0
- package/dist/cjs/ws/diagnostics-service.js +170 -0
- package/dist/cjs/ws/diagnostics-service.js.map +1 -0
- package/dist/cjs/ws/indexing-ws-client.js +223 -0
- package/dist/cjs/ws/indexing-ws-client.js.map +1 -0
- package/dist/cjs/ws/notifications-ws-client.js +12 -0
- package/dist/cjs/ws/notifications-ws-client.js.map +1 -0
- package/dist/cjs/ws/reasoning-ws-client.js +330 -0
- package/dist/cjs/ws/reasoning-ws-client.js.map +1 -0
- package/dist/esm/api/projects-api.js +4 -6
- package/dist/esm/api/projects-api.js.map +1 -1
- package/dist/esm/code-solver-sdk.js +6 -3
- package/dist/esm/code-solver-sdk.js.map +1 -1
- package/dist/esm/constants/websocket-events.constants.js +13 -0
- package/dist/esm/constants/websocket-events.constants.js.map +1 -1
- package/dist/esm/constants/websocket-namespaces.constants.js +15 -0
- package/dist/esm/constants/websocket-namespaces.constants.js.map +1 -0
- package/dist/esm/interfaces/websocket/callbacks.interfaces.js +2 -0
- package/dist/esm/interfaces/websocket/callbacks.interfaces.js.map +1 -0
- package/dist/esm/interfaces/websocket/client-options.interfaces.js +2 -0
- package/dist/esm/interfaces/websocket/client-options.interfaces.js.map +1 -0
- package/dist/esm/interfaces/websocket/events.interfaces.js +2 -0
- package/dist/esm/interfaces/websocket/events.interfaces.js.map +1 -0
- package/dist/esm/interfaces/websocket/stats.interfaces.js +2 -0
- package/dist/esm/interfaces/websocket/stats.interfaces.js.map +1 -0
- package/dist/esm/utils/code-solver-websocket-client.js +381 -1503
- package/dist/esm/utils/code-solver-websocket-client.js.map +1 -1
- package/dist/esm/utils/connection-state-manager.js +129 -0
- package/dist/esm/utils/connection-state-manager.js.map +1 -0
- package/dist/esm/utils/logger.js +101 -0
- package/dist/esm/utils/logger.js.map +1 -0
- package/dist/esm/utils/ping-pong-manager.js +302 -0
- package/dist/esm/utils/ping-pong-manager.js.map +1 -0
- package/dist/esm/utils/session-manager.js +109 -0
- package/dist/esm/utils/session-manager.js.map +1 -0
- package/dist/esm/ws/base-ws-client.js +282 -0
- package/dist/esm/ws/base-ws-client.js.map +1 -0
- package/dist/esm/ws/dependencies-ws-client.js +7 -0
- package/dist/esm/ws/dependencies-ws-client.js.map +1 -0
- package/dist/esm/ws/diagnostics-service.js +166 -0
- package/dist/esm/ws/diagnostics-service.js.map +1 -0
- package/dist/esm/ws/indexing-ws-client.js +219 -0
- package/dist/esm/ws/indexing-ws-client.js.map +1 -0
- package/dist/esm/ws/notifications-ws-client.js +8 -0
- package/dist/esm/ws/notifications-ws-client.js.map +1 -0
- package/dist/esm/ws/reasoning-ws-client.js +326 -0
- package/dist/esm/ws/reasoning-ws-client.js.map +1 -0
- package/dist/types/api/projects-api.d.ts.map +1 -1
- package/dist/types/code-solver-sdk.d.ts +2 -1
- package/dist/types/code-solver-sdk.d.ts.map +1 -1
- package/dist/types/constants/websocket-events.constants.d.ts +12 -0
- package/dist/types/constants/websocket-events.constants.d.ts.map +1 -1
- package/dist/types/constants/websocket-namespaces.constants.d.ts +14 -0
- package/dist/types/constants/websocket-namespaces.constants.d.ts.map +1 -0
- package/dist/types/interfaces/websocket/callbacks.interfaces.d.ts +30 -0
- package/dist/types/interfaces/websocket/callbacks.interfaces.d.ts.map +1 -0
- package/dist/types/interfaces/websocket/client-options.interfaces.d.ts +51 -0
- package/dist/types/interfaces/websocket/client-options.interfaces.d.ts.map +1 -0
- package/dist/types/interfaces/websocket/events.interfaces.d.ts +165 -0
- package/dist/types/interfaces/websocket/events.interfaces.d.ts.map +1 -0
- package/dist/types/interfaces/websocket/stats.interfaces.d.ts +72 -0
- package/dist/types/interfaces/websocket/stats.interfaces.d.ts.map +1 -0
- package/dist/types/utils/code-solver-websocket-client.d.ts +70 -616
- package/dist/types/utils/code-solver-websocket-client.d.ts.map +1 -1
- package/dist/types/utils/connection-state-manager.d.ts +94 -0
- package/dist/types/utils/connection-state-manager.d.ts.map +1 -0
- package/dist/types/utils/logger.d.ts +62 -0
- package/dist/types/utils/logger.d.ts.map +1 -0
- package/dist/types/utils/ping-pong-manager.d.ts +118 -0
- package/dist/types/utils/ping-pong-manager.d.ts.map +1 -0
- package/dist/types/utils/session-manager.d.ts +98 -0
- package/dist/types/utils/session-manager.d.ts.map +1 -0
- package/dist/types/ws/base-ws-client.d.ts +119 -0
- package/dist/types/ws/base-ws-client.d.ts.map +1 -0
- package/dist/types/ws/dependencies-ws-client.d.ts +6 -0
- package/dist/types/ws/dependencies-ws-client.d.ts.map +1 -0
- package/dist/types/ws/diagnostics-service.d.ts +93 -0
- package/dist/types/ws/diagnostics-service.d.ts.map +1 -0
- package/dist/types/ws/indexing-ws-client.d.ts +78 -0
- package/dist/types/ws/indexing-ws-client.d.ts.map +1 -0
- package/dist/types/ws/notifications-ws-client.d.ts +5 -0
- package/dist/types/ws/notifications-ws-client.d.ts.map +1 -0
- package/dist/types/ws/reasoning-ws-client.d.ts +87 -0
- package/dist/types/ws/reasoning-ws-client.d.ts.map +1 -0
- package/docs/AUTHENTICATION.md +31 -127
- package/docs/WEBSOCKET.md +51 -211
- package/package.json +1 -1
|
@@ -1,364 +1,24 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { WebSocketNamespace } from '../constants/websocket-namespaces.constants.js';
|
|
2
|
+
import { CodeSolverWebSocketOptions } from '../interfaces/websocket/client-options.interfaces.js';
|
|
3
|
+
export { WebSocketNamespace } from '../constants/websocket-namespaces.constants.js';
|
|
4
|
+
export { AnthropicStreamCallbacks } from '../interfaces/websocket/callbacks.interfaces.js';
|
|
2
5
|
/**
|
|
3
|
-
*
|
|
4
|
-
*/
|
|
5
|
-
export declare enum WebSocketNamespace {
|
|
6
|
-
/** Основное пространство имен */
|
|
7
|
-
DEFAULT = "/",
|
|
8
|
-
/** Пространство для рассуждений */
|
|
9
|
-
REASONING = "/reasoning",
|
|
10
|
-
/** Пространство для индексации */
|
|
11
|
-
INDEXING = "/indexing",
|
|
12
|
-
/** Пространство для зависимостей */
|
|
13
|
-
DEPENDENCIES = "/dependencies"
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Опции для Code Solver WebSocket клиента
|
|
17
|
-
*/
|
|
18
|
-
export interface CodeSolverWebSocketOptions extends WebSocketClientOptions {
|
|
19
|
-
/** API ключ для авторизации */
|
|
20
|
-
apiKey?: string;
|
|
21
|
-
/**
|
|
22
|
-
* Проверять SSL-сертификаты при подключении
|
|
23
|
-
* Установите false для работы с самоподписанными сертификатами
|
|
24
|
-
*/
|
|
25
|
-
rejectUnauthorized?: boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Автоматически включать механизм ping/pong при подключении
|
|
28
|
-
* По умолчанию: true
|
|
29
|
-
*/
|
|
30
|
-
enableAutoPing?: boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Интервал между ping-сообщениями в миллисекундах
|
|
33
|
-
* По умолчанию: 15000 (15 сек)
|
|
34
|
-
*/
|
|
35
|
-
pingInterval?: number;
|
|
36
|
-
/**
|
|
37
|
-
* Количество пропущенных pong-ответов до признания соединения потерянным
|
|
38
|
-
* По умолчанию: 3
|
|
39
|
-
*/
|
|
40
|
-
pingTimeoutThreshold?: number;
|
|
41
|
-
/**
|
|
42
|
-
* Стратегия задержки между попытками переподключения
|
|
43
|
-
* 'linear' - линейное увеличение задержки
|
|
44
|
-
* 'exponential' - экспоненциальное увеличение задержки (с jitter)
|
|
45
|
-
* По умолчанию: 'exponential'
|
|
46
|
-
*/
|
|
47
|
-
reconnectStrategy?: 'linear' | 'exponential';
|
|
48
|
-
/**
|
|
49
|
-
* Включение сохранения и восстановления сессии
|
|
50
|
-
* По умолчанию: true
|
|
51
|
-
*/
|
|
52
|
-
enableSessionPersistence?: boolean;
|
|
53
|
-
/**
|
|
54
|
-
* Базовая задержка для переподключения в миллисекундах
|
|
55
|
-
* По умолчанию: 1000
|
|
56
|
-
*/
|
|
57
|
-
retryDelay?: number;
|
|
58
|
-
/**
|
|
59
|
-
* Максимальная задержка для переподключения в миллисекундах
|
|
60
|
-
* По умолчанию: 30000
|
|
61
|
-
*/
|
|
62
|
-
maxRetryDelay?: number;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* События, связанные с рассуждениями от Anthropic API
|
|
66
|
-
*/
|
|
67
|
-
export interface ReasoningEvents {
|
|
68
|
-
/** Событие начала сообщения */
|
|
69
|
-
message_start: {
|
|
70
|
-
/** ID сообщения */
|
|
71
|
-
id: string;
|
|
72
|
-
/** Тип сообщения */
|
|
73
|
-
type: string;
|
|
74
|
-
/** Роль отправителя */
|
|
75
|
-
role: string;
|
|
76
|
-
/** Модель */
|
|
77
|
-
model?: string;
|
|
78
|
-
};
|
|
79
|
-
/** Событие начала блока контента */
|
|
80
|
-
content_block_start: {
|
|
81
|
-
/** ID блока */
|
|
82
|
-
id: string;
|
|
83
|
-
/** Тип блока */
|
|
84
|
-
type: string;
|
|
85
|
-
/** Тип контента */
|
|
86
|
-
content_type: string;
|
|
87
|
-
/** Индекс блока */
|
|
88
|
-
index: number;
|
|
89
|
-
};
|
|
90
|
-
/** Событие дельты блока контента */
|
|
91
|
-
content_block_delta: {
|
|
92
|
-
/** Индекс блока */
|
|
93
|
-
index: number;
|
|
94
|
-
/** Содержимое дельты */
|
|
95
|
-
delta: {
|
|
96
|
-
/** Тип дельты */
|
|
97
|
-
type: string;
|
|
98
|
-
/** Текстовое содержимое (для дельты text_delta) */
|
|
99
|
-
text?: string;
|
|
100
|
-
/** Содержимое мышления (для дельты thinking_delta) */
|
|
101
|
-
thinking?: string;
|
|
102
|
-
/** Содержимое частичного JSON (для дельты input_json_delta) */
|
|
103
|
-
input_json?: string;
|
|
104
|
-
/** Подпись для верификации (для дельты signature_delta) */
|
|
105
|
-
signature?: string;
|
|
106
|
-
};
|
|
107
|
-
};
|
|
108
|
-
/** Событие остановки блока контента */
|
|
109
|
-
content_block_stop: {
|
|
110
|
-
/** ID блока */
|
|
111
|
-
id: string;
|
|
112
|
-
/** Тип блока */
|
|
113
|
-
type: string;
|
|
114
|
-
/** Тип контента */
|
|
115
|
-
content_type: string;
|
|
116
|
-
/** Индекс блока */
|
|
117
|
-
index: number;
|
|
118
|
-
};
|
|
119
|
-
/** Событие дельты сообщения */
|
|
120
|
-
message_delta: {
|
|
121
|
-
/** ID сообщения */
|
|
122
|
-
id: string;
|
|
123
|
-
/** Дельта сообщения */
|
|
124
|
-
delta: any;
|
|
125
|
-
};
|
|
126
|
-
/** Событие окончания сообщения */
|
|
127
|
-
message_stop: {
|
|
128
|
-
/** ID сообщения */
|
|
129
|
-
id: string;
|
|
130
|
-
/** Тип сообщения */
|
|
131
|
-
type: string;
|
|
132
|
-
/** Роль отправителя */
|
|
133
|
-
role: string;
|
|
134
|
-
/** Модель */
|
|
135
|
-
model?: string;
|
|
136
|
-
};
|
|
137
|
-
/** Событие ошибки */
|
|
138
|
-
error: {
|
|
139
|
-
/** Код ошибки */
|
|
140
|
-
code: string;
|
|
141
|
-
/** Сообщение об ошибке */
|
|
142
|
-
message: string;
|
|
143
|
-
/** Детали ошибки */
|
|
144
|
-
details?: {
|
|
145
|
-
/** HTTP статус */
|
|
146
|
-
status?: number;
|
|
147
|
-
/** Тип ошибки */
|
|
148
|
-
type?: string;
|
|
149
|
-
/** Причина ошибки */
|
|
150
|
-
reason?: string;
|
|
151
|
-
};
|
|
152
|
-
};
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* События, связанные с индексацией
|
|
156
|
-
*/
|
|
157
|
-
export interface IndexingEvents {
|
|
158
|
-
/** Событие индексации файла */
|
|
159
|
-
file_indexed: {
|
|
160
|
-
/** ID проекта */
|
|
161
|
-
projectId: string;
|
|
162
|
-
/** Информация о файле */
|
|
163
|
-
file: {
|
|
164
|
-
/** Путь к файлу */
|
|
165
|
-
path: string;
|
|
166
|
-
/** Язык программирования */
|
|
167
|
-
language: string;
|
|
168
|
-
/** Время индексации */
|
|
169
|
-
indexedAt: number;
|
|
170
|
-
/** Тип изменения */
|
|
171
|
-
changeType: 'semantic' | 'structural' | 'formatting';
|
|
172
|
-
};
|
|
173
|
-
};
|
|
174
|
-
/** Событие завершения индексации проекта */
|
|
175
|
-
indexing_complete: {
|
|
176
|
-
/** ID проекта */
|
|
177
|
-
projectId: string;
|
|
178
|
-
/** Время завершения */
|
|
179
|
-
timestamp: number;
|
|
180
|
-
/** Статистика индексации */
|
|
181
|
-
stats: {
|
|
182
|
-
/** Общее количество файлов */
|
|
183
|
-
totalFiles: number;
|
|
184
|
-
/** Количество проиндексированных файлов */
|
|
185
|
-
indexed: number;
|
|
186
|
-
/** Количество файлов с ошибками */
|
|
187
|
-
failed: number;
|
|
188
|
-
/** Время индексации в миллисекундах */
|
|
189
|
-
time: number;
|
|
190
|
-
};
|
|
191
|
-
/** Версия индекса */
|
|
192
|
-
indexVersion: string;
|
|
193
|
-
};
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Общие события
|
|
197
|
-
*/
|
|
198
|
-
export interface CommonEvents {
|
|
199
|
-
/** Событие подключения */
|
|
200
|
-
connect: {
|
|
201
|
-
/** ID клиента */
|
|
202
|
-
clientId: string;
|
|
203
|
-
};
|
|
204
|
-
/** Событие отключения */
|
|
205
|
-
disconnect: {
|
|
206
|
-
/** Причина отключения */
|
|
207
|
-
reason: string;
|
|
208
|
-
};
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* События, связанные с зависимостями файлов
|
|
212
|
-
*/
|
|
213
|
-
export interface DependenciesEvents {
|
|
214
|
-
/** Событие обновления зависимостей */
|
|
215
|
-
dependency_update: {
|
|
216
|
-
/** ID проекта */
|
|
217
|
-
projectId: string;
|
|
218
|
-
/** Временная метка */
|
|
219
|
-
timestamp: number;
|
|
220
|
-
/** Затронутые файлы */
|
|
221
|
-
affectedFiles: string[];
|
|
222
|
-
};
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* Типы WebSocket событий
|
|
226
|
-
*/
|
|
227
|
-
export type WebSocketEvents = ReasoningEvents & IndexingEvents & CommonEvents & DependenciesEvents;
|
|
228
|
-
/**
|
|
229
|
-
* Обработчики для событий от Anthropic API
|
|
230
|
-
*/
|
|
231
|
-
export interface AnthropicStreamCallbacks {
|
|
232
|
-
/** Обработчик для события начала сообщения */
|
|
233
|
-
onMessageStart?: (data: ReasoningEvents['message_start']) => void;
|
|
234
|
-
/** Обработчик для события начала блока мышления (через content_block_start с типом thinking) */
|
|
235
|
-
onThinkingStart?: (data: ReasoningEvents['content_block_start']) => void;
|
|
236
|
-
/** Обработчик для события дельты блока мышления (через content_block_delta с типом thinking_delta) */
|
|
237
|
-
onThinkingDelta?: (data: {
|
|
238
|
-
index: number;
|
|
239
|
-
delta: string;
|
|
240
|
-
}) => void;
|
|
241
|
-
/** Обработчик для события остановки блока мышления (через content_block_stop с типом thinking) */
|
|
242
|
-
onThinkingStop?: (data: ReasoningEvents['content_block_stop']) => void;
|
|
243
|
-
/** Обработчик для события начала блока контента */
|
|
244
|
-
onContentStart?: (data: ReasoningEvents['content_block_start']) => void;
|
|
245
|
-
/** Обработчик для события дельты блока контента */
|
|
246
|
-
onContentDelta?: (data: ReasoningEvents['content_block_delta']) => void;
|
|
247
|
-
/** Обработчик для события остановки блока контента */
|
|
248
|
-
onContentStop?: (data: ReasoningEvents['content_block_stop']) => void;
|
|
249
|
-
/** Обработчик для события окончания сообщения */
|
|
250
|
-
onMessageStop?: (data: ReasoningEvents['message_stop']) => void;
|
|
251
|
-
/** Обработчик для события ошибки */
|
|
252
|
-
onError?: (data: ReasoningEvents['error']) => void;
|
|
253
|
-
/** Обработчик для всех событий (для отладки) */
|
|
254
|
-
onAny?: (eventName: string, data: any) => void;
|
|
255
|
-
}
|
|
256
|
-
/**
|
|
257
|
-
* Интерфейс для статистики ping/pong сообщений
|
|
258
|
-
*/
|
|
259
|
-
export interface PingPongStats {
|
|
260
|
-
/** Намспейс, для которого собрана статистика */
|
|
261
|
-
namespace: WebSocketNamespace;
|
|
262
|
-
/** Socket ID */
|
|
263
|
-
socketId: string | null;
|
|
264
|
-
/** Количество отправленных ping-сообщений */
|
|
265
|
-
pingSent: number;
|
|
266
|
-
/** Количество полученных pong-ответов */
|
|
267
|
-
pongReceived: number;
|
|
268
|
-
/** Средняя задержка RTT (Round Trip Time) в миллисекундах */
|
|
269
|
-
averageRtt: number;
|
|
270
|
-
/** Минимальная задержка RTT в миллисекундах */
|
|
271
|
-
minRtt: number;
|
|
272
|
-
/** Максимальная задержка RTT в миллисекундах */
|
|
273
|
-
maxRtt: number;
|
|
274
|
-
/** Последняя задержка RTT в миллисекундах */
|
|
275
|
-
lastRtt: number;
|
|
276
|
-
/** Время последнего полученного pong-ответа */
|
|
277
|
-
lastPongTimestamp: number;
|
|
278
|
-
/** Статус соединения */
|
|
279
|
-
isConnected: boolean;
|
|
280
|
-
}
|
|
281
|
-
/**
|
|
282
|
-
* Интерфейс для диагностики соединения
|
|
283
|
-
*/
|
|
284
|
-
export interface ConnectionDiagnostics {
|
|
285
|
-
/** Пространство имен */
|
|
286
|
-
namespace: WebSocketNamespace;
|
|
287
|
-
/** Состояние соединения */
|
|
288
|
-
isConnected: boolean;
|
|
289
|
-
/** ID сокета */
|
|
290
|
-
socketId: string | null;
|
|
291
|
-
/** Время последней активности */
|
|
292
|
-
lastActivity: number;
|
|
293
|
-
/** Задержка RTT */
|
|
294
|
-
rtt: {
|
|
295
|
-
/** Текущая задержка */
|
|
296
|
-
current: number;
|
|
297
|
-
/** Минимальная задержка */
|
|
298
|
-
min: number;
|
|
299
|
-
/** Максимальная задержка */
|
|
300
|
-
max: number;
|
|
301
|
-
/** Средняя задержка */
|
|
302
|
-
avg: number;
|
|
303
|
-
};
|
|
304
|
-
/** Количество отправленных ping-сообщений */
|
|
305
|
-
pingSent: number;
|
|
306
|
-
/** Количество полученных pong-ответов */
|
|
307
|
-
pongReceived: number;
|
|
308
|
-
/** Количество пропущенных pong-ответов */
|
|
309
|
-
missedPongs: number;
|
|
310
|
-
/** Количество таймаутов */
|
|
311
|
-
timeoutCount: number;
|
|
312
|
-
/** Количество попыток переподключения */
|
|
313
|
-
reconnectAttempts: number;
|
|
314
|
-
/** Время последнего подключения */
|
|
315
|
-
lastConnectTime: number;
|
|
316
|
-
/** Информация о восстановлении сессии */
|
|
317
|
-
sessionRecovery: {
|
|
318
|
-
/** Наличие токена сессии */
|
|
319
|
-
hasSessionToken: boolean;
|
|
320
|
-
/** Длина токена сессии */
|
|
321
|
-
tokenLength: number;
|
|
322
|
-
/** Было ли восстановлено из сессии */
|
|
323
|
-
wasRecovered: boolean;
|
|
324
|
-
};
|
|
325
|
-
}
|
|
326
|
-
/**
|
|
327
|
-
* WebSocket клиент для работы с Code Solver API
|
|
6
|
+
* WebSocket клиент для работы с Code Solver API (фасад)
|
|
328
7
|
*/
|
|
329
8
|
export declare class CodeSolverWebSocketClient {
|
|
330
9
|
/** Базовый URL API */
|
|
331
10
|
private readonly baseURL;
|
|
332
11
|
/** Опции клиента */
|
|
333
12
|
private readonly options;
|
|
334
|
-
/**
|
|
335
|
-
private readonly
|
|
336
|
-
/**
|
|
337
|
-
private
|
|
338
|
-
|
|
339
|
-
private
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
private thinkingEventHandlers;
|
|
344
|
-
/** Таймеры для ping/pong */
|
|
345
|
-
private pingIntervals;
|
|
346
|
-
/** Статистика ping/pong */
|
|
347
|
-
private pingStats;
|
|
348
|
-
/** Количество последовательных таймаутов */
|
|
349
|
-
private pingTimeouts;
|
|
350
|
-
/** Задержка по умолчанию между ping-сообщениями (30 секунд) */
|
|
351
|
-
private defaultPingInterval;
|
|
352
|
-
/** Порог таймаута (количество пропущенных pong) */
|
|
353
|
-
private timeoutThreshold;
|
|
354
|
-
/** Хранилище обработчиков ping/pong */
|
|
355
|
-
private pingPongEventHandlers;
|
|
356
|
-
/** Токены сессий для разных пространств имен */
|
|
357
|
-
private sessionTokens;
|
|
358
|
-
/** Состояние подключения для разных пространств имен */
|
|
359
|
-
private connectionState;
|
|
360
|
-
/** Таймер для проверки здоровья соединений */
|
|
361
|
-
private healthCheckTimer;
|
|
13
|
+
/** Логгер */
|
|
14
|
+
private readonly logger;
|
|
15
|
+
/** Специализированные клиенты для разных пространств имен */
|
|
16
|
+
private readonly reasoningClient;
|
|
17
|
+
private readonly indexingClient;
|
|
18
|
+
private readonly dependenciesClient;
|
|
19
|
+
private readonly notificationsClient;
|
|
20
|
+
/** Сервис диагностики */
|
|
21
|
+
private readonly diagnosticsService;
|
|
362
22
|
/**
|
|
363
23
|
* Создает новый WebSocket клиент для Code Solver API
|
|
364
24
|
* @param {string} baseURL Базовый URL API
|
|
@@ -366,25 +26,22 @@ export declare class CodeSolverWebSocketClient {
|
|
|
366
26
|
*/
|
|
367
27
|
constructor(baseURL: string, options?: CodeSolverWebSocketOptions);
|
|
368
28
|
/**
|
|
369
|
-
*
|
|
370
|
-
* @param {string}
|
|
371
|
-
* @param {
|
|
372
|
-
* @
|
|
373
|
-
*/
|
|
374
|
-
private logger;
|
|
375
|
-
/**
|
|
376
|
-
* Подключается к пространству имен WebSocket
|
|
377
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
378
|
-
* @param {Record<string, any>} [params] Параметры подключения
|
|
379
|
-
* @returns {Promise<WebSocketClient>} WebSocket клиент
|
|
29
|
+
* Подключается к пространству имен рассуждений
|
|
30
|
+
* @param {string} reasoningId ID рассуждения (опционально)
|
|
31
|
+
* @param {object} options Дополнительные настройки подключения
|
|
32
|
+
* @returns {Promise<boolean>} Результат подключения
|
|
380
33
|
*/
|
|
381
|
-
|
|
34
|
+
connectToReasoning(reasoningId?: string, options?: {
|
|
35
|
+
autoJoin?: boolean;
|
|
36
|
+
createIfNotExists?: boolean;
|
|
37
|
+
checkExistence?: boolean;
|
|
38
|
+
}): Promise<boolean>;
|
|
382
39
|
/**
|
|
383
40
|
* Подключается к пространству имен индексации
|
|
384
|
-
* @param projectId ID проекта (опционально)
|
|
385
|
-
* @returns Promise
|
|
41
|
+
* @param {string} projectId ID проекта (опционально)
|
|
42
|
+
* @returns {Promise<boolean>} Результат подключения
|
|
386
43
|
*/
|
|
387
|
-
connectToIndexing(
|
|
44
|
+
connectToIndexing(projectId?: string): Promise<boolean>;
|
|
388
45
|
/**
|
|
389
46
|
* Подключается к уведомлениям
|
|
390
47
|
* @returns {Promise<boolean>} Результат подключения
|
|
@@ -392,34 +49,50 @@ export declare class CodeSolverWebSocketClient {
|
|
|
392
49
|
connectToNotifications(): Promise<boolean>;
|
|
393
50
|
/**
|
|
394
51
|
* Подключается к пространству имен dependencies
|
|
395
|
-
* @param projectId ID проекта (опционально)
|
|
396
|
-
* @returns Promise
|
|
52
|
+
* @param {string} projectId ID проекта (опционально)
|
|
53
|
+
* @returns {Promise<boolean>} Результат подключения
|
|
397
54
|
*/
|
|
398
55
|
connectToDependencies(projectId?: string): Promise<boolean>;
|
|
399
56
|
/**
|
|
400
57
|
* Отключается от пространства имен
|
|
401
|
-
* @param {WebSocketNamespace
|
|
58
|
+
* @param {WebSocketNamespace} namespace Пространство имен
|
|
402
59
|
*/
|
|
403
|
-
disconnect(namespace: WebSocketNamespace
|
|
60
|
+
disconnect(namespace: WebSocketNamespace): void;
|
|
404
61
|
/**
|
|
405
62
|
* Отключается от всех пространств имен
|
|
406
|
-
* Отключает автоматический механизм ping/pong
|
|
407
63
|
*/
|
|
408
64
|
disconnectAll(): void;
|
|
409
65
|
/**
|
|
410
|
-
*
|
|
411
|
-
* @param {
|
|
412
|
-
* @
|
|
413
|
-
* @param {WebSocketNamespace | string} [namespace] Пространство имен (если не указано, добавляется ко всем активным)
|
|
66
|
+
* Проверяет, подключен ли клиент к указанному пространству имен
|
|
67
|
+
* @param {WebSocketNamespace} namespace Пространство имен
|
|
68
|
+
* @returns {boolean} Статус подключения
|
|
414
69
|
*/
|
|
415
|
-
|
|
70
|
+
isConnected(namespace: WebSocketNamespace): boolean;
|
|
416
71
|
/**
|
|
417
|
-
*
|
|
418
|
-
* @
|
|
419
|
-
|
|
420
|
-
|
|
72
|
+
* Проверяет, подключен ли клиент к пространству имен рассуждений
|
|
73
|
+
* @returns {boolean} Статус подключения
|
|
74
|
+
*/
|
|
75
|
+
isConnectedToReasoning(): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Проверяет, подключен ли клиент к пространству имен индексации
|
|
78
|
+
* @returns {boolean} Статус подключения
|
|
79
|
+
*/
|
|
80
|
+
isConnectedToIndexing(): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Проверяет, подключен ли клиент к пространству имен уведомлений
|
|
83
|
+
* @returns {boolean} Статус подключения
|
|
84
|
+
*/
|
|
85
|
+
isConnectedToNotifications(): boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Получает ID активной сессии рассуждения
|
|
88
|
+
* @returns {string | null} ID активной сессии рассуждения или null
|
|
421
89
|
*/
|
|
422
|
-
|
|
90
|
+
getActiveReasoningId(): string | null;
|
|
91
|
+
/**
|
|
92
|
+
* Получает ID активного проекта
|
|
93
|
+
* @returns {string | null} ID активного проекта или null
|
|
94
|
+
*/
|
|
95
|
+
getActiveProjectId(): string | null;
|
|
423
96
|
/**
|
|
424
97
|
* Отправляет сообщение в пространство имен
|
|
425
98
|
* @param {WebSocketNamespace} namespace Пространство имен
|
|
@@ -450,26 +123,19 @@ export declare class CodeSolverWebSocketClient {
|
|
|
450
123
|
*/
|
|
451
124
|
sendToNotifications(eventType: string, data?: any): boolean;
|
|
452
125
|
/**
|
|
453
|
-
*
|
|
454
|
-
* @param {
|
|
455
|
-
* @
|
|
456
|
-
|
|
457
|
-
isConnected(namespace: WebSocketNamespace | string): boolean;
|
|
458
|
-
/**
|
|
459
|
-
* Проверяет, подключен ли клиент к пространству имен рассуждений
|
|
460
|
-
* @returns {boolean} Статус подключения
|
|
461
|
-
*/
|
|
462
|
-
isConnectedToReasoning(): boolean;
|
|
463
|
-
/**
|
|
464
|
-
* Проверяет, подключен ли клиент к пространству имен индексации
|
|
465
|
-
* @returns {boolean} Статус подключения
|
|
126
|
+
* Добавляет обработчик события для пространства имен
|
|
127
|
+
* @param {string} eventType Тип события
|
|
128
|
+
* @param {Function} handler Обработчик события
|
|
129
|
+
* @param {WebSocketNamespace} [namespace] Пространство имен (если не указано, добавляется ко всем активным)
|
|
466
130
|
*/
|
|
467
|
-
|
|
131
|
+
on(eventType: string, handler: (data: any) => void, namespace?: WebSocketNamespace): void;
|
|
468
132
|
/**
|
|
469
|
-
*
|
|
470
|
-
* @
|
|
133
|
+
* Удаляет обработчик события для пространства имен
|
|
134
|
+
* @param {string} eventType Тип события
|
|
135
|
+
* @param {Function} [handler] Обработчик события (если не указан, удаляются все обработчики)
|
|
136
|
+
* @param {WebSocketNamespace} [namespace] Пространство имен (если не указано, удаляется из всех активных)
|
|
471
137
|
*/
|
|
472
|
-
|
|
138
|
+
off(eventType: string, handler?: (data: any) => void, namespace?: WebSocketNamespace): void;
|
|
473
139
|
/**
|
|
474
140
|
* Получает ID сокета для указанного пространства имен
|
|
475
141
|
* @param {WebSocketNamespace} [namespace=WebSocketNamespace.REASONING] Пространство имен
|
|
@@ -477,221 +143,9 @@ export declare class CodeSolverWebSocketClient {
|
|
|
477
143
|
*/
|
|
478
144
|
getSocketId(namespace?: WebSocketNamespace): string | null;
|
|
479
145
|
/**
|
|
480
|
-
*
|
|
481
|
-
* @
|
|
482
|
-
* @param {Function} handler Обработчик событий мышления
|
|
483
|
-
* @returns {void}
|
|
484
|
-
*/
|
|
485
|
-
subscribeToThinking(reasoningId: string, handler: (data: any) => void): void;
|
|
486
|
-
/**
|
|
487
|
-
* Отписывается от событий мышления
|
|
488
|
-
* @param {string} reasoningId Идентификатор рассуждения
|
|
489
|
-
* @returns {void}
|
|
490
|
-
*/
|
|
491
|
-
unsubscribeFromThinking(reasoningId: string): void;
|
|
492
|
-
/**
|
|
493
|
-
* Подключается к сессии рассуждения с thinking
|
|
494
|
-
* @param {string} [reasoningId="system"] Идентификатор рассуждения
|
|
495
|
-
* @param {Function} [thinkingHandler] Обработчик событий мышления
|
|
496
|
-
* @returns {Promise<string>} Идентификатор сессии рассуждения
|
|
497
|
-
*/
|
|
498
|
-
connectToThinkingSession(reasoningId?: string, thinkingHandler?: (data: any) => void): Promise<string>;
|
|
499
|
-
/**
|
|
500
|
-
* Настраивает отладочное логирование для WebSocket клиента
|
|
501
|
-
* @param namespace Пространство имен
|
|
502
|
-
*/
|
|
503
|
-
private setupDebugLogging;
|
|
504
|
-
/**
|
|
505
|
-
* Проверяет наличие callback-функции в данных и правильно вызывает ее
|
|
506
|
-
* @param eventName Имя события
|
|
507
|
-
* @param data Данные события
|
|
508
|
-
* @private
|
|
509
|
-
*/
|
|
510
|
-
private extractAndCallCallback;
|
|
511
|
-
/**
|
|
512
|
-
* Включить автоматическую отправку ping-сообщений и сбор статистики
|
|
513
|
-
* @param {number} interval - Интервал между ping-сообщениями в миллисекундах
|
|
514
|
-
* @param {number} timeoutThreshold - Количество пропущенных pong-сообщений, после которого соединение считается потерянным
|
|
515
|
-
* @returns {boolean} - Успешность включения ping/pong
|
|
516
|
-
*/
|
|
517
|
-
enablePingPong(interval?: number, timeoutThreshold?: number): boolean;
|
|
518
|
-
/**
|
|
519
|
-
* Отключить автоматическую отправку ping-сообщений
|
|
520
|
-
* @param {WebSocketNamespace} [namespace] - Пространство имен для отключения (если не указано - отключается везде)
|
|
521
|
-
*/
|
|
522
|
-
disablePingPong(namespace?: WebSocketNamespace): void;
|
|
523
|
-
/**
|
|
524
|
-
* Получить статистику ping/pong
|
|
525
|
-
* @param {WebSocketNamespace} [namespace] - Пространство имен для получения статистики
|
|
526
|
-
* @returns {PingPongStats | PingPongStats[] | null} - Статистика ping/pong
|
|
527
|
-
*/
|
|
528
|
-
getPingStats(namespace?: WebSocketNamespace): PingPongStats | PingPongStats[] | null;
|
|
529
|
-
/**
|
|
530
|
-
* Добавляет обработчик для событий ping/pong
|
|
531
|
-
* @param {string} eventType - Тип события (connection_timeout)
|
|
532
|
-
* @param {(data: any) => void} handler - Обработчик события
|
|
533
|
-
*/
|
|
534
|
-
onPingPongEvent(eventType: string, handler: (data: any) => void): void;
|
|
535
|
-
/**
|
|
536
|
-
* Удаляет обработчик для событий ping/pong
|
|
537
|
-
* @param {string} eventType - Тип события
|
|
538
|
-
* @param {(data: any) => void} [handler] - Обработчик события (если не указан, удаляются все обработчики)
|
|
539
|
-
*/
|
|
540
|
-
offPingPongEvent(eventType: string, handler?: (data: any) => void): void;
|
|
541
|
-
/**
|
|
542
|
-
* Возвращает функцию-обработчик для pong-ответов, которая рассчитывает RTT
|
|
543
|
-
* @returns {(data: any) => void} Функция-обработчик
|
|
544
|
-
*/
|
|
545
|
-
getPongHandler(): (data: any) => void;
|
|
546
|
-
/**
|
|
547
|
-
* Выполняет диагностику соединения и возвращает подробный отчет
|
|
548
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
549
|
-
* @returns {ConnectionDiagnostics} Объект с диагностической информацией
|
|
550
|
-
*/
|
|
551
|
-
diagnoseConnection(namespace: WebSocketNamespace): ConnectionDiagnostics;
|
|
552
|
-
/**
|
|
553
|
-
* Выполняет диагностику всех активных соединений
|
|
554
|
-
* @returns {Record<string, ConnectionDiagnostics>} Объект с диагностической информацией по всем соединениям
|
|
555
|
-
*/
|
|
556
|
-
diagnoseAllConnections(): Record<string, ConnectionDiagnostics>;
|
|
557
|
-
/**
|
|
558
|
-
* Рассчитывает задержку для переподключения на основе количества попыток и стратегии
|
|
559
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
560
|
-
* @returns {number} Задержка в миллисекундах
|
|
561
|
-
*/
|
|
562
|
-
private calculateReconnectDelay;
|
|
563
|
-
/**
|
|
564
|
-
* Принудительно переподключает соединение для указанного пространства имен
|
|
565
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
566
|
-
* @param {boolean} immediate Выполнить переподключение немедленно, без задержки
|
|
567
|
-
* @returns {Promise<boolean>} Успешность операции
|
|
568
|
-
*/
|
|
569
|
-
reconnectNamespace(namespace: WebSocketNamespace, immediate?: boolean): Promise<boolean>;
|
|
570
|
-
/**
|
|
571
|
-
* Настраивает периодическую проверку здоровья соединения
|
|
572
|
-
* @param {number} [interval=30000] Интервал проверки в миллисекундах
|
|
573
|
-
*/
|
|
574
|
-
setupConnectionHealthCheck(interval?: number): void;
|
|
575
|
-
/**
|
|
576
|
-
* Сохраняет токен сессии для пространства имен
|
|
577
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
578
|
-
* @param {string} token Токен сессии
|
|
579
|
-
*/
|
|
580
|
-
saveSessionToken(namespace: WebSocketNamespace, token: string): void;
|
|
581
|
-
/**
|
|
582
|
-
* Получает сохраненный токен сессии для пространства имен
|
|
583
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
584
|
-
* @returns {string | null} Токен сессии или null, если не найден
|
|
585
|
-
*/
|
|
586
|
-
getSessionToken(namespace: WebSocketNamespace): string | null;
|
|
587
|
-
/**
|
|
588
|
-
* Удаляет сохраненный токен сессии для пространства имен
|
|
589
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
590
|
-
*/
|
|
591
|
-
clearSessionToken(namespace: WebSocketNamespace): void;
|
|
592
|
-
/**
|
|
593
|
-
* Устанавливает состояние подключения для пространства имен
|
|
594
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
595
|
-
* @param {boolean} connected Состояние подключения
|
|
596
|
-
* @param {boolean} reconnecting Состояние переподключения
|
|
597
|
-
*/
|
|
598
|
-
private setConnectionState;
|
|
599
|
-
/**
|
|
600
|
-
* Увеличивает счетчик попыток переподключения для пространства имен
|
|
601
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
602
|
-
* @returns {number} Новое количество попыток
|
|
603
|
-
*/
|
|
604
|
-
private incrementReconnectAttempts;
|
|
605
|
-
/**
|
|
606
|
-
* Получает состояние подключения для пространства имен
|
|
607
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
608
|
-
* @returns {object} Состояние подключения
|
|
609
|
-
*/
|
|
610
|
-
getConnectionState(namespace: WebSocketNamespace): {
|
|
611
|
-
lastConnectTime: number;
|
|
612
|
-
reconnectAttempts: number;
|
|
613
|
-
connected: boolean;
|
|
614
|
-
reconnecting: boolean;
|
|
615
|
-
};
|
|
616
|
-
/**
|
|
617
|
-
* Устанавливает ID активной сессии рассуждения
|
|
618
|
-
* @param {string} reasoningId ID сессии рассуждения
|
|
619
|
-
* @returns {boolean} Успешность установки
|
|
620
|
-
*/
|
|
621
|
-
setActiveReasoningId(reasoningId: string): boolean;
|
|
622
|
-
/**
|
|
623
|
-
* Устанавливает ID активного проекта
|
|
624
|
-
* @param {string} projectId ID проекта
|
|
625
|
-
* @returns {boolean} Успешность установки
|
|
626
|
-
*/
|
|
627
|
-
setActiveProjectId(projectId: string): boolean;
|
|
628
|
-
/**
|
|
629
|
-
* Устанавливает ID активной сессии рассуждения с расширенными возможностями
|
|
630
|
-
* @param {string} reasoningId ID сессии рассуждения
|
|
631
|
-
* @param {boolean} waitForJoin Дождаться результата присоединения
|
|
632
|
-
* @param {boolean} createIfNotExists Создать новое рассуждение, если ID не существует
|
|
633
|
-
* @returns {Promise<boolean>} Результат операции
|
|
634
|
-
*/
|
|
635
|
-
setActiveReasoningIdAsync(reasoningId: string, waitForJoin?: boolean, createIfNotExists?: boolean): Promise<boolean>;
|
|
636
|
-
/**
|
|
637
|
-
* Создает новое рассуждение на сервере
|
|
638
|
-
* @private
|
|
639
|
-
* @returns {Promise<string>} ID нового рассуждения
|
|
640
|
-
*/
|
|
641
|
-
private createNewReasoning;
|
|
642
|
-
/**
|
|
643
|
-
* Проверяет существование рассуждения на сервере
|
|
644
|
-
* @param {string} reasoningId ID рассуждения для проверки
|
|
645
|
-
* @returns {Promise<boolean>} Существует ли рассуждение
|
|
646
|
-
*/
|
|
647
|
-
checkReasoningExists(reasoningId: string): Promise<boolean>;
|
|
648
|
-
/**
|
|
649
|
-
* Подключается к пространству имен рассуждений
|
|
650
|
-
* @param reasoningId ID рассуждения (опционально)
|
|
651
|
-
* @param options Дополнительные настройки подключения
|
|
652
|
-
* @returns Promise с результатом подключения
|
|
653
|
-
*/
|
|
654
|
-
connectToReasoning(reasoningId?: string, options?: {
|
|
655
|
-
autoJoin?: boolean;
|
|
656
|
-
createIfNotExists?: boolean;
|
|
657
|
-
checkExistence?: boolean;
|
|
658
|
-
saveSession?: boolean;
|
|
659
|
-
}): Promise<boolean>;
|
|
660
|
-
/**
|
|
661
|
-
* Получает текущий статус сессии рассуждения
|
|
662
|
-
* @param {string} reasoningId ID сессии рассуждения (опционально, по умолчанию активная)
|
|
663
|
-
* @returns {Promise<{exists: boolean, isActive: boolean, metadata?: any}>} Статус сессии
|
|
664
|
-
*/
|
|
665
|
-
getReasoningStatus(reasoningId?: string): Promise<{
|
|
666
|
-
exists: boolean;
|
|
667
|
-
isActive: boolean;
|
|
668
|
-
metadata?: any;
|
|
669
|
-
}>;
|
|
670
|
-
/**
|
|
671
|
-
* Присоединяется к сессии рассуждения
|
|
672
|
-
* @param {string} reasoningId ID сессии рассуждения
|
|
673
|
-
* @param {boolean} setActive Установить как активное рассуждение
|
|
674
|
-
* @returns {Promise<boolean>} Результат операции
|
|
675
|
-
*/
|
|
676
|
-
joinReasoning(reasoningId: string, setActive?: boolean): Promise<boolean>;
|
|
677
|
-
/**
|
|
678
|
-
* Подключается к пространству имен рассуждений с расширенными опциями
|
|
679
|
-
* @param reasoningId ID рассуждения (опционально)
|
|
680
|
-
* @param options Дополнительные настройки подключения
|
|
681
|
-
* @returns Promise с результатом подключения
|
|
682
|
-
*/
|
|
683
|
-
connectToReasoningEx(reasoningId?: string, options?: {
|
|
684
|
-
autoJoin?: boolean;
|
|
685
|
-
createIfNotExists?: boolean;
|
|
686
|
-
checkExistence?: boolean;
|
|
687
|
-
saveSession?: boolean;
|
|
688
|
-
}): Promise<boolean>;
|
|
689
|
-
/**
|
|
690
|
-
* Преобразует строковый namespace в соответствующее перечисление
|
|
691
|
-
* @param {WebSocketNamespace | string} namespace Строковый namespace или перечисление
|
|
692
|
-
* @returns {WebSocketNamespace} Соответствующее перечисление
|
|
693
|
-
* @private
|
|
146
|
+
* Получает диагностическую информацию о соединениях
|
|
147
|
+
* @returns {object} Диагностическая информация
|
|
694
148
|
*/
|
|
695
|
-
|
|
149
|
+
getDiagnostics(): Record<string, any>;
|
|
696
150
|
}
|
|
697
151
|
//# sourceMappingURL=code-solver-websocket-client.d.ts.map
|