solver-sdk 1.9.0 → 2.0.1

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.
Files changed (34) hide show
  1. package/dist/cjs/{code-solver-sdk.js → code-solver-sdk-v2.js} +219 -273
  2. package/dist/cjs/code-solver-sdk-v2.js.map +1 -0
  3. package/dist/cjs/constants/websocket-events.constants.js +24 -1
  4. package/dist/cjs/constants/websocket-events.constants.js.map +1 -1
  5. package/dist/cjs/constants/websocket-namespaces.constants.js +2 -0
  6. package/dist/cjs/constants/websocket-namespaces.constants.js.map +1 -1
  7. package/dist/cjs/index.js +31 -49
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/ws/filesystem-ws-client.js +315 -0
  10. package/dist/cjs/ws/filesystem-ws-client.js.map +1 -0
  11. package/dist/esm/{code-solver-sdk.js → code-solver-sdk-v2.js} +219 -273
  12. package/dist/esm/code-solver-sdk-v2.js.map +1 -0
  13. package/dist/esm/constants/websocket-events.constants.js +23 -0
  14. package/dist/esm/constants/websocket-events.constants.js.map +1 -1
  15. package/dist/esm/constants/websocket-namespaces.constants.js +2 -0
  16. package/dist/esm/constants/websocket-namespaces.constants.js.map +1 -1
  17. package/dist/esm/index.js +29 -96
  18. package/dist/esm/index.js.map +1 -1
  19. package/dist/esm/ws/filesystem-ws-client.js +311 -0
  20. package/dist/esm/ws/filesystem-ws-client.js.map +1 -0
  21. package/dist/types/{code-solver-sdk.d.ts → code-solver-sdk-v2.d.ts} +81 -85
  22. package/dist/types/code-solver-sdk-v2.d.ts.map +1 -0
  23. package/dist/types/constants/websocket-events.constants.d.ts +21 -0
  24. package/dist/types/constants/websocket-events.constants.d.ts.map +1 -1
  25. package/dist/types/constants/websocket-namespaces.constants.d.ts +3 -1
  26. package/dist/types/constants/websocket-namespaces.constants.d.ts.map +1 -1
  27. package/dist/types/index.d.ts +27 -89
  28. package/dist/types/index.d.ts.map +1 -1
  29. package/dist/types/ws/filesystem-ws-client.d.ts +203 -0
  30. package/dist/types/ws/filesystem-ws-client.d.ts.map +1 -0
  31. package/package.json +1 -1
  32. package/dist/cjs/code-solver-sdk.js.map +0 -1
  33. package/dist/esm/code-solver-sdk.js.map +0 -1
  34. 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
- // Версия SDK
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
- * Поддерживает работу как в браузере, так и в Node.js
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 клиент для работы с реалтайм API */
44
- this.wsClient = null;
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
- * @returns {CodeSolverWebSocketClient} WebSocket клиент
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
- getWebSocketClient() {
122
- if (!this.wsClient) {
167
+ getReasoningClient() {
168
+ if (!this._reasoningClient) {
123
169
  const wsURL = this.wsURL;
124
- this.wsClient = new code_solver_websocket_client_js_1.CodeSolverWebSocketClient(wsURL, {
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.wsClient;
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
- * Доступ к API зависимостей
283
+ * API для работы с зависимостями
186
284
  */
187
285
  get dependencies() {
188
286
  return this._dependencies;
189
287
  }
190
288
  /**
191
- * Получает опции SDK
192
- */
193
- get options() {
194
- return this._options;
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
- get client() {
212
- return this.httpClient;
294
+ setupAnthropicEventHandlers(reasoningClient, callbacks) {
295
+ // Устанавливаем все обработчики для клиента рассуждений
296
+ reasoningClient.setupAnthropicStreamHandlers();
297
+ // Устанавливаем внешние обработчики
298
+ if (callbacks) {
299
+ reasoningClient.callbacks = callbacks;
300
+ }
213
301
  }
214
302
  /**
215
- * Получает текущую среду выполнения
216
- * @returns {string} Среда выполнения ('browser', 'node', 'unknown')
303
+ * Выполняет запрос к API для генерации рассуждения с использованием Anthropic API
304
+ * с поддержкой потоковой передачи данных через WebSocket
305
+ *
306
+ * @param {ExtendedReasoningOptions} options Опции для рассуждения
307
+ * @param {AnthropicStreamCallbacks} callbacks Коллбэки для обработки событий
308
+ * @returns {Promise<void>} Promise без результата
217
309
  */
218
- getEnvironment() {
219
- return this.environment;
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
- dispose() {
225
- if (this.wsClient) {
226
- this.wsClient.disconnectAll();
227
- this.wsClient = null;
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
- * Устанавливает глобальный обработчик ошибок SDK
232
- * @param {(error: Error) => void} handler Функция-обработчик ошибок
364
+ * Проверяет, подключен ли SDK к WebSocket серверу
365
+ * @returns {boolean} Статус подключения
233
366
  */
234
- static setErrorHandler(handler) {
235
- CodeSolverSDK.errorHandler = handler;
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
- * Возвращает текущую версию SDK
251
- * @returns {string} Версия SDK
390
+ * Устанавливает глобальный обработчик ошибок
391
+ * @param {(error: Error) => void} handler Обработчик ошибок
252
392
  */
253
- static getVersion() {
254
- return SDK_VERSION;
393
+ static setErrorHandler(handler) {
394
+ CodeSolverSDK.errorHandler = handler;
255
395
  }
256
396
  /**
257
- * Возвращает текущую версию SDK
258
- * @returns {string} Версия SDK
397
+ * Очищает все ресурсы
259
398
  */
260
- getVersion() {
261
- return SDK_VERSION;
399
+ dispose() {
400
+ this.disconnectAll();
262
401
  }
263
402
  /**
264
- * Устанавливает новый API ключ для SDK
403
+ * Устанавливает новый API ключ
265
404
  * @param {string} apiKey Новый API ключ
266
405
  */
267
406
  setApiKey(apiKey) {
268
- if (!apiKey) {
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
- ...this._options.headers,
277
- 'Authorization': `Bearer ${apiKey}`
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
- // Обновляем ссылки на клиент и API
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.wsClient) {
295
- const isConnected = this.wsClient.isConnectedToReasoning() || this.wsClient.isConnectedToIndexing();
296
- this.wsClient.disconnectAll();
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
- catch (error) {
398
- return {
399
- api: false,
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
- * Закрывает соединение с сервером (алиас для dispose)
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
- catch (error) {
453
- this.logger.error(`Ошибка при отправке запроса на рассуждение: ${error instanceof Error ? error.message : String(error)}`);
454
- callbacks.onError?.({
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