Spaces:
Sleeping
Sleeping
File size: 1,550 Bytes
95241be 81a2360 c752e2d 95241be 81a2360 95241be c752e2d 2a327ca baa1efb 95241be 2a327ca 95241be 2a327ca 81a2360 c752e2d 95241be 81a2360 95241be c752e2d 2a327ca baa1efb 95241be 2a327ca |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
"""
Orchestrator Package
Intelligent task routing and execution
"""
from app.orchestrator.classifier import TaskClassifier
from app.orchestrator.actions.action_executor import ActionExecutor
from app.orchestrator.parameter_extractor import ParameterExtractor
from app.orchestrator.models import (
TaskClassification,
ContentAnalysis,
TaskType,
ComplexityLevel,
OutputFormat
)
from app.orchestrator.parameter_models import (
ExtractedParameters,
ParameterExtractionResult,
DataSource,
FilterCondition,
VisualizationRequirement
)
# Remove direct import - causes circular dependency
# from app.orchestrator.orchestrator_engine import OrchestratorEngine
from app.orchestrator.execution_context import ExecutionContext
__all__ = [
"TaskClassifier",
"ActionExecutor",
"ParameterExtractor",
"TaskClassification",
"ContentAnalysis",
"TaskType",
"ComplexityLevel",
"OutputFormat",
"ExtractedParameters",
"ParameterExtractionResult",
"DataSource",
"FilterCondition",
"VisualizationRequirement",
"OrchestratorEngine", # Keep in __all__ for documentation
"ExecutionContext",
]
# Lazy import to avoid circular dependency
def __getattr__(name):
"""Lazy import for OrchestratorEngine to break circular dependency"""
if name == "OrchestratorEngine":
from app.orchestrator.orchestrator_engine import OrchestratorEngine
return OrchestratorEngine
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|