@wonderwhy-er/desktop-commander 0.2.5 → 0.2.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.
- package/dist/index-dxt.js +10 -47
- package/dist/server.js +6 -0
- package/dist/tools/filesystem.js +37 -4
- package/dist/utils/usageTracker.js +8 -5
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +2 -1
- package/dist/REPLSessionManager.d.ts +0 -109
- package/dist/REPLSessionManager.js +0 -364
- package/dist/REPLSessionManager.test.d.ts +0 -1
- package/dist/REPLSessionManager.test.js +0 -75
- package/dist/client/replClient.d.ts +0 -63
- package/dist/client/replClient.js +0 -217
- package/dist/client/sshClient.d.ts +0 -82
- package/dist/client/sshClient.js +0 -200
- package/dist/command-manager.js.map +0 -1
- package/dist/config-manager.js.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/custom-stdio.js.map +0 -1
- package/dist/error-handlers.js.map +0 -1
- package/dist/handlers/command-handlers.d.ts +0 -13
- package/dist/handlers/command-handlers.js +0 -43
- package/dist/handlers/edit-search-handlers.js.map +0 -1
- package/dist/handlers/filesystem-handlers.js.map +0 -1
- package/dist/handlers/fuzzy-search-log-handlers.d.ts +0 -13
- package/dist/handlers/fuzzy-search-log-handlers.js +0 -179
- package/dist/handlers/index.js.map +0 -1
- package/dist/handlers/process-handlers.js.map +0 -1
- package/dist/handlers/repl-handlers.d.ts +0 -21
- package/dist/handlers/repl-handlers.js +0 -37
- package/dist/handlers/replCommandHandler.d.ts +0 -125
- package/dist/handlers/replCommandHandler.js +0 -255
- package/dist/handlers/replCommandHandler.test.d.ts +0 -1
- package/dist/handlers/replCommandHandler.test.js +0 -103
- package/dist/handlers/terminal-handlers.js.map +0 -1
- package/dist/index-with-startup-detection.d.ts +0 -5
- package/dist/index-with-startup-detection.js +0 -180
- package/dist/index.js.map +0 -1
- package/dist/logging.d.ts +0 -2
- package/dist/logging.js +0 -28
- package/dist/polyform-license-src/edit/edit.d.ts +0 -15
- package/dist/polyform-license-src/edit/edit.js +0 -163
- package/dist/polyform-license-src/edit/fuzzySearch.d.ts +0 -30
- package/dist/polyform-license-src/edit/fuzzySearch.js +0 -121
- package/dist/polyform-license-src/edit/handlers.d.ts +0 -16
- package/dist/polyform-license-src/edit/handlers.js +0 -24
- package/dist/polyform-license-src/edit/index.d.ts +0 -12
- package/dist/polyform-license-src/edit/index.js +0 -13
- package/dist/polyform-license-src/edit/schemas.d.ts +0 -25
- package/dist/polyform-license-src/edit/schemas.js +0 -16
- package/dist/polyform-license-src/index.d.ts +0 -9
- package/dist/polyform-license-src/index.js +0 -10
- package/dist/repl-manager.d.ts +0 -73
- package/dist/repl-manager.js +0 -407
- package/dist/replIntegration.d.ts +0 -14
- package/dist/replIntegration.js +0 -27
- package/dist/sandbox/index.d.ts +0 -9
- package/dist/sandbox/index.js +0 -50
- package/dist/sandbox/mac-sandbox.d.ts +0 -19
- package/dist/sandbox/mac-sandbox.js +0 -174
- package/dist/server.js.map +0 -1
- package/dist/setup.log +0 -32
- package/dist/terminal-manager.js.map +0 -1
- package/dist/tools/client.d.ts +0 -10
- package/dist/tools/client.js +0 -13
- package/dist/tools/command-block.d.ts +0 -18
- package/dist/tools/command-block.js +0 -62
- package/dist/tools/config.js.map +0 -1
- package/dist/tools/debug-path.d.ts +0 -1
- package/dist/tools/debug-path.js +0 -44
- package/dist/tools/edit.js.map +0 -1
- package/dist/tools/enhanced-read-output.js +0 -69
- package/dist/tools/enhanced-send-input.js +0 -111
- package/dist/tools/environment.d.ts +0 -55
- package/dist/tools/environment.js +0 -65
- package/dist/tools/execute.d.ts +0 -10
- package/dist/tools/execute.js +0 -158
- package/dist/tools/execute.js.map +0 -1
- package/dist/tools/filesystem-fixed.d.ts +0 -22
- package/dist/tools/filesystem-fixed.js +0 -176
- package/dist/tools/filesystem.js.map +0 -1
- package/dist/tools/fuzzySearch.js.map +0 -1
- package/dist/tools/mime-types.js.map +0 -1
- package/dist/tools/pdf-reader.d.ts +0 -13
- package/dist/tools/pdf-reader.js +0 -214
- package/dist/tools/process.js.map +0 -1
- package/dist/tools/progress.d.ts +0 -20
- package/dist/tools/progress.js +0 -59
- package/dist/tools/repl.d.ts +0 -21
- package/dist/tools/repl.js +0 -217
- package/dist/tools/schemas.js.map +0 -1
- package/dist/tools/search.js.map +0 -1
- package/dist/tools/send-input.d.ts +0 -2
- package/dist/tools/send-input.js +0 -45
- package/dist/types.js.map +0 -1
- package/dist/utils/capture.js.map +0 -1
- package/dist/utils/early-logger.d.ts +0 -4
- package/dist/utils/early-logger.js +0 -35
- package/dist/utils/fuzzySearchLogger.js.map +0 -1
- package/dist/utils/lineEndingHandler.js.map +0 -1
- package/dist/utils/lineEndingHandler_optimized.d.ts +0 -21
- package/dist/utils/lineEndingHandler_optimized.js +0 -77
- package/dist/utils/mcp-logger.d.ts +0 -30
- package/dist/utils/mcp-logger.js +0 -59
- package/dist/utils/smithery-detector.d.ts +0 -94
- package/dist/utils/smithery-detector.js +0 -292
- package/dist/utils/startup-detector.d.ts +0 -65
- package/dist/utils/startup-detector.js +0 -390
- package/dist/utils/trackTools.js.map +0 -1
- package/dist/utils/withTimeout.js.map +0 -1
- package/dist/utils.d.ts +0 -26
- package/dist/utils.js +0 -227
- package/dist/version.js.map +0 -1
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
import { spawn } from 'child_process';
|
|
2
|
-
import fs from 'fs/promises';
|
|
3
|
-
import path from 'path';
|
|
4
|
-
import os from 'os';
|
|
5
|
-
/**
|
|
6
|
-
* Generate a temporary sandbox profile for macOS that restricts access to allowed directories
|
|
7
|
-
* @param allowedDirectories Array of directories that should be accessible
|
|
8
|
-
* @returns Path to the generated sandbox profile file
|
|
9
|
-
*/
|
|
10
|
-
export async function generateSandboxProfile(allowedDirectories) {
|
|
11
|
-
// Create a temporary directory for the sandbox profile
|
|
12
|
-
const tempDir = path.join(os.tmpdir(), 'claude-server-sandbox');
|
|
13
|
-
// Ensure temp directory exists
|
|
14
|
-
try {
|
|
15
|
-
// Check if directory exists first
|
|
16
|
-
try {
|
|
17
|
-
await fs.access(tempDir);
|
|
18
|
-
console.log(`Temp directory exists: ${tempDir}`);
|
|
19
|
-
}
|
|
20
|
-
catch {
|
|
21
|
-
// Directory doesn't exist, create it
|
|
22
|
-
console.log(`Creating temp directory: ${tempDir}`);
|
|
23
|
-
await fs.mkdir(tempDir, { recursive: true });
|
|
24
|
-
console.log(`Temp directory created: ${tempDir}`);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
catch (error) {
|
|
28
|
-
console.error('Error creating temp directory for sandbox:', error);
|
|
29
|
-
throw new Error(`Failed to create sandbox temp directory: ${error}`);
|
|
30
|
-
}
|
|
31
|
-
// Create the sandbox profile content - based on our tests, we need a simpler approach
|
|
32
|
-
// that just allows by default and then adds specific permissions for allowed directories
|
|
33
|
-
// Use a more restrictive approach - deny all file access, then explicitly allow only what we need
|
|
34
|
-
let profileContent = `(version 1)
|
|
35
|
-
(debug deny)
|
|
36
|
-
(allow default)
|
|
37
|
-
(deny file-read* file-write*)
|
|
38
|
-
`;
|
|
39
|
-
// Add explicit permissions for allowed directories
|
|
40
|
-
for (const dir of allowedDirectories) {
|
|
41
|
-
// Ensure path is absolute
|
|
42
|
-
const absPath = path.resolve(dir);
|
|
43
|
-
profileContent += `(allow file-read* file-write* (subpath "${absPath}"))\n`;
|
|
44
|
-
}
|
|
45
|
-
// Add system paths needed for basic command execution
|
|
46
|
-
profileContent += `
|
|
47
|
-
(allow file-read* (subpath "/usr"))
|
|
48
|
-
(allow file-read* (subpath "/bin"))
|
|
49
|
-
(allow file-read* (subpath "/sbin"))
|
|
50
|
-
(allow file-read* (subpath "/Library"))
|
|
51
|
-
(allow file-read* (subpath "/System"))
|
|
52
|
-
(allow file-read* (subpath "/tmp"))
|
|
53
|
-
(allow file-read* (subpath "/dev"))
|
|
54
|
-
(allow file-read* (subpath "/etc"))
|
|
55
|
-
(allow file-read* (subpath "${os.homedir()}/.zshrc"))
|
|
56
|
-
(allow file-read* (subpath "${os.homedir()}/.bash_profile"))
|
|
57
|
-
(allow file-read* (subpath "${os.homedir()}/.bashrc"))
|
|
58
|
-
(allow process-exec)
|
|
59
|
-
(allow process-fork)
|
|
60
|
-
(allow mach-lookup)
|
|
61
|
-
(allow network-outbound)
|
|
62
|
-
(allow system-socket)
|
|
63
|
-
(allow sysctl-read)
|
|
64
|
-
`;
|
|
65
|
-
// Add comment for debugging
|
|
66
|
-
profileContent += `\n; Allowed directories: ${allowedDirectories.join(', ')}\n`;
|
|
67
|
-
// Write the profile to a temporary file
|
|
68
|
-
const profilePath = path.join(tempDir, 'sandbox-profile.sb');
|
|
69
|
-
try {
|
|
70
|
-
// Write the profile with verbose logging
|
|
71
|
-
console.log(`Writing sandbox profile to: ${profilePath}`);
|
|
72
|
-
await fs.writeFile(profilePath, profileContent, 'utf-8');
|
|
73
|
-
// Verify the file was created
|
|
74
|
-
await fs.access(profilePath);
|
|
75
|
-
console.log(`Sandbox profile created successfully`);
|
|
76
|
-
// Log the profile content for debugging
|
|
77
|
-
console.log(`Sandbox profile content:\n${profileContent}`);
|
|
78
|
-
return profilePath;
|
|
79
|
-
}
|
|
80
|
-
catch (error) {
|
|
81
|
-
console.error(`Error creating sandbox profile at ${profilePath}:`, error);
|
|
82
|
-
throw new Error(`Failed to create sandbox profile: ${error}`);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Execute a command in a macOS sandbox with access restricted to allowed directories
|
|
87
|
-
* @param command Command to execute
|
|
88
|
-
* @param allowedDirectories Array of allowed directory paths
|
|
89
|
-
* @param options Additional execution options
|
|
90
|
-
* @returns Promise resolving to the execution result
|
|
91
|
-
*/
|
|
92
|
-
export async function executeSandboxedCommand(command, allowedDirectories, timeoutMs = 30000) {
|
|
93
|
-
try {
|
|
94
|
-
// Generate the sandbox profile
|
|
95
|
-
const profilePath = await generateSandboxProfile(allowedDirectories);
|
|
96
|
-
// Create a wrapper script that will perform additional path checks
|
|
97
|
-
// This is a belt-and-suspenders approach since our tests show the sandbox
|
|
98
|
-
// doesn't perfectly restrict access to only allowed directories
|
|
99
|
-
const wrapperScriptPath = path.join(os.tmpdir(), `claude-sandbox-wrapper-${Date.now()}.sh`);
|
|
100
|
-
// Generate a script that does additional path validation
|
|
101
|
-
// This will extract file paths from the command and verify they're in allowed directories
|
|
102
|
-
const wrapperScript = `#!/bin/sh
|
|
103
|
-
# Wrapper script for sandboxed execution
|
|
104
|
-
# Only allows access to specific directories: ${allowedDirectories.join(', ')}
|
|
105
|
-
|
|
106
|
-
# The actual command to run
|
|
107
|
-
COMMAND="${command.replace(/"/g, '\\"')}"
|
|
108
|
-
|
|
109
|
-
# Run the command in sandbox
|
|
110
|
-
sandbox-exec -f "${profilePath}" /bin/sh -c "$COMMAND"
|
|
111
|
-
EXIT_CODE=$?
|
|
112
|
-
|
|
113
|
-
# Return the exit code from the sandbox
|
|
114
|
-
exit $EXIT_CODE
|
|
115
|
-
`;
|
|
116
|
-
// Write the wrapper script
|
|
117
|
-
await fs.writeFile(wrapperScriptPath, wrapperScript, { mode: 0o755 });
|
|
118
|
-
// Log what we're doing
|
|
119
|
-
console.log(`Executing sandboxed command via wrapper script`);
|
|
120
|
-
console.log(`Command: ${command}`);
|
|
121
|
-
console.log(`Allowed directories: ${allowedDirectories.join(', ')}`);
|
|
122
|
-
// Execute the wrapper script
|
|
123
|
-
const process = spawn(wrapperScriptPath, []);
|
|
124
|
-
let output = '';
|
|
125
|
-
let isBlocked = false;
|
|
126
|
-
// Set up timeout
|
|
127
|
-
const timeoutId = setTimeout(() => {
|
|
128
|
-
isBlocked = true;
|
|
129
|
-
}, timeoutMs);
|
|
130
|
-
// Handle output
|
|
131
|
-
process.stdout.on('data', (data) => {
|
|
132
|
-
const text = data.toString();
|
|
133
|
-
console.log(`Sandbox stdout: ${text}`);
|
|
134
|
-
output += text;
|
|
135
|
-
});
|
|
136
|
-
process.stderr.on('data', (data) => {
|
|
137
|
-
const text = data.toString();
|
|
138
|
-
console.log(`Sandbox stderr: ${text}`);
|
|
139
|
-
output += text;
|
|
140
|
-
});
|
|
141
|
-
// Return a promise that resolves when the process exits
|
|
142
|
-
return new Promise((resolve) => {
|
|
143
|
-
process.on('exit', (code) => {
|
|
144
|
-
clearTimeout(timeoutId);
|
|
145
|
-
console.log(`Sandbox process exited with code: ${code}`);
|
|
146
|
-
// Clean up the temporary files
|
|
147
|
-
Promise.all([
|
|
148
|
-
fs.unlink(profilePath).catch(err => {
|
|
149
|
-
console.error('Error removing temporary sandbox profile:', err);
|
|
150
|
-
}),
|
|
151
|
-
fs.unlink(wrapperScriptPath).catch(err => {
|
|
152
|
-
console.error('Error removing temporary wrapper script:', err);
|
|
153
|
-
})
|
|
154
|
-
]).finally(() => {
|
|
155
|
-
resolve({
|
|
156
|
-
output,
|
|
157
|
-
exitCode: code,
|
|
158
|
-
isBlocked,
|
|
159
|
-
pid: process.pid || -1
|
|
160
|
-
});
|
|
161
|
-
});
|
|
162
|
-
});
|
|
163
|
-
});
|
|
164
|
-
}
|
|
165
|
-
catch (error) {
|
|
166
|
-
console.error('Error in sandbox execution:', error);
|
|
167
|
-
return {
|
|
168
|
-
output: `Sandbox execution error: ${error instanceof Error ? error.message : String(error)}`,
|
|
169
|
-
exitCode: 1,
|
|
170
|
-
isBlocked: false,
|
|
171
|
-
pid: -1
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
}
|
package/dist/server.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/setup.log
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
2025-01-09T13:51:00.508Z - Successfully added MCP servers to Claude configuration!
|
|
2
|
-
2025-01-09T13:51:00.509Z - Configuration location: /Users/eduardruzga/Library/Application Support/Claude/claude_desktop_config.json
|
|
3
|
-
2025-01-09T13:51:00.509Z -
|
|
4
|
-
To use the servers:
|
|
5
|
-
1. Restart Claude if it's currently running
|
|
6
|
-
2. The servers will be available in Claude's MCP server list
|
|
7
|
-
2025-01-09T13:52:55.111Z - Successfully added MCP servers to Claude configuration!
|
|
8
|
-
2025-01-09T13:52:55.113Z - Configuration location: /Users/eduardruzga/Library/Application Support/Claude/claude_desktop_config.json
|
|
9
|
-
2025-01-09T13:52:55.113Z -
|
|
10
|
-
To use the servers:
|
|
11
|
-
1. Restart Claude if it's currently running
|
|
12
|
-
2. The servers will be available in Claude's MCP server list
|
|
13
|
-
2025-01-09T13:56:00.121Z - npm_lifecycle_event,file:///Users/eduardruzga/work/ClaudeServerCommander/dist/setup-claude-server.js,
|
|
14
|
-
2025-01-09T13:56:00.122Z - Successfully added MCP servers to Claude configuration!
|
|
15
|
-
2025-01-09T13:56:00.122Z - Configuration location: /Users/eduardruzga/Library/Application Support/Claude/claude_desktop_config.json
|
|
16
|
-
2025-01-09T13:56:00.122Z -
|
|
17
|
-
To use the servers:
|
|
18
|
-
1. Restart Claude if it's currently running
|
|
19
|
-
2. The servers will be available in Claude's MCP server list
|
|
20
|
-
2025-01-09T13:57:23.336Z - npm_lifecycle_event,file:///Users/eduardruzga/work/ClaudeServerCommander/dist/setup-claude-server.js,
|
|
21
|
-
2025-01-09T13:57:23.338Z - Successfully added MCP servers to Claude configuration!
|
|
22
|
-
2025-01-09T13:57:23.338Z - Configuration location: /Users/eduardruzga/Library/Application Support/Claude/claude_desktop_config.json
|
|
23
|
-
2025-01-09T13:57:23.338Z -
|
|
24
|
-
To use the servers:
|
|
25
|
-
1. Restart Claude if it's currently running
|
|
26
|
-
2. The servers will be available in Claude's MCP server list
|
|
27
|
-
2025-01-09T14:16:00.862Z - Successfully added MCP servers to Claude configuration!
|
|
28
|
-
2025-01-09T14:16:00.864Z - Configuration location: /Users/eduardruzga/Library/Application Support/Claude/claude_desktop_config.json
|
|
29
|
-
2025-01-09T14:16:00.864Z -
|
|
30
|
-
To use the servers:
|
|
31
|
-
1. Restart Claude if it's currently running
|
|
32
|
-
2. The servers will be available in Claude's MCP server list
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-manager.js","sourceRoot":"","sources":["../src/terminal-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/client.d.ts
DELETED
package/dist/tools/client.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Simple tool to get current client information
|
|
3
|
-
*/
|
|
4
|
-
import { currentClient } from '../server.js';
|
|
5
|
-
export async function getCurrentClient() {
|
|
6
|
-
return {
|
|
7
|
-
content: [{
|
|
8
|
-
type: "text",
|
|
9
|
-
text: `Current client: ${currentClient.name} v${currentClient.version}`
|
|
10
|
-
}],
|
|
11
|
-
isError: false,
|
|
12
|
-
};
|
|
13
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export declare function blockCommand(args: unknown): Promise<{
|
|
2
|
-
content: {
|
|
3
|
-
type: string;
|
|
4
|
-
text: string;
|
|
5
|
-
}[];
|
|
6
|
-
}>;
|
|
7
|
-
export declare function unblockCommand(args: unknown): Promise<{
|
|
8
|
-
content: {
|
|
9
|
-
type: string;
|
|
10
|
-
text: string;
|
|
11
|
-
}[];
|
|
12
|
-
}>;
|
|
13
|
-
export declare function listBlockedCommands(): Promise<{
|
|
14
|
-
content: {
|
|
15
|
-
type: string;
|
|
16
|
-
text: string;
|
|
17
|
-
}[];
|
|
18
|
-
}>;
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { commandManager } from '../command-manager.js';
|
|
2
|
-
import { logToFile } from '../logging.js';
|
|
3
|
-
import { BlockCommandArgsSchema, UnblockCommandArgsSchema } from './schemas.js';
|
|
4
|
-
export async function blockCommand(args) {
|
|
5
|
-
await logToFile('Processing block_command request');
|
|
6
|
-
const parsed = BlockCommandArgsSchema.safeParse(args);
|
|
7
|
-
if (!parsed.success) {
|
|
8
|
-
throw new Error(`Invalid arguments for block_command: ${parsed.error}`);
|
|
9
|
-
}
|
|
10
|
-
const success = await commandManager.blockCommand(parsed.data.command);
|
|
11
|
-
if (!success) {
|
|
12
|
-
return {
|
|
13
|
-
content: [{
|
|
14
|
-
type: "text",
|
|
15
|
-
text: `Command '${parsed.data.command}' is already blocked.`
|
|
16
|
-
}],
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
await logToFile(`Added '${parsed.data.command}' to blocked commands`);
|
|
20
|
-
return {
|
|
21
|
-
content: [{
|
|
22
|
-
type: "text",
|
|
23
|
-
text: `Command '${parsed.data.command}' has been blocked. Current blocked commands: ${commandManager.listBlockedCommands().join(', ')}`
|
|
24
|
-
}],
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
export async function unblockCommand(args) {
|
|
28
|
-
await logToFile('Processing unblock_command request');
|
|
29
|
-
const parsed = UnblockCommandArgsSchema.safeParse(args);
|
|
30
|
-
if (!parsed.success) {
|
|
31
|
-
throw new Error(`Invalid arguments for unblock_command: ${parsed.error}`);
|
|
32
|
-
}
|
|
33
|
-
const success = await commandManager.unblockCommand(parsed.data.command);
|
|
34
|
-
if (!success) {
|
|
35
|
-
return {
|
|
36
|
-
content: [{
|
|
37
|
-
type: "text",
|
|
38
|
-
text: `Command '${parsed.data.command}' is not blocked.`
|
|
39
|
-
}],
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
await logToFile(`Removed '${parsed.data.command}' from blocked commands`);
|
|
43
|
-
return {
|
|
44
|
-
content: [{
|
|
45
|
-
type: "text",
|
|
46
|
-
text: `Command '${parsed.data.command}' has been unblocked. Current blocked commands: ${commandManager.listBlockedCommands().join(', ')}`
|
|
47
|
-
}],
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
export async function listBlockedCommands() {
|
|
51
|
-
await logToFile('Processing list_blocked_commands request');
|
|
52
|
-
const blockedList = commandManager.listBlockedCommands();
|
|
53
|
-
await logToFile(`Listed ${blockedList.length} blocked commands`);
|
|
54
|
-
return {
|
|
55
|
-
content: [{
|
|
56
|
-
type: "text",
|
|
57
|
-
text: blockedList.length > 0
|
|
58
|
-
? `Currently blocked commands:\n${blockedList.join('\n')}`
|
|
59
|
-
: "No commands are currently blocked."
|
|
60
|
-
}],
|
|
61
|
-
};
|
|
62
|
-
}
|
package/dist/tools/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/tools/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/tools/debug-path.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
// This is a debug script to help understand how ~ expansion works
|
|
2
|
-
import os from 'os';
|
|
3
|
-
import path from 'path';
|
|
4
|
-
function expandHome(filepath) {
|
|
5
|
-
console.log(`Expanding ${filepath}`);
|
|
6
|
-
// Handle both '~' alone or '~/' path prefix
|
|
7
|
-
if (filepath === '~') {
|
|
8
|
-
const home = os.homedir();
|
|
9
|
-
console.log(`~ expanded to ${home}`);
|
|
10
|
-
return home;
|
|
11
|
-
}
|
|
12
|
-
else if (filepath.startsWith('~/')) {
|
|
13
|
-
const joinedPath = path.join(os.homedir(), filepath.slice(2));
|
|
14
|
-
console.log(`~/ expanded to ${joinedPath}`);
|
|
15
|
-
return joinedPath;
|
|
16
|
-
}
|
|
17
|
-
return filepath;
|
|
18
|
-
}
|
|
19
|
-
console.log(`Home directory: ${os.homedir()}`);
|
|
20
|
-
console.log(`Current working directory: ${process.cwd()}`);
|
|
21
|
-
console.log(`Expanding ~: ${expandHome('~')}`);
|
|
22
|
-
console.log(`Expanding ~/Documents: ${expandHome('~/Documents')}`);
|
|
23
|
-
console.log(`Expanding /tmp: ${expandHome('/tmp')}`);
|
|
24
|
-
// Create lowercase normalized paths for comparison
|
|
25
|
-
function normalizePath(p) {
|
|
26
|
-
return path.normalize(p).toLowerCase();
|
|
27
|
-
}
|
|
28
|
-
const allowedDir = '~';
|
|
29
|
-
const expandedAllowedDir = expandHome(allowedDir);
|
|
30
|
-
const normalizedAllowedDir = normalizePath(expandedAllowedDir);
|
|
31
|
-
console.log(`Allowed dir: ${allowedDir}`);
|
|
32
|
-
console.log(`Expanded allowed dir: ${expandedAllowedDir}`);
|
|
33
|
-
console.log(`Normalized allowed dir: ${normalizedAllowedDir}`);
|
|
34
|
-
// Example path to check
|
|
35
|
-
const pathToCheck = '~';
|
|
36
|
-
const expandedPathToCheck = expandHome(pathToCheck);
|
|
37
|
-
const normalizedPathToCheck = normalizePath(expandedPathToCheck);
|
|
38
|
-
console.log(`Path to check: ${pathToCheck}`);
|
|
39
|
-
console.log(`Expanded path to check: ${expandedPathToCheck}`);
|
|
40
|
-
console.log(`Normalized path to check: ${normalizedPathToCheck}`);
|
|
41
|
-
// Check if path is allowed
|
|
42
|
-
const isAllowed = normalizedPathToCheck === normalizedAllowedDir ||
|
|
43
|
-
normalizedPathToCheck.startsWith(normalizedAllowedDir + path.sep);
|
|
44
|
-
console.log(`Is path allowed: ${isAllowed}`);
|
package/dist/tools/edit.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../src/tools/edit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import { terminalManager } from '../terminal-manager.js';
|
|
2
|
-
import { ReadOutputArgsSchema } from './schemas.js';
|
|
3
|
-
|
|
4
|
-
export async function readOutput(args) {
|
|
5
|
-
const parsed = ReadOutputArgsSchema.safeParse(args);
|
|
6
|
-
if (!parsed.success) {
|
|
7
|
-
return {
|
|
8
|
-
content: [{ type: "text", text: `Error: Invalid arguments for read_output: ${parsed.error}` }],
|
|
9
|
-
isError: true,
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
const { pid, timeout_ms = 5000 } = parsed.data;
|
|
14
|
-
|
|
15
|
-
// Check if the process exists
|
|
16
|
-
const session = terminalManager.getSession(pid);
|
|
17
|
-
if (!session) {
|
|
18
|
-
return {
|
|
19
|
-
content: [{ type: "text", text: `No session found for PID ${pid}` }],
|
|
20
|
-
isError: true,
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// Wait for output with timeout
|
|
25
|
-
let output = "";
|
|
26
|
-
let timeoutReached = false;
|
|
27
|
-
|
|
28
|
-
try {
|
|
29
|
-
// Create a promise that resolves when new output is available or when timeout is reached
|
|
30
|
-
const outputPromise = new Promise((resolve) => {
|
|
31
|
-
// Check for initial output
|
|
32
|
-
const initialOutput = terminalManager.getNewOutput(pid);
|
|
33
|
-
if (initialOutput && initialOutput.length > 0) {
|
|
34
|
-
resolve(initialOutput);
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// Setup an interval to poll for output
|
|
39
|
-
const interval = setInterval(() => {
|
|
40
|
-
const newOutput = terminalManager.getNewOutput(pid);
|
|
41
|
-
if (newOutput && newOutput.length > 0) {
|
|
42
|
-
clearInterval(interval);
|
|
43
|
-
resolve(newOutput);
|
|
44
|
-
}
|
|
45
|
-
}, 100); // Check every 100ms
|
|
46
|
-
|
|
47
|
-
// Set a timeout to stop waiting
|
|
48
|
-
setTimeout(() => {
|
|
49
|
-
clearInterval(interval);
|
|
50
|
-
timeoutReached = true;
|
|
51
|
-
resolve(terminalManager.getNewOutput(pid) || "");
|
|
52
|
-
}, timeout_ms);
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
output = await outputPromise;
|
|
56
|
-
} catch (error) {
|
|
57
|
-
return {
|
|
58
|
-
content: [{ type: "text", text: `Error reading output: ${error}` }],
|
|
59
|
-
isError: true,
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
return {
|
|
64
|
-
content: [{
|
|
65
|
-
type: "text",
|
|
66
|
-
text: output || 'No new output available' + (timeoutReached ? ' (timeout reached)' : '')
|
|
67
|
-
}],
|
|
68
|
-
};
|
|
69
|
-
}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { terminalManager } from '../terminal-manager.js';
|
|
2
|
-
import { SendInputArgsSchema } from './schemas.js';
|
|
3
|
-
import { capture } from "../utils/capture.js";
|
|
4
|
-
|
|
5
|
-
export async function sendInput(args) {
|
|
6
|
-
const parsed = SendInputArgsSchema.safeParse(args);
|
|
7
|
-
if (!parsed.success) {
|
|
8
|
-
capture('server_send_input_failed', {
|
|
9
|
-
error: 'Invalid arguments'
|
|
10
|
-
});
|
|
11
|
-
return {
|
|
12
|
-
content: [{ type: "text", text: `Error: Invalid arguments for send_input: ${parsed.error}` }],
|
|
13
|
-
isError: true,
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const { pid, input, timeout_ms = 5000, wait_for_prompt = false } = parsed.data;
|
|
18
|
-
|
|
19
|
-
try {
|
|
20
|
-
capture('server_send_input', {
|
|
21
|
-
pid: pid,
|
|
22
|
-
inputLength: input.length
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
// Try to send input to the process
|
|
26
|
-
const success = terminalManager.sendInputToProcess(pid, input);
|
|
27
|
-
|
|
28
|
-
if (!success) {
|
|
29
|
-
return {
|
|
30
|
-
content: [{ type: "text", text: `Error: Failed to send input to process ${pid}. The process may have exited or doesn't accept input.` }],
|
|
31
|
-
isError: true,
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
// If we don't need to wait for output, return immediately
|
|
36
|
-
if (!wait_for_prompt) {
|
|
37
|
-
return {
|
|
38
|
-
content: [{
|
|
39
|
-
type: "text",
|
|
40
|
-
text: `Successfully sent input to process ${pid}. Use read_output to get the process response.`
|
|
41
|
-
}],
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// Wait for output with timeout
|
|
46
|
-
let output = "";
|
|
47
|
-
let timeoutReached = false;
|
|
48
|
-
|
|
49
|
-
try {
|
|
50
|
-
// Create a promise that resolves when new output is available or when timeout is reached
|
|
51
|
-
const outputPromise = new Promise((resolve) => {
|
|
52
|
-
// Setup an interval to poll for output
|
|
53
|
-
const interval = setInterval(() => {
|
|
54
|
-
const newOutput = terminalManager.getNewOutput(pid);
|
|
55
|
-
|
|
56
|
-
if (newOutput && newOutput.length > 0) {
|
|
57
|
-
output += newOutput;
|
|
58
|
-
|
|
59
|
-
// Check if output contains a prompt pattern (indicating the REPL is ready for more input)
|
|
60
|
-
const promptPatterns = [/^>\s*$/, /^>>>\s*$/, /^\.{3}\s*$/]; // Common REPL prompts
|
|
61
|
-
const lines = output.split('\n');
|
|
62
|
-
const lastLine = lines[lines.length - 1];
|
|
63
|
-
const hasPrompt = promptPatterns.some(pattern => pattern.test(lastLine.trim()));
|
|
64
|
-
|
|
65
|
-
if (hasPrompt) {
|
|
66
|
-
clearInterval(interval);
|
|
67
|
-
resolve(output);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}, 100); // Check every 100ms
|
|
71
|
-
|
|
72
|
-
// Set a timeout to stop waiting
|
|
73
|
-
setTimeout(() => {
|
|
74
|
-
clearInterval(interval);
|
|
75
|
-
timeoutReached = true;
|
|
76
|
-
|
|
77
|
-
// Get any final output
|
|
78
|
-
const finalOutput = terminalManager.getNewOutput(pid);
|
|
79
|
-
if (finalOutput) {
|
|
80
|
-
output += finalOutput;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
resolve(output);
|
|
84
|
-
}, timeout_ms);
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
await outputPromise;
|
|
88
|
-
} catch (error) {
|
|
89
|
-
return {
|
|
90
|
-
content: [{ type: "text", text: `Error reading output after sending input: ${error}` }],
|
|
91
|
-
isError: true,
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
return {
|
|
96
|
-
content: [{
|
|
97
|
-
type: "text",
|
|
98
|
-
text: `Input sent to process ${pid}.\n\nOutput received:\n${output || '(No output)'}${timeoutReached ? ' (timeout reached)' : ''}`
|
|
99
|
-
}],
|
|
100
|
-
};
|
|
101
|
-
} catch (error) {
|
|
102
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
103
|
-
capture('server_send_input_error', {
|
|
104
|
-
error: errorMessage
|
|
105
|
-
});
|
|
106
|
-
return {
|
|
107
|
-
content: [{ type: "text", text: `Error sending input: ${errorMessage}` }],
|
|
108
|
-
isError: true,
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
export declare function getEnvironmentInfo(): {
|
|
2
|
-
processInfo: {
|
|
3
|
-
pid: number;
|
|
4
|
-
ppid: number;
|
|
5
|
-
cwd: string;
|
|
6
|
-
nodeVersion: string;
|
|
7
|
-
versions: NodeJS.ProcessVersions;
|
|
8
|
-
argv: string[];
|
|
9
|
-
uptime: number;
|
|
10
|
-
memoryUsage: NodeJS.MemoryUsage;
|
|
11
|
-
execPath: string;
|
|
12
|
-
execArgv: string[];
|
|
13
|
-
platform: NodeJS.Platform;
|
|
14
|
-
arch: NodeJS.Architecture;
|
|
15
|
-
title: string;
|
|
16
|
-
};
|
|
17
|
-
systemEnvironment: {
|
|
18
|
-
platform: NodeJS.Platform;
|
|
19
|
-
arch: string;
|
|
20
|
-
hostname: string;
|
|
21
|
-
totalmem: number;
|
|
22
|
-
freemem: number;
|
|
23
|
-
cpus: import("os").CpuInfo[];
|
|
24
|
-
userInfo: import("os").UserInfo<string>;
|
|
25
|
-
networkInterfaces: NodeJS.Dict<import("os").NetworkInterfaceInfo[]>;
|
|
26
|
-
environmentVariables: NodeJS.ProcessEnv;
|
|
27
|
-
loadavg: number[];
|
|
28
|
-
uptime: number;
|
|
29
|
-
tmpdir: string;
|
|
30
|
-
homedir: string;
|
|
31
|
-
endianness: "BE" | "LE";
|
|
32
|
-
release: string;
|
|
33
|
-
type: string;
|
|
34
|
-
};
|
|
35
|
-
runtimeContext: {
|
|
36
|
-
timestamp: string;
|
|
37
|
-
timezone: string;
|
|
38
|
-
locale: string;
|
|
39
|
-
executionTime: number;
|
|
40
|
-
};
|
|
41
|
-
error?: undefined;
|
|
42
|
-
} | {
|
|
43
|
-
error: string;
|
|
44
|
-
processInfo: {
|
|
45
|
-
pid: number;
|
|
46
|
-
cwd: string;
|
|
47
|
-
};
|
|
48
|
-
systemEnvironment: {
|
|
49
|
-
platform: NodeJS.Platform;
|
|
50
|
-
};
|
|
51
|
-
runtimeContext: {
|
|
52
|
-
timestamp: string;
|
|
53
|
-
executionTime: number;
|
|
54
|
-
};
|
|
55
|
-
};
|