@syntero/orca-cli 1.2.4 → 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 +75 -165
- 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,10 +1,10 @@
|
|
|
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
|
|
@@ -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,
|
|
@@ -130,21 +120,16 @@ export class SyncEngine {
|
|
|
130
120
|
}
|
|
131
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
125
|
// 4. Build sync plan
|
|
136
126
|
const plan = this.buildSyncPlan(localManifest, remoteManifest);
|
|
137
127
|
// Check if any changes
|
|
138
|
-
if (plan.
|
|
139
|
-
plan.modifiedSolutions.length === 0 &&
|
|
140
|
-
plan.deletedSolutions.length === 0) {
|
|
128
|
+
if (plan.filesToDownload.length === 0 && plan.filesToDelete.length === 0) {
|
|
141
129
|
displaySuccess('Library is up to date.');
|
|
142
130
|
return {
|
|
143
131
|
success: true,
|
|
144
132
|
stats: {
|
|
145
|
-
newSolutions: 0,
|
|
146
|
-
updatedSolutions: 0,
|
|
147
|
-
deletedSolutions: 0,
|
|
148
133
|
filesDownloaded: 0,
|
|
149
134
|
filesDeleted: 0,
|
|
150
135
|
bytesDownloaded: 0,
|
|
@@ -159,9 +144,6 @@ export class SyncEngine {
|
|
|
159
144
|
return {
|
|
160
145
|
success: true,
|
|
161
146
|
stats: {
|
|
162
|
-
newSolutions: plan.newSolutions.length,
|
|
163
|
-
updatedSolutions: plan.modifiedSolutions.length,
|
|
164
|
-
deletedSolutions: plan.deletedSolutions.length,
|
|
165
147
|
filesDownloaded: plan.filesToDownload.length,
|
|
166
148
|
filesDeleted: plan.filesToDelete.length,
|
|
167
149
|
bytesDownloaded: 0,
|
|
@@ -203,16 +185,12 @@ export class SyncEngine {
|
|
|
203
185
|
displayPhase(`Resuming sync: ${state.pending_queue.files_to_download.length} files remaining`);
|
|
204
186
|
// Convert pending queue to sync plan
|
|
205
187
|
const plan = {
|
|
206
|
-
newSolutions: state.pending_queue.solutions_to_sync || [],
|
|
207
|
-
modifiedSolutions: [],
|
|
208
|
-
deletedSolutions: state.pending_queue.solutions_to_delete || [],
|
|
209
188
|
filesToDownload: state.pending_queue.files_to_download.map(f => ({
|
|
210
|
-
solution: f.solution,
|
|
211
189
|
path: f.path,
|
|
212
190
|
hash: f.hash,
|
|
213
191
|
size: 0 // Size not stored in pending queue
|
|
214
192
|
})),
|
|
215
|
-
filesToDelete: []
|
|
193
|
+
filesToDelete: (state.pending_queue.files_to_delete || []).map(p => ({ path: p }))
|
|
216
194
|
};
|
|
217
195
|
const creds = loadCredentials();
|
|
218
196
|
if (!creds) {
|
|
@@ -221,7 +199,7 @@ export class SyncEngine {
|
|
|
221
199
|
}
|
|
222
200
|
const startTime = Date.now();
|
|
223
201
|
const errors = [];
|
|
224
|
-
// Fetch fresh manifest for
|
|
202
|
+
// Fetch fresh manifest for services registry
|
|
225
203
|
const { manifest: remoteManifest } = await this.fetchRemoteManifest();
|
|
226
204
|
if (!remoteManifest) {
|
|
227
205
|
displayError('Failed to fetch remote manifest');
|
|
@@ -255,7 +233,6 @@ export class SyncEngine {
|
|
|
255
233
|
syncStatus: status.status,
|
|
256
234
|
lastSyncTime: status.lastSyncTime,
|
|
257
235
|
lastSyncRelative: status.lastSyncRelative,
|
|
258
|
-
solutionCount: status.solutionCount,
|
|
259
236
|
fileCount: status.fileCount,
|
|
260
237
|
totalSize: status.totalSize,
|
|
261
238
|
orgId: status.orgId,
|
|
@@ -270,11 +247,15 @@ export class SyncEngine {
|
|
|
270
247
|
try {
|
|
271
248
|
debugLog('[sync] fetchRemoteManifest: Starting...');
|
|
272
249
|
// Build query params
|
|
273
|
-
|
|
274
|
-
if (this.options.
|
|
275
|
-
|
|
276
|
-
debugLog(`[sync] fetchRemoteManifest: Using solution filter: ${queryParams}`);
|
|
250
|
+
const params = new URLSearchParams();
|
|
251
|
+
if (this.options.basePath) {
|
|
252
|
+
params.set('path', this.options.basePath);
|
|
277
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()}` : '';
|
|
278
259
|
// Check for cached ETag
|
|
279
260
|
const localManifest = loadLocalManifest();
|
|
280
261
|
const headers = {};
|
|
@@ -285,7 +266,7 @@ export class SyncEngine {
|
|
|
285
266
|
if (this.options.orgId) {
|
|
286
267
|
headers['X-Org-Id'] = this.options.orgId;
|
|
287
268
|
}
|
|
288
|
-
const endpoint = `/api/v2/library/sync/manifest${
|
|
269
|
+
const endpoint = `/api/v2/library/sync/manifest${queryString}`;
|
|
289
270
|
debugLog(`[sync] fetchRemoteManifest: Requesting ${endpoint}`);
|
|
290
271
|
const response = await cloudRequest('GET', endpoint, undefined, headers);
|
|
291
272
|
debugLog(`[sync] fetchRemoteManifest: Response status=${response.status}`);
|
|
@@ -298,7 +279,6 @@ export class SyncEngine {
|
|
|
298
279
|
const errorData = response.data;
|
|
299
280
|
const errorMsg = errorData.error || errorData.message || `HTTP ${response.status}`;
|
|
300
281
|
debugLog(`[sync] fetchRemoteManifest: Error - ${errorMsg}`);
|
|
301
|
-
debugLog(`[sync] fetchRemoteManifest: Full response data: ${JSON.stringify(response.data)}`);
|
|
302
282
|
throw new Error(errorMsg);
|
|
303
283
|
}
|
|
304
284
|
const responseData = response.data;
|
|
@@ -306,7 +286,7 @@ export class SyncEngine {
|
|
|
306
286
|
debugLog(`[sync] fetchRemoteManifest: Invalid response format - status=${responseData.status}`);
|
|
307
287
|
throw new Error('Invalid response format');
|
|
308
288
|
}
|
|
309
|
-
debugLog(`[sync] fetchRemoteManifest: Success - ${responseData.data.
|
|
289
|
+
debugLog(`[sync] fetchRemoteManifest: Success - ${responseData.data.files?.length || 0} files`);
|
|
310
290
|
return { manifest: responseData.data, unchanged: false };
|
|
311
291
|
}
|
|
312
292
|
catch (e) {
|
|
@@ -317,70 +297,29 @@ export class SyncEngine {
|
|
|
317
297
|
}
|
|
318
298
|
}
|
|
319
299
|
/**
|
|
320
|
-
* Build sync plan by comparing
|
|
300
|
+
* Build sync plan by comparing local and remote file lists.
|
|
321
301
|
*/
|
|
322
302
|
buildSyncPlan(local, remote) {
|
|
323
|
-
const
|
|
324
|
-
const
|
|
325
|
-
const plan = {
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
filesToDownload: [],
|
|
330
|
-
filesToDelete: []
|
|
331
|
-
};
|
|
332
|
-
// Find new and modified solutions
|
|
333
|
-
for (const [id, remoteSolution] of remoteSolutions) {
|
|
334
|
-
// Apply solution filter if specified
|
|
335
|
-
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 + '/'))) {
|
|
336
309
|
continue;
|
|
337
310
|
}
|
|
338
|
-
const
|
|
339
|
-
if (!
|
|
340
|
-
|
|
341
|
-
plan.newSolutions.push(id);
|
|
342
|
-
for (const file of remoteSolution.files) {
|
|
343
|
-
plan.filesToDownload.push({
|
|
344
|
-
solution: id,
|
|
345
|
-
path: file.path,
|
|
346
|
-
hash: file.hash,
|
|
347
|
-
size: file.size
|
|
348
|
-
});
|
|
349
|
-
}
|
|
350
|
-
}
|
|
351
|
-
else if (localSolution.solution_hash !== remoteSolution.solution_hash) {
|
|
352
|
-
// Modified solution - find specific file changes
|
|
353
|
-
plan.modifiedSolutions.push(id);
|
|
354
|
-
const localFiles = new Map(localSolution.files.map(f => [f.path, f]));
|
|
355
|
-
const remoteFiles = new Map(remoteSolution.files.map(f => [f.path, f]));
|
|
356
|
-
// Files to download (new or changed)
|
|
357
|
-
for (const [filePath, remoteFile] of remoteFiles) {
|
|
358
|
-
const localFile = localFiles.get(filePath);
|
|
359
|
-
if (!localFile || localFile.hash !== remoteFile.hash) {
|
|
360
|
-
plan.filesToDownload.push({
|
|
361
|
-
solution: id,
|
|
362
|
-
path: filePath,
|
|
363
|
-
hash: remoteFile.hash,
|
|
364
|
-
size: remoteFile.size
|
|
365
|
-
});
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
// Files to delete (removed from solution)
|
|
369
|
-
for (const [filePath] of localFiles) {
|
|
370
|
-
if (!remoteFiles.has(filePath)) {
|
|
371
|
-
plan.filesToDelete.push({ solution: id, path: filePath });
|
|
372
|
-
}
|
|
373
|
-
}
|
|
311
|
+
const localHash = localFiles.get(filePath);
|
|
312
|
+
if (!localHash || localHash !== remoteFile.hash) {
|
|
313
|
+
plan.filesToDownload.push({ path: filePath, hash: remoteFile.hash, size: remoteFile.size });
|
|
374
314
|
}
|
|
375
315
|
}
|
|
376
|
-
//
|
|
377
|
-
for (const [
|
|
378
|
-
if (!
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
}
|
|
383
|
-
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 });
|
|
384
323
|
}
|
|
385
324
|
}
|
|
386
325
|
return plan;
|
|
@@ -390,9 +329,6 @@ export class SyncEngine {
|
|
|
390
329
|
*/
|
|
391
330
|
async executeSyncPlan(plan, orgId, remoteManifest, errors) {
|
|
392
331
|
const stats = {
|
|
393
|
-
newSolutions: plan.newSolutions.length,
|
|
394
|
-
updatedSolutions: plan.modifiedSolutions.length,
|
|
395
|
-
deletedSolutions: 0,
|
|
396
332
|
filesDownloaded: 0,
|
|
397
333
|
filesDeleted: 0,
|
|
398
334
|
bytesDownloaded: 0
|
|
@@ -405,22 +341,21 @@ export class SyncEngine {
|
|
|
405
341
|
this.progressState.bytesComplete = 0;
|
|
406
342
|
// Download files in batches
|
|
407
343
|
if (plan.filesToDownload.length > 0) {
|
|
408
|
-
const downloadResult = await downloadWithRetry(plan.filesToDownload, (downloaded,
|
|
344
|
+
const downloadResult = await downloadWithRetry(plan.filesToDownload, (downloaded, _total) => {
|
|
409
345
|
this.progressState.filesComplete = downloaded;
|
|
410
346
|
displayProgress(this.progressState);
|
|
411
347
|
}, this.options.orgId);
|
|
412
348
|
// Write downloaded files to sandbox
|
|
413
349
|
for (const file of downloadResult.files) {
|
|
414
350
|
try {
|
|
415
|
-
const containerPath = `${getLibraryPath()}/${file.
|
|
351
|
+
const containerPath = `${getLibraryPath()}/${file.path}`;
|
|
416
352
|
await writeFileToSandbox(orgId, containerPath, file.content);
|
|
417
353
|
stats.filesDownloaded++;
|
|
418
354
|
stats.bytesDownloaded += file.content.length;
|
|
419
355
|
}
|
|
420
356
|
catch (e) {
|
|
421
357
|
errors.push({
|
|
422
|
-
|
|
423
|
-
file: file.path,
|
|
358
|
+
path: file.path,
|
|
424
359
|
error: e instanceof Error ? e.message : String(e)
|
|
425
360
|
});
|
|
426
361
|
}
|
|
@@ -434,34 +369,19 @@ export class SyncEngine {
|
|
|
434
369
|
this.progressState.phase = 'cleaning';
|
|
435
370
|
for (const file of plan.filesToDelete) {
|
|
436
371
|
try {
|
|
437
|
-
const containerPath = `${getLibraryPath()}/${file.
|
|
372
|
+
const containerPath = `${getLibraryPath()}/${file.path}`;
|
|
438
373
|
deleteFromSandbox(orgId, containerPath);
|
|
439
374
|
stats.filesDeleted++;
|
|
440
375
|
}
|
|
441
376
|
catch (e) {
|
|
442
377
|
errors.push({
|
|
443
|
-
|
|
444
|
-
file: file.path,
|
|
445
|
-
error: e instanceof Error ? e.message : String(e)
|
|
446
|
-
});
|
|
447
|
-
}
|
|
448
|
-
}
|
|
449
|
-
// Delete entire solutions
|
|
450
|
-
for (const solutionId of plan.deletedSolutions) {
|
|
451
|
-
try {
|
|
452
|
-
const solutionPath = `${getLibraryPath()}/${solutionId}`;
|
|
453
|
-
deleteFromSandbox(orgId, solutionPath);
|
|
454
|
-
stats.deletedSolutions++;
|
|
455
|
-
}
|
|
456
|
-
catch (e) {
|
|
457
|
-
errors.push({
|
|
458
|
-
solution: solutionId,
|
|
378
|
+
path: file.path,
|
|
459
379
|
error: e instanceof Error ? e.message : String(e)
|
|
460
380
|
});
|
|
461
381
|
}
|
|
462
382
|
}
|
|
463
383
|
// Update services registry
|
|
464
|
-
await this.updateServicesRegistry(orgId, remoteManifest
|
|
384
|
+
await this.updateServicesRegistry(orgId, remoteManifest);
|
|
465
385
|
// Update local manifest
|
|
466
386
|
await this.updateLocalManifest(remoteManifest, plan);
|
|
467
387
|
return stats;
|
|
@@ -469,7 +389,7 @@ export class SyncEngine {
|
|
|
469
389
|
/**
|
|
470
390
|
* Update the services registry in the sandbox.
|
|
471
391
|
*/
|
|
472
|
-
async updateServicesRegistry(orgId, remoteManifest
|
|
392
|
+
async updateServicesRegistry(orgId, remoteManifest) {
|
|
473
393
|
try {
|
|
474
394
|
// Read current local services registry
|
|
475
395
|
let localRegistry = {};
|
|
@@ -480,14 +400,15 @@ export class SyncEngine {
|
|
|
480
400
|
catch {
|
|
481
401
|
// No existing registry or couldn't read
|
|
482
402
|
}
|
|
483
|
-
//
|
|
484
|
-
const
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
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
|
+
}
|
|
489
410
|
// Merge registries
|
|
490
|
-
const merged = mergeServicesRegistry(remoteManifest.services_registry, localRegistry,
|
|
411
|
+
const merged = mergeServicesRegistry(remoteManifest.services_registry, localRegistry, syncedFolders);
|
|
491
412
|
// Write updated registry
|
|
492
413
|
const content = Buffer.from(JSON.stringify(merged, null, 2));
|
|
493
414
|
await writeFileToSandbox(orgId, getServicesRegistryPath(), content);
|
|
@@ -503,42 +424,34 @@ export class SyncEngine {
|
|
|
503
424
|
*/
|
|
504
425
|
async updateLocalManifest(remoteManifest, plan) {
|
|
505
426
|
const currentManifest = loadLocalManifest();
|
|
506
|
-
// Build map of existing
|
|
507
|
-
const
|
|
427
|
+
// Build map of existing files
|
|
428
|
+
const fileMap = new Map();
|
|
508
429
|
if (currentManifest) {
|
|
509
|
-
for (const
|
|
510
|
-
|
|
430
|
+
for (const f of currentManifest.files) {
|
|
431
|
+
fileMap.set(f.path, f);
|
|
511
432
|
}
|
|
512
433
|
}
|
|
513
|
-
// Remove deleted
|
|
514
|
-
for (const
|
|
515
|
-
|
|
434
|
+
// Remove deleted files
|
|
435
|
+
for (const file of plan.filesToDelete) {
|
|
436
|
+
fileMap.delete(file.path);
|
|
516
437
|
}
|
|
517
|
-
// Add/update
|
|
518
|
-
const
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
solution_hash: remoteSolution.solution_hash,
|
|
525
|
-
synced_at: now,
|
|
526
|
-
files: remoteSolution.files.map(f => ({
|
|
527
|
-
path: f.path,
|
|
528
|
-
hash: f.hash,
|
|
529
|
-
size: f.size
|
|
530
|
-
})),
|
|
531
|
-
status: 'complete'
|
|
532
|
-
});
|
|
533
|
-
}
|
|
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
|
+
});
|
|
534
445
|
}
|
|
446
|
+
const now = new Date().toISOString();
|
|
535
447
|
// Save updated manifest
|
|
536
448
|
const newManifest = {
|
|
537
|
-
version:
|
|
449
|
+
version: 2,
|
|
538
450
|
updated_at: now,
|
|
539
451
|
org_id: remoteManifest.org_id,
|
|
540
452
|
endpoint: remoteManifest.endpoint,
|
|
541
|
-
|
|
453
|
+
base_path: remoteManifest.base_path,
|
|
454
|
+
files: Array.from(fileMap.values()),
|
|
542
455
|
services_registry: remoteManifest.services_registry
|
|
543
456
|
};
|
|
544
457
|
saveLocalManifest(newManifest);
|
|
@@ -550,9 +463,6 @@ export class SyncEngine {
|
|
|
550
463
|
return {
|
|
551
464
|
success: false,
|
|
552
465
|
stats: {
|
|
553
|
-
newSolutions: 0,
|
|
554
|
-
updatedSolutions: 0,
|
|
555
|
-
deletedSolutions: 0,
|
|
556
466
|
filesDownloaded: 0,
|
|
557
467
|
filesDeleted: 0,
|
|
558
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":"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"}
|