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