diff --git a/ai-hub/app/core/grpc/services/grpc_server.py b/ai-hub/app/core/grpc/services/grpc_server.py index 656ecf1..f187e48 100644 --- a/ai-hub/app/core/grpc/services/grpc_server.py +++ b/ai-hub/app/core/grpc/services/grpc_server.py @@ -277,6 +277,23 @@ # 1. Initialize Transport transport = GrpcServerTransport(context, signer=sign_bytes) node.stream = context # Still need for assistant.reconcile legacy calls + + # 1.5 Auto-Push Policy on Connect (Backwards Compatibility for older agents) + try: + from app.db.session import SessionLocal + from app.db import models + db = SessionLocal() + db_node = db.query(models.AgentNode).filter(models.AgentNode.node_id == node_id).first() + if db_node and db_node.skill_config: + policy = self._build_sandbox_policy(db_node.skill_config) + transport.send(agent_pb2.ServerTaskMessage(policy_update=policy)) + logger.info(f"[🔒] Auto-pushed policy to {node_id} on connect.") + db.close() + except Exception as e: + logger.error(f"[🔒] Failed to auto-push policy to {node_id}: {e}") + + # 2. Setup Listeners + self.mesh_core.register_transport(node_id, transport) # 2. Register in Mesh Core self.mesh_core.register_node(node_id, node.user_id, node.metadata, transport)