centaurus-cli 2.9.7 → 2.9.9

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 (66) hide show
  1. package/dist/cli-adapter.d.ts.map +1 -1
  2. package/dist/cli-adapter.js +28 -8
  3. package/dist/cli-adapter.js.map +1 -1
  4. package/dist/context/handlers/docker-handler.d.ts +4 -0
  5. package/dist/context/handlers/docker-handler.d.ts.map +1 -1
  6. package/dist/context/handlers/docker-handler.js +6 -0
  7. package/dist/context/handlers/docker-handler.js.map +1 -1
  8. package/dist/context/handlers/wsl-handler.d.ts +4 -0
  9. package/dist/context/handlers/wsl-handler.d.ts.map +1 -1
  10. package/dist/context/handlers/wsl-handler.js +6 -0
  11. package/dist/context/handlers/wsl-handler.js.map +1 -1
  12. package/dist/services/checkpoint-manager.d.ts +5 -0
  13. package/dist/services/checkpoint-manager.d.ts.map +1 -1
  14. package/dist/services/checkpoint-manager.js +109 -0
  15. package/dist/services/checkpoint-manager.js.map +1 -1
  16. package/dist/services/clipboard-service.d.ts +9 -14
  17. package/dist/services/clipboard-service.d.ts.map +1 -1
  18. package/dist/services/clipboard-service.js +83 -83
  19. package/dist/services/clipboard-service.js.map +1 -1
  20. package/dist/services/sub-agent-manager.d.ts +1 -0
  21. package/dist/services/sub-agent-manager.d.ts.map +1 -1
  22. package/dist/services/sub-agent-manager.js +28 -4
  23. package/dist/services/sub-agent-manager.js.map +1 -1
  24. package/dist/tools/get-diff.js +123 -4
  25. package/dist/tools/get-diff.js.map +1 -1
  26. package/dist/tools/read-binary-file.js +6 -6
  27. package/dist/tools/read-binary-file.js.map +1 -1
  28. package/dist/tools/sub-agent.d.ts.map +1 -1
  29. package/dist/tools/sub-agent.js +3 -0
  30. package/dist/tools/sub-agent.js.map +1 -1
  31. package/dist/ui/components/App.d.ts.map +1 -1
  32. package/dist/ui/components/App.js +54 -51
  33. package/dist/ui/components/App.js.map +1 -1
  34. package/dist/ui/components/ClipboardFileAutocomplete.d.ts +10 -0
  35. package/dist/ui/components/ClipboardFileAutocomplete.d.ts.map +1 -0
  36. package/dist/ui/components/{ClipboardImageAutocomplete.js → ClipboardFileAutocomplete.js} +14 -12
  37. package/dist/ui/components/ClipboardFileAutocomplete.js.map +1 -0
  38. package/dist/ui/components/DetailedPlanReviewScreen.js +1 -1
  39. package/dist/ui/components/DetailedPlanReviewScreen.js.map +1 -1
  40. package/dist/ui/components/InputBox.d.ts +2 -2
  41. package/dist/ui/components/InputBox.d.ts.map +1 -1
  42. package/dist/ui/components/InputBox.js +41 -21
  43. package/dist/ui/components/InputBox.js.map +1 -1
  44. package/dist/ui/components/KeyboardHelp.d.ts.map +1 -1
  45. package/dist/ui/components/KeyboardHelp.js +2 -0
  46. package/dist/ui/components/KeyboardHelp.js.map +1 -1
  47. package/dist/ui/components/MessageDisplay.d.ts +4 -4
  48. package/dist/ui/components/MessageDisplay.d.ts.map +1 -1
  49. package/dist/ui/components/MessageDisplay.js +33 -31
  50. package/dist/ui/components/MessageDisplay.js.map +1 -1
  51. package/dist/ui/components/PlanAcceptedMessage.js +2 -2
  52. package/dist/ui/components/PlanAcceptedMessage.js.map +1 -1
  53. package/dist/ui/components/TaskCompletedMessage.js +2 -2
  54. package/dist/ui/components/TaskCompletedMessage.js.map +1 -1
  55. package/dist/ui/components/ToolExecutionMessage.js +6 -6
  56. package/dist/ui/components/ToolExecutionMessage.js.map +1 -1
  57. package/dist/ui/components/ToolResult.js +1 -1
  58. package/dist/ui/components/ToolResult.js.map +1 -1
  59. package/dist/utils/context-sanitizer.d.ts +50 -0
  60. package/dist/utils/context-sanitizer.d.ts.map +1 -0
  61. package/dist/utils/context-sanitizer.js +119 -0
  62. package/dist/utils/context-sanitizer.js.map +1 -0
  63. package/package.json +3 -1
  64. package/dist/ui/components/ClipboardImageAutocomplete.d.ts +0 -14
  65. package/dist/ui/components/ClipboardImageAutocomplete.d.ts.map +0 -1
  66. package/dist/ui/components/ClipboardImageAutocomplete.js.map +0 -1
@@ -5,7 +5,7 @@
5
5
  * Also supports detecting image files copied from file explorer using clipboard-files.
6
6
  * Supports Windows, macOS, and Linux.
7
7
  */
8
- export interface ClipboardImage {
8
+ export interface ClipboardFile {
9
9
  id: string;
10
10
  base64Data: string;
11
11
  mimeType: string;
@@ -14,27 +14,22 @@ export interface ClipboardImage {
14
14
  sizeBytes: number;
15
15
  }
16
16
  /**
17
- * Check if the clipboard contains an image (either raw image data or an image file)
17
+ * Check if the clipboard contains a file (either raw image data or copied files)
18
18
  */
19
- export declare function hasClipboardImage(): Promise<boolean>;
19
+ export declare function hasClipboardFile(): Promise<boolean>;
20
20
  /**
21
- * Get image from clipboard and save to temp file
22
- * Returns ClipboardImage with base64 data and temp file path
21
+ * Get files from clipboard and save to temp files
22
+ * Returns array of ClipboardFiles with base64 data and temp file paths
23
23
  *
24
24
  * Supports two modes:
25
25
  * 1. Raw image data in clipboard (screenshots, copied from image editors)
26
- * 2. Image files copied from file explorer
26
+ * 2. Files copied from file explorer (up to 5 limit)
27
27
  */
28
- export declare function getClipboardImage(): Promise<ClipboardImage | null>;
28
+ export declare function getClipboardFiles(): Promise<ClipboardFile[]>;
29
29
  /**
30
- * Get all clipboard images (currently just returns single image if present)
31
- * Future: Could support multiple images from clipboard history
30
+ * Clean up temp clipboard files
32
31
  */
33
- export declare function getClipboardImages(): Promise<ClipboardImage[]>;
34
- /**
35
- * Clean up temp clipboard images
36
- */
37
- export declare function cleanupClipboardImage(tempPath: string): void;
32
+ export declare function cleanupClipboardFile(tempPath: string): void;
38
33
  /**
39
34
  * Format file size for display
40
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"clipboard-service.d.ts","sourceRoot":"","sources":["../../src/services/clipboard-service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAsCH,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAoB1D;AAsBD;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CA0GxE;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAGpE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAS5D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIpD"}
1
+ {"version":3,"file":"clipboard-service.d.ts","sourceRoot":"","sources":["../../src/services/clipboard-service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA6BH,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAoBzD;AAiCD;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CA+GlE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAS3D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIpD"}
@@ -11,25 +11,17 @@ import * as fs from 'fs';
11
11
  import * as path from 'path';
12
12
  import * as os from 'os';
13
13
  import { logDebug, logError } from '../utils/logger.js';
14
- // Supported image file extensions
15
- const IMAGE_EXTENSIONS = ['.png', '.jpg', '.jpeg', '.gif', '.bmp', '.webp', '.ico', '.tiff', '.tif', '.svg'];
14
+ // We no longer restrict to just IMAGE_EXTENSIONS. Any file is supported.
15
+ // However, we still have a list to guess generic mime types if not obvious.
16
16
  /**
17
- * Check if a file path is an image file based on extension
17
+ * Get files from clipboard (copied from file explorer)
18
18
  */
19
- function isImageFile(filePath) {
20
- const ext = path.extname(filePath).toLowerCase();
21
- return IMAGE_EXTENSIONS.includes(ext);
22
- }
23
- /**
24
- * Get image files from clipboard (copied from file explorer)
25
- */
26
- function getClipboardImageFiles() {
19
+ function getClipboardFilesFromOS() {
27
20
  try {
28
21
  const files = clipboardFiles.readFiles();
29
22
  if (files && files.length > 0) {
30
- const imageFiles = files.filter(isImageFile);
31
- logDebug(`Clipboard contains ${files.length} file(s), ${imageFiles.length} are images: ${imageFiles.join(', ')}`);
32
- return imageFiles;
23
+ logDebug(`Clipboard contains ${files.length} file(s): ${files.join(', ')}`);
24
+ return files;
33
25
  }
34
26
  return [];
35
27
  }
@@ -39,25 +31,25 @@ function getClipboardImageFiles() {
39
31
  }
40
32
  }
41
33
  /**
42
- * Check if the clipboard contains an image (either raw image data or an image file)
34
+ * Check if the clipboard contains a file (either raw image data or copied files)
43
35
  */
44
- export async function hasClipboardImage() {
36
+ export async function hasClipboardFile() {
45
37
  try {
46
38
  // First check for raw image data (screenshots, etc.)
47
39
  if (clipboardHasImage()) {
48
40
  logDebug('Clipboard has raw image data');
49
41
  return true;
50
42
  }
51
- // Then check for copied image files
52
- const imageFiles = getClipboardImageFiles();
53
- if (imageFiles.length > 0) {
54
- logDebug(`Clipboard has ${imageFiles.length} image file(s)`);
43
+ // Then check for copied files
44
+ const files = getClipboardFilesFromOS();
45
+ if (files.length > 0) {
46
+ logDebug(`Clipboard has ${files.length} file(s)`);
55
47
  return true;
56
48
  }
57
49
  return false;
58
50
  }
59
51
  catch (error) {
60
- logError('Failed to check clipboard for image', error instanceof Error ? error : undefined);
52
+ logError('Failed to check clipboard for files', error instanceof Error ? error : undefined);
61
53
  return false;
62
54
  }
63
55
  }
@@ -77,20 +69,32 @@ function getMimeTypeFromExtension(filePath) {
77
69
  '.tiff': 'image/tiff',
78
70
  '.tif': 'image/tiff',
79
71
  '.svg': 'image/svg+xml',
72
+ '.pdf': 'application/pdf',
73
+ '.mp3': 'audio/mpeg',
74
+ '.wav': 'audio/wav',
75
+ '.flac': 'audio/flac',
76
+ '.mp4': 'video/mp4',
77
+ '.webm': 'video/webm',
78
+ '.mov': 'video/quicktime',
79
+ '.txt': 'text/plain',
80
+ '.md': 'text/markdown',
81
+ '.csv': 'text/csv',
82
+ '.json': 'application/json'
80
83
  };
81
- return mimeTypes[ext] || 'image/png';
84
+ return mimeTypes[ext] || 'application/octet-stream';
82
85
  }
83
86
  /**
84
- * Get image from clipboard and save to temp file
85
- * Returns ClipboardImage with base64 data and temp file path
87
+ * Get files from clipboard and save to temp files
88
+ * Returns array of ClipboardFiles with base64 data and temp file paths
86
89
  *
87
90
  * Supports two modes:
88
91
  * 1. Raw image data in clipboard (screenshots, copied from image editors)
89
- * 2. Image files copied from file explorer
92
+ * 2. Files copied from file explorer (up to 5 limit)
90
93
  */
91
- export async function getClipboardImage() {
94
+ export async function getClipboardFiles() {
92
95
  try {
93
- logDebug('Starting clipboard image check...');
96
+ logDebug('Starting clipboard file check...');
97
+ const clipboardFilesResult = [];
94
98
  // First, try to get raw image data (screenshots, etc.)
95
99
  let hasRawImage = false;
96
100
  try {
@@ -127,73 +131,69 @@ export async function getClipboardImage() {
127
131
  const imageBuffer = Buffer.from(base64Data, 'base64');
128
132
  fs.writeFileSync(tempPath, imageBuffer);
129
133
  logDebug(`Clipboard image saved to: ${tempPath}, size: ${imageBuffer.length} bytes`);
130
- return {
131
- id,
132
- base64Data,
133
- mimeType,
134
- tempPath,
135
- displayName,
136
- sizeBytes: imageBuffer.length,
137
- };
134
+ return [{
135
+ id,
136
+ base64Data,
137
+ mimeType,
138
+ tempPath,
139
+ displayName,
140
+ sizeBytes: imageBuffer.length,
141
+ }];
138
142
  }
139
143
  }
140
- // If no raw image data, try to get image files from clipboard
141
- const imageFiles = getClipboardImageFiles();
142
- if (imageFiles.length > 0) {
143
- const imagePath = imageFiles[0]; // Use the first image file
144
- logDebug(`Using image file from clipboard: ${imagePath}`);
145
- try {
146
- // Read the file
147
- const imageBuffer = fs.readFileSync(imagePath);
148
- const base64Data = imageBuffer.toString('base64');
149
- const mimeType = getMimeTypeFromExtension(imagePath);
150
- const originalName = path.basename(imagePath);
151
- // Generate unique ID and filename with original extension
152
- const ext = path.extname(imagePath).toLowerCase();
153
- const id = `clipboard_file_${Date.now()}_${Math.random().toString(36).substring(7)}`;
154
- const displayName = `clipboard_image_${Date.now()}${ext}`;
155
- // Create temp directory for clipboard images
156
- const tempDir = path.join(os.tmpdir(), 'centaurus-clipboard');
157
- if (!fs.existsSync(tempDir)) {
158
- fs.mkdirSync(tempDir, { recursive: true });
144
+ // If no raw image data, try to get files from clipboard
145
+ const systemFiles = getClipboardFilesFromOS();
146
+ if (systemFiles.length > 0) {
147
+ // Limit to 5 files maximum to prevent overloading
148
+ const filesToProcess = systemFiles.slice(0, 5);
149
+ logDebug(`Using ${filesToProcess.length} file(s) from clipboard (out of ${systemFiles.length} total)`);
150
+ for (const filePath of filesToProcess) {
151
+ try {
152
+ // Read the file
153
+ const fileBuffer = fs.readFileSync(filePath);
154
+ const base64Data = fileBuffer.toString('base64');
155
+ const mimeType = getMimeTypeFromExtension(filePath);
156
+ const originalName = path.basename(filePath);
157
+ // Generate unique ID and filename with original extension
158
+ const ext = path.extname(filePath).toLowerCase();
159
+ const id = `clipboard_file_${Date.now()}_${Math.random().toString(36).substring(7)}`;
160
+ const displayName = `clipboard_file_${Date.now()}_${originalName}`; // Prepend so it's unique but keep real name
161
+ // Create temp directory for clipboard files
162
+ const tempDir = path.join(os.tmpdir(), 'centaurus-clipboard');
163
+ if (!fs.existsSync(tempDir)) {
164
+ fs.mkdirSync(tempDir, { recursive: true });
165
+ }
166
+ // Copy to temp file (preserving original format)
167
+ const tempPath = path.join(tempDir, displayName);
168
+ fs.writeFileSync(tempPath, fileBuffer);
169
+ logDebug(`Clipboard file copied to: ${tempPath}, size: ${fileBuffer.length} bytes, original: ${originalName}`);
170
+ clipboardFilesResult.push({
171
+ id,
172
+ base64Data,
173
+ mimeType,
174
+ tempPath,
175
+ displayName,
176
+ sizeBytes: fileBuffer.length,
177
+ });
178
+ }
179
+ catch (fileError) {
180
+ logError(`Failed to read file from clipboard: ${filePath}`, fileError instanceof Error ? fileError : undefined);
159
181
  }
160
- // Copy to temp file (preserving original format)
161
- const tempPath = path.join(tempDir, displayName);
162
- fs.writeFileSync(tempPath, imageBuffer);
163
- logDebug(`Clipboard image file copied to: ${tempPath}, size: ${imageBuffer.length} bytes, original: ${originalName}`);
164
- return {
165
- id,
166
- base64Data,
167
- mimeType,
168
- tempPath,
169
- displayName,
170
- sizeBytes: imageBuffer.length,
171
- };
172
- }
173
- catch (fileError) {
174
- logError(`Failed to read image file from clipboard: ${imagePath}`, fileError instanceof Error ? fileError : undefined);
175
182
  }
183
+ return clipboardFilesResult;
176
184
  }
177
- logDebug('No image found in clipboard (neither raw data nor image files)');
178
- return null;
185
+ logDebug('No files found in clipboard (neither raw data nor files)');
186
+ return [];
179
187
  }
180
188
  catch (error) {
181
- logError('Failed to get clipboard image', error instanceof Error ? error : undefined);
182
- return null;
189
+ logError('Failed to get clipboard files', error instanceof Error ? error : undefined);
190
+ return [];
183
191
  }
184
192
  }
185
193
  /**
186
- * Get all clipboard images (currently just returns single image if present)
187
- * Future: Could support multiple images from clipboard history
188
- */
189
- export async function getClipboardImages() {
190
- const image = await getClipboardImage();
191
- return image ? [image] : [];
192
- }
193
- /**
194
- * Clean up temp clipboard images
194
+ * Clean up temp clipboard files
195
195
  */
196
- export function cleanupClipboardImage(tempPath) {
196
+ export function cleanupClipboardFile(tempPath) {
197
197
  try {
198
198
  if (fs.existsSync(tempPath)) {
199
199
  fs.unlinkSync(tempPath);
@@ -1 +1 @@
1
- {"version":3,"file":"clipboard-service.js","sourceRoot":"","sources":["../../src/services/clipboard-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clipboard-service.js","sourceRoot":"","sources":["../../src/services/clipboard-service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,IAAI,iBAAiB,EAAE,cAAc,IAAI,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAChH,OAAO,cAAc,MAAM,iBAAiB,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAExD,yEAAyE;AACzE,4EAA4E;AAE5E;;GAEG;AACH,SAAS,uBAAuB;IAC5B,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC;QACzC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,QAAQ,CAAC,sBAAsB,KAAK,CAAC,MAAM,aAAa,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC5E,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,QAAQ,CAAC,wCAAwC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3G,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAWD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB;IAClC,IAAI,CAAC;QACD,qDAAqD;QACrD,IAAI,iBAAiB,EAAE,EAAE,CAAC;YACtB,QAAQ,CAAC,8BAA8B,CAAC,CAAC;YACzC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,8BAA8B;QAC9B,MAAM,KAAK,GAAG,uBAAuB,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,QAAQ,CAAC,iBAAiB,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,QAAQ,CAAC,qCAAqC,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC5F,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAAC,QAAgB;IAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,MAAM,SAAS,GAA8B;QACzC,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,cAAc;QACtB,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,eAAe;QACvB,MAAM,EAAE,iBAAiB;QACzB,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,WAAW;QACnB,OAAO,EAAE,YAAY;QACrB,MAAM,EAAE,iBAAiB;QACzB,MAAM,EAAE,YAAY;QACpB,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,kBAAkB;KAC9B,CAAC;IACF,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,0BAA0B,CAAC;AACxD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACnC,IAAI,CAAC;QACD,QAAQ,CAAC,kCAAkC,CAAC,CAAC;QAC7C,MAAM,oBAAoB,GAAoB,EAAE,CAAC;QAEjD,uDAAuD;QACvD,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC;YACD,WAAW,GAAG,iBAAiB,EAAE,CAAC;YAClC,QAAQ,CAAC,iCAAiC,WAAW,EAAE,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,QAAQ,CAAC,oCAAoC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/F,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YACd,QAAQ,CAAC,4DAA4D,CAAC,CAAC;YAEvE,uCAAuC;YACvC,IAAI,UAAU,GAAkB,IAAI,CAAC;YACrC,IAAI,CAAC;gBACD,UAAU,GAAG,MAAM,uBAAuB,EAAE,CAAC;gBAC7C,QAAQ,CAAC,4BAA4B,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,QAAQ,CAAC,0CAA0C,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrG,CAAC;YAED,IAAI,UAAU,EAAE,CAAC;gBACb,2DAA2D;gBAC3D,MAAM,QAAQ,GAAG,WAAW,CAAC;gBAE7B,kCAAkC;gBAClC,MAAM,EAAE,GAAG,aAAa,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,MAAM,WAAW,GAAG,mBAAmB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;gBAExD,6CAA6C;gBAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC;gBAC9D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC/C,CAAC;gBAED,oBAAoB;gBACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBACjD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACtD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBAExC,QAAQ,CAAC,6BAA6B,QAAQ,WAAW,WAAW,CAAC,MAAM,QAAQ,CAAC,CAAC;gBAErF,OAAO,CAAC;wBACJ,EAAE;wBACF,UAAU;wBACV,QAAQ;wBACR,QAAQ;wBACR,WAAW;wBACX,SAAS,EAAE,WAAW,CAAC,MAAM;qBAChC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,wDAAwD;QACxD,MAAM,WAAW,GAAG,uBAAuB,EAAE,CAAC;QAC9C,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,kDAAkD;YAClD,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/C,QAAQ,CAAC,SAAS,cAAc,CAAC,MAAM,mCAAmC,WAAW,CAAC,MAAM,SAAS,CAAC,CAAC;YAEvG,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;gBACpC,IAAI,CAAC;oBACD,gBAAgB;oBAChB,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAC7C,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACjD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;oBACpD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAE7C,0DAA0D;oBAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;oBACjD,MAAM,EAAE,GAAG,kBAAkB,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;oBACrF,MAAM,WAAW,GAAG,kBAAkB,IAAI,CAAC,GAAG,EAAE,IAAI,YAAY,EAAE,CAAC,CAAC,4CAA4C;oBAEhH,4CAA4C;oBAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC;oBAC9D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC1B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC/C,CAAC;oBAED,iDAAiD;oBACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;oBACjD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBAEvC,QAAQ,CAAC,6BAA6B,QAAQ,WAAW,UAAU,CAAC,MAAM,qBAAqB,YAAY,EAAE,CAAC,CAAC;oBAE/G,oBAAoB,CAAC,IAAI,CAAC;wBACtB,EAAE;wBACF,UAAU;wBACV,QAAQ;wBACR,QAAQ;wBACR,WAAW;wBACX,SAAS,EAAE,UAAU,CAAC,MAAM;qBAC/B,CAAC,CAAC;gBACP,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACjB,QAAQ,CAAC,uCAAuC,QAAQ,EAAE,EAAE,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBACpH,CAAC;YACL,CAAC;YACD,OAAO,oBAAoB,CAAC;QAChC,CAAC;QAED,QAAQ,CAAC,0DAA0D,CAAC,CAAC;QACrE,OAAO,EAAE,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,QAAQ,CAAC,+BAA+B,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACtF,OAAO,EAAE,CAAC;IACd,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACjD,IAAI,CAAC;QACD,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxB,QAAQ,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,QAAQ,CAAC,uCAAuC,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAClG,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IACxC,IAAI,KAAK,GAAG,IAAI;QAAE,OAAO,GAAG,KAAK,IAAI,CAAC;IACtC,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI;QAAE,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAClE,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AACtD,CAAC"}
@@ -11,6 +11,7 @@ export interface SubAgentConfig {
11
11
  context: string;
12
12
  workingDirectory: string;
13
13
  complexity: number;
14
+ parentContextManager?: any;
14
15
  }
15
16
  export interface FileOperation {
16
17
  type: 'create' | 'edit' | 'delete';
@@ -1 +1 @@
1
- {"version":3,"file":"sub-agent-manager.d.ts","sourceRoot":"","sources":["../../src/services/sub-agent-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAmB,OAAO,IAAI,SAAS,EAAe,MAAM,wBAAwB,CAAC;AAE5F,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AASpD,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,YAAY,CAAC;AAE3F,MAAM,WAAW,QAAQ;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,CAAC;IAGf,mBAAmB,EAAE,SAAS,EAAE,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAGlB,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,WAAW,EAAE,aAAa,EAAE,CAAC;IAG7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,CAAC,EAAE,eAAe,CAAC;CACrC;AAsCD,cAAM,oBAAoB;IACtB,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,qBAAqB,CAAC,CAA0B;IACxD,OAAO,CAAC,qBAAqB,CAAC,CAAwB;IAEtD;;OAEG;IACH,UAAU,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAK5C;;OAEG;IACH,wBAAwB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAKjE;;OAEG;IACH,wBAAwB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAI/D;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAyE5G;;OAEG;YACW,eAAe;IAwM7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAIlD;;OAEG;IACH,eAAe,IAAI,QAAQ,EAAE;IAI7B;;OAEG;IACH,mBAAmB,IAAI,QAAQ,EAAE;IAIjC;;OAEG;IACH,2BAA2B,IAAI,QAAQ,EAAE;IAOzC;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAkBxE;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IA4FxC;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAOvC;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;IACH,OAAO,IAAI,IAAI;CASlB;AAGD,eAAO,MAAM,eAAe,sBAA6B,CAAC"}
1
+ {"version":3,"file":"sub-agent-manager.d.ts","sourceRoot":"","sources":["../../src/services/sub-agent-manager.ts"],"names":[],"mappings":"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"}
@@ -191,14 +191,38 @@ class SubAgentManagerClass {
191
191
  });
192
192
  const tools = this.toolRegistry.getSchemas();
193
193
  // Build execution context
194
- // Create a dedicated ContextManager for this sub-agent
195
- const contextManager = new ContextManager(config.workingDirectory, process.platform);
194
+ // Use parent's ContextManager if available (for remote sessions like SSH/Docker/WSL),
195
+ // otherwise create a new local one
196
+ const effectiveContextManager = config.parentContextManager || new ContextManager(config.workingDirectory, process.platform);
196
197
  const context = {
197
198
  cwd: config.workingDirectory,
198
- contextManager: contextManager,
199
+ contextManager: effectiveContextManager,
199
200
  requireApproval: async () => true, // Auto-approve for sub-agents (autonomous)
200
201
  onStreamingOutput: () => { }, // No streaming output for sub-agents (yet)
201
202
  };
203
+ // Detect environment from the effective context manager's current state
204
+ // This ensures the AI model knows the correct OS/shell when in a remote session
205
+ const currentCtx = effectiveContextManager.getCurrentContext();
206
+ const isRemote = currentCtx && currentCtx.type !== 'local';
207
+ let envOs;
208
+ let envShell;
209
+ let envHomeDir;
210
+ let envPlatform;
211
+ if (isRemote && currentCtx.metadata) {
212
+ // Use remote session's OS/shell info
213
+ const remoteOs = currentCtx.metadata.os;
214
+ envOs = remoteOs || 'linux'; // Most remote sessions are Linux
215
+ envPlatform = envOs === 'windows' ? 'win32' : 'linux';
216
+ envShell = currentCtx.metadata.shell || 'bash';
217
+ envHomeDir = currentCtx.metadata.homeDirectory || `/home/${currentCtx.metadata.username || 'user'}`;
218
+ }
219
+ else {
220
+ // Local environment
221
+ envOs = process.platform === 'win32' ? 'windows' : process.platform === 'darwin' ? 'macos' : 'linux';
222
+ envPlatform = process.platform;
223
+ envShell = process.env.SHELL || 'cmd.exe';
224
+ envHomeDir = process.env.USERPROFILE || process.env.HOME || '';
225
+ }
202
226
  // Agent loop
203
227
  while (subAgent.turnCount < MAX_TURNS_PER_SUBAGENT && subAgent.status === 'running') {
204
228
  subAgent.turnCount++;
@@ -213,7 +237,7 @@ class SubAgentManagerClass {
213
237
  let toolCalls = [];
214
238
  // Stream AI response
215
239
  try {
216
- for await (const chunk of aiServiceClient.streamChat(subAgent.model, subAgent.conversationHistory, tools, { cwd: config.workingDirectory, platform: process.platform, shell: process.env.SHELL || 'cmd.exe', os: 'windows', homeDir: process.env.USERPROFILE || '' }, undefined, undefined, subAgent.abortController?.signal)) {
240
+ for await (const chunk of aiServiceClient.streamChat(subAgent.model, subAgent.conversationHistory, tools, { cwd: config.workingDirectory, platform: envPlatform, shell: envShell, os: envOs, homeDir: envHomeDir }, undefined, undefined, subAgent.abortController?.signal)) {
217
241
  if (chunk.type === 'error') {
218
242
  throw new Error(chunk.message);
219
243
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sub-agent-manager.js","sourceRoot":"","sources":["../../src/services/sub-agent-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sub-agent-manager.js","sourceRoot":"","sources":["../../src/services/sub-agent-manager.ts"],"names":[],"mappings":"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"}
@@ -197,13 +197,15 @@ async function handleOverview(checkpointManager, targetCheckpointId, cwd, scope,
197
197
  }
198
198
  // Fallback
199
199
  if (isRemote) {
200
+ if (remoteHandler) {
201
+ return await gitDiffStatViaRemote(remoteHandler, cwd, scope);
202
+ }
200
203
  return JSON.stringify({
201
- result: 'No checkpoint data available for this remote session. Reconnect to the session where the checkpoint was created.',
204
+ result: 'No checkpoint data and no remote handler available. Reconnect to the session.',
202
205
  summary: 'No remote checkpoint'
203
206
  });
204
207
  }
205
208
  return await gitDiffStatFallback(cwd, scope);
206
- return await gitDiffStatFallback(cwd, scope);
207
209
  }
208
210
  /**
209
211
  * Handle the "file_diff" action
@@ -236,13 +238,15 @@ async function handleFileDiff(checkpointManager, targetCheckpointId, filePath, c
236
238
  }
237
239
  // Fallback
238
240
  if (isRemote) {
241
+ if (remoteHandler) {
242
+ return await gitDiffFileViaRemote(remoteHandler, cwd, filePath, scope);
243
+ }
239
244
  return JSON.stringify({
240
- result: `No checkpoint data available for remote diff of "${filePath}". Reconnect to the session where the checkpoint was created.`,
245
+ result: `No checkpoint data and no remote handler available for "${filePath}". Reconnect to the session.`,
241
246
  summary: `No remote checkpoint: ${filePath}`
242
247
  });
243
248
  }
244
249
  return await gitDiffFileFallback(cwd, filePath, scope);
245
- return await gitDiffFileFallback(cwd, filePath, scope);
246
250
  }
247
251
  /**
248
252
  * Fallback: git diff --stat
@@ -317,4 +321,119 @@ async function gitDiffFileFallback(cwd, filePath, scope) {
317
321
  throw new Error(`Failed to get git diff for "${filePath}": ${error.message}`);
318
322
  }
319
323
  }
324
+ /**
325
+ * Remote fallback: Run git diff --stat on the remote machine via handler
326
+ */
327
+ async function gitDiffStatViaRemote(handler, cwd, scope) {
328
+ const scopeNote = scope === 'session'
329
+ ? '(Session scope requested, using remote git status as fallback)'
330
+ : '(Request scope requested, using remote git status as fallback)';
331
+ try {
332
+ // Check if remote directory is a git repo
333
+ const gitCheck = await handler.executeCommand(`cd "${cwd}" && git rev-parse --git-dir 2>/dev/null`);
334
+ if (gitCheck.exitCode !== 0) {
335
+ return JSON.stringify({
336
+ result: 'No active checkpoint available and remote directory is not a git repository.',
337
+ summary: 'No git repo (remote)'
338
+ });
339
+ }
340
+ const result = await handler.executeCommand(`cd "${cwd}" && git diff --stat 2>/dev/null`);
341
+ const stdout = result.stdout?.trim() || '';
342
+ if (!stdout) {
343
+ // Also try git status for untracked/new files
344
+ const statusResult = await handler.executeCommand(`cd "${cwd}" && git status --porcelain 2>/dev/null`);
345
+ const statusOut = statusResult.stdout?.trim() || '';
346
+ if (!statusOut) {
347
+ return JSON.stringify({
348
+ result: 'No changes detected (git diff --stat empty on remote).',
349
+ summary: 'No git changes (remote)'
350
+ });
351
+ }
352
+ // Parse git status --porcelain output for a summary
353
+ const statusLines = statusOut.split('\n').filter((l) => l.trim().length > 0);
354
+ const newFiles = statusLines.filter((l) => l.startsWith('??') || l.startsWith('A '));
355
+ const modifiedFiles = statusLines.filter((l) => l.startsWith(' M') || l.startsWith('M '));
356
+ const deletedFiles = statusLines.filter((l) => l.startsWith(' D') || l.startsWith('D '));
357
+ let output = `## Remote Git Status ${scopeNote}\n\n`;
358
+ output += `**${statusLines.length} file(s) with changes** (${modifiedFiles.length} modified, ${newFiles.length} new, ${deletedFiles.length} deleted)\n\n`;
359
+ output += `\`\`\`\n${statusOut}\n\`\`\`\n\nNote: This is a git-based summary because checkpoints were unavailable.`;
360
+ return JSON.stringify({
361
+ result: output,
362
+ summary: `${statusLines.length} file(s) changed (remote git status)`
363
+ });
364
+ }
365
+ const lines = stdout.split('\n');
366
+ const lastLine = lines[lines.length - 1].trim();
367
+ return JSON.stringify({
368
+ result: `## Remote Git Diff Summary ${scopeNote}\n\n\`\`\`\n${stdout}\n\`\`\`\n\nNote: This is a git-based summary because checkpoints were unavailable.`,
369
+ summary: lastLine || 'Git changes detected (remote)'
370
+ });
371
+ }
372
+ catch (error) {
373
+ return JSON.stringify({
374
+ result: `Failed to get remote git diff: ${error.message}`,
375
+ summary: 'Remote git diff failed'
376
+ });
377
+ }
378
+ }
379
+ /**
380
+ * Remote fallback: Run git diff for a specific file on the remote machine via handler
381
+ */
382
+ async function gitDiffFileViaRemote(handler, cwd, filePath, scope) {
383
+ try {
384
+ // Check if remote directory is a git repo
385
+ const gitCheck = await handler.executeCommand(`cd "${cwd}" && git rev-parse --git-dir 2>/dev/null`);
386
+ if (gitCheck.exitCode !== 0) {
387
+ return JSON.stringify({
388
+ result: `No active checkpoint and remote directory is not a git repo. Cannot diff "${filePath}".`,
389
+ summary: 'No git repo (remote)'
390
+ });
391
+ }
392
+ const result = await handler.executeCommand(`cd "${cwd}" && git diff -- "${filePath}" 2>/dev/null`);
393
+ const stdout = result.stdout?.trim() || '';
394
+ if (!stdout) {
395
+ // Check if file is untracked (new)
396
+ const statusResult = await handler.executeCommand(`cd "${cwd}" && git status --porcelain -- "${filePath}" 2>/dev/null`);
397
+ const statusOut = statusResult.stdout?.trim() || '';
398
+ if (statusOut.startsWith('??')) {
399
+ // Untracked file — show the entire content as additions
400
+ try {
401
+ const content = await handler.readFile(cwd + '/' + filePath);
402
+ const lines = content.split('\n');
403
+ let diff = `--- /dev/null\n+++ b/${filePath}\n@@ -0,0 +1,${lines.length} @@\n`;
404
+ diff += lines.map((l) => `+${l}`).join('\n');
405
+ return JSON.stringify({
406
+ result: `## Remote Git Diff: ${filePath} (new file, ${scope})\n\n\`\`\`diff\n${diff}\n\`\`\``,
407
+ summary: `${filePath} (new: +${lines.length} lines)`
408
+ });
409
+ }
410
+ catch {
411
+ return JSON.stringify({
412
+ result: `File "${filePath}" is new (untracked) but could not be read.`,
413
+ summary: `${filePath} (new, unreadable)`
414
+ });
415
+ }
416
+ }
417
+ return JSON.stringify({
418
+ result: `No changes detected in "${filePath}" (via remote git diff).`,
419
+ summary: `No changes: ${filePath}`
420
+ });
421
+ }
422
+ // Calculate lines added/deleted
423
+ const lines = stdout.split('\n');
424
+ const added = lines.filter((l) => l.startsWith('+') && !l.startsWith('+++')).length;
425
+ const deleted = lines.filter((l) => l.startsWith('-') && !l.startsWith('---')).length;
426
+ const summary = `${filePath} (remote git: +${added}, -${deleted})`;
427
+ return JSON.stringify({
428
+ result: `## Remote Git Diff: ${filePath} (${scope})\n\n\`\`\`diff\n${stdout}\n\`\`\``,
429
+ summary: summary
430
+ });
431
+ }
432
+ catch (error) {
433
+ return JSON.stringify({
434
+ result: `Failed to get remote git diff for "${filePath}": ${error.message}`,
435
+ summary: `Remote git diff failed: ${filePath}`
436
+ });
437
+ }
438
+ }
320
439
  //# sourceMappingURL=get-diff.js.map