#!/usr/bin/env python3
"""
Enhanced Antigravity VS Code Interface
Provides status dashboard and easy access to VS Code features
"""
from http.server import HTTPServer, BaseHTTPRequestHandler
import subprocess
import sys
import os
import json
class AntigravityHandler(BaseHTTPRequestHandler):
def do_GET(self):
if self.path == '/':
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
# Test antigravity package
try:
result = subprocess.run(['antigravity', '--version'],
capture_output=True, text=True, timeout=5)
antigravity_status = "Available" if result.returncode == 0 else "Error"
antigravity_version = result.stdout.strip() if result.returncode == 0 else "Unable to determine"
except Exception as e:
antigravity_status = "Error"
antigravity_version = str(e)
# System info
try:
system_info = subprocess.run(['uname', '-a'], capture_output=True, text=True)
system_details = system_info.stdout
except:
system_details = "System info unavailable"
html = f"""
Antigravity VS Code Sandbox
ā
System Status
Antigravity Package: {antigravity_status}
Version: {antigravity_version}
Platform: Ubuntu Docker Container
Python: {sys.version.split()[0]}
Working Directory: {os.getcwd()}
šÆ Quick Actions
Launch VS Code features instantly:
š ļø VS Code Features
Available Antigravity commands:
antigravity --serve-web # Start VS Code web
antigravity chat # AI coding assistant
antigravity --version # Check version
antigravity --diff file1 file2 # Compare files
antigravity --merge base left right output # Merge
antigravity --new-window # New editor window
antigravity --extensions-dir # Extension folder
antigravity --list-extensions # List extensions
antigravity --install-extension ext-id # Install extension
š System Details
{system_details}
Container running on Hugging Face Spaces
š Development Environment Ready
Your Antigravity Docker Space is fully configured with:
- VS Code CLI: Full command-line interface
- File Management: Open, edit, compare, and merge files
- Extensions: Install and manage VS Code extensions
- Web Interface: Run VS Code in your browser
- AI Assistant: Built-in chat and coding help
- Development Tools: Complete development environment
"""
self.wfile.write(html.encode())
elif self.path == '/api/status':
self.send_response(200)
self.send_header('Content-type', 'application/json')
self.end_headers()
status_data = {
'service': 'Antigravity VS Code Sandbox',
'status': 'running',
'antigravity_available': antigravity_status == 'Available',
'features': [
'VS Code CLI',
'File Management',
'Extensions',
'Web Interface',
'AI Assistant',
'Development Tools'
],
'quick_commands': [
'antigravity --serve-web',
'antigravity chat',
'antigravity --version',
'antigravity --diff',
'antigravity --list-extensions'
]
}
self.wfile.write(json.dumps(status_data).encode())
else:
self.send_response(404)
self.end_headers()
def log_message(self, format, *args):
print(f"[Antigravity VS Code] {format % args}")
def main():
port = int(os.environ.get('PORT', 7860))
server = HTTPServer(('0.0.0.0', port), AntigravityHandler)
print(f"š Antigravity VS Code Sandbox running on port {port}")
print(f"š Access at: http://localhost:{port}")
print(f"š VS Code features available via antigravity commands")
try:
server.serve_forever()
except KeyboardInterrupt:
print("\nShutting down Antigravity VS Code Sandbox...")
server.shutdown()
if __name__ == '__main__':
main()