@@ -5,9 +5,13 @@ import { MemoryStore } from '../../store/MemoryStore.js';
55import { InMemoryVectorStore } from '../../../../rag/vector_stores/InMemoryVectorStore.js' ;
66import type { IKnowledgeGraph } from '../../graph/knowledge/IKnowledgeGraph.js' ;
77import type { IEmbeddingManager } from '../../../../core/embeddings/IEmbeddingManager.js' ;
8- import type { MemoryTrace , PADState , MemoryScope } from '../../../core/types.js' ;
8+ import type { MemoryTrace , MemoryScope } from '../../../core/types.js' ;
9+ import type { PADState } from '../../../core/config.js' ;
910
10- class HashEmbedder implements IEmbeddingManager {
11+ // Test stubs: use structural typing + `as unknown as IEmbeddingManager`
12+ // at construction sites. Interfaces have methods (initialize,
13+ // getEmbeddingModelInfo, checkHealth) we don't need for these tests.
14+ class HashEmbedder {
1115 async generateEmbeddings ( input : { texts : string | string [ ] } ) {
1216 const texts = Array . isArray ( input . texts ) ? input . texts : [ input . texts ] ;
1317 const embeddings = texts . map ( ( t ) => {
@@ -26,7 +30,7 @@ class HashEmbedder implements IEmbeddingManager {
2630 getModel ( ) { return 'hash' ; }
2731}
2832
29- class NoopKG implements IKnowledgeGraph {
33+ class NoopKG {
3034 async recordMemory ( ) { return 'noop' ; }
3135 async findRelatedMemories ( ) { return [ ] ; }
3236 async findEntityRelationships ( ) { return [ ] ; }
@@ -63,7 +67,7 @@ const scope = { scope: 'user' as MemoryScope, scopeId: 'u1' };
6367
6468describe ( 'SessionRetriever (integration)' , ( ) => {
6569 it ( 'end-to-end: index 3 session summaries, encode chunks, retrieve returns at least one chunk' , async ( ) => {
66- const embedder = new HashEmbedder ( ) ;
70+ const embedder = new HashEmbedder ( ) as unknown as IEmbeddingManager ;
6771 const traceVectorStore = await mkVectorStore ( ) ;
6872 const summaryVectorStore = await mkVectorStore ( ) ;
6973 const summaryStore = new SessionSummaryStore ( {
@@ -114,7 +118,7 @@ describe('SessionRetriever (integration)', () => {
114118 } ) ;
115119
116120 it ( 'cache smoke: two retrieve calls with the same query return stable results' , async ( ) => {
117- const embedder = new HashEmbedder ( ) ;
121+ const embedder = new HashEmbedder ( ) as unknown as IEmbeddingManager ;
118122 const summaryStore = new SessionSummaryStore ( {
119123 vectorStore : await mkVectorStore ( ) , embeddingManager : embedder ,
120124 } ) ;
0 commit comments