"""Legacy Host adapters kept outside the installable Agent framework package.""" from __future__ import annotations import importlib from typing import Any, Dict, List, Optional from agent.tools.builtin.content.quality import set_post_evaluator_factory from agent.trace.project_environment import ProjectEnvironment class LegacyExampleResolver: async def resolve( self, project_name: str, messages: Optional[List[Dict[str, Any]]] = None, ) -> Optional[ProjectEnvironment]: module_name = f"examples.{project_name}.run" try: module = importlib.import_module(module_name) except ImportError as exc: if getattr(exc, "name", None) == module_name: return None raise initializer = getattr(module, "init_project_env", None) if initializer is None: return None if messages is None: runner, resolved_messages, config = await initializer() else: runner, resolved_messages, config = await initializer(messages) return ProjectEnvironment(runner, resolved_messages, config) def configure_legacy_content_adapters() -> None: """Preserve the old optional source scorer without coupling the framework.""" def create_evaluator() -> Any: module = importlib.import_module( "examples.process_pipeline.script.evaluate_source_quality" ) return module.SourceQualityEvaluator() set_post_evaluator_factory(create_evaluator) __all__ = ["LegacyExampleResolver", "configure_legacy_content_adapters"]