lila/packages/shared/src
lila ce6dc4fa32 feat(shared): add quiz session Zod schemas
Add the shared schemas for the quiz request/response cycle, defining
the contract between the API and the frontend.

- Reorganise packages/shared: move schemas into a schemas/ subdirectory
  grouped by domain. Delete the old flat schema.ts.
- Add AnswerOption, GameQuestion, GameSession, AnswerSubmission, and
  AnswerResult alongside the existing GameRequest.
- optionId is an integer 0-3 (positional, shuffled at session-build
  time so position carries no information).
- questionId and sessionId are UUIDs (globally unique, opaque, natural
  keys for Valkey storage later).
- gloss is  rather than optional, for a predictable
  shape on the frontend.
- options array enforced to exactly 4 elements at the schema level.
2026-04-10 21:43:53 +02:00
..
schemas feat(shared): add quiz session Zod schemas 2026-04-10 21:43:53 +02:00
constants.ts feat: scaffold quiz API vertical slice 2026-04-09 13:47:01 +02:00
index.ts feat(shared): add quiz session Zod schemas 2026-04-10 21:43:53 +02:00