File size: 2,020 Bytes
c2b7a7b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
"""
Core package for the CS Kiosk prototype.

The project follows a modular layout inspired by Satyrn:

- ``backend.data``: catalog registry, data sources, and utilities.
- ``backend.tools``: analytic blueprints, analysis engine, conversation runtime helpers.
- ``backend.providers``: LLM clients/adapters and shared responders.
"""

from .data import (
    DataCatalog,
    EntityRecords,
    RelationshipDefinition,
    load_default_catalog,
    DataSource,
    CSVSource,
    FeedListSource,
    default_sources,
    canonicalize_name,
    generate_name_variants,
    tokenize_name,
)
from .tools import (
    Blueprint,
    BlueprintResult,
    AnalysisContext,
    Fact,
    FacultyByTopicBlueprint,
    LocationBlueprint,
    CenterBlueprint,
    AdvisorshipBlueprint,
    StaffSupportBlueprint,
    UpcomingEventsBlueprint,
    OfficeHoursBlueprint,
    PersonLookupBlueprint,
    AnalysisEngine,
)
from .providers import (
    BaseLLM,
    ChatMessage,
    LLMResponse,
    ProviderConfig,
    ToolCall,
    EchoProvider,
    OpenAIChat,
    ClaudeProvider,
    GeminiGenerative,
)
from .responders import Responder, LLMResponder
from . import mcp

__all__ = [
    # Data layer
    "DataCatalog",
    "EntityRecords",
    "RelationshipDefinition",
    "load_default_catalog",
    "DataSource",
    "CSVSource",
    "FeedListSource",
    "default_sources",
    "canonicalize_name",
    "generate_name_variants",
    "tokenize_name",
    # Tools layer
    "Blueprint",
    "BlueprintResult",
    "AnalysisContext",
    "Fact",
    "FacultyByTopicBlueprint",
    "LocationBlueprint",
    "CenterBlueprint",
    "AdvisorshipBlueprint",
    "StaffSupportBlueprint",
    "UpcomingEventsBlueprint",
    "OfficeHoursBlueprint",
    "PersonLookupBlueprint",
    "AnalysisEngine",
    # LLM layer
    "BaseLLM",
    "ChatMessage",
    "LLMResponse",
    "ProviderConfig",
    "ToolCall",
    "EchoProvider",
    "OpenAIChat",
    "ClaudeProvider",
    "GeminiGenerative",
    "Responder",
    "LLMResponder",
    "mcp",
]