@syntero/orca-cli 1.2.5 → 1.2.6
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/dist/components/ChatApp.js +2 -2
- package/dist/components/ChatApp.js.map +1 -1
- package/dist/components/InputFooter.d.ts +3 -3
- package/dist/components/InputFooter.d.ts.map +1 -1
- package/dist/components/InputFooter.js +3 -3
- package/dist/components/InputFooter.js.map +1 -1
- package/dist/components/SyncMenu.d.ts +4 -4
- package/dist/components/SyncMenu.d.ts.map +1 -1
- package/dist/components/SyncMenu.js +26 -26
- package/dist/components/SyncMenu.js.map +1 -1
- package/dist/hooks/useInputDispatch.js +1 -1
- package/dist/hooks/useInputDispatch.js.map +1 -1
- package/dist/hooks/useSyncFetchers.d.ts +1 -1
- package/dist/hooks/useSyncFetchers.d.ts.map +1 -1
- package/dist/hooks/useSyncFetchers.js +8 -9
- package/dist/hooks/useSyncFetchers.js.map +1 -1
- package/dist/sync/download.d.ts +0 -27
- package/dist/sync/download.d.ts.map +1 -1
- package/dist/sync/download.js +2 -54
- package/dist/sync/download.js.map +1 -1
- package/dist/sync/index.d.ts +1 -1
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/manifest.d.ts +2 -37
- package/dist/sync/manifest.d.ts.map +1 -1
- package/dist/sync/manifest.js +3 -46
- package/dist/sync/manifest.js.map +1 -1
- package/dist/sync/progress.d.ts +3 -84
- package/dist/sync/progress.d.ts.map +1 -1
- package/dist/sync/progress.js +32 -71
- package/dist/sync/progress.js.map +1 -1
- package/dist/sync/sync-engine.d.ts +4 -4
- package/dist/sync/sync-engine.d.ts.map +1 -1
- package/dist/sync/sync-engine.js +77 -185
- package/dist/sync/sync-engine.js.map +1 -1
- package/dist/types/sync.d.ts +37 -119
- package/dist/types/sync.d.ts.map +1 -1
- package/dist/types/sync.js +3 -1
- package/dist/types/sync.js.map +1 -1
- package/package.json +1 -1
package/dist/sync/sync-engine.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Sync Engine - Main sync logic for library sync.
|
|
2
|
+
* Sync Engine - Main sync logic for file-based library sync.
|
|
3
3
|
*
|
|
4
4
|
* Handles the complete sync workflow:
|
|
5
5
|
* 1. Pre-flight checks
|
|
6
|
-
* 2. Fetch remote manifest
|
|
7
|
-
* 3. Compare with local manifest
|
|
6
|
+
* 2. Fetch remote file manifest
|
|
7
|
+
* 3. Compare with local manifest (file-by-file hash comparison)
|
|
8
8
|
* 4. Build sync plan
|
|
9
9
|
* 5. Execute sync (download, verify, write to container)
|
|
10
10
|
* 6. Update local manifest and services registry
|
|
11
11
|
*/
|
|
12
12
|
import { cloudRequest, loadCredentials } from '../auth.js';
|
|
13
13
|
import { debugLog } from '../utils.js';
|
|
14
|
-
import { runPreflightChecks, writeFileToSandbox, readFileFromSandbox, deleteFromSandbox, getLibraryPath, getServicesRegistryPath
|
|
14
|
+
import { runPreflightChecks, writeFileToSandbox, readFileFromSandbox, deleteFromSandbox, getLibraryPath, getServicesRegistryPath } from './docker.js';
|
|
15
15
|
import { loadLocalManifest, saveLocalManifest, loadSyncState, startSync, completeSync, isFirstSync } from './manifest.js';
|
|
16
16
|
import { mergeServicesRegistry } from './services.js';
|
|
17
17
|
import { downloadWithRetry } from './download.js';
|
|
@@ -64,14 +64,14 @@ export class SyncEngine {
|
|
|
64
64
|
displayWarning('-'.repeat(40));
|
|
65
65
|
console.log(`The local library already contains ${preflight.existingLibraryContent} files.`);
|
|
66
66
|
console.log('Syncing will overwrite any files that conflict with the remote library.');
|
|
67
|
-
console.log('Local-only
|
|
67
|
+
console.log('Local-only files will be preserved.');
|
|
68
68
|
console.log('\nRun with --force to proceed anyway.');
|
|
69
69
|
return this.createFailedResult(startTime, errors);
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
// 2. Fetch remote manifest
|
|
73
73
|
this.progressState.phase = 'manifest';
|
|
74
|
-
displayPhase('Fetching
|
|
74
|
+
displayPhase('Fetching file manifest...');
|
|
75
75
|
const { manifest: remoteManifest, unchanged } = await this.fetchRemoteManifest();
|
|
76
76
|
if (!remoteManifest) {
|
|
77
77
|
displayError('Failed to fetch remote manifest');
|
|
@@ -82,9 +82,6 @@ export class SyncEngine {
|
|
|
82
82
|
return {
|
|
83
83
|
success: true,
|
|
84
84
|
stats: {
|
|
85
|
-
newSolutions: 0,
|
|
86
|
-
updatedSolutions: 0,
|
|
87
|
-
deletedSolutions: 0,
|
|
88
85
|
filesDownloaded: 0,
|
|
89
86
|
filesDeleted: 0,
|
|
90
87
|
bytesDownloaded: 0,
|
|
@@ -93,33 +90,26 @@ export class SyncEngine {
|
|
|
93
90
|
errors: []
|
|
94
91
|
};
|
|
95
92
|
}
|
|
96
|
-
// Remote
|
|
97
|
-
if (remoteManifest.
|
|
98
|
-
displayWarning(`Remote library has no
|
|
99
|
-
displayWarning('Solutions may exist in the catalog but haven\'t been published to the library yet.');
|
|
93
|
+
// Remote is empty but user selected specific paths — warn clearly
|
|
94
|
+
if (remoteManifest.files.length === 0 && this.options.pathFilter && this.options.pathFilter.length > 0) {
|
|
95
|
+
displayWarning(`Remote library has no files matching: ${this.options.pathFilter.join(', ')}`);
|
|
100
96
|
return {
|
|
101
97
|
success: false,
|
|
102
98
|
stats: {
|
|
103
|
-
newSolutions: 0,
|
|
104
|
-
updatedSolutions: 0,
|
|
105
|
-
deletedSolutions: 0,
|
|
106
99
|
filesDownloaded: 0,
|
|
107
100
|
filesDeleted: 0,
|
|
108
101
|
bytesDownloaded: 0,
|
|
109
102
|
durationMs: Date.now() - startTime
|
|
110
103
|
},
|
|
111
|
-
errors: [{
|
|
104
|
+
errors: [{ path: this.options.pathFilter.join(', '), error: 'No matching files in remote library' }]
|
|
112
105
|
};
|
|
113
106
|
}
|
|
114
|
-
// Remote
|
|
115
|
-
if (remoteManifest.
|
|
107
|
+
// Remote is completely empty
|
|
108
|
+
if (remoteManifest.files.length === 0) {
|
|
116
109
|
displayWarning('Remote library is empty. Nothing to sync.');
|
|
117
110
|
return {
|
|
118
111
|
success: true,
|
|
119
112
|
stats: {
|
|
120
|
-
newSolutions: 0,
|
|
121
|
-
updatedSolutions: 0,
|
|
122
|
-
deletedSolutions: 0,
|
|
123
113
|
filesDownloaded: 0,
|
|
124
114
|
filesDeleted: 0,
|
|
125
115
|
bytesDownloaded: 0,
|
|
@@ -128,41 +118,18 @@ export class SyncEngine {
|
|
|
128
118
|
errors: []
|
|
129
119
|
};
|
|
130
120
|
}
|
|
131
|
-
// 3. Load local manifest
|
|
121
|
+
// 3. Load local manifest
|
|
132
122
|
this.progressState.phase = 'comparing';
|
|
133
|
-
displayPhase('Comparing with local
|
|
123
|
+
displayPhase('Comparing with local files...');
|
|
134
124
|
const localManifest = loadLocalManifest();
|
|
135
|
-
// Validate: evict solutions from manifest that no longer exist in the target container.
|
|
136
|
-
// The manifest is a cache — external actions (UI delete, container reset) can invalidate it.
|
|
137
|
-
if (localManifest && localManifest.solutions.length > 0) {
|
|
138
|
-
const orgId = this.options.orgId || creds.org_id;
|
|
139
|
-
const before = localManifest.solutions.length;
|
|
140
|
-
localManifest.solutions = localManifest.solutions.filter(s => {
|
|
141
|
-
const exists = directoryExistsInSandbox(orgId, `${getLibraryPath()}/${s.library_id}`);
|
|
142
|
-
if (!exists) {
|
|
143
|
-
debugLog(`[sync] Manifest entry "${s.library_id}" missing from target container — evicting`);
|
|
144
|
-
}
|
|
145
|
-
return exists;
|
|
146
|
-
});
|
|
147
|
-
const evicted = before - localManifest.solutions.length;
|
|
148
|
-
if (evicted > 0) {
|
|
149
|
-
displayWarning(`${evicted} solution${evicted > 1 ? 's' : ''} missing from target — will re-download.`);
|
|
150
|
-
saveLocalManifest(localManifest);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
125
|
// 4. Build sync plan
|
|
154
126
|
const plan = this.buildSyncPlan(localManifest, remoteManifest);
|
|
155
127
|
// Check if any changes
|
|
156
|
-
if (plan.
|
|
157
|
-
plan.modifiedSolutions.length === 0 &&
|
|
158
|
-
plan.deletedSolutions.length === 0) {
|
|
128
|
+
if (plan.filesToDownload.length === 0 && plan.filesToDelete.length === 0) {
|
|
159
129
|
displaySuccess('Library is up to date.');
|
|
160
130
|
return {
|
|
161
131
|
success: true,
|
|
162
132
|
stats: {
|
|
163
|
-
newSolutions: 0,
|
|
164
|
-
updatedSolutions: 0,
|
|
165
|
-
deletedSolutions: 0,
|
|
166
133
|
filesDownloaded: 0,
|
|
167
134
|
filesDeleted: 0,
|
|
168
135
|
bytesDownloaded: 0,
|
|
@@ -177,9 +144,6 @@ export class SyncEngine {
|
|
|
177
144
|
return {
|
|
178
145
|
success: true,
|
|
179
146
|
stats: {
|
|
180
|
-
newSolutions: plan.newSolutions.length,
|
|
181
|
-
updatedSolutions: plan.modifiedSolutions.length,
|
|
182
|
-
deletedSolutions: plan.deletedSolutions.length,
|
|
183
147
|
filesDownloaded: plan.filesToDownload.length,
|
|
184
148
|
filesDeleted: plan.filesToDelete.length,
|
|
185
149
|
bytesDownloaded: 0,
|
|
@@ -221,16 +185,12 @@ export class SyncEngine {
|
|
|
221
185
|
displayPhase(`Resuming sync: ${state.pending_queue.files_to_download.length} files remaining`);
|
|
222
186
|
// Convert pending queue to sync plan
|
|
223
187
|
const plan = {
|
|
224
|
-
newSolutions: state.pending_queue.solutions_to_sync || [],
|
|
225
|
-
modifiedSolutions: [],
|
|
226
|
-
deletedSolutions: state.pending_queue.solutions_to_delete || [],
|
|
227
188
|
filesToDownload: state.pending_queue.files_to_download.map(f => ({
|
|
228
|
-
solution: f.solution,
|
|
229
189
|
path: f.path,
|
|
230
190
|
hash: f.hash,
|
|
231
191
|
size: 0 // Size not stored in pending queue
|
|
232
192
|
})),
|
|
233
|
-
filesToDelete: []
|
|
193
|
+
filesToDelete: (state.pending_queue.files_to_delete || []).map(p => ({ path: p }))
|
|
234
194
|
};
|
|
235
195
|
const creds = loadCredentials();
|
|
236
196
|
if (!creds) {
|
|
@@ -239,7 +199,7 @@ export class SyncEngine {
|
|
|
239
199
|
}
|
|
240
200
|
const startTime = Date.now();
|
|
241
201
|
const errors = [];
|
|
242
|
-
// Fetch fresh manifest for
|
|
202
|
+
// Fetch fresh manifest for services registry
|
|
243
203
|
const { manifest: remoteManifest } = await this.fetchRemoteManifest();
|
|
244
204
|
if (!remoteManifest) {
|
|
245
205
|
displayError('Failed to fetch remote manifest');
|
|
@@ -273,7 +233,6 @@ export class SyncEngine {
|
|
|
273
233
|
syncStatus: status.status,
|
|
274
234
|
lastSyncTime: status.lastSyncTime,
|
|
275
235
|
lastSyncRelative: status.lastSyncRelative,
|
|
276
|
-
solutionCount: status.solutionCount,
|
|
277
236
|
fileCount: status.fileCount,
|
|
278
237
|
totalSize: status.totalSize,
|
|
279
238
|
orgId: status.orgId,
|
|
@@ -288,11 +247,15 @@ export class SyncEngine {
|
|
|
288
247
|
try {
|
|
289
248
|
debugLog('[sync] fetchRemoteManifest: Starting...');
|
|
290
249
|
// Build query params
|
|
291
|
-
|
|
292
|
-
if (this.options.
|
|
293
|
-
|
|
294
|
-
debugLog(`[sync] fetchRemoteManifest: Using solution filter: ${queryParams}`);
|
|
250
|
+
const params = new URLSearchParams();
|
|
251
|
+
if (this.options.basePath) {
|
|
252
|
+
params.set('path', this.options.basePath);
|
|
295
253
|
}
|
|
254
|
+
if (this.options.pathFilter && this.options.pathFilter.length > 0) {
|
|
255
|
+
params.set('paths', this.options.pathFilter.join(','));
|
|
256
|
+
debugLog(`[sync] fetchRemoteManifest: Using path filter: ${this.options.pathFilter.join(',')}`);
|
|
257
|
+
}
|
|
258
|
+
const queryString = params.toString() ? `?${params.toString()}` : '';
|
|
296
259
|
// Check for cached ETag
|
|
297
260
|
const localManifest = loadLocalManifest();
|
|
298
261
|
const headers = {};
|
|
@@ -303,7 +266,7 @@ export class SyncEngine {
|
|
|
303
266
|
if (this.options.orgId) {
|
|
304
267
|
headers['X-Org-Id'] = this.options.orgId;
|
|
305
268
|
}
|
|
306
|
-
const endpoint = `/api/v2/library/sync/manifest${
|
|
269
|
+
const endpoint = `/api/v2/library/sync/manifest${queryString}`;
|
|
307
270
|
debugLog(`[sync] fetchRemoteManifest: Requesting ${endpoint}`);
|
|
308
271
|
const response = await cloudRequest('GET', endpoint, undefined, headers);
|
|
309
272
|
debugLog(`[sync] fetchRemoteManifest: Response status=${response.status}`);
|
|
@@ -316,7 +279,6 @@ export class SyncEngine {
|
|
|
316
279
|
const errorData = response.data;
|
|
317
280
|
const errorMsg = errorData.error || errorData.message || `HTTP ${response.status}`;
|
|
318
281
|
debugLog(`[sync] fetchRemoteManifest: Error - ${errorMsg}`);
|
|
319
|
-
debugLog(`[sync] fetchRemoteManifest: Full response data: ${JSON.stringify(response.data)}`);
|
|
320
282
|
throw new Error(errorMsg);
|
|
321
283
|
}
|
|
322
284
|
const responseData = response.data;
|
|
@@ -324,7 +286,7 @@ export class SyncEngine {
|
|
|
324
286
|
debugLog(`[sync] fetchRemoteManifest: Invalid response format - status=${responseData.status}`);
|
|
325
287
|
throw new Error('Invalid response format');
|
|
326
288
|
}
|
|
327
|
-
debugLog(`[sync] fetchRemoteManifest: Success - ${responseData.data.
|
|
289
|
+
debugLog(`[sync] fetchRemoteManifest: Success - ${responseData.data.files?.length || 0} files`);
|
|
328
290
|
return { manifest: responseData.data, unchanged: false };
|
|
329
291
|
}
|
|
330
292
|
catch (e) {
|
|
@@ -335,70 +297,29 @@ export class SyncEngine {
|
|
|
335
297
|
}
|
|
336
298
|
}
|
|
337
299
|
/**
|
|
338
|
-
* Build sync plan by comparing
|
|
300
|
+
* Build sync plan by comparing local and remote file lists.
|
|
339
301
|
*/
|
|
340
302
|
buildSyncPlan(local, remote) {
|
|
341
|
-
const
|
|
342
|
-
const
|
|
343
|
-
const plan = {
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
filesToDownload: [],
|
|
348
|
-
filesToDelete: []
|
|
349
|
-
};
|
|
350
|
-
// Find new and modified solutions
|
|
351
|
-
for (const [id, remoteSolution] of remoteSolutions) {
|
|
352
|
-
// Apply solution filter if specified
|
|
353
|
-
if (this.options.solutionFilter && !this.options.solutionFilter.includes(id)) {
|
|
303
|
+
const localFiles = new Map((local?.files || []).map(f => [f.path, f.hash]));
|
|
304
|
+
const remoteFiles = new Map(remote.files.map(f => [f.path, f]));
|
|
305
|
+
const plan = { filesToDownload: [], filesToDelete: [] };
|
|
306
|
+
// Files to download: new or changed hash
|
|
307
|
+
for (const [filePath, remoteFile] of remoteFiles) {
|
|
308
|
+
if (this.options.pathFilter && !this.options.pathFilter.some(p => filePath.startsWith(p + '/'))) {
|
|
354
309
|
continue;
|
|
355
310
|
}
|
|
356
|
-
const
|
|
357
|
-
if (!
|
|
358
|
-
|
|
359
|
-
plan.newSolutions.push(id);
|
|
360
|
-
for (const file of remoteSolution.files) {
|
|
361
|
-
plan.filesToDownload.push({
|
|
362
|
-
solution: id,
|
|
363
|
-
path: file.path,
|
|
364
|
-
hash: file.hash,
|
|
365
|
-
size: file.size
|
|
366
|
-
});
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
else if (localSolution.solution_hash !== remoteSolution.solution_hash) {
|
|
370
|
-
// Modified solution - find specific file changes
|
|
371
|
-
plan.modifiedSolutions.push(id);
|
|
372
|
-
const localFiles = new Map(localSolution.files.map(f => [f.path, f]));
|
|
373
|
-
const remoteFiles = new Map(remoteSolution.files.map(f => [f.path, f]));
|
|
374
|
-
// Files to download (new or changed)
|
|
375
|
-
for (const [filePath, remoteFile] of remoteFiles) {
|
|
376
|
-
const localFile = localFiles.get(filePath);
|
|
377
|
-
if (!localFile || localFile.hash !== remoteFile.hash) {
|
|
378
|
-
plan.filesToDownload.push({
|
|
379
|
-
solution: id,
|
|
380
|
-
path: filePath,
|
|
381
|
-
hash: remoteFile.hash,
|
|
382
|
-
size: remoteFile.size
|
|
383
|
-
});
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
// Files to delete (removed from solution)
|
|
387
|
-
for (const [filePath] of localFiles) {
|
|
388
|
-
if (!remoteFiles.has(filePath)) {
|
|
389
|
-
plan.filesToDelete.push({ solution: id, path: filePath });
|
|
390
|
-
}
|
|
391
|
-
}
|
|
311
|
+
const localHash = localFiles.get(filePath);
|
|
312
|
+
if (!localHash || localHash !== remoteFile.hash) {
|
|
313
|
+
plan.filesToDownload.push({ path: filePath, hash: remoteFile.hash, size: remoteFile.size });
|
|
392
314
|
}
|
|
393
315
|
}
|
|
394
|
-
//
|
|
395
|
-
for (const [
|
|
396
|
-
if (!
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
}
|
|
401
|
-
plan.deletedSolutions.push(id);
|
|
316
|
+
// Files to delete: in local but not in remote
|
|
317
|
+
for (const [filePath] of localFiles) {
|
|
318
|
+
if (this.options.pathFilter && !this.options.pathFilter.some(p => filePath.startsWith(p + '/'))) {
|
|
319
|
+
continue;
|
|
320
|
+
}
|
|
321
|
+
if (!remoteFiles.has(filePath)) {
|
|
322
|
+
plan.filesToDelete.push({ path: filePath });
|
|
402
323
|
}
|
|
403
324
|
}
|
|
404
325
|
return plan;
|
|
@@ -408,9 +329,6 @@ export class SyncEngine {
|
|
|
408
329
|
*/
|
|
409
330
|
async executeSyncPlan(plan, orgId, remoteManifest, errors) {
|
|
410
331
|
const stats = {
|
|
411
|
-
newSolutions: plan.newSolutions.length,
|
|
412
|
-
updatedSolutions: plan.modifiedSolutions.length,
|
|
413
|
-
deletedSolutions: 0,
|
|
414
332
|
filesDownloaded: 0,
|
|
415
333
|
filesDeleted: 0,
|
|
416
334
|
bytesDownloaded: 0
|
|
@@ -423,22 +341,21 @@ export class SyncEngine {
|
|
|
423
341
|
this.progressState.bytesComplete = 0;
|
|
424
342
|
// Download files in batches
|
|
425
343
|
if (plan.filesToDownload.length > 0) {
|
|
426
|
-
const downloadResult = await downloadWithRetry(plan.filesToDownload, (downloaded,
|
|
344
|
+
const downloadResult = await downloadWithRetry(plan.filesToDownload, (downloaded, _total) => {
|
|
427
345
|
this.progressState.filesComplete = downloaded;
|
|
428
346
|
displayProgress(this.progressState);
|
|
429
347
|
}, this.options.orgId);
|
|
430
348
|
// Write downloaded files to sandbox
|
|
431
349
|
for (const file of downloadResult.files) {
|
|
432
350
|
try {
|
|
433
|
-
const containerPath = `${getLibraryPath()}/${file.
|
|
351
|
+
const containerPath = `${getLibraryPath()}/${file.path}`;
|
|
434
352
|
await writeFileToSandbox(orgId, containerPath, file.content);
|
|
435
353
|
stats.filesDownloaded++;
|
|
436
354
|
stats.bytesDownloaded += file.content.length;
|
|
437
355
|
}
|
|
438
356
|
catch (e) {
|
|
439
357
|
errors.push({
|
|
440
|
-
|
|
441
|
-
file: file.path,
|
|
358
|
+
path: file.path,
|
|
442
359
|
error: e instanceof Error ? e.message : String(e)
|
|
443
360
|
});
|
|
444
361
|
}
|
|
@@ -452,34 +369,19 @@ export class SyncEngine {
|
|
|
452
369
|
this.progressState.phase = 'cleaning';
|
|
453
370
|
for (const file of plan.filesToDelete) {
|
|
454
371
|
try {
|
|
455
|
-
const containerPath = `${getLibraryPath()}/${file.
|
|
372
|
+
const containerPath = `${getLibraryPath()}/${file.path}`;
|
|
456
373
|
deleteFromSandbox(orgId, containerPath);
|
|
457
374
|
stats.filesDeleted++;
|
|
458
375
|
}
|
|
459
376
|
catch (e) {
|
|
460
377
|
errors.push({
|
|
461
|
-
|
|
462
|
-
file: file.path,
|
|
463
|
-
error: e instanceof Error ? e.message : String(e)
|
|
464
|
-
});
|
|
465
|
-
}
|
|
466
|
-
}
|
|
467
|
-
// Delete entire solutions
|
|
468
|
-
for (const solutionId of plan.deletedSolutions) {
|
|
469
|
-
try {
|
|
470
|
-
const solutionPath = `${getLibraryPath()}/${solutionId}`;
|
|
471
|
-
deleteFromSandbox(orgId, solutionPath);
|
|
472
|
-
stats.deletedSolutions++;
|
|
473
|
-
}
|
|
474
|
-
catch (e) {
|
|
475
|
-
errors.push({
|
|
476
|
-
solution: solutionId,
|
|
378
|
+
path: file.path,
|
|
477
379
|
error: e instanceof Error ? e.message : String(e)
|
|
478
380
|
});
|
|
479
381
|
}
|
|
480
382
|
}
|
|
481
383
|
// Update services registry
|
|
482
|
-
await this.updateServicesRegistry(orgId, remoteManifest
|
|
384
|
+
await this.updateServicesRegistry(orgId, remoteManifest);
|
|
483
385
|
// Update local manifest
|
|
484
386
|
await this.updateLocalManifest(remoteManifest, plan);
|
|
485
387
|
return stats;
|
|
@@ -487,7 +389,7 @@ export class SyncEngine {
|
|
|
487
389
|
/**
|
|
488
390
|
* Update the services registry in the sandbox.
|
|
489
391
|
*/
|
|
490
|
-
async updateServicesRegistry(orgId, remoteManifest
|
|
392
|
+
async updateServicesRegistry(orgId, remoteManifest) {
|
|
491
393
|
try {
|
|
492
394
|
// Read current local services registry
|
|
493
395
|
let localRegistry = {};
|
|
@@ -498,14 +400,15 @@ export class SyncEngine {
|
|
|
498
400
|
catch {
|
|
499
401
|
// No existing registry or couldn't read
|
|
500
402
|
}
|
|
501
|
-
//
|
|
502
|
-
const
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
403
|
+
// Determine which top-level folders were synced (for merge logic)
|
|
404
|
+
const syncedFolders = new Set();
|
|
405
|
+
for (const file of remoteManifest.files) {
|
|
406
|
+
const topFolder = file.path.split('/')[0];
|
|
407
|
+
if (topFolder)
|
|
408
|
+
syncedFolders.add(topFolder);
|
|
409
|
+
}
|
|
507
410
|
// Merge registries
|
|
508
|
-
const merged = mergeServicesRegistry(remoteManifest.services_registry, localRegistry,
|
|
411
|
+
const merged = mergeServicesRegistry(remoteManifest.services_registry, localRegistry, syncedFolders);
|
|
509
412
|
// Write updated registry
|
|
510
413
|
const content = Buffer.from(JSON.stringify(merged, null, 2));
|
|
511
414
|
await writeFileToSandbox(orgId, getServicesRegistryPath(), content);
|
|
@@ -521,42 +424,34 @@ export class SyncEngine {
|
|
|
521
424
|
*/
|
|
522
425
|
async updateLocalManifest(remoteManifest, plan) {
|
|
523
426
|
const currentManifest = loadLocalManifest();
|
|
524
|
-
// Build map of existing
|
|
525
|
-
const
|
|
427
|
+
// Build map of existing files
|
|
428
|
+
const fileMap = new Map();
|
|
526
429
|
if (currentManifest) {
|
|
527
|
-
for (const
|
|
528
|
-
|
|
430
|
+
for (const f of currentManifest.files) {
|
|
431
|
+
fileMap.set(f.path, f);
|
|
529
432
|
}
|
|
530
433
|
}
|
|
531
|
-
// Remove deleted
|
|
532
|
-
for (const
|
|
533
|
-
|
|
434
|
+
// Remove deleted files
|
|
435
|
+
for (const file of plan.filesToDelete) {
|
|
436
|
+
fileMap.delete(file.path);
|
|
534
437
|
}
|
|
535
|
-
// Add/update
|
|
536
|
-
const
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
solution_hash: remoteSolution.solution_hash,
|
|
543
|
-
synced_at: now,
|
|
544
|
-
files: remoteSolution.files.map(f => ({
|
|
545
|
-
path: f.path,
|
|
546
|
-
hash: f.hash,
|
|
547
|
-
size: f.size
|
|
548
|
-
})),
|
|
549
|
-
status: 'complete'
|
|
550
|
-
});
|
|
551
|
-
}
|
|
438
|
+
// Add/update downloaded files
|
|
439
|
+
for (const file of plan.filesToDownload) {
|
|
440
|
+
fileMap.set(file.path, {
|
|
441
|
+
path: file.path,
|
|
442
|
+
hash: file.hash,
|
|
443
|
+
size: file.size
|
|
444
|
+
});
|
|
552
445
|
}
|
|
446
|
+
const now = new Date().toISOString();
|
|
553
447
|
// Save updated manifest
|
|
554
448
|
const newManifest = {
|
|
555
|
-
version:
|
|
449
|
+
version: 2,
|
|
556
450
|
updated_at: now,
|
|
557
451
|
org_id: remoteManifest.org_id,
|
|
558
452
|
endpoint: remoteManifest.endpoint,
|
|
559
|
-
|
|
453
|
+
base_path: remoteManifest.base_path,
|
|
454
|
+
files: Array.from(fileMap.values()),
|
|
560
455
|
services_registry: remoteManifest.services_registry
|
|
561
456
|
};
|
|
562
457
|
saveLocalManifest(newManifest);
|
|
@@ -568,9 +463,6 @@ export class SyncEngine {
|
|
|
568
463
|
return {
|
|
569
464
|
success: false,
|
|
570
465
|
stats: {
|
|
571
|
-
newSolutions: 0,
|
|
572
|
-
updatedSolutions: 0,
|
|
573
|
-
deletedSolutions: 0,
|
|
574
466
|
filesDownloaded: 0,
|
|
575
467
|
filesDeleted: 0,
|
|
576
468
|
bytesDownloaded: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-engine.js","sourceRoot":"","sources":["../../src/sync/sync-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync-engine.js","sourceRoot":"","sources":["../../src/sync/sync-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAUvC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,uBAAuB,EACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,YAAY,EACZ,WAAW,EACZ,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EACL,eAAe,EACf,YAAY,EACZ,cAAc,EACd,cAAc,EACd,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EAElB,MAAM,eAAe,CAAC;AAEvB;;GAEG;AACH,MAAM,OAAO,UAAU;IACb,OAAO,CAAc;IACrB,aAAa,CAAgB;IAErC,YAAY,UAAuB,EAAE;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG;YACnB,KAAK,EAAE,WAAW;YAClB,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC;YAChB,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,CAAC;YAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAyB,EAAE,CAAC;QAExC,kBAAkB;QAClB,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,YAAY,CAAC,sCAAsC,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;QAED,uBAAuB;QACvB,YAAY,CAAC,8BAA8B,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEzD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACvB,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACrC,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;YACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACzC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QAED,+BAA+B;QAC/B,IAAI,WAAW,EAAE,IAAI,SAAS,CAAC,sBAAsB,IAAI,SAAS,CAAC,sBAAsB,GAAG,CAAC,EAAE,CAAC;YAC9F,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACxB,cAAc,CAAC,sBAAsB,CAAC,CAAC;gBACvC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,sCAAsC,SAAS,CAAC,sBAAsB,SAAS,CAAC,CAAC;gBAC7F,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;gBACvF,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;gBACrD,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,UAAU,CAAC;QACtC,YAAY,CAAC,2BAA2B,CAAC,CAAC;QAE1C,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEjF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,YAAY,CAAC,iCAAiC,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrC,cAAc,CAAC,wBAAwB,CAAC,CAAC;YACzC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE;oBACL,eAAe,EAAE,CAAC;oBAClB,YAAY,EAAE,CAAC;oBACf,eAAe,EAAE,CAAC;oBAClB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACnC;gBACD,MAAM,EAAE,EAAE;aACX,CAAC;QACJ,CAAC;QAED,kEAAkE;QAClE,IAAI,cAAc,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvG,cAAc,CAAC,yCAAyC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9F,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,eAAe,EAAE,CAAC;oBAClB,YAAY,EAAE,CAAC;oBACf,eAAe,EAAE,CAAC;oBAClB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACnC;gBACD,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,qCAAqC,EAAE,CAAC;aACrG,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,IAAI,cAAc,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,cAAc,CAAC,2CAA2C,CAAC,CAAC;YAC5D,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE;oBACL,eAAe,EAAE,CAAC;oBAClB,YAAY,EAAE,CAAC;oBACf,eAAe,EAAE,CAAC;oBAClB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACnC;gBACD,MAAM,EAAE,EAAE;aACX,CAAC;QACJ,CAAC;QAED,yBAAyB;QACzB,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,WAAW,CAAC;QACvC,YAAY,CAAC,+BAA+B,CAAC,CAAC;QAE9C,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;QAE1C,qBAAqB;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAE/D,uBAAuB;QACvB,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzE,cAAc,CAAC,wBAAwB,CAAC,CAAC;YACzC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE;oBACL,eAAe,EAAE,CAAC;oBAClB,YAAY,EAAE,CAAC;oBACf,eAAe,EAAE,CAAC;oBAClB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACnC;gBACD,MAAM,EAAE,EAAE;aACX,CAAC;QACJ,CAAC;QAED,eAAe;QACf,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACxB,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACxB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE;oBACL,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;oBAC5C,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM;oBACvC,eAAe,EAAE,CAAC;oBAClB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACnC;gBACD,MAAM,EAAE,EAAE;aACX,CAAC;QACJ,CAAC;QAED,eAAe,CAAC,IAAI,CAAC,CAAC;QAEtB,kBAAkB;QAClB,SAAS,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAE3G,cAAc;QACd,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC1C,MAAM,UAAU,GAAc;YAC5B,gBAAgB,EAAE,KAAK,CAAC,eAAe;YACvC,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,KAAK,CAAC,YAAY;YACjC,gBAAgB,EAAE,KAAK,CAAC,eAAe;YACvC,WAAW,EAAE,UAAU;SACxB,CAAC;QAEF,YAAY,CAAC,UAAU,CAAC,CAAC;QACzB,mBAAmB,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAE9C,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC5B,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE;YAC/B,MAAM;SACP,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;QAE9B,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAC3D,cAAc,CAAC,gCAAgC,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC;QAED,YAAY,CAAC,kBAAkB,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAE/F,qCAAqC;QACrC,MAAM,IAAI,GAAa;YACrB,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC/D,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAE,mCAAmC;aAC7C,CAAC,CAAC;YACH,aAAa,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;SACnF,CAAC;QAEF,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,YAAY,CAAC,sCAAsC,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAyB,EAAE,CAAC;QAExC,6CAA6C;QAC7C,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACtE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,YAAY,CAAC,iCAAiC,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACpD,CAAC;QAED,SAAS,EAAE,CAAC;QACZ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAE3G,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC1C,MAAM,UAAU,GAAc;YAC5B,gBAAgB,EAAE,KAAK,CAAC,eAAe;YACvC,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,KAAK,CAAC,YAAY;YACjC,gBAAgB,EAAE,KAAK,CAAC,eAAe;YACvC,WAAW,EAAE,UAAU;SACxB,CAAC;QAEF,YAAY,CAAC,UAAU,CAAC,CAAC;QACzB,mBAAmB,CAAC,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAE9C,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC5B,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,UAAU,EAAE;YAC/B,MAAM;SACP,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;QAEtC,iBAAiB,CAAC;YAChB,UAAU,EAAE,MAAM,CAAC,MAAM;YACzB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB;QAI/B,IAAI,CAAC;YACH,QAAQ,CAAC,yCAAyC,CAAC,CAAC;YAEpD,qBAAqB;YACrB,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC1B,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBACvD,QAAQ,CAAC,kDAAkD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClG,CAAC;YACD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAErE,wBAAwB;YACxB,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;YAC1C,MAAM,OAAO,GAA2B,EAAE,CAAC;YAC3C,IAAI,aAAa,EAAE,WAAW,EAAE,CAAC;gBAC/B,OAAO,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC;gBACrD,QAAQ,CAAC,kDAAkD,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;YAC1F,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACvB,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAC3C,CAAC;YAED,MAAM,QAAQ,GAAG,gCAAgC,WAAW,EAAE,CAAC;YAC/D,QAAQ,CAAC,0CAA0C,QAAQ,EAAE,CAAC,CAAC;YAE/D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACzE,QAAQ,CAAC,+CAA+C,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAE3E,6BAA6B;YAC7B,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,QAAQ,CAAC,0DAA0D,CAAC,CAAC;gBACrE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YAC7C,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,MAAM,SAAS,GAAG,QAAQ,CAAC,IAA4C,CAAC;gBACxE,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,OAAO,IAAI,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACnF,QAAQ,CAAC,uCAAuC,QAAQ,EAAE,CAAC,CAAC;gBAC5D,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;YAED,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAgD,CAAC;YAC/E,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBAC5D,QAAQ,CAAC,gEAAgE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;gBAChG,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,CAAC;YAED,QAAQ,CAAC,yCAAyC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChG,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAC3D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1D,QAAQ,CAAC,2CAA2C,MAAM,EAAE,CAAC,CAAC;YAC9D,YAAY,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;YACpD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAC9C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa,CACnB,KAA+B,EAC/B,MAAsB;QAEtB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5E,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhE,MAAM,IAAI,GAAa,EAAE,eAAe,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;QAElE,yCAAyC;QACzC,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,WAAW,EAAE,CAAC;YACjD,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;gBAChG,SAAS;YACX,CAAC;YACD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;gBAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,UAAU,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;gBAChG,SAAS;YACX,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAC3B,IAAc,EACd,KAAa,EACb,cAA8B,EAC9B,MAA4B;QAM5B,MAAM,KAAK,GAAG;YACZ,eAAe,EAAE,CAAC;YAClB,YAAY,EAAE,CAAC;YACf,eAAe,EAAE,CAAC;SACnB,CAAC;QAEF,wBAAwB;QACxB,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,aAAa,CAAC;QACzC,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;QAC5D,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,CAAC,CAAC;QAErC,4BAA4B;QAC5B,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAC5C,IAAI,CAAC,eAAe,EACpB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE;gBACrB,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,UAAU,CAAC;gBAC9C,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACtC,CAAC,EACD,IAAI,CAAC,OAAO,CAAC,KAAK,CACnB,CAAC;YAEF,oCAAoC;YACpC,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;gBACxC,IAAI,CAAC;oBACH,MAAM,aAAa,GAAG,GAAG,cAAc,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACzD,MAAM,kBAAkB,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC7D,KAAK,CAAC,eAAe,EAAE,CAAC;oBACxB,KAAK,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC/C,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;qBAClD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,yBAAyB;YACzB,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC1C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,eAAe;QACf,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,UAAU,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,GAAG,cAAc,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACzD,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;gBACxC,KAAK,CAAC,YAAY,EAAE,CAAC;YACvB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;iBAClD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QAEzD,wBAAwB;QACxB,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAErD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAClC,KAAa,EACb,cAA8B;QAE9B,IAAI,CAAC;YACH,uCAAuC;YACvC,IAAI,aAAa,GAAqB,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;gBAC5E,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjD,CAAC;YAAC,MAAM,CAAC;gBACP,wCAAwC;YAC1C,CAAC;YAED,kEAAkE;YAClE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;YACxC,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,KAAK,EAAE,CAAC;gBACxC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,SAAS;oBAAE,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC9C,CAAC;YAED,mBAAmB;YACnB,MAAM,MAAM,GAAG,qBAAqB,CAClC,cAAc,CAAC,iBAAiB,EAChC,aAAa,EACb,aAAa,CACd,CAAC;YAEF,yBAAyB;YACzB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7D,MAAM,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,EAAE,EAAE,OAAO,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACzB,cAAc,CAAC,uCAAuC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACtG,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAC/B,cAA8B,EAC9B,IAAc;QAEd,MAAM,eAAe,GAAG,iBAAiB,EAAE,CAAC;QAE5C,8BAA8B;QAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwD,CAAC;QAChF,IAAI,eAAe,EAAE,CAAC;YACpB,KAAK,MAAM,CAAC,IAAI,eAAe,CAAC,KAAK,EAAE,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,uBAAuB;QACvB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACtC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,8BAA8B;QAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;aAChB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,wBAAwB;QACxB,MAAM,WAAW,GAAsB;YACrC,OAAO,EAAE,CAAC;YACV,UAAU,EAAE,GAAG;YACf,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,QAAQ,EAAE,cAAc,CAAC,QAAQ;YACjC,SAAS,EAAE,cAAc,CAAC,SAAS;YACnC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;SACpD,CAAC;QAEF,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,SAAiB,EAAE,MAA4B;QACxE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE;gBACL,eAAe,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC;gBACf,eAAe,EAAE,CAAC;gBAClB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;aACnC;YACD,MAAM;SACP,CAAC;IACJ,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,UAAuB,EAAE;IACrD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAAuB,EAAE;IACxD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;IAChC,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC;AACzB,CAAC"}
|