Files
baiyue-logistics-chat/scripts/inspect_human_sessions.py
T

39 lines
1.2 KiB
Python
Raw Normal View History

"""Inspect recent human messages and open sessions without changing the database."""
import argparse
import sqlite3
from contextlib import closing
from pathlib import Path
DEFAULT_DB = Path(__file__).resolve().parents[1] / "history.db"
def inspect_sessions(db_path=None):
database = Path(db_path if db_path is not None else DEFAULT_DB).expanduser().resolve()
with closing(sqlite3.connect(database.as_uri() + "?mode=ro", uri=True)) as connection:
messages = connection.execute(
"SELECT * FROM human_messages ORDER BY id DESC LIMIT 5"
).fetchall()
sessions = connection.execute(
"SELECT id, status FROM human_sessions WHERE status!='closed' ORDER BY id"
).fetchall()
return messages, sessions
def main():
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument("--db", type=Path, default=DEFAULT_DB, help="Existing SQLite database")
args = parser.parse_args()
try:
messages, sessions = inspect_sessions(args.db)
except sqlite3.Error as error:
parser.exit(1, f"Database error: {error}\n")
print(messages)
print("---")
print(sessions)
if __name__ == "__main__":
main()