package model

import "time"

// Session 对话会话
type Session struct {
	ID          string    `json:"id" db:"id"`
	UserID      string    `json:"user_id" db:"user_id"`
	Title       string    `json:"title" db:"title"`
	Persona     string    `json:"persona" db:"persona"` // cyrene | ...
	Mode        string    `json:"mode" db:"mode"`       // text | voice_assistant
	MessageCount int      `json:"message_count" db:"message_count"`
	IsActive    bool      `json:"is_active" db:"is_active"`
	CreatedAt   time.Time `json:"created_at" db:"created_at"`
	UpdatedAt   time.Time `json:"updated_at" db:"updated_at"`
}

// SessionCreateParams 创建会话参数
type SessionCreateParams struct {
	UserID  string `json:"user_id"`
	Title   string `json:"title"`
	Persona string `json:"persona"`
	Mode    string `json:"mode"`
}

// MainSession 主会话 — 用户可见的对话会话 (扩展 Session)
type MainSession struct {
	ID           string            `json:"id"`
	UserID       string            `json:"user_id"`
	Title        string            `json:"title"`
	Persona      string            `json:"persona"`
	Mode         string            `json:"mode"`
	Status       MainSessionStatus `json:"status"`
	MessageCount int               `json:"message_count"`
	CreatedAt    time.Time         `json:"created_at"`
	UpdatedAt    time.Time         `json:"updated_at"`

	// 新增字段
	SubSessions []string      `json:"sub_sessions"` // 关联的子会话 ID 列表
	LastIntent  *IntentResult `json:"last_intent"`  // 最近一次意图分析结果
}
