added RAG, Multiuser, TG bot
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user