|
28 | 28 | from .parallel_agent import ParallelAgent |
29 | 29 | from .run_config import RunConfig |
30 | 30 | from .sequential_agent import SequentialAgent |
| 31 | +else: |
| 32 | + import importlib |
31 | 33 |
|
32 | | -def __getattr__(name: str): |
33 | | - if name == 'BaseAgent': |
34 | | - from .base_agent import BaseAgent |
35 | | - return BaseAgent |
36 | | - if name == 'Context': |
37 | | - from .context import Context |
38 | | - return Context |
39 | | - if name == 'InvocationContext': |
40 | | - from .invocation_context import InvocationContext |
41 | | - return InvocationContext |
42 | | - if name == 'LiveRequest': |
43 | | - from .live_request_queue import LiveRequest |
44 | | - return LiveRequest |
45 | | - if name == 'LiveRequestQueue': |
46 | | - from .live_request_queue import LiveRequestQueue |
47 | | - return LiveRequestQueue |
48 | | - if name == 'Agent': |
49 | | - from .llm_agent import Agent |
50 | | - return Agent |
51 | | - if name == 'LlmAgent': |
52 | | - from .llm_agent import LlmAgent |
53 | | - return LlmAgent |
54 | | - if name == 'LoopAgent': |
55 | | - from .loop_agent import LoopAgent |
56 | | - return LoopAgent |
57 | | - if name == 'McpInstructionProvider': |
58 | | - from .mcp_instruction_provider import McpInstructionProvider |
59 | | - return McpInstructionProvider |
60 | | - if name == 'ParallelAgent': |
61 | | - from .parallel_agent import ParallelAgent |
62 | | - return ParallelAgent |
63 | | - if name == 'RunConfig': |
64 | | - from .run_config import RunConfig |
65 | | - return RunConfig |
66 | | - if name == 'SequentialAgent': |
67 | | - from .sequential_agent import SequentialAgent |
68 | | - return SequentialAgent |
69 | | - raise AttributeError(f"module {__name__} has no attribute {name}") |
| 34 | + _LAZY_IMPORTS = { |
| 35 | + "BaseAgent": ".base_agent", |
| 36 | + "Context": ".context", |
| 37 | + "InvocationContext": ".invocation_context", |
| 38 | + "LiveRequest": ".live_request_queue", |
| 39 | + "LiveRequestQueue": ".live_request_queue", |
| 40 | + "Agent": ".llm_agent", |
| 41 | + "LlmAgent": ".llm_agent", |
| 42 | + "LoopAgent": ".loop_agent", |
| 43 | + "McpInstructionProvider": ".mcp_instruction_provider", |
| 44 | + "ParallelAgent": ".parallel_agent", |
| 45 | + "RunConfig": ".run_config", |
| 46 | + "SequentialAgent": ".sequential_agent", |
| 47 | + } |
| 48 | + |
| 49 | + def __getattr__(name: str): |
| 50 | + if name in _LAZY_IMPORTS: |
| 51 | + module = importlib.import_module(_LAZY_IMPORTS[name], __name__) |
| 52 | + return getattr(module, name) |
| 53 | + raise AttributeError(f"module {__name__} has no attribute {name}") |
70 | 54 |
|
71 | 55 | __all__ = [ |
72 | 56 | 'Agent', |
|
0 commit comments