centaurus-cli 2.9.3 → 2.9.5
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.
- package/dist/cli-adapter.d.ts +74 -10
- package/dist/cli-adapter.d.ts.map +1 -1
- package/dist/cli-adapter.js +898 -244
- package/dist/cli-adapter.js.map +1 -1
- package/dist/commands/CommandParser.d.ts +1 -1
- package/dist/commands/CommandParser.d.ts.map +1 -1
- package/dist/commands/CommandParser.js +113 -0
- package/dist/commands/CommandParser.js.map +1 -1
- package/dist/config/slash-commands.d.ts +2 -0
- package/dist/config/slash-commands.d.ts.map +1 -1
- package/dist/config/slash-commands.js +28 -0
- package/dist/config/slash-commands.js.map +1 -1
- package/dist/context/context-manager.d.ts +7 -1
- package/dist/context/context-manager.d.ts.map +1 -1
- package/dist/context/context-manager.js +14 -1
- package/dist/context/context-manager.js.map +1 -1
- package/dist/context/handlers/docker-handler.d.ts +11 -0
- package/dist/context/handlers/docker-handler.d.ts.map +1 -1
- package/dist/context/handlers/docker-handler.js +159 -14
- package/dist/context/handlers/docker-handler.js.map +1 -1
- package/dist/context/handlers/ssh-handler.d.ts +20 -0
- package/dist/context/handlers/ssh-handler.d.ts.map +1 -1
- package/dist/context/handlers/ssh-handler.js +129 -1
- package/dist/context/handlers/ssh-handler.js.map +1 -1
- package/dist/context/subshell-handler.d.ts +15 -0
- package/dist/context/subshell-handler.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/services/ai-service-client.d.ts.map +1 -1
- package/dist/services/ai-service-client.js +33 -11
- package/dist/services/ai-service-client.js.map +1 -1
- package/dist/services/api-client.js +1 -1
- package/dist/services/api-client.js.map +1 -1
- package/dist/services/local-chat-storage.d.ts +3 -1
- package/dist/services/local-chat-storage.d.ts.map +1 -1
- package/dist/services/local-chat-storage.js +8 -3
- package/dist/services/local-chat-storage.js.map +1 -1
- package/dist/services/warpify-detector.d.ts +43 -0
- package/dist/services/warpify-detector.d.ts.map +1 -0
- package/dist/services/warpify-detector.js +203 -0
- package/dist/services/warpify-detector.js.map +1 -0
- package/dist/services/workflow-storage.d.ts +72 -0
- package/dist/services/workflow-storage.d.ts.map +1 -0
- package/dist/services/workflow-storage.js +239 -0
- package/dist/services/workflow-storage.js.map +1 -0
- package/dist/tools/command.d.ts.map +1 -1
- package/dist/tools/command.js +106 -38
- package/dist/tools/command.js.map +1 -1
- package/dist/tools/enter-remote-session.d.ts +13 -0
- package/dist/tools/enter-remote-session.d.ts.map +1 -0
- package/dist/tools/enter-remote-session.js +226 -0
- package/dist/tools/enter-remote-session.js.map +1 -0
- package/dist/tools/find-files.d.ts.map +1 -1
- package/dist/tools/find-files.js +9 -2
- package/dist/tools/find-files.js.map +1 -1
- package/dist/tools/grep-search.d.ts +104 -31
- package/dist/tools/grep-search.d.ts.map +1 -1
- package/dist/tools/grep-search.js +779 -431
- package/dist/tools/grep-search.js.map +1 -1
- package/dist/tools/workflow-tool.d.ts +11 -0
- package/dist/tools/workflow-tool.d.ts.map +1 -0
- package/dist/tools/workflow-tool.js +87 -0
- package/dist/tools/workflow-tool.js.map +1 -0
- package/dist/types/workflow.d.ts +110 -0
- package/dist/types/workflow.d.ts.map +1 -0
- package/dist/types/workflow.js +8 -0
- package/dist/types/workflow.js.map +1 -0
- package/dist/ui/components/App.d.ts +10 -1
- package/dist/ui/components/App.d.ts.map +1 -1
- package/dist/ui/components/App.js +135 -8
- package/dist/ui/components/App.js.map +1 -1
- package/dist/ui/components/Breadcrumbs.d.ts +4 -3
- package/dist/ui/components/Breadcrumbs.d.ts.map +1 -1
- package/dist/ui/components/Breadcrumbs.js +80 -54
- package/dist/ui/components/Breadcrumbs.js.map +1 -1
- package/dist/ui/components/ConnectionStatusMessage.js +2 -2
- package/dist/ui/components/ConnectionStatusMessage.js.map +1 -1
- package/dist/ui/components/InputBox.d.ts +1 -0
- package/dist/ui/components/InputBox.d.ts.map +1 -1
- package/dist/ui/components/InputBox.js +226 -19
- package/dist/ui/components/InputBox.js.map +1 -1
- package/dist/ui/components/InteractiveShell.d.ts +4 -0
- package/dist/ui/components/InteractiveShell.d.ts.map +1 -1
- package/dist/ui/components/InteractiveShell.js +52 -15
- package/dist/ui/components/InteractiveShell.js.map +1 -1
- package/dist/ui/components/KeyboardHelp.d.ts.map +1 -1
- package/dist/ui/components/KeyboardHelp.js +14 -6
- package/dist/ui/components/KeyboardHelp.js.map +1 -1
- package/dist/ui/components/ToolExecutionMessage.d.ts.map +1 -1
- package/dist/ui/components/ToolExecutionMessage.js +165 -27
- package/dist/ui/components/ToolExecutionMessage.js.map +1 -1
- package/dist/ui/components/WorkflowCreatorScreen.d.ts +25 -0
- package/dist/ui/components/WorkflowCreatorScreen.d.ts.map +1 -0
- package/dist/ui/components/WorkflowCreatorScreen.js +164 -0
- package/dist/ui/components/WorkflowCreatorScreen.js.map +1 -0
- package/dist/utils/ansi-encoder.d.ts.map +1 -1
- package/dist/utils/ansi-encoder.js +7 -0
- package/dist/utils/ansi-encoder.js.map +1 -1
- package/dist/utils/editor-utils.d.ts +9 -0
- package/dist/utils/editor-utils.d.ts.map +1 -1
- package/dist/utils/editor-utils.js +105 -0
- package/dist/utils/editor-utils.js.map +1 -1
- package/dist/utils/input-classifier.d.ts.map +1 -1
- package/dist/utils/input-classifier.js +2 -1
- package/dist/utils/input-classifier.js.map +1 -1
- package/dist/utils/terminal-output.d.ts +3 -1
- package/dist/utils/terminal-output.d.ts.map +1 -1
- package/dist/utils/terminal-output.js +138 -157
- package/dist/utils/terminal-output.js.map +1 -1
- package/package.json +1 -1
package/dist/tools/command.js
CHANGED
|
@@ -110,7 +110,10 @@ Commands will be run with PAGER=cat. You may want to limit the length of output
|
|
|
110
110
|
const contextManager = context.contextManager;
|
|
111
111
|
const currentContext = contextManager.getCurrentContext();
|
|
112
112
|
// Special handling for cd command - change the actual working directory
|
|
113
|
-
|
|
113
|
+
// Only intercept simple cd commands, not chained ones (cd path && cmd, cd path; cmd)
|
|
114
|
+
// Chained commands will be executed by the shell directly
|
|
115
|
+
const isChainedCommand = /&&|;/.test(command);
|
|
116
|
+
const cdMatch = !isChainedCommand && command.match(/^cd\s+(.+)$/);
|
|
114
117
|
if (cdMatch) {
|
|
115
118
|
if (currentContext.type === 'local') {
|
|
116
119
|
const targetDir = cdMatch[1].trim();
|
|
@@ -122,6 +125,13 @@ Commands will be run with PAGER=cat. You may want to limit the length of output
|
|
|
122
125
|
throw new Error(`Path is not a directory: ${targetDir}\n\nAction: Verify the path points to a directory, not a file.`);
|
|
123
126
|
}
|
|
124
127
|
contextManager.updateWorkingDirectory(newCwd);
|
|
128
|
+
// Update CLI adapter CWD and notify UI
|
|
129
|
+
if (context.cliAdapter) {
|
|
130
|
+
context.cliAdapter.cwd = newCwd;
|
|
131
|
+
if (context.cliAdapter.onCwdChange) {
|
|
132
|
+
context.cliAdapter.onCwdChange(newCwd);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
125
135
|
return `Changed directory to: ${newCwd}`;
|
|
126
136
|
}
|
|
127
137
|
else {
|
|
@@ -134,6 +144,13 @@ Commands will be run with PAGER=cat. You may want to limit the length of output
|
|
|
134
144
|
const newCwd = await currentContext.handler.getCurrentWorkingDirectory();
|
|
135
145
|
if (newCwd) {
|
|
136
146
|
contextManager.updateWorkingDirectory(newCwd);
|
|
147
|
+
// Update CLI adapter CWD and notify UI
|
|
148
|
+
if (context.cliAdapter) {
|
|
149
|
+
context.cliAdapter.cwd = newCwd;
|
|
150
|
+
if (context.cliAdapter.onCwdChange) {
|
|
151
|
+
context.cliAdapter.onCwdChange(newCwd);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
137
154
|
}
|
|
138
155
|
}
|
|
139
156
|
return `Changed directory to: ${contextManager.getCurrentContext().metadata.workingDirectory}`;
|
|
@@ -289,48 +306,99 @@ Commands will be run with PAGER=cat. You may want to limit the length of output
|
|
|
289
306
|
});
|
|
290
307
|
}
|
|
291
308
|
else if (currentContext.type === 'docker') {
|
|
292
|
-
// Docker execution
|
|
309
|
+
// Docker execution - check if nested inside SSH
|
|
310
|
+
const parentContext = contextManager.getParentContext();
|
|
293
311
|
const remoteCwd = Cwd || context.cwd || currentContext.metadata.workingDirectory;
|
|
294
312
|
const containerId = currentContext.metadata?.containerId || '';
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
const
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
313
|
+
// Calculate constrained terminal dimensions for proper escape sequence handling
|
|
314
|
+
const constrainedCols = Math.max(40, (process.stdout.columns || 80) - 4);
|
|
315
|
+
const constrainedRows = Math.min(process.stdout.rows || 24, 50);
|
|
316
|
+
if (parentContext && parentContext.type === 'ssh') {
|
|
317
|
+
// Nested Docker inside SSH: route docker exec command through SSH
|
|
318
|
+
const sshClient = parentContext.handler?.client;
|
|
319
|
+
if (!sshClient) {
|
|
320
|
+
throw new Error('SSH client not available for nested Docker session');
|
|
321
|
+
}
|
|
322
|
+
// Build docker exec command to run via SSH
|
|
323
|
+
// Escape the command properly for nested shell execution
|
|
324
|
+
const escapedCommand = command.replace(/"/g, '\\"');
|
|
325
|
+
const dockerCommand = `docker exec -w "${remoteCwd}" ${containerId} sh -c "${escapedCommand}"`;
|
|
326
|
+
return new Promise((resolve, reject) => {
|
|
327
|
+
let output = '';
|
|
328
|
+
const sshPty = runSSHCommand(sshClient, dockerCommand, parentContext.metadata.workingDirectory || '~', (data) => {
|
|
329
|
+
// Stream output to UI
|
|
330
|
+
output += data;
|
|
331
|
+
if (context.onStreamingOutput) {
|
|
332
|
+
context.onStreamingOutput(data, 'stdout');
|
|
333
|
+
}
|
|
334
|
+
}, (exitCode) => {
|
|
335
|
+
// Clear the interactive process
|
|
336
|
+
if (context.cliAdapter) {
|
|
337
|
+
context.cliAdapter.setCurrentInteractiveProcess(undefined);
|
|
338
|
+
}
|
|
339
|
+
if (exitCode !== 0) {
|
|
340
|
+
reject(new Error(`${output || `Command failed with exit code ${exitCode}`}\n\nPossible reasons:\n1. The command is invalid or not installed in the container.\n2. The arguments are incorrect.\n3. The Docker container may not be running.`));
|
|
341
|
+
}
|
|
342
|
+
else {
|
|
343
|
+
resolve(output || 'Command executed successfully');
|
|
344
|
+
}
|
|
345
|
+
}, constrainedCols, constrainedRows);
|
|
346
|
+
// Set up interactive process for stdin
|
|
308
347
|
if (context.cliAdapter) {
|
|
309
|
-
context.cliAdapter.setCurrentInteractiveProcess(
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
348
|
+
context.cliAdapter.setCurrentInteractiveProcess({
|
|
349
|
+
process: null,
|
|
350
|
+
write: (data) => sshPty.write(data),
|
|
351
|
+
kill: () => sshPty.kill(),
|
|
352
|
+
signal: (sig) => {
|
|
353
|
+
if (sig === 'SIGINT') {
|
|
354
|
+
sshPty.write('\x03'); // Ctrl+C
|
|
355
|
+
}
|
|
356
|
+
},
|
|
357
|
+
resize: (cols, rows) => sshPty.resize(cols, rows),
|
|
358
|
+
isPty: true
|
|
359
|
+
});
|
|
313
360
|
}
|
|
314
|
-
|
|
315
|
-
|
|
361
|
+
});
|
|
362
|
+
}
|
|
363
|
+
else {
|
|
364
|
+
// Local Docker: use standard runDockerCommand
|
|
365
|
+
return new Promise((resolve, reject) => {
|
|
366
|
+
let output = '';
|
|
367
|
+
const dockerPty = runDockerCommand(containerId, command, remoteCwd, (data) => {
|
|
368
|
+
// Stream output to UI
|
|
369
|
+
output += data;
|
|
370
|
+
if (context.onStreamingOutput) {
|
|
371
|
+
context.onStreamingOutput(data, 'stdout');
|
|
372
|
+
}
|
|
373
|
+
}, (exitCode) => {
|
|
374
|
+
// Clear the interactive process
|
|
375
|
+
if (context.cliAdapter) {
|
|
376
|
+
context.cliAdapter.setCurrentInteractiveProcess(undefined);
|
|
377
|
+
}
|
|
378
|
+
if (exitCode !== 0) {
|
|
379
|
+
reject(new Error(`${output || `Command failed with exit code ${exitCode}`}\n\nPossible reasons:\n1. The command is invalid or not installed.\n2. The arguments are incorrect.`));
|
|
380
|
+
}
|
|
381
|
+
else {
|
|
382
|
+
resolve(output || 'Command executed successfully');
|
|
383
|
+
}
|
|
384
|
+
}, constrainedCols, constrainedRows);
|
|
385
|
+
// Set up interactive process for stdin
|
|
386
|
+
if (context.cliAdapter) {
|
|
387
|
+
context.cliAdapter.setCurrentInteractiveProcess({
|
|
388
|
+
process: null,
|
|
389
|
+
write: (data) => dockerPty.write(data),
|
|
390
|
+
kill: () => dockerPty.kill(),
|
|
391
|
+
signal: (sig) => {
|
|
392
|
+
if (sig === 'SIGINT') {
|
|
393
|
+
dockerPty.write('\x03'); // Ctrl+C
|
|
394
|
+
}
|
|
395
|
+
},
|
|
396
|
+
resize: (cols, rows) => dockerPty.resize(cols, rows),
|
|
397
|
+
isPty: true
|
|
398
|
+
});
|
|
316
399
|
}
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
if (context.cliAdapter) {
|
|
320
|
-
context.cliAdapter.setCurrentInteractiveProcess({
|
|
321
|
-
process: null,
|
|
322
|
-
write: (data) => dockerPty.write(data),
|
|
323
|
-
kill: () => dockerPty.kill(),
|
|
324
|
-
signal: (sig) => {
|
|
325
|
-
if (sig === 'SIGINT') {
|
|
326
|
-
dockerPty.write('\x03'); // Ctrl+C
|
|
327
|
-
}
|
|
328
|
-
},
|
|
329
|
-
resize: (cols, rows) => dockerPty.resize(cols, rows),
|
|
330
|
-
isPty: true
|
|
331
|
-
});
|
|
332
|
-
}
|
|
333
|
-
});
|
|
400
|
+
});
|
|
401
|
+
}
|
|
334
402
|
}
|
|
335
403
|
else if (currentContext.type === 'ssh') {
|
|
336
404
|
// SSH execution with PTY for proper TTY handling
|
|
@@ -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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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enter Remote Session Tool
|
|
3
|
+
*
|
|
4
|
+
* Allows the AI agent to programmatically enter SSH, Docker, or WSL environments.
|
|
5
|
+
* When executed, the session context automatically switches ("auto-warpify")
|
|
6
|
+
* and subsequent commands run in the remote environment.
|
|
7
|
+
*
|
|
8
|
+
* Password prompts are handled by the existing password request callback,
|
|
9
|
+
* which prompts the user for input when needed.
|
|
10
|
+
*/
|
|
11
|
+
import { Tool } from './types.js';
|
|
12
|
+
export declare const enterRemoteSessionTool: Tool;
|
|
13
|
+
//# sourceMappingURL=enter-remote-session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enter-remote-session.d.ts","sourceRoot":"","sources":["../../src/tools/enter-remote-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AA2GlC,eAAO,MAAM,sBAAsB,EAAE,IAoIpC,CAAC"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enter Remote Session Tool
|
|
3
|
+
*
|
|
4
|
+
* Allows the AI agent to programmatically enter SSH, Docker, or WSL environments.
|
|
5
|
+
* When executed, the session context automatically switches ("auto-warpify")
|
|
6
|
+
* and subsequent commands run in the remote environment.
|
|
7
|
+
*
|
|
8
|
+
* Password prompts are handled by the existing password request callback,
|
|
9
|
+
* which prompts the user for input when needed.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Parse connection string from SSH command
|
|
13
|
+
* Examples:
|
|
14
|
+
* "ssh rohan@192.168.1.100" -> "rohan@192.168.1.100"
|
|
15
|
+
* "ssh -p 22 rohan@localhost" -> "rohan@localhost"
|
|
16
|
+
* "ssh -i ~/.ssh/id_rsa user@host" -> "user@host"
|
|
17
|
+
*/
|
|
18
|
+
function parseSSHConnectionString(command) {
|
|
19
|
+
// Match user@host pattern in the command
|
|
20
|
+
const match = command.match(/(\S+)@(\S+)/);
|
|
21
|
+
if (match) {
|
|
22
|
+
return match[0];
|
|
23
|
+
}
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Parse container name from Docker command
|
|
28
|
+
* Examples:
|
|
29
|
+
* "docker exec -it mycontainer bash" -> "mycontainer"
|
|
30
|
+
* "docker exec mycontainer sh" -> "mycontainer"
|
|
31
|
+
*/
|
|
32
|
+
function parseDockerContainer(command) {
|
|
33
|
+
// docker exec pattern: look for container name after flags
|
|
34
|
+
const execMatch = command.match(/docker\s+exec\s+(?:-\w+\s+)*(\S+)/i);
|
|
35
|
+
if (execMatch) {
|
|
36
|
+
return execMatch[1];
|
|
37
|
+
}
|
|
38
|
+
// docker run pattern
|
|
39
|
+
const runMatch = command.match(/docker\s+run\s+(?:-\w+(?:\s+\S+)?\s+)*(\S+)/i);
|
|
40
|
+
if (runMatch) {
|
|
41
|
+
return runMatch[1];
|
|
42
|
+
}
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Parse WSL distro name from command
|
|
47
|
+
* Examples:
|
|
48
|
+
* "wsl" -> "Ubuntu" (default)
|
|
49
|
+
* "wsl -d Ubuntu-22.04" -> "Ubuntu-22.04"
|
|
50
|
+
*/
|
|
51
|
+
function parseWSLDistro(command) {
|
|
52
|
+
const match = command.match(/wsl\s+(?:-d|--distribution)\s+(\S+)/i);
|
|
53
|
+
if (match) {
|
|
54
|
+
return match[1];
|
|
55
|
+
}
|
|
56
|
+
return 'Ubuntu'; // Default distro
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Validate that the command matches the expected session type
|
|
60
|
+
*/
|
|
61
|
+
function validateCommand(command, sessionType) {
|
|
62
|
+
const trimmedCommand = command.trim().toLowerCase();
|
|
63
|
+
switch (sessionType) {
|
|
64
|
+
case 'ssh':
|
|
65
|
+
if (!trimmedCommand.startsWith('ssh ') && trimmedCommand !== 'ssh') {
|
|
66
|
+
return { valid: false, error: 'SSH command must start with "ssh"' };
|
|
67
|
+
}
|
|
68
|
+
// Validate it has a target
|
|
69
|
+
if (!command.match(/\S+@\S+/) && !command.match(/ssh\s+\S+/)) {
|
|
70
|
+
return { valid: false, error: 'SSH command must specify a host (e.g., "ssh user@host")' };
|
|
71
|
+
}
|
|
72
|
+
break;
|
|
73
|
+
case 'docker':
|
|
74
|
+
if (!trimmedCommand.startsWith('docker ')) {
|
|
75
|
+
return { valid: false, error: 'Docker command must start with "docker"' };
|
|
76
|
+
}
|
|
77
|
+
if (!trimmedCommand.includes('exec') && !trimmedCommand.includes('run')) {
|
|
78
|
+
return { valid: false, error: 'Docker command must use "exec" or "run" (e.g., "docker exec -it container bash")' };
|
|
79
|
+
}
|
|
80
|
+
break;
|
|
81
|
+
case 'wsl':
|
|
82
|
+
if (!trimmedCommand.startsWith('wsl') && trimmedCommand !== 'bash') {
|
|
83
|
+
return { valid: false, error: 'WSL command must start with "wsl" or be "bash"' };
|
|
84
|
+
}
|
|
85
|
+
break;
|
|
86
|
+
}
|
|
87
|
+
return { valid: true };
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get connection string based on session type and command
|
|
91
|
+
*/
|
|
92
|
+
function getConnectionString(command, sessionType) {
|
|
93
|
+
switch (sessionType) {
|
|
94
|
+
case 'ssh':
|
|
95
|
+
return parseSSHConnectionString(command);
|
|
96
|
+
case 'docker':
|
|
97
|
+
return parseDockerContainer(command);
|
|
98
|
+
case 'wsl':
|
|
99
|
+
return parseWSLDistro(command);
|
|
100
|
+
default:
|
|
101
|
+
return undefined;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
export const enterRemoteSessionTool = {
|
|
105
|
+
schema: {
|
|
106
|
+
name: 'enter_remote_session',
|
|
107
|
+
description: `Manage remote environment sessions (SSH, Docker, or WSL).
|
|
108
|
+
|
|
109
|
+
ACTIONS:
|
|
110
|
+
- enter: Switch context to a remote session. All subsequent commands will run in the remote environment.
|
|
111
|
+
- exit: Exit the current remote session and return to the parent environment.
|
|
112
|
+
|
|
113
|
+
**Enter action**:
|
|
114
|
+
After the tool executes successfully:
|
|
115
|
+
- All subsequent commands will run in the remote environment
|
|
116
|
+
- The working directory will change to the remote system's directory
|
|
117
|
+
- File operations will target remote files
|
|
118
|
+
|
|
119
|
+
Examples:
|
|
120
|
+
- SSH: action="enter", session_type="ssh", command="ssh rohan@192.168.1.100"
|
|
121
|
+
- Docker: action="enter", session_type="docker", command="docker exec -it mycontainer bash"
|
|
122
|
+
- WSL: action="enter", session_type="wsl", command="wsl -d Ubuntu"
|
|
123
|
+
|
|
124
|
+
**Exit action**:
|
|
125
|
+
Exits the current remote session and returns to the parent environment (local or outer remote session).
|
|
126
|
+
- Example: action="exit"
|
|
127
|
+
|
|
128
|
+
IMPORTANT:
|
|
129
|
+
- You CANNOT run raw ssh/docker/wsl commands via execute_command. Use this tool instead.
|
|
130
|
+
- To exit a remote session, use action="exit" instead of running the "exit" command.
|
|
131
|
+
- Password prompts go to the user; the tool will wait for user input.`,
|
|
132
|
+
parameters: {
|
|
133
|
+
type: 'object',
|
|
134
|
+
properties: {
|
|
135
|
+
action: {
|
|
136
|
+
type: 'string',
|
|
137
|
+
enum: ['enter', 'exit'],
|
|
138
|
+
description: 'The action to perform: "enter" to connect to a remote session, "exit" to leave the current remote session.'
|
|
139
|
+
},
|
|
140
|
+
reason_text: {
|
|
141
|
+
type: 'string',
|
|
142
|
+
description: 'A short, user-facing explanation of why you are entering/exiting this remote session.'
|
|
143
|
+
},
|
|
144
|
+
session_type: {
|
|
145
|
+
type: 'string',
|
|
146
|
+
enum: ['ssh', 'docker', 'wsl'],
|
|
147
|
+
description: 'The type of remote session to enter. Required for "enter" action.'
|
|
148
|
+
},
|
|
149
|
+
command: {
|
|
150
|
+
type: 'string',
|
|
151
|
+
description: 'The full command to establish the connection. Required for "enter" action. For SSH: "ssh user@host". For Docker: "docker exec -it container bash". For WSL: "wsl".'
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
required: ['action', 'reason_text']
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
async execute(args, context) {
|
|
158
|
+
const { action, session_type, command } = args;
|
|
159
|
+
// Check if cliAdapter is available
|
|
160
|
+
if (!context.cliAdapter) {
|
|
161
|
+
return 'Error: CLI adapter not available. Cannot manage remote session.';
|
|
162
|
+
}
|
|
163
|
+
// Handle exit action
|
|
164
|
+
if (action === 'exit') {
|
|
165
|
+
// Check if exitRemoteSession method exists
|
|
166
|
+
if (typeof context.cliAdapter.exitRemoteSession !== 'function') {
|
|
167
|
+
return 'Error: exitRemoteSession method not available on CLI adapter.';
|
|
168
|
+
}
|
|
169
|
+
try {
|
|
170
|
+
const success = await context.cliAdapter.exitRemoteSession();
|
|
171
|
+
if (success) {
|
|
172
|
+
return 'Successfully exited remote session. Commands will now execute in the parent environment.';
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
return 'No remote session to exit. Already in local environment.';
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
catch (error) {
|
|
179
|
+
const errorMessage = error?.message || String(error);
|
|
180
|
+
return `Error exiting remote session: ${errorMessage}`;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
// Handle enter action (default behavior)
|
|
184
|
+
// Validate session type
|
|
185
|
+
const validTypes = ['ssh', 'docker', 'wsl'];
|
|
186
|
+
if (!validTypes.includes(session_type)) {
|
|
187
|
+
return `Error: Invalid session_type "${session_type}". Must be one of: ssh, docker, wsl`;
|
|
188
|
+
}
|
|
189
|
+
if (!command) {
|
|
190
|
+
return 'Error: command is required for the "enter" action.';
|
|
191
|
+
}
|
|
192
|
+
// Validate command matches session type
|
|
193
|
+
const validation = validateCommand(command, session_type);
|
|
194
|
+
if (!validation.valid) {
|
|
195
|
+
return `Error: ${validation.error}`;
|
|
196
|
+
}
|
|
197
|
+
// Check if warpifySession method exists
|
|
198
|
+
if (typeof context.cliAdapter.warpifySession !== 'function') {
|
|
199
|
+
return 'Error: warpifySession method not available on CLI adapter.';
|
|
200
|
+
}
|
|
201
|
+
// Get connection string for display purposes
|
|
202
|
+
const connectionString = getConnectionString(command, session_type);
|
|
203
|
+
try {
|
|
204
|
+
// Call warpifySession - this handles:
|
|
205
|
+
// 1. Password prompting via onPasswordRequest callback
|
|
206
|
+
// 2. Connection establishment via the appropriate handler
|
|
207
|
+
// 3. Context switching via contextManager
|
|
208
|
+
// 4. CWD updates
|
|
209
|
+
const success = await context.cliAdapter.warpifySession(command, session_type, connectionString);
|
|
210
|
+
if (success) {
|
|
211
|
+
const sessionDesc = connectionString
|
|
212
|
+
? `${session_type.toUpperCase()}: ${connectionString}`
|
|
213
|
+
: session_type.toUpperCase();
|
|
214
|
+
return `Successfully entered remote session: ${sessionDesc}. All subsequent commands will now execute in this remote environment.`;
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
return `Failed to enter remote session. Check the connection details and try again. The connection may have been rejected or timed out.`;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
catch (error) {
|
|
221
|
+
const errorMessage = error?.message || String(error);
|
|
222
|
+
return `Error entering remote session: ${errorMessage}`;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
};
|
|
226
|
+
//# sourceMappingURL=enter-remote-session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enter-remote-session.js","sourceRoot":"","sources":["../../src/tools/enter-remote-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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"}
|
package/dist/tools/find-files.js
CHANGED
|
@@ -115,8 +115,15 @@ export class FindFilesTool {
|
|
|
115
115
|
}
|
|
116
116
|
// Build patterns to search - handle multi-word patterns for fuzzy matching
|
|
117
117
|
const patterns = [];
|
|
118
|
-
//
|
|
119
|
-
|
|
118
|
+
// Auto-prefix with **/ if pattern is simple (no path separators) and not already recursive
|
|
119
|
+
// This allows finding "file.txt" anywhere in the project without typing "**/"
|
|
120
|
+
let mainPattern = params.pattern;
|
|
121
|
+
const normalizedPattern = mainPattern.replace(/\\/g, '/');
|
|
122
|
+
if (!normalizedPattern.includes('/') && !normalizedPattern.startsWith('**')) {
|
|
123
|
+
mainPattern = `**/${mainPattern}`;
|
|
124
|
+
}
|
|
125
|
+
// Always add the main pattern
|
|
126
|
+
patterns.push(mainPattern);
|
|
120
127
|
// If pattern contains spaces or is multi-word (without glob chars), also search individual terms
|
|
121
128
|
const cleanPattern = params.pattern.replace(/\*\*/g, '').replace(/\*/g, '').trim();
|
|
122
129
|
if (cleanPattern.includes(' ')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-files.js","sourceRoot":"","sources":["../../src/tools/find-files.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"find-files.js","sourceRoot":"","sources":["../../src/tools/find-files.ts"],"names":[],"mappings":"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"}
|