centaurus-cli 3.0.0 → 3.0.1

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.
@@ -62,7 +62,22 @@ export declare class CheckpointManager {
62
62
  clear(): void;
63
63
  list(): CheckpointMeta[];
64
64
  /**
65
- * Get session changes for an active checkpoint (live calculation).
65
+ * Back up a single file before the AI modifies it.
66
+ * This is the core of the new checkpoint system: instead of copying the
67
+ * entire project at checkpoint start, we only back up the specific files
68
+ * that the AI actually touches, right before it touches them.
69
+ *
70
+ * If the file has already been backed up in this checkpoint, this is a no-op
71
+ * (we always want the ORIGINAL state, not intermediate states).
72
+ */
73
+ backupFileBeforeChange(checkpointId: string, absoluteFilePath: string, cwd: string, handler?: RemoteFileHandler): Promise<void>;
74
+ /**
75
+ * Record a file operation in the checkpoint's operation log.
76
+ * Called by file tools after successfully modifying a file.
77
+ */
78
+ recordFileOperation(checkpointId: string, type: 'create' | 'modify' | 'delete', filePath: string, toolName: string): void;
79
+ /**
80
+ * Get session changes for a checkpoint (live calculation).
66
81
  * Returns added/modified/deleted file lists plus per-file line stats.
67
82
  */
68
83
  getSessionChanges(checkpointId: string, handler?: RemoteFileHandler): Promise<{
@@ -74,38 +89,37 @@ export declare class CheckpointManager {
74
89
  }[];
75
90
  } | null>;
76
91
  /**
77
- * Get a unified diff for a single file within a checkpoint.
78
- * Compares the snapshot version to the current version.
79
- */
80
- getFileDiff(checkpointId: string, filePath: string, handler?: RemoteFileHandler): Promise<string | null>;
81
- /**
82
- * Get the initial checkpoint for the current chat session.
83
- * This represents the state at the start of the conversation.
92
+ * Get session changes across ALL checkpoints (for session scope).
93
+ * Aggregates backups from all checkpoints to find the original state of each file.
84
94
  */
85
- getInitialCheckpoint(): CheckpointMeta | null;
86
- /**
87
- * Calculate insertions/deletions between two file versions
88
- */
89
- private calculateLineStats;
90
- private calculateLineStatsFromContent;
95
+ getAggregatedSessionChanges(handler?: RemoteFileHandler): Promise<{
96
+ changes: CheckpointChanges;
97
+ stats: {
98
+ filePath: string;
99
+ insertions: number;
100
+ deletions: number;
101
+ }[];
102
+ } | null>;
91
103
  /**
92
- * Generate a unified diff between old and new content
104
+ * Get a unified diff for a single file within a checkpoint.
105
+ * For V2 checkpoints: compares the backed-up original to the current version.
106
+ * For V1 checkpoints: compares the full snapshot to the current version (legacy).
93
107
  */
94
- private generateUnifiedDiff;
108
+ getFileDiff(checkpointId: string, filePath: string, handler?: RemoteFileHandler): Promise<string | null>;
95
109
  /**
96
- * Compute diff hunks between old and new lines using Myers-like approach
110
+ * Get a session-wide diff for a single file (across all checkpoints).
111
+ * Finds the earliest backup of the file and compares to current state.
97
112
  */
98
- private computeHunks;
113
+ getSessionFileDiff(filePath: string, handler?: RemoteFileHandler): Promise<string | null>;
99
114
  /**
100
- * Compute longest common subsequence of two string arrays
101
- * Uses optimized approach for large files (limit LCS table size)
115
+ * Get the initial checkpoint for the current chat session.
102
116
  */
103
- private longestCommonSubsequence;
117
+ getInitialCheckpoint(): CheckpointMeta | null;
104
118
  /**
105
- * Simple LCS for large files - uses hash-based matching
119
+ * Start a new checkpoint. With V2 (backup-on-write), this is nearly instant:
120
+ * no file scanning or copying. Just creates the checkpoint metadata and an
121
+ * empty manifest.
106
122
  */
107
- private simpleLCS;
108
- markDiscarded(id: string): void;
109
123
  startCheckpoint(params: {
110
124
  prompt: string;
111
125
  cwd: string;
@@ -118,45 +132,68 @@ export declare class CheckpointManager {
118
132
  }): Promise<CheckpointMeta | null>;
119
133
  finalizeCheckpoint(id: string): Promise<void>;
120
134
  recordToolCall(id: string, toolCall: CheckpointToolCall): void;
135
+ /**
136
+ * Revert to a checkpoint. For V2 checkpoints, this is efficient:
137
+ * only the files the AI actually touched are restored.
138
+ *
139
+ * - Files the AI created (existed=false): deleted
140
+ * - Files the AI modified (existed=true): restored from backup
141
+ */
121
142
  revertToCheckpoint(id: string, handler?: RemoteFileHandler): Promise<{
122
143
  checkpoint: CheckpointMeta;
123
144
  restored: number;
124
145
  removed: number;
125
146
  errors: string[];
126
147
  }>;
148
+ markDiscarded(id: string): void;
149
+ removeCheckpointsFrom(id: string): void;
150
+ discardCheckpointById(id: string): void;
151
+ deleteCheckpointsForChat(chatId: string): void;
152
+ private revertV2;
153
+ private getFileDiffV2;
127
154
  /**
128
- * Revert a remote checkpoint by uploading snapshot files back to the remote machine.
155
+ * V1 diff: uses full snapshot files (legacy checkpoints).
129
156
  */
130
- private revertRemoteCheckpoint;
131
- removeCheckpointsFrom(id: string): void;
157
+ private getFileDiffV1;
158
+ private getSessionChangesV1;
132
159
  /**
133
- * Discard a single checkpoint by id.
134
- * Used when a background/late checkpoint should not be kept.
160
+ * V1 local revert: legacy full-scan approach.
135
161
  */
136
- discardCheckpointById(id: string): void;
137
- deleteCheckpointsForChat(chatId: string): void;
138
- private discardCheckpoint;
162
+ private revertLocalCheckpointV1;
163
+ /**
164
+ * V1 remote revert: legacy full-scan approach.
165
+ */
166
+ private revertRemoteCheckpointV1;
139
167
  private calculateChanges;
140
- private readManifest;
141
- private createSnapshot;
142
168
  /**
143
- * Create a snapshot of remote files by downloading them via the handler.
144
- * Files are stored locally in the snapshot directory for later comparison/revert.
169
+ * V2: Calculate changes from backup entries only.
170
+ * No directory scanning needed we only track files the AI touched.
145
171
  */
146
- private createRemoteSnapshot;
147
- private scanFiles;
172
+ private calculateChangesV2;
148
173
  /**
149
- * Recursively scan all subdirectories under root, returning relative paths.
150
- * Used by local revert to find directories that may need cleanup.
174
+ * V1 legacy: full directory scan approach.
151
175
  */
152
- private scanLocalDirectories;
176
+ private calculateChangesV1;
153
177
  /**
154
- * Scan files on a remote machine using the handler's executeCommand.
155
- * Uses `find` with ignore patterns equivalent to DEFAULT_IGNORE_PATTERNS.
178
+ * Clean up empty directories after deleting files that the AI created.
156
179
  */
157
- private scanRemoteFiles;
180
+ private cleanupEmptyDirectories;
181
+ private cleanupEmptyDirectoriesRemote;
182
+ private calculateLineStats;
183
+ private calculateLineStatsFromContent;
184
+ private generateUnifiedDiff;
185
+ private computeHunks;
186
+ private longestCommonSubsequence;
187
+ private simpleLCS;
158
188
  private filesDiffer;
159
189
  private removeFileOrDirSync;
190
+ private readManifest;
191
+ private readManifestV2;
192
+ private isV2Manifest;
193
+ private scanLocalFiles;
194
+ private scanLocalDirectories;
195
+ private scanRemoteFiles;
196
+ private discardCheckpoint;
160
197
  private generateCheckpointId;
161
198
  private ensureDirSync;
162
199
  private getChatDir;
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint-manager.d.ts","sourceRoot":"","sources":["../../src/services/checkpoint-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint-manager.d.ts","sourceRoot":"","sources":["../../src/services/checkpoint-manager.ts"],"names":[],"mappings":"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"}