solver-sdk 1.9.0 → 2.0.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 → code-solver-sdk-v2.js} +219 -273
- package/dist/cjs/code-solver-sdk-v2.js.map +1 -0
- package/dist/cjs/constants/websocket-events.constants.js +24 -1
- package/dist/cjs/constants/websocket-events.constants.js.map +1 -1
- package/dist/cjs/constants/websocket-namespaces.constants.js +2 -0
- package/dist/cjs/constants/websocket-namespaces.constants.js.map +1 -1
- package/dist/cjs/index.js +24 -49
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/ws/filesystem-ws-client.js +315 -0
- package/dist/cjs/ws/filesystem-ws-client.js.map +1 -0
- package/dist/esm/{code-solver-sdk.js → code-solver-sdk-v2.js} +219 -273
- package/dist/esm/code-solver-sdk-v2.js.map +1 -0
- package/dist/esm/constants/websocket-events.constants.js +23 -0
- package/dist/esm/constants/websocket-events.constants.js.map +1 -1
- package/dist/esm/constants/websocket-namespaces.constants.js +2 -0
- package/dist/esm/constants/websocket-namespaces.constants.js.map +1 -1
- package/dist/esm/index.js +22 -97
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/ws/filesystem-ws-client.js +311 -0
- package/dist/esm/ws/filesystem-ws-client.js.map +1 -0
- package/dist/types/{code-solver-sdk.d.ts → code-solver-sdk-v2.d.ts} +81 -85
- package/dist/types/code-solver-sdk-v2.d.ts.map +1 -0
- package/dist/types/constants/websocket-events.constants.d.ts +21 -0
- package/dist/types/constants/websocket-events.constants.d.ts.map +1 -1
- package/dist/types/constants/websocket-namespaces.constants.d.ts +3 -1
- package/dist/types/constants/websocket-namespaces.constants.d.ts.map +1 -1
- package/dist/types/index.d.ts +20 -90
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/ws/filesystem-ws-client.d.ts +203 -0
- package/dist/types/ws/filesystem-ws-client.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/cjs/code-solver-sdk.js.map +0 -1
- package/dist/esm/code-solver-sdk.js.map +0 -1
- package/dist/types/code-solver-sdk.d.ts.map +0 -1
|
@@ -4,16 +4,19 @@ import { SearchApi } from './api/search-api.js';
|
|
|
4
4
|
import { ContextApi } from './api/context-api.js';
|
|
5
5
|
import { ReasoningApi } from './api/reasoning-api.js';
|
|
6
6
|
import { CodeModificationApi } from './api/code-modification-api.js';
|
|
7
|
-
import { CodeSolverWebSocketClient } from './utils/code-solver-websocket-client.js';
|
|
8
7
|
import { AgentsApi } from './api/agents-api.js';
|
|
9
8
|
import { ChatApi } from './api/chat-api/index.js';
|
|
10
9
|
import { ModelsApi } from './api/models-api.js';
|
|
11
10
|
import { DependenciesApi } from './api/dependencies-api.js';
|
|
12
|
-
//
|
|
13
|
-
const SDK_VERSION = '1.7.8';
|
|
14
|
-
// Импорт базовых типов и констант
|
|
11
|
+
// Импорт пространств имен WebSocket
|
|
15
12
|
import { WebSocketNamespace } from './constants/websocket-namespaces.constants.js';
|
|
13
|
+
// Версия SDK
|
|
14
|
+
const SDK_VERSION = '2.0.0';
|
|
16
15
|
// Импорт WebSocket клиентов
|
|
16
|
+
import { IndexingWebSocketClient } from './ws/indexing-ws-client.js';
|
|
17
|
+
import { ReasoningWebSocketClient } from './ws/reasoning-ws-client.js';
|
|
18
|
+
import { FileSystemWsClient } from './ws/filesystem-ws-client.js';
|
|
19
|
+
import { DependenciesWsClient } from './ws/dependencies-ws-client.js';
|
|
17
20
|
/**
|
|
18
21
|
* Определение типа среды выполнения
|
|
19
22
|
* @returns 'browser' | 'node' | 'unknown'
|
|
@@ -29,7 +32,7 @@ function getEnvironment() {
|
|
|
29
32
|
}
|
|
30
33
|
/**
|
|
31
34
|
* Основной класс SDK для работы с Code Solver API
|
|
32
|
-
*
|
|
35
|
+
* В версии 2.0 с современной архитектурой и без обратной совместимости
|
|
33
36
|
*/
|
|
34
37
|
export class CodeSolverSDK {
|
|
35
38
|
/**
|
|
@@ -37,8 +40,11 @@ export class CodeSolverSDK {
|
|
|
37
40
|
* @param {CodeSolverSDKOptions} options Опции SDK
|
|
38
41
|
*/
|
|
39
42
|
constructor(options) {
|
|
40
|
-
/** WebSocket
|
|
41
|
-
this.
|
|
43
|
+
/** WebSocket клиенты для разных пространств имен */
|
|
44
|
+
this._indexingClient = null;
|
|
45
|
+
this._reasoningClient = null;
|
|
46
|
+
this._fileSystemClient = null;
|
|
47
|
+
this._dependenciesClient = null;
|
|
42
48
|
/** Logger для внутреннего использования */
|
|
43
49
|
this.logger = {
|
|
44
50
|
log: (message) => {
|
|
@@ -112,13 +118,88 @@ export class CodeSolverSDK {
|
|
|
112
118
|
}
|
|
113
119
|
}
|
|
114
120
|
/**
|
|
115
|
-
* Получает WebSocket
|
|
116
|
-
* @
|
|
121
|
+
* Получает WebSocket URL
|
|
122
|
+
* @private
|
|
123
|
+
*/
|
|
124
|
+
get wsURL() {
|
|
125
|
+
let url = this._options.baseURL || '';
|
|
126
|
+
// Заменяем протокол HTTP на WS
|
|
127
|
+
if (url.startsWith('http://')) {
|
|
128
|
+
url = url.replace('http://', 'ws://');
|
|
129
|
+
}
|
|
130
|
+
else if (url.startsWith('https://')) {
|
|
131
|
+
url = url.replace('https://', 'wss://');
|
|
132
|
+
}
|
|
133
|
+
return url;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Получает конфигурацию WebSocket
|
|
137
|
+
* @private
|
|
138
|
+
*/
|
|
139
|
+
get wsConfig() {
|
|
140
|
+
return this._options.websocket || {};
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Получает клиент для индексации
|
|
144
|
+
* @returns {IndexingWebSocketClient} Клиент для индексации
|
|
145
|
+
*/
|
|
146
|
+
getIndexingClient() {
|
|
147
|
+
if (!this._indexingClient) {
|
|
148
|
+
const wsURL = this.wsURL;
|
|
149
|
+
this._indexingClient = new IndexingWebSocketClient(wsURL, {
|
|
150
|
+
apiKey: this._options.apiKey,
|
|
151
|
+
headers: this._options.headers,
|
|
152
|
+
autoReconnect: this.wsConfig.reconnect !== false,
|
|
153
|
+
maxRetries: this.wsConfig.reconnectAttempts || 5,
|
|
154
|
+
retryDelay: this.wsConfig.reconnectDelay || 1000,
|
|
155
|
+
rejectUnauthorized: this.wsConfig.rejectUnauthorized
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
return this._indexingClient;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Получает клиент для рассуждений
|
|
162
|
+
* @returns {ReasoningWebSocketClient} Клиент для рассуждений
|
|
117
163
|
*/
|
|
118
|
-
|
|
119
|
-
if (!this.
|
|
164
|
+
getReasoningClient() {
|
|
165
|
+
if (!this._reasoningClient) {
|
|
120
166
|
const wsURL = this.wsURL;
|
|
121
|
-
this.
|
|
167
|
+
this._reasoningClient = new ReasoningWebSocketClient(wsURL, {
|
|
168
|
+
apiKey: this._options.apiKey,
|
|
169
|
+
headers: this._options.headers,
|
|
170
|
+
autoReconnect: this.wsConfig.reconnect !== false,
|
|
171
|
+
maxRetries: this.wsConfig.reconnectAttempts || 5,
|
|
172
|
+
retryDelay: this.wsConfig.reconnectDelay || 1000,
|
|
173
|
+
rejectUnauthorized: this.wsConfig.rejectUnauthorized,
|
|
174
|
+
callbacks: {} // Инициализируем пустой объект callbacks
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
return this._reasoningClient;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Получает клиент для работы с файловой системой
|
|
181
|
+
* @param {Partial<FileSystemWsClientOptions>} options Опции клиента файловой системы
|
|
182
|
+
* @returns {FileSystemWsClient} Клиент для работы с файловой системой
|
|
183
|
+
*/
|
|
184
|
+
getFileSystemClient(options = {}) {
|
|
185
|
+
if (!this._fileSystemClient) {
|
|
186
|
+
const wsURL = this.wsURL;
|
|
187
|
+
this._fileSystemClient = new FileSystemWsClient(wsURL, {
|
|
188
|
+
onReadFile: options.onReadFile,
|
|
189
|
+
onListFiles: options.onListFiles,
|
|
190
|
+
onWatchStart: options.onWatchStart
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
return this._fileSystemClient;
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Получает клиент для работы с зависимостями
|
|
197
|
+
* @returns {DependenciesWsClient} Клиент для работы с зависимостями
|
|
198
|
+
*/
|
|
199
|
+
getDependenciesClient() {
|
|
200
|
+
if (!this._dependenciesClient) {
|
|
201
|
+
const wsURL = this.wsURL;
|
|
202
|
+
this._dependenciesClient = new DependenciesWsClient(WebSocketNamespace.DEPENDENCIES, wsURL, {
|
|
122
203
|
apiKey: this._options.apiKey,
|
|
123
204
|
headers: this._options.headers,
|
|
124
205
|
autoReconnect: this.wsConfig.reconnect !== false,
|
|
@@ -127,7 +208,24 @@ export class CodeSolverSDK {
|
|
|
127
208
|
rejectUnauthorized: this.wsConfig.rejectUnauthorized
|
|
128
209
|
});
|
|
129
210
|
}
|
|
130
|
-
return this.
|
|
211
|
+
return this._dependenciesClient;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Закрывает все WebSocket соединения
|
|
215
|
+
*/
|
|
216
|
+
disconnectAll() {
|
|
217
|
+
if (this._indexingClient) {
|
|
218
|
+
this._indexingClient.disconnect();
|
|
219
|
+
}
|
|
220
|
+
if (this._reasoningClient) {
|
|
221
|
+
this._reasoningClient.disconnect();
|
|
222
|
+
}
|
|
223
|
+
if (this._fileSystemClient) {
|
|
224
|
+
this._fileSystemClient.disconnect();
|
|
225
|
+
}
|
|
226
|
+
if (this._dependenciesClient) {
|
|
227
|
+
this._dependenciesClient.disconnect();
|
|
228
|
+
}
|
|
131
229
|
}
|
|
132
230
|
/**
|
|
133
231
|
* API для работы с агентами
|
|
@@ -179,323 +277,171 @@ export class CodeSolverSDK {
|
|
|
179
277
|
return this._models;
|
|
180
278
|
}
|
|
181
279
|
/**
|
|
182
|
-
*
|
|
280
|
+
* API для работы с зависимостями
|
|
183
281
|
*/
|
|
184
282
|
get dependencies() {
|
|
185
283
|
return this._dependencies;
|
|
186
284
|
}
|
|
187
285
|
/**
|
|
188
|
-
*
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* Получает конфигурацию WebSocket
|
|
195
|
-
*/
|
|
196
|
-
get wsConfig() {
|
|
197
|
-
return this._options.websocket || {};
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* Получает URL для WebSocket соединений
|
|
201
|
-
*/
|
|
202
|
-
get wsURL() {
|
|
203
|
-
return this._options.wsURL || this._options.baseURL.replace(/^http/, 'ws');
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Получает HTTP-клиент
|
|
286
|
+
* Настраивает обработчики событий Anthropic API
|
|
287
|
+
* @param {ReasoningWebSocketClient} reasoningClient WebSocket клиент для рассуждений
|
|
288
|
+
* @param {AnthropicStreamCallbacks} callbacks Коллбэки для обработки событий
|
|
289
|
+
* @private
|
|
207
290
|
*/
|
|
208
|
-
|
|
209
|
-
|
|
291
|
+
setupAnthropicEventHandlers(reasoningClient, callbacks) {
|
|
292
|
+
// Устанавливаем все обработчики для клиента рассуждений
|
|
293
|
+
reasoningClient.setupAnthropicStreamHandlers();
|
|
294
|
+
// Устанавливаем внешние обработчики
|
|
295
|
+
if (callbacks) {
|
|
296
|
+
reasoningClient.callbacks = callbacks;
|
|
297
|
+
}
|
|
210
298
|
}
|
|
211
299
|
/**
|
|
212
|
-
*
|
|
213
|
-
*
|
|
300
|
+
* Выполняет запрос к API для генерации рассуждения с использованием Anthropic API
|
|
301
|
+
* с поддержкой потоковой передачи данных через WebSocket
|
|
302
|
+
*
|
|
303
|
+
* @param {ExtendedReasoningOptions} options Опции для рассуждения
|
|
304
|
+
* @param {AnthropicStreamCallbacks} callbacks Коллбэки для обработки событий
|
|
305
|
+
* @returns {Promise<void>} Promise без результата
|
|
214
306
|
*/
|
|
215
|
-
|
|
216
|
-
|
|
307
|
+
async executeReasoning(options, callbacks) {
|
|
308
|
+
try {
|
|
309
|
+
// Проверяем, что все необходимые параметры указаны
|
|
310
|
+
if (!options.projectId) {
|
|
311
|
+
throw new Error('Не указан projectId для выполнения рассуждения');
|
|
312
|
+
}
|
|
313
|
+
// Подключаемся к WebSocket серверу если еще не подключены
|
|
314
|
+
const reasoningClient = this.getReasoningClient();
|
|
315
|
+
if (!reasoningClient.isConnected()) {
|
|
316
|
+
await reasoningClient.connectToReasoning();
|
|
317
|
+
}
|
|
318
|
+
// Подписываемся на события
|
|
319
|
+
this.setupAnthropicEventHandlers(reasoningClient, callbacks);
|
|
320
|
+
// Отправляем запрос на выполнение рассуждения
|
|
321
|
+
await reasoningClient.emitWithAck('create_reasoning', {
|
|
322
|
+
projectId: options.projectId,
|
|
323
|
+
request: {
|
|
324
|
+
prompt: options.query,
|
|
325
|
+
options: {
|
|
326
|
+
streamMode: true,
|
|
327
|
+
planningMode: Boolean(options.thinking),
|
|
328
|
+
modelName: options.model || 'claude-3-sonnet'
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
catch (error) {
|
|
334
|
+
this.logger.error(`Ошибка при отправке запроса на рассуждение: ${error instanceof Error ? error.message : String(error)}`);
|
|
335
|
+
callbacks.onError?.({
|
|
336
|
+
code: 'SDK_ERROR',
|
|
337
|
+
message: `Ошибка при отправке запроса: ${error instanceof Error ? error.message : String(error)}`
|
|
338
|
+
});
|
|
339
|
+
throw error;
|
|
340
|
+
}
|
|
217
341
|
}
|
|
218
342
|
/**
|
|
219
|
-
*
|
|
343
|
+
* Подключается к WebSocket серверу
|
|
344
|
+
* @returns {Promise<boolean>} Promise с результатом подключения
|
|
220
345
|
*/
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
this.
|
|
346
|
+
async connect() {
|
|
347
|
+
try {
|
|
348
|
+
// Подключаемся к различным пространствам имен
|
|
349
|
+
await this.getIndexingClient().connect();
|
|
350
|
+
await this.getReasoningClient().connect();
|
|
351
|
+
await this.getFileSystemClient().connect();
|
|
352
|
+
await this.getDependenciesClient().connect();
|
|
353
|
+
return true;
|
|
354
|
+
}
|
|
355
|
+
catch (error) {
|
|
356
|
+
CodeSolverSDK.handleError(error);
|
|
357
|
+
return false;
|
|
225
358
|
}
|
|
226
359
|
}
|
|
227
360
|
/**
|
|
228
|
-
*
|
|
229
|
-
* @
|
|
361
|
+
* Проверяет, подключен ли SDK к WebSocket серверу
|
|
362
|
+
* @returns {boolean} Статус подключения
|
|
230
363
|
*/
|
|
231
|
-
|
|
232
|
-
|
|
364
|
+
isConnected() {
|
|
365
|
+
if (!this._indexingClient && !this._reasoningClient && !this._fileSystemClient && !this._dependenciesClient) {
|
|
366
|
+
return false;
|
|
367
|
+
}
|
|
368
|
+
const indexingConnected = this._indexingClient?.isConnected() || false;
|
|
369
|
+
const reasoningConnected = this._reasoningClient?.isConnected() || false;
|
|
370
|
+
const fileSystemConnected = this._fileSystemClient?.isConnected() || false;
|
|
371
|
+
const dependenciesConnected = this._dependenciesClient?.isConnected() || false;
|
|
372
|
+
return indexingConnected || reasoningConnected || fileSystemConnected || dependenciesConnected;
|
|
233
373
|
}
|
|
234
374
|
/**
|
|
235
|
-
* Обрабатывает ошибку
|
|
236
|
-
* @param {Error} error
|
|
375
|
+
* Обрабатывает ошибку
|
|
376
|
+
* @param {Error} error Объект ошибки
|
|
237
377
|
*/
|
|
238
378
|
static handleError(error) {
|
|
239
379
|
if (CodeSolverSDK.errorHandler) {
|
|
240
380
|
CodeSolverSDK.errorHandler(error);
|
|
241
381
|
}
|
|
242
382
|
else {
|
|
243
|
-
console.error('[CodeSolverSDK]', error);
|
|
383
|
+
console.error('[CodeSolverSDK] Необработанная ошибка:', error);
|
|
244
384
|
}
|
|
245
385
|
}
|
|
246
386
|
/**
|
|
247
|
-
*
|
|
248
|
-
* @
|
|
387
|
+
* Устанавливает глобальный обработчик ошибок
|
|
388
|
+
* @param {(error: Error) => void} handler Обработчик ошибок
|
|
249
389
|
*/
|
|
250
|
-
static
|
|
251
|
-
|
|
390
|
+
static setErrorHandler(handler) {
|
|
391
|
+
CodeSolverSDK.errorHandler = handler;
|
|
252
392
|
}
|
|
253
393
|
/**
|
|
254
|
-
*
|
|
255
|
-
* @returns {string} Версия SDK
|
|
394
|
+
* Очищает все ресурсы
|
|
256
395
|
*/
|
|
257
|
-
|
|
258
|
-
|
|
396
|
+
dispose() {
|
|
397
|
+
this.disconnectAll();
|
|
259
398
|
}
|
|
260
399
|
/**
|
|
261
|
-
* Устанавливает новый API ключ
|
|
400
|
+
* Устанавливает новый API ключ
|
|
262
401
|
* @param {string} apiKey Новый API ключ
|
|
263
402
|
*/
|
|
264
403
|
setApiKey(apiKey) {
|
|
265
|
-
|
|
266
|
-
throw new Error('API ключ не может быть пустым');
|
|
267
|
-
}
|
|
268
|
-
// Обновляем опции
|
|
404
|
+
// Обновляем API ключ в опциях
|
|
269
405
|
this._options.apiKey = apiKey;
|
|
270
406
|
// Пересоздаем HTTP клиент с новым API ключом
|
|
271
407
|
const newHttpClient = new HttpClient(this._options.baseURL, {
|
|
272
408
|
headers: {
|
|
273
|
-
...
|
|
274
|
-
|
|
409
|
+
...(apiKey ? { 'Authorization': `Bearer ${apiKey}` } : {}),
|
|
410
|
+
...(this._options.headers || {})
|
|
275
411
|
},
|
|
276
412
|
timeout: this._options.timeout,
|
|
277
413
|
httpsAgent: this.environment === 'node' ? this._options.httpsAgent : undefined
|
|
278
414
|
});
|
|
279
|
-
// Обновляем
|
|
415
|
+
// Обновляем API клиенты с новым HTTP клиентом
|
|
280
416
|
this.httpClient = newHttpClient;
|
|
281
|
-
this._agents = new AgentsApi(newHttpClient);
|
|
282
|
-
this._context = new ContextApi(newHttpClient, this._projects);
|
|
283
417
|
this._projects = new ProjectsApi(newHttpClient);
|
|
284
418
|
this._search = new SearchApi(newHttpClient);
|
|
285
419
|
this._reasoning = new ReasoningApi(newHttpClient, this._projects);
|
|
420
|
+
this._context = new ContextApi(newHttpClient, this._projects);
|
|
286
421
|
this._codeModification = new CodeModificationApi(newHttpClient);
|
|
422
|
+
this._agents = new AgentsApi(newHttpClient);
|
|
287
423
|
this._chat = new ChatApi(newHttpClient);
|
|
288
424
|
this._models = new ModelsApi(newHttpClient);
|
|
289
425
|
this._dependencies = new DependenciesApi(newHttpClient);
|
|
290
|
-
// Если есть WebSocket
|
|
291
|
-
if (this.
|
|
292
|
-
|
|
293
|
-
this.
|
|
294
|
-
this.wsClient = new CodeSolverWebSocketClient(this._options.baseURL, {
|
|
295
|
-
apiKey,
|
|
296
|
-
headers: this._options.headers
|
|
297
|
-
});
|
|
298
|
-
// Если был подключен, восстанавливаем соединение
|
|
299
|
-
if (isConnected) {
|
|
300
|
-
this.connect().catch(() => { });
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
/**
|
|
305
|
-
* Подключается к WebSocket серверу
|
|
306
|
-
* @returns {Promise<boolean>} Promise с результатом подключения
|
|
307
|
-
*/
|
|
308
|
-
async connect() {
|
|
309
|
-
try {
|
|
310
|
-
const wsClient = this.getWebSocketClient();
|
|
311
|
-
// Проверяем доступность сервера перед подключением
|
|
312
|
-
const serverAvailable = await this.checkHealth().catch(() => false);
|
|
313
|
-
if (!serverAvailable) {
|
|
314
|
-
this.logger.warn('Сервер недоступен, WebSocket подключение может быть нестабильным');
|
|
315
|
-
}
|
|
316
|
-
// Подключаемся к обоим пространствам имен
|
|
317
|
-
await wsClient.connectToReasoning();
|
|
318
|
-
await wsClient.connectToIndexing();
|
|
319
|
-
return true;
|
|
320
|
-
}
|
|
321
|
-
catch (error) {
|
|
322
|
-
CodeSolverSDK.handleError(error);
|
|
323
|
-
return false;
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
/**
|
|
327
|
-
* Отключается от WebSocket сервера
|
|
328
|
-
* @returns {Promise<void>} Promise без результата
|
|
329
|
-
*/
|
|
330
|
-
async disconnect() {
|
|
331
|
-
if (this.wsClient) {
|
|
332
|
-
await this.wsClient.disconnectAll();
|
|
333
|
-
}
|
|
334
|
-
}
|
|
335
|
-
/**
|
|
336
|
-
* Проверяет, подключен ли SDK к WebSocket серверу
|
|
337
|
-
* @returns {boolean} Статус подключения
|
|
338
|
-
*/
|
|
339
|
-
isConnected() {
|
|
340
|
-
if (!this.wsClient)
|
|
341
|
-
return false;
|
|
342
|
-
return this.wsClient.isConnectedToReasoning() || this.wsClient.isConnectedToIndexing();
|
|
343
|
-
}
|
|
344
|
-
/**
|
|
345
|
-
* Проверяет доступность API (алиас для checkHealth)
|
|
346
|
-
* @returns {Promise<boolean>} Promise с результатом проверки
|
|
347
|
-
*/
|
|
348
|
-
async isHealthy() {
|
|
349
|
-
return this.checkHealth();
|
|
350
|
-
}
|
|
351
|
-
/**
|
|
352
|
-
* Проверяет доступность всех сервисов API
|
|
353
|
-
* @returns {Promise<{[key: string]: boolean}>} Статус каждого сервиса
|
|
354
|
-
*/
|
|
355
|
-
async checkServices() {
|
|
356
|
-
try {
|
|
357
|
-
const results = {
|
|
358
|
-
api: false,
|
|
359
|
-
websocket: false,
|
|
360
|
-
database: false,
|
|
361
|
-
search: false
|
|
362
|
-
};
|
|
363
|
-
try {
|
|
364
|
-
// Проверка API
|
|
365
|
-
results.api = await this.checkHealth();
|
|
366
|
-
// Проверка других компонентов через запрос статуса
|
|
367
|
-
const response = await this.httpClient.get('/api/v1/status');
|
|
368
|
-
if (response && typeof response === 'object') {
|
|
369
|
-
results.database = Boolean(response.database?.connected);
|
|
370
|
-
results.search = Boolean(response.search?.connected);
|
|
371
|
-
// Проверка WebSocket соединения
|
|
372
|
-
if (this.wsClient) {
|
|
373
|
-
results.websocket = this.wsClient.isConnectedToReasoning() ||
|
|
374
|
-
this.wsClient.isConnectedToIndexing();
|
|
375
|
-
}
|
|
376
|
-
else {
|
|
377
|
-
try {
|
|
378
|
-
const wsClient = this.getWebSocketClient();
|
|
379
|
-
await wsClient.connectToReasoning();
|
|
380
|
-
results.websocket = true;
|
|
381
|
-
await wsClient.disconnect(WebSocketNamespace.REASONING);
|
|
382
|
-
}
|
|
383
|
-
catch (e) {
|
|
384
|
-
results.websocket = false;
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
catch (error) {
|
|
390
|
-
// Игнорируем ошибки при проверке
|
|
391
|
-
}
|
|
392
|
-
return results;
|
|
426
|
+
// Если есть WebSocket клиенты, пересоздаем их
|
|
427
|
+
if (this._indexingClient) {
|
|
428
|
+
this._indexingClient.disconnect();
|
|
429
|
+
this._indexingClient = null;
|
|
393
430
|
}
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
websocket: false,
|
|
398
|
-
database: false,
|
|
399
|
-
search: false
|
|
400
|
-
};
|
|
431
|
+
if (this._reasoningClient) {
|
|
432
|
+
this._reasoningClient.disconnect();
|
|
433
|
+
this._reasoningClient = null;
|
|
401
434
|
}
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
*/
|
|
406
|
-
close() {
|
|
407
|
-
this.dispose();
|
|
408
|
-
return Promise.resolve();
|
|
409
|
-
}
|
|
410
|
-
/**
|
|
411
|
-
* Выполняет запрос к API для генерации рассуждения с использованием Anthropic API
|
|
412
|
-
* с поддержкой потоковой передачи данных через WebSocket
|
|
413
|
-
*
|
|
414
|
-
* @param {ReasoningOptions} options Опции для рассуждения
|
|
415
|
-
* @param {AnthropicStreamCallbacks} callbacks Коллбэки для обработки событий
|
|
416
|
-
* @returns {Promise<void>} Promise без результата
|
|
417
|
-
*/
|
|
418
|
-
async executeReasoning(options, callbacks) {
|
|
419
|
-
try {
|
|
420
|
-
// Подключаемся к WebSocket серверу если еще не подключены
|
|
421
|
-
if (!this.isConnected()) {
|
|
422
|
-
await this.connect();
|
|
423
|
-
}
|
|
424
|
-
// Получаем WebSocket клиент
|
|
425
|
-
const wsClient = this.getWebSocketClient();
|
|
426
|
-
// Подписываемся на события
|
|
427
|
-
this.setupAnthropicEventHandlers(wsClient, callbacks);
|
|
428
|
-
// Отправляем запрос на выполнение рассуждения
|
|
429
|
-
wsClient.sendToReasoning('execute_reasoning', {
|
|
430
|
-
projectId: options.projectId,
|
|
431
|
-
prompt: options.query,
|
|
432
|
-
level: options.level || 'STANDARD',
|
|
433
|
-
type: options.type || 'THINKING',
|
|
434
|
-
currentFile: options.currentFilePath,
|
|
435
|
-
selection: options.selection,
|
|
436
|
-
options: {
|
|
437
|
-
modelProvider: options.options?.modelProvider || 'anthropic',
|
|
438
|
-
modelName: options.options?.modelName || 'claude-3-sonnet-20240229',
|
|
439
|
-
streamResponse: true,
|
|
440
|
-
...(options.options || {})
|
|
441
|
-
}
|
|
442
|
-
});
|
|
443
|
-
this.logger.debug(`Запрос на выполнение рассуждения отправлен: ${JSON.stringify({
|
|
444
|
-
projectId: options.projectId,
|
|
445
|
-
prompt: options.query.substring(0, 50) + '...',
|
|
446
|
-
level: options.level
|
|
447
|
-
})}`);
|
|
435
|
+
if (this._fileSystemClient) {
|
|
436
|
+
this._fileSystemClient.disconnect();
|
|
437
|
+
this._fileSystemClient = null;
|
|
448
438
|
}
|
|
449
|
-
|
|
450
|
-
this.
|
|
451
|
-
|
|
452
|
-
code: 'SDK_ERROR',
|
|
453
|
-
message: `Ошибка при отправке запроса: ${error instanceof Error ? error.message : String(error)}`
|
|
454
|
-
});
|
|
455
|
-
throw error;
|
|
439
|
+
if (this._dependenciesClient) {
|
|
440
|
+
this._dependenciesClient.disconnect();
|
|
441
|
+
this._dependenciesClient = null;
|
|
456
442
|
}
|
|
457
443
|
}
|
|
458
|
-
/**
|
|
459
|
-
* Настраивает обработчики событий Anthropic API
|
|
460
|
-
* @param {CodeSolverWebSocketClient} wsClient WebSocket клиент
|
|
461
|
-
* @param {AnthropicStreamCallbacks} callbacks Коллбэки для обработки событий
|
|
462
|
-
* @private
|
|
463
|
-
*/
|
|
464
|
-
setupAnthropicEventHandlers(wsClient, callbacks) {
|
|
465
|
-
// Регистрируем обработчики для всех типов событий
|
|
466
|
-
wsClient.on('message_start', (data) => {
|
|
467
|
-
callbacks.onMessageStart?.(data);
|
|
468
|
-
callbacks.onAny?.('message_start', data);
|
|
469
|
-
}, WebSocketNamespace.REASONING);
|
|
470
|
-
wsClient.on('content_block_start', (data) => {
|
|
471
|
-
callbacks.onContentStart?.(data);
|
|
472
|
-
callbacks.onAny?.('content_block_start', data);
|
|
473
|
-
}, WebSocketNamespace.REASONING);
|
|
474
|
-
wsClient.on('content_block_delta', (data) => {
|
|
475
|
-
callbacks.onContentDelta?.(data);
|
|
476
|
-
callbacks.onAny?.('content_block_delta', data);
|
|
477
|
-
}, WebSocketNamespace.REASONING);
|
|
478
|
-
wsClient.on('content_block_stop', (data) => {
|
|
479
|
-
callbacks.onContentStop?.(data);
|
|
480
|
-
callbacks.onAny?.('content_block_stop', data);
|
|
481
|
-
// Проверяем, является ли блок блоком мышления
|
|
482
|
-
if (data.content_block?.type === 'thinking') {
|
|
483
|
-
callbacks.onThinkingStop?.(data);
|
|
484
|
-
}
|
|
485
|
-
}, WebSocketNamespace.REASONING);
|
|
486
|
-
wsClient.on('message_delta', (data) => {
|
|
487
|
-
callbacks.onAny?.('message_delta', data);
|
|
488
|
-
}, WebSocketNamespace.REASONING);
|
|
489
|
-
wsClient.on('message_stop', (data) => {
|
|
490
|
-
callbacks.onMessageStop?.(data);
|
|
491
|
-
callbacks.onAny?.('message_stop', data);
|
|
492
|
-
}, WebSocketNamespace.REASONING);
|
|
493
|
-
wsClient.on('error', (data) => {
|
|
494
|
-
callbacks.onError?.(data);
|
|
495
|
-
callbacks.onAny?.('error', data);
|
|
496
|
-
}, WebSocketNamespace.REASONING);
|
|
497
|
-
}
|
|
498
444
|
}
|
|
499
445
|
/** Глобальный обработчик ошибок */
|
|
500
446
|
CodeSolverSDK.errorHandler = null;
|
|
501
|
-
//# sourceMappingURL=code-solver-sdk.js.map
|
|
447
|
+
//# sourceMappingURL=code-solver-sdk-v2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-solver-sdk-v2.js","sourceRoot":"","sources":["../../src/code-solver-sdk-v2.ts"],"names":[],"mappings":"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"}
|
|
@@ -77,6 +77,17 @@ export var WebSocketEvents;
|
|
|
77
77
|
WebSocketEvents["HEARTBEAT"] = "heartbeat";
|
|
78
78
|
WebSocketEvents["HEARTBEAT_ACK"] = "heartbeat_ack";
|
|
79
79
|
WebSocketEvents["CONNECTION_ERROR"] = "connection_error";
|
|
80
|
+
// События для файловой системы
|
|
81
|
+
WebSocketEvents["INIT"] = "init";
|
|
82
|
+
WebSocketEvents["INIT_OK"] = "init_ok";
|
|
83
|
+
WebSocketEvents["INIT_ERROR"] = "init_error";
|
|
84
|
+
WebSocketEvents["READ_FILE"] = "read_file";
|
|
85
|
+
WebSocketEvents["READ_FILE_RESPONSE"] = "read_file_response";
|
|
86
|
+
WebSocketEvents["LIST_FILES"] = "list_files";
|
|
87
|
+
WebSocketEvents["LIST_FILES_RESPONSE"] = "list_files_response";
|
|
88
|
+
WebSocketEvents["WATCH_START"] = "watch_start";
|
|
89
|
+
WebSocketEvents["WATCH_CONFIRM"] = "watch_confirm";
|
|
90
|
+
WebSocketEvents["FILE_CHANGED"] = "file_changed";
|
|
80
91
|
// События поиска
|
|
81
92
|
WebSocketEvents["SEARCH_CODE"] = "search_code";
|
|
82
93
|
// События буферизации
|
|
@@ -136,4 +147,16 @@ export var ReasoningEventNames;
|
|
|
136
147
|
ReasoningEventNames["ERROR"] = "error";
|
|
137
148
|
ReasoningEventNames["CANCEL"] = "cancel";
|
|
138
149
|
})(ReasoningEventNames || (ReasoningEventNames = {}));
|
|
150
|
+
/**
|
|
151
|
+
* Константы имен событий для модуля файловой системы
|
|
152
|
+
*/
|
|
153
|
+
export var FileSystemEventNames;
|
|
154
|
+
(function (FileSystemEventNames) {
|
|
155
|
+
FileSystemEventNames["INIT"] = "init";
|
|
156
|
+
FileSystemEventNames["READ_FILE"] = "read_file";
|
|
157
|
+
FileSystemEventNames["LIST_FILES"] = "list_files";
|
|
158
|
+
FileSystemEventNames["WATCH_FILES"] = "watch_files";
|
|
159
|
+
FileSystemEventNames["FILE_CHANGED"] = "file_changed";
|
|
160
|
+
FileSystemEventNames["ERROR"] = "error";
|
|
161
|
+
})(FileSystemEventNames || (FileSystemEventNames = {}));
|
|
139
162
|
//# sourceMappingURL=websocket-events.constants.js.map
|