/**
 * Repository 聚合入口。消费方统一从这里 import：
 *   import { repos } from '@/lib/database/repositories'
 *   repos.session.findById(id)
 *   repos.agent.listByUser(userId)
 *
 * 也可直接 import 单个 repo（更精确的 tree-shaking）：
 *   import { sessionRepo } from '@/lib/database/repositories/session.repo'
 */
export { sessionRepo } from './session.repo'
export { messageRepo } from './message.repo'
export { agentRepo } from './agent.repo'
export { skillRepo } from './skill.repo'
export { agentSkillRepo } from './agent-skill.repo'
export { apiProviderRepo } from './api-provider.repo'
export { mcpServerRepo } from './mcp-server.repo'
export { hookRepo } from './hook.repo'
export { settingsRepo } from './settings.repo'
export { imChannelRepo } from './im-channel.repo'
export { channelBindingRepo } from './channel-binding.repo'
export { channelPermissionRepo } from './channel-permission.repo'
export { channelAuditRepo } from './channel-audit.repo'
export { cronTaskRepo } from './cron-task.repo'
export { taskExecutionRepo } from './task-execution.repo'
export { userRepo } from './user.repo'
export { accountRepo } from './account.repo'
export { authSessionRepo } from './auth-session.repo'

export { workspaceMemberRepo } from './workspace-member.repo'
export { webhookTokenRepo } from './webhook-token.repo'
export { invitationRepo } from './invitation.repo'
export { marketplaceRepo } from './marketplace.repo'
export { weixinContextTokenRepo } from './weixin-context-token.repo'
export { weixinSyncCursorRepo } from './weixin-sync-cursor.repo'
export { imPairingRequestRepo } from './im-pairing-request.repo'
export { verificationRepo } from './verification.repo'
export { dataClearRepo } from './data-clear.repo'
export { externalUserRepo } from './external-user.repo'
export { externalIdentityRepo } from './external-identity.repo'
export { wxappConfigRepo } from './wxapp-config.repo'
export { wxappTokenRepo } from './wxapp-token.repo'

import { sessionRepo } from './session.repo'
import { messageRepo } from './message.repo'
import { agentRepo } from './agent.repo'
import { skillRepo } from './skill.repo'
import { agentSkillRepo } from './agent-skill.repo'
import { apiProviderRepo } from './api-provider.repo'
import { mcpServerRepo } from './mcp-server.repo'
import { hookRepo } from './hook.repo'
import { settingsRepo } from './settings.repo'
import { imChannelRepo } from './im-channel.repo'
import { channelBindingRepo } from './channel-binding.repo'
import { channelPermissionRepo } from './channel-permission.repo'
import { channelAuditRepo } from './channel-audit.repo'
import { cronTaskRepo } from './cron-task.repo'
import { taskExecutionRepo } from './task-execution.repo'
import { userRepo } from './user.repo'
import { accountRepo } from './account.repo'
import { authSessionRepo } from './auth-session.repo'

import { workspaceMemberRepo } from './workspace-member.repo'
import { webhookTokenRepo } from './webhook-token.repo'
import { invitationRepo } from './invitation.repo'
import { marketplaceRepo } from './marketplace.repo'
import { weixinContextTokenRepo } from './weixin-context-token.repo'
import { weixinSyncCursorRepo } from './weixin-sync-cursor.repo'
import { imPairingRequestRepo } from './im-pairing-request.repo'
import { verificationRepo } from './verification.repo'
import { dataClearRepo } from './data-clear.repo'
import { externalUserRepo } from './external-user.repo'
import { externalIdentityRepo } from './external-identity.repo'
import { wxappConfigRepo } from './wxapp-config.repo'
import { wxappTokenRepo } from './wxapp-token.repo'

export const repos = {
  session: sessionRepo,
  message: messageRepo,
  agent: agentRepo,
  skill: skillRepo,
  agentSkill: agentSkillRepo,
  apiProvider: apiProviderRepo,
  mcpServer: mcpServerRepo,
  hook: hookRepo,
  settings: settingsRepo,
  imChannel: imChannelRepo,
  channelBinding: channelBindingRepo,
  channelPermission: channelPermissionRepo,
  channelAudit: channelAuditRepo,
  cronTask: cronTaskRepo,
  taskExecution: taskExecutionRepo,
  user: userRepo,
  account: accountRepo,
  authSession: authSessionRepo,

  workspaceMember: workspaceMemberRepo,
  webhookToken: webhookTokenRepo,
  invitation: invitationRepo,
  marketplace: marketplaceRepo,
  weixinContextToken: weixinContextTokenRepo,
  weixinSyncCursor: weixinSyncCursorRepo,
  imPairingRequest: imPairingRequestRepo,
  verification: verificationRepo,
  dataClear: dataClearRepo,
  externalUser: externalUserRepo,
  externalIdentity: externalIdentityRepo,
  wxappConfig: wxappConfigRepo,
  wxappToken: wxappTokenRepo,
}
