Add Antigravity fleet tools: af (fleet connector), agy-mode (mode switcher), aa (act), ap (plan)
This commit is contained in:
@@ -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" "$@"
|
||||
@@ -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
|
||||
@@ -0,0 +1,48 @@
|
||||
#!/usr/bin/env bash
|
||||
# ~/bin/agy-mode - Toggle Antigravity execution mode fleet-wide
|
||||
# Usage: agy-mode <act|plan|default>
|
||||
|
||||
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 <act|plan|default>"
|
||||
;;
|
||||
*)
|
||||
echo "Unknown mode: $1" >&2
|
||||
echo "Usage: agy-mode <act|plan|default>" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
Reference in New Issue
Block a user