42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
from __future__ import annotations
|
|
|
|
from typing import TYPE_CHECKING, Any
|
|
|
|
from .openai_conversations_session import OpenAIConversationsSession
|
|
from .openai_responses_compaction_session import OpenAIResponsesCompactionSession
|
|
from .session import (
|
|
OpenAIResponsesCompactionArgs,
|
|
OpenAIResponsesCompactionAwareSession,
|
|
Session,
|
|
SessionABC,
|
|
is_openai_responses_compaction_aware_session,
|
|
)
|
|
from .session_settings import SessionSettings
|
|
from .util import SessionInputCallback
|
|
|
|
if TYPE_CHECKING:
|
|
from .sqlite_session import SQLiteSession
|
|
|
|
__all__ = [
|
|
"Session",
|
|
"SessionABC",
|
|
"SessionInputCallback",
|
|
"SessionSettings",
|
|
"SQLiteSession",
|
|
"OpenAIConversationsSession",
|
|
"OpenAIResponsesCompactionSession",
|
|
"OpenAIResponsesCompactionArgs",
|
|
"OpenAIResponsesCompactionAwareSession",
|
|
"is_openai_responses_compaction_aware_session",
|
|
]
|
|
|
|
|
|
def __getattr__(name: str) -> Any:
|
|
if name == "SQLiteSession":
|
|
from .sqlite_session import SQLiteSession
|
|
|
|
globals()[name] = SQLiteSession
|
|
return SQLiteSession
|
|
|
|
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|