solver-sdk 3.1.2 → 3.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Code Solver SDK v3.1.2
1
+ # Code Solver SDK v3.1.3
2
2
 
3
3
  > **JavaScript/TypeScript SDK для VS Code Extensions**
4
4
  > Подключение к AI бэкенду для индексации, поиска и работы с кодом
@@ -229,7 +229,7 @@ const sdk = await CodeSolverSDK.create({
229
229
  });
230
230
  ```
231
231
 
232
- ## 📝 Changelog v3.1.2
232
+ ## 📝 Changelog v3.1.3
233
233
 
234
234
  ### ✅ Добавлено
235
235
  - Поиск функций через `/search/functions` API
@@ -244,6 +244,7 @@ const sdk = await CodeSolverSDK.create({
244
244
  - `simple-indexing-client.ts` - дублировал ProjectsApi
245
245
  - Все устаревшие методы и примеры
246
246
  - Ручной выбор модели и лимитов токенов клиентом
247
+ - **Папка docs/** - удалена вся неактуальная документация
247
248
 
248
249
  ### 🔄 Изменено
249
250
  - Обновлены все примеры кода на актуальный синтаксис
@@ -252,6 +253,7 @@ const sdk = await CodeSolverSDK.create({
252
253
  - Улучшена обработка ошибок индексации
253
254
  - Chat API упрощен - модель выбирается автоматически
254
255
  - Полная синхронизация документации с реальным кодом
256
+ - **Один README.md** содержит всю необходимую информацию
255
257
 
256
258
  ## 📄 Лицензия
257
259
 
@@ -383,7 +385,7 @@ export async function activate(context: vscode.ExtensionContext) {
383
385
  { "command": "extension.searchFunctions", "title": "🔍 Поиск функций" }
384
386
  ]
385
387
  },
386
- "dependencies": { "solver-sdk": "^3.1.2" }
388
+ "dependencies": { "solver-sdk": "^3.1.3" }
387
389
  }
388
390
  ```
389
391
 
@@ -10,7 +10,7 @@ const code_modification_api_js_1 = require("./api/code-modification-api.js");
10
10
  const index_js_1 = require("./api/chat-api/index.js");
11
11
  const models_api_js_1 = require("./api/models-api.js");
12
12
  // Версия SDK
13
- const SDK_VERSION = '3.1.2';
13
+ const SDK_VERSION = '3.1.3';
14
14
  /**
15
15
  * Определение типа среды выполнения
16
16
  * @returns 'browser' | 'node' | 'unknown'
package/dist/cjs/index.js CHANGED
@@ -20,7 +20,7 @@ Object.defineProperty(exports, "CodeSolverSDK", { enumerable: true, get: functio
20
20
  const http_client_js_1 = require("./utils/http-client.js");
21
21
  Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function () { return http_client_js_1.HttpClient; } });
22
22
  // Версия SDK
23
- exports.VERSION = '3.1.2';
23
+ exports.VERSION = '3.1.3';
24
24
  // Экспортируем основные интерфейсы и типы
25
25
  __exportStar(require("./interfaces/sdk-options.js"), exports);
26
26
  // Экспортируем HTTP API клиенты
@@ -7,7 +7,7 @@ import { CodeModificationApi } from './api/code-modification-api.js';
7
7
  import { ChatApi } from './api/chat-api/index.js';
8
8
  import { ModelsApi } from './api/models-api.js';
9
9
  // Версия SDK
10
- const SDK_VERSION = '3.1.2';
10
+ const SDK_VERSION = '3.1.3';
11
11
  /**
12
12
  * Определение типа среды выполнения
13
13
  * @returns 'browser' | 'node' | 'unknown'
package/dist/esm/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { CodeSolverSDK } from './code-solver-sdk.js';
2
2
  import { HttpClient } from './utils/http-client.js';
3
3
  // Версия SDK
4
- export const VERSION = '3.1.2';
4
+ export const VERSION = '3.1.3';
5
5
  // Экспортируем основные классы и интерфейсы
6
6
  export { CodeSolverSDK };
7
7
  export { HttpClient };
@@ -1,7 +1,7 @@
1
1
  import { CodeSolverSDK } from './code-solver-sdk.js';
2
2
  import { CodeSolverSDKOptions } from './interfaces/sdk-options.js';
3
3
  import { HttpClient } from './utils/http-client.js';
4
- export declare const VERSION = "3.1.2";
4
+ export declare const VERSION = "3.1.3";
5
5
  export { CodeSolverSDK };
6
6
  export { CodeSolverSDKOptions };
7
7
  export { HttpClient };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solver-sdk",
3
- "version": "3.1.2",
3
+ "version": "3.1.3",
4
4
  "description": "SDK для интеграции с Code Solver Backend API",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -24,8 +24,7 @@
24
24
  "files": [
25
25
  "dist/**/*",
26
26
  "README.md",
27
- "LICENSE",
28
- "docs/**/*"
27
+ "LICENSE"
29
28
  ],
30
29
  "scripts": {
31
30
  "clean": "rimraf dist",
@@ -1,316 +0,0 @@
1
- # Аутентификация v2.5.0
2
-
3
- Документация по аутентификации в AI Solver SDK v2.5.0.
4
-
5
- ## API ключи
6
-
7
- AI Solver использует API ключи для аутентификации. Ключи имеют специальные префиксы:
8
-
9
- ### Форматы ключей
10
-
11
- ```
12
- dev_sk_test_12345678 # Development key (для разработки)
13
- sk_prod_1234567890abcd # Production key (для продакшна)
14
- sk_temp_abcdef123456 # Temporary key (временный)
15
- ```
16
-
17
- ## Получение API ключа
18
-
19
- ### Development ключ
20
-
21
- Для локальной разработки используйте тестовый ключ:
22
-
23
- ```
24
- dev_sk_test_12345678
25
- ```
26
-
27
- ### Production ключ
28
-
29
- 1. Зарегистрируйтесь на платформе AI Solver
30
- 2. Перейдите в настройки аккаунта
31
- 3. Создайте новый Production API ключ
32
- 4. Сохраните ключ в безопасном месте
33
-
34
- ## Использование API ключа
35
-
36
- ### Рекомендуемый способ (v2.5.0)
37
-
38
- ```javascript
39
- import { CodeSolverSDK } from '@ai-solver/sdk';
40
-
41
- const sdk = CodeSolverSDK.create({
42
- baseURL: 'http://localhost:3000',
43
- apiKey: 'dev_sk_test_12345678'
44
- });
45
- ```
46
-
47
- ### Через переменные окружения
48
-
49
- ```bash
50
- # Development
51
- export AI_SOLVER_API_KEY=dev_sk_test_12345678
52
-
53
- # Production
54
- export AI_SOLVER_API_KEY=sk_prod_1234567890abcd
55
- ```
56
-
57
- ```javascript
58
- import { CodeSolverSDK } from '@ai-solver/sdk';
59
-
60
- const sdk = CodeSolverSDK.create({
61
- baseURL: process.env.NODE_ENV === 'production'
62
- ? 'https://api.ai-solver.com'
63
- : 'http://localhost:3000',
64
- apiKey: process.env.AI_SOLVER_API_KEY
65
- });
66
- ```
67
-
68
- ### Динамическое обновление ключа
69
-
70
- ```javascript
71
- // Обновление API ключа в runtime
72
- sdk.updateOptions({
73
- apiKey: 'new_api_key_12345678'
74
- });
75
- ```
76
-
77
- ## Типы ключей
78
-
79
- | Тип | Префикс | Описание | Срок действия |
80
- |-----|---------|----------|---------------|
81
- | Development | `dev_sk_test_` | Для локальной разработки | Неограничен |
82
- | Production | `sk_prod_` | Для production использования | 1 год |
83
- | Temporary | `sk_temp_` | Временный доступ | 7-30 дней |
84
-
85
- ## Области действия (Scopes)
86
-
87
- API ключи v2.5.0 поддерживают следующие области:
88
-
89
- ### Базовые права
90
-
91
- - `projects:read` - Чтение проектов
92
- - `projects:write` - Создание и изменение проектов
93
- - `projects:index` - Запуск индексации
94
-
95
- ### AI права
96
-
97
- - `chat:access` - Доступ к AI чату
98
- - `chat:stream` - Потоковый чат
99
- - `reasoning:access` - Доступ к reasoning API
100
- - `reasoning:manage` - Управление reasoning процессами
101
-
102
- ### Поиск и данные
103
-
104
- - `search:access` - Семантический поиск
105
- - `context:access` - Доступ к контексту проекта
106
- - `websocket:connect` - WebSocket соединения
107
-
108
- ### Development ключ
109
-
110
- Development ключ `dev_sk_test_12345678` имеет **все права** для удобства разработки.
111
-
112
- ## Проверка аутентификации
113
-
114
- ### Диагностика API
115
-
116
- ```javascript
117
- // Полная диагностика включая аутентификацию
118
- const results = await sdk.diagnoseAPI();
119
- console.log('API diagnostics:', results);
120
-
121
- /* Пример ответа:
122
- {
123
- '/api/v1/projects': { status: 200, authenticated: true },
124
- '/api/v1/chat': { status: 200, authenticated: true },
125
- '/api/v1/reasoning': { status: 401, authenticated: false, error: 'Invalid API key' }
126
- }
127
- */
128
- ```
129
-
130
- ### Простая проверка
131
-
132
- ```javascript
133
- try {
134
- const projects = await sdk.projects.getAll();
135
- console.log('✅ Authentication successful');
136
- } catch (error) {
137
- if (error.status === 401) {
138
- console.error('❌ Invalid API key');
139
- } else if (error.status === 403) {
140
- console.error('❌ Insufficient permissions');
141
- }
142
- }
143
- ```
144
-
145
- ## Заголовки аутентификации
146
-
147
- SDK автоматически добавляет заголовки:
148
-
149
- ```http
150
- Authorization: Bearer dev_sk_test_12345678
151
- Content-Type: application/json
152
- ```
153
-
154
- ### Дополнительные заголовки
155
-
156
- ```javascript
157
- const sdk = CodeSolverSDK.create({
158
- baseURL: 'http://localhost:3000',
159
- apiKey: 'dev_sk_test_12345678',
160
- headers: {
161
- 'X-Client-Version': '2.5.0',
162
- 'X-User-Agent': 'My-App/1.0'
163
- }
164
- });
165
- ```
166
-
167
- ## WebSocket аутентификация
168
-
169
- WebSocket соединения автоматически используют API ключ:
170
-
171
- ```javascript
172
- // API ключ автоматически передается в WebSocket
173
- await sdk.projects.connectWebSocket();
174
- await sdk.reasoning.connectWebSocket();
175
- await sdk.chat.connectWebSocket();
176
- ```
177
-
178
- ## Ошибки аутентификации
179
-
180
- ### 401 Unauthorized
181
-
182
- ```json
183
- {
184
- "error": "Unauthorized",
185
- "message": "Invalid or missing API key",
186
- "code": "AUTH_INVALID_KEY"
187
- }
188
- ```
189
-
190
- **Решение:** Проверьте правильность API ключа.
191
-
192
- ### 403 Forbidden
193
-
194
- ```json
195
- {
196
- "error": "Forbidden",
197
- "message": "Insufficient permissions for this operation",
198
- "code": "AUTH_INSUFFICIENT_SCOPE",
199
- "required_scope": "projects:write"
200
- }
201
- ```
202
-
203
- **Решение:** Используйте ключ с нужными правами.
204
-
205
- ### 429 Rate Limited
206
-
207
- ```json
208
- {
209
- "error": "Too Many Requests",
210
- "message": "Rate limit exceeded",
211
- "retry_after": 60
212
- }
213
- ```
214
-
215
- **Решение:** Подождите указанное время или используйте Production ключ.
216
-
217
- ## Безопасность
218
-
219
- ### ✅ Рекомендации
220
-
221
- - Используйте переменные окружения для хранения ключей
222
- - Никогда не коммитьте ключи в git
223
- - Регулярно ротируйте Production ключи
224
- - Используйте минимальные необходимые права
225
- - Мониторьте использование ключей
226
-
227
- ### ❌ Не делайте
228
-
229
- ```javascript
230
- // ❌ НЕ ДЕЛАЙТЕ ТАК
231
- const sdk = CodeSolverSDK.create({
232
- apiKey: 'sk_prod_1234567890abcd' // Хардкод в коде
233
- });
234
-
235
- // ❌ НЕ ДЕЛАЙТЕ ТАК
236
- fetch('/api/client-side', {
237
- headers: {
238
- 'Authorization': 'Bearer sk_prod_1234567890abcd' // В браузере
239
- }
240
- });
241
- ```
242
-
243
- ### ✅ Правильно
244
-
245
- ```javascript
246
- // ✅ ПРАВИЛЬНО
247
- const sdk = CodeSolverSDK.create({
248
- apiKey: process.env.AI_SOLVER_API_KEY
249
- });
250
-
251
- // ✅ ПРАВИЛЬНО - для браузера используйте proxy
252
- fetch('/api/proxy/ai-solver', {
253
- headers: {
254
- 'Authorization': 'Bearer ' + clientToken // Только client token
255
- }
256
- });
257
- ```
258
-
259
- ## Environment Configuration
260
-
261
- ### Development
262
-
263
- ```bash
264
- # .env.local
265
- AI_SOLVER_API_KEY=dev_sk_test_12345678
266
- AI_SOLVER_BASE_URL=http://localhost:3000
267
- ```
268
-
269
- ### Production
270
-
271
- ```bash
272
- # .env.production
273
- AI_SOLVER_API_KEY=sk_prod_1234567890abcd
274
- AI_SOLVER_BASE_URL=https://api.ai-solver.com
275
- ```
276
-
277
- ### Configuration helper
278
-
279
- ```javascript
280
- function createSDK() {
281
- const isDev = process.env.NODE_ENV === 'development';
282
-
283
- return CodeSolverSDK.create({
284
- baseURL: isDev
285
- ? 'http://localhost:3000'
286
- : 'https://api.ai-solver.com',
287
- apiKey: process.env.AI_SOLVER_API_KEY,
288
- autoConnect: false
289
- });
290
- }
291
- ```
292
-
293
- ## Отзыв ключей
294
-
295
- При компрометации ключа:
296
-
297
- 1. **Немедленно** удалите ключ из системы
298
- 2. Обновите переменные окружения
299
- 3. Перезапустите все сервисы
300
- 4. Создайте новый ключ
301
- 5. Проверьте логи на подозрительную активность
302
-
303
- ```javascript
304
- // Проверка активности ключа
305
- const diagnostics = await sdk.diagnoseAPI();
306
- if (diagnostics.unauthorized) {
307
- console.error('🚨 API key might be compromised or revoked');
308
- // Логика восстановления
309
- }
310
- ```
311
-
312
- ---
313
-
314
- **Документация аутентификации для SDK v2.5.0**
315
- **Совместимость:** AI Solver Backend v1.0.0
316
- **Обновлено:** 28 июня 2025