solver-sdk 2.5.0 → 2.6.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/api/projects-api.js +18 -5
  2. package/dist/cjs/api/projects-api.js.map +1 -1
  3. package/dist/cjs/api/reasoning-api.js +0 -8
  4. package/dist/cjs/api/reasoning-api.js.map +1 -1
  5. package/dist/cjs/code-solver-sdk.js +15 -18
  6. package/dist/cjs/code-solver-sdk.js.map +1 -1
  7. package/dist/cjs/utils/message-helpers.js +15 -37
  8. package/dist/cjs/utils/message-helpers.js.map +1 -1
  9. package/dist/esm/api/projects-api.js +18 -5
  10. package/dist/esm/api/projects-api.js.map +1 -1
  11. package/dist/esm/api/reasoning-api.js +0 -8
  12. package/dist/esm/api/reasoning-api.js.map +1 -1
  13. package/dist/esm/code-solver-sdk.js +15 -18
  14. package/dist/esm/code-solver-sdk.js.map +1 -1
  15. package/dist/esm/utils/message-helpers.js +16 -38
  16. package/dist/esm/utils/message-helpers.js.map +1 -1
  17. package/dist/types/api/projects-api.d.ts +2 -2
  18. package/dist/types/api/projects-api.d.ts.map +1 -1
  19. package/dist/types/api/reasoning-api.d.ts +0 -7
  20. package/dist/types/api/reasoning-api.d.ts.map +1 -1
  21. package/dist/types/code-solver-sdk.d.ts +1 -1
  22. package/dist/types/code-solver-sdk.d.ts.map +1 -1
  23. package/dist/types/utils/message-helpers.d.ts +4 -3
  24. package/dist/types/utils/message-helpers.d.ts.map +1 -1
  25. package/docs/API_REFERENCE.md +495 -96
  26. package/docs/AUTHENTICATION.md +291 -36
  27. package/docs/ERROR_HANDLING.md +544 -104
  28. package/docs/README.md +260 -75
  29. package/docs/README_V2.5.md +266 -0
  30. package/docs/WEBSOCKET.md +374 -111
  31. package/docs/indexing/INDEXING.md +372 -167
  32. package/package.json +1 -1
  33. package/docs/PING_PONG.md +0 -113
  34. package/docs/RESPONSE_TO_DEVELOPERS.md +0 -1
package/docs/README.md CHANGED
@@ -1,106 +1,291 @@
1
- 23# Code Solver SDK
1
+ # AI Solver SDK v2.5.0 Documentation
2
2
 
3
- JavaScript/TypeScript SDK для взаимодействия с API Code Solver, предназначенного для умной работы с кодом, семантического поиска и AI-ассистентов.
3
+ Полная документация для AI Solver SDK версии 2.5.0.
4
4
 
5
- ## Установка
5
+ ## 🚀 Быстрый старт
6
+
7
+ ### Установка
6
8
 
7
9
  ```bash
8
- npm install @code-solver/sdk
10
+ npm install @ai-solver/sdk
9
11
  ```
10
12
 
11
- ## Основные возможности
13
+ ### Базовое использование
12
14
 
13
- - **Работа с проектами**: создание, индексация и управление проектами
14
- - **Семантический поиск**: поиск по смыслу в коде проекта
15
- - **AI-чат с контекстом**: взаимодействие с AI-моделями в контексте проекта
16
- - **Работа с WebSocket**: потоковая обработка событий и ответов
17
- - **Мультиплатформенность**: поддержка как браузеров, так и Node.js
15
+ ```javascript
16
+ import { CodeSolverSDK } from '@ai-solver/sdk';
18
17
 
19
- ## Быстрый старт
18
+ const sdk = CodeSolverSDK.create({
19
+ baseURL: 'http://localhost:3000',
20
+ apiKey: 'dev_sk_test_12345678',
21
+ autoConnect: false
22
+ });
20
23
 
21
- ```javascript
22
- import { CodeSolverSDK } from '@code-solver/sdk';
23
-
24
- // Инициализация SDK
25
- const sdk = new CodeSolverSDK({
26
- baseURL: 'https://api.code-solver.com',
27
- apiKey: 'ваш-api-ключ',
28
- websocket: {
29
- reconnect: true,
30
- reconnectAttempts: 5
31
- }
24
+ // Создание проекта
25
+ const project = await sdk.projects.create({
26
+ name: 'My AI Project',
27
+ path: '/path/to/project'
32
28
  });
33
29
 
34
- // Проверка доступности API
35
- const isAvailable = await sdk.checkHealth();
36
- if (!isAvailable) {
37
- console.error('API недоступен');
38
- return;
39
- }
30
+ // AI Chat
31
+ const response = await sdk.chat.send([
32
+ { role: 'user', content: 'Проанализируй этот код' }
33
+ ], {
34
+ projectId: project.id,
35
+ thinking: true
36
+ });
37
+ ```
40
38
 
41
- // Единое подключение ко всем WebSocket сервисам
42
- await sdk.connect();
39
+ ## 📚 Документация
43
40
 
44
- // Создание проекта
45
- const project = await sdk.projects.createProject(
46
- 'Мой проект',
47
- '/путь/к/проекту',
48
- {
49
- excludePatterns: ['node_modules', '.git', 'dist']
50
- }
51
- );
41
+ ### Основные руководства
52
42
 
53
- // Индексация проекта
54
- await sdk.projects.indexProject(project.id);
43
+ | Документ | Описание |
44
+ |----------|----------|
45
+ | **[API Reference](./API_REFERENCE.md)** | Полное описание всех методов SDK |
46
+ | **[Integration Guide v2.5](./INTEGRATION_GUIDE_V2.5.md)** | Пошаговое руководство интеграции |
47
+ | **[WebSocket API](./WEBSOCKET.md)** | WebSocket события и real-time функции |
48
+ | **[Authentication](./AUTHENTICATION.md)** | Аутентификация и API ключи |
49
+ | **[Error Handling](./ERROR_HANDLING.md)** | Обработка ошибок и диагностика |
55
50
 
56
- // Отслеживание прогресса индексации через WebSocket
57
- sdk.projects.on('indexing_progress', (data) => {
58
- console.log(`Прогресс индексации: ${data.progress}%`);
59
- });
51
+ ### Специализированные функции
52
+
53
+ | Документ | Описание |
54
+ |----------|----------|
55
+ | **[Thinking Features](./features/THINKING.md)** | Claude 4 thinking и tool calling |
56
+ | **[Indexing Guide](./indexing/INDEXING.md)** | Индексация проектов |
60
57
 
61
- sdk.projects.on('indexing_complete', (data) => {
62
- console.log('Индексация завершена!');
58
+ ## Новые возможности v2.5.0
59
+
60
+ ### 🔄 Контролируемые подключения
61
+
62
+ ```javascript
63
+ const sdk = CodeSolverSDK.create({
64
+ autoConnect: false // Ключевая настройка
63
65
  });
64
66
 
65
- // Семантический поиск
66
- const searchResults = await sdk.search.semanticSearch(project.id, {
67
- query: 'функция для обработки HTTP запросов',
68
- limit: 10
67
+ // Подключение только когда нужно
68
+ await sdk.projects.connectWebSocket();
69
+ await sdk.reasoning.connectWebSocket();
70
+ ```
71
+
72
+ ### 🧠 Claude 4 Thinking Support
73
+
74
+ ```javascript
75
+ await sdk.chat.stream(messages, {
76
+ thinking: true,
77
+ tool_choice: { type: 'auto' }
78
+ }, (eventType, data) => {
79
+ if (eventType === 'thinking_delta') {
80
+ console.log('Thinking:', data.thinking);
81
+ }
69
82
  });
83
+ ```
84
+
85
+ ### 📊 Расширенная диагностика
86
+
87
+ ```javascript
88
+ // Проверка всех endpoints
89
+ const apiStatus = await sdk.diagnoseAPI();
90
+
91
+ // Статус WebSocket соединений
92
+ const wsStatus = await sdk.diagnoseWebSocket();
93
+ ```
94
+
95
+ ### 🔧 Helper функции
96
+
97
+ ```javascript
98
+ import {
99
+ createStandardDevelopmentTools,
100
+ createComplexAssistantMessage,
101
+ extractThinkingBlocks
102
+ } from '@ai-solver/sdk';
103
+ ```
104
+
105
+ ## 🎯 API Endpoints
106
+
107
+ ### Projects API
108
+ - `POST /api/v1/projects` - Создание проекта
109
+ - `GET /api/v1/projects` - Список проектов
110
+ - `POST /api/v1/projects/:id/index` - Запуск индексации
111
+
112
+ ### Reasoning API
113
+ - `POST /api/v1/reasoning` - Создание reasoning
114
+ - `POST /api/v1/reasoning/start/:id` - Запуск reasoning
115
+ - `GET /api/v1/reasoning/project/:id` - Reasoning проекта
116
+
117
+ ### Chat API
118
+ - `POST /api/v1/chat` - Обычный чат
119
+ - `POST /api/v1/chat/stream` - Потоковый чат
120
+
121
+ ### Search API
122
+ - `GET /api/v1/search/project/:id` - Поиск в проекте
70
123
 
71
- // Взаимодействие с AI-ассистентом
72
- const chatResponse = await sdk.chat.chat([
73
- {
74
- role: 'system',
75
- content: 'Ты опытный программист, помогающий разработчику.'
76
- },
77
- {
78
- role: 'user',
79
- content: 'Объясни, как работает функция getUserProfile в моем проекте.'
124
+ ## 🔌 WebSocket Namespaces
125
+
126
+ | Namespace | URL | События |
127
+ |-----------|-----|---------|
128
+ | **Projects** | `/projects` | `indexing_progress`, `indexing_complete` |
129
+ | **Reasoning** | `/reasoning` | `reasoning_started`, `reasoning_completed` |
130
+ | **Chat** | `/chat` | `text_delta`, `thinking_delta`, `tool_use` |
131
+
132
+ ## 🔑 Аутентификация
133
+
134
+ ### Development
135
+
136
+ ```bash
137
+ export AI_SOLVER_API_KEY=dev_sk_test_12345678
138
+ ```
139
+
140
+ ### Production
141
+
142
+ ```bash
143
+ export AI_SOLVER_API_KEY=sk_prod_1234567890abcd
144
+ ```
145
+
146
+ ## 🚨 Миграция с предыдущих версий
147
+
148
+ ### Основные изменения
149
+
150
+ 1. **Новый способ создания SDK**
151
+ ```javascript
152
+ // Старый способ
153
+ const sdk = new CodeSolverSDK(options);
154
+
155
+ // Новый способ (v2.5.0)
156
+ const sdk = CodeSolverSDK.create(options);
157
+ ```
158
+
159
+ 2. **Контролируемые WebSocket**
160
+ ```javascript
161
+ // Обязательно добавить
162
+ autoConnect: false
163
+ ```
164
+
165
+ 3. **Новые алиасы методов**
166
+ ```javascript
167
+ // Reasoning API
168
+ await sdk.reasoning.create(data); // вместо createReasoning()
169
+ await sdk.reasoning.start(id); // вместо startReasoning()
170
+
171
+ // Projects API
172
+ await sdk.projects.create(data); // вместо createProject()
173
+ await sdk.projects.getAll(); // вместо getAllProjects()
174
+ ```
175
+
176
+ ## 📝 Примеры использования
177
+
178
+ ### Полный workflow
179
+
180
+ ```javascript
181
+ async function completeWorkflow() {
182
+ // Создание SDK
183
+ const sdk = CodeSolverSDK.create({
184
+ baseURL: 'http://localhost:3000',
185
+ apiKey: process.env.AI_SOLVER_API_KEY,
186
+ autoConnect: false
187
+ });
188
+
189
+ // Диагностика
190
+ const status = await sdk.diagnoseAPI();
191
+ console.log('API status:', status);
192
+
193
+ // Создание проекта
194
+ const project = await sdk.projects.create({
195
+ name: 'AI Analysis',
196
+ path: '/path/to/code'
197
+ });
198
+
199
+ // Индексация с WebSocket
200
+ await sdk.projects.connectWebSocket();
201
+ sdk.projects.onIndexingComplete(() => {
202
+ console.log('Indexing done!');
203
+ });
204
+ await sdk.projects.startIndexing(project.id);
205
+
206
+ // AI Reasoning
207
+ await sdk.reasoning.connectWebSocket();
208
+ const reasoning = await sdk.reasoning.create({
209
+ projectId: project.id,
210
+ query: 'Анализируй архитектуру'
211
+ });
212
+ await sdk.reasoning.start(reasoning.id);
213
+
214
+ // Chat с thinking
215
+ await sdk.chat.connectWebSocket();
216
+ await sdk.chat.stream([
217
+ { role: 'user', content: 'Объясни результаты' }
218
+ ], {
219
+ projectId: project.id,
220
+ thinking: true
221
+ });
222
+ }
223
+ ```
224
+
225
+ ## 🛠️ Разработка и отладка
226
+
227
+ ### Debug режим
228
+
229
+ ```javascript
230
+ const sdk = CodeSolverSDK.create({
231
+ baseURL: 'http://localhost:3000',
232
+ apiKey: 'dev_sk_test_12345678',
233
+ autoConnect: false,
234
+ headers: {
235
+ 'X-Debug': 'true'
80
236
  }
81
- ], {
82
- projectId: project.id,
83
- model: 'claude-3-7-sonnet-20240229'
84
237
  });
238
+ ```
239
+
240
+ ### Логирование
85
241
 
86
- console.log(chatResponse.answer);
242
+ ```javascript
243
+ // Включение детального логирования
244
+ localStorage.setItem('ai-solver-debug', 'true');
87
245
  ```
88
246
 
89
- ## Документация
247
+ ## 📊 Производительность
248
+
249
+ ### Рекомендации
250
+
251
+ 1. **Используйте autoConnect: false** для контроля ресурсов
252
+ 2. **Подключайтесь только к нужным WebSocket** namespace
253
+ 3. **Отключайтесь после завершения** операций
254
+ 4. **Используйте диагностику** для мониторинга
255
+
256
+ ### Monitoring
257
+
258
+ ```javascript
259
+ // Мониторинг ошибок
260
+ window.addEventListener('unhandledrejection', (event) => {
261
+ console.error('Unhandled SDK error:', event.reason);
262
+ });
263
+
264
+ // Метрики производительности
265
+ const start = performance.now();
266
+ await sdk.projects.create(data);
267
+ const duration = performance.now() - start;
268
+ console.log(`Operation took ${duration}ms`);
269
+ ```
90
270
 
91
- Подробная документация доступна в следующих файлах:
271
+ ## 🔗 Полезные ссылки
92
272
 
93
- - [API Reference](./API_REFERENCE.md) - подробное описание всех методов SDK
94
- - [WebSocket](./WEBSOCKET.md) - примеры работы с WebSocket соединениями
95
- - [Примеры интеграции](./INTEGRATION_EXAMPLES.md) - примеры интеграции с VS Code/Cursor и другими приложениями
96
- - [Аутентификация](./AUTHENTICATION.md) - информация по процессу аутентификации
97
- - [Обработка ошибок](./ERROR_HANDLING.md) - руководство по обработке ошибок
273
+ - **[GitHub Repository](https://github.com/ai-solver/sdk)**
274
+ - **[NPM Package](https://www.npmjs.com/package/@ai-solver/sdk)**
275
+ - **[Release Notes](../CHANGELOG.md)**
276
+ - **[Issues & Support](https://github.com/ai-solver/sdk/issues)**
98
277
 
99
- ## Поддерживаемые платформы
278
+ ## 📋 Совместимость
100
279
 
101
- - **Браузеры**: Chrome, Firefox, Safari, Edge
102
- - **Node.js**: 14.x и выше
280
+ | Компонент | Версия |
281
+ |-----------|--------|
282
+ | **Node.js** | 16.x+ |
283
+ | **TypeScript** | 4.5+ |
284
+ | **Browser** | Chrome 90+, Firefox 88+, Safari 14+ |
285
+ | **Backend** | AI Solver Backend v1.0.0 |
103
286
 
104
- ## Лицензия
287
+ ---
105
288
 
106
- MIT
289
+ **AI Solver SDK v2.5.0 Documentation**
290
+ **Последнее обновление:** 28 июня 2025
291
+ **Статус:** Stable Release
@@ -0,0 +1,266 @@
1
+ # AI Solver SDK v2.5.0
2
+
3
+ JavaScript/TypeScript SDK для взаимодействия с AI Solver Backend API - умной системой работы с кодом, reasoning и AI-ассистентами.
4
+
5
+ ## Установка
6
+
7
+ ```bash
8
+ npm install @ai-solver/sdk
9
+ ```
10
+
11
+ ## Основные возможности
12
+
13
+ - **🚀 Проекты**: создание, индексация и управление
14
+ - **🧠 AI Reasoning**: умное рассуждение в контексте кода
15
+ - **💬 AI Chat**: взаимодействие с Claude 4 thinking + tools
16
+ - **🔍 Поиск**: семантический поиск по коду
17
+ - **⚡ WebSocket**: real-time события и streaming
18
+ - **🌐 Мультиплатформенность**: Browser + Node.js
19
+
20
+ ## Быстрый старт v2.5.0
21
+
22
+ ```javascript
23
+ import { CodeSolverSDK } from '@ai-solver/sdk';
24
+
25
+ // Рекомендуемый способ инициализации
26
+ const sdk = CodeSolverSDK.create({
27
+ baseURL: 'http://localhost:3000',
28
+ apiKey: 'dev_sk_test_12345678',
29
+ autoConnect: false // Контролируемые WebSocket подключения
30
+ });
31
+
32
+ // Проверка всех endpoints
33
+ const results = await sdk.diagnoseAPI();
34
+ console.log('API статус:', results);
35
+
36
+ // Создание проекта
37
+ const project = await sdk.projects.create({
38
+ name: 'My AI Project',
39
+ path: '/path/to/project',
40
+ description: 'Test project for AI Solver'
41
+ });
42
+
43
+ // Запуск индексации
44
+ await sdk.projects.startIndexing(project.id);
45
+
46
+ // WebSocket события (подключение по требованию)
47
+ await sdk.projects.connectWebSocket();
48
+ sdk.projects.onIndexingProgress((progress) => {
49
+ console.log(`Прогресс: ${progress.percentage}%`);
50
+ });
51
+
52
+ // AI Reasoning процесс
53
+ const reasoning = await sdk.reasoning.create({
54
+ projectId: project.id,
55
+ query: 'Проанализируй архитектуру этого проекта'
56
+ });
57
+
58
+ await sdk.reasoning.start(reasoning.id);
59
+
60
+ // Chat с Claude 4 thinking
61
+ const response = await sdk.chat.stream([
62
+ {
63
+ role: 'user',
64
+ content: 'Объясни как работает эта функция',
65
+ tools: createStandardDevelopmentTools()
66
+ }
67
+ ], {
68
+ projectId: project.id,
69
+ model: 'claude-3-5-sonnet-20241022',
70
+ thinking: true
71
+ });
72
+ ```
73
+
74
+ ## Новые возможности v2.5.0
75
+
76
+ ### ✨ **Complex Content Support**
77
+ ```javascript
78
+ // Поддержка сложного контента
79
+ const message = {
80
+ role: 'user',
81
+ content: [
82
+ { type: 'text', text: 'Анализируй этот код:' },
83
+ { type: 'text', text: 'function example() { return 42; }' },
84
+ { type: 'tool_use', id: 'tool_1', name: 'code_analyzer' }
85
+ ]
86
+ };
87
+ ```
88
+
89
+ ### 🔧 **Tool Choice Validation**
90
+ ```javascript
91
+ // Только auto/none с thinking
92
+ const response = await sdk.chat.stream(messages, {
93
+ thinking: true,
94
+ tool_choice: { type: 'auto' } // ✅ Работает
95
+ // tool_choice: { type: 'any' } // ❌ Ошибка с thinking
96
+ });
97
+ ```
98
+
99
+ ### 🔐 **Signature Preservation**
100
+ ```javascript
101
+ // Автоматическое сохранение криптографических подписей
102
+ sdk.chat.onThinkingSignature((signature) => {
103
+ console.log('Подпись thinking блока:', signature);
104
+ });
105
+ ```
106
+
107
+ ### 🌊 **Streaming Events**
108
+ ```javascript
109
+ // Новые события streaming
110
+ sdk.chat.onTextDelta((text) => console.log('Текст:', text));
111
+ sdk.chat.onThinkingDelta((thinking) => console.log('Мышление:', thinking));
112
+ sdk.chat.onSignatureDelta((sig) => console.log('Подпись:', sig));
113
+ ```
114
+
115
+ ## Контролируемые WebSocket
116
+
117
+ ```javascript
118
+ // v2.5.0 - полный контроль подключений
119
+ const sdk = CodeSolverSDK.create({
120
+ autoConnect: false // Важно!
121
+ });
122
+
123
+ // Подключение только когда нужно
124
+ await sdk.projects.connectWebSocket();
125
+ await sdk.reasoning.connectWebSocket();
126
+ await sdk.chat.connectWebSocket();
127
+
128
+ // Отключение когда не нужно
129
+ await sdk.projects.disconnectWebSocket();
130
+ ```
131
+
132
+ ## API Алиасы для совместимости
133
+
134
+ ```javascript
135
+ // Полные названия (рекомендуемые)
136
+ await sdk.reasoning.createReasoning(data);
137
+ await sdk.reasoning.startReasoning(id);
138
+ await sdk.reasoning.stopReasoning(id);
139
+
140
+ // Короткие алиасы
141
+ await sdk.reasoning.create(data);
142
+ await sdk.reasoning.start(id);
143
+ await sdk.reasoning.stop(id);
144
+ ```
145
+
146
+ ## Helper функции
147
+
148
+ ```javascript
149
+ import {
150
+ createStandardDevelopmentTools,
151
+ extractThinkingBlocks,
152
+ extractToolUseBlocks,
153
+ createToolResultMessage,
154
+ createComplexAssistantMessage
155
+ } from '@ai-solver/sdk';
156
+
157
+ // 8 стандартных инструментов как в Cursor
158
+ const tools = createStandardDevelopmentTools();
159
+
160
+ // Извлечение thinking блоков
161
+ const thinkingBlocks = extractThinkingBlocks(response);
162
+
163
+ // Создание сложных сообщений
164
+ const complexMessage = createComplexAssistantMessage(
165
+ 'Результат анализа:',
166
+ thinkingBlocks,
167
+ toolUseBlocks
168
+ );
169
+ ```
170
+
171
+ ## Диагностика и debugging
172
+
173
+ ```javascript
174
+ // Проверка всех endpoints
175
+ const results = await sdk.diagnoseAPI();
176
+ console.log('Доступные endpoints:', results);
177
+
178
+ // Детальная диагностика
179
+ const detailed = await sdk.diagnoseFull();
180
+ console.log('Статус backend:', detailed);
181
+
182
+ // Проверка WebSocket
183
+ const wsStatus = await sdk.diagnoseWebSocket();
184
+ console.log('WebSocket статус:', wsStatus);
185
+ ```
186
+
187
+ ## Обработка ошибок
188
+
189
+ ```javascript
190
+ try {
191
+ const project = await sdk.projects.create(projectData);
192
+ } catch (error) {
193
+ if (error.status === 404) {
194
+ console.error('Backend недоступен');
195
+ } else if (error.status === 400) {
196
+ console.error('Некорректные данные:', error.message);
197
+ } else {
198
+ console.error('Неожиданная ошибка:', error);
199
+ }
200
+ }
201
+ ```
202
+
203
+ ## Environment Configuration
204
+
205
+ ```javascript
206
+ // Production
207
+ const sdk = CodeSolverSDK.create({
208
+ baseURL: 'https://api.ai-solver.com',
209
+ apiKey: process.env.AI_SOLVER_API_KEY,
210
+ autoConnect: false
211
+ });
212
+
213
+ // Development
214
+ const sdk = CodeSolverSDK.create({
215
+ baseURL: 'http://localhost:3000',
216
+ apiKey: 'dev_sk_test_12345678',
217
+ autoConnect: false
218
+ });
219
+ ```
220
+
221
+ ## Миграция с v2.4.x
222
+
223
+ ### Изменения инициализации:
224
+ ```javascript
225
+ // ❌ v2.4.x (deprecated):
226
+ const sdk = new CodeSolverSDK(options);
227
+ await sdk.initialize();
228
+
229
+ // ✅ v2.5.0:
230
+ const sdk = CodeSolverSDK.create(options);
231
+ // initialize() больше не нужен
232
+ ```
233
+
234
+ ### Изменения методов:
235
+ ```javascript
236
+ // ❌ v2.4.x:
237
+ await sdk.projects.createProject(name, path, options);
238
+
239
+ // ✅ v2.5.0:
240
+ await sdk.projects.create({ name, path, description });
241
+ ```
242
+
243
+ ### WebSocket изменения:
244
+ ```javascript
245
+ // ❌ v2.4.x (автоподключение):
246
+ const sdk = new CodeSolverSDK(options); // Автоматически подключался
247
+
248
+ // ✅ v2.5.0 (контролируемое):
249
+ const sdk = CodeSolverSDK.create({ autoConnect: false });
250
+ await sdk.projects.connectWebSocket(); // Явное подключение
251
+ ```
252
+
253
+ ## Поддерживаемые платформы
254
+
255
+ - **Node.js**: 16.x и выше
256
+ - **Browsers**: Chrome 90+, Firefox 88+, Safari 14+, Edge 90+
257
+ - **TypeScript**: 4.5+ (опционально)
258
+
259
+ ## Лицензия
260
+
261
+ MIT
262
+
263
+ ---
264
+
265
+ **Обновлено для AI Solver SDK v2.5.0**
266
+ **Совместимо с AI Solver Backend v1.0.0**