* update ConversationMessage in protocal.py
* updated ConversationMessage instantiations in tasks.py and util.py to include message_id and frontend_message_id
* changed message_id and frontend_message_id to type UUID
* update ConversationMessage instantiation in main.py to include message_id and frontend_message_id"
* changed frontend_message_id to type str
* ran precomit
* Implement label task for initial prompts and replies
* Resolve formatting
* Include missing argument
* Modify text_labels API to match new model, update DB schema accordingly
* Send valid labels as part of label tasks
* Send correctly formatted valid_labels list
* Fix request format
* Fix request details for text-frontend reply label task
* Include message_id in tasks
* Address review comments
* Fix alembic tree
Using a shared protocol to serialize the error in the backend
allows clients to use that same protocol to deserialize it.
Changes to this protocol will be caught in tests.
* Leaderboard endpoints proof of concept
- New leaderboards router
- Two endpoints /api/v1/leaderboards/assistant & /api/v1/leaderboards/prompter
- Function in prompt_repository to calculate user scores
* Separating create vs 'eventual' evaluate routes
* Adding display_name to result
* Missing / in routes
* Updating route to be experimental
* Fixing format for pre-commit