import type { UiMessage } from "@/data/dto/chat"; export interface ChatState { messages: UiMessage[]; isReplyingAI: boolean; pendingReplyCount: number; upgradePromptVisible: boolean; upgradeReason: "weekly_limit" | null; isLoadingMore: boolean; hasMore: boolean; historyOffset: number; /** history 加载完成标志(initial load —— local → network → save 跑完) * - guestSession.initializing / user sessions initializing 走 always barrier * - 不被 `loadMoreHistoryActor` 设置(翻页是另一码事) */ historyLoaded: boolean; paymentUnlockPending: boolean; unlockHistoryPromptVisible: boolean; lockedHistoryCount: number; isUnlockingHistory: boolean; unlockHistoryError: string | null; } export const initialState: ChatState = { messages: [], isReplyingAI: false, pendingReplyCount: 0, upgradePromptVisible: false, upgradeReason: null, isLoadingMore: false, hasMore: true, historyOffset: 0, historyLoaded: false, paymentUnlockPending: false, unlockHistoryPromptVisible: false, lockedHistoryCount: 0, isUnlockingHistory: false, unlockHistoryError: null, };