PersonaTrip-Agent / tools /user_trip_summary.py
tracyshen301
Configure Git LFS for image assets and prepare for push
ca1a2dd
raw
history blame
973 Bytes
import os
import json
from pymongo import MongoClient
from dotenv import load_dotenv
from trip_utils import format_trip_summary
load_dotenv()
client = MongoClient(os.getenv("MONGODB_URI"))
db = client.get_database()
collection = db.get_collection("travelrecords")
def summarize_trip(person_name: str, city: str) -> str:
"""Summarize a user's trip to a given city using MongoDB data."""
records = list(collection.find({
"name": {"$regex": person_name, "$options": "i"},
"$or": [
{"destinationName": city},
{"locationName": city}
]
}))
if not records:
return json.dumps({
"type": "text",
"message": f"No travel records found for {person_name} in {city}."
})
full_summaries = [format_trip_summary(rec) for rec in records]
final_summary = "\n---\n".join(full_summaries)
return json.dumps({
"type": "text",
"message": final_summary
})