package com.emonster.taroaichat.domain.enumeration;

/**
 * The SessionStatus enumeration for state machine-based session management.
 * Each state represents a single purpose in the tarot reading flow.
 */
public enum SessionStatus {
    STARTED,                     // Initial state after card selection
    AWAITING_USER_CONTEXT,      // Waiting for user to share their situation
    READY_FOR_INTERPRETATION,   // Context received, show "Begin" button
    AWAITING_SITUATION,         // Ready to interpret Situation card
    AWAITING_OBSTACLE,          // Situation done, waiting for user readiness OR answering followup questions
    AWAITING_ADVICE,            // Obstacle done, waiting for user readiness OR answering followup questions
    READING_COMPLETE,           // All interpretation done, waiting for user to hit the complete reading button OR answering followup questions
    COMPLETED,                  // User viewed summary/ended session
    ABANDONED,                  // User left without completing
}
