aspect-sync 0.0.1 → 0.0.2

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/README.md CHANGED
@@ -6,9 +6,11 @@ A CLI tool to sync files from external services (via rclone) to the Aspect platf
6
6
 
7
7
  - **Rclone Integration**: Sync files from any rclone-supported remote (Dropbox, Google Drive, S3, etc.)
8
8
  - **Directory Structure Preservation**: Maintains folder hierarchy from source to destination
9
+ - **Idempotent Syncs**: Safe to re-run - automatically skips already-uploaded files and reuses existing directories
9
10
  - **Multipart Upload**: Efficient chunked uploads with retry logic (20MB chunks)
10
11
  - **Dynamic CLI Progress**: Real-time upload progress display with in-place updates
11
12
  - **Concurrent Uploads**: Configurable parallel chunk uploads for optimal performance
13
+ - **Session Isolation**: Auto-generated nanosecond-precision sessions for safe concurrent syncs
12
14
  - **Automatic Cleanup**: Removes local files after successful upload
13
15
  - **Retry Logic**: Automatic retry for failed uploads (part-level and file-level)
14
16
 
@@ -123,10 +125,11 @@ npx aspect-sync \
123
125
  | `--directory-id <id>` | Aspect directory ID to upload to | Yes | - |
124
126
  | `--project-id <id>` | Aspect project ID | Yes | - |
125
127
  | `--api-key <key>` | Aspect API key (or set `ASPECT_API_KEY` env var) | Yes | - |
126
- | `--api-url <url>` | Aspect API URL (or set `ASPECT_API_URL` env var) | No | `http://localhost:8000` |
128
+ | `--api-url <url>` | Aspect API URL (or set `ASPECT_API_URL` env var) | No | `https://api.aspect.inc` |
127
129
  | `--concurrent <number>` | Max concurrent chunk uploads | No | `4` |
128
130
  | `--keep-local` | Keep local files after upload (for debugging) | No | `false` |
129
- | `--temp-dir <path>` | Local temporary directory for synced files | No | `$TMPDIR/aspect-sync` |
131
+ | `--temp-dir <path>` | Base temporary directory for synced files | No | `~/.aspect/sync` |
132
+ | `--session <name>` | Session name for isolation. If not provided, auto-generates timestamp with nanosecond precision (YYYY-MM-DD_HHh-MMm-SSs-NNNNNNNNNns). Creates subdirectory in temp-dir. | No | Auto-generated |
130
133
 
131
134
  ### Environment Variables
132
135
 
@@ -179,13 +182,83 @@ aspect-sync \
179
182
  --api-key your-api-key
180
183
  ```
181
184
 
185
+ ### Concurrent Syncs
186
+
187
+ Multiple syncs can run simultaneously using sessions for isolation. Each session gets its own subdirectory.
188
+
189
+ **Auto-generated sessions (default):**
190
+
191
+ Each sync automatically gets a unique nanosecond-precision timestamp, allowing unlimited concurrent syncs without conflicts.
192
+
193
+ ```bash
194
+ # Terminal 1
195
+ aspect-sync --remote dropbox --path /project-a --directory-id abc-123 --project-id p1 --api-key key
196
+ # Session: 2025-10-21_20h-15m-30s-487123456ns
197
+
198
+ # Terminal 2
199
+ aspect-sync --remote dropbox --path /project-b --directory-id def-456 --project-id p2 --api-key key
200
+ # Session: 2025-10-21_20h-15m-30s-487945821ns
201
+
202
+ # Terminal 3
203
+ aspect-sync --remote gdrive --path /project-c --directory-id ghi-789 --project-id p3 --api-key key
204
+ # Session: 2025-10-21_20h-15m-30s-488201937ns
205
+ ```
206
+
207
+ **Custom sessions:**
208
+ ```bash
209
+ # Terminal 1
210
+ aspect-sync --remote dropbox --path /videos --directory-id abc-123 --project-id p1 --session prod-sync --api-key key
211
+ # Session: prod-sync
212
+
213
+ # Terminal 2
214
+ aspect-sync --remote gdrive --path /images --directory-id def-456 --project-id p2 --session dev-sync --api-key key
215
+ # Session: dev-sync
216
+ ```
217
+
218
+ **Finding your temp files:**
219
+
220
+ Sessions are stored in `~/.aspect/sync/{session-name}` by default. The full path is shown in the logs at startup.
221
+
182
222
  ## How It Works
183
223
 
184
- 1. **Rclone Sync**: Downloads files from the remote to a local temp directory
185
- 2. **Directory Creation**: Creates matching folder structure in Aspect
186
- 3. **File Upload**: Uploads each file using multipart upload (20MB chunks)
187
- 4. **Progress Display**: Shows real-time upload progress in the CLI
188
- 5. **Cleanup**: Deletes local files after successful upload (unless `--keep-local` is set)
224
+ 1. **Session Creation**: Creates isolated session directory with nanosecond-precision timestamp
225
+ 2. **Rclone Sync**: Downloads files from the remote to the session directory
226
+ 3. **Directory Discovery**: Fetches existing directory tree from Aspect to avoid duplicates
227
+ 4. **Directory Creation**: Creates only missing directories, reuses existing ones
228
+ 5. **Asset Deduplication**: Checks if each asset already exists before uploading
229
+ 6. **File Upload**: Uploads new assets using multipart upload (20MB chunks)
230
+ 7. **Progress Display**: Shows real-time upload progress in the CLI
231
+ 8. **Cleanup**: Deletes local files after successful upload (unless `--keep-local` is set)
232
+
233
+ ## Idempotent Behavior
234
+
235
+ The syncer is **fully idempotent** - you can safely re-run the same sync multiple times:
236
+
237
+ ✅ **Existing directories are reused** - The tool fetches the directory tree first and only creates missing directories
238
+
239
+ ✅ **Existing assets are skipped** - Before uploading, checks if an asset with the same name, size, and location already exists
240
+ - If found and fully uploaded: Skips upload
241
+ - If found but incomplete: Deletes incomplete asset and re-uploads
242
+ - If not found: Proceeds with upload
243
+
244
+ ✅ **Clean re-runs** - If a sync fails halfway:
245
+ ```bash
246
+ # First run - uploads 50 of 100 files then crashes
247
+ aspect-sync --remote dropbox --path /videos --directory-id abc --project-id xyz --api-key key
248
+
249
+ # Re-run - skips the 50 uploaded files, uploads remaining 50
250
+ aspect-sync --remote dropbox --path /videos --directory-id abc --project-id xyz --api-key key
251
+ ```
252
+
253
+ **Output on re-run:**
254
+ ```
255
+ ✓ video1.mp4 (100%)
256
+ ⊘ video2.mp4 (Skipped - already uploaded) ← Already uploaded
257
+ ⊘ video3.mp4 (Skipped - already uploaded) ← Already uploaded
258
+ ↑ video4.mp4 (45%) ← Uploading now
259
+
260
+ Total: 100 | Success: 1 | Failed: 0 | Skipped: 98 | In Progress: 1 | Queued: 0
261
+ ```
189
262
 
190
263
  ## CLI Progress Display
191
264
 
@@ -194,14 +267,17 @@ The tool shows dynamic, in-place progress updates:
194
267
  ```
195
268
  ✓ video1.mp4 (100%)
196
269
  ✓ video2.mp4 (100%)
197
- video3.mp4 (47%)
198
- ↑ video4.mp4 (23%)
270
+ video3.mp4 (Skipped - already uploaded)
271
+ ↑ video4.mp4 (47%)
272
+ ↑ video5.mp4 (23%)
199
273
 
200
- Total: 10 | Success: 2 | Failed: 0 | In Progress: 2 | Queued: 6 | Speed: 45.3 Mb/s | Time remaining: 2m 15s
274
+ Total: 10 | Success: 2 | Failed: 0 | Skipped: 1 | In Progress: 2 | Queued: 5 | Speed: 45.3 Mb/s | Time remaining: 2m 15s
201
275
  ```
202
276
 
277
+ **Status Indicators:**
203
278
  - `✓` = Successfully uploaded
204
279
  - `✗` = Failed upload
280
+ - `⊘` = Skipped (already exists on server)
205
281
  - `↑` = Currently uploading
206
282
 
207
283
  Only files that are actively uploading are shown (not the entire queue).
@@ -1 +1 @@
1
- {"version":3,"file":"cliDisplay.d.ts","sourceRoot":"","sources":["../src/cliDisplay.ts"],"names":[],"mappings":"AAKA,cAAM,UAAU;;IAOd,KAAK,IAAI,IAAI;IAkBb,IAAI,IAAI,IAAI;CAoGb;AAED,eAAO,MAAM,UAAU,YAAmB,CAAA"}
1
+ {"version":3,"file":"cliDisplay.d.ts","sourceRoot":"","sources":["../src/cliDisplay.ts"],"names":[],"mappings":"AAKA,cAAM,UAAU;;IAOd,KAAK,IAAI,IAAI;IAkBb,IAAI,IAAI,IAAI;CA4Gb;AAED,eAAO,MAAM,UAAU,YAAmB,CAAA"}
@@ -44,9 +44,11 @@ class CliDisplay {
44
44
  const inProgressFiles = statusTracker.getInProgressFiles();
45
45
  const allFiles = statusTracker.getAllUploadFiles();
46
46
  const totals = statusTracker.getUploadTotals();
47
- // Check for newly completed/failed files since last render
47
+ // Check for newly completed/failed/skipped files since last render
48
48
  for (const file of allFiles) {
49
- if ((file.uploadStatus === UploadStatus.SUCCESS || file.uploadStatus === UploadStatus.FAILED) &&
49
+ if ((file.uploadStatus === UploadStatus.SUCCESS ||
50
+ file.uploadStatus === UploadStatus.FAILED ||
51
+ file.uploadStatus === UploadStatus.SKIPPED) &&
50
52
  !this.#completedFileIds.has(file.fileId)) {
51
53
  this.#addCompletedLine(file);
52
54
  this.#completedFileIds.add(file.fileId);
@@ -68,17 +70,20 @@ class CliDisplay {
68
70
  }
69
71
  #addCompletedLine(file) {
70
72
  if (file.uploadStatus === UploadStatus.SUCCESS) {
71
- this.#completedLines.push(`${chalk.green("✓")} ${file.fileName} ${chalk.green("(100%)")}`);
73
+ this.#completedLines.push(`${chalk.green("✓")} ${file.relativePath} ${chalk.green("(100%)")}`);
72
74
  }
73
75
  else if (file.uploadStatus === UploadStatus.FAILED) {
74
- this.#completedLines.push(`${chalk.red("✗")} ${file.fileName} ${chalk.red(`(Failed: ${file.errorMessage || "Unknown error"})`)}`);
76
+ this.#completedLines.push(`${chalk.red("✗")} ${file.relativePath} ${chalk.red(`(Failed: ${file.errorMessage || "Unknown error"})`)}`);
77
+ }
78
+ else if (file.uploadStatus === UploadStatus.SKIPPED) {
79
+ this.#completedLines.push(`${chalk.yellow("⊘")} ${file.relativePath} ${chalk.yellow("(Skipped - already exists)")}`);
75
80
  }
76
81
  }
77
82
  #formatInProgressFile(file) {
78
83
  const percentage = file.totalBytesToUpload > 0
79
84
  ? Math.floor((file.bytesUploaded / file.totalBytesToUpload) * 100)
80
85
  : 0;
81
- return `${chalk.blue("↑")} ${file.fileName} ${chalk.blue(`(${percentage}%)`)}`;
86
+ return `${chalk.blue("↑")} ${file.relativePath} ${chalk.blue(`(${percentage}%)`)}`;
82
87
  }
83
88
  #formatSummary(totals) {
84
89
  // Stats are updated by the 1-second interval, just read cached values
@@ -87,10 +92,11 @@ class CliDisplay {
87
92
  `Total: ${totals.totalFileCount}`,
88
93
  chalk.green(`Success: ${totals.successFileCount}`),
89
94
  chalk.red(`Failed: ${totals.failedFileCount}`),
95
+ chalk.yellow(`Skipped: ${totals.skippedFileCount}`),
90
96
  chalk.blue(`In Progress: ${totals.inProgressFileCount}`),
91
97
  chalk.gray(`Queued: ${totals.queuedFileCount}`),
92
98
  ];
93
- const statsLine = stats.formattedSpeed ? [
99
+ const statsLine = stats.uploadSpeedMbps !== null && stats.timeRemainingSeconds !== null ? [
94
100
  chalk.cyan(`Speed: ${stats.formattedSpeed}`),
95
101
  chalk.magenta(`Time remaining: ${stats.formattedTime}`),
96
102
  ] : [];
@@ -1 +1 @@
1
- {"version":3,"file":"cliDisplay.js","sourceRoot":"","sources":["../src/cliDisplay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cliDisplay.js","sourceRoot":"","sources":["../src/cliDisplay.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -18,12 +18,37 @@ program
18
18
  .option("--concurrent <number>", "Maximum concurrent chunk uploads", "4")
19
19
  .option("--keep-local", "Keep local files after upload (for debugging)", false)
20
20
  .option("--temp-dir <path>", "Local temporary directory for synced files", path.join(os.homedir(), ".aspect", "sync"))
21
+ .option("--session <name>", "Session name for isolation (default: auto-generated timestamp)")
21
22
  .action(async (options) => {
22
23
  // Validate required options
23
24
  if (!options.apiKey) {
24
25
  console.error("Error: --api-key is required (or set ASPECT_API_KEY env variable)");
25
26
  process.exit(1);
26
27
  }
28
+ // Build base temp directory
29
+ const baseTempDir = options.tempDir || path.join(os.homedir(), ".aspect", "sync");
30
+ // Generate or use provided session name
31
+ let sessionName;
32
+ if (options.session) {
33
+ sessionName = options.session;
34
+ }
35
+ else {
36
+ // Auto-generate: YYYY-MM-DD_HHh-MMm-SSs-NNNNNNNNNns (nanosecond precision)
37
+ const now = new Date();
38
+ const year = now.getFullYear();
39
+ const month = String(now.getMonth() + 1).padStart(2, '0');
40
+ const day = String(now.getDate()).padStart(2, '0');
41
+ const hours = String(now.getHours()).padStart(2, '0');
42
+ const minutes = String(now.getMinutes()).padStart(2, '0');
43
+ const seconds = String(now.getSeconds()).padStart(2, '0');
44
+ // Get nanoseconds from high-resolution time
45
+ const hrtime = process.hrtime.bigint();
46
+ // Extract the sub-second portion (last 9 digits = nanoseconds within the second)
47
+ const nanos = hrtime % 1000000000n;
48
+ const nanosStr = String(nanos).padStart(9, '0');
49
+ sessionName = `${year}-${month}-${day}_${hours}h-${minutes}m-${seconds}s-${nanosStr}ns`;
50
+ }
51
+ const localTempDir = path.join(baseTempDir, sessionName);
27
52
  // Build config
28
53
  const config = {
29
54
  remote: options.remote,
@@ -34,7 +59,8 @@ program
34
59
  apiKey: options.apiKey,
35
60
  maxConcurrent: parseInt(options.concurrent, 10),
36
61
  keepLocal: options.keepLocal,
37
- localTempDir: options.tempDir,
62
+ localTempDir: localTempDir,
63
+ sessionName: sessionName,
38
64
  };
39
65
  // Validate config
40
66
  if (isNaN(config.maxConcurrent) || config.maxConcurrent < 1) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAG5C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;AAE7B,OAAO;KACJ,IAAI,CAAC,aAAa,CAAC;KACnB,WAAW,CAAC,wDAAwD,CAAC;KACrE,OAAO,CAAC,OAAO,CAAC,CAAA;AAEnB,OAAO;KACJ,cAAc,CAAC,mBAAmB,EAAE,oCAAoC,CAAC;KACzE,cAAc,CAAC,eAAe,EAAE,0BAA0B,CAAC;KAC3D,cAAc,CAAC,qBAAqB,EAAE,kCAAkC,CAAC;KACzE,cAAc,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;KACxD,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,wBAAwB,CAAC;KACnG,MAAM,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;KAC7E,MAAM,CAAC,uBAAuB,EAAE,kCAAkC,EAAE,GAAG,CAAC;KACxE,MAAM,CAAC,cAAc,EAAE,+CAA+C,EAAE,KAAK,CAAC;KAC9E,MAAM,CAAC,mBAAmB,EAAE,4CAA4C,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;KACrH,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,4BAA4B;IAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAA;QAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,eAAe;IACf,MAAM,MAAM,GAAe;QACzB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,UAAU,EAAE,OAAO,CAAC,IAAI;QACxB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,aAAa,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;QAC/C,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,YAAY,EAAE,OAAO,CAAC,OAAO;KAC9B,CAAA;IAED,kBAAkB;IAClB,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;QAC5D,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAA;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAA;QACjD,MAAM,YAAY,CAAC,GAAG,EAAE,CAAA;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAA;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,KAAK,EAAE,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rclone.d.ts","sourceRoot":"","sources":["../src/rclone.ts"],"names":[],"mappings":"AAIA,qBAAa,WAAY,SAAQ,KAAK;aACS,MAAM,EAAE,MAAM;gBAA/C,OAAO,EAAE,MAAM,EAAkB,MAAM,EAAE,MAAM;CAI5D;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAoB1D;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAuDf;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CA0CnB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA0BpF;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMrE;AAED,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B5E"}
1
+ {"version":3,"file":"rclone.d.ts","sourceRoot":"","sources":["../src/rclone.ts"],"names":[],"mappings":"AAIA,qBAAa,WAAY,SAAQ,KAAK;aACS,MAAM,EAAE,MAAM;gBAA/C,OAAO,EAAE,MAAM,EAAkB,MAAM,EAAE,MAAM;CAI5D;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAoB1D;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CA4Cf;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CA0CnB;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAA;IACpB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA0BpF;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMrE;AAED,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+B5E"}
package/dist/rclone.js CHANGED
@@ -38,29 +38,20 @@ export async function syncFromRemote(remote, remotePath, localPath) {
38
38
  "--stats", "1s",
39
39
  "--stats-one-line",
40
40
  "-v"
41
- ]);
42
- let stderrOutput = "";
43
- // Stream stdout to console in real-time
44
- rcloneProcess.stdout.on("data", (data) => {
45
- process.stdout.write(data);
46
- });
47
- // Capture stderr for error reporting
48
- rcloneProcess.stderr.on("data", (data) => {
49
- const text = data.toString();
50
- stderrOutput += text;
51
- process.stderr.write(data);
41
+ ], {
42
+ stdio: 'inherit' // Inherit all streams for native terminal behavior
52
43
  });
44
+ // All output goes directly to terminal - no manual handling needed
53
45
  // Handle process completion
54
46
  rcloneProcess.on("close", (code) => {
47
+ console.log("");
55
48
  if (code === 0) {
56
- console.log("");
57
- console.log(`✓ Sync complete: ${remoteSource} -> ${localPath}`);
49
+ console.log(`✓ Rclone sync complete`);
58
50
  resolve();
59
51
  }
60
52
  else {
61
- console.log("");
62
53
  console.log(`✗ Failed to sync from ${remoteSource}`);
63
- reject(new RcloneError(`rclone exited with code ${code}`, stderrOutput));
54
+ reject(new RcloneError(`rclone exited with code ${code}`, "(output shown above)"));
64
55
  }
65
56
  });
66
57
  // Handle spawn errors (e.g., rclone not found)
@@ -1 +1 @@
1
- {"version":3,"file":"rclone.js","sourceRoot":"","sources":["../src/rclone.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rclone.js","sourceRoot":"","sources":["../src/rclone.ts"],"names":[],"mappings":"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"}
@@ -16,10 +16,11 @@ declare class StatusTrackerClass {
16
16
  uploadFiles: Record<string, UploadFileState>;
17
17
  uploadSpeedState: UploadSpeedState;
18
18
  uploadStats: UploadStats;
19
- addUploadFile(fileId: string, filePath: string, fileName: string, fileSize: number): void;
19
+ addUploadFile(fileId: string, filePath: string, fileName: string, relativePath: string, fileSize: number): void;
20
20
  updateUploadProgress(fileId: string, bytesUploaded: number): void;
21
21
  markUploadSuccess(fileId: string): void;
22
22
  markUploadFailed(fileId: string, errorMessage: string): void;
23
+ markUploadSkipped(fileId: string): void;
23
24
  resetFileForRetry(fileId: string): void;
24
25
  getUploadFile(fileId: string): UploadFileState | undefined;
25
26
  getUploadTotals(): UploadTotals;
@@ -1 +1 @@
1
- {"version":3,"file":"statusTracker.d.ts","sourceRoot":"","sources":["../src/statusTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAA;AAKlF,UAAU,eAAe;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,gBAAgB;IACxB,UAAU,EAAE,eAAe,EAAE,CAAA;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,cAAM,kBAAkB;IACtB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAK;IACjD,gBAAgB,EAAE,gBAAgB,CAEjC;IACD,WAAW,EAAE,WAAW,CAKvB;IAED,aAAa,CACX,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,IAAI;IAaP,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IA6BjE,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAmBvC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAoB5D,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAavC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAI1D,eAAe,IAAI,YAAY;IAwC/B,iBAAiB,IAAI,eAAe,EAAE;IAItC,kBAAkB,IAAI,eAAe,EAAE;IAMvC,kBAAkB,IAAI,MAAM,GAAG,IAAI;IAsBnC,uBAAuB,IAAI,MAAM,GAAG,IAAI;IA6BxC,iBAAiB,IAAI,IAAI;IAYzB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,mBAAmB;CAmB5B;AAED,eAAO,MAAM,aAAa,oBAA2B,CAAA"}
1
+ {"version":3,"file":"statusTracker.d.ts","sourceRoot":"","sources":["../src/statusTracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAA;AAKlF,UAAU,eAAe;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,UAAU,gBAAgB;IACxB,UAAU,EAAE,eAAe,EAAE,CAAA;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,cAAM,kBAAkB;IACtB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAK;IACjD,gBAAgB,EAAE,gBAAgB,CAEjC;IACD,WAAW,EAAE,WAAW,CAKvB;IAED,aAAa,CACX,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,GACf,IAAI;IAcP,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IA6BjE,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAmBvC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAoB5D,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAmBvC,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAavC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAI1D,eAAe,IAAI,YAAY;IA6C/B,iBAAiB,IAAI,eAAe,EAAE;IAItC,kBAAkB,IAAI,eAAe,EAAE;IAMvC,kBAAkB,IAAI,MAAM,GAAG,IAAI;IAsBnC,uBAAuB,IAAI,MAAM,GAAG,IAAI;IA6BxC,iBAAiB,IAAI,IAAI;IAYzB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,mBAAmB;CAmB5B;AAED,eAAO,MAAM,aAAa,oBAA2B,CAAA"}
@@ -12,11 +12,12 @@ class StatusTrackerClass {
12
12
  formattedSpeed: "Calculating...",
13
13
  formattedTime: "Calculating..."
14
14
  };
15
- addUploadFile(fileId, filePath, fileName, fileSize) {
15
+ addUploadFile(fileId, filePath, fileName, relativePath, fileSize) {
16
16
  this.uploadFiles[fileId] = {
17
17
  fileId,
18
18
  filePath,
19
19
  fileName,
20
+ relativePath,
20
21
  totalBytesToUpload: fileSize,
21
22
  bytesUploaded: 0,
22
23
  uploadStatus: UploadStatus.QUEUED,
@@ -75,6 +76,20 @@ class StatusTrackerClass {
75
76
  this.uploadSpeedState.dataPoints = [];
76
77
  }
77
78
  }
79
+ markUploadSkipped(fileId) {
80
+ const currentFile = this.uploadFiles[fileId];
81
+ if (!currentFile)
82
+ return;
83
+ this.uploadFiles[fileId] = {
84
+ ...currentFile,
85
+ uploadStatus: UploadStatus.SKIPPED,
86
+ bytesUploaded: 0
87
+ };
88
+ const hasActiveUploads = Object.values(this.uploadFiles).some(file => file.uploadStatus === UploadStatus.QUEUED || file.uploadStatus === UploadStatus.IN_PROGRESS);
89
+ if (!hasActiveUploads) {
90
+ this.uploadSpeedState.dataPoints = [];
91
+ }
92
+ }
78
93
  resetFileForRetry(fileId) {
79
94
  const currentFile = this.uploadFiles[fileId];
80
95
  if (!currentFile)
@@ -93,7 +108,8 @@ class StatusTrackerClass {
93
108
  getUploadTotals() {
94
109
  const files = Object.values(this.uploadFiles);
95
110
  return files.reduce((totals, file) => {
96
- if (file.uploadStatus !== UploadStatus.FAILED) {
111
+ if (file.uploadStatus !== UploadStatus.FAILED &&
112
+ file.uploadStatus !== UploadStatus.SKIPPED) {
97
113
  totals.totalBytesToUpload += file.totalBytesToUpload;
98
114
  totals.totalBytesUploaded += file.bytesUploaded;
99
115
  }
@@ -111,6 +127,9 @@ class StatusTrackerClass {
111
127
  case UploadStatus.FAILED:
112
128
  totals.failedFileCount += 1;
113
129
  break;
130
+ case UploadStatus.SKIPPED:
131
+ totals.skippedFileCount += 1;
132
+ break;
114
133
  }
115
134
  return totals;
116
135
  }, {
@@ -120,7 +139,8 @@ class StatusTrackerClass {
120
139
  queuedFileCount: 0,
121
140
  inProgressFileCount: 0,
122
141
  successFileCount: 0,
123
- failedFileCount: 0
142
+ failedFileCount: 0,
143
+ skippedFileCount: 0
124
144
  });
125
145
  }
126
146
  getAllUploadFiles() {
@@ -1 +1 @@
1
- {"version":3,"file":"statusTracker.js","sourceRoot":"","sources":["../src/statusTracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"statusTracker.js","sourceRoot":"","sources":["../src/statusTracker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,UAAU,EAAoB,MAAM,YAAY,CAAA;AAS9D,qBAAa,gBAAgB;;gBAOf,MAAM,EAAE,UAAU;IAaxB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA4M3B"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,UAAU,EAAqB,MAAM,YAAY,CAAA;AAS/D,qBAAa,gBAAgB;;gBAOf,MAAM,EAAE,UAAU;IAaxB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAqO3B"}
package/dist/sync.js CHANGED
@@ -3,9 +3,9 @@ import * as path from "path";
3
3
  import axios from "axios";
4
4
  import { v4 as uuidv4 } from "uuid";
5
5
  import { statusTracker } from "./statusTracker.js";
6
- import { Uploader, createTaskController } from "./uploader.js";
6
+ import { Uploader, createTaskController, SkippedError } from "./uploader.js";
7
7
  import { cliDisplay } from "./cliDisplay.js";
8
- import { checkRcloneInstalled, syncFromRemote, scanLocalDirectory, deleteLocalFile, deleteEmptyDirectories, } from "./rclone.js";
8
+ import { checkRcloneInstalled, syncFromRemote, scanLocalDirectory, } from "./rclone.js";
9
9
  export class SyncOrchestrator {
10
10
  #config;
11
11
  #uploader;
@@ -26,9 +26,11 @@ export class SyncOrchestrator {
26
26
  }
27
27
  async run() {
28
28
  console.log("Starting data sync...");
29
+ console.log(`Session: ${this.#config.sessionName}`);
29
30
  console.log(`Remote: ${this.#config.remote}:${this.#config.remotePath}`);
30
31
  console.log(`Root directory ID: ${this.#config.directoryId}`);
31
32
  console.log(`Project ID: ${this.#config.projectId}`);
33
+ console.log(`Temp directory: ${this.#config.localTempDir}`);
32
34
  console.log("");
33
35
  // Step 1: Check rclone is installed
34
36
  console.log("Checking rclone installation...");
@@ -36,7 +38,10 @@ export class SyncOrchestrator {
36
38
  console.log("✓ rclone is installed");
37
39
  console.log("");
38
40
  // Step 2: Ensure local temp directory exists
41
+ console.log("Creating session directory...");
39
42
  await fs.promises.mkdir(this.#config.localTempDir, { recursive: true });
43
+ console.log(`✓ Session directory: ${this.#config.localTempDir}`);
44
+ console.log("");
40
45
  // Step 3: Sync files from remote to local
41
46
  console.log("Syncing files from remote...");
42
47
  await syncFromRemote(this.#config.remote, this.#config.remotePath, this.#config.localTempDir);
@@ -50,9 +55,9 @@ export class SyncOrchestrator {
50
55
  console.log("No files to upload. Exiting.");
51
56
  return;
52
57
  }
53
- // Step 5: Create directory structure in Aspect
54
- console.log("Creating directory structure...");
55
- await this.#createDirectoryStructure(localFiles);
58
+ // Step 5: Fetch existing directory tree and create missing directories
59
+ console.log("Fetching existing directory structure...");
60
+ await this.#fetchAndCreateDirectories(localFiles);
56
61
  console.log("");
57
62
  // Step 6: Start CLI display
58
63
  cliDisplay.start();
@@ -62,33 +67,40 @@ export class SyncOrchestrator {
62
67
  const uploadPromises = localFiles.map(async (file) => {
63
68
  const fileId = uuidv4();
64
69
  const directoryId = this.#getDirectoryIdForFile(file.relativePath);
65
- statusTracker.addUploadFile(fileId, file.absolutePath, file.fileName, file.size);
70
+ statusTracker.addUploadFile(fileId, file.absolutePath, file.fileName, file.relativePath, file.size);
66
71
  try {
67
72
  await this.#uploader.uploadFile(fileId, file.absolutePath, directoryId, this.#taskController);
68
- // Delete local file after successful upload (unless keepLocal is true)
69
- if (!this.#config.keepLocal) {
70
- await deleteLocalFile(file.absolutePath);
71
- }
72
73
  }
73
74
  catch (error) {
74
- console.error(`Failed to upload ${file.fileName}:`, error);
75
+ if (error instanceof SkippedError) {
76
+ // Mark as skipped (not an error)
77
+ statusTracker.markUploadSkipped(fileId);
78
+ }
79
+ else {
80
+ console.error(`Failed to upload ${file.fileName}:`, error);
81
+ }
75
82
  }
76
83
  });
77
84
  await Promise.all(uploadPromises);
78
85
  // Step 8: Stop CLI display
79
86
  cliDisplay.stop();
80
- // Step 9: Clean up empty directories
87
+ // Step 9: Clean up entire session directory (unless keepLocal is true)
81
88
  if (!this.#config.keepLocal) {
82
89
  console.log("");
83
- console.log("Cleaning up empty directories...");
84
- await deleteEmptyDirectories(this.#config.localTempDir);
90
+ console.log("Cleaning up session directory...");
91
+ await fs.promises.rm(this.#config.localTempDir, { recursive: true, force: true });
92
+ console.log(`✓ Deleted session directory: ${this.#config.localTempDir}`);
85
93
  }
86
94
  // Step 10: Print summary
87
95
  console.log("");
88
96
  this.#printSummary();
89
97
  }
90
- async #createDirectoryStructure(files) {
91
- // Extract unique directory paths from files
98
+ async #fetchAndCreateDirectories(files) {
99
+ // Step 1: Fetch existing directory tree from server
100
+ const tree = await this.#fetchDirectoryTree(this.#config.directoryId);
101
+ // Step 2: Flatten tree into cache (relativePath -> directoryId)
102
+ this.#flattenDirectoryTree(tree, "");
103
+ // Step 3: Extract unique directory paths from files
92
104
  const directoryPaths = new Set();
93
105
  for (const file of files) {
94
106
  const dirPath = path.dirname(file.relativePath);
@@ -101,54 +113,62 @@ export class SyncOrchestrator {
101
113
  }
102
114
  }
103
115
  }
104
- // Sort directories by depth (shallowest first)
116
+ // Step 4: Sort directories by depth (shallowest first)
105
117
  const sortedDirectories = Array.from(directoryPaths).sort((a, b) => a.split(path.sep).length - b.split(path.sep).length);
106
- // Create directories in order
118
+ // Step 5: Create missing directories (skip existing ones)
107
119
  for (const dirPath of sortedDirectories) {
120
+ // Check if directory already exists in cache
121
+ if (this.#directoryCache.has(dirPath)) {
122
+ console.log(`Using existing directory: ${dirPath}`);
123
+ continue;
124
+ }
125
+ // Directory doesn't exist, create it
108
126
  const parentPath = path.dirname(dirPath);
109
127
  const dirName = path.basename(dirPath);
110
128
  const parentId = parentPath === "." ? this.#config.directoryId : this.#directoryCache.get(parentPath);
111
129
  if (!parentId) {
112
130
  throw new Error(`Parent directory ID not found for path: ${dirPath}`);
113
131
  }
114
- try {
115
- const directory = await this.#createDirectory(parentId, dirName);
116
- this.#directoryCache.set(dirPath, directory.id);
117
- console.log(`Created directory: ${dirPath}`);
118
- }
119
- catch (error) {
120
- // If directory already exists, try to get it
121
- if (error.response?.status === 409 || error.response?.status === 400) {
122
- console.log(`Directory already exists: ${dirPath}`);
123
- // For now, we'll need to list subdirectories to find the existing one
124
- // This is a limitation - ideally we'd have a "get or create" API
125
- const existingDir = await this.#findExistingDirectory(parentId, dirName);
126
- if (existingDir) {
127
- this.#directoryCache.set(dirPath, existingDir.id);
128
- }
129
- else {
130
- throw new Error(`Failed to find existing directory: ${dirPath}`);
131
- }
132
- }
133
- else {
134
- throw error;
135
- }
136
- }
132
+ const directory = await this.#createDirectory(parentId, dirName);
133
+ this.#directoryCache.set(dirPath, directory.id);
134
+ console.log(`Created directory: ${dirPath}`);
137
135
  }
138
136
  }
139
- async #createDirectory(parentId, name) {
140
- const response = await this.#apiClient.post(`/directories/${parentId}/directories`, { name });
137
+ async #fetchDirectoryTree(directoryId) {
138
+ const response = await this.#apiClient.get(`/directories/${directoryId}/tree`);
141
139
  return response.data;
142
140
  }
143
- async #findExistingDirectory(parentId, name) {
144
- try {
145
- const response = await this.#apiClient.get(`/directories/${parentId}/directories`);
146
- const found = response.data.find((dir) => dir.name === name);
147
- return found || null;
141
+ #flattenDirectoryTree(node, parentPath) {
142
+ // For root node (parentPath is empty), don't add to cache - it's the sync root
143
+ // For child nodes, build relative path from root
144
+ let currentPath = "";
145
+ if (parentPath === "") {
146
+ // This is the root directory - don't cache it, but process children
147
+ currentPath = "";
148
+ }
149
+ else if (parentPath === ".") {
150
+ // First level child - just use the name
151
+ currentPath = node.name;
152
+ }
153
+ else {
154
+ // Nested child - append to parent path
155
+ currentPath = `${parentPath}${path.sep}${node.name}`;
148
156
  }
149
- catch (error) {
150
- return null;
157
+ // Add to cache if not root
158
+ if (currentPath && currentPath !== "") {
159
+ this.#directoryCache.set(currentPath, node.id);
151
160
  }
161
+ // Recursively process children
162
+ for (const child of node.children) {
163
+ // First level: pass "." so children know they're at root level
164
+ // Nested levels: pass the current path
165
+ const childParentPath = parentPath === "" ? "." : currentPath;
166
+ this.#flattenDirectoryTree(child, childParentPath);
167
+ }
168
+ }
169
+ async #createDirectory(parentId, name) {
170
+ const response = await this.#apiClient.post(`/directories/${parentId}/directories`, { name });
171
+ return response.data;
152
172
  }
153
173
  #getDirectoryIdForFile(relativePath) {
154
174
  const dirPath = path.dirname(relativePath);
package/dist/sync.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -2,12 +2,14 @@ export declare enum UploadStatus {
2
2
  QUEUED = "queued",
3
3
  IN_PROGRESS = "in_progress",
4
4
  SUCCESS = "success",
5
- FAILED = "failed"
5
+ FAILED = "failed",
6
+ SKIPPED = "skipped"
6
7
  }
7
8
  export interface UploadFileState {
8
9
  fileId: string;
9
10
  filePath: string;
10
11
  fileName: string;
12
+ relativePath: string;
11
13
  totalBytesToUpload: number;
12
14
  bytesUploaded: number;
13
15
  uploadStatus: UploadStatus;
@@ -37,6 +39,7 @@ export interface UploadTotals {
37
39
  inProgressFileCount: number;
38
40
  successFileCount: number;
39
41
  failedFileCount: number;
42
+ skippedFileCount: number;
40
43
  }
41
44
  export interface SyncConfig {
42
45
  remote: string;
@@ -48,6 +51,7 @@ export interface SyncConfig {
48
51
  maxConcurrent: number;
49
52
  keepLocal: boolean;
50
53
  localTempDir: string;
54
+ sessionName: string;
51
55
  }
52
56
  export interface DirectoryMapping {
53
57
  remotePath: string;
@@ -60,4 +64,14 @@ export interface FileToUpload {
60
64
  directoryId: string;
61
65
  size: number;
62
66
  }
67
+ export interface DirectoryTreeNode {
68
+ id: string;
69
+ name: string;
70
+ parent_id: string;
71
+ children: DirectoryTreeNode[];
72
+ }
73
+ export interface AssetCheckExistsResponse {
74
+ exists: boolean;
75
+ asset_id?: string;
76
+ }
63
77
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IACtB,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,YAAY,CAAA;IAC1B,SAAS,EAAE,IAAI,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IACtB,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,YAAY,CAAA;IAC1B,SAAS,EAAE,IAAI,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,MAAM,CAAA;IACvB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,OAAO,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,iBAAiB,EAAE,CAAA;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB"}
package/dist/types.js CHANGED
@@ -4,5 +4,6 @@ export var UploadStatus;
4
4
  UploadStatus["IN_PROGRESS"] = "in_progress";
5
5
  UploadStatus["SUCCESS"] = "success";
6
6
  UploadStatus["FAILED"] = "failed";
7
+ UploadStatus["SKIPPED"] = "skipped";
7
8
  })(UploadStatus || (UploadStatus = {}));
8
9
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,2CAA2B,CAAA;IAC3B,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;AACnB,CAAC,EALW,YAAY,KAAZ,YAAY,QAKvB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,iCAAiB,CAAA;IACjB,2CAA2B,CAAA;IAC3B,mCAAmB,CAAA;IACnB,iCAAiB,CAAA;IACjB,mCAAmB,CAAA;AACrB,CAAC,EANW,YAAY,KAAZ,YAAY,QAMvB"}
@@ -1,4 +1,8 @@
1
1
  import { type SyncConfig } from "./types.js";
2
+ export declare class SkippedError extends Error {
3
+ readonly assetId: string;
4
+ constructor(assetId: string, message?: string);
5
+ }
2
6
  interface WeightedTaskController {
3
7
  acquire: () => Promise<void>;
4
8
  release: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"uploader.d.ts","sourceRoot":"","sources":["../src/uploader.ts"],"names":[],"mappings":"AAKA,OAAO,EAAyG,KAAK,UAAU,EAAE,MAAM,YAAY,CAAA;AAqCnJ,UAAU,sBAAsB;IAC9B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAgCD,qBAAa,QAAQ;;gBAIP,MAAM,EAAE,UAAU;IAWxB,UAAU,CACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,sBAAsB,GACrC,OAAO,CAAC,IAAI,CAAC;CAsMjB;AAED,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,sBAAsB,CAElF"}
1
+ {"version":3,"file":"uploader.d.ts","sourceRoot":"","sources":["../src/uploader.ts"],"names":[],"mappings":"AAKA,OAAO,EAAyG,KAAK,UAAU,EAAiC,MAAM,YAAY,CAAA;AAElL,qBAAa,YAAa,SAAQ,KAAK;aACT,OAAO,EAAE,MAAM;gBAAf,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,MAA+B;CAItF;AAqCD,UAAU,sBAAsB;IAC9B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAgCD,qBAAa,QAAQ;;gBAIP,MAAM,EAAE,UAAU;IAWxB,UAAU,CACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,sBAAsB,GACrC,OAAO,CAAC,IAAI,CAAC;CA8NjB;AAED,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,sBAAsB,CAElF"}
package/dist/uploader.js CHANGED
@@ -3,6 +3,14 @@ import * as fs from "fs";
3
3
  import * as path from "path";
4
4
  import { Readable } from "stream";
5
5
  import { statusTracker } from "./statusTracker.js";
6
+ export class SkippedError extends Error {
7
+ assetId;
8
+ constructor(assetId, message = "Asset already exists") {
9
+ super(message);
10
+ this.assetId = assetId;
11
+ this.name = "SkippedError";
12
+ }
13
+ }
6
14
  const CHUNK_SIZE = 20 * 1024 * 1024; // 20MB per part
7
15
  const MAX_PART_UPLOAD_RETRIES = 3;
8
16
  const MAX_FILE_UPLOAD_RETRIES = 3;
@@ -62,12 +70,20 @@ export class Uploader {
62
70
  this.#apiClient = axios.create({
63
71
  baseURL: config.apiUrl,
64
72
  headers: {
65
- "Authorization": `Bearer ${config.apiKey}`,
73
+ "Authorization": `${config.apiKey}`,
66
74
  "Content-Type": "application/json",
67
75
  }
68
76
  });
69
77
  }
70
78
  async uploadFile(fileId, filePath, directoryId, taskController) {
79
+ const fileStats = await fs.promises.stat(filePath);
80
+ const fileName = path.basename(filePath);
81
+ // Check if asset already exists before attempting upload
82
+ const existsResult = await this.#checkAssetExists(directoryId, fileName, fileStats.size);
83
+ if (existsResult.exists) {
84
+ throw new SkippedError(existsResult.asset_id, `Asset already exists`);
85
+ }
86
+ // Proceed with upload
71
87
  let retryCount = 0;
72
88
  while (retryCount <= MAX_FILE_UPLOAD_RETRIES) {
73
89
  try {
@@ -213,6 +229,14 @@ export class Uploader {
213
229
  upload_id: uploadId,
214
230
  });
215
231
  }
232
+ async #checkAssetExists(directoryId, fileName, sizeBytes) {
233
+ const response = await this.#apiClient.post("/assets/check-exists", {
234
+ directory_id: directoryId,
235
+ name: fileName,
236
+ size_bytes: sizeBytes,
237
+ });
238
+ return response.data;
239
+ }
216
240
  }
217
241
  export function createTaskController(maxConcurrent) {
218
242
  return new SimpleWeightedTaskController(maxConcurrent);
@@ -1 +1 @@
1
- {"version":3,"file":"uploader.js","sourceRoot":"","sources":["../src/uploader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uploader.js","sourceRoot":"","sources":["../src/uploader.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aspect-sync",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "CLI tool to sync files from external services to Aspect via rclone",
5
5
  "main": "dist/index.js",
6
6
  "bin": {