solver-sdk 1.1.0 → 1.2.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.
- package/README.md +177 -3
- package/dist/cjs/api/dependencies-api.js +131 -0
- package/dist/cjs/api/dependencies-api.js.map +1 -0
- package/dist/cjs/api/projects-api.js +22 -0
- package/dist/cjs/api/projects-api.js.map +1 -1
- package/dist/cjs/code-solver-sdk.js +36 -4
- package/dist/cjs/code-solver-sdk.js.map +1 -1
- package/dist/cjs/index.js +4 -2
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/models/types.js +35 -1
- package/dist/cjs/models/types.js.map +1 -1
- package/dist/cjs/utils/code-solver-websocket-client.js +52 -16
- package/dist/cjs/utils/code-solver-websocket-client.js.map +1 -1
- package/dist/cjs/utils/http-client.js +6 -0
- package/dist/cjs/utils/http-client.js.map +1 -1
- package/dist/esm/api/dependencies-api.js +127 -0
- package/dist/esm/api/dependencies-api.js.map +1 -0
- package/dist/esm/api/projects-api.js +22 -0
- package/dist/esm/api/projects-api.js.map +1 -1
- package/dist/esm/code-solver-sdk.js +36 -4
- package/dist/esm/code-solver-sdk.js.map +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/models/types.js +34 -0
- package/dist/esm/models/types.js.map +1 -1
- package/dist/esm/utils/code-solver-websocket-client.js +52 -16
- package/dist/esm/utils/code-solver-websocket-client.js.map +1 -1
- package/dist/esm/utils/http-client.js +6 -0
- package/dist/esm/utils/http-client.js.map +1 -1
- package/dist/types/api/dependencies-api.d.ts +54 -0
- package/dist/types/api/dependencies-api.d.ts.map +1 -0
- package/dist/types/api/projects-api.d.ts +6 -0
- package/dist/types/api/projects-api.d.ts.map +1 -1
- package/dist/types/code-solver-sdk.d.ts +21 -1
- package/dist/types/code-solver-sdk.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/interfaces/sdk-options.d.ts +27 -0
- package/dist/types/interfaces/sdk-options.d.ts.map +1 -1
- package/dist/types/models/types.d.ts +186 -0
- package/dist/types/models/types.d.ts.map +1 -1
- package/dist/types/utils/code-solver-websocket-client.d.ts +125 -12
- package/dist/types/utils/code-solver-websocket-client.d.ts.map +1 -1
- package/dist/types/utils/http-client.d.ts +4 -0
- package/dist/types/utils/http-client.d.ts.map +1 -1
- package/package.json +21 -17
package/README.md
CHANGED
|
@@ -152,6 +152,89 @@ wsClient.on('complete', (data) => {
|
|
|
152
152
|
});
|
|
153
153
|
```
|
|
154
154
|
|
|
155
|
+
## API для работы с зависимостями
|
|
156
|
+
|
|
157
|
+
SDK предоставляет API для работы с зависимостями файлов в проекте, что позволяет анализировать структуру проекта, импорты/экспорты и выявлять циклические зависимости.
|
|
158
|
+
|
|
159
|
+
### Получение зависимостей файла
|
|
160
|
+
|
|
161
|
+
```typescript
|
|
162
|
+
// Получение зависимостей конкретного файла
|
|
163
|
+
const fileDependencies = await sdk.dependencies.getFileDependencies(projectId, {
|
|
164
|
+
filePath: 'src/app.js'
|
|
165
|
+
});
|
|
166
|
+
|
|
167
|
+
console.log('Импорты:', fileDependencies.imports);
|
|
168
|
+
console.log('Импортируется в:', fileDependencies.importedBy);
|
|
169
|
+
console.log('Экспорты:', fileDependencies.exports);
|
|
170
|
+
console.log('Экспортируемые из импортов:', fileDependencies.exportedBy);
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### Получение графа зависимостей
|
|
174
|
+
|
|
175
|
+
```typescript
|
|
176
|
+
// Получение полного графа зависимостей проекта
|
|
177
|
+
const dependencyGraph = await sdk.dependencies.getDependencyGraph(projectId);
|
|
178
|
+
|
|
179
|
+
console.log('Узлы графа:', dependencyGraph.nodes);
|
|
180
|
+
console.log('Связи в графе:', dependencyGraph.edges);
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### Анализ зависимостей
|
|
184
|
+
|
|
185
|
+
```typescript
|
|
186
|
+
// Анализ графа зависимостей и поиск циклов
|
|
187
|
+
const analysis = await sdk.dependencies.analyzeDependencyGraph(projectId);
|
|
188
|
+
|
|
189
|
+
console.log('Циклические зависимости:', analysis.cycles);
|
|
190
|
+
console.log('Статистика графа:', analysis.statistics);
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
### Статистика зависимостей
|
|
194
|
+
|
|
195
|
+
```typescript
|
|
196
|
+
// Получение статистики зависимостей в проекте
|
|
197
|
+
const stats = await sdk.dependencies.getDependencyStatistics(projectId);
|
|
198
|
+
|
|
199
|
+
console.log('Общее количество зависимостей:', stats.totalDependencies);
|
|
200
|
+
console.log('Уникальные файлы:', stats.uniqueFiles);
|
|
201
|
+
console.log('Импорты:', stats.importCount);
|
|
202
|
+
console.log('Экспорты:', stats.exportCount);
|
|
203
|
+
console.log('Циклические зависимости:', stats.cyclicDependenciesCount);
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
### Получение связанных компонентов
|
|
207
|
+
|
|
208
|
+
```typescript
|
|
209
|
+
// Получение связанных компонентов для файла
|
|
210
|
+
const relatedComponents = await sdk.dependencies.getRelatedComponents(projectId, {
|
|
211
|
+
filePath: 'src/app.js',
|
|
212
|
+
maxDepth: 3,
|
|
213
|
+
includeIncoming: true,
|
|
214
|
+
includeOutgoing: true,
|
|
215
|
+
maxNodes: 20
|
|
216
|
+
});
|
|
217
|
+
|
|
218
|
+
console.log('Исходный файл:', relatedComponents.source);
|
|
219
|
+
console.log('Связанные компоненты:', relatedComponents.nodes);
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### WebSocket события для зависимостей
|
|
223
|
+
|
|
224
|
+
Для получения уведомлений об изменениях в зависимостях в реальном времени можно использовать WebSocket:
|
|
225
|
+
|
|
226
|
+
```typescript
|
|
227
|
+
// Подключение к WebSocket для зависимостей
|
|
228
|
+
const wsClient = sdk.getWebSocketClient();
|
|
229
|
+
await wsClient.connectToDependencies(projectId);
|
|
230
|
+
|
|
231
|
+
// Обработка события обновления зависимостей
|
|
232
|
+
wsClient.on('dependency_update', (data) => {
|
|
233
|
+
console.log('Обновление зависимостей:', data);
|
|
234
|
+
console.log('Затронутые файлы:', data.affectedFiles);
|
|
235
|
+
});
|
|
236
|
+
```
|
|
237
|
+
|
|
155
238
|
## Тестирование и совместимость
|
|
156
239
|
|
|
157
240
|
SDK тщательно тестируется в различных средах:
|
|
@@ -213,13 +296,104 @@ SDK поддерживает следующие опции при инициал
|
|
|
213
296
|
| `httpsAgent` | object | Опции для HTTPS агента (Node.js) | Нет |
|
|
214
297
|
| `mode` | string | Режим работы SDK ('browser', 'node', 'auto') | Нет |
|
|
215
298
|
|
|
216
|
-
## Документация
|
|
299
|
+
## Документация
|
|
300
|
+
|
|
301
|
+
Подробная документация по использованию SDK доступна в директории [`docs`](./docs):
|
|
302
|
+
|
|
303
|
+
- [Начало работы](./docs/GETTING_STARTED.md) - инструкции по установке и базовому использованию SDK
|
|
304
|
+
- [Работа с проектами](./docs/PROJECTS.md) - управление проектами через SDK
|
|
305
|
+
- [Индексация проектов](./docs/INDEXING.md) - работа с индексацией и отслеживание через WebSocket
|
|
306
|
+
- [Документация API](./docs/API.md) - полная документация по всем методам SDK
|
|
307
|
+
|
|
308
|
+
## Тестирование и локальная разработка
|
|
309
|
+
|
|
310
|
+
### Предварительные требования
|
|
311
|
+
|
|
312
|
+
Для локальной разработки и тестирования требуется:
|
|
313
|
+
- Node.js 16+
|
|
314
|
+
- npm 8+
|
|
315
|
+
- Запущенный локальный сервер Code Solver Backend (по умолчанию на https://localhost:3000)
|
|
316
|
+
|
|
317
|
+
### Тестирование SDK
|
|
318
|
+
|
|
319
|
+
SDK включает несколько типов тестов:
|
|
320
|
+
|
|
321
|
+
#### Модульные тесты
|
|
217
322
|
|
|
218
|
-
|
|
323
|
+
Эти тесты проверяют внутреннюю логику SDK без взаимодействия с реальным бэкендом:
|
|
324
|
+
|
|
325
|
+
```bash
|
|
326
|
+
# Запуск всех тестов
|
|
327
|
+
npm test
|
|
328
|
+
|
|
329
|
+
# Запуск тестов для индексации
|
|
330
|
+
npm run test:indexing
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
#### Интеграционные тесты
|
|
334
|
+
|
|
335
|
+
Эти тесты проверяют взаимодействие SDK с реальным бэкендом:
|
|
336
|
+
|
|
337
|
+
```bash
|
|
338
|
+
# Запуск интеграционных тестов индексации
|
|
339
|
+
npm run test:integration
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
> **Важно:** Для запуска интеграционных тестов необходимо, чтобы локальный сервер Code Solver Backend был запущен на https://localhost:3000.
|
|
343
|
+
|
|
344
|
+
### Примеры использования
|
|
345
|
+
|
|
346
|
+
В директории [`examples`](./examples) находятся примеры использования SDK:
|
|
347
|
+
|
|
348
|
+
#### Проверка подключения к API
|
|
349
|
+
|
|
350
|
+
Пример проверяет доступность API и WebSocket соединения:
|
|
351
|
+
|
|
352
|
+
```bash
|
|
353
|
+
npm run example:check-api
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
#### Индексация проектов
|
|
357
|
+
|
|
358
|
+
Пример демонстрирует процесс индексации проекта с отслеживанием через WebSocket:
|
|
359
|
+
|
|
360
|
+
```bash
|
|
361
|
+
npm run example:indexing
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
### Режим разработки
|
|
365
|
+
|
|
366
|
+
Для запуска SDK в режиме разработки с локальным сервером:
|
|
367
|
+
|
|
368
|
+
1. Запустите локальный сервер Code Solver Backend
|
|
369
|
+
2. Используйте следующие настройки в вашем коде:
|
|
370
|
+
|
|
371
|
+
```javascript
|
|
372
|
+
const sdk = new CodeSolverSDK({
|
|
373
|
+
baseURL: 'https://localhost:3000',
|
|
374
|
+
apiKey: 'test-api-key',
|
|
375
|
+
httpsAgent: new https.Agent({
|
|
376
|
+
rejectUnauthorized: false // Для самоподписанных сертификатов
|
|
377
|
+
}),
|
|
378
|
+
websocket: {
|
|
379
|
+
reconnect: true,
|
|
380
|
+
rejectUnauthorized: false
|
|
381
|
+
}
|
|
382
|
+
});
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
#### Игнорирование самоподписанных сертификатов
|
|
386
|
+
|
|
387
|
+
При разработке с локальным сервером используйте:
|
|
388
|
+
|
|
389
|
+
```bash
|
|
390
|
+
# В Node.js скриптах
|
|
391
|
+
NODE_TLS_REJECT_UNAUTHORIZED=0 node your-script.js
|
|
392
|
+
```
|
|
219
393
|
|
|
220
394
|
## Лицензия
|
|
221
395
|
|
|
222
|
-
MIT
|
|
396
|
+
[MIT](./LICENSE)
|
|
223
397
|
|
|
224
398
|
## API Reference
|
|
225
399
|
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DependenciesApi = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* API для работы с зависимостями файлов в проектах
|
|
6
|
+
*/
|
|
7
|
+
class DependenciesApi {
|
|
8
|
+
/**
|
|
9
|
+
* Создает новый экземпляр API для работы с зависимостями
|
|
10
|
+
* @param httpClient HTTP клиент для запросов к API
|
|
11
|
+
*/
|
|
12
|
+
constructor(httpClient) {
|
|
13
|
+
this.client = httpClient;
|
|
14
|
+
this.baseUrl = '/dependencies';
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Получает зависимости конкретного файла
|
|
18
|
+
* @param projectId ID проекта
|
|
19
|
+
* @param params Параметры запроса зависимостей файла
|
|
20
|
+
* @returns Зависимости файла
|
|
21
|
+
*/
|
|
22
|
+
async getFileDependencies(projectId, params) {
|
|
23
|
+
try {
|
|
24
|
+
const response = await this.client.get(`/projects/${projectId}/dependencies/file`, { params: { path: params.filePath } });
|
|
25
|
+
if (!response.success || !response.data) {
|
|
26
|
+
throw new Error(response.error || 'Ошибка при получении зависимостей файла');
|
|
27
|
+
}
|
|
28
|
+
return response.data;
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
throw new Error(`Ошибка при получении зависимостей файла: ${error.message}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Получает граф зависимостей проекта
|
|
36
|
+
* @param projectId ID проекта
|
|
37
|
+
* @returns Граф зависимостей
|
|
38
|
+
*/
|
|
39
|
+
async getDependencyGraph(projectId) {
|
|
40
|
+
try {
|
|
41
|
+
const response = await this.client.get(`/projects/${projectId}/dependencies/graph`);
|
|
42
|
+
if (!response.success || !response.data) {
|
|
43
|
+
throw new Error(response.error || 'Ошибка при получении графа зависимостей');
|
|
44
|
+
}
|
|
45
|
+
return response.data;
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
throw new Error(`Ошибка при получении графа зависимостей: ${error.message}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Получает статистику зависимостей проекта
|
|
53
|
+
* @param projectId ID проекта
|
|
54
|
+
* @returns Статистика зависимостей
|
|
55
|
+
*/
|
|
56
|
+
async getDependencyStatistics(projectId) {
|
|
57
|
+
try {
|
|
58
|
+
const response = await this.client.get(`/projects/${projectId}/dependencies/stats`);
|
|
59
|
+
if (!response.success || !response.data) {
|
|
60
|
+
throw new Error(response.error || 'Ошибка при получении статистики зависимостей');
|
|
61
|
+
}
|
|
62
|
+
return response.data;
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
throw new Error(`Ошибка при получении статистики зависимостей: ${error.message}`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Получает детальную информацию о файле
|
|
70
|
+
* @param projectId ID проекта
|
|
71
|
+
* @param filePath Путь к файлу
|
|
72
|
+
* @returns Информация о файле
|
|
73
|
+
*/
|
|
74
|
+
async getFileDetails(projectId, filePath) {
|
|
75
|
+
try {
|
|
76
|
+
const response = await this.client.get(`/projects/${projectId}/dependencies/file-details`, { params: { path: filePath } });
|
|
77
|
+
if (!response.success || !response.data) {
|
|
78
|
+
throw new Error(response.error || 'Ошибка при получении информации о файле');
|
|
79
|
+
}
|
|
80
|
+
return response.data;
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
throw new Error(`Ошибка при получении информации о файле: ${error.message}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Получает связанные компоненты для файла
|
|
88
|
+
* @param projectId ID проекта
|
|
89
|
+
* @param params Параметры запроса связанных компонентов
|
|
90
|
+
* @returns Связанные компоненты
|
|
91
|
+
*/
|
|
92
|
+
async getRelatedComponents(projectId, params) {
|
|
93
|
+
try {
|
|
94
|
+
const response = await this.client.get(`/projects/${projectId}/dependencies/related`, {
|
|
95
|
+
params: {
|
|
96
|
+
path: params.filePath,
|
|
97
|
+
maxDepth: params.maxDepth || 3,
|
|
98
|
+
includeIncoming: params.includeIncoming || true,
|
|
99
|
+
includeOutgoing: params.includeOutgoing || true,
|
|
100
|
+
maxNodes: params.maxNodes || 20
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
if (!response.success || !response.data) {
|
|
104
|
+
throw new Error(response.error || 'Ошибка при получении связанных компонентов');
|
|
105
|
+
}
|
|
106
|
+
return response.data;
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
throw new Error(`Ошибка при получении связанных компонентов: ${error.message}`);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Анализирует граф зависимостей проекта
|
|
114
|
+
* @param projectId ID проекта
|
|
115
|
+
* @returns Результат анализа
|
|
116
|
+
*/
|
|
117
|
+
async analyzeDependencyGraph(projectId) {
|
|
118
|
+
try {
|
|
119
|
+
const response = await this.client.get(`/projects/${projectId}/dependencies/analyze`);
|
|
120
|
+
if (!response.success || !response.data) {
|
|
121
|
+
throw new Error(response.error || 'Ошибка при анализе графа зависимостей');
|
|
122
|
+
}
|
|
123
|
+
return response.data;
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
throw new Error(`Ошибка при анализе графа зависимостей: ${error.message}`);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
exports.DependenciesApi = DependenciesApi;
|
|
131
|
+
//# sourceMappingURL=dependencies-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependencies-api.js","sourceRoot":"","sources":["../../../src/api/dependencies-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,22 @@ class ProjectsApi {
|
|
|
12
12
|
constructor(httpClient) {
|
|
13
13
|
this.httpClient = httpClient;
|
|
14
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Проверяет валидность идентификатора проекта
|
|
17
|
+
* @param {string} projectId ID проекта
|
|
18
|
+
* @throws {Error} Если ID проекта не валиден
|
|
19
|
+
*/
|
|
20
|
+
validateProjectId(projectId) {
|
|
21
|
+
if (projectId === undefined || projectId === null) {
|
|
22
|
+
throw new Error('Project ID is required');
|
|
23
|
+
}
|
|
24
|
+
if (typeof projectId !== 'string') {
|
|
25
|
+
throw new Error('Project ID must be a string');
|
|
26
|
+
}
|
|
27
|
+
if (projectId.trim() === '') {
|
|
28
|
+
throw new Error('Project ID cannot be empty');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
15
31
|
/**
|
|
16
32
|
* Получает список всех проектов
|
|
17
33
|
* @returns {Promise<Project[]>} Список проектов
|
|
@@ -25,6 +41,7 @@ class ProjectsApi {
|
|
|
25
41
|
* @returns {Promise<Project>} Проект
|
|
26
42
|
*/
|
|
27
43
|
async getProject(projectId) {
|
|
44
|
+
this.validateProjectId(projectId);
|
|
28
45
|
return this.httpClient.get(`/api/v1/projects/${projectId}`);
|
|
29
46
|
}
|
|
30
47
|
/**
|
|
@@ -48,6 +65,7 @@ class ProjectsApi {
|
|
|
48
65
|
* @returns {Promise<Project>} Обновленный проект
|
|
49
66
|
*/
|
|
50
67
|
async updateProject(projectId, data) {
|
|
68
|
+
this.validateProjectId(projectId);
|
|
51
69
|
return this.httpClient.put(`/api/v1/projects/${projectId}`, data);
|
|
52
70
|
}
|
|
53
71
|
/**
|
|
@@ -56,6 +74,7 @@ class ProjectsApi {
|
|
|
56
74
|
* @returns {Promise<void>}
|
|
57
75
|
*/
|
|
58
76
|
async deleteProject(projectId) {
|
|
77
|
+
this.validateProjectId(projectId);
|
|
59
78
|
return this.httpClient.delete(`/api/v1/projects/${projectId}`);
|
|
60
79
|
}
|
|
61
80
|
/**
|
|
@@ -64,6 +83,7 @@ class ProjectsApi {
|
|
|
64
83
|
* @returns {Promise<IndexingResponse>} Информация о начатой индексации
|
|
65
84
|
*/
|
|
66
85
|
async indexProject(projectId) {
|
|
86
|
+
this.validateProjectId(projectId);
|
|
67
87
|
return this.httpClient.post(`/api/v1/projects/${projectId}/index`);
|
|
68
88
|
}
|
|
69
89
|
/**
|
|
@@ -72,6 +92,7 @@ class ProjectsApi {
|
|
|
72
92
|
* @returns {Promise<void>}
|
|
73
93
|
*/
|
|
74
94
|
async stopIndexing(projectId) {
|
|
95
|
+
this.validateProjectId(projectId);
|
|
75
96
|
return this.httpClient.post(`/api/v1/projects/${projectId}/cancel-indexing`);
|
|
76
97
|
}
|
|
77
98
|
/**
|
|
@@ -80,6 +101,7 @@ class ProjectsApi {
|
|
|
80
101
|
* @returns {Promise<IndexingStatus>} Статус индексации
|
|
81
102
|
*/
|
|
82
103
|
async getIndexingStatus(projectId) {
|
|
104
|
+
this.validateProjectId(projectId);
|
|
83
105
|
return this.httpClient.get(`/api/v1/projects/${projectId}/indexing-status`);
|
|
84
106
|
}
|
|
85
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects-api.js","sourceRoot":"","sources":["../../../src/api/projects-api.ts"],"names":[],"mappings":";;;AA0FA;;GAEG;AACH,MAAa,WAAW;IAItB;;;OAGG;IACH,YAAY,UAAsB;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,cAAc;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,UAAU,CAAC,SAAiB;QACvC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,aAAa,CACxB,IAAY,EACZ,IAAY,EACZ,OAAwB;QAExB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC9C,IAAI;YACJ,IAAI;YACJ,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,aAAa,CACxB,SAAiB,EACjB,IAAgC;QAEhC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,aAAa,CAAC,SAAiB;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,YAAY,CAAC,SAAiB;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,SAAS,QAAQ,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,YAAY,CAAC,SAAiB;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,SAAS,kBAAkB,CAAC,CAAC;IAC/E,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,SAAS,kBAAkB,CAAC,CAAC;IAC9E,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"projects-api.js","sourceRoot":"","sources":["../../../src/api/projects-api.ts"],"names":[],"mappings":";;;AA0FA;;GAEG;AACH,MAAa,WAAW;IAItB;;;OAGG;IACH,YAAY,UAAsB;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACK,iBAAiB,CAAC,SAAc;QACtC,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,cAAc;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,UAAU,CAAC,SAAiB;QACvC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,aAAa,CACxB,IAAY,EACZ,IAAY,EACZ,OAAwB;QAExB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC9C,IAAI;YACJ,IAAI;YACJ,GAAG,OAAO;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,aAAa,CACxB,SAAiB,EACjB,IAAgC;QAEhC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,SAAS,EAAE,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,aAAa,CAAC,SAAiB;QAC1C,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC;IACjE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,YAAY,CAAC,SAAiB;QACzC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,SAAS,QAAQ,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,YAAY,CAAC,SAAiB;QACzC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,SAAS,kBAAkB,CAAC,CAAC;IAC/E,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QAC9C,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,SAAS,kBAAkB,CAAC,CAAC;IAC9E,CAAC;CACF;AAzHD,kCAyHC"}
|
|
@@ -11,8 +11,9 @@ const code_solver_websocket_client_js_1 = require("./utils/code-solver-websocket
|
|
|
11
11
|
const agents_api_js_1 = require("./api/agents-api.js");
|
|
12
12
|
const chat_api_js_1 = require("./api/chat-api.js");
|
|
13
13
|
const models_api_js_1 = require("./api/models-api.js");
|
|
14
|
+
const dependencies_api_js_1 = require("./api/dependencies-api.js");
|
|
14
15
|
// Версия SDK
|
|
15
|
-
const SDK_VERSION = '1.
|
|
16
|
+
const SDK_VERSION = '1.2.0';
|
|
16
17
|
/**
|
|
17
18
|
* Определение типа среды выполнения
|
|
18
19
|
* @returns 'browser' | 'node' | 'unknown'
|
|
@@ -64,6 +65,7 @@ class CodeSolverSDK {
|
|
|
64
65
|
this._codeModification = new code_modification_api_js_1.CodeModificationApi(this.httpClient);
|
|
65
66
|
this._chat = new chat_api_js_1.ChatApi(this.httpClient);
|
|
66
67
|
this._models = new models_api_js_1.ModelsApi(this.httpClient);
|
|
68
|
+
this._dependencies = new dependencies_api_js_1.DependenciesApi(this.httpClient);
|
|
67
69
|
}
|
|
68
70
|
/**
|
|
69
71
|
* Проверяет доступность API
|
|
@@ -84,9 +86,14 @@ class CodeSolverSDK {
|
|
|
84
86
|
*/
|
|
85
87
|
getWebSocketClient() {
|
|
86
88
|
if (!this.wsClient) {
|
|
87
|
-
|
|
89
|
+
const wsURL = this.wsURL;
|
|
90
|
+
this.wsClient = new code_solver_websocket_client_js_1.CodeSolverWebSocketClient(wsURL, {
|
|
88
91
|
apiKey: this._options.apiKey,
|
|
89
|
-
headers: this._options.headers
|
|
92
|
+
headers: this._options.headers,
|
|
93
|
+
autoReconnect: this.wsConfig.reconnect,
|
|
94
|
+
maxRetries: this.wsConfig.reconnectAttempts,
|
|
95
|
+
retryDelay: this.wsConfig.reconnectDelay,
|
|
96
|
+
rejectUnauthorized: this.wsConfig.rejectUnauthorized
|
|
90
97
|
});
|
|
91
98
|
}
|
|
92
99
|
return this.wsClient;
|
|
@@ -141,11 +148,35 @@ class CodeSolverSDK {
|
|
|
141
148
|
return this._models;
|
|
142
149
|
}
|
|
143
150
|
/**
|
|
144
|
-
*
|
|
151
|
+
* Доступ к API зависимостей
|
|
152
|
+
*/
|
|
153
|
+
get dependencies() {
|
|
154
|
+
return this._dependencies;
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Получает опции SDK
|
|
145
158
|
*/
|
|
146
159
|
get options() {
|
|
147
160
|
return this._options;
|
|
148
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* Получает конфигурацию WebSocket
|
|
164
|
+
*/
|
|
165
|
+
get wsConfig() {
|
|
166
|
+
return this._options.websocket || {};
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Получает URL для WebSocket соединений
|
|
170
|
+
*/
|
|
171
|
+
get wsURL() {
|
|
172
|
+
return this._options.wsURL || this._options.baseURL.replace(/^http/, 'ws');
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Получает HTTP-клиент
|
|
176
|
+
*/
|
|
177
|
+
get client() {
|
|
178
|
+
return this.httpClient;
|
|
179
|
+
}
|
|
149
180
|
/**
|
|
150
181
|
* Получает текущую среду выполнения
|
|
151
182
|
* @returns {string} Среда выполнения ('browser', 'node', 'unknown')
|
|
@@ -224,6 +255,7 @@ class CodeSolverSDK {
|
|
|
224
255
|
this._codeModification = new code_modification_api_js_1.CodeModificationApi(newHttpClient);
|
|
225
256
|
this._chat = new chat_api_js_1.ChatApi(newHttpClient);
|
|
226
257
|
this._models = new models_api_js_1.ModelsApi(newHttpClient);
|
|
258
|
+
this._dependencies = new dependencies_api_js_1.DependenciesApi(newHttpClient);
|
|
227
259
|
// Если есть WebSocket клиент, пересоздаем его
|
|
228
260
|
if (this.wsClient) {
|
|
229
261
|
const isConnected = this.wsClient.isConnectedToReasoning() || this.wsClient.isConnectedToIndexing();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-solver-sdk.js","sourceRoot":"","sources":["../../src/code-solver-sdk.ts"],"names":[],"mappings":";;;AAAA,2DAAoD;AACpD,2DAAoD;AACpD,uDAAgD;AAChD,yDAAkD;AAClD,6DAAsD;AACtD,6EAAqE;AACrE,6FAAwG;AACxG,uDAAgD;AAChD,mDAA4C;AAE5C,uDAAgD;
|
|
1
|
+
{"version":3,"file":"code-solver-sdk.js","sourceRoot":"","sources":["../../src/code-solver-sdk.ts"],"names":[],"mappings":";;;AAAA,2DAAoD;AACpD,2DAAoD;AACpD,uDAAgD;AAChD,yDAAkD;AAClD,6DAAsD;AACtD,6EAAqE;AACrE,6FAAwG;AACxG,uDAAgD;AAChD,mDAA4C;AAE5C,uDAAgD;AAChD,mEAA4D;AAE5D,aAAa;AACb,MAAM,WAAW,GAAG,OAAO,CAAC;AAE5B;;;GAGG;AACH,SAAS,cAAc;IACrB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QAC5E,OAAO,SAAS,CAAC;IACnB,CAAC;SAAM,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvF,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAa,aAAa;IA2CxB;;;OAGG;IACH,YAAY,OAA6B;QAxCzC,iDAAiD;QACzC,aAAQ,GAAqC,IAAI,CAAC;QAwCxD,IAAI,CAAC,QAAQ,GAAG;YACd,GAAG,OAAO;YACV,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,MAAM;SAC7B,CAAC;QAEF,8BAA8B;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM;YAC9C,CAAC,CAAC,cAAc,EAAE;YAClB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAE1D,6BAA6B;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,2BAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACtD,OAAO,EAAE;gBACP,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;aACjC;YACD,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;YAC9B,UAAU,EAAE,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;SAC/E,CAAC,CAAC;QAEH,6BAA6B;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,IAAI,6BAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,+BAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,iBAAiB,GAAG,IAAI,8CAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,qCAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,WAAW;QACtB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,kBAAkB;QACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAEzB,IAAI,CAAC,QAAQ,GAAG,IAAI,2DAAyB,CAAC,KAAK,EAAE;gBACnD,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;gBAC5B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAC9B,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS;gBACtC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB;gBAC3C,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc;gBACxC,kBAAkB,EAAE,IAAI,CAAC,QAAQ,CAAC,kBAAkB;aACrD,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;OAGG;IACI,cAAc;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;OAEG;IACI,OAAO;QACZ,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,eAAe,CAAC,OAA+B;QAC3D,aAAa,CAAC,YAAY,GAAG,OAAO,CAAC;IACvC,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,WAAW,CAAC,KAAY;QACpC,IAAI,aAAa,CAAC,YAAY,EAAE,CAAC;YAC/B,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,UAAU;QACtB,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACI,UAAU;QACf,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACI,SAAS,CAAC,MAAc;QAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,kBAAkB;QACjB,IAAI,CAAC,QAAgB,CAAC,MAAM,GAAG,MAAM,CAAC;QAEvC,6CAA6C;QAC7C,MAAM,aAAa,GAAG,IAAI,2BAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YAC1D,OAAO,EAAE;gBACP,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO;gBACxB,eAAe,EAAE,UAAU,MAAM,EAAE;aACpC;YACD,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;YAC9B,UAAU,EAAE,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;SAC/E,CAAC,CAAC;QAEH,mCAAmC;QAClC,IAAY,CAAC,UAAU,GAAG,aAAa,CAAC;QACxC,IAAY,CAAC,OAAO,GAAG,IAAI,yBAAS,CAAC,aAAa,CAAC,CAAC;QACpD,IAAY,CAAC,QAAQ,GAAG,IAAI,2BAAU,CAAC,aAAa,CAAC,CAAC;QACtD,IAAY,CAAC,SAAS,GAAG,IAAI,6BAAW,CAAC,aAAa,CAAC,CAAC;QACxD,IAAY,CAAC,OAAO,GAAG,IAAI,yBAAS,CAAC,aAAa,CAAC,CAAC;QACpD,IAAY,CAAC,UAAU,GAAG,IAAI,+BAAY,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAY,CAAC,iBAAiB,GAAG,IAAI,8CAAmB,CAAC,aAAa,CAAC,CAAC;QACxE,IAAY,CAAC,KAAK,GAAG,IAAI,qBAAO,CAAC,aAAa,CAAC,CAAC;QAChD,IAAY,CAAC,OAAO,GAAG,IAAI,yBAAS,CAAC,aAAa,CAAC,CAAC;QACpD,IAAY,CAAC,aAAa,GAAG,IAAI,qCAAe,CAAC,aAAa,CAAC,CAAC;QAEjE,8CAA8C;QAC9C,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC;YACpG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,2DAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACnE,MAAM;gBACN,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;aAC/B,CAAC,CAAC;YAEH,iDAAiD;YACjD,IAAI,WAAW,EAAE,CAAC;gBAChB,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAE3C,0CAA0C;YAC1C,MAAM,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YACpC,MAAM,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAEnC,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,WAAW,CAAC,KAAc,CAAC,CAAC;YAC1C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,UAAU;QACrB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACtC,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,WAAW;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC;IACzF,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,SAAS;QACpB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,aAAa;QACxB,IAAI,CAAC;YACH,MAAM,OAAO,GAA6B;gBACxC,GAAG,EAAE,KAAK;gBACV,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;aACd,CAAC;YAEF,IAAI,CAAC;gBACH,eAAe;gBACf,OAAO,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBAEvC,mDAAmD;gBACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBAE7D,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAC7C,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;oBACzD,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;oBAErD,gCAAgC;oBAChC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAClB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE;4BACvC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC;oBAC3D,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC;4BACH,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;4BAC3C,MAAM,QAAQ,CAAC,kBAAkB,EAAE,CAAC;4BACpC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;4BACzB,MAAM,QAAQ,CAAC,UAAU,CAAC,oDAAkB,CAAC,SAAS,CAAC,CAAC;wBAC1D,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;wBAC5B,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,iCAAiC;YACnC,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,GAAG,EAAE,KAAK;gBACV,SAAS,EAAE,KAAK;gBAChB,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;aACd,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;;AAhaH,sCAiaC;AAzXC,mCAAmC;AACpB,0BAAY,GAAoC,IAAI,AAAxC,CAAyC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.default = exports.VERSION = exports.WebSocketNamespace = exports.CodeSolverWebSocketClient = exports.IndexingWebSocketClient = exports.WebSocketClient = exports.SseClient = exports.HttpClient = exports.ModelsApi = exports.ChatApi = exports.AgentsApi = exports.CodeModificationApi = exports.ContextApi = exports.ReasoningApi = exports.SearchApi = exports.ProjectsApi = exports.CodeSolverSDK = void 0;
|
|
17
|
+
exports.default = exports.VERSION = exports.WebSocketNamespace = exports.CodeSolverWebSocketClient = exports.IndexingWebSocketClient = exports.WebSocketClient = exports.SseClient = exports.HttpClient = exports.DependenciesApi = exports.ModelsApi = exports.ChatApi = exports.AgentsApi = exports.CodeModificationApi = exports.ContextApi = exports.ReasoningApi = exports.SearchApi = exports.ProjectsApi = exports.CodeSolverSDK = void 0;
|
|
18
18
|
// Экспорт основного класса SDK
|
|
19
19
|
var code_solver_sdk_js_1 = require("./code-solver-sdk.js");
|
|
20
20
|
Object.defineProperty(exports, "CodeSolverSDK", { enumerable: true, get: function () { return code_solver_sdk_js_1.CodeSolverSDK; } });
|
|
@@ -35,6 +35,8 @@ var chat_api_js_1 = require("./api/chat-api.js");
|
|
|
35
35
|
Object.defineProperty(exports, "ChatApi", { enumerable: true, get: function () { return chat_api_js_1.ChatApi; } });
|
|
36
36
|
var models_api_js_1 = require("./api/models-api.js");
|
|
37
37
|
Object.defineProperty(exports, "ModelsApi", { enumerable: true, get: function () { return models_api_js_1.ModelsApi; } });
|
|
38
|
+
var dependencies_api_js_1 = require("./api/dependencies-api.js");
|
|
39
|
+
Object.defineProperty(exports, "DependenciesApi", { enumerable: true, get: function () { return dependencies_api_js_1.DependenciesApi; } });
|
|
38
40
|
// Экспорт утилит
|
|
39
41
|
var http_client_js_1 = require("./utils/http-client.js");
|
|
40
42
|
Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function () { return http_client_js_1.HttpClient; } });
|
|
@@ -50,7 +52,7 @@ Object.defineProperty(exports, "WebSocketNamespace", { enumerable: true, get: fu
|
|
|
50
52
|
// Экспорт типов
|
|
51
53
|
__exportStar(require("./models/types.js"), exports);
|
|
52
54
|
// Версия SDK
|
|
53
|
-
exports.VERSION = '1.
|
|
55
|
+
exports.VERSION = '1.2.0';
|
|
54
56
|
// Экспорт по умолчанию для удобства использования
|
|
55
57
|
var code_solver_sdk_js_2 = require("./code-solver-sdk.js");
|
|
56
58
|
Object.defineProperty(exports, "default", { enumerable: true, get: function () { return code_solver_sdk_js_2.CodeSolverSDK; } });
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+BAA+B;AAC/B,2DAAqD;AAA5C,mHAAA,aAAa,OAAA;AAGtB,sBAAsB;AACtB,yDAAoD;AAA3C,8GAAA,WAAW,OAAA;AACpB,qDAAgD;AAAvC,0GAAA,SAAS,OAAA;AAClB,2DAAsD;AAA7C,gHAAA,YAAY,OAAA;AACrB,uDAAkD;AAAzC,4GAAA,UAAU,OAAA;AACnB,2EAAqE;AAA5D,+HAAA,mBAAmB,OAAA;AAC5B,qDAAgD;AAAvC,0GAAA,SAAS,OAAA;AAClB,iDAA4C;AAAnC,sGAAA,OAAO,OAAA;AAChB,qDAAgD;AAAvC,0GAAA,SAAS,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+BAA+B;AAC/B,2DAAqD;AAA5C,mHAAA,aAAa,OAAA;AAGtB,sBAAsB;AACtB,yDAAoD;AAA3C,8GAAA,WAAW,OAAA;AACpB,qDAAgD;AAAvC,0GAAA,SAAS,OAAA;AAClB,2DAAsD;AAA7C,gHAAA,YAAY,OAAA;AACrB,uDAAkD;AAAzC,4GAAA,UAAU,OAAA;AACnB,2EAAqE;AAA5D,+HAAA,mBAAmB,OAAA;AAC5B,qDAAgD;AAAvC,0GAAA,SAAS,OAAA;AAClB,iDAA4C;AAAnC,sGAAA,OAAO,OAAA;AAChB,qDAAgD;AAAvC,0GAAA,SAAS,OAAA;AAClB,iEAA4D;AAAnD,sHAAA,eAAe,OAAA;AAsCxB,iBAAiB;AACjB,yDAAoD;AAA3C,4GAAA,UAAU,OAAA;AACnB,uDAAkD;AAAzC,0GAAA,SAAS,OAAA;AAClB,mEAA8D;AAArD,sHAAA,eAAe,OAAA;AACxB,qFAA+E;AAAtE,uIAAA,uBAAuB,OAAA;AAChC,2FAAwG;AAA/F,4IAAA,yBAAyB,OAAA;AAAE,qIAAA,kBAAkB,OAAA;AAEtD,gBAAgB;AAChB,oDAAkC;AAElC,aAAa;AACA,QAAA,OAAO,GAAG,OAAO,CAAC;AAE/B,kDAAkD;AAClD,2DAAgE;AAAvD,6GAAA,aAAa,OAAW;AAEjC,mCAAmC;AACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG"}
|
package/dist/cjs/models/types.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Общие типы данных для SDK
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.LogLevel = void 0;
|
|
6
|
+
exports.CycleSeverity = exports.DependencyType = exports.LogLevel = void 0;
|
|
7
7
|
/**
|
|
8
8
|
* Уровень логирования
|
|
9
9
|
*/
|
|
@@ -14,4 +14,38 @@ var LogLevel;
|
|
|
14
14
|
LogLevel["WARN"] = "warn";
|
|
15
15
|
LogLevel["ERROR"] = "error";
|
|
16
16
|
})(LogLevel || (exports.LogLevel = LogLevel = {}));
|
|
17
|
+
/**
|
|
18
|
+
* Тип зависимости
|
|
19
|
+
*/
|
|
20
|
+
var DependencyType;
|
|
21
|
+
(function (DependencyType) {
|
|
22
|
+
/** Импорт */
|
|
23
|
+
DependencyType["IMPORT"] = "import";
|
|
24
|
+
/** Наследование */
|
|
25
|
+
DependencyType["EXTENDS"] = "extends";
|
|
26
|
+
/** Реализация интерфейса */
|
|
27
|
+
DependencyType["IMPLEMENTS"] = "implements";
|
|
28
|
+
/** Внешняя библиотека */
|
|
29
|
+
DependencyType["EXTERNAL"] = "external";
|
|
30
|
+
/** Стиль (CSS) */
|
|
31
|
+
DependencyType["STYLE"] = "style";
|
|
32
|
+
/** Ресурс (изображение, шрифт и т.д.) */
|
|
33
|
+
DependencyType["RESOURCE"] = "resource";
|
|
34
|
+
/** Другое */
|
|
35
|
+
DependencyType["OTHER"] = "other";
|
|
36
|
+
})(DependencyType || (exports.DependencyType = DependencyType = {}));
|
|
37
|
+
/**
|
|
38
|
+
* Уровень серьезности циклической зависимости
|
|
39
|
+
*/
|
|
40
|
+
var CycleSeverity;
|
|
41
|
+
(function (CycleSeverity) {
|
|
42
|
+
/** Низкий - можно игнорировать */
|
|
43
|
+
CycleSeverity["LOW"] = "low";
|
|
44
|
+
/** Средний - стоит обратить внимание */
|
|
45
|
+
CycleSeverity["MEDIUM"] = "medium";
|
|
46
|
+
/** Высокий - требует исправления */
|
|
47
|
+
CycleSeverity["HIGH"] = "high";
|
|
48
|
+
/** Критический - срочно требует исправления */
|
|
49
|
+
CycleSeverity["CRITICAL"] = "critical";
|
|
50
|
+
})(CycleSeverity || (exports.CycleSeverity = CycleSeverity = {}));
|
|
17
51
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/models/types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAmCH;;GAEG;AACH,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,2BAAe,CAAA;AACjB,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/models/types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAmCH;;GAEG;AACH,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,2BAAe,CAAA;AACjB,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB;AA6JD;;GAEG;AACH,IAAY,cAeX;AAfD,WAAY,cAAc;IACxB,aAAa;IACb,mCAAiB,CAAA;IACjB,mBAAmB;IACnB,qCAAmB,CAAA;IACnB,4BAA4B;IAC5B,2CAAyB,CAAA;IACzB,yBAAyB;IACzB,uCAAqB,CAAA;IACrB,kBAAkB;IAClB,iCAAe,CAAA;IACf,yCAAyC;IACzC,uCAAqB,CAAA;IACrB,aAAa;IACb,iCAAe,CAAA;AACjB,CAAC,EAfW,cAAc,8BAAd,cAAc,QAezB;AAED;;GAEG;AACH,IAAY,aASX;AATD,WAAY,aAAa;IACvB,kCAAkC;IAClC,4BAAW,CAAA;IACX,wCAAwC;IACxC,kCAAiB,CAAA;IACjB,oCAAoC;IACpC,8BAAa,CAAA;IACb,+CAA+C;IAC/C,sCAAqB,CAAA;AACvB,CAAC,EATW,aAAa,6BAAb,aAAa,QASxB"}
|