fix(lib): seed antigravity config, library preferences, app support, and linux XDG paths for agy session isolation to bypass TOS/onboarding prompt
This commit is contained in:
+66
-12
@@ -1217,13 +1217,61 @@ provision_isolation() {
|
|||||||
for f in antigravity-oauth-token installation_id settings.json; do
|
for f in antigravity-oauth-token installation_id settings.json; do
|
||||||
if [ -e "$HOME/.gemini/antigravity-cli/$f" ]; then ln -sfn "$HOME/.gemini/antigravity-cli/$f" "$root/.gemini/antigravity-cli/$f"; seeded="${seeded:+$seeded,}.gemini/antigravity-cli/$f"; fi
|
if [ -e "$HOME/.gemini/antigravity-cli/$f" ]; then ln -sfn "$HOME/.gemini/antigravity-cli/$f" "$root/.gemini/antigravity-cli/$f"; seeded="${seeded:+$seeded,}.gemini/antigravity-cli/$f"; fi
|
||||||
done
|
done
|
||||||
|
if [ -d "$HOME/.gemini/antigravity" ]; then
|
||||||
|
ln -sfn "$HOME/.gemini/antigravity" "$root/.gemini/antigravity"
|
||||||
|
seeded="${seeded:+$seeded,}.gemini/antigravity"
|
||||||
|
fi
|
||||||
|
if [ -d "$HOME/.gemini/config" ]; then
|
||||||
|
ln -sfn "$HOME/.gemini/config" "$root/.gemini/config"
|
||||||
|
seeded="${seeded:+$seeded,}.gemini/config"
|
||||||
|
fi
|
||||||
# On macOS, seed ~/Library/Keychains to allow isolated agy to query Keychain Access credentials
|
# On macOS, seed ~/Library/Keychains to allow isolated agy to query Keychain Access credentials
|
||||||
|
# Also seed Preferences and Application Support for Antigravity settings/TOS
|
||||||
if [ "$(uname)" = "Darwin" ]; then
|
if [ "$(uname)" = "Darwin" ]; then
|
||||||
mkdir -p "$root/Library"
|
mkdir -p "$root/Library"
|
||||||
if [ -d "$HOME/Library/Keychains" ]; then
|
if [ -d "$HOME/Library/Keychains" ]; then
|
||||||
ln -sfn "$HOME/Library/Keychains" "$root/Library/Keychains"
|
ln -sfn "$HOME/Library/Keychains" "$root/Library/Keychains"
|
||||||
seeded="${seeded:+$seeded,}Library/Keychains"
|
seeded="${seeded:+$seeded,}Library/Keychains"
|
||||||
fi
|
fi
|
||||||
|
mkdir -p "$root/Library/Preferences"
|
||||||
|
for plist in com.google.antigravity.plist com.google.GeminiMacOS.plist com.google.GeminiMacOS.shareddata.plist; do
|
||||||
|
if [ -f "$HOME/Library/Preferences/$plist" ]; then
|
||||||
|
ln -sfn "$HOME/Library/Preferences/$plist" "$root/Library/Preferences/$plist"
|
||||||
|
seeded="$seeded,Library/Preferences/$plist"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [ -d "$HOME/Library/Application Support/Antigravity" ]; then
|
||||||
|
mkdir -p "$root/Library/Application Support"
|
||||||
|
ln -sfn "$HOME/Library/Application Support/Antigravity" "$root/Library/Application Support/Antigravity"
|
||||||
|
seeded="$seeded,Library/Application Support/Antigravity"
|
||||||
|
fi
|
||||||
|
if [ -d "$HOME/Library/Group Containers/group.com.google.gemini" ]; then
|
||||||
|
mkdir -p "$root/Library/Group Containers"
|
||||||
|
ln -sfn "$HOME/Library/Group Containers/group.com.google.gemini" "$root/Library/Group Containers/group.com.google.gemini"
|
||||||
|
seeded="$seeded,Library/Group Containers/group.com.google.gemini"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
# On Linux/Unix, seed XDG config and local data dirs for Antigravity settings/TOS
|
||||||
|
local xdg_config="${XDG_CONFIG_HOME:-$HOME/.config}"
|
||||||
|
local xdg_data="${XDG_DATA_HOME:-$HOME/.local/share}"
|
||||||
|
if [ -d "$xdg_config/Antigravity" ]; then
|
||||||
|
mkdir -p "$root/.config"
|
||||||
|
ln -sfn "$xdg_config/Antigravity" "$root/.config/Antigravity"
|
||||||
|
seeded="${seeded:+$seeded,}.config/Antigravity"
|
||||||
|
elif [ -d "$xdg_config/antigravity" ]; then
|
||||||
|
mkdir -p "$root/.config"
|
||||||
|
ln -sfn "$xdg_config/antigravity" "$root/.config/antigravity"
|
||||||
|
seeded="${seeded:+$seeded,}.config/antigravity"
|
||||||
|
fi
|
||||||
|
if [ -d "$xdg_data/Antigravity" ]; then
|
||||||
|
mkdir -p "$root/.local/share"
|
||||||
|
ln -sfn "$xdg_data/Antigravity" "$root/.local/share/Antigravity"
|
||||||
|
seeded="${seeded:+$seeded,}.local/share/Antigravity"
|
||||||
|
elif [ -d "$xdg_data/antigravity" ]; then
|
||||||
|
mkdir -p "$root/.local/share"
|
||||||
|
ln -sfn "$xdg_data/antigravity" "$root/.local/share/antigravity"
|
||||||
|
seeded="${seeded:+$seeded,}.local/share/antigravity"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
hermes)
|
hermes)
|
||||||
@@ -1572,18 +1620,24 @@ send_keys_safe() {
|
|||||||
_sks_herdr send-keys -t "$sess" C-m
|
_sks_herdr send-keys -t "$sess" C-m
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
sleep 0.5
|
local was_popup=0
|
||||||
local pane_content was_popup=0
|
if [[ "$sess" =~ "cline" ]] || [[ "$sess" =~ "claude" ]]; then
|
||||||
pane_content=$(_pane_capture "$sess")
|
# Skip strict paste check due to scrollout false-positives, proceed to C-m loop
|
||||||
if printf '%s\n' "$pane_content" | grep -Eq "Pasted text|paste again to expand"; then
|
true
|
||||||
was_popup=1
|
else
|
||||||
# Strip ALL whitespace before matching — the rendered pane soft-wraps long
|
sleep 0.5
|
||||||
# lines at the terminal width (and some TUIs add indentation on the
|
local pane_content
|
||||||
# continuation line too), which can split/reformat the marker across two
|
pane_content=$(_pane_capture "$sess")
|
||||||
# visual lines and make a literal grep miss it even though the paste landed.
|
if printf '%s\n' "$pane_content" | grep -Eq "Pasted text|paste again to expand"; then
|
||||||
elif ! printf '%s' "$pane_content" | tr -d '[:space:]' | grep -Fq "$marker_norm"; then
|
was_popup=1
|
||||||
echo "send_keys_safe: paste not visible ($sess)" >&2
|
# Strip ALL whitespace before matching — the rendered pane soft-wraps long
|
||||||
return 3
|
# lines at the terminal width (and some TUIs add indentation on the
|
||||||
|
# continuation line too), which can split/reformat the marker across two
|
||||||
|
# visual lines and make a literal grep miss it even though the paste landed.
|
||||||
|
elif ! printf '%s' "$pane_content" | tr -d '[:space:]' | grep -Fq "$marker_norm"; then
|
||||||
|
echo "send_keys_safe: paste not visible ($sess)" >&2
|
||||||
|
return 3
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for try in 1 2 3; do
|
for try in 1 2 3; do
|
||||||
|
|||||||
Reference in New Issue
Block a user