import { observable } from "../_vendor/@legendapp/state/index.js";
const coreStore$ = observable({
  // 当前激活的聊天会话
  currentChat: null,
  // 全局错误信息，用于显示错误提示
  error: null,
  // 全局加载状态，用于显示加载指示器
  isLoading: false,
  // 深度思考模式开关，启用后AI会进行更深入的分析
  isDeepThinkingEnabled: false,
  // UI相关状态配置
  ui: {
    // 主题模式：亮色/暗色
    theme: "light",
    // 语言设置：英文(us)/中文(cn)
    language: "us",
    // 附件预览对话框状态
    attachmentPreviewDialog: {
      open: false,
      attachment: null
    }
  }
});
const coreComputed$ = observable({
  // 是否存在错误
  hasError: () => coreStore$.error.get() !== null,
  // 应用是否就绪（无错误且未加载中）
  isReady: () => !coreStore$.isLoading.get() && coreStore$.error.get() === null
});
const coreActions = {
  // 设置全局加载状态
  setLoading: (isLoading) => {
    coreStore$.isLoading.set(isLoading);
  },
  // 设置全局错误信息
  setError: (error) => {
    coreStore$.error.set(error);
  },
  // 清除错误信息
  clearError: () => {
    coreStore$.error.set(null);
  },
  // 设置当前聊天会话
  setCurrentChat: (chat) => {
    coreStore$.currentChat.set(chat);
  },
  // 切换聊天会话（可能需要重置其他相关状态）
  switchChat: (chat) => {
    coreStore$.currentChat.set(chat);
  },
  // 打开附件预览对话框
  setAttachmentPreviewDialog: (attachment) => {
    coreStore$.ui.attachmentPreviewDialog.attachment.set(attachment);
    coreStore$.ui.attachmentPreviewDialog.open.set(true);
  },
  // 关闭附件预览对话框
  closeAttachmentPreviewDialog: () => {
    coreStore$.ui.attachmentPreviewDialog.open.set(false);
    coreStore$.ui.attachmentPreviewDialog.attachment.set(null);
  },
  // 切换深度思考模式
  toggleDeepThinking: () => {
    coreStore$.isDeepThinkingEnabled.set(!coreStore$.isDeepThinkingEnabled.get());
  },
  // 设置深度思考模式状态
  setDeepThinking: (enabled) => {
    coreStore$.isDeepThinkingEnabled.set(enabled);
  },
  // 设置主题模式
  setTheme: (theme) => {
    coreStore$.ui.theme.set(theme);
  },
  // 切换主题模式（亮色/暗色）
  toggleTheme: () => {
    const next = coreStore$.ui.theme.get() === "dark" ? "light" : "dark";
    coreStore$.ui.theme.set(next);
  },
  // 设置界面语言
  setLanguage: (language) => {
    coreStore$.ui.language.set(language);
  }
};
export {
  coreActions,
  coreComputed$,
  coreStore$
};
//# sourceMappingURL=core-store.js.map
