pushwork 1.0.5 → 1.0.11

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 (196) hide show
  1. package/README.md +87 -335
  2. package/babel.config.js +5 -0
  3. package/dist/cli/commands.d.ts +9 -15
  4. package/dist/cli/commands.d.ts.map +1 -1
  5. package/dist/cli/commands.js +37 -170
  6. package/dist/cli/commands.js.map +1 -1
  7. package/dist/cli/output.d.ts +11 -25
  8. package/dist/cli/output.d.ts.map +1 -1
  9. package/dist/cli/output.js +55 -61
  10. package/dist/cli/output.js.map +1 -1
  11. package/dist/cli.js +208 -213
  12. package/dist/cli.js.map +1 -1
  13. package/dist/commands.d.ts +51 -0
  14. package/dist/commands.d.ts.map +1 -0
  15. package/dist/commands.js +799 -0
  16. package/dist/commands.js.map +1 -0
  17. package/dist/core/change-detection.d.ts +7 -23
  18. package/dist/core/change-detection.d.ts.map +1 -1
  19. package/dist/core/change-detection.js +108 -122
  20. package/dist/core/change-detection.js.map +1 -1
  21. package/dist/core/config.d.ts +81 -0
  22. package/dist/core/config.d.ts.map +1 -0
  23. package/dist/core/config.js +296 -0
  24. package/dist/core/config.js.map +1 -0
  25. package/dist/core/index.d.ts +1 -0
  26. package/dist/core/index.d.ts.map +1 -1
  27. package/dist/core/index.js +1 -1
  28. package/dist/core/index.js.map +1 -1
  29. package/dist/core/move-detection.d.ts +4 -3
  30. package/dist/core/move-detection.d.ts.map +1 -1
  31. package/dist/core/move-detection.js +8 -7
  32. package/dist/core/move-detection.js.map +1 -1
  33. package/dist/core/snapshot.d.ts +0 -4
  34. package/dist/core/snapshot.d.ts.map +1 -1
  35. package/dist/core/snapshot.js +2 -11
  36. package/dist/core/snapshot.js.map +1 -1
  37. package/dist/core/sync-engine.d.ts +41 -12
  38. package/dist/core/sync-engine.d.ts.map +1 -1
  39. package/dist/core/sync-engine.js +522 -359
  40. package/dist/core/sync-engine.js.map +1 -1
  41. package/dist/index.d.ts +0 -1
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +0 -6
  44. package/dist/index.js.map +1 -1
  45. package/dist/types/config.d.ts +24 -88
  46. package/dist/types/config.d.ts.map +1 -1
  47. package/dist/types/config.js +6 -0
  48. package/dist/types/config.js.map +1 -1
  49. package/dist/types/documents.d.ts +15 -2
  50. package/dist/types/documents.d.ts.map +1 -1
  51. package/dist/types/documents.js.map +1 -1
  52. package/dist/types/index.d.ts.map +1 -1
  53. package/dist/types/index.js +0 -3
  54. package/dist/types/index.js.map +1 -1
  55. package/dist/types/snapshot.d.ts +0 -21
  56. package/dist/types/snapshot.d.ts.map +1 -1
  57. package/dist/types/snapshot.js +0 -14
  58. package/dist/types/snapshot.js.map +1 -1
  59. package/dist/utils/content.d.ts.map +1 -1
  60. package/dist/utils/content.js +2 -6
  61. package/dist/utils/content.js.map +1 -1
  62. package/dist/utils/directory.d.ts +24 -0
  63. package/dist/utils/directory.d.ts.map +1 -0
  64. package/dist/utils/directory.js +56 -0
  65. package/dist/utils/directory.js.map +1 -0
  66. package/dist/utils/fs.d.ts +15 -2
  67. package/dist/utils/fs.d.ts.map +1 -1
  68. package/dist/utils/fs.js +53 -20
  69. package/dist/utils/fs.js.map +1 -1
  70. package/dist/utils/index.d.ts +1 -0
  71. package/dist/utils/index.d.ts.map +1 -1
  72. package/dist/utils/index.js +1 -3
  73. package/dist/utils/index.js.map +1 -1
  74. package/dist/utils/keyhive.d.ts +9 -0
  75. package/dist/utils/keyhive.d.ts.map +1 -0
  76. package/dist/utils/keyhive.js +26 -0
  77. package/dist/utils/keyhive.js.map +1 -0
  78. package/dist/utils/mime-types.d.ts.map +1 -1
  79. package/dist/utils/mime-types.js +11 -4
  80. package/dist/utils/mime-types.js.map +1 -1
  81. package/dist/utils/network-sync.d.ts +16 -7
  82. package/dist/utils/network-sync.d.ts.map +1 -1
  83. package/dist/utils/network-sync.js +158 -99
  84. package/dist/utils/network-sync.js.map +1 -1
  85. package/dist/utils/output.d.ts +129 -0
  86. package/dist/utils/output.d.ts.map +1 -0
  87. package/dist/utils/output.js +375 -0
  88. package/dist/utils/output.js.map +1 -0
  89. package/dist/utils/repo-factory.d.ts +2 -6
  90. package/dist/utils/repo-factory.d.ts.map +1 -1
  91. package/dist/utils/repo-factory.js +8 -31
  92. package/dist/utils/repo-factory.js.map +1 -1
  93. package/dist/utils/string-similarity.js +2 -2
  94. package/dist/utils/string-similarity.js.map +1 -1
  95. package/dist/utils/trace.d.ts +19 -0
  96. package/dist/utils/trace.d.ts.map +1 -0
  97. package/dist/utils/trace.js +68 -0
  98. package/dist/utils/trace.js.map +1 -0
  99. package/package.json +21 -11
  100. package/src/cli.ts +276 -308
  101. package/src/commands.ts +988 -0
  102. package/src/core/change-detection.ts +226 -246
  103. package/src/{config/index.ts → core/config.ts} +65 -82
  104. package/src/core/index.ts +1 -1
  105. package/src/core/move-detection.ts +10 -8
  106. package/src/core/snapshot.ts +2 -12
  107. package/src/core/sync-engine.ts +630 -478
  108. package/src/index.ts +0 -10
  109. package/src/types/config.ts +28 -93
  110. package/src/types/documents.ts +16 -2
  111. package/src/types/index.ts +0 -5
  112. package/src/types/snapshot.ts +0 -23
  113. package/src/utils/content.ts +2 -6
  114. package/src/utils/directory.ts +73 -0
  115. package/src/utils/fs.ts +57 -23
  116. package/src/utils/index.ts +1 -5
  117. package/src/utils/mime-types.ts +12 -4
  118. package/src/utils/network-sync.ts +216 -138
  119. package/src/utils/output.ts +450 -0
  120. package/src/utils/repo-factory.ts +13 -44
  121. package/src/utils/string-similarity.ts +2 -2
  122. package/src/utils/trace.ts +70 -0
  123. package/test/integration/exclude-patterns.test.ts +6 -15
  124. package/test/integration/fuzzer.test.ts +308 -391
  125. package/test/integration/in-memory-sync.test.ts +435 -0
  126. package/test/integration/init-sync.test.ts +89 -0
  127. package/test/integration/sync-deletion.test.ts +2 -61
  128. package/test/integration/sync-flow.test.ts +4 -24
  129. package/test/jest.setup.ts +34 -0
  130. package/test/unit/deletion-behavior.test.ts +3 -14
  131. package/test/unit/enhanced-mime-detection.test.ts +0 -22
  132. package/test/unit/snapshot.test.ts +2 -29
  133. package/test/unit/sync-convergence.test.ts +3 -198
  134. package/test/unit/sync-timing.test.ts +0 -44
  135. package/test/unit/utils.test.ts +0 -2
  136. package/tsconfig.json +3 -3
  137. package/bench/filesystem.bench.ts +0 -78
  138. package/bench/hashing.bench.ts +0 -60
  139. package/bench/move-detection.bench.ts +0 -130
  140. package/bench/runner.ts +0 -49
  141. package/dist/browser/browser-sync-engine.d.ts +0 -64
  142. package/dist/browser/browser-sync-engine.d.ts.map +0 -1
  143. package/dist/browser/browser-sync-engine.js +0 -303
  144. package/dist/browser/browser-sync-engine.js.map +0 -1
  145. package/dist/browser/filesystem-adapter.d.ts +0 -84
  146. package/dist/browser/filesystem-adapter.d.ts.map +0 -1
  147. package/dist/browser/filesystem-adapter.js +0 -413
  148. package/dist/browser/filesystem-adapter.js.map +0 -1
  149. package/dist/browser/index.d.ts +0 -36
  150. package/dist/browser/index.d.ts.map +0 -1
  151. package/dist/browser/index.js +0 -90
  152. package/dist/browser/index.js.map +0 -1
  153. package/dist/browser/types.d.ts +0 -70
  154. package/dist/browser/types.d.ts.map +0 -1
  155. package/dist/browser/types.js +0 -6
  156. package/dist/browser/types.js.map +0 -1
  157. package/dist/config/remote-manager.d.ts +0 -65
  158. package/dist/config/remote-manager.d.ts.map +0 -1
  159. package/dist/config/remote-manager.js +0 -243
  160. package/dist/config/remote-manager.js.map +0 -1
  161. package/dist/core/isomorphic-snapshot.d.ts +0 -58
  162. package/dist/core/isomorphic-snapshot.d.ts.map +0 -1
  163. package/dist/core/isomorphic-snapshot.js +0 -204
  164. package/dist/core/isomorphic-snapshot.js.map +0 -1
  165. package/dist/platform/browser-filesystem.d.ts +0 -26
  166. package/dist/platform/browser-filesystem.d.ts.map +0 -1
  167. package/dist/platform/browser-filesystem.js +0 -91
  168. package/dist/platform/browser-filesystem.js.map +0 -1
  169. package/dist/platform/filesystem.d.ts +0 -29
  170. package/dist/platform/filesystem.d.ts.map +0 -1
  171. package/dist/platform/filesystem.js +0 -65
  172. package/dist/platform/filesystem.js.map +0 -1
  173. package/dist/platform/node-filesystem.d.ts +0 -21
  174. package/dist/platform/node-filesystem.d.ts.map +0 -1
  175. package/dist/platform/node-filesystem.js +0 -93
  176. package/dist/platform/node-filesystem.js.map +0 -1
  177. package/dist/utils/fs-browser.d.ts +0 -57
  178. package/dist/utils/fs-browser.d.ts.map +0 -1
  179. package/dist/utils/fs-browser.js +0 -311
  180. package/dist/utils/fs-browser.js.map +0 -1
  181. package/dist/utils/fs-node.d.ts +0 -53
  182. package/dist/utils/fs-node.d.ts.map +0 -1
  183. package/dist/utils/fs-node.js +0 -220
  184. package/dist/utils/fs-node.js.map +0 -1
  185. package/dist/utils/isomorphic.d.ts +0 -29
  186. package/dist/utils/isomorphic.d.ts.map +0 -1
  187. package/dist/utils/isomorphic.js +0 -139
  188. package/dist/utils/isomorphic.js.map +0 -1
  189. package/dist/utils/pure.d.ts +0 -25
  190. package/dist/utils/pure.d.ts.map +0 -1
  191. package/dist/utils/pure.js +0 -112
  192. package/dist/utils/pure.js.map +0 -1
  193. package/src/cli/commands.ts +0 -1030
  194. package/src/cli/index.ts +0 -2
  195. package/src/cli/output.ts +0 -244
  196. package/test/README-TESTING-GAPS.md +0 -174
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,5 @@
1
- import { Repo, UrlHeads } from "@automerge/automerge-repo";
2
- import { ChangeType, FileType, SyncSnapshot } from "../types";
3
- export { ChangeType } from "../types";
4
- /**
5
- * Represents a detected change
6
- */
7
- export interface DetectedChange {
8
- path: string;
9
- changeType: ChangeType;
10
- fileType: FileType;
11
- localContent: string | Uint8Array | null;
12
- remoteContent: string | Uint8Array | null;
13
- localHead?: UrlHeads;
14
- remoteHead?: UrlHeads;
15
- }
1
+ import { Repo } from "@automerge/automerge-repo";
2
+ import { ChangeType, SyncSnapshot, DetectedChange } from "../types";
16
3
  /**
17
4
  * Change detection engine
18
5
  */
@@ -58,6 +45,11 @@ export declare class ChangeDetector {
58
45
  * Get current content from Automerge document
59
46
  */
60
47
  private getCurrentRemoteContent;
48
+ /**
49
+ * Wait for a document to be available, with retry logic.
50
+ * This is important during clone when documents are being fetched from the network.
51
+ */
52
+ private waitForDocument;
61
53
  /**
62
54
  * Get current head of Automerge document
63
55
  */
@@ -66,10 +58,6 @@ export declare class ChangeDetector {
66
58
  * Determine file type from content
67
59
  */
68
60
  private getFileTypeFromContent;
69
- /**
70
- * Compare two content pieces for equality
71
- */
72
- private isContentEqual;
73
61
  /**
74
62
  * Classify change type for a path
75
63
  */
@@ -78,9 +66,5 @@ export declare class ChangeDetector {
78
66
  * Check if a file exists in the remote directory hierarchy
79
67
  */
80
68
  private fileExistsInRemoteDirectory;
81
- /**
82
- * Find a file in the directory hierarchy by path
83
- */
84
- private findFileInDirectoryHierarchy;
85
69
  }
86
70
  //# sourceMappingURL=change-detection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"change-detection.d.ts","sourceRoot":"","sources":["../../src/core/change-detection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,IAAI,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAEzE,OAAO,EACL,UAAU,EACV,QAAQ,EACR,YAAY,EAKb,MAAM,UAAU,CAAC;AAUlB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IACzC,aAAa,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAC1C,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,UAAU,CAAC,EAAE,QAAQ,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,eAAe;gBAFf,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,eAAe,GAAE,MAAM,EAAO;IAGxC;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAqBtE;;OAEG;YACW,kBAAkB;IA4FhC;;OAEG;YACW,mBAAmB;IAuEjC;;;OAGG;YACW,wBAAwB;IAyBtC;;OAEG;YACW,gCAAgC;IA6E9C;;OAEG;YACW,yBAAyB;IAiCvC;;OAEG;YACW,eAAe;IAW7B;;OAEG;YACW,gBAAgB;IAS9B;;OAEG;YACW,uBAAuB;IAmBrC;;OAEG;YACW,oBAAoB;IAIlC;;OAEG;YACW,sBAAsB;IAYpC;;OAEG;IACH,OAAO,CAAC,cAAc;IA0BtB;;OAEG;IACG,cAAc,CAClB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,UAAU,CAAC;IAoCtB;;OAEG;YACW,2BAA2B;IAYzC;;OAEG;YACW,4BAA4B;CAiD3C"}
1
+ {"version":3,"file":"change-detection.d.ts","sourceRoot":"","sources":["../../src/core/change-detection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,IAAI,EAAY,MAAM,2BAA2B,CAAC;AAEzE,OAAO,EACL,UAAU,EAEV,YAAY,EAGZ,cAAc,EACf,MAAM,UAAU,CAAC;AAYlB;;GAEG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,eAAe;gBAFf,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,eAAe,GAAE,MAAM,EAAO;IAGxC;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAqBtE;;OAEG;YACW,kBAAkB;IAyGhC;;OAEG;YACW,mBAAmB;IA0EjC;;;OAGG;YACW,wBAAwB;IAyBtC;;OAEG;YACW,gCAAgC;IAiF9C;;OAEG;YACW,yBAAyB;IA4CvC;;OAEG;YACW,eAAe;IAW7B;;OAEG;YACW,gBAAgB;IAiB9B;;OAEG;YACW,uBAAuB;IA0BrC;;;OAGG;YACW,eAAe;IAsB7B;;OAEG;YACW,oBAAoB;IAOlC;;OAEG;YACW,sBAAsB;IAYpC;;OAEG;IACG,cAAc,CAClB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,UAAU,CAAC;IAoCtB;;OAEG;YACW,2BAA2B;CAY1C"}
@@ -33,13 +33,12 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.ChangeDetector = exports.ChangeType = void 0;
36
+ exports.ChangeDetector = void 0;
37
37
  const A = __importStar(require("@automerge/automerge"));
38
38
  const types_1 = require("../types");
39
39
  const utils_1 = require("../utils");
40
- // Re-export ChangeType for other modules
41
- var types_2 = require("../types");
42
- Object.defineProperty(exports, "ChangeType", { enumerable: true, get: function () { return types_2.ChangeType; } });
40
+ const content_1 = require("../utils/content");
41
+ const output_1 = require("../utils/output");
43
42
  /**
44
43
  * Change detection engine
45
44
  */
@@ -72,8 +71,8 @@ class ChangeDetector {
72
71
  */
73
72
  async detectLocalChanges(snapshot, currentFiles) {
74
73
  const changes = [];
75
- // Check for new and modified files
76
- for (const [relativePath, fileInfo] of currentFiles.entries()) {
74
+ // Check for new and modified files in parallel for better performance
75
+ await Promise.all(Array.from(currentFiles.entries()).map(async ([relativePath, fileInfo]) => {
77
76
  const snapshotEntry = snapshot.files.get(relativePath);
78
77
  if (!snapshotEntry) {
79
78
  // New file
@@ -88,14 +87,15 @@ class ChangeDetector {
88
87
  else {
89
88
  // Check if content changed
90
89
  const lastKnownContent = await this.getContentAtHead(snapshotEntry.url, snapshotEntry.head);
91
- const contentChanged = !this.isContentEqual(fileInfo.content, lastKnownContent);
90
+ const contentChanged = !(0, content_1.isContentEqual)(fileInfo.content, lastKnownContent);
92
91
  if (contentChanged) {
93
92
  // Check remote state too
94
93
  const currentRemoteContent = await this.getCurrentRemoteContent(snapshotEntry.url);
95
- const remoteChanged = !this.isContentEqual(lastKnownContent, currentRemoteContent);
94
+ const remoteChanged = !(0, content_1.isContentEqual)(lastKnownContent, currentRemoteContent);
96
95
  const changeType = remoteChanged
97
96
  ? types_1.ChangeType.BOTH_CHANGED
98
97
  : types_1.ChangeType.LOCAL_ONLY;
98
+ const remoteHead = await this.getCurrentRemoteHead(snapshotEntry.url);
99
99
  changes.push({
100
100
  path: relativePath,
101
101
  changeType,
@@ -103,32 +103,32 @@ class ChangeDetector {
103
103
  localContent: fileInfo.content,
104
104
  remoteContent: currentRemoteContent,
105
105
  localHead: snapshotEntry.head,
106
- remoteHead: await this.getCurrentRemoteHead(snapshotEntry.url),
106
+ remoteHead,
107
107
  });
108
108
  }
109
109
  }
110
- }
111
- // Check for deleted files
112
- for (const [relativePath, snapshotEntry] of snapshot.files.entries()) {
113
- if (!currentFiles.has(relativePath)) {
114
- // File was deleted locally
115
- const currentRemoteContent = await this.getCurrentRemoteContent(snapshotEntry.url);
116
- const lastKnownContent = await this.getContentAtHead(snapshotEntry.url, snapshotEntry.head);
117
- const remoteChanged = !this.isContentEqual(lastKnownContent, currentRemoteContent);
118
- const changeType = remoteChanged
119
- ? types_1.ChangeType.BOTH_CHANGED
120
- : types_1.ChangeType.LOCAL_ONLY;
121
- changes.push({
122
- path: relativePath,
123
- changeType,
124
- fileType: types_1.FileType.TEXT, // Will be determined from document
125
- localContent: null,
126
- remoteContent: currentRemoteContent,
127
- localHead: snapshotEntry.head,
128
- remoteHead: await this.getCurrentRemoteHead(snapshotEntry.url),
129
- });
130
- }
131
- }
110
+ }));
111
+ // Check for deleted files in parallel
112
+ await Promise.all(Array.from(snapshot.files.entries())
113
+ .filter(([relativePath]) => !currentFiles.has(relativePath))
114
+ .map(async ([relativePath, snapshotEntry]) => {
115
+ // File was deleted locally
116
+ const currentRemoteContent = await this.getCurrentRemoteContent(snapshotEntry.url);
117
+ const lastKnownContent = await this.getContentAtHead(snapshotEntry.url, snapshotEntry.head);
118
+ const remoteChanged = !(0, content_1.isContentEqual)(lastKnownContent, currentRemoteContent);
119
+ const changeType = remoteChanged
120
+ ? types_1.ChangeType.BOTH_CHANGED
121
+ : types_1.ChangeType.LOCAL_ONLY;
122
+ changes.push({
123
+ path: relativePath,
124
+ changeType,
125
+ fileType: types_1.FileType.TEXT, // Will be determined from document
126
+ localContent: null,
127
+ remoteContent: currentRemoteContent,
128
+ localHead: snapshotEntry.head,
129
+ remoteHead: await this.getCurrentRemoteHead(snapshotEntry.url),
130
+ });
131
+ }));
132
132
  return changes;
133
133
  }
134
134
  /**
@@ -136,9 +136,8 @@ class ChangeDetector {
136
136
  */
137
137
  async detectRemoteChanges(snapshot) {
138
138
  const changes = [];
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
139
+ await Promise.all(Array.from(snapshot.files.entries()).map(async ([relativePath, snapshotEntry]) => {
140
+ // Check if file still exists in remote directory listing
142
141
  const stillExistsInDirectory = await this.fileExistsInRemoteDirectory(snapshot.rootDirectoryUrl, relativePath);
143
142
  if (!stillExistsInDirectory) {
144
143
  // File was removed from remote directory listing
@@ -156,7 +155,7 @@ class ChangeDetector {
156
155
  remoteHead: snapshotEntry.head,
157
156
  });
158
157
  }
159
- continue;
158
+ return;
160
159
  }
161
160
  const currentRemoteHead = await this.getCurrentRemoteHead(snapshotEntry.url);
162
161
  if (!A.equals(currentRemoteHead, snapshotEntry.head)) {
@@ -165,7 +164,7 @@ class ChangeDetector {
165
164
  const localContent = await this.getLocalContent(relativePath);
166
165
  const lastKnownContent = await this.getContentAtHead(snapshotEntry.url, snapshotEntry.head);
167
166
  const localChanged = localContent
168
- ? !this.isContentEqual(localContent, lastKnownContent)
167
+ ? !(0, content_1.isContentEqual)(localContent, lastKnownContent)
169
168
  : false;
170
169
  const changeType = localChanged
171
170
  ? types_1.ChangeType.BOTH_CHANGED
@@ -180,7 +179,7 @@ class ChangeDetector {
180
179
  remoteHead: currentRemoteHead,
181
180
  });
182
181
  }
183
- }
182
+ }));
184
183
  return changes;
185
184
  }
186
185
  /**
@@ -198,7 +197,7 @@ class ChangeDetector {
198
197
  await this.discoverRemoteDocumentsRecursive(snapshot.rootDirectoryUrl, "", snapshot, changes);
199
198
  }
200
199
  catch (error) {
201
- console.warn(`❌ Failed to discover remote documents: ${error}`);
200
+ output_1.out.taskLine(`Failed to discover remote documents: ${error}`, true);
202
201
  }
203
202
  return changes;
204
203
  }
@@ -207,8 +206,11 @@ class ChangeDetector {
207
206
  */
208
207
  async discoverRemoteDocumentsRecursive(directoryUrl, currentPath, snapshot, changes) {
209
208
  try {
210
- const dirHandle = await this.repo.find(directoryUrl);
211
- const dirDoc = await dirHandle.doc();
209
+ // Strip heads for current document state
210
+ const plainUrl = (0, utils_1.getPlainUrl)(directoryUrl);
211
+ const dirHandle = await this.repo.find(plainUrl);
212
+ // Wait for document to be available (important during clone when fetching from network)
213
+ const dirDoc = await this.waitForDocument(dirHandle);
212
214
  if (!dirDoc) {
213
215
  return;
214
216
  }
@@ -267,7 +269,7 @@ class ChangeDetector {
267
269
  }
268
270
  }
269
271
  catch (error) {
270
- console.warn(`❌ Failed to process directory ${currentPath}: ${error}`);
272
+ output_1.out.taskLine(`Failed to process directory: ${error}`, true);
271
273
  }
272
274
  }
273
275
  /**
@@ -277,19 +279,25 @@ class ChangeDetector {
277
279
  const fileMap = new Map();
278
280
  try {
279
281
  const entries = await (0, utils_1.listDirectory)(this.rootPath, true, this.excludePatterns);
280
- for (const entry of entries) {
281
- if (entry.type !== types_1.FileType.DIRECTORY) {
282
- const relativePath = (0, utils_1.getRelativePath)(this.rootPath, entry.path);
283
- const content = await (0, utils_1.readFileContent)(entry.path);
284
- fileMap.set(relativePath, {
285
- content,
286
- type: entry.type,
287
- });
288
- }
289
- }
282
+ const fileEntries = entries.filter((entry) => entry.type !== types_1.FileType.DIRECTORY);
283
+ await Promise.all(fileEntries.map(async (entry) => {
284
+ const relativePath = (0, utils_1.getRelativePath)(this.rootPath, entry.path);
285
+ const content = await (0, utils_1.readFileContent)(entry.path);
286
+ fileMap.set(relativePath, {
287
+ content,
288
+ type: entry.type,
289
+ });
290
+ }));
290
291
  }
291
292
  catch (error) {
292
- console.warn(`Failed to scan filesystem: ${error}`);
293
+ output_1.out.taskLine(`Failed to scan filesystem: ${error}`, true);
294
+ // Log more details about the error
295
+ if (error instanceof Error) {
296
+ output_1.out.taskLine(`Error details: ${error.message}`, true);
297
+ if (error.stack) {
298
+ output_1.out.taskLine(`Stack: ${error.stack}`, true);
299
+ }
300
+ }
293
301
  }
294
302
  return fileMap;
295
303
  }
@@ -298,7 +306,7 @@ class ChangeDetector {
298
306
  */
299
307
  async getLocalContent(relativePath) {
300
308
  try {
301
- const fullPath = (0, utils_1.normalizePath)(this.rootPath + "/" + relativePath);
309
+ const fullPath = (0, utils_1.joinAndNormalizePath)(this.rootPath, relativePath);
302
310
  return await (0, utils_1.readFileContent)(fullPath);
303
311
  }
304
312
  catch {
@@ -309,32 +317,69 @@ class ChangeDetector {
309
317
  * Get content from Automerge document at specific head
310
318
  */
311
319
  async getContentAtHead(url, heads) {
312
- const handle = await this.repo.find(url);
320
+ // Strip heads for current document state
321
+ const plainUrl = (0, utils_1.getPlainUrl)(url);
322
+ const handle = await this.repo.find(plainUrl);
313
323
  const doc = await handle.view(heads).doc();
314
- return doc?.content;
324
+ const content = doc?.content;
325
+ // Convert ImmutableString to regular string
326
+ if (A.isImmutableString(content)) {
327
+ return content.toString();
328
+ }
329
+ return content;
315
330
  }
316
331
  /**
317
332
  * Get current content from Automerge document
318
333
  */
319
334
  async getCurrentRemoteContent(url) {
320
335
  try {
321
- const handle = await this.repo.find(url);
322
- const doc = await handle.doc();
336
+ // Strip heads for current document state
337
+ const plainUrl = (0, utils_1.getPlainUrl)(url);
338
+ const handle = await this.repo.find(plainUrl);
339
+ // Wait for document to be available (important during clone)
340
+ const doc = await this.waitForDocument(handle);
323
341
  if (!doc)
324
342
  return null;
325
343
  const fileDoc = doc;
326
- return fileDoc.content;
344
+ const content = fileDoc.content;
345
+ // Convert ImmutableString to regular string
346
+ if (A.isImmutableString(content)) {
347
+ return content.toString();
348
+ }
349
+ return content;
327
350
  }
328
351
  catch (error) {
329
- console.warn(`❌ Failed to get current remote content for ${url}: ${error}`);
352
+ output_1.out.taskLine(`Failed to get remote content: ${error}`, true);
330
353
  return null;
331
354
  }
332
355
  }
356
+ /**
357
+ * Wait for a document to be available, with retry logic.
358
+ * This is important during clone when documents are being fetched from the network.
359
+ */
360
+ async waitForDocument(handle, options = {}) {
361
+ const { maxRetries = 5, retryDelayMs = 100 } = options;
362
+ for (let attempt = 0; attempt < maxRetries; attempt++) {
363
+ const doc = await handle.doc();
364
+ if (doc !== undefined) {
365
+ return doc;
366
+ }
367
+ // Wait before retrying
368
+ if (attempt < maxRetries - 1) {
369
+ await new Promise((r) => setTimeout(r, retryDelayMs));
370
+ }
371
+ }
372
+ // Return undefined if document never became available
373
+ return undefined;
374
+ }
333
375
  /**
334
376
  * Get current head of Automerge document
335
377
  */
336
378
  async getCurrentRemoteHead(url) {
337
- return (await this.repo.find(url)).heads();
379
+ // Strip heads for current document state
380
+ const plainUrl = (0, utils_1.getPlainUrl)(url);
381
+ const handle = await this.repo.find(plainUrl);
382
+ return handle.heads();
338
383
  }
339
384
  /**
340
385
  * Determine file type from content
@@ -349,32 +394,6 @@ class ChangeDetector {
349
394
  return types_1.FileType.TEXT;
350
395
  }
351
396
  }
352
- /**
353
- * Compare two content pieces for equality
354
- */
355
- isContentEqual(content1, content2) {
356
- if (content1 === content2)
357
- return true;
358
- if (!content1 || !content2)
359
- return false;
360
- if (typeof content1 !== typeof content2)
361
- return false;
362
- if (typeof content1 === "string") {
363
- return content1 === content2;
364
- }
365
- else {
366
- // Compare Uint8Array
367
- const buf1 = content1;
368
- const buf2 = content2;
369
- if (buf1.length !== buf2.length)
370
- return false;
371
- for (let i = 0; i < buf1.length; i++) {
372
- if (buf1[i] !== buf2[i])
373
- return false;
374
- }
375
- return true;
376
- }
377
- }
378
397
  /**
379
398
  * Classify change type for a path
380
399
  */
@@ -388,9 +407,9 @@ class ChangeDetector {
388
407
  const lastKnownContent = await this.getContentAtHead(snapshotEntry.url, snapshotEntry.head);
389
408
  const currentRemoteContent = await this.getCurrentRemoteContent(snapshotEntry.url);
390
409
  const localChanged = localContent
391
- ? !this.isContentEqual(localContent, lastKnownContent)
410
+ ? !(0, content_1.isContentEqual)(localContent, lastKnownContent)
392
411
  : true;
393
- const remoteChanged = !this.isContentEqual(lastKnownContent, currentRemoteContent);
412
+ const remoteChanged = !(0, content_1.isContentEqual)(lastKnownContent, currentRemoteContent);
394
413
  if (!localChanged && !remoteChanged) {
395
414
  return types_1.ChangeType.NO_CHANGE;
396
415
  }
@@ -410,42 +429,9 @@ class ChangeDetector {
410
429
  async fileExistsInRemoteDirectory(rootDirectoryUrl, filePath) {
411
430
  if (!rootDirectoryUrl)
412
431
  return false;
413
- const entry = await this.findFileInDirectoryHierarchy(rootDirectoryUrl, filePath);
432
+ const entry = await (0, utils_1.findFileInDirectoryHierarchy)(this.repo, rootDirectoryUrl, filePath);
414
433
  return entry !== null;
415
434
  }
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
- }
449
435
  }
450
436
  exports.ChangeDetector = ChangeDetector;
451
437
  //# sourceMappingURL=change-detection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"change-detection.js","sourceRoot":"","sources":["../../src/core/change-detection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-detection.js","sourceRoot":"","sources":["../../src/core/change-detection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import { GlobalConfig, DirectoryConfig } from "../types";
2
+ /**
3
+ * Configuration manager for pushwork
4
+ */
5
+ export declare class ConfigManager {
6
+ private workingDir?;
7
+ private static readonly GLOBAL_CONFIG_DIR;
8
+ private static readonly CONFIG_FILENAME;
9
+ static readonly CONFIG_DIR = ".pushwork";
10
+ constructor(workingDir?: string | undefined);
11
+ /**
12
+ * Get global configuration path
13
+ */
14
+ private getGlobalConfigPath;
15
+ /**
16
+ * Get local configuration path
17
+ */
18
+ private getLocalConfigPath;
19
+ /**
20
+ * Load global configuration
21
+ */
22
+ loadGlobal(): Promise<GlobalConfig | null>;
23
+ /**
24
+ * Save global configuration
25
+ */
26
+ saveGlobal(config: GlobalConfig): Promise<void>;
27
+ /**
28
+ * Load local/directory configuration
29
+ */
30
+ load(): Promise<DirectoryConfig | null>;
31
+ /**
32
+ * Save local/directory configuration
33
+ */
34
+ save(config: DirectoryConfig): Promise<void>;
35
+ private getDefaultGlobalConfig;
36
+ /**
37
+ * Get default configuration
38
+ */
39
+ private getDefaultConfig;
40
+ /**
41
+ * Get merged configuration (global + local)
42
+ */
43
+ getMerged(): Promise<DirectoryConfig>;
44
+ /**
45
+ * Initialize with CLI option overrides
46
+ * Creates a new config with defaults + CLI overrides and saves it
47
+ */
48
+ initializeWithOverrides(overrides?: Partial<DirectoryConfig>): Promise<DirectoryConfig>;
49
+ /**
50
+ * Merge two configuration objects
51
+ */
52
+ private mergeConfigs;
53
+ /**
54
+ * Create default global configuration
55
+ */
56
+ createDefaultGlobal(): Promise<void>;
57
+ /**
58
+ * Check if global configuration exists
59
+ */
60
+ globalConfigExists(): Promise<boolean>;
61
+ /**
62
+ * Check if local configuration exists
63
+ */
64
+ localConfigExists(): Promise<boolean>;
65
+ /**
66
+ * Get configuration value by path (e.g., 'sync.move_detection_threshold')
67
+ */
68
+ getValue(keyPath: string): Promise<any>;
69
+ /**
70
+ * Set configuration value by path
71
+ */
72
+ setValue(keyPath: string, value: any): Promise<void>;
73
+ /**
74
+ * Validate configuration
75
+ */
76
+ validate(config: DirectoryConfig): {
77
+ valid: boolean;
78
+ errors: string[];
79
+ };
80
+ }
81
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,YAAY,EACZ,eAAe,EAGhB,MAAM,UAAU,CAAC;AAGlB;;GAEG;AACH,qBAAa,aAAa;IAMZ,OAAO,CAAC,UAAU,CAAC;IAL/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAe;IACxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAiB;IAExD,MAAM,CAAC,QAAQ,CAAC,UAAU,eAAe;gBAErB,UAAU,CAAC,EAAE,MAAM,YAAA;IAEvC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAehD;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAYrD;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAmB7C;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBlD,OAAO,CAAC,sBAAsB;IAiB9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkBxB;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,eAAe,CAAC;IAkB3C;;;OAGG;IACG,uBAAuB,CAC3B,SAAS,GAAE,OAAO,CAAC,eAAe,CAAM,GACvC,OAAO,CAAC,eAAe,CAAC;IAM3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAiCpB;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAK1C;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI5C;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAK3C;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAiB7C;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB1D;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;CAiBxE"}