solver-sdk 5.0.0 → 5.1.1

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 (64) hide show
  1. package/README.md +264 -4
  2. package/dist/cjs/api/delta-chunking-api.js +142 -0
  3. package/dist/cjs/api/delta-chunking-api.js.map +1 -0
  4. package/dist/cjs/api/projects-api.js +80 -0
  5. package/dist/cjs/api/projects-api.js.map +1 -1
  6. package/dist/cjs/api/updates-api.js +242 -0
  7. package/dist/cjs/api/updates-api.js.map +1 -0
  8. package/dist/cjs/code-solver-sdk.js +103 -4
  9. package/dist/cjs/code-solver-sdk.js.map +1 -1
  10. package/dist/cjs/delta-chunking/delta-chunking-manager.js +202 -0
  11. package/dist/cjs/delta-chunking/delta-chunking-manager.js.map +1 -0
  12. package/dist/cjs/delta-chunking/delta-chunking-utils.js +315 -0
  13. package/dist/cjs/delta-chunking/delta-chunking-utils.js.map +1 -0
  14. package/dist/cjs/index.js +11 -1
  15. package/dist/cjs/index.js.map +1 -1
  16. package/dist/cjs/types/delta-chunking.js +7 -0
  17. package/dist/cjs/types/delta-chunking.js.map +1 -0
  18. package/dist/cjs/types/index.js +16 -0
  19. package/dist/cjs/types/index.js.map +1 -1
  20. package/dist/cjs/types/updates.js +6 -0
  21. package/dist/cjs/types/updates.js.map +1 -0
  22. package/dist/esm/api/delta-chunking-api.js +138 -0
  23. package/dist/esm/api/delta-chunking-api.js.map +1 -0
  24. package/dist/esm/api/projects-api.js +80 -0
  25. package/dist/esm/api/projects-api.js.map +1 -1
  26. package/dist/esm/api/updates-api.js +238 -0
  27. package/dist/esm/api/updates-api.js.map +1 -0
  28. package/dist/esm/code-solver-sdk.js +103 -4
  29. package/dist/esm/code-solver-sdk.js.map +1 -1
  30. package/dist/esm/delta-chunking/delta-chunking-manager.js +198 -0
  31. package/dist/esm/delta-chunking/delta-chunking-manager.js.map +1 -0
  32. package/dist/esm/delta-chunking/delta-chunking-utils.js +278 -0
  33. package/dist/esm/delta-chunking/delta-chunking-utils.js.map +1 -0
  34. package/dist/esm/index.js +7 -0
  35. package/dist/esm/index.js.map +1 -1
  36. package/dist/esm/types/delta-chunking.js +6 -0
  37. package/dist/esm/types/delta-chunking.js.map +1 -0
  38. package/dist/esm/types/index.js +2 -1
  39. package/dist/esm/types/index.js.map +1 -1
  40. package/dist/esm/types/updates.js +5 -0
  41. package/dist/esm/types/updates.js.map +1 -0
  42. package/dist/types/api/delta-chunking-api.d.ts +51 -0
  43. package/dist/types/api/delta-chunking-api.d.ts.map +1 -0
  44. package/dist/types/api/projects-api.d.ts +42 -0
  45. package/dist/types/api/projects-api.d.ts.map +1 -1
  46. package/dist/types/api/updates-api.d.ts +145 -0
  47. package/dist/types/api/updates-api.d.ts.map +1 -0
  48. package/dist/types/code-solver-sdk.d.ts +58 -1
  49. package/dist/types/code-solver-sdk.d.ts.map +1 -1
  50. package/dist/types/delta-chunking/delta-chunking-manager.d.ts +60 -0
  51. package/dist/types/delta-chunking/delta-chunking-manager.d.ts.map +1 -0
  52. package/dist/types/delta-chunking/delta-chunking-utils.d.ts +62 -0
  53. package/dist/types/delta-chunking/delta-chunking-utils.d.ts.map +1 -0
  54. package/dist/types/index.d.ts +5 -0
  55. package/dist/types/index.d.ts.map +1 -1
  56. package/dist/types/interfaces/sdk-options.d.ts +35 -0
  57. package/dist/types/interfaces/sdk-options.d.ts.map +1 -1
  58. package/dist/types/types/delta-chunking.d.ts +210 -0
  59. package/dist/types/types/delta-chunking.d.ts.map +1 -0
  60. package/dist/types/types/index.d.ts +1 -0
  61. package/dist/types/types/index.d.ts.map +1 -1
  62. package/dist/types/types/updates.d.ts +86 -0
  63. package/dist/types/types/updates.d.ts.map +1 -0
  64. package/package.json +1 -1
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UpdatesApi = void 0;
4
+ /**
5
+ * API для работы с системой обновлений WorkAI
6
+ *
7
+ * Предоставляет методы для проверки обновлений, получения changelog'ов
8
+ * и отправки статистики использования обновлений.
9
+ *
10
+ * @example
11
+ * ```javascript
12
+ * // Проверка обновлений
13
+ * const updateInfo = await sdk.updates.checkForUpdates({
14
+ * currentVersion: '1.0.0',
15
+ * channel: 'stable',
16
+ * platform: 'win32-x64',
17
+ * locale: 'ru'
18
+ * });
19
+ *
20
+ * if (updateInfo.hasUpdate) {
21
+ * console.log(`Доступно обновление: ${updateInfo.version}`);
22
+ *
23
+ * // Получение описания изменений
24
+ * const changelog = await sdk.updates.getChangelog('1.1.0', 'ru');
25
+ * console.log(changelog);
26
+ *
27
+ * // Отправка статистики
28
+ * await sdk.updates.sendStats({
29
+ * event: 'update_started',
30
+ * currentVersion: '1.0.0',
31
+ * targetVersion: updateInfo.version
32
+ * });
33
+ * }
34
+ * ```
35
+ */
36
+ class UpdatesApi {
37
+ /**
38
+ * Создает новый экземпляр API для работы с обновлениями
39
+ * @param {HttpClient} httpClient HTTP клиент
40
+ */
41
+ constructor(httpClient) {
42
+ this.httpClient = httpClient;
43
+ }
44
+ /**
45
+ * Проверяет наличие обновлений для текущей версии клиента
46
+ *
47
+ * @param {UpdateCheckOptions} options Параметры проверки обновления
48
+ * @returns {Promise<UpdateResponse>} Информация об обновлении
49
+ * @throws {Error} При ошибке запроса к API
50
+ *
51
+ * @example
52
+ * ```javascript
53
+ * const updateInfo = await sdk.updates.checkForUpdates({
54
+ * currentVersion: '1.0.0',
55
+ * channel: 'stable',
56
+ * platform: 'win32-x64',
57
+ * locale: 'ru'
58
+ * });
59
+ *
60
+ * if (updateInfo.hasUpdate) {
61
+ * console.log(`Новая версия: ${updateInfo.version}`);
62
+ * console.log(`Размер: ${updateInfo.size} байт`);
63
+ * console.log(`URL: ${updateInfo.downloadUrl}`);
64
+ * }
65
+ * ```
66
+ */
67
+ async checkForUpdates(options) {
68
+ const { currentVersion, channel = 'stable', platform, locale } = options;
69
+ try {
70
+ // Используем VS Code совместимый endpoint
71
+ const endpoint = `/api/update/${platform}/${channel}/${currentVersion}`;
72
+ const response = await this.httpClient.get(endpoint, {
73
+ locale
74
+ });
75
+ // Преобразуем ответ backend'а в формат, ожидаемый клиентом
76
+ return {
77
+ hasUpdate: true, // Если получили 200, значит есть обновление
78
+ version: response.version,
79
+ downloadUrl: response.url,
80
+ checksum: response.sha256,
81
+ size: response.size,
82
+ changelog: Array.isArray(response.releaseNotes)
83
+ ? response.releaseNotes.join('\\n')
84
+ : response.releaseNotes,
85
+ releaseDate: response.createdAt,
86
+ isForced: response.metadata?.critical || false,
87
+ signature: response.signature
88
+ };
89
+ }
90
+ catch (error) {
91
+ // Backend возвращает HTTP 204 когда обновлений нет
92
+ if (error.status === 204 || error.response?.status === 204) {
93
+ return {
94
+ hasUpdate: false
95
+ };
96
+ }
97
+ throw new Error(`Ошибка проверки обновлений: ${error.message}`);
98
+ }
99
+ }
100
+ /**
101
+ * Получает описание изменений (changelog) для указанной версии
102
+ *
103
+ * @param {string} version Версия для получения changelog
104
+ * @param {string} locale Локаль для получения переводов
105
+ * @returns {Promise<string>} Описание изменений в формате Markdown
106
+ * @throws {Error} При ошибке запроса к API
107
+ *
108
+ * @example
109
+ * ```javascript
110
+ * const changelog = await sdk.updates.getChangelog('1.1.0', 'ru');
111
+ * console.log(changelog); // Markdown текст с изменениями
112
+ * ```
113
+ */
114
+ async getChangelog(version, locale) {
115
+ if (!version) {
116
+ throw new Error('Версия не может быть пустой');
117
+ }
118
+ try {
119
+ // Получаем информацию о версии через admin API или публичный endpoint
120
+ const versionInfo = await this.httpClient.get(`/api/update/releases/latest`, {
121
+ quality: 'stable' // По умолчанию, может быть параметром
122
+ });
123
+ if (versionInfo.version === version) {
124
+ return Array.isArray(versionInfo.releaseNotes)
125
+ ? versionInfo.releaseNotes.join('\\n')
126
+ : versionInfo.releaseNotes || `Описание изменений для версии ${version}`;
127
+ }
128
+ // Если версия не совпадает, возвращаем базовое описание
129
+ return `Описание изменений для версии ${version} (${locale})`;
130
+ }
131
+ catch (error) {
132
+ throw new Error(`Ошибка получения changelog: ${error.message}`);
133
+ }
134
+ }
135
+ /**
136
+ * Отправляет статистику событий обновления
137
+ *
138
+ * @param {UpdateStatsEvent} event Событие для отправки статистики
139
+ * @returns {Promise<void>} Promise, который разрешается при успешной отправке
140
+ * @throws {Error} При ошибке отправки статистики
141
+ *
142
+ * @example
143
+ * ```javascript
144
+ * // Начало обновления
145
+ * await sdk.updates.sendStats({
146
+ * event: 'update_started',
147
+ * currentVersion: '1.0.0',
148
+ * targetVersion: '1.1.0'
149
+ * });
150
+ *
151
+ * // Завершение обновления
152
+ * await sdk.updates.sendStats({
153
+ * event: 'update_completed',
154
+ * currentVersion: '1.0.0',
155
+ * targetVersion: '1.1.0'
156
+ * });
157
+ *
158
+ * // Ошибка обновления
159
+ * await sdk.updates.sendStats({
160
+ * event: 'update_failed',
161
+ * currentVersion: '1.0.0',
162
+ * targetVersion: '1.1.0',
163
+ * error: 'Ошибка загрузки файла'
164
+ * });
165
+ * ```
166
+ */
167
+ async sendStats(event) {
168
+ if (!event.event || !event.currentVersion || !event.targetVersion) {
169
+ throw new Error('Обязательные поля события: event, currentVersion, targetVersion');
170
+ }
171
+ try {
172
+ await this.httpClient.post('/api/update/stats', {
173
+ ...event,
174
+ timestamp: new Date().toISOString()
175
+ });
176
+ }
177
+ catch (error) {
178
+ // Статистика не критична, но логируем ошибку
179
+ console.warn(`Не удалось отправить статистику обновления: ${error.message}`);
180
+ throw new Error(`Ошибка отправки статистики: ${error.message}`);
181
+ }
182
+ }
183
+ /**
184
+ * Получает информацию о последней доступной версии
185
+ *
186
+ * @param {string} channel Канал обновлений (stable, beta, insider)
187
+ * @returns {Promise<LatestVersionInfo>} Информация о последней версии
188
+ * @throws {Error} При ошибке запроса к API
189
+ *
190
+ * @example
191
+ * ```javascript
192
+ * const latestVersion = await sdk.updates.getLatestVersion('stable');
193
+ * console.log(`Последняя версия: ${latestVersion.version}`);
194
+ * console.log(`Платформы: ${Object.keys(latestVersion.platforms)}`);
195
+ * ```
196
+ */
197
+ async getLatestVersion(channel = 'stable') {
198
+ try {
199
+ const response = await this.httpClient.get('/api/update/releases/latest', {
200
+ quality: channel
201
+ });
202
+ return {
203
+ version: response.version,
204
+ quality: response.quality,
205
+ platforms: response.platforms,
206
+ releaseNotes: response.releaseNotes,
207
+ createdAt: new Date(response.createdAt),
208
+ isActive: response.isActive
209
+ };
210
+ }
211
+ catch (error) {
212
+ if (error.status === 404) {
213
+ throw new Error(`Версия для канала '${channel}' не найдена`);
214
+ }
215
+ throw new Error(`Ошибка получения последней версии: ${error.message}`);
216
+ }
217
+ }
218
+ /**
219
+ * Проверяет доступность API обновлений
220
+ *
221
+ * @returns {Promise<boolean>} True, если API доступен
222
+ *
223
+ * @example
224
+ * ```javascript
225
+ * const isAvailable = await sdk.updates.checkAvailability();
226
+ * if (!isAvailable) {
227
+ * console.log('API обновлений недоступен');
228
+ * }
229
+ * ```
230
+ */
231
+ async checkAvailability() {
232
+ try {
233
+ await this.httpClient.get('/api/update/releases/latest', { quality: 'stable' });
234
+ return true;
235
+ }
236
+ catch (error) {
237
+ return false;
238
+ }
239
+ }
240
+ }
241
+ exports.UpdatesApi = UpdatesApi;
242
+ //# 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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"}
@@ -6,8 +6,13 @@ const projects_api_js_1 = require("./api/projects-api.js");
6
6
  const search_api_js_1 = require("./api/search-api.js");
7
7
  const index_js_1 = require("./api/chat-api/index.js");
8
8
  const tools_api_js_1 = require("./api/tools-api.js");
9
+ const updates_api_js_1 = require("./api/updates-api.js");
9
10
  const models_api_js_1 = require("./api/models-api.js");
10
11
  const version_js_1 = require("./version.js");
12
+ // 🔄 Delta-Chunking imports
13
+ const delta_chunking_api_js_1 = require("./api/delta-chunking-api.js");
14
+ const delta_chunking_manager_js_1 = require("./delta-chunking/delta-chunking-manager.js");
15
+ const delta_chunking_utils_js_1 = require("./delta-chunking/delta-chunking-utils.js");
11
16
  /**
12
17
  * Определение типа среды выполнения
13
18
  * @returns 'browser' | 'node' | 'unknown'
@@ -127,6 +132,14 @@ class CodeSolverSDK {
127
132
  // 🔧 Инициализация Tools API
128
133
  this._tools = new tools_api_js_1.ToolsApi(this.httpClient);
129
134
  this._models = new models_api_js_1.ModelsApi(this.httpClient);
135
+ this._updates = new updates_api_js_1.UpdatesApi(this.httpClient);
136
+ // 🔄 Инициализируем Delta-Chunking если включен
137
+ if (this._options.deltaChunking?.enabled) {
138
+ const deltaApi = new delta_chunking_api_js_1.DeltaChunkingApi(this.httpClient);
139
+ const deltaUtils = new delta_chunking_utils_js_1.DeltaChunkingUtils(this._projects, this._options, this.environment, this.logger);
140
+ this._deltaManager = new delta_chunking_manager_js_1.DeltaChunkingManager(deltaApi, deltaUtils, this._options, this.logger);
141
+ this.logger.log('🔄 Delta-Chunking инициализирован');
142
+ }
130
143
  }
131
144
  /**
132
145
  * Получает версию SDK
@@ -232,6 +245,81 @@ class CodeSolverSDK {
232
245
  get models() {
233
246
  return this._models;
234
247
  }
248
+ /**
249
+ * Получает экземпляр API для работы с обновлениями
250
+ * @returns {UpdatesApi} API для работы с обновлениями
251
+ */
252
+ get updates() {
253
+ return this._updates;
254
+ }
255
+ // 🔄 DELTA-CHUNKING МЕТОДЫ
256
+ /**
257
+ * Проверяет активность delta-chunking функциональности
258
+ * @returns {boolean} true если delta-chunking включен и инициализирован
259
+ */
260
+ get isDeltaChunkingEnabled() {
261
+ return !!this._deltaManager?.isEnabled;
262
+ }
263
+ /**
264
+ * 🚀 Синхронизация проекта по пути к директории
265
+ * @param {string} projectId ID проекта
266
+ * @param {string} projectPath Путь к директории проекта
267
+ * @param {SyncOptions} options Опции синхронизации
268
+ * @returns {Promise<SyncResult>} Результат синхронизации
269
+ */
270
+ async syncProject(projectId, projectPath, options = {}) {
271
+ if (!this._deltaManager) {
272
+ throw new Error('Delta-chunking не включен. Установите deltaChunking.enabled = true в конфигурации SDK');
273
+ }
274
+ return await this._deltaManager.syncProject(projectId, projectPath, options);
275
+ }
276
+ /**
277
+ * 📤 Синхронизация массива файлов (для web/браузера)
278
+ * @param {string} projectId ID проекта
279
+ * @param {FileContent[]} files Массив файлов для синхронизации
280
+ * @param {SyncOptions} options Опции синхронизации
281
+ * @returns {Promise<SyncResult>} Результат синхронизации
282
+ */
283
+ async syncFiles(projectId, files, options = {}) {
284
+ if (!this._deltaManager) {
285
+ throw new Error('Delta-chunking не включен. Установите deltaChunking.enabled = true в конфигурации SDK');
286
+ }
287
+ return await this._deltaManager.syncFiles(projectId, files, options);
288
+ }
289
+ /**
290
+ * 👀 Запуск автоматического наблюдения за изменениями
291
+ * @param {string} projectId ID проекта
292
+ * @param {string} watchPath Путь для наблюдения
293
+ * @returns {Promise<FileWatcher>} File watcher
294
+ */
295
+ async startAutoSync(projectId, watchPath) {
296
+ if (!this._deltaManager) {
297
+ throw new Error('Delta-chunking не включен. Установите deltaChunking.enabled = true в конфигурации SDK');
298
+ }
299
+ return await this._deltaManager.startAutoSync(projectId, watchPath);
300
+ }
301
+ /**
302
+ * 📊 Получение статуса синхронизации
303
+ * @param {string} projectId ID проекта
304
+ * @returns {Promise<SyncStatus>} Статус синхронизации
305
+ */
306
+ async getSyncStatus(projectId) {
307
+ if (!this._deltaManager) {
308
+ throw new Error('Delta-chunking не включен. Установите deltaChunking.enabled = true в конфигурации SDK');
309
+ }
310
+ return await this._deltaManager.getSyncStatus(projectId);
311
+ }
312
+ /**
313
+ * ❌ Отмена активной синхронизации
314
+ * @param {string} projectId ID проекта
315
+ * @returns {Promise<boolean>} true если синхронизация отменена
316
+ */
317
+ async cancelSync(projectId) {
318
+ if (!this._deltaManager) {
319
+ throw new Error('Delta-chunking не включен. Установите deltaChunking.enabled = true в конфигурации SDK');
320
+ }
321
+ return await this._deltaManager.cancelSync(projectId);
322
+ }
235
323
  /**
236
324
  * Обрабатывает ошибки SDK
237
325
  * @param {Error} error Ошибка
@@ -254,9 +342,12 @@ class CodeSolverSDK {
254
342
  /**
255
343
  * Освобождает ресурсы SDK
256
344
  */
257
- dispose() {
258
- this.logger.debug('Освобождение ресурсов');
259
- // В HTTP-only версии нет ресурсов для освобождения
345
+ async dispose() {
346
+ this.logger.debug('Освобождение ресурсов SDK');
347
+ // Останавливаем все file watchers если есть delta-chunking
348
+ if (this._deltaManager) {
349
+ await this._deltaManager.stopAllWatchers();
350
+ }
260
351
  }
261
352
  /**
262
353
  * Устанавливает новый API ключ
@@ -275,9 +366,17 @@ class CodeSolverSDK {
275
366
  version: version_js_1.VERSION,
276
367
  environment: this.environment,
277
368
  baseURL: this._options.baseURL,
278
- hasApiKey: !!this._options.apiKey
369
+ hasApiKey: !!this._options.apiKey,
370
+ deltaChunkingEnabled: this.isDeltaChunkingEnabled
279
371
  };
280
372
  }
373
+ /**
374
+ * 🔄 Получение менеджера Delta-Chunking для расширенного API
375
+ * @returns {DeltaChunkingManager | undefined} Менеджер delta-chunking или undefined если отключен
376
+ */
377
+ get deltaManager() {
378
+ return this._deltaManager;
379
+ }
281
380
  }
282
381
  exports.CodeSolverSDK = CodeSolverSDK;
283
382
  /** Глобальный обработчик ошибок */
@@ -1 +1 @@
1
- {"version":3,"file":"code-solver-sdk.js","sourceRoot":"","sources":["../../src/code-solver-sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-solver-sdk.js","sourceRoot":"","sources":["../../src/code-solver-sdk.ts"],"names":[],"mappings":";;;AAAA,2DAAoD;AACpD,2DAAoD;AACpD,uDAAgD;AAChD,sDAAkD;AAClD,qDAA8C;AAC9C,yDAAkD;AAElD,uDAAgD;AAChD,6CAAuC;AACvC,4BAA4B;AAC5B,uEAA+D;AAC/D,0FAAkF;AAClF,sFAA8E;AAG9E;;;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;AACD;;;GAGG;AACH,MAAa,aAAa;IAiGxB;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAA6B;QACtD,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;QAEvC,sCAAsC;QACtC,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,YAAY,OAA6B;QAhFzC,2CAA2C;QAC1B,WAAM,GAAG;YACxB,GAAG,EAAE,CAAC,OAAe,EAAE,EAAE;gBACvB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACvC,IAAI,UAAU,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;oBAC7F,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC;YACD,IAAI,EAAE,CAAC,OAAe,EAAE,EAAE;gBACxB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACvC,IAAI,UAAU,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;oBACpE,OAAO,CAAC,IAAI,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YACD,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE;gBACzB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACvC,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;oBAC5B,OAAO,CAAC,KAAK,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;YACD,KAAK,EAAE,CAAC,OAAe,EAAE,EAAE;gBACzB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACvC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;oBACvD,OAAO,CAAC,KAAK,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;YACD,gDAAgD;YAChD,WAAW,EAAE,CAAC,OAAe,EAAE,IAAU,EAAE,EAAE;gBAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACvC,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAElD,IAAI,UAAU,KAAK,QAAQ;oBAAE,OAAO;gBAEpC,IAAI,aAAa,EAAE,SAAS,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,OAAO,CAAC,EAAE,CAAC;oBACrF,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YACD,WAAW,EAAE,CAAC,OAAe,EAAE,IAAU,EAAE,EAAE;gBAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACvC,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAElD,IAAI,UAAU,KAAK,QAAQ;oBAAE,OAAO;gBAEpC,IAAI,aAAa,EAAE,YAAY,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,OAAO,CAAC,EAAE,CAAC;oBACxF,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YACD,aAAa,EAAE,CAAC,OAAe,EAAE,IAAU,EAAE,EAAE;gBAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACvC,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAElD,IAAI,UAAU,KAAK,QAAQ;oBAAE,OAAO;gBAEpC,IAAI,aAAa,EAAE,cAAc,IAAI,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,OAAO,CAAC,EAAE,CAAC;oBAC1F,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;SACF,CAAC;QAwBA,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,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,KAAK,GAAG,IAAI,kBAAO,CAAC,IAAI,CAAC,UAAU,EAAE;YACxC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK;YAC1B,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;SAC3C,CAAC,CAAC;QAEH,6BAA6B;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE9C,IAAI,CAAC,QAAQ,GAAG,IAAI,2BAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEhD,gDAAgD;QAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,wCAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvD,MAAM,UAAU,GAAG,IAAI,4CAAkB,CACvC,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,MAAM,CACZ,CAAC;YACF,IAAI,CAAC,aAAa,GAAG,IAAI,gDAAoB,CAC3C,QAAQ,EACR,UAAU,EACV,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,MAAM,CACZ,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,MAAM,CAAG,UAAU;QACxB,OAAO,oBAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACI,aAAa,CAAC,UAAyC;QAC5D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAEzC,0CAA0C;QAC1C,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YAClE,IAAI,CAAC,UAAU,GAAG,IAAI,2BAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;gBACtD,OAAO,EAAE;oBACP,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;oBACtF,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;iBACjC;gBACD,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAC9B,UAAU,EAAE,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;aAC/E,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,WAAW;QACtB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACtD,OAAO,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC;YACpH,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,WAAW;QAKtB,MAAM,SAAS,GAAG;YAChB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,EAA6B;YACxC,MAAM,EAAE,EAAc;SACvB,CAAC;QAEF,qDAAqD;QACrD,MAAM,SAAS,GAAG;YAChB,SAAS;YACT,gBAAgB;YAChB,kBAAkB;YAClB,gBAAgB;SACjB,CAAC;QAEF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACpC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;YACvC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;gBACtC,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC1B,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,CAAC;YAC3G,CAAC;QACD,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAID;;;OAGG;IACH,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAID;;;OAGG;IACH,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,2BAA2B;IAE3B;;;OAGG;IACH,IAAW,sBAAsB;QAC/B,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC;IACzC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,WAAW,CACtB,SAAiB,EACjB,WAAmB,EACnB,UAAuB,EAAE;QAEzB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;QAC3G,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/E,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,SAAS,CACpB,SAAiB,EACjB,KAAoB,EACpB,UAAuB,EAAE;QAEzB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;QAC3G,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,SAAiB;QAC7D,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;QAC3G,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,aAAa,CAAC,SAAiB;QAC1C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;QAC3G,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,UAAU,CAAC,SAAiB;QACvC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;QAC3G,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACxD,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,wBAAwB,EAAE,KAAK,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,eAAe,CAAC,OAA+B;QAC3D,aAAa,CAAC,YAAY,GAAG,OAAO,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAE/C,2DAA2D;QAC3D,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,SAAS,CAAC,MAAc;QAC7B,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;QAC9B,IAAI,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACjC,CAAC;IAED;;;OAGG;IACI,OAAO;QAOZ,OAAO;YACL,OAAO,EAAE,oBAAO;YAChB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;YAC9B,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM;YACjC,oBAAoB,EAAE,IAAI,CAAC,sBAAsB;SAClD,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;;AA1cH,sCA2cC;AAxaC,mCAAmC;AACpB,0BAAY,GAAoC,IAAI,AAAxC,CAAyC"}
@@ -0,0 +1,202 @@
1
+ "use strict";
2
+ /**
3
+ * 🔄 Delta-Chunking Manager
4
+ * Менеджер для координации delta-chunking операций
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.DeltaChunkingManager = void 0;
8
+ /**
9
+ * Менеджер для координации всех delta-chunking операций
10
+ */
11
+ class DeltaChunkingManager {
12
+ constructor(deltaApi, utils, options, logger) {
13
+ this.deltaApi = deltaApi;
14
+ this.utils = utils;
15
+ this.options = options;
16
+ this.logger = logger;
17
+ this.activeWatchers = new Map();
18
+ }
19
+ /**
20
+ * Проверка активности delta-chunking
21
+ */
22
+ get isEnabled() {
23
+ return !!this.deltaApi && !!this.options.deltaChunking?.enabled;
24
+ }
25
+ /**
26
+ * 🚀 Синхронизация проекта по пути к директории
27
+ */
28
+ async syncProject(projectId, projectPath, options = {}) {
29
+ this.ensureEnabled();
30
+ const startTime = Date.now();
31
+ try {
32
+ this.logger.log(`🚀 Начинаю синхронизацию проекта ${projectId} из ${projectPath}`);
33
+ // 1. Валидация проекта
34
+ await this.utils.validateProject(projectId);
35
+ // 2. Сканирование файлов
36
+ const files = await this.utils.scanProjectFiles(projectPath, options);
37
+ this.logger.log(`📂 Найдено файлов: ${files.length}`);
38
+ // 3. Синхронизация через API
39
+ return await this.syncFiles(projectId, files, options);
40
+ }
41
+ catch (error) {
42
+ const errorMessage = error instanceof Error ? error.message : String(error);
43
+ this.logger.error(`❌ Ошибка синхронизации проекта: ${errorMessage}`);
44
+ return {
45
+ success: false,
46
+ projectId,
47
+ processedChunks: 0,
48
+ totalChunks: 0,
49
+ duration: Date.now() - startTime,
50
+ error: errorMessage,
51
+ };
52
+ }
53
+ }
54
+ /**
55
+ * 📤 Синхронизация массива файлов (для web/браузера)
56
+ */
57
+ async syncFiles(projectId, files, options = {}) {
58
+ this.ensureEnabled();
59
+ const startTime = Date.now();
60
+ try {
61
+ this.logger.log(`📤 Начинаю синхронизацию ${files.length} файлов для проекта ${projectId}`);
62
+ // 1. Инициализация синхронизации
63
+ const rootHash = this.utils.calculateRootHash(files);
64
+ const initResult = await this.deltaApi.initSync(projectId, { clientRootHash: rootHash });
65
+ this.logger.log(`🔄 Сессия инициализирована: ${initResult.sessionId}`);
66
+ // 2. Создание чанков
67
+ const chunks = await this.utils.createChunksFromFiles(files);
68
+ this.logger.log(`🔧 Создано чанков: ${chunks.length}`);
69
+ // 3. Шифрование чанков
70
+ const encryptedChunks = await this.utils.encryptChunks(chunks);
71
+ // 4. Отправка батчами
72
+ const batchSize = options.batchSize || 50;
73
+ let processedTotal = 0;
74
+ const errors = [];
75
+ for (let i = 0; i < encryptedChunks.length; i += batchSize) {
76
+ const batch = encryptedChunks.slice(i, i + batchSize);
77
+ try {
78
+ const batchResult = await this.deltaApi.uploadChunkBatch(projectId, {
79
+ batchIndex: Math.floor(i / batchSize),
80
+ totalBatches: Math.ceil(encryptedChunks.length / batchSize),
81
+ chunks: batch,
82
+ });
83
+ processedTotal += batchResult.processed;
84
+ // Уведомление о прогрессе
85
+ if (options.onProgress) {
86
+ options.onProgress(i + batch.length, encryptedChunks.length);
87
+ }
88
+ }
89
+ catch (error) {
90
+ const errorMessage = error instanceof Error ? error.message : String(error);
91
+ errors.push(`Ошибка батча ${Math.floor(i / batchSize)}: ${errorMessage}`);
92
+ }
93
+ }
94
+ // 5. Финализация
95
+ const finalizeResult = await this.deltaApi.finalizeSync(initResult.sessionId);
96
+ const duration = Date.now() - startTime;
97
+ this.logger.log(`✅ Синхронизация завершена за ${duration}ms. Обработано: ${processedTotal}`);
98
+ return {
99
+ success: finalizeResult.success,
100
+ projectId,
101
+ sessionId: initResult.sessionId,
102
+ processedChunks: processedTotal,
103
+ totalChunks: chunks.length,
104
+ duration,
105
+ error: errors.length > 0 ? errors.join('; ') : undefined,
106
+ details: {
107
+ newFiles: files.length, // Упрощено для начала
108
+ changedFiles: 0,
109
+ deletedFiles: 0,
110
+ }
111
+ };
112
+ }
113
+ catch (error) {
114
+ const errorMessage = error instanceof Error ? error.message : String(error);
115
+ this.logger.error(`❌ Ошибка синхронизации файлов: ${errorMessage}`);
116
+ return {
117
+ success: false,
118
+ projectId,
119
+ processedChunks: 0,
120
+ totalChunks: files.length,
121
+ duration: Date.now() - startTime,
122
+ error: errorMessage,
123
+ };
124
+ }
125
+ }
126
+ /**
127
+ * 👀 Запуск автоматического наблюдения за изменениями
128
+ */
129
+ async startAutoSync(projectId, watchPath) {
130
+ this.ensureEnabled();
131
+ this.logger.log(`👀 Запускаю auto-sync для проекта ${projectId} в ${watchPath}`);
132
+ const watcher = {
133
+ projectId,
134
+ watchPath,
135
+ isActive: false,
136
+ on: (event, callback) => {
137
+ // TODO: Реализовать event listener
138
+ console.log(`📡 Event listener добавлен для ${event}`);
139
+ },
140
+ async start() {
141
+ this.isActive = true;
142
+ // TODO: Реализовать реальный file watching
143
+ console.log(`🟢 File watcher запущен для ${watchPath}`);
144
+ },
145
+ async stop() {
146
+ this.isActive = false;
147
+ console.log(`🔴 File watcher остановлен для ${watchPath}`);
148
+ }
149
+ };
150
+ // Регистрируем watcher
151
+ this.activeWatchers.set(`${projectId}:${watchPath}`, watcher);
152
+ // TODO: Интеграция с реальным file watching (fs.watch для Node.js)
153
+ this.logger.warn('⚠️ File watching пока в разработке - используйте ручную синхронизацию');
154
+ return watcher;
155
+ }
156
+ /**
157
+ * 📊 Получение статуса синхронизации
158
+ */
159
+ async getSyncStatus(projectId) {
160
+ this.ensureEnabled();
161
+ return await this.deltaApi.getSyncStatus(projectId);
162
+ }
163
+ /**
164
+ * ❌ Отмена активной синхронизации
165
+ */
166
+ async cancelSync(projectId) {
167
+ this.ensureEnabled();
168
+ const result = await this.deltaApi.cancelSync(projectId);
169
+ return result.success;
170
+ }
171
+ /**
172
+ * Получение активных file watchers
173
+ */
174
+ getActiveWatchers() {
175
+ return new Map(this.activeWatchers);
176
+ }
177
+ /**
178
+ * Остановка всех file watchers
179
+ */
180
+ async stopAllWatchers() {
181
+ this.logger.log(`⏹️ Останавливаю ${this.activeWatchers.size} активных watchers`);
182
+ for (const [key, watcher] of this.activeWatchers) {
183
+ try {
184
+ await watcher.stop();
185
+ }
186
+ catch (error) {
187
+ this.logger.warn(`⚠️ Ошибка остановки watcher ${key}: ${error instanceof Error ? error.message : 'unknown'}`);
188
+ }
189
+ }
190
+ this.activeWatchers.clear();
191
+ }
192
+ /**
193
+ * Проверка что delta-chunking включен
194
+ */
195
+ ensureEnabled() {
196
+ if (!this.isEnabled) {
197
+ throw new Error('Delta-chunking не включен. Установите deltaChunking.enabled = true в конфигурации SDK');
198
+ }
199
+ }
200
+ }
201
+ exports.DeltaChunkingManager = DeltaChunkingManager;
202
+ //# sourceMappingURL=delta-chunking-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delta-chunking-manager.js","sourceRoot":"","sources":["../../../src/delta-chunking/delta-chunking-manager.ts"],"names":[],"mappings":"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"}