solver-sdk 1.8.0 → 1.8.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 (91) hide show
  1. package/README.md +176 -468
  2. package/dist/cjs/api/{chat-api.js → chat-api/index.js} +77 -125
  3. package/dist/cjs/api/chat-api/index.js.map +1 -0
  4. package/dist/cjs/api/chat-api/interfaces.js +3 -0
  5. package/dist/cjs/api/chat-api/interfaces.js.map +1 -0
  6. package/dist/cjs/api/chat-api/models.js +6 -0
  7. package/dist/cjs/api/chat-api/models.js.map +1 -0
  8. package/dist/cjs/api/chat-api/stream-utils.js +192 -0
  9. package/dist/cjs/api/chat-api/stream-utils.js.map +1 -0
  10. package/dist/cjs/api/chat-api/websocket-helpers.js +211 -0
  11. package/dist/cjs/api/chat-api/websocket-helpers.js.map +1 -0
  12. package/dist/cjs/api/projects-api.js +279 -5
  13. package/dist/cjs/api/projects-api.js.map +1 -1
  14. package/dist/cjs/code-solver-sdk.js +12 -17
  15. package/dist/cjs/code-solver-sdk.js.map +1 -1
  16. package/dist/cjs/constants/websocket-events.constants.js +77 -52
  17. package/dist/cjs/constants/websocket-events.constants.js.map +1 -1
  18. package/dist/cjs/utils/code-solver-websocket-client.js +87 -56
  19. package/dist/cjs/utils/code-solver-websocket-client.js.map +1 -1
  20. package/dist/cjs/utils/http-client.js +7 -0
  21. package/dist/cjs/utils/http-client.js.map +1 -1
  22. package/dist/cjs/utils/reasoning-auth-helper.js +58 -0
  23. package/dist/cjs/utils/reasoning-auth-helper.js.map +1 -0
  24. package/dist/cjs/utils/websocket-client.js +37 -10
  25. package/dist/cjs/utils/websocket-client.js.map +1 -1
  26. package/dist/esm/api/{chat-api.js → chat-api/index.js} +74 -125
  27. package/dist/esm/api/chat-api/index.js.map +1 -0
  28. package/dist/esm/api/chat-api/interfaces.js +2 -0
  29. package/dist/esm/api/chat-api/interfaces.js.map +1 -0
  30. package/dist/esm/api/chat-api/models.js +5 -0
  31. package/dist/esm/api/chat-api/models.js.map +1 -0
  32. package/dist/esm/api/chat-api/stream-utils.js +188 -0
  33. package/dist/esm/api/chat-api/stream-utils.js.map +1 -0
  34. package/dist/esm/api/chat-api/websocket-helpers.js +205 -0
  35. package/dist/esm/api/chat-api/websocket-helpers.js.map +1 -0
  36. package/dist/esm/api/projects-api.js +279 -5
  37. package/dist/esm/api/projects-api.js.map +1 -1
  38. package/dist/esm/code-solver-sdk.js +10 -15
  39. package/dist/esm/code-solver-sdk.js.map +1 -1
  40. package/dist/esm/constants/websocket-events.constants.js +76 -51
  41. package/dist/esm/constants/websocket-events.constants.js.map +1 -1
  42. package/dist/esm/utils/code-solver-websocket-client.js +87 -56
  43. package/dist/esm/utils/code-solver-websocket-client.js.map +1 -1
  44. package/dist/esm/utils/http-client.js +7 -0
  45. package/dist/esm/utils/http-client.js.map +1 -1
  46. package/dist/esm/utils/reasoning-auth-helper.js +54 -0
  47. package/dist/esm/utils/reasoning-auth-helper.js.map +1 -0
  48. package/dist/esm/utils/websocket-client.js +37 -10
  49. package/dist/esm/utils/websocket-client.js.map +1 -1
  50. package/dist/types/api/chat-api/index.d.ts +81 -0
  51. package/dist/types/api/chat-api/index.d.ts.map +1 -0
  52. package/dist/types/api/chat-api/interfaces.d.ts +47 -0
  53. package/dist/types/api/chat-api/interfaces.d.ts.map +1 -0
  54. package/dist/types/api/{chat-api.d.ts → chat-api/models.d.ts} +10 -73
  55. package/dist/types/api/chat-api/models.d.ts.map +1 -0
  56. package/dist/types/api/chat-api/stream-utils.d.ts +31 -0
  57. package/dist/types/api/chat-api/stream-utils.d.ts.map +1 -0
  58. package/dist/types/api/chat-api/websocket-helpers.d.ts +40 -0
  59. package/dist/types/api/chat-api/websocket-helpers.d.ts.map +1 -0
  60. package/dist/types/api/projects-api.d.ts +114 -1
  61. package/dist/types/api/projects-api.d.ts.map +1 -1
  62. package/dist/types/code-solver-sdk.d.ts +1 -1
  63. package/dist/types/code-solver-sdk.d.ts.map +1 -1
  64. package/dist/types/constants/websocket-events.constants.d.ts +65 -36
  65. package/dist/types/constants/websocket-events.constants.d.ts.map +1 -1
  66. package/dist/types/interfaces/http-client.d.ts +1 -1
  67. package/dist/types/interfaces/http-client.d.ts.map +1 -1
  68. package/dist/types/types/index.d.ts +8 -0
  69. package/dist/types/types/index.d.ts.map +1 -1
  70. package/dist/types/utils/code-solver-websocket-client.d.ts +44 -43
  71. package/dist/types/utils/code-solver-websocket-client.d.ts.map +1 -1
  72. package/dist/types/utils/http-client.d.ts +5 -0
  73. package/dist/types/utils/http-client.d.ts.map +1 -1
  74. package/dist/types/utils/reasoning-auth-helper.d.ts +24 -0
  75. package/dist/types/utils/reasoning-auth-helper.d.ts.map +1 -0
  76. package/dist/types/utils/websocket-client.d.ts +6 -0
  77. package/dist/types/utils/websocket-client.d.ts.map +1 -1
  78. package/docs/API_REFERENCE.md +432 -0
  79. package/docs/AUTHENTICATION.md +179 -0
  80. package/docs/ERROR_HANDLING.md +240 -0
  81. package/docs/INTEGRATION_EXAMPLES.md +342 -0
  82. package/docs/PING_PONG.md +212 -0
  83. package/docs/README.md +102 -0
  84. package/docs/WEBSOCKET.md +299 -0
  85. package/docs/advanced/PING_PONG.md +212 -0
  86. package/docs/features/THINKING.md +158 -0
  87. package/docs/indexing/INDEXING.md +231 -0
  88. package/package.json +4 -3
  89. package/dist/cjs/api/chat-api.js.map +0 -1
  90. package/dist/esm/api/chat-api.js.map +0 -1
  91. package/dist/types/api/chat-api.d.ts.map +0 -1
@@ -0,0 +1,205 @@
1
+ import { WebSocketEvents, ContentBlockDeltaTypes } from '../../constants/websocket-events.constants';
2
+ /**
3
+ * Настраивает обработчики событий для WebSocket
4
+ */
5
+ export function setupSocketEventHandlers(socket, socketId, sessionId, onEvent) {
6
+ // Установка обработчиков событий
7
+ socket.on('connect', () => {
8
+ console.log(`[SDK] WebSocket подключен: ${socket.id}, задано socketId: ${socketId}`);
9
+ // При подключении отправляем событие аутентификации
10
+ socket.emit('authenticate', {
11
+ socketId: socketId,
12
+ token: 'test-token'
13
+ });
14
+ // Отправляем событие присоединения к комнате с ID сессии
15
+ socket.emit('join_room', { roomId: sessionId });
16
+ // Вызываем обработчик события connect
17
+ if (onEvent) {
18
+ onEvent('connect', { socketId });
19
+ }
20
+ });
21
+ // Обработчик сообщений от сервера
22
+ socket.on('message', (data) => {
23
+ if (!onEvent || !data)
24
+ return;
25
+ // Обрабатываем случай, когда сервер отправляет сообщения в формате JSON-строки
26
+ if (typeof data === 'string') {
27
+ try {
28
+ data = JSON.parse(data);
29
+ }
30
+ catch (e) {
31
+ // Оставляем как строку, если не удалось распарсить
32
+ }
33
+ }
34
+ // Передаем событие напрямую, без преобразования формата
35
+ if (data && data.type) {
36
+ onEvent(data.type, data);
37
+ }
38
+ else {
39
+ // Передаем все остальные сообщения как есть
40
+ onEvent('message', data);
41
+ }
42
+ });
43
+ // Обработчик ошибок
44
+ socket.on('error', (error) => {
45
+ console.error('[SDK] WebSocket error:', error);
46
+ // Проверяем наличие ошибки географических ограничений
47
+ const isGeoRestriction = (error.type === 'geo_restriction' || error.code === 403) &&
48
+ error.message &&
49
+ (error.message.includes('ограничен в вашем регионе') ||
50
+ error.message.includes('Request not allowed'));
51
+ if (isGeoRestriction) {
52
+ console.error('\n==============================================');
53
+ console.error('⚠️ ОШИБКА ГЕОГРАФИЧЕСКОГО ОГРАНИЧЕНИЯ API ANTHROPIC');
54
+ console.error('⚠️ Для работы с API Anthropic требуется VPN или прокси');
55
+ console.error('⚠️ Anthropic API доступен только из определенных регионов');
56
+ console.error('==============================================');
57
+ }
58
+ if (onEvent) {
59
+ onEvent('error', {
60
+ message: error.message || 'Unknown WebSocket error',
61
+ code: error.code,
62
+ type: isGeoRestriction ? 'geo_restriction' : (error.type || 'websocket_error')
63
+ });
64
+ }
65
+ });
66
+ // Обработчик отключения
67
+ socket.on('disconnect', (reason) => {
68
+ console.log(`[SDK] WebSocket отключен: ${reason}`);
69
+ if (onEvent) {
70
+ onEvent('disconnect', { reason });
71
+ }
72
+ });
73
+ // Обработчики для событий аутентификации
74
+ socket.on('authenticated', (data) => {
75
+ console.log('[SDK] Аутентификация успешна', data);
76
+ if (onEvent) {
77
+ onEvent('authenticated', data);
78
+ }
79
+ });
80
+ socket.on('authentication_error', (data) => {
81
+ console.error('[SDK] Ошибка аутентификации:', data);
82
+ if (onEvent) {
83
+ onEvent('error', { message: 'Ошибка аутентификации: ' + (data.message || 'Unknown error'), code: 'AUTH_ERROR' });
84
+ }
85
+ });
86
+ // Список актуальных событий API Anthropic
87
+ [
88
+ 'message_start', 'content_block_start', 'content_block_delta',
89
+ 'content_block_stop', 'message_delta', 'message_stop', 'done', 'ping'
90
+ ].forEach(eventType => {
91
+ socket.on(eventType, (data) => {
92
+ if (!onEvent)
93
+ return;
94
+ // Передаем события в их исходном формате без преобразования
95
+ onEvent(eventType, data);
96
+ });
97
+ });
98
+ }
99
+ /**
100
+ * Генерирует случайный ID указанной длины
101
+ */
102
+ export function generateId(length) {
103
+ const chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
104
+ let result = '';
105
+ for (let i = 0; i < length; i++) {
106
+ result += chars.charAt(Math.floor(Math.random() * chars.length));
107
+ }
108
+ return result;
109
+ }
110
+ /**
111
+ * Создает обработчик WebSocket событий для работы с API Anthropic
112
+ * @param socket Socket.io сокет
113
+ * @param options Опции обработчика
114
+ * @returns Функция отписки от событий
115
+ */
116
+ export function createWebSocketEventHandler(socket, options) {
117
+ const { onMessageStart, onContentBlockStart, onContentBlockDelta, onContentBlockStop, onMessageDelta, onMessageStop, onThinking, onText, onInputJson, onSignature, onError, onDone } = options;
118
+ // Общая функция для обработки events
119
+ const handleEvent = (event, handler) => {
120
+ if (handler) {
121
+ socket.on(event, (data) => {
122
+ try {
123
+ handler(data);
124
+ }
125
+ catch (err) {
126
+ console.error(`Ошибка при обработке события ${event}:`, err);
127
+ if (onError)
128
+ onError(err);
129
+ }
130
+ });
131
+ }
132
+ };
133
+ // Регистрируем обработчики для всех требуемых событий
134
+ handleEvent(WebSocketEvents.MESSAGE_START, onMessageStart);
135
+ handleEvent(WebSocketEvents.CONTENT_BLOCK_START, onContentBlockStart);
136
+ handleEvent(WebSocketEvents.CONTENT_BLOCK_STOP, onContentBlockStop);
137
+ handleEvent(WebSocketEvents.MESSAGE_DELTA, onMessageDelta);
138
+ handleEvent(WebSocketEvents.MESSAGE_STOP, onMessageStop);
139
+ handleEvent(WebSocketEvents.ERROR, onError);
140
+ handleEvent(WebSocketEvents.DONE, onDone);
141
+ // Обработчик дельт блоков контента
142
+ if (onContentBlockDelta || onThinking || onText || onInputJson || onSignature) {
143
+ socket.on(WebSocketEvents.CONTENT_BLOCK_DELTA, (data) => {
144
+ try {
145
+ // Вызываем общий обработчик для всех дельт
146
+ if (onContentBlockDelta) {
147
+ onContentBlockDelta(data);
148
+ }
149
+ // Обрабатываем разные типы дельт
150
+ if (data.delta && data.delta.type) {
151
+ // Обработка thinking
152
+ if (data.delta.type === ContentBlockDeltaTypes.THINKING_DELTA && onThinking && data.delta.thinking) {
153
+ onThinking(data.delta.thinking);
154
+ }
155
+ // Обработка текста
156
+ else if (data.delta.type === ContentBlockDeltaTypes.TEXT_DELTA && onText && data.delta.text) {
157
+ onText(data.delta.text);
158
+ }
159
+ // Обработка JSON для инструментов
160
+ else if (data.delta.type === ContentBlockDeltaTypes.INPUT_JSON_DELTA && onInputJson) {
161
+ const jsonData = data.delta.input_json || '';
162
+ onInputJson(jsonData);
163
+ }
164
+ // Обработка подписи для верификации
165
+ else if (data.delta.type === ContentBlockDeltaTypes.SIGNATURE_DELTA && onSignature && data.delta.signature) {
166
+ onSignature(data.delta.signature);
167
+ }
168
+ }
169
+ }
170
+ catch (err) {
171
+ console.error('Ошибка при обработке события content_block_delta:', err);
172
+ if (onError)
173
+ onError(err);
174
+ }
175
+ });
176
+ }
177
+ // Возвращаем функцию для отписки от всех событий
178
+ return () => {
179
+ socket.off(WebSocketEvents.MESSAGE_START);
180
+ socket.off(WebSocketEvents.CONTENT_BLOCK_START);
181
+ socket.off(WebSocketEvents.CONTENT_BLOCK_DELTA);
182
+ socket.off(WebSocketEvents.CONTENT_BLOCK_STOP);
183
+ socket.off(WebSocketEvents.MESSAGE_DELTA);
184
+ socket.off(WebSocketEvents.MESSAGE_STOP);
185
+ socket.off(WebSocketEvents.ERROR);
186
+ socket.off(WebSocketEvents.DONE);
187
+ };
188
+ }
189
+ /**
190
+ * Нормализует имя события для совместимости с API Anthropic
191
+ * @param eventName Имя события
192
+ * @returns Нормализованное имя события
193
+ */
194
+ export function normalizeEventName(eventName) {
195
+ const eventMap = {
196
+ 'message.start': WebSocketEvents.MESSAGE_START,
197
+ 'message.stop': WebSocketEvents.MESSAGE_STOP,
198
+ 'message.delta': WebSocketEvents.MESSAGE_DELTA,
199
+ 'content_block.start': WebSocketEvents.CONTENT_BLOCK_START,
200
+ 'content_block.delta': WebSocketEvents.CONTENT_BLOCK_DELTA,
201
+ 'content_block.stop': WebSocketEvents.CONTENT_BLOCK_STOP,
202
+ };
203
+ return eventMap[eventName] || eventName;
204
+ }
205
+ //# sourceMappingURL=websocket-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-helpers.js","sourceRoot":"","sources":["../../../../src/api/chat-api/websocket-helpers.ts"],"names":[],"mappings":"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"}
@@ -106,11 +106,32 @@ export class ProjectsApi {
106
106
  /**
107
107
  * Запускает индексацию проекта
108
108
  * @param {string} projectId ID проекта
109
+ * @param {Object} [options] Опции индексации
110
+ * @param {string} [options.indexingMode] Режим индексации: 'full', 'incremental', 'auto'
111
+ * @param {boolean} [options.forceFull] Принудительная полная индексация
112
+ * @param {string[]} [options.includePatterns] Паттерны для включения файлов
113
+ * @param {string[]} [options.excludePatterns] Паттерны для исключения файлов
109
114
  * @returns {Promise<IndexingResponse>} Информация о начатой индексации
110
115
  */
111
- async indexProject(projectId) {
116
+ async indexProject(projectId, options) {
112
117
  this.validateProjectId(projectId);
113
- return this.httpClient.post('/api/v1/projects/' + projectId + '/index');
118
+ // Преобразуем indexingMode в forceFull для совместимости с бэкендом
119
+ let requestBody = {};
120
+ if (options) {
121
+ if (options.indexingMode === 'full') {
122
+ requestBody.forceFull = true;
123
+ }
124
+ if (options.forceFull) {
125
+ requestBody.forceFull = true;
126
+ }
127
+ if (options.includePatterns) {
128
+ requestBody.includePatterns = options.includePatterns;
129
+ }
130
+ if (options.excludePatterns) {
131
+ requestBody.excludePatterns = options.excludePatterns;
132
+ }
133
+ }
134
+ return this.httpClient.post('/api/v1/projects/' + projectId + '/index', requestBody);
114
135
  }
115
136
  /**
116
137
  * Получает статус индексации проекта
@@ -158,6 +179,8 @@ export class ProjectsApi {
158
179
  * @param {Object} options Опции обновления индекса
159
180
  * @param {string} [options.content] Содержимое файла (если не указано, будет прочитано с диска)
160
181
  * @param {boolean} [options.force=false] Принудительная переиндексация, даже если файл не изменился
182
+ * @param {string} [options.language] Язык файла (если не указан, будет определен автоматически)
183
+ * @param {boolean} [options.updateDependencies=false] Обновлять зависимости после индексации файла
161
184
  * @returns {Promise<FileIndexResponse>} Информация об обновленном индексе файла
162
185
  */
163
186
  async updateFileIndex(projectId, filePath, options = {}) {
@@ -179,8 +202,18 @@ export class ProjectsApi {
179
202
  throw new Error('Родительский SDK не настроен или не поддерживает WebSocket');
180
203
  }
181
204
  this.wsClient = this.parentSdk.getWebSocketClient();
205
+ // Получаем apiKey из родительского SDK
206
+ const apiKey = this.parentSdk.options.apiKey;
207
+ // Подключаемся к пространству имен индексации с параметром authToken
182
208
  await this.wsClient.connectToIndexing();
183
- return this.wsClient.isConnected('indexing');
209
+ // Добавляем небольшую задержку для стабилизации соединения
210
+ await new Promise(resolve => setTimeout(resolve, 500));
211
+ // Проверяем состояние подключения с использованием правильного перечисления
212
+ const isConnected = this.wsClient.isConnected(WebSocketNamespace.INDEXING);
213
+ if (!isConnected) {
214
+ console.warn('[ProjectsApi] Не удалось подключиться к WebSocket');
215
+ }
216
+ return isConnected;
184
217
  }
185
218
  catch (error) {
186
219
  console.error('[ProjectsApi] Ошибка при подключении к WebSocket:', error.message);
@@ -193,7 +226,7 @@ export class ProjectsApi {
193
226
  */
194
227
  async disconnectWebSocket() {
195
228
  if (this.wsClient) {
196
- await this.wsClient.disconnect('indexing');
229
+ await this.wsClient.disconnect(WebSocketNamespace.INDEXING);
197
230
  }
198
231
  }
199
232
  /**
@@ -201,7 +234,7 @@ export class ProjectsApi {
201
234
  * @returns {boolean} Состояние подключения
202
235
  */
203
236
  isWebSocketConnected() {
204
- return this.wsClient ? this.wsClient.isConnected('indexing') : false;
237
+ return this.wsClient ? this.wsClient.isConnected(WebSocketNamespace.INDEXING) : false;
205
238
  }
206
239
  /**
207
240
  * Устанавливает родительский SDK
@@ -305,5 +338,246 @@ export class ProjectsApi {
305
338
  return this.cancelIndexing(projectId);
306
339
  }
307
340
  }
341
+ /**
342
+ * Кэширует соответствие пути и ID проекта
343
+ * @param path Путь к проекту
344
+ * @param projectId ID проекта
345
+ * @private
346
+ */
347
+ cacheProjectId(path, projectId) {
348
+ try {
349
+ const normalizedPath = path.replace(/\\/g, '/').replace(/\/$/, '');
350
+ if (typeof localStorage !== 'undefined') {
351
+ // Браузерное окружение
352
+ const cachedProjects = JSON.parse(localStorage.getItem('solverSdkProjectCache') || '{}');
353
+ cachedProjects[normalizedPath] = projectId;
354
+ localStorage.setItem('solverSdkProjectCache', JSON.stringify(cachedProjects));
355
+ }
356
+ else if (typeof process !== 'undefined') {
357
+ // Node.js окружение (для VS Code/Cursor)
358
+ // TODO: реализовать хранение кэша в Node.js
359
+ // В простейшем случае можно использовать in-memory хранилище
360
+ if (!global.solverSdkProjectCache) {
361
+ global.solverSdkProjectCache = {};
362
+ }
363
+ global.solverSdkProjectCache[normalizedPath] = projectId;
364
+ }
365
+ }
366
+ catch (error) {
367
+ console.warn(`[ProjectsApi] Не удалось кэшировать ID проекта: ${error instanceof Error ? error.message : String(error)}`);
368
+ }
369
+ }
370
+ /**
371
+ * Получает ID проекта из кэша
372
+ * @param path Путь к проекту
373
+ * @returns ID проекта или null, если не найдено
374
+ * @private
375
+ */
376
+ getCachedProjectId(path) {
377
+ try {
378
+ const normalizedPath = path.replace(/\\/g, '/').replace(/\/$/, '');
379
+ if (typeof localStorage !== 'undefined') {
380
+ // Браузерное окружение
381
+ const cachedProjects = JSON.parse(localStorage.getItem('solverSdkProjectCache') || '{}');
382
+ return cachedProjects[normalizedPath] || null;
383
+ }
384
+ else if (typeof process !== 'undefined' && global.solverSdkProjectCache) {
385
+ // Node.js окружение
386
+ return global.solverSdkProjectCache[normalizedPath] || null;
387
+ }
388
+ return null;
389
+ }
390
+ catch (error) {
391
+ console.warn(`[ProjectsApi] Не удалось получить ID проекта из кэша: ${error instanceof Error ? error.message : String(error)}`);
392
+ return null;
393
+ }
394
+ }
395
+ /**
396
+ * Получает или создает проект по пути
397
+ * @param path Путь к проекту
398
+ * @param name Имя проекта (опционально, если не указано - будет сгенерировано из пути)
399
+ * @returns Данные проекта
400
+ */
401
+ async getOrCreateProject(path, name) {
402
+ if (!path) {
403
+ throw new Error('Путь к проекту не может быть пустым');
404
+ }
405
+ const normalizedPath = path.replace(/\\/g, '/').replace(/\/$/, '');
406
+ // Сначала проверяем кэш
407
+ const cachedProjectId = this.getCachedProjectId(normalizedPath);
408
+ if (cachedProjectId) {
409
+ try {
410
+ const project = await this.getProject(cachedProjectId);
411
+ return project;
412
+ }
413
+ catch (error) {
414
+ // Если ошибка - продолжаем с API запросом
415
+ console.warn(`[ProjectsApi] Не удалось получить проект из кэша: ${error instanceof Error ? error.message : String(error)}`);
416
+ }
417
+ }
418
+ // Вызываем API для получения/создания проекта
419
+ const project = await this.httpClient.post('/api/v1/projects/find-or-create', {
420
+ path: normalizedPath,
421
+ name: name || normalizedPath.split('/').pop() || 'Unnamed Project'
422
+ });
423
+ // Кэшируем результат
424
+ this.cacheProjectId(normalizedPath, project.id);
425
+ return project;
426
+ }
427
+ /**
428
+ * Индексация проекта по пути
429
+ * @param path Путь к проекту
430
+ * @param options Опции индексации
431
+ * @returns Информация об индексации
432
+ */
433
+ async indexProjectByPath(path, options = {}) {
434
+ if (!path) {
435
+ throw new Error('Путь к проекту не может быть пустым');
436
+ }
437
+ const normalizedPath = path.replace(/\\/g, '/').replace(/\/$/, '');
438
+ try {
439
+ // Вызываем API для индексации проекта по пути
440
+ return await this.httpClient.post('/api/v1/projects/index-by-path', {
441
+ path: normalizedPath,
442
+ name: options.name,
443
+ forceFull: options.forceFull,
444
+ excludePatterns: options.excludePatterns
445
+ });
446
+ }
447
+ catch (error) {
448
+ // Улучшаем сообщение об ошибке
449
+ const errorMessage = error instanceof Error ? error.message : String(error);
450
+ throw new Error(`Не удалось выполнить индексацию проекта по пути: ${errorMessage}`);
451
+ }
452
+ }
453
+ /**
454
+ * Создание и индексация проекта в одной операции
455
+ * @param path Путь к проекту
456
+ * @param options Опции создания и индексации
457
+ * @param {string} [options.name] Имя проекта (если не указано, будет получено из пути)
458
+ * @param {boolean} [options.forceFull=false] Принудительная полная индексация
459
+ * @param {string} [options.indexingMode] Режим индексации: 'full', 'incremental', 'auto'
460
+ * @param {string[]} [options.includePatterns] Паттерны для включения файлов
461
+ * @param {string[]} [options.excludePatterns] Паттерны для исключения файлов
462
+ * @returns Информация о созданном проекте и начатой индексации
463
+ */
464
+ async createAndIndexProject(path, options = {}) {
465
+ try {
466
+ // Преобразуем indexingMode в forceFull для совместимости с бэкендом
467
+ let requestOptions = {
468
+ name: options.name,
469
+ excludePatterns: options.excludePatterns
470
+ };
471
+ if (options.indexingMode === 'full' || options.forceFull) {
472
+ requestOptions.forceFull = true;
473
+ }
474
+ if (options.includePatterns) {
475
+ requestOptions.includePatterns = options.includePatterns;
476
+ }
477
+ // Используем API для индексации по пути, который также создает проект если его нет
478
+ const result = await this.indexProjectByPath(path, requestOptions);
479
+ // Проверяем, что результат содержит нужные поля
480
+ if (!result || !result.projectId) {
481
+ throw new Error('Сервер вернул некорректный ответ без идентификатора проекта');
482
+ }
483
+ return {
484
+ projectId: result.projectId,
485
+ indexingStatus: result.status || 'indexing'
486
+ };
487
+ }
488
+ catch (error) {
489
+ const errorMessage = error instanceof Error ? error.message : String(error);
490
+ throw new Error(`Не удалось создать и проиндексировать проект: ${errorMessage}`);
491
+ }
492
+ }
493
+ /**
494
+ * Проверяет существование проекта и создает резервную копию при необходимости
495
+ * @param projectId ID проекта для проверки
496
+ * @param options Опции для создания резервной копии
497
+ * @returns Существующий проект или созданную резервную копию
498
+ */
499
+ async ensureProjectExists(projectId, options = {}) {
500
+ try {
501
+ this.validateProjectId(projectId);
502
+ // Пытаемся получить проект по ID
503
+ try {
504
+ const project = await this.getProject(projectId);
505
+ return project;
506
+ }
507
+ catch (error) {
508
+ // Проверяем, нужно ли создавать резервную копию
509
+ if (!options.createBackup) {
510
+ // Если резервная копия не требуется, пробрасываем ошибку
511
+ const errorMessage = error instanceof Error ? error.message : String(error);
512
+ throw new Error(`Проект с ID ${projectId} не найден: ${errorMessage}`);
513
+ }
514
+ // Проверяем наличие пути для резервной копии
515
+ if (!options.backupPath) {
516
+ throw new Error('Для создания резервной копии необходимо указать путь (backupPath)');
517
+ }
518
+ const backupName = options.backupName || `Резервная копия для ${projectId}`;
519
+ // Создаем новый проект как резервную копию
520
+ console.log(`[ProjectsApi] Создание резервной копии проекта ${projectId} с именем "${backupName}" по пути ${options.backupPath}`);
521
+ return await this.createProject(backupName, options.backupPath);
522
+ }
523
+ }
524
+ catch (error) {
525
+ const errorMessage = error instanceof Error ? error.message : String(error);
526
+ throw new Error(`Ошибка при проверке/создании проекта ${projectId}: ${errorMessage}`);
527
+ }
528
+ }
529
+ /**
530
+ * Получает или создает проект по пути с расширенными опциями
531
+ * @param path Путь к проекту
532
+ * @param options Дополнительные опции
533
+ * @returns Найденный или созданный проект
534
+ */
535
+ async getOrCreateProjectByPath(path, options = {}) {
536
+ if (!path) {
537
+ throw new Error('Путь к проекту не может быть пустым');
538
+ }
539
+ const normalizedPath = path.replace(/\\/g, '/').replace(/\/$/, '');
540
+ try {
541
+ // Сначала проверяем кэш
542
+ const cachedProjectId = this.getCachedProjectId(normalizedPath);
543
+ if (cachedProjectId && options.preferExisting !== false) {
544
+ try {
545
+ const project = await this.getProject(cachedProjectId);
546
+ return project;
547
+ }
548
+ catch (error) {
549
+ // Если ошибка - продолжаем с API запросом
550
+ console.warn(`[ProjectsApi] Не удалось получить проект из кэша: ${error instanceof Error ? error.message : String(error)}`);
551
+ }
552
+ }
553
+ // Если проект не найден в кэше или не смогли его получить, создаем новый через API find-or-create
554
+ const project = await this.httpClient.post('/api/v1/projects/find-or-create', {
555
+ path: normalizedPath,
556
+ name: options.name || normalizedPath.split('/').pop() || 'Unnamed Project'
557
+ });
558
+ // Кэшируем полученный проект
559
+ if (project && project.id) {
560
+ this.cacheProjectId(normalizedPath, project.id);
561
+ }
562
+ return project;
563
+ }
564
+ catch (error) {
565
+ throw new Error(`Не удалось получить или создать проект: ${error.message}`);
566
+ }
567
+ }
568
+ /**
569
+ * Запускает индексацию проекта (псевдоним для indexProject)
570
+ * @param {string} projectId ID проекта
571
+ * @param {Object} [options] Опции индексации
572
+ * @param {string} [options.indexingMode] Режим индексации: 'full', 'incremental', 'auto'
573
+ * @param {boolean} [options.forceFull] Принудительная полная индексация
574
+ * @param {string[]} [options.includePatterns] Паттерны для включения файлов
575
+ * @param {string[]} [options.excludePatterns] Паттерны для исключения файлов
576
+ * @returns {Promise<IndexingResponse>} Информация о начатой индексации
577
+ */
578
+ async startIndexing(projectId, options) {
579
+ // Это псевдоним для indexProject для соответствия с документацией
580
+ return this.indexProject(projectId, options);
581
+ }
308
582
  }
309
583
  //# sourceMappingURL=projects-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"projects-api.js","sourceRoot":"","sources":["../../../src/api/projects-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projects-api.js","sourceRoot":"","sources":["../../../src/api/projects-api.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,11 @@ import { ReasoningApi } from './api/reasoning-api.js';
6
6
  import { CodeModificationApi } from './api/code-modification-api.js';
7
7
  import { CodeSolverWebSocketClient, WebSocketNamespace } from './utils/code-solver-websocket-client.js';
8
8
  import { AgentsApi } from './api/agents-api.js';
9
- import { ChatApi } from './api/chat-api.js';
9
+ import { ChatApi } from './api/chat-api/index.js';
10
10
  import { ModelsApi } from './api/models-api.js';
11
11
  import { DependenciesApi } from './api/dependencies-api.js';
12
12
  // Версия SDK
13
- const SDK_VERSION = '1.5.0';
13
+ const SDK_VERSION = '1.8.1';
14
14
  /**
15
15
  * Определение типа среды выполнения
16
16
  * @returns 'browser' | 'node' | 'unknown'
@@ -252,7 +252,7 @@ export class CodeSolverSDK {
252
252
  * @returns {string} Версия SDK
253
253
  */
254
254
  getVersion() {
255
- return SDK_VERSION;
255
+ return CodeSolverSDK.getVersion();
256
256
  }
257
257
  /**
258
258
  * Устанавливает новый API ключ для SDK
@@ -464,18 +464,6 @@ export class CodeSolverSDK {
464
464
  callbacks.onMessageStart?.(data);
465
465
  callbacks.onAny?.('message_start', data);
466
466
  }, WebSocketNamespace.REASONING);
467
- wsClient.on('thinking_block_start', (data) => {
468
- callbacks.onThinkingStart?.(data);
469
- callbacks.onAny?.('thinking_block_start', data);
470
- }, WebSocketNamespace.REASONING);
471
- wsClient.on('thinking_block_delta', (data) => {
472
- callbacks.onThinkingDelta?.(data);
473
- callbacks.onAny?.('thinking_block_delta', data);
474
- }, WebSocketNamespace.REASONING);
475
- wsClient.on('thinking_block_stop', (data) => {
476
- callbacks.onThinkingStop?.(data);
477
- callbacks.onAny?.('thinking_block_stop', data);
478
- }, WebSocketNamespace.REASONING);
479
467
  wsClient.on('content_block_start', (data) => {
480
468
  callbacks.onContentStart?.(data);
481
469
  callbacks.onAny?.('content_block_start', data);
@@ -487,6 +475,13 @@ export class CodeSolverSDK {
487
475
  wsClient.on('content_block_stop', (data) => {
488
476
  callbacks.onContentStop?.(data);
489
477
  callbacks.onAny?.('content_block_stop', data);
478
+ // Проверяем, является ли блок блоком мышления
479
+ if (data.content_block?.type === 'thinking') {
480
+ callbacks.onThinkingStop?.(data);
481
+ }
482
+ }, WebSocketNamespace.REASONING);
483
+ wsClient.on('message_delta', (data) => {
484
+ callbacks.onAny?.('message_delta', data);
490
485
  }, WebSocketNamespace.REASONING);
491
486
  wsClient.on('message_stop', (data) => {
492
487
  callbacks.onMessageStop?.(data);