import { sessionManager } from '../ssh/session.js';
import type { ConnectParams, ToolResponse } from '../types.js';
export async function sshConnect(params: ConnectParams): Promise<ToolResponse> {
try {
const session = await sessionManager.createSession({
host: params.host,
port: params.port,
username: params.username,
password: params.password,
privateKey: params.privateKey,
privateKeyPath: params.privateKeyPath,
passphrase: params.passphrase,
});
return {
success: true,
data: {
sessionId: session.id,
host: session.config.host,
username: session.config.username,
message: `Connected to ${session.config.username}@${session.config.host}`,
},
};
} catch (err) {
return {
success: false,
error: err instanceof Error ? err.message : String(err),
};
}
}