// Type definitions
export type {
  TaskRepo, TaskLogRepo, TaskCommentRepo, RequirementCommentRepo, DeliverableRepo,
  TaskLogType, TaskLogRow,
  TaskCommentRow, RequirementCommentRow,
  ChannelMsg, ChannelMsgMetadata,
  ChatSession, ChatMessage,
  DeliverableRow, TeamRow, User,
  GroupChat, GroupChatMember,
  KnowledgeRow,
  ExternalAgentRow, GatewayMessageRow,
  MarketplaceTemplateRow, MarketplaceSkillRow, MarketplaceRatingRow,
} from './types.js';

// SQLite storage (sole backend)
export {
  openSqlite,
  closeSqlite,
  SqliteOrgRepo,
  SqliteAgentRepo,
  SqliteTaskRepo,
  SqliteTaskLogRepo,
  SqliteRequirementRepo,
  SqliteProjectRepo,
  SqliteMessageRepo,
  SqliteChatSessionRepo,
  SqliteChannelMessageRepo,
  SqliteUserRepo,
  SqliteTeamRepo,
  SqliteMarketplaceTemplateRepo,
  SqliteMarketplaceSkillRepo,
  SqliteMarketplaceRatingRepo,
  SqliteAgentKnowledgeRepo,
  SqliteTaskCommentRepo,
  SqliteRequirementCommentRepo,
  SqliteExternalAgentRepo,
  SqliteDeliverableRepo,
  SqliteActivityRepo,
  SqliteExecutionStreamRepo,
  SqliteMailboxRepo,
  SqliteDecisionRepo,
  SqliteNotificationRepo,
  SqliteApprovalRepo,
  SqliteGroupChatRepo,
  SqliteAuditRepo,
  SqliteStatusTransitionRepo,
  SqliteReadCursorRepo,
  migrateToExecutionStreamLogs,
  type SqliteExternalAgentRegistration,
  type ActivityRecord,
  type ActivityLogRecord,
  type ExecutionStreamRow,
  type MailboxItemRow,
  type DecisionRow,
  type NotificationRow,
  type ApprovalRow,
  type StatusTransitionRow,
  type ReadCursorRow,
} from './sqlite-storage.js';
