// TsmDB - MongoDB Wire Protocol compatible in-memory database server // Use the official MongoDB driver to connect to TsmdbServer // Re-export plugins for external use import * as plugins from './plugins.js'; export { plugins }; // Export BSON types for convenience export { ObjectId, Binary, Timestamp, Long, Decimal128, UUID } from 'bson'; // Export all types export * from './types/interfaces.js'; // Export errors export * from './errors/TsmdbErrors.js'; // Export storage adapters export type { IStorageAdapter } from './storage/IStorageAdapter.js'; export { MemoryStorageAdapter } from './storage/MemoryStorageAdapter.js'; export { FileStorageAdapter } from './storage/FileStorageAdapter.js'; export { OpLog } from './storage/OpLog.js'; export { WAL } from './storage/WAL.js'; export type { IWalEntry, TWalOperation } from './storage/WAL.js'; // Export engines export { QueryEngine } from './engine/QueryEngine.js'; export { UpdateEngine } from './engine/UpdateEngine.js'; export { AggregationEngine } from './engine/AggregationEngine.js'; export { IndexEngine } from './engine/IndexEngine.js'; export { TransactionEngine } from './engine/TransactionEngine.js'; export { QueryPlanner } from './engine/QueryPlanner.js'; export type { IQueryPlan, TQueryPlanType } from './engine/QueryPlanner.js'; export { SessionEngine } from './engine/SessionEngine.js'; export type { ISession, ISessionEngineOptions } from './engine/SessionEngine.js'; // Export server (the main entry point for using TsmDB) export { TsmdbServer } from './server/TsmdbServer.js'; export type { ITsmdbServerOptions } from './server/TsmdbServer.js'; // Export wire protocol utilities (for advanced usage) export { WireProtocol } from './server/WireProtocol.js'; export { CommandRouter } from './server/CommandRouter.js'; export type { ICommandHandler, IHandlerContext, ICursorState } from './server/CommandRouter.js'; // Export utilities export * from './utils/checksum.js';