diff --git a/shared/sx/primitives_io.py b/shared/sx/primitives_io.py index 83703bd..3356048 100644 --- a/shared/sx/primitives_io.py +++ b/shared/sx/primitives_io.py @@ -377,7 +377,10 @@ async def _io_asset_url( args: list[Any], kwargs: dict[str, Any], ctx: RequestContext ) -> str: """``(asset-url "/img/logo.png")`` → versioned static URL.""" - from shared.infrastructure.urls import asset_url + from quart import current_app + asset_url = current_app.jinja_env.globals.get("asset_url") + if asset_url is None: + raise RuntimeError("asset_url Jinja global not registered") path = str(args[0]) if args else "" return asset_url(path) @@ -458,7 +461,10 @@ def _bridge_app_url(service, *path_parts): return app_url(str(service), path) def _bridge_asset_url(*path_parts): - from shared.infrastructure.urls import asset_url + from quart import current_app + asset_url = current_app.jinja_env.globals.get("asset_url") + if asset_url is None: + raise RuntimeError("asset_url Jinja global not registered") path = str(path_parts[0]) if path_parts else "" return asset_url(path)