Files
Home_assistant/backend/app/reminders_scoped/context.py
T
2026-06-13 20:20:56 +00:00

34 lines
1.2 KiB
Python

from typing import Any
from sqlalchemy.orm import Session
from app.reminders_scoped.service import RemindersService
MAX_IN_CONTEXT = 10
def get_reminders_snapshot(db: Session, user_id: int) -> dict[str, Any]:
return RemindersService(db, user_id).snapshot()
def format_reminders_context(snapshot: dict[str, Any]) -> str:
lines = ["[Напоминания]"]
upcoming = snapshot.get("upcoming") or []
tz = snapshot.get("timezone", "Europe/Moscow")
if not upcoming:
lines.append(
"Ближайших напоминаний нет. "
"create_reminder для «напомни через 15 минут», «завтра утром», точной даты."
)
return "\n".join(lines)
lines.append(f"Часовой пояс: {tz}. Tools: list_reminders, create_reminder, update_reminder, delete_reminder, complete_reminder.")
for item in upcoming[:MAX_IN_CONTEXT]:
rec = item.get("recurrence", "none")
rec_label = f" · повтор: {rec}" if rec and rec != "none" else ""
lines.append(
f"- #{item['id']} **{item['title']}** · {item.get('due_at_local', item.get('due_at'))}{rec_label}"
)
return "\n".join(lines)