File size: 1,347 Bytes
f9db034
b1d075d
f9db034
b1d075d
 
f9db034
 
b1d075d
 
 
 
 
 
 
f9db034
 
b1d075d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f9db034
b1d075d
 
 
 
 
 
 
 
 
 
f9db034
b1d075d
 
 
 
f9db034
b1d075d
 
f9db034
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
55
56
57
58
59
"""
Models Module

Unified data models and schemas for the BeatDebate system.
Provides consistent data structures across all services and components.
"""

from .metadata_models import (
    MetadataSource,
    UnifiedTrackMetadata,
    UnifiedArtistMetadata,
    SearchResult,
    merge_track_metadata,
    calculate_quality_scores
)

# Import existing models for backward compatibility
try:
    from .agent_models import (
        SystemConfig,
        MusicRecommenderState,
        RecommendationRequest,
        RecommendationResult
    )
except ImportError:
    # Handle case where agent_models doesn't exist yet
    pass

try:
    from .recommendation_models import (
        TrackRecommendation,
        RecommendationContext,
        RecommendationMetrics
    )
except ImportError:
    # Handle case where recommendation_models doesn't exist yet
    pass

__all__ = [
    # Unified metadata models
    "MetadataSource",
    "UnifiedTrackMetadata", 
    "UnifiedArtistMetadata",
    "SearchResult",
    "merge_track_metadata",
    "calculate_quality_scores",
    
    # Agent models (if available)
    "SystemConfig",
    "MusicRecommenderState",
    "RecommendationRequest",
    "RecommendationResult",
    
    # Recommendation models (if available)
    "TrackRecommendation",
    "RecommendationContext", 
    "RecommendationMetrics",
]