feat(agent): Sandbox Support for Antigravity CLI (agy)#18
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resolves #16
📝 Description
Google recently released a standalone command-line version of Antigravity (
agy). The official installation involves executing a bootstrap script that drops a binary in$HOME/.local/bin/agyand frequently reads/writes to staging caches in the background. It also performs background self-updates.To ensure developers' host environments remain pristine and to avoid side effects, this PR brings the
agyworkload undersanity-gravitymanagement.Thanks to the newly merged Microkernel Plugin Architecture (#PR_NUMBER), introducing this entire feature required zero changes to core Python code.
✨ Key Changes
New Agent Plugin (
agy)manifest.tomlandDockerfileinsideplugins/agents/agy/.requires = []), so the capability solver admits the plugin under bothxfceandnonedesktops — yieldingagy-xfce-{kasm,vnc,ssh}and the headlessagy-none-sshvariant (same shape ascc-none-ssh/gc-none-ssh).agyglobally to/usr/local/bin/agyduring the build phase (using the installer's-dflag to override its default$HOME/.local/bindestination), bypassing the messy$HOMEbootstrap process and ensuring it works universally regardless of the container user's UID.Relaxed Test Bounds
test_cli_unit.pyandtest_plugin_registry.py. Previously, they used rigid exact equality checks (==) for the number of built-in tags. They have been updated to use subset (.issubset()) and minimum bounds (>=), ensuring that the test suite does not break when new valid plugins likeagyare added dynamically.✅ Verification
mainbranch.agycorrectly.agycaches strictly inside the container's persistent volume (e.g.sg-<project>-agy-none-ssh), leaving the host completely unaffected.🚀 How to Test
agyworks: