import { Global, Module } from '@nestjs/common'; import { createMemory, type Memory } from '@mosaic/memory'; import type { Db } from '@mosaic/db'; import { DB } from '../database/database.module.js'; import { MEMORY } from './memory.tokens.js'; import { MemoryController } from './memory.controller.js'; import { EmbeddingService } from './embedding.service.js'; @Global() @Module({ providers: [ { provide: MEMORY, useFactory: (db: Db): Memory => createMemory(db), inject: [DB], }, EmbeddingService, ], controllers: [MemoryController], exports: [MEMORY, EmbeddingService], }) export class MemoryModule {}