app/api/v1
Public REST API.
app/api/internal
HMAC-protected connector callbacks.
app/realtime
Socket.IO server and typed emitters.
Developer guide
The backend lives in apps/api and is the source of truth for REST, Socket.IO, queue production, tenancy, persistence, and internal HMAC callbacks.
Key areas
apps/apiRequests enter at the edges, business logic sits in services, and shared infrastructure handles queues and security.
app/api/v1
Public REST API.
app/api/internal
HMAC-protected connector callbacks.
app/realtime
Socket.IO server and typed emitters.
app/services
Business logic.
app/models
SQLAlchemy ORM.
app/schemas
Pydantic I/O.
app/queue
BullMQ producer and API-side workers.
app/security
Hashing, JWT, HMAC, and cookies.
Transcripts and translation
Each rule has a second place in the code that has to agree with it. Change both together.
media_fetch.maybe_enqueue_enrichment only enqueues audio with the PTT/voice_note flag.
Worker enrichment supports an on-demand mode for transcripts the user asks for from the UI.
on_demand flag through its checks.The server exposes a tenant-scoped translate endpoint. The client translate helper handles trimming and user-facing errors.
TRANSLATE_TARGETS.cd apps/api
ruff check .
mypy app
pytest