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 +5 -3
- package/dist/cjs/code-solver-sdk.js +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/esm/code-solver-sdk.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/types/index.d.ts +1 -1
- package/package.json +2 -3
- package/docs/AUTHENTICATION.md +0 -316
- package/docs/ERROR_HANDLING.md +0 -613
- package/docs/README.md +0 -53
- package/docs/VSCODE_INTEGRATION.md +0 -269
- package/docs/features/THINKING.md +0 -324
- package/docs/indexing/INDEXING.md +0 -759
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Code Solver SDK v3.1.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
4
|
+
export const VERSION = '3.1.3';
|
|
5
5
|
// Экспортируем основные классы и интерфейсы
|
|
6
6
|
export { CodeSolverSDK };
|
|
7
7
|
export { HttpClient };
|
package/dist/types/index.d.ts
CHANGED
|
@@ -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.
|
|
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.
|
|
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",
|
package/docs/AUTHENTICATION.md
DELETED
|
@@ -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
|