pushwork 1.0.3 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +8 -1
  2. package/bench/filesystem.bench.ts +78 -0
  3. package/bench/hashing.bench.ts +60 -0
  4. package/bench/move-detection.bench.ts +130 -0
  5. package/bench/runner.ts +49 -0
  6. package/dist/cli/commands.d.ts +15 -25
  7. package/dist/cli/commands.d.ts.map +1 -1
  8. package/dist/cli/commands.js +409 -519
  9. package/dist/cli/commands.js.map +1 -1
  10. package/dist/cli/output.d.ts +75 -0
  11. package/dist/cli/output.d.ts.map +1 -0
  12. package/dist/cli/output.js +182 -0
  13. package/dist/cli/output.js.map +1 -0
  14. package/dist/cli.js +119 -51
  15. package/dist/cli.js.map +1 -1
  16. package/dist/config/remote-manager.d.ts +65 -0
  17. package/dist/config/remote-manager.d.ts.map +1 -0
  18. package/dist/config/remote-manager.js +243 -0
  19. package/dist/config/remote-manager.js.map +1 -0
  20. package/dist/core/change-detection.d.ts +8 -0
  21. package/dist/core/change-detection.d.ts.map +1 -1
  22. package/dist/core/change-detection.js +63 -0
  23. package/dist/core/change-detection.js.map +1 -1
  24. package/dist/core/move-detection.d.ts +9 -48
  25. package/dist/core/move-detection.d.ts.map +1 -1
  26. package/dist/core/move-detection.js +53 -135
  27. package/dist/core/move-detection.js.map +1 -1
  28. package/dist/core/sync-engine.d.ts.map +1 -1
  29. package/dist/core/sync-engine.js +17 -85
  30. package/dist/core/sync-engine.js.map +1 -1
  31. package/dist/types/config.d.ts +45 -5
  32. package/dist/types/config.d.ts.map +1 -1
  33. package/dist/types/documents.d.ts +0 -1
  34. package/dist/types/documents.d.ts.map +1 -1
  35. package/dist/types/snapshot.d.ts +3 -0
  36. package/dist/types/snapshot.d.ts.map +1 -1
  37. package/dist/types/snapshot.js.map +1 -1
  38. package/dist/utils/fs.d.ts.map +1 -1
  39. package/dist/utils/fs.js +9 -33
  40. package/dist/utils/fs.js.map +1 -1
  41. package/dist/utils/index.d.ts +0 -1
  42. package/dist/utils/index.d.ts.map +1 -1
  43. package/dist/utils/index.js +0 -1
  44. package/dist/utils/index.js.map +1 -1
  45. package/dist/utils/repo-factory.d.ts.map +1 -1
  46. package/dist/utils/repo-factory.js +18 -9
  47. package/dist/utils/repo-factory.js.map +1 -1
  48. package/dist/utils/string-similarity.d.ts +14 -0
  49. package/dist/utils/string-similarity.d.ts.map +1 -0
  50. package/dist/utils/string-similarity.js +43 -0
  51. package/dist/utils/string-similarity.js.map +1 -0
  52. package/package.json +10 -5
  53. package/src/cli/commands.ts +520 -697
  54. package/src/cli/output.ts +244 -0
  55. package/src/cli.ts +182 -73
  56. package/src/core/change-detection.ts +95 -0
  57. package/src/core/move-detection.ts +69 -177
  58. package/src/core/sync-engine.ts +17 -105
  59. package/src/types/config.ts +50 -7
  60. package/src/types/documents.ts +0 -1
  61. package/src/types/snapshot.ts +1 -0
  62. package/src/utils/fs.ts +9 -33
  63. package/src/utils/index.ts +0 -1
  64. package/src/utils/repo-factory.ts +21 -8
  65. package/src/utils/string-similarity.ts +54 -0
  66. package/src/utils/content-similarity.ts +0 -194
  67. package/test/unit/content-similarity.test.ts +0 -236
@@ -137,6 +137,27 @@ class ChangeDetector {
137
137
  async detectRemoteChanges(snapshot) {
138
138
  const changes = [];
139
139
  for (const [relativePath, snapshotEntry] of snapshot.files.entries()) {
140
+ // CRITICAL FIX: Check if file still exists in remote directory listing
141
+ // Files can be removed from the directory without their document heads changing
142
+ const stillExistsInDirectory = await this.fileExistsInRemoteDirectory(snapshot.rootDirectoryUrl, relativePath);
143
+ if (!stillExistsInDirectory) {
144
+ // File was removed from remote directory listing
145
+ const localContent = await this.getLocalContent(relativePath);
146
+ // Only report as deleted if local file still exists
147
+ // (if local file is also deleted, detectLocalChanges handles it)
148
+ if (localContent !== null) {
149
+ changes.push({
150
+ path: relativePath,
151
+ changeType: types_1.ChangeType.REMOTE_ONLY,
152
+ fileType: types_1.FileType.TEXT,
153
+ localContent,
154
+ remoteContent: null, // File deleted remotely
155
+ localHead: snapshotEntry.head,
156
+ remoteHead: snapshotEntry.head,
157
+ });
158
+ }
159
+ continue;
160
+ }
140
161
  const currentRemoteHead = await this.getCurrentRemoteHead(snapshotEntry.url);
141
162
  if (!A.equals(currentRemoteHead, snapshotEntry.head)) {
142
163
  // Remote document has changed
@@ -383,6 +404,48 @@ class ChangeDetector {
383
404
  return types_1.ChangeType.BOTH_CHANGED;
384
405
  }
385
406
  }
407
+ /**
408
+ * Check if a file exists in the remote directory hierarchy
409
+ */
410
+ async fileExistsInRemoteDirectory(rootDirectoryUrl, filePath) {
411
+ if (!rootDirectoryUrl)
412
+ return false;
413
+ const entry = await this.findFileInDirectoryHierarchy(rootDirectoryUrl, filePath);
414
+ return entry !== null;
415
+ }
416
+ /**
417
+ * Find a file in the directory hierarchy by path
418
+ */
419
+ async findFileInDirectoryHierarchy(directoryUrl, filePath) {
420
+ try {
421
+ const pathParts = filePath.split("/");
422
+ let currentDirUrl = directoryUrl;
423
+ // Navigate through directories to find the parent directory
424
+ for (let i = 0; i < pathParts.length - 1; i++) {
425
+ const dirName = pathParts[i];
426
+ const dirHandle = await this.repo.find(currentDirUrl);
427
+ const dirDoc = await dirHandle.doc();
428
+ if (!dirDoc)
429
+ return null;
430
+ const subDirEntry = dirDoc.docs.find((entry) => entry.name === dirName && entry.type === "folder");
431
+ if (!subDirEntry)
432
+ return null;
433
+ currentDirUrl = subDirEntry.url;
434
+ }
435
+ // Now look for the file in the final directory
436
+ const fileName = pathParts[pathParts.length - 1];
437
+ const finalDirHandle = await this.repo.find(currentDirUrl);
438
+ const finalDirDoc = await finalDirHandle.doc();
439
+ if (!finalDirDoc)
440
+ return null;
441
+ const fileEntry = finalDirDoc.docs.find((entry) => entry.name === fileName && entry.type === "file");
442
+ return fileEntry || null;
443
+ }
444
+ catch (error) {
445
+ console.warn(`Failed to find file ${filePath} in directory hierarchy: ${error}`);
446
+ return null;
447
+ }
448
+ }
386
449
  }
387
450
  exports.ChangeDetector = ChangeDetector;
388
451
  //# sourceMappingURL=change-detection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"change-detection.js","sourceRoot":"","sources":["../../src/core/change-detection.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,oCAQkB;AAClB,oCAMkB;AAElB,yCAAyC;AACzC,kCAAsC;AAA7B,mGAAA,UAAU,OAAA;AAenB;;GAEG;AACH,MAAa,cAAc;IACzB,YACU,IAAU,EACV,QAAgB,EAChB,kBAA4B,EAAE;QAF9B,SAAI,GAAJ,IAAI,CAAM;QACV,aAAQ,GAAR,QAAQ,CAAQ;QAChB,oBAAe,GAAf,eAAe,CAAe;IACrC,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,QAAsB;QACxC,MAAM,OAAO,GAAqB,EAAE,CAAC;QAErC,+BAA+B;QAC/B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAE5D,yDAAyD;QACzD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC3E,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QAE9B,4DAA4D;QAC5D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;QAE/B,gFAAgF;QAChF,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC;QAEpC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAC9B,QAAsB,EACtB,YAA2E;QAE3E,MAAM,OAAO,GAAqB,EAAE,CAAC;QAErC,mCAAmC;QACnC,KAAK,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9D,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAEvD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,WAAW;gBACX,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,YAAY;oBAClB,UAAU,EAAE,kBAAU,CAAC,UAAU;oBACjC,QAAQ,EAAE,QAAQ,CAAC,IAAI;oBACvB,YAAY,EAAE,QAAQ,CAAC,OAAO;oBAC9B,aAAa,EAAE,IAAI;iBACpB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,2BAA2B;gBAC3B,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAClD,aAAa,CAAC,GAAG,EACjB,aAAa,CAAC,IAAI,CACnB,CAAC;gBACF,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,CACzC,QAAQ,CAAC,OAAO,EAChB,gBAAgB,CACjB,CAAC;gBAEF,IAAI,cAAc,EAAE,CAAC;oBACnB,yBAAyB;oBACzB,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAC7D,aAAa,CAAC,GAAG,CAClB,CAAC;oBACF,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,cAAc,CACxC,gBAAgB,EAChB,oBAAoB,CACrB,CAAC;oBAEF,MAAM,UAAU,GAAG,aAAa;wBAC9B,CAAC,CAAC,kBAAU,CAAC,YAAY;wBACzB,CAAC,CAAC,kBAAU,CAAC,UAAU,CAAC;oBAE1B,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,YAAY;wBAClB,UAAU;wBACV,QAAQ,EAAE,QAAQ,CAAC,IAAI;wBACvB,YAAY,EAAE,QAAQ,CAAC,OAAO;wBAC9B,aAAa,EAAE,oBAAoB;wBACnC,SAAS,EAAE,aAAa,CAAC,IAAI;wBAC7B,UAAU,EAAE,MAAM,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,GAAG,CAAC;qBAC/D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,KAAK,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACrE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpC,2BAA2B;gBAC3B,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAC7D,aAAa,CAAC,GAAG,CAClB,CAAC;gBACF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAClD,aAAa,CAAC,GAAG,EACjB,aAAa,CAAC,IAAI,CACnB,CAAC;gBACF,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,cAAc,CACxC,gBAAgB,EAChB,oBAAoB,CACrB,CAAC;gBAEF,MAAM,UAAU,GAAG,aAAa;oBAC9B,CAAC,CAAC,kBAAU,CAAC,YAAY;oBACzB,CAAC,CAAC,kBAAU,CAAC,UAAU,CAAC;gBAE1B,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,YAAY;oBAClB,UAAU;oBACV,QAAQ,EAAE,gBAAQ,CAAC,IAAI,EAAE,mCAAmC;oBAC5D,YAAY,EAAE,IAAI;oBAClB,aAAa,EAAE,oBAAoB;oBACnC,SAAS,EAAE,aAAa,CAAC,IAAI;oBAC7B,UAAU,EAAE,MAAM,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,GAAG,CAAC;iBAC/D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAC/B,QAAsB;QAEtB,MAAM,OAAO,GAAqB,EAAE,CAAC;QAErC,KAAK,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACrE,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,oBAAoB,CACvD,aAAa,CAAC,GAAG,CAClB,CAAC;YAEF,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrD,8BAA8B;gBAC9B,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAC7D,aAAa,CAAC,GAAG,CAClB,CAAC;gBACF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;gBAC9D,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAClD,aAAa,CAAC,GAAG,EACjB,aAAa,CAAC,IAAI,CACnB,CAAC;gBAEF,MAAM,YAAY,GAAG,YAAY;oBAC/B,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,gBAAgB,CAAC;oBACtD,CAAC,CAAC,KAAK,CAAC;gBAEV,MAAM,UAAU,GAAG,YAAY;oBAC7B,CAAC,CAAC,kBAAU,CAAC,YAAY;oBACzB,CAAC,CAAC,kBAAU,CAAC,WAAW,CAAC;gBAE3B,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,YAAY;oBAClB,UAAU;oBACV,QAAQ,EAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC;oBACjE,YAAY;oBACZ,aAAa,EAAE,oBAAoB;oBACnC,SAAS,EAAE,aAAa,CAAC,IAAI;oBAC7B,UAAU,EAAE,iBAAiB;iBAC9B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,wBAAwB,CACpC,QAAsB;QAEtB,MAAM,OAAO,GAAqB,EAAE,CAAC;QAErC,gDAAgD;QAChD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,IAAI,CAAC;YACH,+CAA+C;YAC/C,MAAM,IAAI,CAAC,gCAAgC,CACzC,QAAQ,CAAC,gBAAgB,EACzB,EAAE,EACF,QAAQ,EACR,OAAO,CACR,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gCAAgC,CAC5C,YAA0B,EAC1B,WAAmB,EACnB,QAAsB,EACtB,OAAyB;QAEzB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAoB,YAAY,CAAC,CAAC;YACxE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC;YAErC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YAED,sCAAsC;YACtC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChC,MAAM,SAAS,GAAG,WAAW;oBAC3B,CAAC,CAAC,GAAG,WAAW,IAAI,KAAK,CAAC,IAAI,EAAE;oBAChC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;gBAEf,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC1B,wDAAwD;oBACxD,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAEpD,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnB,4CAA4C;wBAC5C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;wBAC3D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACpE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAE9D,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;4BAClC,4DAA4D;4BAC5D,OAAO,CAAC,IAAI,CAAC;gCACX,IAAI,EAAE,SAAS;gCACf,UAAU,EAAE,kBAAU,CAAC,YAAY;gCACnC,QAAQ,EAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC;gCAC1D,YAAY;gCACZ,aAAa;gCACb,UAAU;6BACX,CAAC,CAAC;wBACL,CAAC;6BAAM,IAAI,YAAY,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;4BAC3D,uEAAuE;4BACvE,OAAO,CAAC,IAAI,CAAC;gCACX,IAAI,EAAE,SAAS;gCACf,UAAU,EAAE,kBAAU,CAAC,UAAU;gCACjC,QAAQ,EAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC;gCACzD,YAAY;gCACZ,aAAa,EAAE,IAAI;6BACpB,CAAC,CAAC;wBACL,CAAC;6BAAM,IAAI,YAAY,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;4BAC3D,yEAAyE;4BACzE,OAAO,CAAC,IAAI,CAAC;gCACX,IAAI,EAAE,SAAS;gCACf,UAAU,EAAE,kBAAU,CAAC,WAAW;gCAClC,QAAQ,EAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC;gCAC1D,YAAY,EAAE,IAAI;gCAClB,aAAa;gCACb,UAAU;6BACX,CAAC,CAAC;wBACL,CAAC;wBACD,uEAAuE;oBACzE,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACnC,mCAAmC;oBACnC,MAAM,IAAI,CAAC,gCAAgC,CACzC,KAAK,CAAC,GAAG,EACT,SAAS,EACT,QAAQ,EACR,OAAO,CACR,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,iCAAiC,WAAW,KAAK,KAAK,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,yBAAyB;QAGrC,MAAM,OAAO,GAAG,IAAI,GAAG,EAGpB,CAAC;QAEJ,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAa,EACjC,IAAI,CAAC,QAAQ,EACb,IAAI,EACJ,IAAI,CAAC,eAAe,CACrB,CAAC;YAEF,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAQ,CAAC,SAAS,EAAE,CAAC;oBACtC,MAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBAChE,MAAM,OAAO,GAAG,MAAM,IAAA,uBAAe,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAElD,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE;wBACxB,OAAO;wBACP,IAAI,EAAE,KAAK,CAAC,IAAI;qBACjB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAC3B,YAAoB;QAEpB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAA,qBAAa,EAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,YAAY,CAAC,CAAC;YACnE,OAAO,MAAM,IAAA,uBAAe,EAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAC5B,GAAiB,EACjB,KAAe;QAEf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAe,GAAG,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;QAC3C,OAAO,GAAG,EAAE,OAA8B,CAAC;IAC7C,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CACnC,GAAiB;QAEjB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAe,GAAG,CAAC,CAAC;YACvD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;YAE/B,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YAEtB,MAAM,OAAO,GAAG,GAAmB,CAAC;YACpC,OAAO,OAAO,CAAC,OAA8B,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CACV,8CAA8C,GAAG,KAAK,KAAK,EAAE,CAC9D,CAAC;YACF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,oBAAoB,CAAC,GAAiB;QAClD,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAe,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAC3D,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAClC,OAAmC;QAEnC,IAAI,CAAC,OAAO;YAAE,OAAO,gBAAQ,CAAC,IAAI,CAAC;QAEnC,IAAI,OAAO,YAAY,UAAU,EAAE,CAAC;YAClC,OAAO,gBAAQ,CAAC,MAAM,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,OAAO,gBAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,cAAc,CACpB,QAAoC,EACpC,QAAoC;QAEpC,IAAI,QAAQ,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QACvC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAEzC,IAAI,OAAO,QAAQ,KAAK,OAAO,QAAQ;YAAE,OAAO,KAAK,CAAC;QAEtD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,QAAQ,KAAK,QAAQ,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,qBAAqB;YACrB,MAAM,IAAI,GAAG,QAAsB,CAAC;YACpC,MAAM,IAAI,GAAG,QAAsB,CAAC;YAEpC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;YAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAC;YACxC,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,YAAoB,EACpB,QAAsB;QAEtB,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAE9D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,WAAW;YACX,OAAO,kBAAU,CAAC,UAAU,CAAC;QAC/B,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAClD,aAAa,CAAC,GAAG,EACjB,aAAa,CAAC,IAAI,CACnB,CAAC;QACF,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAC7D,aAAa,CAAC,GAAG,CAClB,CAAC;QAEF,MAAM,YAAY,GAAG,YAAY;YAC/B,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,gBAAgB,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,aAAa,GAAG,CAAC,IAAI,CAAC,cAAc,CACxC,gBAAgB,EAChB,oBAAoB,CACrB,CAAC;QAEF,IAAI,CAAC,YAAY,IAAI,CAAC,aAAa,EAAE,CAAC;YACpC,OAAO,kBAAU,CAAC,SAAS,CAAC;QAC9B,CAAC;aAAM,IAAI,YAAY,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1C,OAAO,kBAAU,CAAC,UAAU,CAAC;QAC/B,CAAC;aAAM,IAAI,CAAC,YAAY,IAAI,aAAa,EAAE,CAAC;YAC1C,OAAO,kBAAU,CAAC,WAAW,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,OAAO,kBAAU,CAAC,YAAY,CAAC;QACjC,CAAC;IACH,CAAC;CACF;AA1cD,wCA0cC"}
1
+ {"version":3,"file":"change-detection.js","sourceRoot":"","sources":["../../src/core/change-detection.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
1
  import { SyncSnapshot, MoveCandidate } from "../types";
2
2
  import { DetectedChange } from "./change-detection";
3
3
  /**
4
- * Move detection engine
4
+ * Simplified move detection engine
5
5
  */
6
6
  export declare class MoveDetector {
7
- private static readonly AUTO_THRESHOLD;
8
- private static readonly PROMPT_THRESHOLD;
7
+ private static readonly MOVE_THRESHOLD;
9
8
  /**
10
9
  * Detect file moves by analyzing deleted and created files
11
10
  */
@@ -14,59 +13,21 @@ export declare class MoveDetector {
14
13
  remainingChanges: DetectedChange[];
15
14
  }>;
16
15
  /**
17
- * Get content of a deleted file from snapshot
16
+ * Calculate similarity between two content pieces
17
+ * Optimized for speed while maintaining accuracy
18
18
  */
19
- private getDeletedFileContent;
19
+ private calculateSimilarity;
20
20
  /**
21
- * Group moves by confidence level
21
+ * Get representative samples from content (beginning, middle, end)
22
22
  */
23
- groupMovesByConfidence(moves: MoveCandidate[]): {
24
- autoMoves: MoveCandidate[];
25
- promptMoves: MoveCandidate[];
26
- lowConfidenceMoves: MoveCandidate[];
27
- };
23
+ private getSamples;
28
24
  /**
29
- * Validate move candidates to avoid conflicts
25
+ * Convert buffer to string (for text comparison)
30
26
  */
31
- validateMoves(moves: MoveCandidate[]): {
32
- validMoves: MoveCandidate[];
33
- conflicts: Array<{
34
- moves: MoveCandidate[];
35
- reason: string;
36
- }>;
37
- };
38
- /**
39
- * Apply move detection heuristics
40
- */
41
- applyHeuristics(moves: MoveCandidate[]): MoveCandidate[];
42
- /**
43
- * Get directory path from file path
44
- */
45
- private getDirectoryPath;
46
- /**
47
- * Get file extension from file path
48
- */
49
- private getFileExtension;
50
- /**
51
- * Check if a move should be auto-applied
52
- */
53
- shouldAutoApply(move: MoveCandidate): boolean;
54
- /**
55
- * Check if a move should prompt the user
56
- */
57
- shouldPromptUser(move: MoveCandidate): boolean;
27
+ private bufferToString;
58
28
  /**
59
29
  * Format move for display
60
30
  */
61
31
  formatMove(move: MoveCandidate): string;
62
- /**
63
- * Calculate move statistics
64
- */
65
- calculateStats(moves: MoveCandidate[]): {
66
- total: number;
67
- auto: number;
68
- prompt: number;
69
- averageSimilarity: number;
70
- };
71
32
  }
72
33
  //# sourceMappingURL=move-detection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"move-detection.d.ts","sourceRoot":"","sources":["../../src/core/move-detection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,aAAa,EAGd,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,cAAc,EAAc,MAAM,oBAAoB,CAAC;AAEhE;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAO;IAC7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAO;IAE/C;;OAEG;IACG,WAAW,CACf,OAAO,EAAE,cAAc,EAAE,EACzB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,KAAK,EAAE,aAAa,EAAE,CAAC;QAAC,gBAAgB,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;IAoF1E;;OAEG;YACW,qBAAqB;IAWnC;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG;QAC9C,SAAS,EAAE,aAAa,EAAE,CAAC;QAC3B,WAAW,EAAE,aAAa,EAAE,CAAC;QAC7B,kBAAkB,EAAE,aAAa,EAAE,CAAC;KACrC;IAQD;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG;QACrC,UAAU,EAAE,aAAa,EAAE,CAAC;QAC5B,SAAS,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,aAAa,EAAE,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC9D;IA4CD;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE;IAwBxD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAI7C;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAI9C;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM;IAKvC;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG;QACtC,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,iBAAiB,EAAE,MAAM,CAAC;KAC3B;CASF"}
1
+ {"version":3,"file":"move-detection.d.ts","sourceRoot":"","sources":["../../src/core/move-detection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAqB,MAAM,UAAU,CAAC;AAG1E,OAAO,EAAE,cAAc,EAAc,MAAM,oBAAoB,CAAC;AAEhE;;GAEG;AACH,qBAAa,YAAY;IAEvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAO;IAE7C;;OAEG;IACG,WAAW,CACf,OAAO,EAAE,cAAc,EAAE,EACzB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,KAAK,EAAE,aAAa,EAAE,CAAC;QAAC,gBAAgB,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC;IAkE1E;;;OAGG;YACW,mBAAmB;IA0CjC;;OAEG;IACH,OAAO,CAAC,UAAU;IAkBlB;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM;CAIxC"}
@@ -2,16 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MoveDetector = void 0;
4
4
  const utils_1 = require("../utils");
5
+ const string_similarity_1 = require("../utils/string-similarity");
5
6
  const change_detection_1 = require("./change-detection");
6
7
  /**
7
- * Move detection engine
8
+ * Simplified move detection engine
8
9
  */
9
10
  class MoveDetector {
10
11
  /**
11
12
  * Detect file moves by analyzing deleted and created files
12
13
  */
13
14
  async detectMoves(changes, snapshot, rootPath) {
14
- // Separate deletions and creations
15
15
  const deletedFiles = changes.filter((c) => !c.localContent && c.changeType === change_detection_1.ChangeType.LOCAL_ONLY);
16
16
  const createdFiles = changes.filter((c) => c.localContent &&
17
17
  c.changeType === change_detection_1.ChangeType.LOCAL_ONLY &&
@@ -24,163 +24,91 @@ class MoveDetector {
24
24
  const usedDeletions = new Set();
25
25
  // Find potential moves by comparing content
26
26
  for (const deletedFile of deletedFiles) {
27
- const deletedContent = await this.getDeletedFileContent(deletedFile, snapshot);
28
- // CRITICAL: Check for null explicitly, not falsy values
29
- // Empty strings "" are valid file content!
27
+ const deletedContent = deletedFile.remoteContent;
30
28
  if (deletedContent === null)
31
29
  continue;
32
30
  let bestMatch = null;
33
31
  for (const createdFile of createdFiles) {
34
32
  if (usedCreations.has(createdFile.path))
35
33
  continue;
36
- // CRITICAL: Check for null explicitly, not falsy values
37
- // Empty strings "" are valid file content!
38
34
  if (createdFile.localContent === null)
39
35
  continue;
40
- const similarity = await utils_1.ContentSimilarity.calculateSimilarity(deletedContent, createdFile.localContent);
41
- if (similarity >= MoveDetector.PROMPT_THRESHOLD) {
36
+ const similarity = await this.calculateSimilarity(deletedContent, createdFile.localContent, deletedFile.path);
37
+ if (similarity >= MoveDetector.MOVE_THRESHOLD) {
42
38
  if (!bestMatch || similarity > bestMatch.similarity) {
43
39
  bestMatch = { file: createdFile, similarity };
44
40
  }
45
41
  }
46
42
  }
47
43
  if (bestMatch) {
48
- const confidence = utils_1.ContentSimilarity.getConfidenceLevel(bestMatch.similarity);
49
- // Always report the potential move (for logging/prompting)
44
+ // If we detected a move above threshold, we apply it
50
45
  moves.push({
51
46
  fromPath: deletedFile.path,
52
47
  toPath: bestMatch.file.path,
53
48
  similarity: bestMatch.similarity,
54
- confidence,
55
- // Capture new content (may include modifications)
56
49
  newContent: bestMatch.file.localContent || undefined,
57
50
  });
58
- // Only consume the deletion/creation pair when we would auto-apply the move.
59
- // If we only want to prompt, leave the original changes in place so
60
- // sync can still proceed as delete+create (avoids infinite warning loop).
61
- if (bestMatch.similarity >= MoveDetector.AUTO_THRESHOLD) {
62
- usedCreations.add(bestMatch.file.path);
63
- usedDeletions.add(deletedFile.path);
64
- }
51
+ // Consume the deletion and creation (move replaces both)
52
+ usedCreations.add(bestMatch.file.path);
53
+ usedDeletions.add(deletedFile.path);
65
54
  }
66
55
  }
67
- // Filter out changes that are part of moves
68
56
  const remainingChanges = changes.filter((change) => !usedCreations.has(change.path) && !usedDeletions.has(change.path));
69
57
  return { moves, remainingChanges };
70
58
  }
71
59
  /**
72
- * Get content of a deleted file from snapshot
73
- */
74
- async getDeletedFileContent(deletedFile, snapshot) {
75
- const snapshotEntry = snapshot.files.get(deletedFile.path);
76
- if (!snapshotEntry)
77
- return null;
78
- // Return remote content if available, otherwise null
79
- return deletedFile.remoteContent || null;
80
- }
81
- /**
82
- * Group moves by confidence level
60
+ * Calculate similarity between two content pieces
61
+ * Optimized for speed while maintaining accuracy
83
62
  */
84
- groupMovesByConfidence(moves) {
85
- const autoMoves = moves.filter((m) => m.confidence === "auto");
86
- const promptMoves = moves.filter((m) => m.confidence === "prompt");
87
- const lowConfidenceMoves = moves.filter((m) => m.confidence === "low");
88
- return { autoMoves, promptMoves, lowConfidenceMoves };
89
- }
90
- /**
91
- * Validate move candidates to avoid conflicts
92
- */
93
- validateMoves(moves) {
94
- const validMoves = [];
95
- const conflicts = [];
96
- // Check for multiple sources mapping to same destination
97
- const destinationMap = new Map();
98
- for (const move of moves) {
99
- if (!destinationMap.has(move.toPath)) {
100
- destinationMap.set(move.toPath, []);
101
- }
102
- destinationMap.get(move.toPath).push(move);
63
+ async calculateSimilarity(content1, content2, path) {
64
+ if (content1 === content2)
65
+ return 1.0;
66
+ // Early exit: size difference too large
67
+ const size1 = typeof content1 === "string" ? content1.length : content1.length;
68
+ const size2 = typeof content2 === "string" ? content2.length : content2.length;
69
+ const sizeDiff = Math.abs(size1 - size2) / Math.max(size1, size2);
70
+ if (sizeDiff > 0.5)
71
+ return 0.0;
72
+ // Binary files: hash mismatch = not a move
73
+ const isText = await (0, utils_1.isTextFile)(path);
74
+ if (!isText)
75
+ return 0.0;
76
+ // Text files: use string similarity
77
+ const str1 = typeof content1 === "string" ? content1 : this.bufferToString(content1);
78
+ const str2 = typeof content2 === "string" ? content2 : this.bufferToString(content2);
79
+ // For small files (<4KB), compare full content
80
+ if (size1 < 4096 && size2 < 4096) {
81
+ return (0, string_similarity_1.stringSimilarity)(str1, str2);
103
82
  }
104
- // Check for multiple destinations from same source
105
- const sourceMap = new Map();
106
- for (const move of moves) {
107
- if (!sourceMap.has(move.fromPath)) {
108
- sourceMap.set(move.fromPath, []);
109
- }
110
- sourceMap.get(move.fromPath).push(move);
111
- }
112
- for (const move of moves) {
113
- const destinationConflicts = destinationMap.get(move.toPath);
114
- const sourceConflicts = sourceMap.get(move.fromPath);
115
- if (destinationConflicts.length > 1) {
116
- conflicts.push({
117
- moves: destinationConflicts,
118
- reason: `Multiple files moving to ${move.toPath}`,
119
- });
120
- }
121
- else if (sourceConflicts.length > 1) {
122
- conflicts.push({
123
- moves: sourceConflicts,
124
- reason: `File ${move.fromPath} has multiple potential destinations`,
125
- });
126
- }
127
- else {
128
- validMoves.push(move);
129
- }
83
+ // For large files, sample 3 locations
84
+ const samples1 = this.getSamples(str1);
85
+ const samples2 = this.getSamples(str2);
86
+ let totalSimilarity = 0;
87
+ for (let i = 0; i < Math.min(samples1.length, samples2.length); i++) {
88
+ totalSimilarity += (0, string_similarity_1.stringSimilarity)(samples1[i], samples2[i]);
130
89
  }
131
- return { validMoves, conflicts };
90
+ return totalSimilarity / Math.min(samples1.length, samples2.length);
132
91
  }
133
92
  /**
134
- * Apply move detection heuristics
93
+ * Get representative samples from content (beginning, middle, end)
135
94
  */
136
- applyHeuristics(moves) {
137
- return moves
138
- .filter((move) => {
139
- // Filter out moves within the same directory unless similarity is very high
140
- const fromDir = this.getDirectoryPath(move.fromPath);
141
- const toDir = this.getDirectoryPath(move.toPath);
142
- if (fromDir === toDir && move.similarity < 0.9) {
143
- return false;
144
- }
145
- // Filter out moves with very different file extensions unless similarity is perfect
146
- const fromExt = this.getFileExtension(move.fromPath);
147
- const toExt = this.getFileExtension(move.toPath);
148
- if (fromExt !== toExt && move.similarity < 1.0) {
149
- return false;
150
- }
151
- return true;
152
- })
153
- .sort((a, b) => b.similarity - a.similarity); // Sort by similarity descending
154
- }
155
- /**
156
- * Get directory path from file path
157
- */
158
- getDirectoryPath(filePath) {
159
- const lastSlash = filePath.lastIndexOf("/");
160
- return lastSlash >= 0 ? filePath.substring(0, lastSlash) : "";
161
- }
162
- /**
163
- * Get file extension from file path
164
- */
165
- getFileExtension(filePath) {
166
- const lastDot = filePath.lastIndexOf(".");
167
- const lastSlash = filePath.lastIndexOf("/");
168
- if (lastDot > lastSlash && lastDot >= 0) {
169
- return filePath.substring(lastDot + 1).toLowerCase();
95
+ getSamples(str) {
96
+ const CHUNK_SIZE = 1024;
97
+ const length = str.length;
98
+ if (length <= CHUNK_SIZE) {
99
+ return [str];
170
100
  }
171
- return "";
172
- }
173
- /**
174
- * Check if a move should be auto-applied
175
- */
176
- shouldAutoApply(move) {
177
- return move.confidence === "auto";
101
+ return [
102
+ str.slice(0, CHUNK_SIZE), // Beginning
103
+ str.slice(Math.floor(length / 2) - Math.floor(CHUNK_SIZE / 2), Math.floor(length / 2) + Math.floor(CHUNK_SIZE / 2)), // Middle
104
+ str.slice(-CHUNK_SIZE), // End
105
+ ];
178
106
  }
179
107
  /**
180
- * Check if a move should prompt the user
108
+ * Convert buffer to string (for text comparison)
181
109
  */
182
- shouldPromptUser(move) {
183
- return move.confidence === "prompt";
110
+ bufferToString(buffer) {
111
+ return new TextDecoder().decode(buffer);
184
112
  }
185
113
  /**
186
114
  * Format move for display
@@ -189,18 +117,8 @@ class MoveDetector {
189
117
  const percentage = Math.round(move.similarity * 100);
190
118
  return `${move.fromPath} → ${move.toPath} (${percentage}% similar)`;
191
119
  }
192
- /**
193
- * Calculate move statistics
194
- */
195
- calculateStats(moves) {
196
- const total = moves.length;
197
- const auto = moves.filter((m) => m.confidence === "auto").length;
198
- const prompt = moves.filter((m) => m.confidence === "prompt").length;
199
- const averageSimilarity = total > 0 ? moves.reduce((sum, m) => sum + m.similarity, 0) / total : 0;
200
- return { total, auto, prompt, averageSimilarity };
201
- }
202
120
  }
203
121
  exports.MoveDetector = MoveDetector;
204
- MoveDetector.AUTO_THRESHOLD = 0.8;
205
- MoveDetector.PROMPT_THRESHOLD = 0.5;
122
+ // Single threshold: either it's a move or it's not
123
+ MoveDetector.MOVE_THRESHOLD = 0.7;
206
124
  //# sourceMappingURL=move-detection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"move-detection.js","sourceRoot":"","sources":["../../src/core/move-detection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"move-detection.js","sourceRoot":"","sources":["../../src/core/move-detection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync-engine.d.ts","sourceRoot":"","sources":["../../src/core/sync-engine.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,IAAI,EAIL,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,YAAY,EACZ,UAAU,EAQV,aAAa,EACd,MAAM,UAAU,CAAC;AAgBlB,OAAO,EAAkB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpE;;GAEG;AACH,qBAAa,UAAU;IASnB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ;IATlB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,kBAAkB,CAAiB;IAC3C,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,mBAAmB,CAAC,CAAS;gBAG3B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EACxB,eAAe,GAAE,MAAM,EAAO,EAC9B,kBAAkB,GAAE,OAAc,EAClC,mBAAmB,CAAC,EAAE,MAAM;IAS9B;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACG,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3D;;OAEG;IACG,WAAW,CAAC,MAAM,UAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IA6FtD;;OAEG;IACG,IAAI,CAAC,MAAM,UAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IA8N/C;;OAEG;YACW,gBAAgB;IA+D9B;;OAEG;YACW,iBAAiB;IAwC/B;;OAEG;YACW,wBAAwB;IAyFtC;;OAEG;YACW,wBAAwB;IAqEtC;;OAEG;YACW,iBAAiB;IAyF/B;;OAEG;YACW,gBAAgB;IAsC9B;;OAEG;YACW,gBAAgB;IA+D9B;;OAEG;YACW,gBAAgB;IA4B9B;;OAEG;YACW,kBAAkB;IAoEhC;;;OAGG;YACW,uBAAuB;IAqIrC;;OAEG;YACW,uBAAuB;IAkFrC;;OAEG;YACW,4BAA4B;IAkD1C;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAS/B;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC;QACzB,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;QAC9B,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;KACvB,CAAC;IAsBF;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC;QAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;QAC1B,KAAK,EAAE,aAAa,EAAE,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAsBF;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiD7B;;OAEG;YACW,kBAAkB;CA8CjC"}
1
+ {"version":3,"file":"sync-engine.d.ts","sourceRoot":"","sources":["../../src/core/sync-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,IAAI,EAIL,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,YAAY,EACZ,UAAU,EAQV,aAAa,EACd,MAAM,UAAU,CAAC;AAgBlB,OAAO,EAAkB,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpE;;GAEG;AACH,qBAAa,UAAU;IASnB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ;IATlB,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,kBAAkB,CAAiB;IAC3C,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,mBAAmB,CAAC,CAAS;gBAG3B,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EACxB,eAAe,GAAE,MAAM,EAAO,EAC9B,kBAAkB,GAAE,OAAc,EAClC,mBAAmB,CAAC,EAAE,MAAM;IAS9B;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACG,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3D;;OAEG;IACG,WAAW,CAAC,MAAM,UAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAuEtD;;OAEG;IACG,IAAI,CAAC,MAAM,UAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAgN/C;;OAEG;YACW,gBAAgB;IAqD9B;;OAEG;YACW,iBAAiB;IAwC/B;;OAEG;YACW,wBAAwB;IA4DtC;;OAEG;YACW,wBAAwB;IA8DtC;;OAEG;YACW,iBAAiB;IAyF/B;;OAEG;YACW,gBAAgB;IAsC9B;;OAEG;YACW,gBAAgB;IA+D9B;;OAEG;YACW,gBAAgB;IA4B9B;;OAEG;YACW,kBAAkB;IAgEhC;;;OAGG;YACW,uBAAuB;IAqIrC;;OAEG;YACW,uBAAuB;IAkFrC;;OAEG;YACW,4BAA4B;IAkD1C;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAS/B;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC;QACzB,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;QAC9B,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;KACvB,CAAC;IAsBF;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC;QAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;QAC1B,KAAK,EAAE,aAAa,EAAE,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAsBF;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiD7B;;OAEG;YACW,kBAAkB;CA8CjC"}