#!/bin/bash set -eo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)" if [[ -n "$SCRIPT_DIR" && -f "$SCRIPT_DIR/lib/common.sh" ]]; then source "$SCRIPT_DIR/lib/common.sh" else eval "$(curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/binarylane/lib/common.sh)" fi log_info "Continue on BinaryLane" echo "" ensure_binarylane_token ensure_ssh_key SERVER_NAME=$(get_server_name) create_server "${SERVER_NAME}" verify_server_connectivity "${BINARYLANE_SERVER_IP}" log_step "Setting up shell environment..." run_server "${BINARYLANE_SERVER_IP}" "curl -fsSL https://raw.githubusercontent.com/OpenRouterTeam/spawn/main/shared/bashrc_additions.sh -o /tmp/bashrc_additions.sh && cat /tmp/bashrc_additions.sh >> ~/.bashrc && rm /tmp/bashrc_additions.sh" log_step "Installing Continue CLI..." run_server "${BINARYLANE_SERVER_IP}" "curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash && export NVM_DIR=\"\$HOME/.nvm\" && [ -s \"\$NVM_DIR/nvm.sh\" ] && . \"\$NVM_DIR/nvm.sh\" && nvm install 20 && npm install -g @continuedev/cli" echo "" if [[ -n "${OPENROUTER_API_KEY:-}" ]]; then log_info "Using OpenRouter API key from environment" else OPENROUTER_API_KEY=$(get_openrouter_api_key_oauth 5180) fi log_step "Setting up environment variables..." inject_env_vars_ssh "${BINARYLANE_SERVER_IP}" upload_file run_server \ "OPENROUTER_API_KEY=${OPENROUTER_API_KEY}" setup_continue_config "${OPENROUTER_API_KEY}" \ "upload_file ${BINARYLANE_SERVER_IP}" \ "run_server ${BINARYLANE_SERVER_IP}" echo "" log_info "BinaryLane server setup completed successfully!" echo "" log_step "Starting Continue CLI in TUI mode..." sleep 1 clear interactive_session "${BINARYLANE_SERVER_IP}" "bash -c 'source ~/.bashrc && export NVM_DIR=\"\$HOME/.nvm\" && [ -s \"\$NVM_DIR/nvm.sh\" ] && . \"\$NVM_DIR/nvm.sh\" && cn'"