centaurus-cli 2.9.5 → 2.9.7

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 (99) hide show
  1. package/dist/cli-adapter.d.ts +27 -2
  2. package/dist/cli-adapter.d.ts.map +1 -1
  3. package/dist/cli-adapter.js +410 -17
  4. package/dist/cli-adapter.js.map +1 -1
  5. package/dist/config/slash-commands.d.ts.map +1 -1
  6. package/dist/config/slash-commands.js +7 -0
  7. package/dist/config/slash-commands.js.map +1 -1
  8. package/dist/context/context-manager.d.ts +4 -0
  9. package/dist/context/context-manager.d.ts.map +1 -1
  10. package/dist/context/context-manager.js +6 -0
  11. package/dist/context/context-manager.js.map +1 -1
  12. package/dist/context/handlers/docker-handler.d.ts +5 -1
  13. package/dist/context/handlers/docker-handler.d.ts.map +1 -1
  14. package/dist/context/handlers/docker-handler.js +27 -10
  15. package/dist/context/handlers/docker-handler.js.map +1 -1
  16. package/dist/context/handlers/ssh-handler.d.ts +47 -1
  17. package/dist/context/handlers/ssh-handler.d.ts.map +1 -1
  18. package/dist/context/handlers/ssh-handler.js +546 -73
  19. package/dist/context/handlers/ssh-handler.js.map +1 -1
  20. package/dist/context/handlers/wsl-handler.d.ts +5 -1
  21. package/dist/context/handlers/wsl-handler.d.ts.map +1 -1
  22. package/dist/context/handlers/wsl-handler.js +24 -6
  23. package/dist/context/handlers/wsl-handler.js.map +1 -1
  24. package/dist/context/subshell-handler.d.ts +8 -2
  25. package/dist/context/subshell-handler.d.ts.map +1 -1
  26. package/dist/index.js +12 -0
  27. package/dist/index.js.map +1 -1
  28. package/dist/services/checkpoint-manager.d.ts +162 -0
  29. package/dist/services/checkpoint-manager.d.ts.map +1 -0
  30. package/dist/services/checkpoint-manager.js +926 -0
  31. package/dist/services/checkpoint-manager.js.map +1 -0
  32. package/dist/services/fast-context-agent.d.ts +12 -0
  33. package/dist/services/fast-context-agent.d.ts.map +1 -0
  34. package/dist/services/fast-context-agent.js +253 -0
  35. package/dist/services/fast-context-agent.js.map +1 -0
  36. package/dist/tools/background-command.d.ts.map +1 -1
  37. package/dist/tools/background-command.js +132 -24
  38. package/dist/tools/background-command.js.map +1 -1
  39. package/dist/tools/command.d.ts.map +1 -1
  40. package/dist/tools/command.js +14 -4
  41. package/dist/tools/command.js.map +1 -1
  42. package/dist/tools/create-image.d.ts.map +1 -1
  43. package/dist/tools/create-image.js +43 -18
  44. package/dist/tools/create-image.js.map +1 -1
  45. package/dist/tools/fast-context.d.ts +3 -0
  46. package/dist/tools/fast-context.d.ts.map +1 -0
  47. package/dist/tools/fast-context.js +72 -0
  48. package/dist/tools/fast-context.js.map +1 -0
  49. package/dist/tools/file-ops.d.ts.map +1 -1
  50. package/dist/tools/file-ops.js +12 -12
  51. package/dist/tools/file-ops.js.map +1 -1
  52. package/dist/tools/find-files.d.ts +2 -1
  53. package/dist/tools/find-files.d.ts.map +1 -1
  54. package/dist/tools/find-files.js +62 -2
  55. package/dist/tools/find-files.js.map +1 -1
  56. package/dist/tools/get-diff.d.ts +9 -45
  57. package/dist/tools/get-diff.d.ts.map +1 -1
  58. package/dist/tools/get-diff.js +288 -171
  59. package/dist/tools/get-diff.js.map +1 -1
  60. package/dist/tools/types.d.ts +4 -1
  61. package/dist/tools/types.d.ts.map +1 -1
  62. package/dist/types/index.d.ts +1 -0
  63. package/dist/types/index.d.ts.map +1 -1
  64. package/dist/ui/components/App.d.ts +8 -0
  65. package/dist/ui/components/App.d.ts.map +1 -1
  66. package/dist/ui/components/App.js +290 -85
  67. package/dist/ui/components/App.js.map +1 -1
  68. package/dist/ui/components/ConfirmPrompt.d.ts +2 -0
  69. package/dist/ui/components/ConfirmPrompt.d.ts.map +1 -1
  70. package/dist/ui/components/ConfirmPrompt.js +8 -3
  71. package/dist/ui/components/ConfirmPrompt.js.map +1 -1
  72. package/dist/ui/components/InputBox.d.ts +6 -0
  73. package/dist/ui/components/InputBox.d.ts.map +1 -1
  74. package/dist/ui/components/InputBox.js +130 -6
  75. package/dist/ui/components/InputBox.js.map +1 -1
  76. package/dist/ui/components/InteractiveShell.d.ts.map +1 -1
  77. package/dist/ui/components/InteractiveShell.js +50 -15
  78. package/dist/ui/components/InteractiveShell.js.map +1 -1
  79. package/dist/ui/components/MessageDisplay.d.ts.map +1 -1
  80. package/dist/ui/components/MessageDisplay.js +2 -2
  81. package/dist/ui/components/MessageDisplay.js.map +1 -1
  82. package/dist/ui/components/ToolExecutionMessage.d.ts.map +1 -1
  83. package/dist/ui/components/ToolExecutionMessage.js +213 -18
  84. package/dist/ui/components/ToolExecutionMessage.js.map +1 -1
  85. package/dist/utils/ansi-encoder.d.ts +5 -0
  86. package/dist/utils/ansi-encoder.d.ts.map +1 -1
  87. package/dist/utils/ansi-encoder.js +5 -5
  88. package/dist/utils/ansi-encoder.js.map +1 -1
  89. package/dist/utils/editor-utils.d.ts +5 -0
  90. package/dist/utils/editor-utils.d.ts.map +1 -1
  91. package/dist/utils/editor-utils.js +67 -0
  92. package/dist/utils/editor-utils.js.map +1 -1
  93. package/dist/utils/input-classifier.d.ts.map +1 -1
  94. package/dist/utils/input-classifier.js +2 -1
  95. package/dist/utils/input-classifier.js.map +1 -1
  96. package/dist/utils/terminal-output.d.ts.map +1 -1
  97. package/dist/utils/terminal-output.js +162 -103
  98. package/dist/utils/terminal-output.js.map +1 -1
  99. package/package.json +3 -1
@@ -230,7 +230,10 @@ Commands will be run with PAGER=cat. You may want to limit the length of output
230
230
  let output = '';
231
231
  let exitCode;
232
232
  // Start interactive process
233
- const interactiveProcess = shellUtils.executeCommandInteractive(command, Cwd || context.cwd, (data) => {
233
+ const interactiveProcess = shellUtils.executeCommandInteractive(command,
234
+ // Resolve Cwd against context.cwd if provided, otherwise use context.cwd
235
+ // This handles cases where Cwd is "." or relative path
236
+ Cwd ? path.resolve(context.cwd, Cwd) : context.cwd, (data) => {
234
237
  // Accumulate output
235
238
  output += data;
236
239
  // Stream to UI if callback is available
@@ -261,7 +264,11 @@ Commands will be run with PAGER=cat. You may want to limit the length of output
261
264
  }
262
265
  else if (currentContext.type === 'wsl') {
263
266
  // WSL execution with PTY for proper TTY handling (sudo, etc.)
264
- const remoteCwd = Cwd || context.cwd || currentContext.metadata.workingDirectory;
267
+ // Resolve Cwd against context known CWD (remote or local tracking)
268
+ // Note: complex relative paths in WSL might need more handling if they cross mounts,
269
+ // but usually Cwd is absolute or simple relative.
270
+ const baseCwd = context.cwd || currentContext.metadata.workingDirectory;
271
+ const remoteCwd = Cwd ? (path.isAbsolute(Cwd) ? Cwd : path.posix.join(baseCwd, Cwd)) : baseCwd;
265
272
  const distribution = currentContext.metadata?.distroName || 'Ubuntu';
266
273
  return new Promise((resolve, reject) => {
267
274
  let output = '';
@@ -308,7 +315,9 @@ Commands will be run with PAGER=cat. You may want to limit the length of output
308
315
  else if (currentContext.type === 'docker') {
309
316
  // Docker execution - check if nested inside SSH
310
317
  const parentContext = contextManager.getParentContext();
311
- const remoteCwd = Cwd || context.cwd || currentContext.metadata.workingDirectory;
318
+ // Resolve Cwd
319
+ const baseCwd = context.cwd || currentContext.metadata.workingDirectory;
320
+ const remoteCwd = Cwd ? (path.isAbsolute(Cwd) ? Cwd : path.posix.join(baseCwd, Cwd)) : baseCwd;
312
321
  const containerId = currentContext.metadata?.containerId || '';
313
322
  // Calculate constrained terminal dimensions for proper escape sequence handling
314
323
  const constrainedCols = Math.max(40, (process.stdout.columns || 80) - 4);
@@ -402,7 +411,8 @@ Commands will be run with PAGER=cat. You may want to limit the length of output
402
411
  }
403
412
  else if (currentContext.type === 'ssh') {
404
413
  // SSH execution with PTY for proper TTY handling
405
- const remoteCwd = Cwd || context.cwd || currentContext.metadata.workingDirectory;
414
+ const baseCwd = context.cwd || currentContext.metadata.workingDirectory;
415
+ const remoteCwd = Cwd ? (path.isAbsolute(Cwd) ? Cwd : path.posix.join(baseCwd, Cwd)) : baseCwd;
406
416
  const sshClient = currentContext.handler?.client;
407
417
  if (!sshClient) {
408
418
  throw new Error('SSH client not available');
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/tools/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/tools/command.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-image.d.ts","sourceRoot":"","sources":["../../src/tools/create-image.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAwB,MAAM,YAAY,CAAC;AAgFxD,eAAO,MAAM,eAAe,EAAE,IAsI7B,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"create-image.d.ts","sourceRoot":"","sources":["../../src/tools/create-image.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAwB,MAAM,YAAY,CAAC;AAgFxD,eAAO,MAAM,eAAe,EAAE,IAiK7B,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -135,14 +135,28 @@ Requires authentication to use.`,
135
135
  if (!output_path || typeof output_path !== 'string') {
136
136
  throw new Error('output_path is required and must be a string');
137
137
  }
138
- // Resolve the path (handle relative paths)
139
- const resolvedPath = path.isAbsolute(output_path)
140
- ? output_path
141
- : path.resolve(context.cwd, output_path);
142
- // Check if directory exists
143
- const directory = path.dirname(resolvedPath);
144
- if (!fs.existsSync(directory)) {
145
- throw new Error(`Directory does not exist: ${directory}. Please create the directory first.`);
138
+ // Check for active context
139
+ const contextManager = context.contextManager;
140
+ const currentContext = contextManager?.getCurrentContext();
141
+ const isRemote = currentContext && currentContext.type !== 'local';
142
+ let finalPath = output_path;
143
+ // Path validation and resolution
144
+ if (!isRemote) {
145
+ // Local execution: Resolve path against local CWD
146
+ const resolvedPath = path.isAbsolute(output_path)
147
+ ? output_path
148
+ : path.resolve(context.cwd, output_path);
149
+ // Check if directory exists
150
+ const directory = path.dirname(resolvedPath);
151
+ if (!fs.existsSync(directory)) {
152
+ throw new Error(`Directory does not exist: ${directory}. Please create the directory first.`);
153
+ }
154
+ finalPath = resolvedPath;
155
+ }
156
+ else {
157
+ // Remote execution: Validate directory existence via handler if possible?
158
+ // For now, we'll assume the path is valid relative to remote CWD or absolute
159
+ // The handler's writeFile will handle resolution relative to its tracked CWD
146
160
  }
147
161
  // Validate aspect ratio
148
162
  const validAspectRatios = ['1:1', '16:9', '9:16', '4:3', '3:4'];
@@ -154,26 +168,37 @@ Requires authentication to use.`,
154
168
  // Generate the image via backend
155
169
  const result = await generateImageViaBackend(image_prompt, selectedAspectRatio);
156
170
  // Ensure the file has the correct extension based on MIME type
157
- let finalPath = resolvedPath;
158
171
  const expectedExt = getExtensionFromMimeType(result.mimeType);
159
- const currentExt = path.extname(resolvedPath).toLowerCase();
172
+ const currentExt = path.extname(finalPath).toLowerCase();
160
173
  if (!currentExt) {
161
174
  // No extension provided, add one
162
- finalPath = resolvedPath + expectedExt;
175
+ finalPath = finalPath + expectedExt;
163
176
  }
164
177
  else if (currentExt !== expectedExt && currentExt !== '.png' && currentExt !== '.jpg' && currentExt !== '.jpeg') {
165
178
  // Unusual extension, warn but proceed
166
- // The file will be saved with the user-specified name
167
179
  }
168
- // Decode base64 and write to file
180
+ // Decode base64
169
181
  const imageBuffer = Buffer.from(result.imageData, 'base64');
170
- fs.writeFileSync(finalPath, imageBuffer);
171
- // Get file stats
172
- const stats = fs.statSync(finalPath);
173
- const fileSizeKB = Math.round(stats.size / 1024);
182
+ let savedPath = finalPath;
183
+ let fileSizeKB = 0;
184
+ if (isRemote && currentContext.handler) {
185
+ // Remote Write: Use the handler
186
+ // Handler's writeFile resolves relative paths against its tracked CWD
187
+ await currentContext.handler.writeFile(finalPath, imageBuffer);
188
+ fileSizeKB = Math.round(imageBuffer.length / 1024);
189
+ // For display, hint that it's remote
190
+ savedPath = `${finalPath} (on ${currentContext.type})`;
191
+ }
192
+ else {
193
+ // Local Write: Use fs
194
+ fs.writeFileSync(finalPath, imageBuffer);
195
+ const stats = fs.statSync(finalPath);
196
+ fileSizeKB = Math.round(stats.size / 1024);
197
+ savedPath = finalPath;
198
+ }
174
199
  return `Image generated successfully!
175
200
 
176
- **File:** ${finalPath}
201
+ **File:** ${savedPath}
177
202
  **Size:** ${fileSizeKB} KB
178
203
  **Format:** ${result.mimeType}
179
204
  **Aspect Ratio:** ${selectedAspectRatio}
@@ -1 +1 @@
1
- {"version":3,"file":"create-image.js","sourceRoot":"","sources":["../../src/tools/create-image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-image.js","sourceRoot":"","sources":["../../src/tools/create-image.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Tool } from './types.js';
2
+ export declare const fastContextTool: Tool;
3
+ //# sourceMappingURL=fast-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fast-context.d.ts","sourceRoot":"","sources":["../../src/tools/fast-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAwB,MAAM,YAAY,CAAC;AAKxD,eAAO,MAAM,eAAe,EAAE,IAwE7B,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { FastContextAgent } from '../services/fast-context-agent.js';
2
+ import { ToolRegistry } from './registry.js';
3
+ import * as path from 'path';
4
+ export const fastContextTool = {
5
+ schema: {
6
+ name: 'fast_context_search',
7
+ description: `Rapidly retrieve code context using an intelligent multi-turn agent.
8
+
9
+ USE THIS TOOL WHEN:
10
+ - You need to understand how a feature is implemented across multiple files.
11
+ - You are exploring a new codebase and need a high-level overview of a component.
12
+ - Standard grep/find_files is too manual or you are unsure of exact terms.
13
+ - You want to "find where X is handled" and get a summarized answer with file pointers.
14
+
15
+ HOW IT WORKS:
16
+ - It uses a specialized AI agent (FastContextAgent) to perform up to 8 turns of search.
17
+ - It executes parallel grep/find/read operations.
18
+ - It returns a synthesized markdown summary with relevant snippets and file paths.
19
+
20
+ LIMITATIONS:
21
+ - Read-only. It cannot modify files.
22
+ - Optimized for speed (5s target), so it may miss deep/complex chains if not found quickly.`,
23
+ parameters: {
24
+ type: 'object',
25
+ properties: {
26
+ query: {
27
+ type: 'string',
28
+ description: 'The search query. Be specific about what you are looking for (e.g., "how is authentication handled in the backend?", "find the implementation of the grep tool").',
29
+ },
30
+ path: {
31
+ type: 'string',
32
+ description: 'Optional. The target directory to search within. Defaults to current working directory.',
33
+ },
34
+ reason_text: {
35
+ type: 'string',
36
+ description: 'REQUIRED: Explanation of why you are using this tool.'
37
+ }
38
+ },
39
+ required: ['query', 'reason_text'],
40
+ },
41
+ },
42
+ async execute(args, context) {
43
+ const { query, path: searchPath } = args;
44
+ const cwd = searchPath ? (path.isAbsolute(searchPath) ? searchPath : path.resolve(context.cwd, searchPath)) : context.cwd;
45
+ // We need a ToolRegistry instance.
46
+ // In a real dependency injection system, we'd inject it.
47
+ // Here, we can instantiate a new one, but it won't have tools registered unless we register them.
48
+ // However, FastContextAgent needs a registry to *execute* tools.
49
+ // If we create a new registry, it starts empty.
50
+ // Solution: We need access to the MAIN registry or re-register tools.
51
+ // Re-registering basic tools (grep, find, view, list) is safe and cheap.
52
+ const registry = new ToolRegistry();
53
+ // We lazily import standard tools to avoid circular dependencies if possible,
54
+ // or just import them here.
55
+ const { grepSearchTool } = await import('./grep-search.js');
56
+ const { findFilesTool } = await import('./find-files.js');
57
+ const { viewFileTool, listDirTool } = await import('./file-ops.js');
58
+ registry.register(grepSearchTool);
59
+ registry.register(findFilesTool);
60
+ registry.register(viewFileTool);
61
+ registry.register(listDirTool);
62
+ const agent = new FastContextAgent(registry);
63
+ try {
64
+ const result = await agent.search(query, cwd, context);
65
+ return result;
66
+ }
67
+ catch (error) {
68
+ return `Fast Context Search Failed: ${error.message}`;
69
+ }
70
+ },
71
+ };
72
+ //# sourceMappingURL=fast-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fast-context.js","sourceRoot":"","sources":["../../src/tools/fast-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,CAAC,MAAM,eAAe,GAAS;IACjC,MAAM,EAAE;QACJ,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE;;;;;;;;;;;;;;;gGAe2E;QACxF,UAAU,EAAE;YACR,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACR,KAAK,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mKAAmK;iBACnL;gBACD,IAAI,EAAE;oBACF,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,yFAAyF;iBACzG;gBACD,WAAW,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uDAAuD;iBACvE;aACJ;YACD,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;SACrC;KACJ;IACD,KAAK,CAAC,OAAO,CAAC,IAAyB,EAAE,OAA6B;QAClE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QACzC,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QAE1H,mCAAmC;QACnC,yDAAyD;QACzD,kGAAkG;QAClG,iEAAiE;QACjE,gDAAgD;QAChD,sEAAsE;QACtE,yEAAyE;QAEzE,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QAEpC,+EAA+E;QAC/E,4BAA4B;QAC5B,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC5D,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC1D,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;QAEpE,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAClC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACjC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAChC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE/B,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YACvD,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,OAAO,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC;QAC1D,CAAC;IACL,CAAC;CACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-ops.d.ts","sourceRoot":"","sources":["../../src/tools/file-ops.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAOlC,eAAO,MAAM,YAAY,EAAE,IA+F1B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,IAgJ7B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,IA4J1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,IAoK/B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,IAoHzB,CAAC"}
1
+ {"version":3,"file":"file-ops.d.ts","sourceRoot":"","sources":["../../src/tools/file-ops.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAOlC,eAAO,MAAM,YAAY,EAAE,IA+F1B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,IAgJ7B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,IA4J1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,IAqK/B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,IAoHzB,CAAC"}
@@ -150,11 +150,11 @@ IMPORTANT: You must generate the following arguments first, before any others: [
150
150
  }
151
151
  // Show preview of new content for overwrite
152
152
  const language = file_path.split('.').pop() || 'text';
153
- const result = await context.requireApproval(`File ${file_path} already exists. Overwrite it?`, true, {
153
+ const result = await context.requireApproval(`File ${fullPath} already exists. Overwrite it?`, true, {
154
154
  type: 'code',
155
155
  content,
156
156
  language
157
- }, 'write_to_file', { file_path, operation: 'overwrite' });
157
+ }, 'write_to_file', { file_path: fullPath, operation: 'overwrite' });
158
158
  if (typeof result === 'object' && 'feedback' in result) {
159
159
  // User provided feedback - throw special error with feedback
160
160
  throw new Error(`USER_FEEDBACK: ${result.feedback}`);
@@ -166,11 +166,11 @@ IMPORTANT: You must generate the following arguments first, before any others: [
166
166
  else {
167
167
  // Ask for approval to create new file with code preview
168
168
  const language = file_path.split('.').pop() || 'text';
169
- const result = await context.requireApproval(`Create new file ${file_path}?`, false, {
169
+ const result = await context.requireApproval(`Create new file ${fullPath}?`, false, {
170
170
  type: 'code',
171
171
  content: content,
172
172
  language
173
- }, 'write_to_file', { file_path, operation: 'create' });
173
+ }, 'write_to_file', { file_path: fullPath, operation: 'create' });
174
174
  if (typeof result === 'object' && 'feedback' in result) {
175
175
  // User provided feedback - throw special error with feedback
176
176
  throw new Error(`USER_FEEDBACK: ${result.feedback}`);
@@ -267,8 +267,9 @@ Copy this directly from a recent view_file output.`,
267
267
  }
268
268
  // Read the current content
269
269
  let oldContent;
270
+ // Compute the full path for local files
271
+ const fullPath = currentContext.type === 'local' ? path.resolve(context.cwd, file_path) : file_path;
270
272
  if (currentContext.type === 'local') {
271
- const fullPath = path.resolve(context.cwd, file_path);
272
273
  if (!fs.existsSync(fullPath)) {
273
274
  throw new Error(`File not found: ${file_path}\n\nAction: Verify the file path using 'list_directory'.`);
274
275
  }
@@ -298,17 +299,16 @@ Copy this directly from a recent view_file output.`,
298
299
  // Generate full diff with infinite context for "Full File" view
299
300
  const fullDiff = Diff.createTwoFilesPatch(file_path, file_path, oldContent, newContent, '', '', { context: Number.MAX_SAFE_INTEGER });
300
301
  // Ask for approval with diff preview
301
- const approved = await context.requireApproval(`Apply these changes to ${file_path}${currentContext.type !== 'local' ? ` in ${currentContext.type} environment` : ''}?`, false, {
302
+ const approved = await context.requireApproval(`Apply these changes to ${fullPath}${currentContext.type !== 'local' ? ` in ${currentContext.type} environment` : ''}?`, false, {
302
303
  type: 'diff',
303
304
  content: patch,
304
305
  fullDiff: fullDiff
305
- }, 'edit_file', { file_path });
306
+ }, 'edit_file', { file_path: fullPath });
306
307
  if (!approved) {
307
308
  throw new Error('Operation cancelled by user.');
308
309
  }
309
310
  // Apply the changes
310
311
  if (currentContext.type === 'local') {
311
- const fullPath = path.resolve(context.cwd, file_path);
312
312
  fs.writeFileSync(fullPath, newContent, 'utf-8');
313
313
  // Run syntax check on the edited file
314
314
  const syntaxResult = await checkSyntax(fullPath, newContent);
@@ -385,8 +385,9 @@ CRITICAL REQUIREMENTS:
385
385
  }
386
386
  // Read the current content
387
387
  let content;
388
+ // Compute the full path for local files
389
+ const fullPath = currentContext.type === 'local' ? path.resolve(context.cwd, file_path) : file_path;
388
390
  if (currentContext.type === 'local') {
389
- const fullPath = path.resolve(context.cwd, file_path);
390
391
  if (!fs.existsSync(fullPath)) {
391
392
  throw new Error(`File not found: ${file_path}`);
392
393
  }
@@ -431,17 +432,16 @@ CRITICAL REQUIREMENTS:
431
432
  const patch = Diff.createTwoFilesPatch(file_path, file_path, originalContent, content, '', '');
432
433
  const fullDiff = Diff.createTwoFilesPatch(file_path, file_path, originalContent, content, '', '', { context: Number.MAX_SAFE_INTEGER });
433
434
  // Ask for approval
434
- const approved = await context.requireApproval(`Apply ${edits.length} edits to ${file_path}?`, false, {
435
+ const approved = await context.requireApproval(`Apply ${edits.length} edits to ${fullPath}?`, false, {
435
436
  type: 'diff',
436
437
  content: patch,
437
438
  fullDiff: fullDiff
438
- }, 'multi_edit_file', { file_path, editCount: edits.length });
439
+ }, 'multi_edit_file', { file_path: fullPath, editCount: edits.length });
439
440
  if (!approved) {
440
441
  throw new Error('Operation cancelled by user.');
441
442
  }
442
443
  // Write changes
443
444
  if (currentContext.type === 'local') {
444
- const fullPath = path.resolve(context.cwd, file_path);
445
445
  fs.writeFileSync(fullPath, content, 'utf-8');
446
446
  const syntaxResult = await checkSyntax(fullPath, content);
447
447
  const syntaxFeedback = formatSyntaxCheckResult(syntaxResult);
@@ -1 +1 @@
1
- {"version":3,"file":"file-ops.js","sourceRoot":"","sources":["../../src/tools/file-ops.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-ops.js","sourceRoot":"","sources":["../../src/tools/file-ops.ts"],"names":[],"mappings":"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"}
@@ -39,7 +39,8 @@ export declare class FindFilesTool {
39
39
  /**
40
40
  * Execute the file search
41
41
  */
42
- execute(params: FindFilesParams, cwd: string): Promise<FindFilesResult>;
42
+ execute(params: FindFilesParams, cwd: string, contextManager?: any): Promise<FindFilesResult>;
43
+ private searchRemote;
43
44
  }
44
45
  /**
45
46
  * Find files tool for the tool registry
@@ -1 +1 @@
1
- {"version":3,"file":"find-files.d.ts","sourceRoot":"","sources":["../../src/tools/find-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAwB,MAAM,YAAY,CAAC;AAIxD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,aAAa,CAAC;CAC9C;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAM;IACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAYtC;IAEF;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBvB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;CAuG9E;AA0BD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,IAyD3B,CAAC"}
1
+ {"version":3,"file":"find-files.d.ts","sourceRoot":"","sources":["../../src/tools/find-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAwB,MAAM,YAAY,CAAC;AAIxD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,aAAa,CAAC;CAC9C;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAM;IACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAYtC;IAEF;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBvB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC;YA+GrF,YAAY;CA0D3B;AA0BD;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,IAyD3B,CAAC"}
@@ -83,12 +83,17 @@ export class FindFilesTool {
83
83
  /**
84
84
  * Execute the file search
85
85
  */
86
- async execute(params, cwd) {
86
+ async execute(params, cwd, contextManager) {
87
87
  // Validate pattern
88
88
  const validation = this.validatePattern(params.pattern);
89
89
  if (!validation.valid) {
90
90
  throw new Error(validation.error);
91
91
  }
92
+ const currentContext = contextManager?.getCurrentContext?.();
93
+ const isRemote = currentContext && currentContext.type !== 'local';
94
+ if (isRemote) {
95
+ return this.searchRemote(params, cwd, contextManager);
96
+ }
92
97
  const maxResults = params.maxResults ?? FindFilesTool.DEFAULT_MAX_RESULTS;
93
98
  const searchType = params.searchType ?? 'all';
94
99
  try {
@@ -178,6 +183,61 @@ export class FindFilesTool {
178
183
  throw new Error(`File search failed: ${error.message}`);
179
184
  }
180
185
  }
186
+ async searchRemote(params, cwd, contextManager) {
187
+ const maxResults = params.maxResults ?? FindFilesTool.DEFAULT_MAX_RESULTS;
188
+ const searchType = params.searchType ?? 'all';
189
+ // Check OS type of remote
190
+ const currentContext = contextManager.getCurrentContext();
191
+ const isWindows = currentContext.metadata?.os === 'windows';
192
+ let command;
193
+ let mainPattern = params.pattern.replace(/\*\*/g, '*'); // simplify glob for find
194
+ if (!mainPattern.includes('*')) {
195
+ mainPattern = `*${mainPattern}*`;
196
+ }
197
+ if (isWindows) {
198
+ // PowerShell Get-ChildItem
199
+ let typeFilter = '';
200
+ if (searchType === 'files')
201
+ typeFilter = '-File';
202
+ else if (searchType === 'directories')
203
+ typeFilter = '-Directory';
204
+ command = `Get-ChildItem -Path . -Recurse ${typeFilter} -Filter "${mainPattern}" -ErrorAction SilentlyContinue | Select-Object -First ${maxResults} | Select-Object -ExpandProperty FullName`;
205
+ }
206
+ else {
207
+ // Unix find
208
+ let typeFilter = '';
209
+ if (searchType === 'files')
210
+ typeFilter = '-type f';
211
+ else if (searchType === 'directories')
212
+ typeFilter = '-type d';
213
+ // Escape pattern
214
+ const escapedPattern = mainPattern.replace(/'/g, "'\\''");
215
+ // We'll search up to maxResults, ignore permission denied errors
216
+ command = `find . ${typeFilter} -name '${escapedPattern}' 2>/dev/null | head -n ${maxResults}`;
217
+ }
218
+ try {
219
+ const result = await contextManager.executeCommand(command, 30000, cwd);
220
+ const output = result.stdout;
221
+ const files = output.split('\n')
222
+ .map((line) => line.trim())
223
+ .filter((line) => line.length > 0)
224
+ .map((line) => this.normalizePath(line.startsWith('./') ? line.substring(2) : line));
225
+ return {
226
+ files,
227
+ totalFound: files.length,
228
+ truncated: files.length >= maxResults,
229
+ searchPattern: params.pattern
230
+ };
231
+ }
232
+ catch (error) {
233
+ return {
234
+ files: [],
235
+ totalFound: 0,
236
+ truncated: false,
237
+ searchPattern: params.pattern
238
+ };
239
+ }
240
+ }
181
241
  }
182
242
  /**
183
243
  * Format find files results for display
@@ -250,7 +310,7 @@ Use this BEFORE trying to read a file when you don't know its exact path.`,
250
310
  searchType: args.searchType,
251
311
  };
252
312
  try {
253
- const result = await tool.execute(params, context.cwd);
313
+ const result = await tool.execute(params, context.cwd, context.contextManager);
254
314
  return formatFindFilesResults(result);
255
315
  }
256
316
  catch (error) {