Spaces:
Runtime error
Runtime error
Download backend/app/models/support.py from firebird-technologies/NoteStack-Test: direct link, hf CLI and curl.
- Browser
- Download file 1.51 kB
-
https://huggingface.co/spaces/firebird-technologies/NoteStack-Test/resolve/main/backend/app/models/support.py
- Command line
-
hf download hf://spaces/firebird-technologies/NoteStack-Test/backend/app/models/support.py
-
curl -L -o support.py https://huggingface.co/spaces/firebird-technologies/NoteStack-Test/resolve/main/backend/app/models/support.py
1.51 kB
| import uuid | |
| from sqlalchemy import JSON, ForeignKey, Integer, String, Text, Uuid | |
| from sqlalchemy.orm import Mapped, mapped_column | |
| from app.db import Base | |
| from app.models.base import IdMixin, TimestampMixin | |
| class SupportConversation(IdMixin, TimestampMixin, Base): | |
| """One thread with the help bot. Owned by a user; the bot is only open to signed in writers.""" | |
| __tablename__ = "support_conversations" | |
| user_id: Mapped[uuid.UUID] = mapped_column(Uuid, ForeignKey("users.id", ondelete="CASCADE"), index=True) | |
| title: Mapped[str | None] = mapped_column(String(200)) | |
| # Rolling summary of turns that fell out of the recent window (see support/memory.py). | |
| summary: Mapped[str] = mapped_column(Text, default="") | |
| # Small structured facts: current page, visited pages, plan. | |
| session_state: Mapped[dict] = mapped_column(JSON, default=dict) | |
| # "Talk to a human" forms sent from this thread. Capped so the form cannot flood the inbox. | |
| escalation_count: Mapped[int] = mapped_column(Integer, default=0) | |
| class SupportMessage(IdMixin, TimestampMixin, Base): | |
| __tablename__ = "support_messages" | |
| conversation_id: Mapped[uuid.UUID] = mapped_column( | |
| Uuid, ForeignKey("support_conversations.id", ondelete="CASCADE"), index=True | |
| ) | |
| role: Mapped[str] = mapped_column(String(20)) # user | assistant | |
| content: Mapped[str] = mapped_column(Text) | |
| page_path: Mapped[str | None] = mapped_column(String(300)) | |
| cited_docs: Mapped[list | None] = mapped_column(JSON) | |