import sys
import os
# Add root to path to find protos and other packages
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
import signal
from agent_node.node import AgentNode
from agent_node.config import NODE_ID
def main():
print(f"[*] Starting Antigravity Agent Node: {NODE_ID}...")
# 1. Initialization
node = AgentNode()
# 2. Signal Handling for Graceful Shutdown
def handle_exit(sig, frame):
node.stop()
sys.exit(0)
signal.signal(signal.SIGINT, handle_exit)
signal.signal(signal.SIGTERM, handle_exit)
# Handshake: Sync configuration and Sandbox Policy
node.sync_configuration()
# 3. Background: Start health reporting (Heartbeats)
node.start_health_reporting()
# 4. Foreground: Run Persistent Task Stream
node.run_task_stream()
if __name__ == '__main__':
main()