diff --git a/aa b/aa new file mode 100755 index 0000000..12387b8 --- /dev/null +++ b/aa @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +# ~/bin/aa - Switch to accept-edits mode and connect to fleet session +"$HOME/bin/agy-mode" act +exec "$HOME/bin/af" "$@" diff --git a/af b/af new file mode 100755 index 0000000..d0ddff8 --- /dev/null +++ b/af @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +# ~/bin/af - Antigravity Fleet Unified Session Connector +# Attaches to the central persistent Antigravity CLI session on boxC. + +SESSION_NAME="agy" +CENTRAL_IP="10.0.0.14" +CENTRAL_HOST="boxC" +REMOTE_PORT="2222" +EXTERNAL_HOST="home" + +# Determine current hostname +CURRENT_HOST="$(hostname)" + +if [[ "$CURRENT_HOST" == "boxC" || "$CURRENT_HOST" == "B" ]]; then + # Already on central node: attach or create local tmux session + exec tmux new-session -A -s "$SESSION_NAME" agy "$@" +else + # Remote node (bazina, t520, chromebook, or phone) + # 1. Try local LAN first + if ping -c 1 -W 1 "$CENTRAL_IP" &>/dev/null; then + exec ssh -t "$CENTRAL_HOST" "tmux new-session -A -s '$SESSION_NAME' agy $*" + else + # 2. Fallback to external SSH via home gateway + echo "LAN connection to $CENTRAL_HOST unreachable, attempting external fallback..." + exec ssh -p "$REMOTE_PORT" -t "$EXTERNAL_HOST" "tmux new-session -A -s '$SESSION_NAME' agy $*" + fi +fi diff --git a/agy-mode b/agy-mode new file mode 100755 index 0000000..2568c06 --- /dev/null +++ b/agy-mode @@ -0,0 +1,48 @@ +#!/usr/bin/env bash +# ~/bin/agy-mode - Toggle Antigravity execution mode fleet-wide +# Usage: agy-mode + +CONFIG="$HOME/.gemini/antigravity-cli/settings.json" + +if [[ ! -f "$CONFIG" ]]; then + echo "Error: $CONFIG not found." >&2 + exit 1 +fi + +apply_mode() { + local target_mode="$1" + # Local update + sed -i -E "s/\"agentMode\": *\"[^\"]*\"/\"agentMode\": \"$target_mode\"/" "$CONFIG" + echo "✓ Local boxC agy mode set to: $target_mode" + + # Propagate to reachable fleet nodes (bazina, t520) in background / quick ssh + for node in 10.0.0.15 10.0.0.18; do + if ping -c 1 -W 1 "$node" &>/dev/null; then + ssh -o ConnectTimeout=2 -o BatchMode=yes "$node" \ + "test -f $CONFIG && sed -i -E 's/\"agentMode\": *\"[^\"]*\"/\"agentMode\": \"$target_mode\"/' $CONFIG" 2>/dev/null && \ + echo "✓ Synced mode to $node" || true + fi + done +} + +case "$1" in + plan|p) + apply_mode "plan" + ;; + act|accept-edits|a) + apply_mode "accept-edits" + ;; + default|d) + apply_mode "default" + ;; + status|"") + CURRENT=$(grep '"agentMode"' "$CONFIG" 2>/dev/null | tr -d '", ' | awk -F: '{print $2}') + echo "Current agy agentMode: ${CURRENT:-unknown}" + echo "Usage: agy-mode " + ;; + *) + echo "Unknown mode: $1" >&2 + echo "Usage: agy-mode " >&2 + exit 1 + ;; +esac diff --git a/ap b/ap new file mode 100755 index 0000000..370a988 --- /dev/null +++ b/ap @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +# ~/bin/ap - Switch to plan mode and connect to fleet session +"$HOME/bin/agy-mode" plan +exec "$HOME/bin/af" "$@"