From bf869c630c49311617de83e52f087f5fb8e578bb Mon Sep 17 00:00:00 2001 From: Dillon DuPont Date: Mon, 26 May 2025 23:25:42 -0400 Subject: [PATCH] renamed var to container_name --- examples/computer_examples.py | 2 +- libs/agent/agent/ui/gradio/app.py | 50 +++++++++---------- libs/computer-server/computer_server/main.py | 20 ++++---- .../computer/providers/cloud/provider.py | 2 +- 4 files changed, 37 insertions(+), 37 deletions(-) diff --git a/examples/computer_examples.py b/examples/computer_examples.py index 34dd8c5b..86a7deb0 100644 --- a/examples/computer_examples.py +++ b/examples/computer_examples.py @@ -45,7 +45,7 @@ async def main(): # computer = Computer( # os_type="linux", # api_key=os.getenv("CUA_API_KEY"), - # name=os.getenv("VM_NAME"), + # name=os.getenv("CONTAINER_NAME"), # provider_type=VMProviderType.CLOUD, # ) diff --git a/libs/agent/agent/ui/gradio/app.py b/libs/agent/agent/ui/gradio/app.py index 9d4cf9e8..b4f8bddd 100644 --- a/libs/agent/agent/ui/gradio/app.py +++ b/libs/agent/agent/ui/gradio/app.py @@ -521,7 +521,7 @@ def create_gradio_ui( ] # Function to generate Python code based on configuration and tasks - def generate_python_code(agent_loop_choice, provider, model_name, tasks, provider_url, recent_images=3, save_trajectory=True, computer_os="macos", computer_provider="lume", vm_name="", cua_cloud_api_key=""): + def generate_python_code(agent_loop_choice, provider, model_name, tasks, provider_url, recent_images=3, save_trajectory=True, computer_os="macos", computer_provider="lume", container_name="", cua_cloud_api_key=""): """Generate Python code for the current configuration and tasks. Args: @@ -534,7 +534,7 @@ def create_gradio_ui( save_trajectory: Whether to save the agent trajectory computer_os: Operating system type for the computer computer_provider: Provider type for the computer - vm_name: Optional VM name + container_name: Optional VM name cua_cloud_api_key: Optional CUA Cloud API key Returns: @@ -552,8 +552,8 @@ def create_gradio_ui( computer_args.append(f'os_type="{computer_os}"') if computer_provider != "lume": computer_args.append(f'provider_type="{computer_provider}"') - if vm_name: - computer_args.append(f'name="{vm_name}"') + if container_name: + computer_args.append(f'name="{container_name}"') if cua_cloud_api_key: computer_args.append(f'api_key="{cua_cloud_api_key}"') @@ -734,11 +734,11 @@ if __name__ == "__main__": info="Select the computer provider", ) - vm_name = gr.Textbox( - label="VM Name", - placeholder="Enter VM name (optional)", + container_name = gr.Textbox( + label="Container Name", + placeholder="Enter container name (optional)", value="", - info="Optional name for the virtual machine", + info="Optional name for the container", ) cua_cloud_api_key = gr.Textbox( @@ -1072,7 +1072,7 @@ if __name__ == "__main__": anthropic_key_input=None, computer_os="macos", computer_provider="lume", - vm_name="", + container_name="", cua_cloud_api_key="", ): if not history: @@ -1182,7 +1182,7 @@ if __name__ == "__main__": "recent_images": recent_imgs, "computer_os": computer_os, "computer_provider": computer_provider, - "vm_name": vm_name, + "container_name": container_name, "cua_cloud_api_key": cua_cloud_api_key, } save_settings(current_settings) @@ -1203,7 +1203,7 @@ if __name__ == "__main__": provider_base_url=custom_url_value if is_oaicompat else None, computer_os=computer_os, computer_provider=computer_provider, - computer_name=vm_name, + computer_name=container_name, computer_api_key=cua_cloud_api_key, verbosity=logging.DEBUG, # Added verbosity here ) @@ -1333,7 +1333,7 @@ if __name__ == "__main__": anthropic_api_key_input, computer_os, computer_provider, - vm_name, + container_name, cua_cloud_api_key, ], outputs=[chatbot_history], @@ -1353,7 +1353,7 @@ if __name__ == "__main__": # Function to update the code display based on configuration and chat history - def update_code_display(agent_loop, model_choice_val, custom_model_val, chat_history, provider_base_url, recent_images_val, save_trajectory_val, computer_os, computer_provider, vm_name, cua_cloud_api_key): + def update_code_display(agent_loop, model_choice_val, custom_model_val, chat_history, provider_base_url, recent_images_val, save_trajectory_val, computer_os, computer_provider, container_name, cua_cloud_api_key): # Extract messages from chat history messages = [] if chat_history: @@ -1377,59 +1377,59 @@ if __name__ == "__main__": save_trajectory_val, computer_os, computer_provider, - vm_name, + container_name, cua_cloud_api_key ) # Update code display when configuration changes agent_loop.change( update_code_display, - inputs=[agent_loop, model_choice, custom_model, chatbot_history, provider_base_url, recent_images, save_trajectory, computer_os, computer_provider, vm_name, cua_cloud_api_key], + inputs=[agent_loop, model_choice, custom_model, chatbot_history, provider_base_url, recent_images, save_trajectory, computer_os, computer_provider, container_name, cua_cloud_api_key], outputs=[code_display] ) model_choice.change( update_code_display, - inputs=[agent_loop, model_choice, custom_model, chatbot_history, provider_base_url, recent_images, save_trajectory, computer_os, computer_provider, vm_name, cua_cloud_api_key], + inputs=[agent_loop, model_choice, custom_model, chatbot_history, provider_base_url, recent_images, save_trajectory, computer_os, computer_provider, container_name, cua_cloud_api_key], outputs=[code_display] ) custom_model.change( update_code_display, - inputs=[agent_loop, model_choice, custom_model, chatbot_history, provider_base_url, recent_images, save_trajectory, computer_os, computer_provider, vm_name, cua_cloud_api_key], + inputs=[agent_loop, model_choice, custom_model, chatbot_history, provider_base_url, recent_images, save_trajectory, computer_os, computer_provider, container_name, cua_cloud_api_key], outputs=[code_display] ) chatbot_history.change( update_code_display, - inputs=[agent_loop, model_choice, custom_model, chatbot_history, provider_base_url, recent_images, save_trajectory, computer_os, computer_provider, vm_name, cua_cloud_api_key], + inputs=[agent_loop, model_choice, custom_model, chatbot_history, provider_base_url, recent_images, save_trajectory, computer_os, computer_provider, container_name, cua_cloud_api_key], outputs=[code_display] ) recent_images.change( update_code_display, - inputs=[agent_loop, model_choice, custom_model, chatbot_history, provider_base_url, recent_images, save_trajectory, computer_os, computer_provider, vm_name, cua_cloud_api_key], + inputs=[agent_loop, model_choice, custom_model, chatbot_history, provider_base_url, recent_images, save_trajectory, computer_os, computer_provider, container_name, cua_cloud_api_key], outputs=[code_display] ) save_trajectory.change( update_code_display, - inputs=[agent_loop, model_choice, custom_model, chatbot_history, provider_base_url, recent_images, save_trajectory, computer_os, computer_provider, vm_name, cua_cloud_api_key], + inputs=[agent_loop, model_choice, custom_model, chatbot_history, provider_base_url, recent_images, save_trajectory, computer_os, computer_provider, container_name, cua_cloud_api_key], outputs=[code_display] ) computer_os.change( update_code_display, - inputs=[agent_loop, model_choice, custom_model, chatbot_history, provider_base_url, recent_images, save_trajectory, computer_os, computer_provider, vm_name, cua_cloud_api_key], + inputs=[agent_loop, model_choice, custom_model, chatbot_history, provider_base_url, recent_images, save_trajectory, computer_os, computer_provider, container_name, cua_cloud_api_key], outputs=[code_display] ) computer_provider.change( update_code_display, - inputs=[agent_loop, model_choice, custom_model, chatbot_history, provider_base_url, recent_images, save_trajectory, computer_os, computer_provider, vm_name, cua_cloud_api_key], + inputs=[agent_loop, model_choice, custom_model, chatbot_history, provider_base_url, recent_images, save_trajectory, computer_os, computer_provider, container_name, cua_cloud_api_key], outputs=[code_display] ) - vm_name.change( + container_name.change( update_code_display, - inputs=[agent_loop, model_choice, custom_model, chatbot_history, provider_base_url, recent_images, save_trajectory, computer_os, computer_provider, vm_name, cua_cloud_api_key], + inputs=[agent_loop, model_choice, custom_model, chatbot_history, provider_base_url, recent_images, save_trajectory, computer_os, computer_provider, container_name, cua_cloud_api_key], outputs=[code_display] ) cua_cloud_api_key.change( update_code_display, - inputs=[agent_loop, model_choice, custom_model, chatbot_history, provider_base_url, recent_images, save_trajectory, computer_os, computer_provider, vm_name, cua_cloud_api_key], + inputs=[agent_loop, model_choice, custom_model, chatbot_history, provider_base_url, recent_images, save_trajectory, computer_os, computer_provider, container_name, cua_cloud_api_key], outputs=[code_display] ) diff --git a/libs/computer-server/computer_server/main.py b/libs/computer-server/computer_server/main.py index 10b45f32..d6069d66 100644 --- a/libs/computer-server/computer_server/main.py +++ b/libs/computer-server/computer_server/main.py @@ -49,13 +49,13 @@ async def websocket_endpoint(websocket: WebSocket): # WebSocket message size is configured at the app or endpoint level, not on the instance await manager.connect(websocket) - # Check if VM_NAME is set (indicating cloud provider) - vm_name = os.environ.get("VM_NAME") + # Check if CONTAINER_NAME is set (indicating cloud provider) + container_name = os.environ.get("CONTAINER_NAME") # If cloud provider, perform authentication handshake - if vm_name: + if container_name: try: - logger.info(f"Cloud provider detected. VM_NAME: {vm_name}. Waiting for authentication...") + logger.info(f"Cloud provider detected. CONTAINER_NAME: {container_name}. Waiting for authentication...") # Wait for authentication message auth_data = await websocket.receive_json() @@ -72,11 +72,11 @@ async def websocket_endpoint(websocket: WebSocket): # Extract credentials client_api_key = auth_data.get("params", {}).get("api_key") - client_vm_name = auth_data.get("params", {}).get("vm_name") + client_container_name = auth_data.get("params", {}).get("container_name") # Layer 1: VM Identity Verification - if client_vm_name != vm_name: - logger.warning(f"VM name mismatch. Expected: {vm_name}, Got: {client_vm_name}") + if client_container_name != container_name: + logger.warning(f"VM name mismatch. Expected: {container_name}, Got: {client_container_name}") await websocket.send_json({ "success": False, "error": "VM name mismatch" @@ -103,7 +103,7 @@ async def websocket_endpoint(websocket: WebSocket): } async with session.get( - f"https://www.trycua.com/api/vm/auth?vm_name={vm_name}", + f"https://www.trycua.com/api/vm/auth?container_name={container_name}", headers=headers, ) as resp: if resp.status != 200: @@ -120,7 +120,7 @@ async def websocket_endpoint(websocket: WebSocket): # If we get a 200 response with VNC URL, the VM exists and user has access vnc_url = (await resp.text()).strip() if not vnc_url: - logger.warning(f"No VNC URL returned for VM: {vm_name}") + logger.warning(f"No VNC URL returned for VM: {container_name}") await websocket.send_json({ "success": False, "error": "VM not found" @@ -129,7 +129,7 @@ async def websocket_endpoint(websocket: WebSocket): manager.disconnect(websocket) return - logger.info(f"Authentication successful for VM: {vm_name}") + logger.info(f"Authentication successful for VM: {container_name}") await websocket.send_json({ "success": True, "message": "Authenticated" diff --git a/libs/computer/computer/providers/cloud/provider.py b/libs/computer/computer/providers/cloud/provider.py index f030bb50..bc2226a8 100644 --- a/libs/computer/computer/providers/cloud/provider.py +++ b/libs/computer/computer/providers/cloud/provider.py @@ -65,7 +65,7 @@ class CloudProvider(BaseVMProvider): async def get_ip(self, name: Optional[str] = None, storage: Optional[str] = None, retry_delay: int = 2) -> str: """ - Return the VM's IP address as '{vm_name}.containers.cloud.trycua.com'. + Return the VM's IP address as '{container_name}.containers.cloud.trycua.com'. Uses the provided 'name' argument (the VM name requested by the caller), falling back to self.name only if 'name' is None. Retries up to 3 times with retry_delay seconds if hostname is not available.