| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- """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"]
|