- Complete Gemini CLI agent adapter with SSH execution - CLI agent factory with connection pooling - SSH executor with AsyncSSH for remote CLI execution - Backend integration with CLI agent manager - MCP server updates with CLI agent tools - Frontend UI updates for mixed agent types - Database migrations for CLI agent support - Docker deployment with CLI source integration - Comprehensive documentation and testing 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
43 lines
1.2 KiB
Bash
Executable File
43 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Simple SSH Connection Test for CCLI
|
|
set -e
|
|
|
|
GREEN='\033[0;32m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m'
|
|
|
|
function log() { echo -e "${BLUE}[$(date +'%H:%M:%S')]${NC} $1"; }
|
|
function success() { echo -e "${GREEN}✅ $1${NC}"; }
|
|
|
|
echo "🔗 Simple SSH Connection Tests"
|
|
|
|
# Test basic SSH functionality
|
|
for host in walnut ironwood; do
|
|
log "Testing SSH to $host..."
|
|
if ssh -o ConnectTimeout=5 $host "echo 'SSH working'; hostname; uptime | cut -d',' -f1"; then
|
|
success "SSH connection to $host working"
|
|
fi
|
|
done
|
|
|
|
# Test SSH with connection sharing
|
|
log "Testing SSH connection sharing..."
|
|
control_path="/tmp/ssh_test_$$"
|
|
ssh_opts="-o ControlMaster=auto -o ControlPath=$control_path -o ControlPersist=10"
|
|
|
|
# Establish master connection to walnut
|
|
ssh $ssh_opts walnut "echo 'Master connection established'" > /dev/null
|
|
|
|
# Test reuse (should be very fast)
|
|
start_time=$(date +%s.%N)
|
|
ssh $ssh_opts walnut "echo 'Reused connection'"
|
|
end_time=$(date +%s.%N)
|
|
duration=$(echo "$end_time - $start_time" | bc -l)
|
|
|
|
success "SSH connection reuse took ${duration:0:4}s"
|
|
|
|
# Clean up
|
|
ssh $ssh_opts -O exit walnut 2>/dev/null || true
|
|
rm -f "$control_path"
|
|
|
|
success "SSH pooling tests completed successfully" |