diff --git a/python/packages/devui/agent_framework_devui/_deployment.py b/python/packages/devui/agent_framework_devui/_deployment.py index e1cf1d5c3d..45f99a315a 100644 --- a/python/packages/devui/agent_framework_devui/_deployment.py +++ b/python/packages/devui/agent_framework_devui/_deployment.py @@ -10,6 +10,7 @@ from collections.abc import AsyncGenerator from datetime import datetime, timezone from pathlib import Path +from urllib.parse import urlparse from .models._discovery_models import Deployment, DeploymentConfig, DeploymentEvent @@ -467,11 +468,18 @@ async def _deploy_to_azure( await event_queue.put( DeploymentEvent(type="deploy.progress", message=f"Docker build: {line_text}") ) - elif "https://" in line_text and ".azurecontainerapps.io" in line_text: - # Deployment URL detected - await event_queue.put( - DeploymentEvent(type="deploy.progress", message="Deployment URL generated!") - ) + elif "https://" in line_text: + # Try to extract all URLs and check if any is on azurecontainerapps.io + urls = re.findall(r'https://[^\s<>"]+', line_text) + for url in urls: + # Strip common trailing punctuation to ensure clean URL parsing + url_clean = url.rstrip(".,;:!?'\")}]") + host = urlparse(url_clean).hostname + if host and (host == "azurecontainerapps.io" or host.endswith(".azurecontainerapps.io")): + await event_queue.put( + DeploymentEvent(type="deploy.progress", message="Deployment URL generated!") + ) + break # Wait for process to complete return_code = await process.wait() diff --git a/python/uv.lock b/python/uv.lock index f0657d5f68..a9a0e9592d 100644 --- a/python/uv.lock +++ b/python/uv.lock @@ -190,7 +190,7 @@ requires-dist = [ [[package]] name = "agent-framework-ag-ui" -version = "1.0.0b251114" +version = "1.0.0b251117" source = { editable = "packages/ag-ui" } dependencies = [ { name = "ag-ui-protocol", marker = "sys_platform == 'darwin' or sys_platform == 'linux' or sys_platform == 'win32'" },