feat: improve session navigation

This commit is contained in:
2026-07-30 19:45:05 +02:00
parent 112ae6d1da
commit 43c1f76d84
7 changed files with 284 additions and 15 deletions
+18
View File
@@ -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)