export const KEYS = {
  session: "harbor.session",
  /** UI 語言與幣別 { locale, currency } */
  uiPrefs: "harbor.ui.prefs",
  /** mock 會員 email／密碼（改資料後 logout 仍可登） */
  memberCredentials: "harbor.member.credentials",
  /** mock 會員公開資料（display_name 等） */
  memberProfile: "harbor.member.profile",
  /** 租戶會員列表（管理員用）TenantUserRecord[] */
  tenantUsers: "harbor.tenant.users",
  /**
   * 租戶會員 seed 版本。升高時 loadTenantUsers 會重灌示範樹
   * （保留 demo/alice 等已知帳密若仍存在）。
   */
  tenantUsersSeedVer: "harbor.tenant.users.seed_ver",
  /** 管理員最近揭示的臨時密碼（可重整；手動關閉才清除） */
  adminTempPassword: "harbor.admin.temp_password",
  /** mock 重設密碼 token { token, email, expires_at } */
  passwordReset: "harbor.auth.password_reset",
  /** mock 信箱驗證碼 { email, code, expires_at } */
  emailVerification: "harbor.auth.email_verification",
  /** AI／搜尋用量事件 UsageEvent[]（含 uid） */
  usageEvents: "harbor.usage.events",
  /** @deprecated 舊全域方案；改讀 usageMemberPrefs */
  usagePlanId: "harbor.usage.plan",
  /** 每人方案／無限：Record<uid, UsageMemberPrefs> */
  usageMemberPrefs: "harbor.usage.member_prefs",
  /** mock 方案購買紀錄 PlanPurchase[] */
  planPurchases: "harbor.usage.plan_purchases",
  datasource: "harbor.datasource",
  accounts: "harbor.accounts",
  plays: "harbor.plays",
  outbox: "harbor.outbox",
  jobs: "harbor.jobs",
  notifications: "harbor.notifications",
  personas: "harbor.personas",
  ownPosts: "harbor.own_posts",
  inspirations: "harbor.inspirations",
  trends: "harbor.trends",
  mentions: "harbor.mentions",
  viralSamples: "harbor.viral_samples",
  brands: "harbor.brands",
  brandProducts: "harbor.brand_products",
  scoutTopics: "harbor.scout_topics",
  scoutPosts: "harbor.scout_posts",
  /** 探查已完成的功課（依主題） */
  scoutHomework: "harbor.scout.homework",
  /** 探查今日進度 { date, done, goalActivity, goalValue } */
  scoutToday: "harbor.scout.today",
  /** 靈感可重用元素庫 */
  inspireElements: "harbor.inspire.elements",
  /** 靈感當前聊天 session */
  inspireSession: "harbor.inspire.session",
  aiSettings: "harbor.ai_settings",
  placementSettings: "harbor.placement_settings",
  /** bump when seed shape changes so local mock re-seeds */
  seeded: "harbor.seeded.v8",
  playDraft: "harbor.play_draft",
  activePersonaId: "harbor.active_persona_id",
  activeBrandId: "harbor.active_brand_id",
  ownPostsSyncedAt: "harbor.own_posts_synced_at",
  /** 帳號成效 sync 閘：{ [accountId]: { lastSyncMs, pastOnceDone } } */
  ownPostsSyncMeta: "harbor.own_posts.sync_meta",
  /** 帳號月度分析歷史 AccountInsightsSnapshot[] */
  accountInsightHistory: "harbor.account.insight_history",
  /** 使用者手動關掉 Today 頁「上手三步」引導後不再顯示 */
  radarOnboardingDismissed: "harbor.radar.onboarding_dismissed",
} as const;
