@sudocode-ai/local-server 0.1.8 → 0.1.10

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 (58) hide show
  1. package/dist/execution/worktree/config.js +1 -1
  2. package/dist/execution/worktree/config.js.map +1 -1
  3. package/dist/execution/worktree/git-sync-cli.d.ts +11 -0
  4. package/dist/execution/worktree/git-sync-cli.d.ts.map +1 -1
  5. package/dist/execution/worktree/git-sync-cli.js +52 -1
  6. package/dist/execution/worktree/git-sync-cli.js.map +1 -1
  7. package/dist/execution/worktree/types.d.ts.map +1 -1
  8. package/dist/execution/worktree/types.js.map +1 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +3 -29
  11. package/dist/index.js.map +1 -1
  12. package/dist/public/assets/index-CQoCSnhl.css +1 -0
  13. package/dist/public/assets/index-iWE3gSYw.js +758 -0
  14. package/dist/public/assets/index-iWE3gSYw.js.map +1 -0
  15. package/dist/public/index.html +2 -2
  16. package/dist/routes/executions.d.ts.map +1 -1
  17. package/dist/routes/executions.js +329 -24
  18. package/dist/routes/executions.js.map +1 -1
  19. package/dist/routes/issues.d.ts.map +1 -1
  20. package/dist/routes/issues.js +13 -0
  21. package/dist/routes/issues.js.map +1 -1
  22. package/dist/routes/repo-info.d.ts.map +1 -1
  23. package/dist/routes/repo-info.js +77 -0
  24. package/dist/routes/repo-info.js.map +1 -1
  25. package/dist/routes/specs.d.ts.map +1 -1
  26. package/dist/routes/specs.js +14 -0
  27. package/dist/routes/specs.js.map +1 -1
  28. package/dist/routes/version.d.ts +3 -0
  29. package/dist/routes/version.d.ts.map +1 -0
  30. package/dist/routes/version.js +25 -0
  31. package/dist/routes/version.js.map +1 -0
  32. package/dist/services/execution-changes-service.d.ts +18 -0
  33. package/dist/services/execution-changes-service.d.ts.map +1 -1
  34. package/dist/services/execution-changes-service.js +155 -1
  35. package/dist/services/execution-changes-service.js.map +1 -1
  36. package/dist/services/execution-lifecycle.d.ts +2 -2
  37. package/dist/services/execution-lifecycle.d.ts.map +1 -1
  38. package/dist/services/execution-lifecycle.js +7 -23
  39. package/dist/services/execution-lifecycle.js.map +1 -1
  40. package/dist/services/execution-service.d.ts +32 -1
  41. package/dist/services/execution-service.d.ts.map +1 -1
  42. package/dist/services/execution-service.js +81 -0
  43. package/dist/services/execution-service.js.map +1 -1
  44. package/dist/services/project-manager.d.ts.map +1 -1
  45. package/dist/services/project-manager.js +18 -12
  46. package/dist/services/project-manager.js.map +1 -1
  47. package/dist/services/version-service.d.ts +14 -0
  48. package/dist/services/version-service.d.ts.map +1 -0
  49. package/dist/services/version-service.js +57 -0
  50. package/dist/services/version-service.js.map +1 -0
  51. package/dist/services/worktree-sync-service.d.ts +183 -13
  52. package/dist/services/worktree-sync-service.d.ts.map +1 -1
  53. package/dist/services/worktree-sync-service.js +851 -82
  54. package/dist/services/worktree-sync-service.js.map +1 -1
  55. package/package.json +3 -3
  56. package/dist/public/assets/index-Bb_W5bUr.css +0 -1
  57. package/dist/public/assets/index-CFKL113G.js +0 -710
  58. package/dist/public/assets/index-CFKL113G.js.map +0 -1
@@ -34,6 +34,23 @@ export declare class WorktreeSyncError extends Error {
34
34
  cause?: Error | undefined;
35
35
  constructor(message: string, code: WorktreeSyncErrorCode, cause?: Error | undefined);
36
36
  }
37
+ /**
38
+ * Uncommitted file stats for preview
39
+ */
40
+ export interface UncommittedFileStats {
41
+ files: string[];
42
+ additions: number;
43
+ deletions: number;
44
+ }
45
+ /**
46
+ * Info about potential local conflicts when including uncommitted files
47
+ */
48
+ export interface PotentialLocalConflicts {
49
+ /** Number of files that may have merge conflicts */
50
+ count: number;
51
+ /** List of files that may have merge conflicts */
52
+ files: string[];
53
+ }
37
54
  /**
38
55
  * Sync preview result
39
56
  */
@@ -43,7 +60,12 @@ export interface SyncPreviewResult {
43
60
  diff: DiffResult;
44
61
  commits: Commit[];
45
62
  mergeBase: string;
63
+ /** @deprecated Use uncommittedChanges instead */
46
64
  uncommittedJSONLChanges: string[];
65
+ /** Stats about uncommitted changes in worktree (not included in sync by default) */
66
+ uncommittedChanges?: UncommittedFileStats;
67
+ /** Files that may have merge conflicts if "include uncommitted" is selected */
68
+ potentialLocalConflicts?: PotentialLocalConflicts;
47
69
  executionStatus: ExecutionStatus;
48
70
  warnings: string[];
49
71
  }
@@ -54,8 +76,12 @@ export interface SyncResult {
54
76
  success: boolean;
55
77
  finalCommit?: string;
56
78
  filesChanged: number;
57
- conflictsResolved: number;
58
- uncommittedJSONLIncluded: boolean;
79
+ /** Whether there are unresolved merge conflicts (user must resolve manually) */
80
+ hasConflicts?: boolean;
81
+ /** List of files that have merge conflicts requiring manual resolution */
82
+ filesWithConflicts?: string[];
83
+ /** Number of uncommitted files copied from worktree (stage sync only) */
84
+ uncommittedFilesIncluded?: number;
59
85
  error?: string;
60
86
  cleanupOffered?: boolean;
61
87
  }
@@ -68,7 +94,6 @@ export declare class WorktreeSyncService {
68
94
  private db;
69
95
  private repoPath;
70
96
  private gitSync;
71
- private conflictDetector;
72
97
  constructor(db: Database.Database, repoPath: string);
73
98
  /**
74
99
  * Preview sync without making changes
@@ -77,6 +102,16 @@ export declare class WorktreeSyncService {
77
102
  * @returns Preview result with conflicts, diff, and warnings
78
103
  */
79
104
  previewSync(executionId: string): Promise<SyncPreviewResult>;
105
+ /**
106
+ * Validate critical preconditions that prevent us from getting any sync info
107
+ *
108
+ * These are "hard" failures - if these fail, we can't get diff/commits info.
109
+ * Returns an error message if validation fails, null if validation passes.
110
+ *
111
+ * @param execution - Execution to validate
112
+ * @returns Error message if validation fails, null if validation passes
113
+ */
114
+ private _validateCriticalPreconditions;
80
115
  /**
81
116
  * Load execution from database and validate it exists
82
117
  *
@@ -115,14 +150,22 @@ export declare class WorktreeSyncService {
115
150
  */
116
151
  private _createSafetySnapshot;
117
152
  /**
118
- * Get uncommitted JSONL files from worktree
153
+ * Get all uncommitted files from worktree
154
+ *
155
+ * @param worktreePath - Path to worktree
156
+ * @returns Array of all uncommitted file paths
157
+ */
158
+ private _getUncommittedFiles;
159
+ /**
160
+ * Get uncommitted file stats from worktree
119
161
  *
120
- * Used by previewSync() and will be used in i-3wmx (JSONL conflict resolution)
162
+ * Returns list of files and aggregate additions/deletions stats
163
+ * for uncommitted changes in the worktree.
121
164
  *
122
165
  * @param worktreePath - Path to worktree
123
- * @returns Array of uncommitted JSONL file paths
166
+ * @returns Uncommitted file stats
124
167
  */
125
- private _getUncommittedJSONLFiles;
168
+ private _getUncommittedFileStats;
126
169
  /**
127
170
  * Check if local working tree is clean
128
171
  *
@@ -180,14 +223,98 @@ export declare class WorktreeSyncService {
180
223
  */
181
224
  commitUncommittedJSONL(worktreePath: string, uncommittedFiles: string[]): Promise<void>;
182
225
  /**
183
- * Perform git merge --squash operation
226
+ * Perform git merge --squash operation, allowing conflicts
227
+ *
228
+ * This method doesn't throw on conflicts.
229
+ * Instead, it returns information about whether conflicts occurred.
184
230
  *
185
231
  * @param sourceBranch - Branch to merge from (worktree branch)
186
232
  * @param targetBranch - Branch to merge into
187
- * @returns Object with filesChanged count
188
- * @throws WorktreeSyncError if merge fails
233
+ * @returns Object with filesChanged count and hasConflicts flag
234
+ */
235
+ private _performSquashMergeAllowConflicts;
236
+ /**
237
+ * Check if a file has local uncommitted changes compared to HEAD
238
+ *
239
+ * @param filePath - Relative path to the file
240
+ * @returns true if file has uncommitted changes, false otherwise
241
+ */
242
+ private _hasLocalUncommittedChanges;
243
+ /**
244
+ * Detect potential local conflicts for uncommitted worktree files
245
+ *
246
+ * Checks which uncommitted worktree files also exist locally with changes
247
+ * or are untracked locally. These files may have merge conflicts when synced.
248
+ *
249
+ * @param worktreeFiles - List of uncommitted files in worktree
250
+ * @returns Info about files that may have conflicts
251
+ */
252
+ private _detectPotentialLocalConflicts;
253
+ /**
254
+ * Check if a file is untracked by git (not in the index)
255
+ *
256
+ * @param filePath - Relative path to the file
257
+ * @returns true if file is untracked, false if tracked
258
+ */
259
+ private _isFileUntracked;
260
+ /**
261
+ * Check if a file is a JSONL file in the .sudocode directory
262
+ *
263
+ * @param filePath - Relative path to the file
264
+ * @returns true if file is a .sudocode JSONL file
265
+ */
266
+ private _isJSONLFile;
267
+ /**
268
+ * Perform three-way merge on a file using git merge-file
269
+ *
270
+ * Uses HEAD as base, local working copy as "ours", and worktree version as "theirs".
271
+ * Modifies the local file in place, inserting conflict markers if needed.
272
+ *
273
+ * @param filePath - Relative path to the file in local repo
274
+ * @param worktreeFilePath - Absolute path to the file in worktree
275
+ * @returns true if there are conflicts, false if merge was clean
276
+ */
277
+ private _threeWayMergeFile;
278
+ /**
279
+ * Merge two JSONL files using UUID-based resolution
280
+ *
281
+ * Reads both local and worktree versions, merges entities by UUID,
282
+ * and writes the result back to the local file.
283
+ *
284
+ * @param localFilePath - Absolute path to local JSONL file
285
+ * @param worktreeFilePath - Absolute path to worktree JSONL file
189
286
  */
190
- private _performSquashMerge;
287
+ private _mergeJSONLFiles;
288
+ /**
289
+ * Copy uncommitted files from worktree to local repo with safe merging
290
+ *
291
+ * For files with local uncommitted changes:
292
+ * - JSONL files: Uses UUID-based merge resolution
293
+ * - Other files: Uses git merge-file for three-way merge with conflict markers
294
+ *
295
+ * Files without local changes are copied directly.
296
+ *
297
+ * @param worktreePath - Path to the worktree
298
+ * @param options - Optional settings
299
+ * @param options.overrideLocalChanges - If true, skip merge and overwrite local changes
300
+ * @returns Object with filesCopied count and list of files with conflicts
301
+ */
302
+ private _copyUncommittedFiles;
303
+ /**
304
+ * Resolve JSONL merge conflicts in the local repository
305
+ *
306
+ * Checks for git conflict markers in issues.jsonl and specs.jsonl,
307
+ * and resolves them using the merge-resolver logic.
308
+ *
309
+ * @returns Number of files resolved
310
+ */
311
+ private _resolveJSONLConflicts;
312
+ /**
313
+ * Resolve conflicts in a single JSONL file
314
+ *
315
+ * @param filePath - Path to the JSONL file with conflicts
316
+ */
317
+ private _resolveJSONLFile;
191
318
  /**
192
319
  * Generate commit message for squash sync
193
320
  *
@@ -215,8 +342,9 @@ export declare class WorktreeSyncService {
215
342
  /**
216
343
  * Perform squash sync operation
217
344
  *
218
- * Squashes all worktree commits into a single commit on the target branch.
219
- * Auto-resolves JSONL conflicts but blocks on code conflicts.
345
+ * Squashes all committed worktree changes into a single commit on the target branch.
346
+ * Only includes committed changes - uncommitted changes are excluded.
347
+ * If merge conflicts occur, they are left for the user to resolve manually.
220
348
  *
221
349
  * @param executionId - Execution ID to sync
222
350
  * @param customCommitMessage - Optional custom commit message
@@ -224,5 +352,47 @@ export declare class WorktreeSyncService {
224
352
  * @throws WorktreeSyncError if sync fails
225
353
  */
226
354
  squashSync(executionId: string, customCommitMessage?: string): Promise<SyncResult>;
355
+ /**
356
+ * Perform stage sync operation
357
+ *
358
+ * Applies committed worktree changes to the working directory without committing.
359
+ * Changes are left staged, ready for the user to commit manually.
360
+ * Only includes committed changes by default - uncommitted changes are excluded
361
+ * unless includeUncommitted is true.
362
+ *
363
+ * @param executionId - Execution ID to sync
364
+ * @param options - Optional settings
365
+ * @param options.includeUncommitted - If true, also copy uncommitted files from worktree
366
+ * @param options.overrideLocalChanges - If true, overwrite local changes instead of merging
367
+ * @returns Sync result with details
368
+ * @throws WorktreeSyncError if sync fails
369
+ */
370
+ stageSync(executionId: string, options?: {
371
+ includeUncommitted?: boolean;
372
+ overrideLocalChanges?: boolean;
373
+ }): Promise<SyncResult>;
374
+ /**
375
+ * Check if worktree branch is an ancestor of target branch
376
+ *
377
+ * If the worktree branch is an ancestor, it means target already has all
378
+ * the commits from the worktree (e.g., via a previous sync).
379
+ *
380
+ * @param worktreeBranch - Worktree branch name
381
+ * @param targetBranch - Target branch name
382
+ * @returns true if worktree branch is an ancestor of target branch
383
+ */
384
+ private _isAncestor;
385
+ /**
386
+ * Perform preserve sync operation
387
+ *
388
+ * Merges all commits from worktree branch to target branch, preserving commit history.
389
+ * Only includes committed changes - uncommitted changes are excluded.
390
+ * If merge conflicts occur, they are left for the user to resolve manually.
391
+ *
392
+ * @param executionId - Execution ID to sync
393
+ * @returns Sync result with details
394
+ * @throws WorktreeSyncError if sync fails
395
+ */
396
+ preserveSync(executionId: string): Promise<SyncResult>;
227
397
  }
228
398
  //# sourceMappingURL=worktree-sync-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"worktree-sync-service.d.ts","sourceRoot":"","sources":["../../src/services/worktree-sync-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worktree-sync-service.d.ts","sourceRoot":"","sources":["../../src/services/worktree-sync-service.ts"],"names":[],"mappings":"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"}