MCPcopy Create free account
hub / github.com/VectifyAI/OpenKB / resolve_session_id

Function resolve_session_id

openkb/agent/chat_session.py:220–244  ·  view source on GitHub ↗

Resolve a query to a full session id. ``query`` may be: - ``"__latest__"`` — returns the most recently updated session id. - A full session id — returned as-is if it exists. - A unique prefix of a session id — expanded to the full id. Returns ``None`` if no session matches. Rai

(kb_dir: Path, query: str)

Source from the content-addressed store, hash-verified

218
219
220def resolve_session_id(kb_dir: Path, query: str) -> str | None:
221 """Resolve a query to a full session id.
222
223 ``query`` may be:
224 - ``"__latest__"`` — returns the most recently updated session id.
225 - A full session id — returned as-is if it exists.
226 - A unique prefix of a session id — expanded to the full id.
227
228 Returns ``None`` if no session matches. Raises ``ValueError`` when a
229 prefix is ambiguous.
230 """
231 sessions = list_sessions(kb_dir)
232 if not sessions:
233 return None
234 if query == "__latest__":
235 return sessions[0]["id"]
236 for s in sessions:
237 if s["id"] == query:
238 return s["id"]
239 matches = [s["id"] for s in sessions if s["id"].startswith(query)]
240 if len(matches) == 1:
241 return matches[0]
242 if len(matches) > 1:
243 raise ValueError(f"Ambiguous session prefix '{query}' matches: {', '.join(matches)}")
244 return None
245
246
247def delete_session(kb_dir: Path, session_id: str) -> bool:

Callers 1

chatFunction · 0.90

Calls 1

list_sessionsFunction · 0.85

Tested by

no test coverage detected