@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInputDispatch.js","sourceRoot":"","sources":["../../src/hooks/useInputDispatch.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"useInputDispatch.js","sourceRoot":"","sources":["../../src/hooks/useInputDispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare function useSyncFetchers(): {
|
|
2
|
-
|
|
2
|
+
fetchLibraryFolders: (orgId?: string) => Promise<any>;
|
|
3
3
|
fetchUsers: (orgId?: string) => Promise<any[]>;
|
|
4
4
|
fetchFolders: (userId: string, orgId?: string) => Promise<any>;
|
|
5
5
|
fetchOrganizations: () => Promise<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSyncFetchers.d.ts","sourceRoot":"","sources":["../../src/hooks/useSyncFetchers.ts"],"names":[],"mappings":"AAIA,wBAAgB,eAAe;
|
|
1
|
+
{"version":3,"file":"useSyncFetchers.d.ts","sourceRoot":"","sources":["../../src/hooks/useSyncFetchers.ts"],"names":[],"mappings":"AAIA,wBAAgB,eAAe;kCAC0B,MAAM;yBAiBf,MAAM;2BAqDJ,MAAM,UAAU,MAAM;;;EA2BvE"}
|
|
@@ -2,21 +2,20 @@ import { useCallback } from 'react';
|
|
|
2
2
|
import { cloudRequest, loadCredentials } from '../auth.js';
|
|
3
3
|
import { debugLog } from '../settings.js';
|
|
4
4
|
export function useSyncFetchers() {
|
|
5
|
-
const
|
|
6
|
-
debugLog(`[
|
|
5
|
+
const fetchLibraryFolders = useCallback(async (orgId) => {
|
|
6
|
+
debugLog(`[fetchLibraryFolders] Starting request to /api/v2/solution-library${orgId ? ` (org=${orgId})` : ''}`);
|
|
7
7
|
try {
|
|
8
8
|
const headers = orgId ? { 'X-Org-Id': orgId } : undefined;
|
|
9
9
|
const response = await cloudRequest('GET', '/api/v2/solution-library', undefined, headers);
|
|
10
|
-
debugLog(`[
|
|
11
|
-
debugLog(`[fetchSolutions] Response data: ${JSON.stringify(response.data).substring(0, 500)}`);
|
|
10
|
+
debugLog(`[fetchLibraryFolders] Response status=${response.status}, data keys=${Object.keys(response.data || {})}`);
|
|
12
11
|
const solutions = response.data?.data?.solutions ?? [];
|
|
13
|
-
debugLog(`[
|
|
12
|
+
debugLog(`[fetchLibraryFolders] Parsed ${solutions.length} items`);
|
|
14
13
|
const result = solutions.map((s) => ({ id: s.library_id, name: s.name || s.library_id }));
|
|
15
|
-
debugLog(`[
|
|
14
|
+
debugLog(`[fetchLibraryFolders] Returning ${result.length} items`);
|
|
16
15
|
return result;
|
|
17
16
|
}
|
|
18
17
|
catch (e) {
|
|
19
|
-
debugLog(`[
|
|
18
|
+
debugLog(`[fetchLibraryFolders] ERROR: ${e instanceof Error ? e.message : String(e)}`);
|
|
20
19
|
throw e;
|
|
21
20
|
}
|
|
22
21
|
}, []);
|
|
@@ -86,7 +85,7 @@ export function useSyncFetchers() {
|
|
|
86
85
|
.filter((item) => item.type === 'directory')
|
|
87
86
|
.map((item) => ({
|
|
88
87
|
path: item.name,
|
|
89
|
-
|
|
88
|
+
itemCount: item.items ?? 0,
|
|
90
89
|
}));
|
|
91
90
|
debugLog(`[fetchFolders] Returning ${folders.length} folders`);
|
|
92
91
|
return folders;
|
|
@@ -98,6 +97,6 @@ export function useSyncFetchers() {
|
|
|
98
97
|
}, []);
|
|
99
98
|
// Get user role from credentials for super_admin features
|
|
100
99
|
const userRole = loadCredentials()?.user?.role;
|
|
101
|
-
return {
|
|
100
|
+
return { fetchLibraryFolders, fetchUsers, fetchFolders, fetchOrganizations, userRole };
|
|
102
101
|
}
|
|
103
102
|
//# sourceMappingURL=useSyncFetchers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSyncFetchers.js","sourceRoot":"","sources":["../../src/hooks/useSyncFetchers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,MAAM,UAAU,eAAe;IAC7B,MAAM,
|
|
1
|
+
{"version":3,"file":"useSyncFetchers.js","sourceRoot":"","sources":["../../src/hooks/useSyncFetchers.ts"],"names":[],"mappings":"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"}
|
package/dist/sync/download.d.ts
CHANGED
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
* File to download with metadata.
|
|
9
9
|
*/
|
|
10
10
|
export interface FileToDownload {
|
|
11
|
-
solution: string;
|
|
12
11
|
path: string;
|
|
13
12
|
hash: string;
|
|
14
13
|
size: number;
|
|
@@ -17,7 +16,6 @@ export interface FileToDownload {
|
|
|
17
16
|
* Downloaded file result.
|
|
18
17
|
*/
|
|
19
18
|
export interface DownloadedFile {
|
|
20
|
-
solution: string;
|
|
21
19
|
path: string;
|
|
22
20
|
content: Buffer;
|
|
23
21
|
hash: string;
|
|
@@ -30,7 +28,6 @@ export interface DownloadResult {
|
|
|
30
28
|
success: boolean;
|
|
31
29
|
files: DownloadedFile[];
|
|
32
30
|
errors: {
|
|
33
|
-
solution: string;
|
|
34
31
|
path: string;
|
|
35
32
|
error: string;
|
|
36
33
|
}[];
|
|
@@ -46,42 +43,18 @@ export declare function createTempDir(): string;
|
|
|
46
43
|
export declare function cleanupTempDir(tempDir: string): void;
|
|
47
44
|
/**
|
|
48
45
|
* Split files into batches for download.
|
|
49
|
-
*
|
|
50
|
-
* @param files Files to download
|
|
51
|
-
* @param maxSize Maximum files per batch
|
|
52
|
-
* @returns Array of batches
|
|
53
46
|
*/
|
|
54
47
|
export declare function splitIntoBatches(files: FileToDownload[], maxSize?: number): FileToDownload[][];
|
|
55
|
-
/**
|
|
56
|
-
* Download a single file from the backend.
|
|
57
|
-
*
|
|
58
|
-
* @param solution Library ID
|
|
59
|
-
* @param filePath Relative file path
|
|
60
|
-
* @param expectedHash Expected SHA-256 hash
|
|
61
|
-
* @returns Downloaded file content
|
|
62
|
-
*/
|
|
63
|
-
export declare function downloadSingleFile(solution: string, filePath: string, expectedHash: string, orgId?: string): Promise<Buffer>;
|
|
64
48
|
/**
|
|
65
49
|
* Download a batch of files as a tar.gz archive.
|
|
66
|
-
*
|
|
67
|
-
* @param files Files to download
|
|
68
|
-
* @returns Path to downloaded archive
|
|
69
50
|
*/
|
|
70
51
|
export declare function downloadBatch(files: FileToDownload[], orgId?: string): Promise<string>;
|
|
71
52
|
/**
|
|
72
53
|
* Extract a tar.gz archive and verify file hashes.
|
|
73
|
-
*
|
|
74
|
-
* @param archivePath Path to the tar.gz archive
|
|
75
|
-
* @param expectedFiles Expected files with their hashes
|
|
76
|
-
* @returns Extracted and verified files
|
|
77
54
|
*/
|
|
78
55
|
export declare function extractAndVerify(archivePath: string, expectedFiles: FileToDownload[]): Promise<DownloadResult>;
|
|
79
56
|
/**
|
|
80
57
|
* Download files with retry logic.
|
|
81
|
-
*
|
|
82
|
-
* @param files Files to download
|
|
83
|
-
* @param onProgress Progress callback
|
|
84
|
-
* @returns Download result
|
|
85
58
|
*/
|
|
86
59
|
export declare function downloadWithRetry(files: FileToDownload[], onProgress?: (downloaded: number, total: number) => void, orgId?: string): Promise<DownloadResult>;
|
|
87
60
|
//# sourceMappingURL=download.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/sync/download.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoBH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,
|
|
1
|
+
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../src/sync/download.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoBH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAMpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,GAAE,MAAuB,GAC/B,cAAc,EAAE,EAAE,CAQpB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,KAAK,EAAE,cAAc,EAAE,EACvB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CAwBjB;AAiDD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,cAAc,EAAE,GAC9B,OAAO,CAAC,cAAc,CAAC,CAuEzB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,cAAc,EAAE,EACvB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,EACxD,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,CAAC,CAwEzB"}
|
package/dist/sync/download.js
CHANGED
|
@@ -8,7 +8,6 @@ import * as fs from 'fs';
|
|
|
8
8
|
import * as path from 'path';
|
|
9
9
|
import * as os from 'os';
|
|
10
10
|
import * as tar from 'tar';
|
|
11
|
-
import { cloudRequest } from '../auth.js';
|
|
12
11
|
import { hashBuffer } from './hash.js';
|
|
13
12
|
/** Maximum files per batch request */
|
|
14
13
|
const MAX_BATCH_SIZE = 100;
|
|
@@ -35,10 +34,6 @@ export function cleanupTempDir(tempDir) {
|
|
|
35
34
|
}
|
|
36
35
|
/**
|
|
37
36
|
* Split files into batches for download.
|
|
38
|
-
*
|
|
39
|
-
* @param files Files to download
|
|
40
|
-
* @param maxSize Maximum files per batch
|
|
41
|
-
* @returns Array of batches
|
|
42
37
|
*/
|
|
43
38
|
export function splitIntoBatches(files, maxSize = MAX_BATCH_SIZE) {
|
|
44
39
|
const batches = [];
|
|
@@ -47,33 +42,8 @@ export function splitIntoBatches(files, maxSize = MAX_BATCH_SIZE) {
|
|
|
47
42
|
}
|
|
48
43
|
return batches;
|
|
49
44
|
}
|
|
50
|
-
/**
|
|
51
|
-
* Download a single file from the backend.
|
|
52
|
-
*
|
|
53
|
-
* @param solution Library ID
|
|
54
|
-
* @param filePath Relative file path
|
|
55
|
-
* @param expectedHash Expected SHA-256 hash
|
|
56
|
-
* @returns Downloaded file content
|
|
57
|
-
*/
|
|
58
|
-
export async function downloadSingleFile(solution, filePath, expectedHash, orgId) {
|
|
59
|
-
const params = new URLSearchParams({
|
|
60
|
-
solution,
|
|
61
|
-
path: filePath
|
|
62
|
-
});
|
|
63
|
-
const headers = orgId ? { 'X-Org-Id': orgId } : undefined;
|
|
64
|
-
const response = await cloudRequest('GET', `/api/v2/library/sync/file?${params.toString()}`, undefined, headers);
|
|
65
|
-
if (response.status !== 200) {
|
|
66
|
-
throw new Error(`Download failed: ${response.data.error || 'Unknown error'}`);
|
|
67
|
-
}
|
|
68
|
-
// Response data is raw binary in this case - need to handle differently
|
|
69
|
-
// For now, fall back to batch download for all files
|
|
70
|
-
throw new Error('Single file download not implemented - use batch download');
|
|
71
|
-
}
|
|
72
45
|
/**
|
|
73
46
|
* Download a batch of files as a tar.gz archive.
|
|
74
|
-
*
|
|
75
|
-
* @param files Files to download
|
|
76
|
-
* @returns Path to downloaded archive
|
|
77
47
|
*/
|
|
78
48
|
export async function downloadBatch(files, orgId) {
|
|
79
49
|
if (files.length === 0) {
|
|
@@ -82,10 +52,9 @@ export async function downloadBatch(files, orgId) {
|
|
|
82
52
|
if (files.length > MAX_BATCH_SIZE) {
|
|
83
53
|
throw new Error(`Batch too large: ${files.length} > ${MAX_BATCH_SIZE}`);
|
|
84
54
|
}
|
|
85
|
-
// Prepare request body
|
|
55
|
+
// Prepare request body — flat file paths
|
|
86
56
|
const body = {
|
|
87
57
|
files: files.map(f => ({
|
|
88
|
-
solution: f.solution,
|
|
89
58
|
path: f.path
|
|
90
59
|
}))
|
|
91
60
|
};
|
|
@@ -98,7 +67,6 @@ export async function downloadBatch(files, orgId) {
|
|
|
98
67
|
}
|
|
99
68
|
/**
|
|
100
69
|
* Fetch binary content from cloud endpoint.
|
|
101
|
-
* This is a custom function since cloudRequest doesn't handle binary responses.
|
|
102
70
|
*/
|
|
103
71
|
async function fetchBinaryFromCloud(urlPath, body, orgId) {
|
|
104
72
|
const { loadCredentials } = await import('../auth.js');
|
|
@@ -136,10 +104,6 @@ async function fetchBinaryFromCloud(urlPath, body, orgId) {
|
|
|
136
104
|
}
|
|
137
105
|
/**
|
|
138
106
|
* Extract a tar.gz archive and verify file hashes.
|
|
139
|
-
*
|
|
140
|
-
* @param archivePath Path to the tar.gz archive
|
|
141
|
-
* @param expectedFiles Expected files with their hashes
|
|
142
|
-
* @returns Extracted and verified files
|
|
143
107
|
*/
|
|
144
108
|
export async function extractAndVerify(archivePath, expectedFiles) {
|
|
145
109
|
const result = {
|
|
@@ -156,21 +120,13 @@ export async function extractAndVerify(archivePath, expectedFiles) {
|
|
|
156
120
|
file: archivePath,
|
|
157
121
|
cwd: tempDir
|
|
158
122
|
});
|
|
159
|
-
// Create lookup map for expected files
|
|
160
|
-
const expectedMap = new Map();
|
|
161
|
-
for (const f of expectedFiles) {
|
|
162
|
-
const key = `${f.solution}/${f.path}`;
|
|
163
|
-
expectedMap.set(key, f);
|
|
164
|
-
}
|
|
165
123
|
// Process extracted files
|
|
166
124
|
for (const expected of expectedFiles) {
|
|
167
|
-
const
|
|
168
|
-
const extractedPath = path.join(tempDir, relPath);
|
|
125
|
+
const extractedPath = path.join(tempDir, expected.path);
|
|
169
126
|
try {
|
|
170
127
|
// Check if file was extracted
|
|
171
128
|
if (!fs.existsSync(extractedPath)) {
|
|
172
129
|
result.errors.push({
|
|
173
|
-
solution: expected.solution,
|
|
174
130
|
path: expected.path,
|
|
175
131
|
error: 'File not in archive'
|
|
176
132
|
});
|
|
@@ -185,7 +141,6 @@ export async function extractAndVerify(archivePath, expectedFiles) {
|
|
|
185
141
|
const verified = actualHash === expected.hash;
|
|
186
142
|
if (!verified) {
|
|
187
143
|
result.errors.push({
|
|
188
|
-
solution: expected.solution,
|
|
189
144
|
path: expected.path,
|
|
190
145
|
error: `Hash mismatch: expected ${expected.hash}, got ${actualHash}`
|
|
191
146
|
});
|
|
@@ -194,7 +149,6 @@ export async function extractAndVerify(archivePath, expectedFiles) {
|
|
|
194
149
|
}
|
|
195
150
|
// Add to results
|
|
196
151
|
result.files.push({
|
|
197
|
-
solution: expected.solution,
|
|
198
152
|
path: expected.path,
|
|
199
153
|
content,
|
|
200
154
|
hash: actualHash,
|
|
@@ -203,7 +157,6 @@ export async function extractAndVerify(archivePath, expectedFiles) {
|
|
|
203
157
|
}
|
|
204
158
|
catch (e) {
|
|
205
159
|
result.errors.push({
|
|
206
|
-
solution: expected.solution,
|
|
207
160
|
path: expected.path,
|
|
208
161
|
error: e instanceof Error ? e.message : String(e)
|
|
209
162
|
});
|
|
@@ -219,10 +172,6 @@ export async function extractAndVerify(archivePath, expectedFiles) {
|
|
|
219
172
|
}
|
|
220
173
|
/**
|
|
221
174
|
* Download files with retry logic.
|
|
222
|
-
*
|
|
223
|
-
* @param files Files to download
|
|
224
|
-
* @param onProgress Progress callback
|
|
225
|
-
* @returns Download result
|
|
226
175
|
*/
|
|
227
176
|
export async function downloadWithRetry(files, onProgress, orgId) {
|
|
228
177
|
const batches = splitIntoBatches(files);
|
|
@@ -284,7 +233,6 @@ export async function downloadWithRetry(files, onProgress, orgId) {
|
|
|
284
233
|
result.success = false;
|
|
285
234
|
for (const f of batch) {
|
|
286
235
|
result.errors.push({
|
|
287
|
-
solution: f.solution,
|
|
288
236
|
path: f.path,
|
|
289
237
|
error: lastError?.message || 'Download failed after retries'
|
|
290
238
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../src/sync/download.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"download.js","sourceRoot":"","sources":["../../src/sync/download.ts"],"names":[],"mappings":"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"}
|
package/dist/sync/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This module provides functionality to sync the organization's solution
|
|
5
5
|
* library from the cloud backend to the local Docker container.
|
|
6
6
|
*/
|
|
7
|
-
export type { FileEntry,
|
|
7
|
+
export type { FileEntry, ServiceEntry, ServicesRegistry, RemoteManifest, LocalSyncManifest, SyncState, SyncStatus, SyncOptions, SyncResult, SyncPlan, PreflightResult, LocalModification } from '../types/sync.js';
|
|
8
8
|
export { SyncEngine, runSync, resumeSync, showSyncStatus } from './sync-engine.js';
|
|
9
9
|
export { isDockerAvailable, findSandboxContainer, isSandboxRunning, runPreflightChecks, writeFileToSandbox, readFileFromSandbox, deleteFromSandbox, extractArchiveToSandbox, getLibraryPath, getServicesRegistryPath } from './docker.js';
|
|
10
10
|
export { hashFile, hashBuffer, hashString, computeSolutionHash, verifyHash } from './hash.js';
|
package/dist/sync/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,SAAS,EACT,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,SAAS,EACT,UAAU,EACV,WAAW,EACX,UAAU,EACV,QAAQ,EACR,eAAe,EACf,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGnF,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,QAAQ,EACR,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,UAAU,EACX,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,aAAa,EACb,cAAc,EACd,cAAc,EACd,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,cAAc,EACf,MAAM,eAAe,CAAC"}
|
package/dist/sync/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEnF,mBAAmB;AACnB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,cAAc,EACd,uBAAuB,EACxB,MAAM,aAAa,CAAC;AAErB,iBAAiB;AACjB,OAAO,EACL,QAAQ,EACR,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,UAAU,EACX,MAAM,WAAW,CAAC;AAEnB,oBAAoB;AACpB,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,eAAe,CAAC;AAEvB,sBAAsB;AACtB,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,eAAe,CAAC;AAEvB,qBAAqB;AACrB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAEvB,mBAAmB;AACnB,OAAO,EACL,eAAe,EACf,YAAY,EACZ,aAAa,EACb,cAAc,EACd,cAAc,EACd,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,cAAc,EACf,MAAM,eAAe,CAAC"}
|
package/dist/sync/manifest.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Handles loading and saving local sync manifest and state.
|
|
5
5
|
*/
|
|
6
|
-
import { LocalSyncManifest, SyncState, SyncStatus,
|
|
6
|
+
import { LocalSyncManifest, SyncState, SyncStatus, PendingQueue, LastError, SyncStats } from '../types/sync.js';
|
|
7
7
|
/**
|
|
8
8
|
* Ensure the sync directory exists.
|
|
9
9
|
*/
|
|
@@ -26,32 +26,22 @@ export declare function getStatePath(): string;
|
|
|
26
26
|
export declare function isFirstSync(): boolean;
|
|
27
27
|
/**
|
|
28
28
|
* Load the local sync manifest.
|
|
29
|
-
*
|
|
30
|
-
* @returns Local manifest or null if not found
|
|
31
29
|
*/
|
|
32
30
|
export declare function loadLocalManifest(): LocalSyncManifest | null;
|
|
33
31
|
/**
|
|
34
32
|
* Save the local sync manifest.
|
|
35
|
-
*
|
|
36
|
-
* @param manifest Manifest to save
|
|
37
33
|
*/
|
|
38
34
|
export declare function saveLocalManifest(manifest: LocalSyncManifest): void;
|
|
39
35
|
/**
|
|
40
36
|
* Load the sync state.
|
|
41
|
-
*
|
|
42
|
-
* @returns Sync state or default idle state if not found
|
|
43
37
|
*/
|
|
44
38
|
export declare function loadSyncState(): SyncState;
|
|
45
39
|
/**
|
|
46
40
|
* Save the sync state.
|
|
47
|
-
*
|
|
48
|
-
* @param state State to save
|
|
49
41
|
*/
|
|
50
42
|
export declare function saveSyncState(state: SyncState): void;
|
|
51
43
|
/**
|
|
52
44
|
* Update specific fields in the sync state.
|
|
53
|
-
*
|
|
54
|
-
* @param updates Partial state updates to apply
|
|
55
45
|
*/
|
|
56
46
|
export declare function updateSyncState(updates: Partial<SyncState>): void;
|
|
57
47
|
/**
|
|
@@ -60,30 +50,21 @@ export declare function updateSyncState(updates: Partial<SyncState>): void;
|
|
|
60
50
|
export declare function startSync(): void;
|
|
61
51
|
/**
|
|
62
52
|
* Set sync state to completed with statistics.
|
|
63
|
-
*
|
|
64
|
-
* @param stats Sync statistics
|
|
65
53
|
*/
|
|
66
54
|
export declare function completeSync(stats: SyncStats): void;
|
|
67
55
|
/**
|
|
68
56
|
* Set sync state to interrupted with pending queue.
|
|
69
|
-
*
|
|
70
|
-
* @param pendingQueue Remaining work to be done
|
|
71
57
|
*/
|
|
72
58
|
export declare function interruptSync(pendingQueue: PendingQueue): void;
|
|
73
59
|
/**
|
|
74
60
|
* Set sync state to error with error details.
|
|
75
|
-
*
|
|
76
|
-
* @param error Error information
|
|
77
61
|
*/
|
|
78
62
|
export declare function failSync(error: LastError): void;
|
|
79
63
|
/**
|
|
80
64
|
* Update current operation being performed.
|
|
81
|
-
*
|
|
82
|
-
* @param operation Current operation details
|
|
83
65
|
*/
|
|
84
66
|
export declare function updateCurrentOperation(operation: {
|
|
85
|
-
type: 'manifest' | '
|
|
86
|
-
solution_id?: string;
|
|
67
|
+
type: 'manifest' | 'file';
|
|
87
68
|
file_path?: string;
|
|
88
69
|
progress: number;
|
|
89
70
|
}): void;
|
|
@@ -99,21 +80,6 @@ export declare function getPendingQueue(): PendingQueue | undefined;
|
|
|
99
80
|
* Clear the sync state (reset to idle).
|
|
100
81
|
*/
|
|
101
82
|
export declare function clearSyncState(): void;
|
|
102
|
-
/**
|
|
103
|
-
* Build local solution entries from a completed sync.
|
|
104
|
-
*
|
|
105
|
-
* @param solutions Remote solution entries that were synced
|
|
106
|
-
* @returns Local solution entries with sync metadata
|
|
107
|
-
*/
|
|
108
|
-
export declare function buildLocalSolutionEntries(solutions: Array<{
|
|
109
|
-
library_id: string;
|
|
110
|
-
solution_hash: string;
|
|
111
|
-
files: Array<{
|
|
112
|
-
path: string;
|
|
113
|
-
hash: string;
|
|
114
|
-
size: number;
|
|
115
|
-
}>;
|
|
116
|
-
}>): LocalSolutionEntry[];
|
|
117
83
|
/**
|
|
118
84
|
* Get sync status summary for display.
|
|
119
85
|
*/
|
|
@@ -121,7 +87,6 @@ export declare function getSyncStatusSummary(): {
|
|
|
121
87
|
status: SyncStatus;
|
|
122
88
|
lastSyncTime?: string;
|
|
123
89
|
lastSyncRelative?: string;
|
|
124
|
-
solutionCount: number;
|
|
125
90
|
fileCount: number;
|
|
126
91
|
totalSize: number;
|
|
127
92
|
orgId?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/sync/manifest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,UAAU,
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/sync/manifest.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,UAAU,EAEV,YAAY,EACZ,SAAS,EACT,SAAS,EACV,MAAM,kBAAkB,CAAC;AAQ1B;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAIpC;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,iBAAiB,GAAG,IAAI,CAW5D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAGnE;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,SAAS,CAWzC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAGpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAIjE;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,IAAI,CAQhC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAQnD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CAK9D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAK/C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE;IAChD,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,IAAI,CAIP;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAG1C;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,YAAY,GAAG,SAAS,CAM1D;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,IAAI,CAErC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI;IACtC,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CA6CA"}
|
package/dist/sync/manifest.js
CHANGED
|
@@ -44,8 +44,6 @@ export function isFirstSync() {
|
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
46
46
|
* Load the local sync manifest.
|
|
47
|
-
*
|
|
48
|
-
* @returns Local manifest or null if not found
|
|
49
47
|
*/
|
|
50
48
|
export function loadLocalManifest() {
|
|
51
49
|
if (!fs.existsSync(MANIFEST_PATH)) {
|
|
@@ -61,8 +59,6 @@ export function loadLocalManifest() {
|
|
|
61
59
|
}
|
|
62
60
|
/**
|
|
63
61
|
* Save the local sync manifest.
|
|
64
|
-
*
|
|
65
|
-
* @param manifest Manifest to save
|
|
66
62
|
*/
|
|
67
63
|
export function saveLocalManifest(manifest) {
|
|
68
64
|
ensureSyncDir();
|
|
@@ -70,8 +66,6 @@ export function saveLocalManifest(manifest) {
|
|
|
70
66
|
}
|
|
71
67
|
/**
|
|
72
68
|
* Load the sync state.
|
|
73
|
-
*
|
|
74
|
-
* @returns Sync state or default idle state if not found
|
|
75
69
|
*/
|
|
76
70
|
export function loadSyncState() {
|
|
77
71
|
if (!fs.existsSync(STATE_PATH)) {
|
|
@@ -87,8 +81,6 @@ export function loadSyncState() {
|
|
|
87
81
|
}
|
|
88
82
|
/**
|
|
89
83
|
* Save the sync state.
|
|
90
|
-
*
|
|
91
|
-
* @param state State to save
|
|
92
84
|
*/
|
|
93
85
|
export function saveSyncState(state) {
|
|
94
86
|
ensureSyncDir();
|
|
@@ -96,8 +88,6 @@ export function saveSyncState(state) {
|
|
|
96
88
|
}
|
|
97
89
|
/**
|
|
98
90
|
* Update specific fields in the sync state.
|
|
99
|
-
*
|
|
100
|
-
* @param updates Partial state updates to apply
|
|
101
91
|
*/
|
|
102
92
|
export function updateSyncState(updates) {
|
|
103
93
|
const current = loadSyncState();
|
|
@@ -118,8 +108,6 @@ export function startSync() {
|
|
|
118
108
|
}
|
|
119
109
|
/**
|
|
120
110
|
* Set sync state to completed with statistics.
|
|
121
|
-
*
|
|
122
|
-
* @param stats Sync statistics
|
|
123
111
|
*/
|
|
124
112
|
export function completeSync(stats) {
|
|
125
113
|
updateSyncState({
|
|
@@ -132,8 +120,6 @@ export function completeSync(stats) {
|
|
|
132
120
|
}
|
|
133
121
|
/**
|
|
134
122
|
* Set sync state to interrupted with pending queue.
|
|
135
|
-
*
|
|
136
|
-
* @param pendingQueue Remaining work to be done
|
|
137
123
|
*/
|
|
138
124
|
export function interruptSync(pendingQueue) {
|
|
139
125
|
updateSyncState({
|
|
@@ -143,8 +129,6 @@ export function interruptSync(pendingQueue) {
|
|
|
143
129
|
}
|
|
144
130
|
/**
|
|
145
131
|
* Set sync state to error with error details.
|
|
146
|
-
*
|
|
147
|
-
* @param error Error information
|
|
148
132
|
*/
|
|
149
133
|
export function failSync(error) {
|
|
150
134
|
updateSyncState({
|
|
@@ -154,8 +138,6 @@ export function failSync(error) {
|
|
|
154
138
|
}
|
|
155
139
|
/**
|
|
156
140
|
* Update current operation being performed.
|
|
157
|
-
*
|
|
158
|
-
* @param operation Current operation details
|
|
159
141
|
*/
|
|
160
142
|
export function updateCurrentOperation(operation) {
|
|
161
143
|
const current = loadSyncState();
|
|
@@ -185,42 +167,18 @@ export function getPendingQueue() {
|
|
|
185
167
|
export function clearSyncState() {
|
|
186
168
|
saveSyncState({ status: 'idle' });
|
|
187
169
|
}
|
|
188
|
-
/**
|
|
189
|
-
* Build local solution entries from a completed sync.
|
|
190
|
-
*
|
|
191
|
-
* @param solutions Remote solution entries that were synced
|
|
192
|
-
* @returns Local solution entries with sync metadata
|
|
193
|
-
*/
|
|
194
|
-
export function buildLocalSolutionEntries(solutions) {
|
|
195
|
-
const now = new Date().toISOString();
|
|
196
|
-
return solutions.map(s => ({
|
|
197
|
-
library_id: s.library_id,
|
|
198
|
-
solution_hash: s.solution_hash,
|
|
199
|
-
synced_at: now,
|
|
200
|
-
files: s.files.map(f => ({
|
|
201
|
-
path: f.path,
|
|
202
|
-
hash: f.hash,
|
|
203
|
-
size: f.size
|
|
204
|
-
})),
|
|
205
|
-
status: 'complete'
|
|
206
|
-
}));
|
|
207
|
-
}
|
|
208
170
|
/**
|
|
209
171
|
* Get sync status summary for display.
|
|
210
172
|
*/
|
|
211
173
|
export function getSyncStatusSummary() {
|
|
212
174
|
const state = loadSyncState();
|
|
213
175
|
const manifest = loadLocalManifest();
|
|
214
|
-
let solutionCount = 0;
|
|
215
176
|
let fileCount = 0;
|
|
216
177
|
let totalSize = 0;
|
|
217
178
|
if (manifest) {
|
|
218
|
-
|
|
219
|
-
for (const
|
|
220
|
-
|
|
221
|
-
for (const file of solution.files) {
|
|
222
|
-
totalSize += file.size;
|
|
223
|
-
}
|
|
179
|
+
fileCount = manifest.files.length;
|
|
180
|
+
for (const file of manifest.files) {
|
|
181
|
+
totalSize += file.size;
|
|
224
182
|
}
|
|
225
183
|
}
|
|
226
184
|
// Calculate relative time for last sync
|
|
@@ -248,7 +206,6 @@ export function getSyncStatusSummary() {
|
|
|
248
206
|
status: state.status,
|
|
249
207
|
lastSyncTime,
|
|
250
208
|
lastSyncRelative,
|
|
251
|
-
solutionCount,
|
|
252
209
|
fileCount,
|
|
253
210
|
totalSize,
|
|
254
211
|
orgId: manifest?.org_id,
|