Schema: public_id + version columns with UNIQUE constraint,
delete_timestamp for soft-delete.
Tools: store_flashcard accepts optional public_id, update_flashcard
creates a new version preserving history, delete_flashcard inserts
a tombstone row and removes the Qdrant point.
Qdrant: point ID is public_id (only latest version indexed).
The embedding endpoint path was but OpenAI-compatible APIs
serve embeddings at . When EMBEDDING_BASE_URL is set to a
bare host (e.g. https://llm.aviron.ai), the resulting URL would be
/eembeddings instead of /v1/embeddings, returning 404.
Changed defaultBaseURL to not include /v1 and always use /v1/embeddings
as the endpoint path.