feat: improve session navigation
This commit is contained in:
@@ -72,6 +72,24 @@ class ChatService:
|
||||
def list_sessions(self) -> list[ChatSession]:
|
||||
return self.store.list_sessions()
|
||||
|
||||
def search_sessions(self, text: str) -> list[ChatSession]:
|
||||
normalized = text.strip()
|
||||
if not normalized:
|
||||
raise ValueError("Für die Suche fehlt ein Text.")
|
||||
return self.store.search_sessions(normalized)
|
||||
|
||||
def resolve_session(self, reference: str) -> LoadedSession:
|
||||
session = self.store.resolve_unique_prefix(reference)
|
||||
return self.load_session(session.id)
|
||||
|
||||
def rename_session(self, session_id: str, title: str) -> ChatSession:
|
||||
normalized = " ".join(title.split()).strip()
|
||||
if not normalized:
|
||||
raise ValueError("Der Sitzungstitel darf nicht leer sein.")
|
||||
if len(normalized) > 60:
|
||||
normalized = f"{normalized[:59].rstrip()}…"
|
||||
return self.store.rename_session(session_id, normalized)
|
||||
|
||||
def load_session(self, session_id: str) -> LoadedSession:
|
||||
session = self.store.get_session(session_id)
|
||||
supports_session = getattr(self.provider, "supports_session", None)
|
||||
|
||||
Reference in New Issue
Block a user