diff --git a/apps/api/src/api/config/config_profiles.py b/apps/api/src/api/config/config_profiles.py index 7483ed5..7378ae2 100644 --- a/apps/api/src/api/config/config_profiles.py +++ b/apps/api/src/api/config/config_profiles.py @@ -34,7 +34,6 @@ from src.services.config.crud_service import ( update_profile, validate_default_profiles, ) -from src.services.tool.instance_service import resolve_git_mounts from src.services.config.resolver_service import ( resolve_default_profile, validate_git_url, @@ -193,6 +192,10 @@ async def refresh_profile_git_mounts( status_code=status.HTTP_403_FORBIDDEN, detail="Not authorized" ) + # Import lazily: instance_service imports tool schemas that transitively + # load API routers, so importing it during router initialization cycles. + from src.services.tool.instance_service import resolve_git_mounts + outcomes = await _running_profile_outcomes(session, profile.id) for outcome in outcomes: instance = await session.get(ToolInstance, uuid.UUID(outcome["instance_id"]))