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.
Files changed (60) hide show
  1. package/README.md +114 -505
  2. package/dist/cjs/api/chat-api/cancel-methods.js +77 -0
  3. package/dist/cjs/api/chat-api/cancel-methods.js.map +1 -0
  4. package/dist/cjs/api/chat-api/index.js +3 -2
  5. package/dist/cjs/api/chat-api/index.js.map +1 -1
  6. package/dist/cjs/api/chat-api/interfaces.js.map +1 -1
  7. package/dist/cjs/api/projects-api.js +114 -72
  8. package/dist/cjs/api/projects-api.js.map +1 -1
  9. package/dist/cjs/api/tools-api.js +86 -0
  10. package/dist/cjs/api/tools-api.js.map +1 -0
  11. package/dist/cjs/api/updates-api.js +242 -0
  12. package/dist/cjs/api/updates-api.js.map +1 -0
  13. package/dist/cjs/code-solver-sdk.js +19 -0
  14. package/dist/cjs/code-solver-sdk.js.map +1 -1
  15. package/dist/cjs/index.js +2 -0
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/types/index.js +18 -1
  18. package/dist/cjs/types/index.js.map +1 -1
  19. package/dist/cjs/types/updates.js +6 -0
  20. package/dist/cjs/types/updates.js.map +1 -0
  21. package/dist/esm/api/chat-api/cancel-methods.js +73 -0
  22. package/dist/esm/api/chat-api/cancel-methods.js.map +1 -0
  23. package/dist/esm/api/chat-api/index.js +3 -2
  24. package/dist/esm/api/chat-api/index.js.map +1 -1
  25. package/dist/esm/api/chat-api/interfaces.js.map +1 -1
  26. package/dist/esm/api/projects-api.js +114 -72
  27. package/dist/esm/api/projects-api.js.map +1 -1
  28. package/dist/esm/api/tools-api.js +82 -0
  29. package/dist/esm/api/tools-api.js.map +1 -0
  30. package/dist/esm/api/updates-api.js +238 -0
  31. package/dist/esm/api/updates-api.js.map +1 -0
  32. package/dist/esm/code-solver-sdk.js +19 -0
  33. package/dist/esm/code-solver-sdk.js.map +1 -1
  34. package/dist/esm/index.js +2 -0
  35. package/dist/esm/index.js.map +1 -1
  36. package/dist/esm/types/index.js +4 -2
  37. package/dist/esm/types/index.js.map +1 -1
  38. package/dist/esm/types/updates.js +5 -0
  39. package/dist/esm/types/updates.js.map +1 -0
  40. package/dist/types/api/chat-api/cancel-methods.d.ts +57 -0
  41. package/dist/types/api/chat-api/cancel-methods.d.ts.map +1 -0
  42. package/dist/types/api/chat-api/index.d.ts +2 -2
  43. package/dist/types/api/chat-api/index.d.ts.map +1 -1
  44. package/dist/types/api/chat-api/interfaces.d.ts +18 -0
  45. package/dist/types/api/chat-api/interfaces.d.ts.map +1 -1
  46. package/dist/types/api/projects-api.d.ts +83 -35
  47. package/dist/types/api/projects-api.d.ts.map +1 -1
  48. package/dist/types/api/tools-api.d.ts +61 -0
  49. package/dist/types/api/tools-api.d.ts.map +1 -0
  50. package/dist/types/api/updates-api.d.ts +145 -0
  51. package/dist/types/api/updates-api.d.ts.map +1 -0
  52. package/dist/types/code-solver-sdk.d.ts +16 -0
  53. package/dist/types/code-solver-sdk.d.ts.map +1 -1
  54. package/dist/types/index.d.ts +2 -0
  55. package/dist/types/index.d.ts.map +1 -1
  56. package/dist/types/types/index.d.ts +219 -8
  57. package/dist/types/types/index.d.ts.map +1 -1
  58. package/dist/types/types/updates.d.ts +86 -0
  59. package/dist/types/types/updates.d.ts.map +1 -0
  60. 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
- * @returns {Promise<Project[]>} Список проектов
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
- return this.httpClient.get('/api/v1/projects');
60
- }
61
- /**
62
- * Алиас для getAllProjects (для совместимости)
63
- * @returns {Promise<Project[]>} Список проектов
64
- */
65
- async getProjects() {
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
- return this.httpClient.get('/api/v1/projects/ready');
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
- * Получает проект по ID
77
- * @param {string} projectId ID проекта
78
- * @returns {Promise<Project>} Проект
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
- return this.httpClient.get(`/api/v1/projects/${projectId}`);
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
- * @param {string} name Название проекта
86
- * @param {string} path Путь к проекту
87
- * @param {any} data Дополнительные данные проекта
88
- * @returns {Promise<Project>} Созданный проект
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
- // ИСПРАВЛЕНИЕ: Используем стандартный endpoint с автоматической дедупликацией
92
- return this.httpClient.post('/api/v1/projects', {
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":"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"}
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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"}