solver-sdk 2.6.3 → 2.7.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.
Files changed (63) hide show
  1. package/README.md +44 -55
  2. package/dist/cjs/api/chat-api/index.js +68 -68
  3. package/dist/cjs/api/chat-api/index.js.map +1 -1
  4. package/dist/cjs/api/projects-api.js.map +1 -1
  5. package/dist/cjs/code-solver-sdk.js +24 -2
  6. package/dist/cjs/code-solver-sdk.js.map +1 -1
  7. package/dist/cjs/constants/websocket-events.constants.js +5 -0
  8. package/dist/cjs/constants/websocket-events.constants.js.map +1 -1
  9. package/dist/cjs/constants/websocket-namespaces.constants.js +2 -0
  10. package/dist/cjs/constants/websocket-namespaces.constants.js.map +1 -1
  11. package/dist/cjs/index.js +1 -0
  12. package/dist/cjs/index.js.map +1 -1
  13. package/dist/cjs/interfaces/websocket/vscode-command.interfaces.js +42 -0
  14. package/dist/cjs/interfaces/websocket/vscode-command.interfaces.js.map +1 -0
  15. package/dist/cjs/utils/http-client.js +11 -3
  16. package/dist/cjs/utils/http-client.js.map +1 -1
  17. package/dist/cjs/ws/file-editing-ws-client.js +162 -0
  18. package/dist/cjs/ws/file-editing-ws-client.js.map +1 -0
  19. package/dist/esm/api/chat-api/index.js +68 -68
  20. package/dist/esm/api/chat-api/index.js.map +1 -1
  21. package/dist/esm/api/projects-api.js.map +1 -1
  22. package/dist/esm/code-solver-sdk.js +24 -2
  23. package/dist/esm/code-solver-sdk.js.map +1 -1
  24. package/dist/esm/constants/websocket-events.constants.js +5 -0
  25. package/dist/esm/constants/websocket-events.constants.js.map +1 -1
  26. package/dist/esm/constants/websocket-namespaces.constants.js +2 -0
  27. package/dist/esm/constants/websocket-namespaces.constants.js.map +1 -1
  28. package/dist/esm/index.js +1 -0
  29. package/dist/esm/index.js.map +1 -1
  30. package/dist/esm/interfaces/websocket/vscode-command.interfaces.js +39 -0
  31. package/dist/esm/interfaces/websocket/vscode-command.interfaces.js.map +1 -0
  32. package/dist/esm/utils/http-client.js +11 -3
  33. package/dist/esm/utils/http-client.js.map +1 -1
  34. package/dist/esm/ws/file-editing-ws-client.js +158 -0
  35. package/dist/esm/ws/file-editing-ws-client.js.map +1 -0
  36. package/dist/types/api/chat-api/index.d.ts +7 -0
  37. package/dist/types/api/chat-api/index.d.ts.map +1 -1
  38. package/dist/types/api/chat-api/interfaces.d.ts +7 -0
  39. package/dist/types/api/chat-api/interfaces.d.ts.map +1 -1
  40. package/dist/types/api/chat-api/models.d.ts +10 -1
  41. package/dist/types/api/chat-api/models.d.ts.map +1 -1
  42. package/dist/types/code-solver-sdk.d.ts +8 -0
  43. package/dist/types/code-solver-sdk.d.ts.map +1 -1
  44. package/dist/types/constants/websocket-events.constants.d.ts +5 -1
  45. package/dist/types/constants/websocket-events.constants.d.ts.map +1 -1
  46. package/dist/types/constants/websocket-namespaces.constants.d.ts +3 -1
  47. package/dist/types/constants/websocket-namespaces.constants.d.ts.map +1 -1
  48. package/dist/types/index.d.ts +1 -0
  49. package/dist/types/index.d.ts.map +1 -1
  50. package/dist/types/interfaces/websocket/vscode-command.interfaces.d.ts +56 -0
  51. package/dist/types/interfaces/websocket/vscode-command.interfaces.d.ts.map +1 -0
  52. package/dist/types/utils/http-client.d.ts.map +1 -1
  53. package/dist/types/ws/file-editing-ws-client.d.ts +85 -0
  54. package/dist/types/ws/file-editing-ws-client.d.ts.map +1 -0
  55. package/docs/ARCHITECTURE.md +268 -0
  56. package/docs/QUICK_START.md +126 -0
  57. package/docs/README.md +25 -279
  58. package/docs/VSCODE_INTEGRATION.md +432 -0
  59. package/docs/WEBSOCKET.md +49 -10
  60. package/package.json +1 -1
  61. package/docs/API_REFERENCE.md +0 -703
  62. package/docs/INTEGRATION_GUIDE_V2.5.md +0 -516
  63. package/docs/README_V2.5.md +0 -266
@@ -0,0 +1,126 @@
1
+ # 🚀 Quick Start: VS Code Extension
2
+
3
+ **5-минутный старт для разработчиков VS Code Extension**
4
+
5
+ ## 📦 Установка
6
+
7
+ ```bash
8
+ npm install solver-sdk
9
+ ```
10
+
11
+ ## ⚡ Минимальный код (работает сразу!)
12
+
13
+ ```typescript
14
+ // 1. Импорты
15
+ import { CodeSolverSDK, VSCodeCommandEvent, CommandExecutionResult } from 'solver-sdk';
16
+ import * as vscode from 'vscode';
17
+
18
+ // 2. Инициализация SDK
19
+ const sdk = await CodeSolverSDK.create({
20
+ baseURL: 'http://localhost:3000',
21
+ apiKey: 'your-api-key'
22
+ });
23
+
24
+ // 3. Обработчик VS Code команд
25
+ async function handleVSCodeCommand(command: VSCodeCommandEvent): Promise<CommandExecutionResult> {
26
+ const startTime = Date.now();
27
+
28
+ try {
29
+ // Выполняем команду через VS Code API
30
+ const result = await vscode.commands.executeCommand(command.command, ...command.args);
31
+
32
+ return {
33
+ requestId: command.requestId,
34
+ success: true,
35
+ result,
36
+ executionTime: Date.now() - startTime,
37
+ timestamp: Date.now()
38
+ };
39
+ } catch (error: any) {
40
+ return {
41
+ requestId: command.requestId,
42
+ success: false,
43
+ error: error.message,
44
+ executionTime: Date.now() - startTime,
45
+ timestamp: Date.now()
46
+ };
47
+ }
48
+ }
49
+
50
+ // 4. Использование
51
+ const stream = await sdk.chat.streamChat(
52
+ [{ role: 'user', content: 'Создай компонент React Button' }],
53
+ {
54
+ thinking: { type: 'enabled', budget_tokens: 4000 },
55
+ onVSCodeCommand: handleVSCodeCommand // Подключаем обработчик
56
+ }
57
+ );
58
+
59
+ // 5. Обработка событий
60
+ for await (const chunk of stream) {
61
+ if (chunk.type === 'command_executed') {
62
+ console.log(`✅ Команда выполнена за ${chunk.commandResult?.executionTime}ms`);
63
+ } else if (chunk.type === 'text') {
64
+ console.log(`💬 AI ответ: ${chunk.text}`);
65
+ }
66
+ }
67
+ ```
68
+
69
+ ## 🎯 Результат
70
+
71
+ - **45ms** выполнение команд VS Code (вместо 443ms!)
72
+ - **Нативная скорость** IDE
73
+ - **Real-time feedback** от AI
74
+
75
+ ## 📚 Что дальше?
76
+
77
+ - **Поддерживаемые команды:** [Полный список](VSCODE_INTEGRATION.md#поддерживаемые-команды)
78
+ - **Продвинутые примеры:** [Детальное руководство](VSCODE_INTEGRATION.md)
79
+ - **Архитектура:** [HTTP vs WebSocket](ARCHITECTURE.md) (если интересно)
80
+
81
+ ## 🆘 Нужна помощь?
82
+
83
+ **Самые частые вопросы:**
84
+
85
+ ### Q: Как зарегистрировать команды в Extension?
86
+ ```json
87
+ // package.json
88
+ {
89
+ "contributes": {
90
+ "commands": [
91
+ { "command": "aiSolver.native.createFile", "title": "AI: Create File" },
92
+ { "command": "aiSolver.native.editFile", "title": "AI: Edit File" }
93
+ ]
94
+ }
95
+ }
96
+ ```
97
+
98
+ ### Q: Как обрабатывать ошибки команд?
99
+ ```typescript
100
+ onVSCodeCommand: async (command) => {
101
+ try {
102
+ const result = await vscode.commands.executeCommand(command.command, ...command.args);
103
+ return { requestId: command.requestId, success: true, result, ... };
104
+ } catch (error) {
105
+ return { requestId: command.requestId, success: false, error: error.message, ... };
106
+ }
107
+ }
108
+ ```
109
+
110
+ ### Q: Какие команды поддерживаются?
111
+ ```typescript
112
+ import { VSCodeCommands } from 'solver-sdk';
113
+
114
+ // Создание файлов
115
+ VSCodeCommands.CREATE_FILE = 'aiSolver.native.createFile'
116
+
117
+ // Редактирование
118
+ VSCodeCommands.EDIT_FILE = 'aiSolver.native.editFile'
119
+
120
+ // Поиск
121
+ VSCodeCommands.FIND_FILES = 'vscode.workspace.findFiles'
122
+
123
+ // И еще 5 команд...
124
+ ```
125
+
126
+ **🎉 Готово! Ваш Extension работает со скоростью нативного VS Code!**
package/docs/README.md CHANGED
@@ -1,291 +1,37 @@
1
- # AI Solver SDK v2.5.0 Documentation
1
+ # 📚 Документация Solver SDK v2.7.0
2
2
 
3
- Полная документация для AI Solver SDK версии 2.5.0.
3
+ ## 🎯 Быстрая навигация
4
4
 
5
- ## 🚀 Быстрый старт
5
+ ### Для VS Code Extension разработчиков:
6
+ 1. **[🚀 QUICK_START.md](QUICK_START.md)** - 5-минутный старт (начните отсюда!)
7
+ 2. **[📚 VSCODE_INTEGRATION.md](VSCODE_INTEGRATION.md)** - детальные примеры
6
8
 
7
- ### Установка
9
+ ### Для backend разработчиков:
10
+ 1. **[🏗️ ARCHITECTURE.md](ARCHITECTURE.md)** - HTTP vs WebSocket архитектура
11
+ 2. **[🔌 WEBSOCKET.md](WEBSOCKET.md)** - WebSocket API и события
12
+ 3. **[🔑 AUTHENTICATION.md](AUTHENTICATION.md)** - настройка авторизации
8
13
 
9
- ```bash
10
- npm install @ai-solver/sdk
11
- ```
14
+ ### Дополнительно:
15
+ - **[❌ ERROR_HANDLING.md](ERROR_HANDLING.md)** - обработка ошибок
16
+ - **[📁 features/](features/)** - документация по отдельным функциям
17
+ - **[📦 indexing/](indexing/)** - работа с индексацией
12
18
 
13
- ### Базовое использование
19
+ ## 🚀 Примеры кода
14
20
 
15
- ```javascript
16
- import { CodeSolverSDK } from '@ai-solver/sdk';
21
+ - **[../examples/vscode-integration-example.js](../examples/vscode-integration-example.js)** - полный пример VS Code интеграции
17
22
 
18
- const sdk = CodeSolverSDK.create({
19
- baseURL: 'http://localhost:3000',
20
- apiKey: 'dev_sk_test_12345678',
21
- autoConnect: false
22
- });
23
+ ## 💡 Рекомендуемый порядок изучения
23
24
 
24
- // Создание проекта
25
- const project = await sdk.projects.create({
26
- name: 'My AI Project',
27
- path: '/path/to/project'
28
- });
25
+ ### Для новичков:
26
+ 1. Прочитайте [QUICK_START.md](QUICK_START.md) (5 минут)
27
+ 2. Запустите [пример](../examples/vscode-integration-example.js)
28
+ 3. При необходимости изучите [VSCODE_INTEGRATION.md](VSCODE_INTEGRATION.md)
29
29
 
30
- // AI Chat
31
- const response = await sdk.chat.send([
32
- { role: 'user', content: 'Проанализируй этот код' }
33
- ], {
34
- projectId: project.id,
35
- thinking: true
36
- });
37
- ```
38
-
39
- ## 📚 Документация
40
-
41
- ### Основные руководства
42
-
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)** | Обработка ошибок и диагностика |
50
-
51
- ### Специализированные функции
52
-
53
- | Документ | Описание |
54
- |----------|----------|
55
- | **[Thinking Features](./features/THINKING.md)** | Claude 4 thinking и tool calling |
56
- | **[Indexing Guide](./indexing/INDEXING.md)** | Индексация проектов |
57
-
58
- ## ✨ Новые возможности v2.5.0
59
-
60
- ### 🔄 Контролируемые подключения
61
-
62
- ```javascript
63
- const sdk = CodeSolverSDK.create({
64
- autoConnect: false // Ключевая настройка
65
- });
66
-
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
- }
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` - Поиск в проекте
123
-
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'
236
- }
237
- });
238
- ```
239
-
240
- ### Логирование
241
-
242
- ```javascript
243
- // Включение детального логирования
244
- localStorage.setItem('ai-solver-debug', 'true');
245
- ```
246
-
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
- ```
270
-
271
- ## 🔗 Полезные ссылки
272
-
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)**
277
-
278
- ## 📋 Совместимость
279
-
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 |
30
+ ### Для опытных разработчиков:
31
+ 1. [ARCHITECTURE.md](ARCHITECTURE.md) - понимание архитектуры
32
+ 2. [WEBSOCKET.md](WEBSOCKET.md) - для WebSocket интеграции
33
+ 3. [ERROR_HANDLING.md](ERROR_HANDLING.md) - для production готовности
286
34
 
287
35
  ---
288
36
 
289
- **AI Solver SDK v2.5.0 Documentation**
290
- **Последнее обновление:** 28 июня 2025
291
- **Статус:** Stable Release
37
+ **❓ Не нашли ответ? Загляните в [основной README](../README.md)**