codecane 1.0.203 → 1.0.205

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 (49) hide show
  1. package/dist/checkpoints/checkpoint-manager.d.ts +1 -1
  2. package/dist/checkpoints/checkpoint-manager.js +6 -6
  3. package/dist/checkpoints/checkpoint-manager.js.map +1 -1
  4. package/dist/checkpoints/file-manager.d.ts +41 -10
  5. package/dist/checkpoints/file-manager.js +127 -58
  6. package/dist/checkpoints/file-manager.js.map +1 -1
  7. package/dist/cli.d.ts +5 -1
  8. package/dist/cli.js +65 -29
  9. package/dist/cli.js.map +1 -1
  10. package/dist/client.d.ts +94 -5
  11. package/dist/client.js +29 -45
  12. package/dist/client.js.map +1 -1
  13. package/dist/code-map/languages.d.ts +1 -0
  14. package/dist/code-map/languages.js +224 -23
  15. package/dist/code-map/languages.js.map +1 -1
  16. package/dist/code-map/parse.js +0 -1
  17. package/dist/code-map/parse.js.map +1 -1
  18. package/dist/code-map/tsconfig.tsbuildinfo +1 -1
  19. package/dist/common/actions.d.ts +68 -88
  20. package/dist/common/actions.js +0 -1
  21. package/dist/common/actions.js.map +1 -1
  22. package/dist/common/browser-actions.d.ts +44 -44
  23. package/dist/common/types/agent-state.d.ts +28 -28
  24. package/dist/common/types/message.d.ts +8 -8
  25. package/dist/common/util/saxy.js +1 -1
  26. package/dist/common/util/saxy.js.map +1 -1
  27. package/dist/common/util/string.d.ts +4 -0
  28. package/dist/common/util/string.js +8 -1
  29. package/dist/common/util/string.js.map +1 -1
  30. package/dist/common/websockets/websocket-schema.d.ts +132 -164
  31. package/dist/menu.js +1 -1
  32. package/dist/menu.js.map +1 -1
  33. package/dist/project-files.js +2 -0
  34. package/dist/project-files.js.map +1 -1
  35. package/dist/utils/logger.d.ts +2 -0
  36. package/dist/utils/logger.js +33 -0
  37. package/dist/utils/logger.js.map +1 -0
  38. package/dist/utils/terminal.js +1 -1
  39. package/dist/utils/terminal.js.map +1 -1
  40. package/package.json +31 -13
  41. package/dist/common/advanced-analyzer.d.ts +0 -19
  42. package/dist/common/advanced-analyzer.js +0 -140
  43. package/dist/common/advanced-analyzer.js.map +0 -1
  44. package/dist/common/message-image-handling.d.ts +0 -41
  45. package/dist/common/message-image-handling.js +0 -57
  46. package/dist/common/message-image-handling.js.map +0 -1
  47. package/dist/common/util/process-stream.d.ts +0 -8
  48. package/dist/common/util/process-stream.js +0 -102
  49. package/dist/common/util/process-stream.js.map +0 -1
@@ -21,7 +21,7 @@ export interface Checkpoint {
21
21
  export declare class CheckpointManager {
22
22
  checkpoints: Array<Checkpoint>;
23
23
  private bareRepoPath;
24
- enabled: boolean;
24
+ disabledReason: string | null;
25
25
  /** Worker thread for git operations */
26
26
  private worker;
27
27
  /**
@@ -15,7 +15,7 @@ const project_files_1 = require("../project-files");
15
15
  class CheckpointManager {
16
16
  checkpoints = [];
17
17
  bareRepoPath = null;
18
- enabled = true;
18
+ disabledReason = null;
19
19
  /** Worker thread for git operations */
20
20
  worker = null;
21
21
  /**
@@ -78,7 +78,7 @@ class CheckpointManager {
78
78
  * @returns The created checkpoint, or null if checkpointing is disabled
79
79
  */
80
80
  async addCheckpoint(agentState, userInput) {
81
- if (!this.enabled) {
81
+ if (this.disabledReason !== null) {
82
82
  return null;
83
83
  }
84
84
  const id = this.checkpoints.length + 1;
@@ -86,7 +86,7 @@ class CheckpointManager {
86
86
  const bareRepoPath = this.getBareRepoPath();
87
87
  const relativeFilepaths = (0, project_file_tree_1.getAllFilePaths)(agentState.fileContext.fileTree);
88
88
  if (relativeFilepaths.length >= project_file_tree_1.DEFAULT_MAX_FILES) {
89
- this.enabled = false;
89
+ this.disabledReason = 'Project too large';
90
90
  return null;
91
91
  }
92
92
  const needToStage = await (0, file_manager_1.hasUnsavedChanges)({
@@ -122,7 +122,7 @@ class CheckpointManager {
122
122
  * @returns The most recent checkpoint or null if none exist
123
123
  */
124
124
  getLatestCheckpoint() {
125
- if (!this.enabled) {
125
+ if (this.disabledReason !== null) {
126
126
  return null;
127
127
  }
128
128
  return this.checkpoints.length === 0
@@ -162,8 +162,8 @@ class CheckpointManager {
162
162
  * @returns A formatted string representation of all checkpoints
163
163
  */
164
164
  getCheckpointsAsString(detailed = false) {
165
- if (!this.enabled) {
166
- return (0, picocolors_1.red)('Checkpoints not enabled: project too large.');
165
+ if (this.disabledReason !== null) {
166
+ return (0, picocolors_1.red)(`Checkpoints not enabled: ${this.disabledReason}`);
167
167
  }
168
168
  if (this.checkpoints.length === 0) {
169
169
  return (0, picocolors_1.yellow)('No checkpoints available.');
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint-manager.js","sourceRoot":"","sources":["../../src/checkpoints/checkpoint-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint-manager.js","sourceRoot":"","sources":["../../src/checkpoints/checkpoint-manager.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,52 @@
1
1
  import fs from 'fs';
2
+ /**
3
+ * Generates a unique path for storing the bare git repository based on the project directory.
4
+ * Uses SHA-256 hashing to create a unique identifier.
5
+ * @param dir - The project directory path to hash
6
+ * @returns The full path where the bare repo should be stored
7
+ */
2
8
  export declare function getBareRepoPath(dir: string): string;
9
+ /**
10
+ * Checks if there are any uncommitted changes in the working directory.
11
+ * First attempts to use native git commands, falling back to isomorphic-git if unavailable.
12
+ * @param projectDir - The working tree directory path
13
+ * @param bareRepoPath - The bare git repository path
14
+ * @param relativeFilepaths - Array of file paths relative to projectDir to check
15
+ * @returns Promise resolving to true if there are uncommitted changes, false otherwise
16
+ */
3
17
  export declare function hasUnsavedChanges({ projectDir, bareRepoPath, relativeFilepaths, }: {
4
18
  projectDir: string;
5
19
  bareRepoPath: string;
6
20
  relativeFilepaths: Array<string>;
7
21
  }): Promise<boolean>;
22
+ /**
23
+ * Gets the hash of the latest commit in the repository.
24
+ * First attempts to use native git commands, falling back to isomorphic-git if unavailable.
25
+ * @param bareRepoPath - The bare git repository path
26
+ * @returns Promise resolving to the commit hash
27
+ */
8
28
  export declare function getLatestCommit({ bareRepoPath, }: {
9
29
  bareRepoPath: string;
10
30
  }): Promise<string>;
31
+ /**
32
+ * Initializes a bare git repository for tracking file changes.
33
+ * Creates the repository if it doesn't exist, otherwise uses the existing one.
34
+ * Makes an initial commit of the current file state.
35
+ * @param projectDir - The working tree directory path
36
+ * @param relativeFilepaths - Array of file paths relative to projectDir to track
37
+ */
11
38
  export declare function initializeCheckpointFileManager({ projectDir, relativeFilepaths, }: {
12
39
  projectDir: string;
13
40
  relativeFilepaths: Array<string>;
14
41
  }): Promise<void>;
15
42
  /**
16
- * Stores the current state of all files in the project as a git commit
17
- * (git add . && git commit)
18
- * @param message The commit message to use for this file state
19
- * @returns A promise that resolves to the id hash that can be used to restore this file state
43
+ * Creates a new commit with the current state of all tracked files.
44
+ * Stages all changes and creates a commit with the specified message.
45
+ * @param projectDir - The working tree directory path
46
+ * @param bareRepoPath - The bare git repository path
47
+ * @param message - The commit message
48
+ * @param relativeFilepaths - Array of file paths relative to projectDir to commit
49
+ * @returns Promise resolving to the new commit's hash
20
50
  */
21
51
  export declare function storeFileState({ projectDir, bareRepoPath, message, relativeFilepaths: relativeFilepaths, }: {
22
52
  projectDir: string;
@@ -25,12 +55,13 @@ export declare function storeFileState({ projectDir, bareRepoPath, message, rela
25
55
  relativeFilepaths: Array<string>;
26
56
  }): Promise<string>;
27
57
  /**
28
- * Resets the index and working directory to the specified commit.
29
- * (git reset --hard)
30
- * TODO redo this jsdoc
31
- * @param dir - The working tree directory path.
32
- * @param gitdir - The git directory path (typically the .git folder).
33
- * @param commit - The commit hash to reset to.
58
+ * Restores the working directory and index to match the specified commit.
59
+ * Equivalent to `git reset --hard`
60
+ * First attempts to use native git commands, falling back to isomorphic-git if unavailable.
61
+ * @param projectDir - The working tree directory path
62
+ * @param bareRepoPath - The bare git repository path
63
+ * @param commit - The commit hash to restore to
64
+ * @param relativeFilepaths - Array of file paths relative to projectDir to restore
34
65
  */
35
66
  export declare function restoreFileState({ projectDir, bareRepoPath, commit, relativeFilepaths, }: {
36
67
  projectDir: string;
@@ -17,11 +17,16 @@ const isomorphic_git_1 = require("isomorphic-git");
17
17
  const path_1 = require("path");
18
18
  const child_process_1 = require("child_process");
19
19
  const project_files_1 = require("../project-files");
20
+ /**
21
+ * Checks if the native git command is available on the system.
22
+ * Caches the result to avoid repeated checks.
23
+ * @returns boolean indicating if git command is available
24
+ */
20
25
  let cachedGitAvailable = null;
21
26
  function gitCommandIsAvailable() {
22
27
  if (cachedGitAvailable === null) {
23
28
  try {
24
- (0, child_process_1.execFileSync)('git', ['--version']);
29
+ (0, child_process_1.execFileSync)('git', ['--version'], { stdio: 'ignore' });
25
30
  cachedGitAvailable = true;
26
31
  }
27
32
  catch (error) {
@@ -30,10 +35,24 @@ function gitCommandIsAvailable() {
30
35
  }
31
36
  return cachedGitAvailable;
32
37
  }
38
+ /**
39
+ * Generates a unique path for storing the bare git repository based on the project directory.
40
+ * Uses SHA-256 hashing to create a unique identifier.
41
+ * @param dir - The project directory path to hash
42
+ * @returns The full path where the bare repo should be stored
43
+ */
33
44
  function getBareRepoPath(dir) {
34
45
  const bareRepoName = (0, crypto_1.createHash)('sha256').update(dir).digest('hex');
35
46
  return (0, path_1.join)((0, project_files_1.getProjectDataDir)(), bareRepoName);
36
47
  }
48
+ /**
49
+ * Checks if there are any uncommitted changes in the working directory.
50
+ * First attempts to use native git commands, falling back to isomorphic-git if unavailable.
51
+ * @param projectDir - The working tree directory path
52
+ * @param bareRepoPath - The bare git repository path
53
+ * @param relativeFilepaths - Array of file paths relative to projectDir to check
54
+ * @returns Promise resolving to true if there are uncommitted changes, false otherwise
55
+ */
37
56
  async function hasUnsavedChanges({ projectDir, bareRepoPath, relativeFilepaths, }) {
38
57
  if (gitCommandIsAvailable()) {
39
58
  try {
@@ -63,15 +82,16 @@ async function hasUnsavedChanges({ projectDir, bareRepoPath, relativeFilepaths,
63
82
  }
64
83
  return false;
65
84
  }
85
+ /**
86
+ * Gets the hash of the latest commit in the repository.
87
+ * First attempts to use native git commands, falling back to isomorphic-git if unavailable.
88
+ * @param bareRepoPath - The bare git repository path
89
+ * @returns Promise resolving to the commit hash
90
+ */
66
91
  async function getLatestCommit({ bareRepoPath, }) {
67
92
  if (gitCommandIsAvailable()) {
68
93
  try {
69
- return (0, child_process_1.execFileSync)('git', [
70
- '--git-dir',
71
- bareRepoPath,
72
- 'rev-parse',
73
- 'HEAD',
74
- ])
94
+ return (0, child_process_1.execFileSync)('git', ['--git-dir', bareRepoPath, 'rev-parse', 'HEAD'], { stdio: ['ignore', 'pipe', 'ignore'] })
75
95
  .toString()
76
96
  .trim();
77
97
  }
@@ -81,21 +101,34 @@ async function getLatestCommit({ bareRepoPath, }) {
81
101
  }
82
102
  return await (0, isomorphic_git_1.resolveRef)({
83
103
  fs: fs_1.default,
84
- dir: bareRepoPath,
104
+ gitdir: bareRepoPath,
85
105
  ref: 'HEAD',
86
106
  });
87
107
  }
108
+ /**
109
+ * Initializes a bare git repository for tracking file changes.
110
+ * Creates the repository if it doesn't exist, otherwise uses the existing one.
111
+ * Makes an initial commit of the current file state.
112
+ * @param projectDir - The working tree directory path
113
+ * @param relativeFilepaths - Array of file paths relative to projectDir to track
114
+ */
88
115
  async function initializeCheckpointFileManager({ projectDir, relativeFilepaths, }) {
89
116
  const bareRepoPath = getBareRepoPath(projectDir);
90
117
  // Create the bare repo directory if it doesn't exist
91
118
  fs_1.default.mkdirSync(bareRepoPath, { recursive: true });
92
119
  try {
93
120
  // Check if it's already a valid Git repo
94
- await (0, isomorphic_git_1.resolveRef)({ fs: fs_1.default, dir: bareRepoPath, ref: 'HEAD' });
121
+ await (0, isomorphic_git_1.resolveRef)({ fs: fs_1.default, gitdir: bareRepoPath, ref: 'HEAD' });
95
122
  }
96
123
  catch (error) {
97
124
  // Bare repo doesn't exist yet
98
- await (0, isomorphic_git_1.init)({ fs: fs_1.default, dir: bareRepoPath, bare: true });
125
+ await (0, isomorphic_git_1.init)({
126
+ fs: fs_1.default,
127
+ dir: projectDir,
128
+ gitdir: bareRepoPath,
129
+ bare: true,
130
+ defaultBranch: 'master',
131
+ });
99
132
  }
100
133
  // Commit the files in the bare repo
101
134
  await storeFileState({
@@ -105,7 +138,14 @@ async function initializeCheckpointFileManager({ projectDir, relativeFilepaths,
105
138
  relativeFilepaths,
106
139
  });
107
140
  }
108
- async function stageFiles({ projectDir, bareRepoPath, relativeFilepaths, }) {
141
+ /**
142
+ * Stages all changes in the working directory.
143
+ * First attempts to use native git commands, falling back to isomorphic-git if unavailable.
144
+ * @param projectDir - The working tree directory path
145
+ * @param bareRepoPath - The bare git repository path
146
+ * @param relativeFilepaths - Array of file paths relative to projectDir to stage
147
+ */
148
+ async function gitAddAll({ projectDir, bareRepoPath, relativeFilepaths, }) {
109
149
  if (gitCommandIsAvailable()) {
110
150
  try {
111
151
  (0, child_process_1.execFileSync)('git', [
@@ -117,11 +157,11 @@ async function stageFiles({ projectDir, bareRepoPath, relativeFilepaths, }) {
117
157
  projectDir,
118
158
  'add',
119
159
  '.',
120
- ]);
160
+ ], { stdio: 'ignore' });
121
161
  return;
122
162
  }
123
163
  catch (error) {
124
- // Failed to add .
164
+ // Failed to `git add .`
125
165
  }
126
166
  }
127
167
  // Stage files with isomorphic-git
@@ -156,41 +196,72 @@ async function stageFiles({ projectDir, bareRepoPath, relativeFilepaths, }) {
156
196
  }
157
197
  }
158
198
  }
159
- /**
160
- * Stores the current state of all files in the project as a git commit
161
- * (git add . && git commit)
162
- * @param message The commit message to use for this file state
163
- * @returns A promise that resolves to the id hash that can be used to restore this file state
164
- */
165
- async function storeFileState({ projectDir, bareRepoPath, message, relativeFilepaths: relativeFilepaths, }) {
166
- await stageFiles({
167
- projectDir,
168
- bareRepoPath,
169
- relativeFilepaths,
170
- });
199
+ async function gitCommit({ projectDir, bareRepoPath, message, }) {
200
+ if (gitCommandIsAvailable()) {
201
+ try {
202
+ (0, child_process_1.execFileSync)('git', [
203
+ '--git-dir',
204
+ bareRepoPath,
205
+ '--work-tree',
206
+ projectDir,
207
+ 'commit',
208
+ '-m',
209
+ message,
210
+ ], { stdio: 'ignore' });
211
+ }
212
+ catch (error) {
213
+ // Failed to commit, continue to isomorphic-git implementation
214
+ }
215
+ }
171
216
  const commitHash = await (0, isomorphic_git_1.commit)({
172
217
  fs: fs_1.default,
173
218
  dir: projectDir,
174
219
  gitdir: bareRepoPath,
175
220
  author: { name: 'codebuff' },
176
- ref: 'refs/heads/master',
177
221
  message,
222
+ ref: '/refs/heads/master',
178
223
  });
179
- await (0, isomorphic_git_1.checkout)({
180
- fs: fs_1.default,
181
- dir: projectDir,
182
- gitdir: bareRepoPath,
183
- ref: commitHash,
184
- });
224
+ if (gitCommandIsAvailable()) {
225
+ try {
226
+ (0, child_process_1.execFileSync)('git', [
227
+ '--git-dir',
228
+ bareRepoPath,
229
+ '--work-tree',
230
+ projectDir,
231
+ 'checkout',
232
+ 'master',
233
+ ], { stdio: 'ignore' });
234
+ }
235
+ catch (error) { }
236
+ }
237
+ await (0, isomorphic_git_1.checkout)({ fs: fs_1.default, dir: projectDir, gitdir: bareRepoPath, ref: 'master' });
185
238
  return commitHash;
186
239
  }
187
240
  /**
188
- * Resets the index and working directory to the specified commit.
189
- * (git reset --hard)
190
- * TODO redo this jsdoc
191
- * @param dir - The working tree directory path.
192
- * @param gitdir - The git directory path (typically the .git folder).
193
- * @param commit - The commit hash to reset to.
241
+ * Creates a new commit with the current state of all tracked files.
242
+ * Stages all changes and creates a commit with the specified message.
243
+ * @param projectDir - The working tree directory path
244
+ * @param bareRepoPath - The bare git repository path
245
+ * @param message - The commit message
246
+ * @param relativeFilepaths - Array of file paths relative to projectDir to commit
247
+ * @returns Promise resolving to the new commit's hash
248
+ */
249
+ async function storeFileState({ projectDir, bareRepoPath, message, relativeFilepaths: relativeFilepaths, }) {
250
+ await gitAddAll({
251
+ projectDir,
252
+ bareRepoPath,
253
+ relativeFilepaths,
254
+ });
255
+ return await gitCommit({ projectDir, bareRepoPath, message });
256
+ }
257
+ /**
258
+ * Restores the working directory and index to match the specified commit.
259
+ * Equivalent to `git reset --hard`
260
+ * First attempts to use native git commands, falling back to isomorphic-git if unavailable.
261
+ * @param projectDir - The working tree directory path
262
+ * @param bareRepoPath - The bare git repository path
263
+ * @param commit - The commit hash to restore to
264
+ * @param relativeFilepaths - Array of file paths relative to projectDir to restore
194
265
  */
195
266
  async function restoreFileState({ projectDir, bareRepoPath, commit, relativeFilepaths, }) {
196
267
  let resetDone = false;
@@ -205,30 +276,28 @@ async function restoreFileState({ projectDir, bareRepoPath, commit, relativeFile
205
276
  '--hard',
206
277
  commit,
207
278
  ]);
208
- resetDone = true;
279
+ return;
209
280
  }
210
281
  catch (error) {
211
282
  // Failed to use git, continue to isomorphic-git implementation
212
283
  }
213
284
  }
214
- if (!resetDone) {
215
- // Update the working directory to reflect the specified commit
216
- await (0, isomorphic_git_1.checkout)({
217
- fs: fs_1.default,
218
- dir: projectDir,
219
- gitdir: bareRepoPath,
220
- ref: commit,
221
- filepaths: relativeFilepaths,
222
- force: true,
223
- });
224
- // Reset the index to match the specified commit
225
- await Promise.all(relativeFilepaths.map((filepath) => (0, isomorphic_git_1.resetIndex)({
226
- fs: fs_1.default,
227
- dir: projectDir,
228
- gitdir: bareRepoPath,
229
- filepath,
230
- ref: commit,
231
- })));
232
- }
285
+ // Update the working directory to reflect the specified commit
286
+ await (0, isomorphic_git_1.checkout)({
287
+ fs: fs_1.default,
288
+ dir: projectDir,
289
+ gitdir: bareRepoPath,
290
+ ref: commit,
291
+ filepaths: relativeFilepaths,
292
+ force: true,
293
+ });
294
+ // Reset the index to match the specified commit
295
+ await Promise.all(relativeFilepaths.map((filepath) => (0, isomorphic_git_1.resetIndex)({
296
+ fs: fs_1.default,
297
+ dir: projectDir,
298
+ gitdir: bareRepoPath,
299
+ filepath,
300
+ ref: commit,
301
+ })));
233
302
  }
234
303
  //# sourceMappingURL=file-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-manager.js","sourceRoot":"","sources":["../../src/checkpoints/file-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-manager.js","sourceRoot":"","sources":["../../src/checkpoints/file-manager.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -18,11 +18,15 @@ export declare class CLI {
18
18
  private initReadlineInterface;
19
19
  private completer;
20
20
  private setPrompt;
21
+ /**
22
+ * Prompts the user with a clean prompt state
23
+ */
24
+ private freshPrompt;
21
25
  printInitialPrompt(initialInput?: string): Promise<void>;
22
26
  printDiff(): Promise<void>;
23
27
  private handleLine;
24
28
  private handleUserInput;
25
- private beforeProcessCommand;
29
+ private saveCheckpoint;
26
30
  private processCommand;
27
31
  private forwardUserInput;
28
32
  private returnControlToUser;