solver-sdk 3.1.19 → 5.1.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 +114 -505
- package/dist/cjs/api/chat-api/cancel-methods.js +77 -0
- package/dist/cjs/api/chat-api/cancel-methods.js.map +1 -0
- package/dist/cjs/api/chat-api/index.js +3 -2
- package/dist/cjs/api/chat-api/index.js.map +1 -1
- package/dist/cjs/api/chat-api/interfaces.js.map +1 -1
- package/dist/cjs/api/projects-api.js +114 -72
- package/dist/cjs/api/projects-api.js.map +1 -1
- package/dist/cjs/api/tools-api.js +86 -0
- package/dist/cjs/api/tools-api.js.map +1 -0
- package/dist/cjs/api/updates-api.js +242 -0
- package/dist/cjs/api/updates-api.js.map +1 -0
- package/dist/cjs/code-solver-sdk.js +19 -0
- package/dist/cjs/code-solver-sdk.js.map +1 -1
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/index.js +18 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/updates.js +6 -0
- package/dist/cjs/types/updates.js.map +1 -0
- package/dist/esm/api/chat-api/cancel-methods.js +73 -0
- package/dist/esm/api/chat-api/cancel-methods.js.map +1 -0
- package/dist/esm/api/chat-api/index.js +3 -2
- package/dist/esm/api/chat-api/index.js.map +1 -1
- package/dist/esm/api/chat-api/interfaces.js.map +1 -1
- package/dist/esm/api/projects-api.js +114 -72
- package/dist/esm/api/projects-api.js.map +1 -1
- package/dist/esm/api/tools-api.js +82 -0
- package/dist/esm/api/tools-api.js.map +1 -0
- package/dist/esm/api/updates-api.js +238 -0
- package/dist/esm/api/updates-api.js.map +1 -0
- package/dist/esm/code-solver-sdk.js +19 -0
- package/dist/esm/code-solver-sdk.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/index.js +4 -2
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/updates.js +5 -0
- package/dist/esm/types/updates.js.map +1 -0
- package/dist/types/api/chat-api/cancel-methods.d.ts +57 -0
- package/dist/types/api/chat-api/cancel-methods.d.ts.map +1 -0
- package/dist/types/api/chat-api/index.d.ts +2 -2
- package/dist/types/api/chat-api/index.d.ts.map +1 -1
- package/dist/types/api/chat-api/interfaces.d.ts +18 -0
- package/dist/types/api/chat-api/interfaces.d.ts.map +1 -1
- package/dist/types/api/projects-api.d.ts +83 -35
- package/dist/types/api/projects-api.d.ts.map +1 -1
- package/dist/types/api/tools-api.d.ts +61 -0
- package/dist/types/api/tools-api.d.ts.map +1 -0
- package/dist/types/api/updates-api.d.ts +145 -0
- package/dist/types/api/updates-api.d.ts.map +1 -0
- package/dist/types/code-solver-sdk.d.ts +16 -0
- package/dist/types/code-solver-sdk.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +219 -8
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/types/updates.d.ts +86 -0
- package/dist/types/types/updates.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -31,8 +31,6 @@ export class ProjectsApi {
|
|
|
31
31
|
* @param {HttpClient} httpClient HTTP клиент
|
|
32
32
|
*/
|
|
33
33
|
constructor(httpClient) {
|
|
34
|
-
/** Кэш для предотвращения дублирования запросов findOrCreateProject */
|
|
35
|
-
this.findOrCreateCache = new Map();
|
|
36
34
|
this.httpClient = httpClient;
|
|
37
35
|
}
|
|
38
36
|
/**
|
|
@@ -52,48 +50,139 @@ export class ProjectsApi {
|
|
|
52
50
|
}
|
|
53
51
|
}
|
|
54
52
|
/**
|
|
55
|
-
* Получает список всех проектов
|
|
56
|
-
*
|
|
53
|
+
* Получает список всех проектов с полной информацией
|
|
54
|
+
*
|
|
55
|
+
* @returns {Promise<Project[]>} Массив проектов с богатой информацией:
|
|
56
|
+
* - Базовые поля: id, name, path, description
|
|
57
|
+
* - Статус индексации: indexStatus, indexingProgress, ready
|
|
58
|
+
* - Статистика: fileCount, languageStats
|
|
59
|
+
* - Ошибки: indexingErrors, indexingWarnings, lastError
|
|
60
|
+
* - Автореиндексация: needsReindexing, changeInfo, autoReindexing
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* const projects = await sdk.getAllProjects();
|
|
65
|
+
* projects.forEach(project => {
|
|
66
|
+
* console.log(`${project.name}: ${project.ready ? 'Ready' : 'Indexing...'}`);
|
|
67
|
+
* if (project.ready) {
|
|
68
|
+
* console.log(`Files: ${project.fileCount}, Languages:`, project.languageStats);
|
|
69
|
+
* }
|
|
70
|
+
* });
|
|
71
|
+
* ```
|
|
72
|
+
*
|
|
73
|
+
* @throws {Error} Если не удалось получить проекты или сервер вернул ошибку
|
|
57
74
|
*/
|
|
58
75
|
async getAllProjects() {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
return this.getAllProjects();
|
|
76
|
+
// 🚀 УЛУЧШЕНО: Используем новые типы ApiResponse для лучшей обработки
|
|
77
|
+
const response = await this.httpClient.get('/api/v1/projects');
|
|
78
|
+
if (!response.success || !response.data) {
|
|
79
|
+
const error = response.error;
|
|
80
|
+
throw new Error(error?.message || 'Не удалось получить проекты');
|
|
81
|
+
}
|
|
82
|
+
return response.data;
|
|
67
83
|
}
|
|
68
84
|
/**
|
|
69
85
|
* Получает список готовых к работе проектов
|
|
70
86
|
* @returns {Promise<Project[]>} Список готовых проектов
|
|
71
87
|
*/
|
|
72
88
|
async getReadyProjects() {
|
|
73
|
-
|
|
89
|
+
// 🚀 УЛУЧШЕНО: Используем новые типы ApiResponse
|
|
90
|
+
const response = await this.httpClient.get('/api/v1/projects/ready');
|
|
91
|
+
if (!response.success || !response.data) {
|
|
92
|
+
const error = response.error;
|
|
93
|
+
throw new Error(error?.message || 'Не удалось получить готовые проекты');
|
|
94
|
+
}
|
|
95
|
+
return response.data;
|
|
74
96
|
}
|
|
75
97
|
/**
|
|
76
|
-
* Получает
|
|
77
|
-
*
|
|
78
|
-
* @
|
|
98
|
+
* Получает детальную информацию о проекте по его ID
|
|
99
|
+
*
|
|
100
|
+
* @param {string} projectId Уникальный идентификатор проекта
|
|
101
|
+
* @returns {Promise<Project>} Полная информация о проекте включая:
|
|
102
|
+
* - Статус готовности (ready) - можно ли работать с проектом
|
|
103
|
+
* - Прогресс индексации (indexingProgress) - процент завершения
|
|
104
|
+
* - Информацию об ошибках (indexingErrors, lastError)
|
|
105
|
+
* - Статистику файлов (fileCount, languageStats)
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```typescript
|
|
109
|
+
* const project = await sdk.getProject("proj_123");
|
|
110
|
+
*
|
|
111
|
+
* if (project.ready) {
|
|
112
|
+
* console.log(`Проект ${project.name} готов к работе`);
|
|
113
|
+
* console.log(`Файлов: ${project.fileCount}`);
|
|
114
|
+
* } else if (project.indexingProgress) {
|
|
115
|
+
* console.log(`Индексация: ${project.indexingProgress}%`);
|
|
116
|
+
* }
|
|
117
|
+
*
|
|
118
|
+
* if (project.indexingErrors?.length > 0) {
|
|
119
|
+
* console.warn('Есть ошибки индексации:', project.indexingErrors);
|
|
120
|
+
* }
|
|
121
|
+
* ```
|
|
122
|
+
*
|
|
123
|
+
* @throws {Error} Если проект не найден или произошла ошибка сервера
|
|
79
124
|
*/
|
|
80
125
|
async getProject(projectId) {
|
|
81
|
-
|
|
126
|
+
// 🚀 УЛУЧШЕНО: Используем новые типы ApiResponse
|
|
127
|
+
const response = await this.httpClient.get(`/api/v1/projects/${projectId}`);
|
|
128
|
+
if (!response.success || !response.data) {
|
|
129
|
+
const error = response.error;
|
|
130
|
+
throw new Error(error?.message || `Не удалось найти проект ${projectId}`);
|
|
131
|
+
}
|
|
132
|
+
return response.data;
|
|
82
133
|
}
|
|
83
134
|
/**
|
|
84
|
-
* Создает новый проект
|
|
85
|
-
*
|
|
86
|
-
* @param {string}
|
|
87
|
-
* @param {
|
|
88
|
-
* @
|
|
135
|
+
* Создает новый проект или возвращает существующий (автоматическая дедупликация)
|
|
136
|
+
*
|
|
137
|
+
* @param {string} name Название проекта (отображаемое имя)
|
|
138
|
+
* @param {string} path Абсолютный путь к проекту в файловой системе
|
|
139
|
+
* @param {any} data Дополнительные параметры:
|
|
140
|
+
* - description?: string - Описание проекта
|
|
141
|
+
* - любые другие поля, которые будут переданы в backend
|
|
142
|
+
*
|
|
143
|
+
* @returns {Promise<Project>} Созданный или найденный проект с полной информацией.
|
|
144
|
+
* После создания проект будет в статусе "pending" и начнет индексироваться автоматически.
|
|
145
|
+
*
|
|
146
|
+
* @example
|
|
147
|
+
* ```typescript
|
|
148
|
+
* // Простое создание
|
|
149
|
+
* const project = await sdk.createProject(
|
|
150
|
+
* "My React App",
|
|
151
|
+
* "/Users/developer/my-react-app"
|
|
152
|
+
* );
|
|
153
|
+
*
|
|
154
|
+
* // С описанием
|
|
155
|
+
* const project = await sdk.createProject(
|
|
156
|
+
* "Backend API",
|
|
157
|
+
* "/path/to/backend",
|
|
158
|
+
* { description: "Node.js REST API with TypeScript" }
|
|
159
|
+
* );
|
|
160
|
+
*
|
|
161
|
+
* console.log(`Проект создан: ${project.name}`);
|
|
162
|
+
* console.log(`Статус: ${project.indexStatus}`);
|
|
163
|
+
*
|
|
164
|
+
* // Мониторинг индексации
|
|
165
|
+
* if (project.indexStatus === 'pending') {
|
|
166
|
+
* console.log('Индексация начнется автоматически...');
|
|
167
|
+
* }
|
|
168
|
+
* ```
|
|
169
|
+
*
|
|
170
|
+
* @throws {Error} Если путь недоступен, проект не может быть создан, или ошибка сервера
|
|
89
171
|
*/
|
|
90
172
|
async createProject(name, path, data = {}) {
|
|
91
|
-
//
|
|
92
|
-
|
|
173
|
+
// 🚀 УЛУЧШЕНО: Используем новые типы для создания проекта
|
|
174
|
+
const projectData = {
|
|
93
175
|
name,
|
|
94
176
|
path,
|
|
177
|
+
description: data.description,
|
|
95
178
|
...data
|
|
96
|
-
}
|
|
179
|
+
};
|
|
180
|
+
const response = await this.httpClient.post('/api/v1/projects', projectData);
|
|
181
|
+
if (!response.success || !response.data) {
|
|
182
|
+
const error = response.error;
|
|
183
|
+
throw new Error(error?.message || `Не удалось создать проект "${name}"`);
|
|
184
|
+
}
|
|
185
|
+
return response.data;
|
|
97
186
|
}
|
|
98
187
|
/**
|
|
99
188
|
* Получает статус проекта
|
|
@@ -112,31 +201,6 @@ export class ProjectsApi {
|
|
|
112
201
|
async startIndexing(projectId, options = {}) {
|
|
113
202
|
return this.httpClient.post(`/api/v1/projects/${projectId}/index`, options);
|
|
114
203
|
}
|
|
115
|
-
/**
|
|
116
|
-
* Находит или создает проект по пути
|
|
117
|
-
* @param {string} path Путь к проекту
|
|
118
|
-
* @param {string} name Название проекта (опционально)
|
|
119
|
-
* @returns {Promise<Project>} Найденный или созданный проект
|
|
120
|
-
*/
|
|
121
|
-
async findOrCreateProject(path, name) {
|
|
122
|
-
// Создаем ключ кэша на основе пути и имени
|
|
123
|
-
const cacheKey = `${path}:${name || ''}`;
|
|
124
|
-
const now = Date.now();
|
|
125
|
-
const CACHE_TTL = 3000; // 3 секунды TTL для предотвращения дублирования
|
|
126
|
-
// Проверяем кэш
|
|
127
|
-
const cached = this.findOrCreateCache.get(cacheKey);
|
|
128
|
-
if (cached && (now - cached.timestamp) < CACHE_TTL) {
|
|
129
|
-
// Возвращаем закэшированный promise
|
|
130
|
-
return cached.promise;
|
|
131
|
-
}
|
|
132
|
-
// Создаем новый запрос
|
|
133
|
-
const promise = this.httpClient.post('/api/v1/projects', { path, name });
|
|
134
|
-
// Кэшируем promise
|
|
135
|
-
this.findOrCreateCache.set(cacheKey, { promise, timestamp: now });
|
|
136
|
-
// Очищаем устаревшие записи из кэша
|
|
137
|
-
this.cleanupCache();
|
|
138
|
-
return promise;
|
|
139
|
-
}
|
|
140
204
|
/**
|
|
141
205
|
* Удаляет проект
|
|
142
206
|
* @param projectId - ID проекта
|
|
@@ -156,15 +220,6 @@ export class ProjectsApi {
|
|
|
156
220
|
// ✅ ИСПРАВЛЕНИЕ: Используем новый эндпоинт с real-time статусом и безопасной сериализацией
|
|
157
221
|
return this.httpClient.get(`/api/v1/projects/${projectId}/indexing-status`);
|
|
158
222
|
}
|
|
159
|
-
/**
|
|
160
|
-
* Получает общую информацию о проекте (без real-time данных)
|
|
161
|
-
* @param {string} projectId Идентификатор проекта
|
|
162
|
-
* @returns {Promise<any>} Информация о проекте
|
|
163
|
-
*/
|
|
164
|
-
async getProjectInfo(projectId) {
|
|
165
|
-
this.validateProjectId(projectId);
|
|
166
|
-
return this.httpClient.get(`/api/v1/projects/${projectId}/status`);
|
|
167
|
-
}
|
|
168
223
|
/**
|
|
169
224
|
* Отменяет индексацию проекта
|
|
170
225
|
* @param {string} projectId Идентификатор проекта
|
|
@@ -447,18 +502,5 @@ export class ProjectsApi {
|
|
|
447
502
|
throw new Error(`Не удалось получить или создать проект: ${error.message}`);
|
|
448
503
|
}
|
|
449
504
|
}
|
|
450
|
-
/**
|
|
451
|
-
* Очищает устаревшие записи из кэша findOrCreateProject
|
|
452
|
-
* @private
|
|
453
|
-
*/
|
|
454
|
-
cleanupCache() {
|
|
455
|
-
const now = Date.now();
|
|
456
|
-
const CACHE_TTL = 3000; // 3 секунды
|
|
457
|
-
for (const [key, entry] of this.findOrCreateCache.entries()) {
|
|
458
|
-
if (now - entry.timestamp >= CACHE_TTL) {
|
|
459
|
-
this.findOrCreateCache.delete(key);
|
|
460
|
-
}
|
|
461
|
-
}
|
|
462
|
-
}
|
|
463
505
|
}
|
|
464
506
|
//# sourceMappingURL=projects-api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects-api.js","sourceRoot":"","sources":["../../../src/api/projects-api.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,6CAA6B,CAAA;IAC7B,gDAAgC,CAAA;IAChC,gFAAgE,CAAA;IAChE,gFAAgE,CAAA;IAChE,wEAAwD,CAAA;AAC1D,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,QAAgB,EAAE,MAA8B;IACtE,IAAI,MAAM,GAAG,QAAQ,CAAC;IACtB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,WAAW;IAYtB;;;OAGG;IACH,YAAY,UAAsB;QAZlC,uEAAuE;QAC/D,sBAAiB,GAAG,IAAI,GAAG,EAG/B,CAAC;QASH,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;;;OAGG;IACI,KAAK,CAAC,WAAW;QACtB,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,gBAAgB;QAC3B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACvD,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,OAAY,EAAE;QAEd,gFAAgF;QAChF,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC9C,IAAI;YACJ,IAAI;YACJ,GAAG,IAAI;SACR,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gBAAgB,CAAC,SAAiB;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,SAAS,SAAS,CAAC,CAAC;IACrE,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,UAA+B,EAAE;QAC7E,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,SAAS,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,mBAAmB,CAAC,IAAY,EAAE,IAAa;QAC1D,2CAA2C;QAC3C,MAAM,QAAQ,GAAG,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,gDAAgD;QAExE,gBAAgB;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,MAAM,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,EAAE,CAAC;YACnD,oCAAoC;YACpC,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QAED,uBAAuB;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAEzE,mBAAmB;QACnB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;QAElE,oCAAoC;QACpC,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,SAAiB;QACnC,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QAC9C,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClC,2FAA2F;QAC3F,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,SAAS,kBAAkB,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,cAAc,CAAC,SAAiB;QAC3C,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,oBAAoB,SAAS,SAAS,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,cAAc,CAAC,SAAiB;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,uBAAuB,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;aACjG,IAAI,CAAC,QAAQ,CAAC,EAAE;YACf,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,KAAK,CAAC,KAAK,CAAC,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,YAAY,CAAC,SAAiB;QACzC,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,kBAAkB,CAAC,SAAiB;QAC/C,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,mBAAmB,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;aAC7F,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;aAChB,KAAK,CAAC,KAAK,CAAC,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,eAAe,CAC1B,SAAiB,EACjB,QAAgB,EAChB,UAKI,EAAE;QAEN,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAElC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,0EAA0E;QAC1E,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAErD,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,eAAe,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjH,CAAC;IAID;;;;;OAKG;IACK,cAAc,CAAC,IAAY,EAAE,SAAiB;QACpD,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEnE,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;YACxC,uBAAuB;YACvB,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAAI,IAAI,CAAC,CAAC;YACzF,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;YAC3C,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;QAChF,CAAC;aAAM,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;YAC1C,yCAAyC;YACzC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBAClC,MAAM,CAAC,qBAAqB,GAAG,EAAE,CAAC;YACpC,CAAC;YACD,MAAM,CAAC,qBAAqB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,kBAAkB,CAAC,IAAY;QACrC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEnE,IAAI,OAAO,YAAY,KAAK,WAAW,EAAE,CAAC;YACxC,uBAAuB;YACvB,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAAI,IAAI,CAAC,CAAC;YACzF,OAAO,cAAc,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC;QAChD,CAAC;aAAM,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,MAAM,CAAC,qBAAqB,EAAE,CAAC;YAC1E,oBAAoB;YACpB,OAAO,MAAM,CAAC,qBAAqB,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC;QAC9D,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,kBAAkB,CAAC,IAAY,EAAE,IAAa;QACzD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEnE,wBAAwB;QACxB,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QAChE,IAAI,eAAe,EAAE,CAAC;YACpB,gFAAgF;YAChF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACvD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,8CAA8C;QAC9C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAU,kBAAkB,EAAE;YACtE,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,IAAI,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,iBAAiB;SACnE,CAAC,CAAC;QAEH,qBAAqB;QACrB,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAEhD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,kBAAkB,CAC7B,IAAY,EACZ,UAII,EAAE;QAEN,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnE,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,iBAAiB,CAAC;QAEzF,IAAI,CAAC;YACH,kFAAkF;YAClF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBAC7D,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,WAAW;aAClB,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,CAAC;YAED,6CAA6C;YAC7C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAoB,OAAO,CAAC,EAAE,QAAQ,EAAE;gBACxF,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,eAAe,EAAE,OAAO,CAAC,eAAe;aACzC,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,UAAU;gBAClB,SAAS,EAAE,OAAO,CAAC,EAAE;aACtB,CAAC;QAEJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,+BAA+B;YAC/B,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,oDAAoD,YAAY,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,qBAAqB,CAChC,IAAY,EACZ,UAMI,EAAE;QAEN,IAAI,CAAC;YACH,oEAAoE;YACpE,IAAI,cAAc,GAAQ;gBACxB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,eAAe,EAAE,OAAO,CAAC,eAAe;aACzC,CAAC;YAEF,IAAI,OAAO,CAAC,YAAY,KAAK,MAAM,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACzD,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC;YAClC,CAAC;YAED,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;gBAC5B,cAAc,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;YAC3D,CAAC;YAED,mFAAmF;YACnF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAEnE,gDAAgD;YAChD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACjF,CAAC;YAED,OAAO;gBACL,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,cAAc,EAAE,MAAM,CAAC,MAAM,IAAI,UAAU;aAC5C,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,iDAAiD,YAAY,EAAE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,mBAAmB,CAC9B,SAAiB,EACjB,UAII,EAAE;QAEN,IAAI,CAAC;YACH,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAElC,iCAAiC;YACjC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBACjD,OAAO,OAAO,CAAC;YACjB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gDAAgD;gBAChD,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;oBAC1B,yDAAyD;oBACzD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC5E,MAAM,IAAI,KAAK,CAAC,eAAe,SAAS,eAAe,YAAY,EAAE,CAAC,CAAC;gBACzE,CAAC;gBAED,6CAA6C;gBAC7C,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;gBACvF,CAAC;gBAED,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,uBAAuB,SAAS,EAAE,CAAC;gBAE5E,2CAA2C;gBAC3C,OAAO,CAAC,GAAG,CAAC,kDAAkD,SAAS,cAAc,UAAU,aAAa,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;gBAClI,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,wCAAwC,SAAS,KAAK,YAAY,EAAE,CAAC,CAAC;QACxF,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,wBAAwB,CACnC,IAAY,EACZ,UAKI,EAAE;QAEN,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC;YACH,wBAAwB;YACxB,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;YAChE,IAAI,eAAe,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE,CAAC;gBACxD,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;oBACvD,OAAO,OAAO,CAAC;gBACjB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,0CAA0C;oBAC1C,OAAO,CAAC,IAAI,CAAC,qDAAqD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC9H,CAAC;YACH,CAAC;YAED,+FAA+F;YAC/F,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAU,kBAAkB,EAAE;gBACtE,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,iBAAiB;aAC3E,CAAC,CAAC;YAEH,6BAA6B;YAC7B,IAAI,OAAO,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;gBAC1B,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;YAClD,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,2CAA2C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,YAAY;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,YAAY;QAEpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC5D,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,SAAS,EAAE,CAAC;gBACvC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"projects-api.js","sourceRoot":"","sources":["../../../src/api/projects-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 🔧 API для работы с инструментами ИИ
|
|
3
|
+
*/
|
|
4
|
+
export class ToolsApi {
|
|
5
|
+
constructor(httpClient) {
|
|
6
|
+
this.httpClient = httpClient;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* 📋 Получает все доступные схемы инструментов
|
|
10
|
+
* @returns Список всех инструментов с их схемами
|
|
11
|
+
*/
|
|
12
|
+
async getSchemas() {
|
|
13
|
+
try {
|
|
14
|
+
const response = await this.httpClient.get('/api/v1/tools/schemas');
|
|
15
|
+
return response;
|
|
16
|
+
}
|
|
17
|
+
catch (error) {
|
|
18
|
+
throw new Error(`Ошибка получения схем инструментов: ${error instanceof Error ? error.message : String(error)}`);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 🔍 Поиск инструмента по имени
|
|
23
|
+
* @param name Имя инструмента
|
|
24
|
+
* @returns Схема инструмента или null
|
|
25
|
+
*/
|
|
26
|
+
async findToolByName(name) {
|
|
27
|
+
const { tools } = await this.getSchemas();
|
|
28
|
+
return tools.find(tool => tool.name === name) || null;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* 📊 Получает статистику доступных инструментов
|
|
32
|
+
* @returns Информация о количестве и типах инструментов
|
|
33
|
+
*/
|
|
34
|
+
async getToolsStats() {
|
|
35
|
+
const { tools } = await this.getSchemas();
|
|
36
|
+
// Простая категоризация по префиксам названий
|
|
37
|
+
const categories = {};
|
|
38
|
+
tools.forEach(tool => {
|
|
39
|
+
const category = tool.name.split('_')[0] || 'other';
|
|
40
|
+
categories[category] = (categories[category] || 0) + 1;
|
|
41
|
+
});
|
|
42
|
+
return {
|
|
43
|
+
total: tools.length,
|
|
44
|
+
categories,
|
|
45
|
+
// TODO: Добавить статистику использования если будет доступна на бэкенде
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* ✅ Валидирует схему инструмента
|
|
50
|
+
* @param tool Схема инструмента для валидации
|
|
51
|
+
* @returns true если схема корректна
|
|
52
|
+
*/
|
|
53
|
+
validateToolSchema(tool) {
|
|
54
|
+
if (!tool.name || !tool.description) {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
if (!tool.input_schema || tool.input_schema.type !== 'object') {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
return true;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* 🔧 Создает базовую схему инструмента
|
|
64
|
+
* @param name Имя инструмента
|
|
65
|
+
* @param description Описание
|
|
66
|
+
* @param properties Свойства входных параметров
|
|
67
|
+
* @param required Обязательные параметры
|
|
68
|
+
* @returns Готовая схема инструмента
|
|
69
|
+
*/
|
|
70
|
+
createToolSchema(name, description, properties, required = []) {
|
|
71
|
+
return {
|
|
72
|
+
name,
|
|
73
|
+
description,
|
|
74
|
+
input_schema: {
|
|
75
|
+
type: 'object',
|
|
76
|
+
properties,
|
|
77
|
+
required: required.length > 0 ? required : undefined,
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=tools-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools-api.js","sourceRoot":"","sources":["../../../src/api/tools-api.ts"],"names":[],"mappings":"AAqBA;;GAEG;AACH,MAAM,OAAO,QAAQ;IACnB,YAA6B,UAAuB;QAAvB,eAAU,GAAV,UAAU,CAAa;IAAG,CAAC;IAExD;;;OAGG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACpE,OAAO,QAAyB,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,IAAY;QAC/B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;IACxD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa;QAKjB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAE1C,8CAA8C;QAC9C,MAAM,UAAU,GAA2B,EAAE,CAAC;QAE9C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;YACpD,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,MAAM;YACnB,UAAU;YACV,yEAAyE;SAC1E,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,IAAgB;QACjC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,gBAAgB,CACd,IAAY,EACZ,WAAmB,EACnB,UAA+B,EAC/B,WAAqB,EAAE;QAEvB,OAAO;YACL,IAAI;YACJ,WAAW;YACX,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,UAAU;gBACV,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;aACrD;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API для работы с системой обновлений WorkAI
|
|
3
|
+
*
|
|
4
|
+
* Предоставляет методы для проверки обновлений, получения changelog'ов
|
|
5
|
+
* и отправки статистики использования обновлений.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```javascript
|
|
9
|
+
* // Проверка обновлений
|
|
10
|
+
* const updateInfo = await sdk.updates.checkForUpdates({
|
|
11
|
+
* currentVersion: '1.0.0',
|
|
12
|
+
* channel: 'stable',
|
|
13
|
+
* platform: 'win32-x64',
|
|
14
|
+
* locale: 'ru'
|
|
15
|
+
* });
|
|
16
|
+
*
|
|
17
|
+
* if (updateInfo.hasUpdate) {
|
|
18
|
+
* console.log(`Доступно обновление: ${updateInfo.version}`);
|
|
19
|
+
*
|
|
20
|
+
* // Получение описания изменений
|
|
21
|
+
* const changelog = await sdk.updates.getChangelog('1.1.0', 'ru');
|
|
22
|
+
* console.log(changelog);
|
|
23
|
+
*
|
|
24
|
+
* // Отправка статистики
|
|
25
|
+
* await sdk.updates.sendStats({
|
|
26
|
+
* event: 'update_started',
|
|
27
|
+
* currentVersion: '1.0.0',
|
|
28
|
+
* targetVersion: updateInfo.version
|
|
29
|
+
* });
|
|
30
|
+
* }
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export class UpdatesApi {
|
|
34
|
+
/**
|
|
35
|
+
* Создает новый экземпляр API для работы с обновлениями
|
|
36
|
+
* @param {HttpClient} httpClient HTTP клиент
|
|
37
|
+
*/
|
|
38
|
+
constructor(httpClient) {
|
|
39
|
+
this.httpClient = httpClient;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Проверяет наличие обновлений для текущей версии клиента
|
|
43
|
+
*
|
|
44
|
+
* @param {UpdateCheckOptions} options Параметры проверки обновления
|
|
45
|
+
* @returns {Promise<UpdateResponse>} Информация об обновлении
|
|
46
|
+
* @throws {Error} При ошибке запроса к API
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```javascript
|
|
50
|
+
* const updateInfo = await sdk.updates.checkForUpdates({
|
|
51
|
+
* currentVersion: '1.0.0',
|
|
52
|
+
* channel: 'stable',
|
|
53
|
+
* platform: 'win32-x64',
|
|
54
|
+
* locale: 'ru'
|
|
55
|
+
* });
|
|
56
|
+
*
|
|
57
|
+
* if (updateInfo.hasUpdate) {
|
|
58
|
+
* console.log(`Новая версия: ${updateInfo.version}`);
|
|
59
|
+
* console.log(`Размер: ${updateInfo.size} байт`);
|
|
60
|
+
* console.log(`URL: ${updateInfo.downloadUrl}`);
|
|
61
|
+
* }
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
async checkForUpdates(options) {
|
|
65
|
+
const { currentVersion, channel = 'stable', platform, locale } = options;
|
|
66
|
+
try {
|
|
67
|
+
// Используем VS Code совместимый endpoint
|
|
68
|
+
const endpoint = `/api/update/${platform}/${channel}/${currentVersion}`;
|
|
69
|
+
const response = await this.httpClient.get(endpoint, {
|
|
70
|
+
locale
|
|
71
|
+
});
|
|
72
|
+
// Преобразуем ответ backend'а в формат, ожидаемый клиентом
|
|
73
|
+
return {
|
|
74
|
+
hasUpdate: true, // Если получили 200, значит есть обновление
|
|
75
|
+
version: response.version,
|
|
76
|
+
downloadUrl: response.url,
|
|
77
|
+
checksum: response.sha256,
|
|
78
|
+
size: response.size,
|
|
79
|
+
changelog: Array.isArray(response.releaseNotes)
|
|
80
|
+
? response.releaseNotes.join('\\n')
|
|
81
|
+
: response.releaseNotes,
|
|
82
|
+
releaseDate: response.createdAt,
|
|
83
|
+
isForced: response.metadata?.critical || false,
|
|
84
|
+
signature: response.signature
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
// Backend возвращает HTTP 204 когда обновлений нет
|
|
89
|
+
if (error.status === 204 || error.response?.status === 204) {
|
|
90
|
+
return {
|
|
91
|
+
hasUpdate: false
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
throw new Error(`Ошибка проверки обновлений: ${error.message}`);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Получает описание изменений (changelog) для указанной версии
|
|
99
|
+
*
|
|
100
|
+
* @param {string} version Версия для получения changelog
|
|
101
|
+
* @param {string} locale Локаль для получения переводов
|
|
102
|
+
* @returns {Promise<string>} Описание изменений в формате Markdown
|
|
103
|
+
* @throws {Error} При ошибке запроса к API
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```javascript
|
|
107
|
+
* const changelog = await sdk.updates.getChangelog('1.1.0', 'ru');
|
|
108
|
+
* console.log(changelog); // Markdown текст с изменениями
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
async getChangelog(version, locale) {
|
|
112
|
+
if (!version) {
|
|
113
|
+
throw new Error('Версия не может быть пустой');
|
|
114
|
+
}
|
|
115
|
+
try {
|
|
116
|
+
// Получаем информацию о версии через admin API или публичный endpoint
|
|
117
|
+
const versionInfo = await this.httpClient.get(`/api/update/releases/latest`, {
|
|
118
|
+
quality: 'stable' // По умолчанию, может быть параметром
|
|
119
|
+
});
|
|
120
|
+
if (versionInfo.version === version) {
|
|
121
|
+
return Array.isArray(versionInfo.releaseNotes)
|
|
122
|
+
? versionInfo.releaseNotes.join('\\n')
|
|
123
|
+
: versionInfo.releaseNotes || `Описание изменений для версии ${version}`;
|
|
124
|
+
}
|
|
125
|
+
// Если версия не совпадает, возвращаем базовое описание
|
|
126
|
+
return `Описание изменений для версии ${version} (${locale})`;
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
throw new Error(`Ошибка получения changelog: ${error.message}`);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Отправляет статистику событий обновления
|
|
134
|
+
*
|
|
135
|
+
* @param {UpdateStatsEvent} event Событие для отправки статистики
|
|
136
|
+
* @returns {Promise<void>} Promise, который разрешается при успешной отправке
|
|
137
|
+
* @throws {Error} При ошибке отправки статистики
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```javascript
|
|
141
|
+
* // Начало обновления
|
|
142
|
+
* await sdk.updates.sendStats({
|
|
143
|
+
* event: 'update_started',
|
|
144
|
+
* currentVersion: '1.0.0',
|
|
145
|
+
* targetVersion: '1.1.0'
|
|
146
|
+
* });
|
|
147
|
+
*
|
|
148
|
+
* // Завершение обновления
|
|
149
|
+
* await sdk.updates.sendStats({
|
|
150
|
+
* event: 'update_completed',
|
|
151
|
+
* currentVersion: '1.0.0',
|
|
152
|
+
* targetVersion: '1.1.0'
|
|
153
|
+
* });
|
|
154
|
+
*
|
|
155
|
+
* // Ошибка обновления
|
|
156
|
+
* await sdk.updates.sendStats({
|
|
157
|
+
* event: 'update_failed',
|
|
158
|
+
* currentVersion: '1.0.0',
|
|
159
|
+
* targetVersion: '1.1.0',
|
|
160
|
+
* error: 'Ошибка загрузки файла'
|
|
161
|
+
* });
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
164
|
+
async sendStats(event) {
|
|
165
|
+
if (!event.event || !event.currentVersion || !event.targetVersion) {
|
|
166
|
+
throw new Error('Обязательные поля события: event, currentVersion, targetVersion');
|
|
167
|
+
}
|
|
168
|
+
try {
|
|
169
|
+
await this.httpClient.post('/api/update/stats', {
|
|
170
|
+
...event,
|
|
171
|
+
timestamp: new Date().toISOString()
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
catch (error) {
|
|
175
|
+
// Статистика не критична, но логируем ошибку
|
|
176
|
+
console.warn(`Не удалось отправить статистику обновления: ${error.message}`);
|
|
177
|
+
throw new Error(`Ошибка отправки статистики: ${error.message}`);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Получает информацию о последней доступной версии
|
|
182
|
+
*
|
|
183
|
+
* @param {string} channel Канал обновлений (stable, beta, insider)
|
|
184
|
+
* @returns {Promise<LatestVersionInfo>} Информация о последней версии
|
|
185
|
+
* @throws {Error} При ошибке запроса к API
|
|
186
|
+
*
|
|
187
|
+
* @example
|
|
188
|
+
* ```javascript
|
|
189
|
+
* const latestVersion = await sdk.updates.getLatestVersion('stable');
|
|
190
|
+
* console.log(`Последняя версия: ${latestVersion.version}`);
|
|
191
|
+
* console.log(`Платформы: ${Object.keys(latestVersion.platforms)}`);
|
|
192
|
+
* ```
|
|
193
|
+
*/
|
|
194
|
+
async getLatestVersion(channel = 'stable') {
|
|
195
|
+
try {
|
|
196
|
+
const response = await this.httpClient.get('/api/update/releases/latest', {
|
|
197
|
+
quality: channel
|
|
198
|
+
});
|
|
199
|
+
return {
|
|
200
|
+
version: response.version,
|
|
201
|
+
quality: response.quality,
|
|
202
|
+
platforms: response.platforms,
|
|
203
|
+
releaseNotes: response.releaseNotes,
|
|
204
|
+
createdAt: new Date(response.createdAt),
|
|
205
|
+
isActive: response.isActive
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
catch (error) {
|
|
209
|
+
if (error.status === 404) {
|
|
210
|
+
throw new Error(`Версия для канала '${channel}' не найдена`);
|
|
211
|
+
}
|
|
212
|
+
throw new Error(`Ошибка получения последней версии: ${error.message}`);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Проверяет доступность API обновлений
|
|
217
|
+
*
|
|
218
|
+
* @returns {Promise<boolean>} True, если API доступен
|
|
219
|
+
*
|
|
220
|
+
* @example
|
|
221
|
+
* ```javascript
|
|
222
|
+
* const isAvailable = await sdk.updates.checkAvailability();
|
|
223
|
+
* if (!isAvailable) {
|
|
224
|
+
* console.log('API обновлений недоступен');
|
|
225
|
+
* }
|
|
226
|
+
* ```
|
|
227
|
+
*/
|
|
228
|
+
async checkAvailability() {
|
|
229
|
+
try {
|
|
230
|
+
await this.httpClient.get('/api/update/releases/latest', { quality: 'stable' });
|
|
231
|
+
return true;
|
|
232
|
+
}
|
|
233
|
+
catch (error) {
|
|
234
|
+
return false;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=updates-api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updates-api.js","sourceRoot":"","sources":["../../../src/api/updates-api.ts"],"names":[],"mappings":"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"}
|