@synth-coder/memhub 0.1.5 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +1 -0
- package/README.md +2 -2
- package/README.zh-CN.md +1 -1
- package/dist/src/contracts/mcp.d.ts +2 -5
- package/dist/src/contracts/mcp.d.ts.map +1 -1
- package/dist/src/contracts/mcp.js +77 -23
- package/dist/src/contracts/mcp.js.map +1 -1
- package/dist/src/contracts/schemas.d.ts +67 -76
- package/dist/src/contracts/schemas.d.ts.map +1 -1
- package/dist/src/contracts/schemas.js +4 -8
- package/dist/src/contracts/schemas.js.map +1 -1
- package/dist/src/contracts/types.d.ts +1 -4
- package/dist/src/contracts/types.d.ts.map +1 -1
- package/dist/src/contracts/types.js.map +1 -1
- package/dist/src/server/mcp-server.d.ts.map +1 -1
- package/dist/src/server/mcp-server.js +21 -4
- package/dist/src/server/mcp-server.js.map +1 -1
- package/dist/src/services/embedding-service.d.ts +43 -0
- package/dist/src/services/embedding-service.d.ts.map +1 -0
- package/dist/src/services/embedding-service.js +80 -0
- package/dist/src/services/embedding-service.js.map +1 -0
- package/dist/src/services/memory-service.d.ts +30 -44
- package/dist/src/services/memory-service.d.ts.map +1 -1
- package/dist/src/services/memory-service.js +212 -161
- package/dist/src/services/memory-service.js.map +1 -1
- package/dist/src/storage/vector-index.d.ts +62 -0
- package/dist/src/storage/vector-index.d.ts.map +1 -0
- package/dist/src/storage/vector-index.js +123 -0
- package/dist/src/storage/vector-index.js.map +1 -0
- package/package.json +16 -13
- package/src/contracts/mcp.ts +84 -29
- package/src/contracts/schemas.ts +4 -8
- package/src/contracts/types.ts +4 -8
- package/src/server/mcp-server.ts +23 -7
- package/src/services/embedding-service.ts +114 -0
- package/src/services/memory-service.ts +252 -179
- package/src/storage/vector-index.ts +160 -0
- package/test/server/mcp-server.test.ts +11 -9
- package/test/services/memory-service-edge.test.ts +1 -1
- package/test/services/memory-service.test.ts +1 -1
- package/test/storage/vector-index.test.ts +153 -0
- package/vitest.config.ts +3 -1
- /package/docs/{proposal-close-gates.md → proposals/proposal-close-gates.md} +0 -0
|
@@ -32,11 +32,10 @@ export const CategorySchema = z
|
|
|
32
32
|
export const ImportanceSchema = z.number().int().min(1).max(5);
|
|
33
33
|
/** STM memory entry type */
|
|
34
34
|
export const MemoryEntryTypeSchema = z.enum([
|
|
35
|
-
'
|
|
36
|
-
'
|
|
37
|
-
'
|
|
38
|
-
'
|
|
39
|
-
'state_change',
|
|
35
|
+
'preference', // User likes/dislikes
|
|
36
|
+
'decision', // Technical choices with reasoning
|
|
37
|
+
'context', // Project/environment information
|
|
38
|
+
'fact', // Objective knowledge
|
|
40
39
|
]);
|
|
41
40
|
// ============================================================================
|
|
42
41
|
// Memory Schemas
|
|
@@ -175,13 +174,10 @@ export const SearchMemoryInputSchema = z.object({
|
|
|
175
174
|
/** memory_load input schema */
|
|
176
175
|
export const MemoryLoadInputSchema = z.object({
|
|
177
176
|
id: UUIDSchema.optional(),
|
|
178
|
-
sessionId: UUIDSchema.optional(),
|
|
179
|
-
date: z.string().regex(/^\d{4}-\d{2}-\d{2}$/).optional(),
|
|
180
177
|
query: z.string().min(1).max(1000).optional(),
|
|
181
178
|
category: CategorySchema.optional(),
|
|
182
179
|
tags: z.array(TagSchema).optional(),
|
|
183
180
|
limit: z.number().int().min(1).max(100).optional(),
|
|
184
|
-
scope: z.enum(['stm', 'all']).optional(),
|
|
185
181
|
});
|
|
186
182
|
/** memory_update (upsert/append) input schema */
|
|
187
183
|
export const MemoryUpdateInputV2Schema = z.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/contracts/schemas.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,gCAAgC;AAChC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,EAAU,CAAC;AAE5D,oCAAoC;AACpC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAa,CAAC;AAE/E,4CAA4C;AAC5C,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC;KACxB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,GAAG,CAAC;KACR,KAAK,CAAC,4BAA4B,EAAE,0BAA0B,CAAC,CAAC;AAEnE,0BAA0B;AAC1B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC;KACvB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,EAAE,CAAC;KACP,KAAK,CAAC,cAAc,EAAE,+DAA+D,CAAC,CAAC;AAE1F,+BAA+B;AAC/B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,EAAE,CAAC;KACP,KAAK,CAAC,cAAc,EAAE,mEAAmE,CAAC,CAAC;AAE9F,wCAAwC;AACxC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAE/D,4BAA4B;AAC5B,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC1C,
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/contracts/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ export type Slug = string;
|
|
|
12
12
|
* Represents a memory entry stored in Markdown format
|
|
13
13
|
* Content is split between YAML Front Matter (metadata) and Markdown body
|
|
14
14
|
*/
|
|
15
|
-
export type MemoryEntryType = '
|
|
15
|
+
export type MemoryEntryType = 'preference' | 'decision' | 'context' | 'fact';
|
|
16
16
|
export interface Memory {
|
|
17
17
|
/** UUID v4 unique identifier */
|
|
18
18
|
readonly id: UUID;
|
|
@@ -196,11 +196,8 @@ export interface SearchMemoryInput extends Partial<MemoryFilter> {
|
|
|
196
196
|
*/
|
|
197
197
|
export interface MemoryLoadInput extends Partial<MemoryFilter> {
|
|
198
198
|
readonly id?: UUID;
|
|
199
|
-
readonly sessionId?: UUID;
|
|
200
|
-
readonly date?: string;
|
|
201
199
|
readonly query?: string;
|
|
202
200
|
readonly limit?: number;
|
|
203
|
-
readonly scope?: 'stm' | 'all';
|
|
204
201
|
}
|
|
205
202
|
/**
|
|
206
203
|
* Input for memory_update tool (upsert/append)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/contracts/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,4BAA4B;AAC5B,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAE1B,gCAAgC;AAChC,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEtC,+BAA+B;AAC/B,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAM1B;;;GAGG;AACH,MAAM,MAAM,eAAe,GACvB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/contracts/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/contracts/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/contracts/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA6UH,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E;;GAEG;AACH,MAAM,CAAN,IAAY,SAaX;AAbD,WAAY,SAAS;IACnB,2BAA2B;IAC3B,4DAAoB,CAAA;IACpB,oEAAwB,CAAA;IACxB,sEAAyB,CAAA;IACzB,kEAAuB,CAAA;IACvB,kEAAuB,CAAA;IAEvB,4BAA4B;IAC5B,wDAAkB,CAAA;IAClB,gEAAsB,CAAA;IACtB,sEAAyB,CAAA;IACzB,oEAAwB,CAAA;AAC1B,CAAC,EAbW,SAAS,KAAT,SAAS,QAapB;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,SAAS,CAAC,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../../src/server/mcp-server.ts"],"names":[],"mappings":";AACA;;;GAGG;AAKH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../../src/server/mcp-server.ts"],"names":[],"mappings":";AACA;;;GAGG;AAKH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AA+BnE;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CA0FxC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* MCP Server - Model Context Protocol server implementation
|
|
4
4
|
* Uses @modelcontextprotocol/sdk for protocol handling
|
|
5
5
|
*/
|
|
6
|
-
import { readFileSync } from 'fs';
|
|
6
|
+
import { readFileSync, existsSync } from 'fs';
|
|
7
7
|
import { join, dirname } from 'path';
|
|
8
8
|
import { fileURLToPath } from 'url';
|
|
9
9
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
@@ -17,14 +17,20 @@ import { ErrorCode } from '../contracts/types.js';
|
|
|
17
17
|
const __filename = fileURLToPath(import.meta.url);
|
|
18
18
|
const __dirname = dirname(__filename);
|
|
19
19
|
// npm package runtime: dist/src/server -> package root
|
|
20
|
-
|
|
20
|
+
// test runtime: src/server -> package root
|
|
21
|
+
let packageJsonPath = join(__dirname, '../../../package.json');
|
|
22
|
+
if (!existsSync(packageJsonPath)) {
|
|
23
|
+
// Fallback for test environment (running from src/)
|
|
24
|
+
packageJsonPath = join(__dirname, '../../package.json');
|
|
25
|
+
}
|
|
21
26
|
const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
22
27
|
/**
|
|
23
28
|
* Create McpServer instance using SDK
|
|
24
29
|
*/
|
|
25
30
|
export function createMcpServer() {
|
|
26
31
|
const storagePath = process.env.MEMHUB_STORAGE_PATH || './memories';
|
|
27
|
-
const
|
|
32
|
+
const vectorSearch = process.env.MEMHUB_VECTOR_SEARCH !== 'false';
|
|
33
|
+
const memoryService = new MemoryService({ storagePath, vectorSearch });
|
|
28
34
|
// Create server using SDK
|
|
29
35
|
const server = new Server({
|
|
30
36
|
name: SERVER_INFO.name,
|
|
@@ -36,7 +42,7 @@ export function createMcpServer() {
|
|
|
36
42
|
},
|
|
37
43
|
});
|
|
38
44
|
// Handle tools/list request
|
|
39
|
-
server.setRequestHandler(ListToolsRequestSchema,
|
|
45
|
+
server.setRequestHandler(ListToolsRequestSchema, () => {
|
|
40
46
|
return { tools: TOOL_DEFINITIONS };
|
|
41
47
|
});
|
|
42
48
|
// Handle tools/call request
|
|
@@ -109,4 +115,15 @@ main().catch((error) => {
|
|
|
109
115
|
console.error('Fatal error:', error);
|
|
110
116
|
process.exit(1);
|
|
111
117
|
});
|
|
118
|
+
// Check if this file is being run directly
|
|
119
|
+
const isMain = import.meta.url === `file://${process.argv[1]}` || false;
|
|
120
|
+
if (isMain) {
|
|
121
|
+
// Defer main() execution to avoid blocking module loading
|
|
122
|
+
setImmediate(() => {
|
|
123
|
+
main().catch((error) => {
|
|
124
|
+
console.error('Fatal error:', error);
|
|
125
|
+
process.exit(1);
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
}
|
|
112
129
|
//# sourceMappingURL=mcp-server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../../src/server/mcp-server.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../../src/server/mcp-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embedding Service - Text embedding using @xenova/transformers
|
|
3
|
+
*
|
|
4
|
+
* Uses the all-MiniLM-L6-v2 model (~23MB, downloaded on first use to ~/.cache/huggingface).
|
|
5
|
+
* Singleton pattern with lazy initialization.
|
|
6
|
+
*
|
|
7
|
+
* Note: Uses dynamic imports to avoid loading native modules (sharp) during tests.
|
|
8
|
+
*/
|
|
9
|
+
/** Output vector dimension for all-MiniLM-L6-v2 */
|
|
10
|
+
export declare const VECTOR_DIM = 384;
|
|
11
|
+
/**
|
|
12
|
+
* Singleton embedding service backed by a local ONNX model.
|
|
13
|
+
* The model is downloaded once and cached in `~/.cache/huggingface`.
|
|
14
|
+
*/
|
|
15
|
+
export declare class EmbeddingService {
|
|
16
|
+
private static instance;
|
|
17
|
+
private extractor;
|
|
18
|
+
private initPromise;
|
|
19
|
+
private transformers;
|
|
20
|
+
private constructor();
|
|
21
|
+
static getInstance(): EmbeddingService;
|
|
22
|
+
/**
|
|
23
|
+
* Initializes the pipeline (idempotent, safe to call multiple times).
|
|
24
|
+
*/
|
|
25
|
+
initialize(): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Embeds `text` into a 384-dimension float vector.
|
|
28
|
+
*
|
|
29
|
+
* @param text - The text to embed (title + content recommended)
|
|
30
|
+
* @returns Normalised float vector of length VECTOR_DIM
|
|
31
|
+
*/
|
|
32
|
+
embed(text: string): Promise<number[]>;
|
|
33
|
+
/**
|
|
34
|
+
* Convenience: embed a memory's title and content together.
|
|
35
|
+
*/
|
|
36
|
+
embedMemory(title: string, content: string): Promise<number[]>;
|
|
37
|
+
/**
|
|
38
|
+
* Reset the singleton instance.
|
|
39
|
+
* @internal For testing purposes only. Do not use in production code.
|
|
40
|
+
*/
|
|
41
|
+
static _reset(): void;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=embedding-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedding-service.d.ts","sourceRoot":"","sources":["../../../src/services/embedding-service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,mDAAmD;AACnD,eAAO,MAAM,UAAU,MAAM,CAAC;AAmB9B;;;GAGG;AACH,qBAAa,gBAAgB;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiC;IACxD,OAAO,CAAC,SAAS,CAA0C;IAC3D,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,YAAY,CAAmC;IAEvD,OAAO;IAIP,MAAM,CAAC,WAAW,IAAI,gBAAgB;IAOtC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBjC;;;;;OAKG;IACG,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAe5C;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIpE;;;OAGG;IACH,MAAM,CAAC,MAAM,IAAI,IAAI;CAGxB"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embedding Service - Text embedding using @xenova/transformers
|
|
3
|
+
*
|
|
4
|
+
* Uses the all-MiniLM-L6-v2 model (~23MB, downloaded on first use to ~/.cache/huggingface).
|
|
5
|
+
* Singleton pattern with lazy initialization.
|
|
6
|
+
*
|
|
7
|
+
* Note: Uses dynamic imports to avoid loading native modules (sharp) during tests.
|
|
8
|
+
*/
|
|
9
|
+
/** ONNX model identifier */
|
|
10
|
+
const MODEL_NAME = 'Xenova/all-MiniLM-L6-v2';
|
|
11
|
+
/** Output vector dimension for all-MiniLM-L6-v2 */
|
|
12
|
+
export const VECTOR_DIM = 384;
|
|
13
|
+
/**
|
|
14
|
+
* Singleton embedding service backed by a local ONNX model.
|
|
15
|
+
* The model is downloaded once and cached in `~/.cache/huggingface`.
|
|
16
|
+
*/
|
|
17
|
+
export class EmbeddingService {
|
|
18
|
+
static instance = null;
|
|
19
|
+
extractor = null;
|
|
20
|
+
initPromise = null;
|
|
21
|
+
transformers = null;
|
|
22
|
+
constructor() {
|
|
23
|
+
// Constructor is empty - initialization happens in initialize()
|
|
24
|
+
}
|
|
25
|
+
static getInstance() {
|
|
26
|
+
if (!EmbeddingService.instance) {
|
|
27
|
+
EmbeddingService.instance = new EmbeddingService();
|
|
28
|
+
}
|
|
29
|
+
return EmbeddingService.instance;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Initializes the pipeline (idempotent, safe to call multiple times).
|
|
33
|
+
*/
|
|
34
|
+
async initialize() {
|
|
35
|
+
if (this.extractor)
|
|
36
|
+
return;
|
|
37
|
+
if (!this.initPromise) {
|
|
38
|
+
this.initPromise = (async () => {
|
|
39
|
+
// Dynamic import to avoid loading sharp during tests
|
|
40
|
+
this.transformers = await import('@xenova/transformers');
|
|
41
|
+
// Configure environment
|
|
42
|
+
this.transformers.env.allowRemoteModels = true;
|
|
43
|
+
this.transformers.env.allowLocalModels = true;
|
|
44
|
+
this.extractor = (await this.transformers.pipeline('feature-extraction', MODEL_NAME));
|
|
45
|
+
})();
|
|
46
|
+
}
|
|
47
|
+
await this.initPromise;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Embeds `text` into a 384-dimension float vector.
|
|
51
|
+
*
|
|
52
|
+
* @param text - The text to embed (title + content recommended)
|
|
53
|
+
* @returns Normalised float vector of length VECTOR_DIM
|
|
54
|
+
*/
|
|
55
|
+
async embed(text) {
|
|
56
|
+
await this.initialize();
|
|
57
|
+
if (!this.extractor) {
|
|
58
|
+
throw new Error('EmbeddingService: extractor not initialized');
|
|
59
|
+
}
|
|
60
|
+
const output = await this.extractor(text, {
|
|
61
|
+
pooling: 'mean',
|
|
62
|
+
normalize: true,
|
|
63
|
+
});
|
|
64
|
+
return Array.from(output.data);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Convenience: embed a memory's title and content together.
|
|
68
|
+
*/
|
|
69
|
+
async embedMemory(title, content) {
|
|
70
|
+
return this.embed(`${title} ${content}`.trim());
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Reset the singleton instance.
|
|
74
|
+
* @internal For testing purposes only. Do not use in production code.
|
|
75
|
+
*/
|
|
76
|
+
static _reset() {
|
|
77
|
+
EmbeddingService.instance = null;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=embedding-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedding-service.js","sourceRoot":"","sources":["../../../src/services/embedding-service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,4BAA4B;AAC5B,MAAM,UAAU,GAAG,yBAAyB,CAAC;AAE7C,mDAAmD;AACnD,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC;AAmB9B;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IACjB,MAAM,CAAC,QAAQ,GAA4B,IAAI,CAAC;IAChD,SAAS,GAAqC,IAAI,CAAC;IACnD,WAAW,GAAyB,IAAI,CAAC;IACzC,YAAY,GAA8B,IAAI,CAAC;IAEvD;QACI,gEAAgE;IACpE,CAAC;IAED,MAAM,CAAC,WAAW;QACd,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC7B,gBAAgB,CAAC,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACvD,CAAC;QACD,OAAO,gBAAgB,CAAC,QAAQ,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACZ,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAE3B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC3B,qDAAqD;gBACrD,IAAI,CAAC,YAAY,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAuB,CAAC;gBAE/E,wBAAwB;gBACxB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC/C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAE9C,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAC9C,oBAAoB,EACpB,UAAU,CACb,CAA8B,CAAC;YACpC,CAAC,CAAC,EAAE,CAAC;QACT,CAAC;QAED,MAAM,IAAI,CAAC,WAAW,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,IAAY;QACpB,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAExB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE;YACtC,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,OAAe;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,MAAM;QACT,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC;IACrC,CAAC"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Memory Service - Business logic for memory operations
|
|
3
|
-
*/
|
|
4
1
|
import type { Memory, CreateMemoryInput, ReadMemoryInput, UpdateMemoryInput, DeleteMemoryInput, ListMemoryInput, SearchMemoryInput, CreateResult, UpdateResult, DeleteResult, ListResult, SearchResult, GetCategoriesOutput, GetTagsOutput, MemoryLoadInput, MemoryUpdateInput, MemoryLoadOutput, MemoryUpdateOutput } from '../contracts/types.js';
|
|
5
2
|
import { ErrorCode } from '../contracts/types.js';
|
|
6
3
|
/**
|
|
@@ -16,90 +13,79 @@ export declare class ServiceError extends Error {
|
|
|
16
13
|
*/
|
|
17
14
|
export interface MemoryServiceConfig {
|
|
18
15
|
storagePath: string;
|
|
16
|
+
/**
|
|
17
|
+
* Enable vector semantic search via LanceDB + local ONNX model.
|
|
18
|
+
* Set to false in unit tests to avoid loading the model.
|
|
19
|
+
* @default true
|
|
20
|
+
*/
|
|
21
|
+
vectorSearch?: boolean;
|
|
19
22
|
}
|
|
20
23
|
/**
|
|
21
24
|
* Memory service implementation
|
|
22
25
|
*/
|
|
23
26
|
export declare class MemoryService {
|
|
24
27
|
private readonly storage;
|
|
28
|
+
private readonly vectorIndex;
|
|
29
|
+
private readonly embedding;
|
|
30
|
+
private readonly vectorSearchEnabled;
|
|
25
31
|
constructor(config: MemoryServiceConfig);
|
|
32
|
+
/**
|
|
33
|
+
* Asynchronously embeds a memory and upserts it into the vector index.
|
|
34
|
+
* Fire-and-forget: failures are logged but do not propagate.
|
|
35
|
+
*/
|
|
36
|
+
private scheduleVectorUpsert;
|
|
37
|
+
/**
|
|
38
|
+
* Removes a memory from the vector index.
|
|
39
|
+
* Called synchronously (awaited) on delete.
|
|
40
|
+
*/
|
|
41
|
+
private removeFromVectorIndex;
|
|
26
42
|
/**
|
|
27
43
|
* Creates a new memory entry
|
|
28
|
-
*
|
|
29
|
-
* @param input - Create memory input
|
|
30
|
-
* @returns Create result with ID, file path, and memory object
|
|
31
|
-
* @throws ServiceError if creation fails
|
|
32
44
|
*/
|
|
33
45
|
create(input: CreateMemoryInput): Promise<CreateResult>;
|
|
34
46
|
/**
|
|
35
47
|
* Reads a memory by ID
|
|
36
|
-
*
|
|
37
|
-
* @param input - Read memory input
|
|
38
|
-
* @returns Memory object
|
|
39
|
-
* @throws ServiceError if memory not found
|
|
40
48
|
*/
|
|
41
49
|
read(input: ReadMemoryInput): Promise<{
|
|
42
50
|
memory: Memory;
|
|
43
51
|
}>;
|
|
44
52
|
/**
|
|
45
53
|
* Updates an existing memory
|
|
46
|
-
*
|
|
47
|
-
* @param input - Update memory input
|
|
48
|
-
* @returns Updated memory object
|
|
49
|
-
* @throws ServiceError if memory not found
|
|
50
54
|
*/
|
|
51
55
|
update(input: UpdateMemoryInput): Promise<UpdateResult>;
|
|
52
56
|
/**
|
|
53
57
|
* Deletes a memory by ID
|
|
54
|
-
*
|
|
55
|
-
* @param input - Delete memory input
|
|
56
|
-
* @returns Delete result
|
|
57
|
-
* @throws ServiceError if memory not found
|
|
58
58
|
*/
|
|
59
59
|
delete(input: DeleteMemoryInput): Promise<DeleteResult>;
|
|
60
60
|
/**
|
|
61
61
|
* Lists memories with filtering and pagination
|
|
62
|
-
*
|
|
63
|
-
* @param input - List memory input
|
|
64
|
-
* @returns List result with memories, total count, and hasMore flag
|
|
65
62
|
*/
|
|
66
63
|
list(input: ListMemoryInput): Promise<ListResult>;
|
|
67
64
|
/**
|
|
68
|
-
* Searches memories by query
|
|
69
|
-
*
|
|
70
|
-
* @param input - Search memory input
|
|
71
|
-
* @returns Search results with scores and matches
|
|
65
|
+
* Searches memories by query.
|
|
66
|
+
* Uses vector semantic search when available, falls back to keyword search.
|
|
72
67
|
*/
|
|
73
68
|
search(input: SearchMemoryInput): Promise<{
|
|
74
69
|
results: SearchResult[];
|
|
75
70
|
total: number;
|
|
76
71
|
}>;
|
|
77
72
|
/**
|
|
78
|
-
*
|
|
73
|
+
* Legacy keyword-based search (used as fallback when vector search is unavailable).
|
|
79
74
|
*/
|
|
80
|
-
|
|
75
|
+
private keywordSearch;
|
|
81
76
|
/**
|
|
82
|
-
*
|
|
83
|
-
*/
|
|
84
|
-
memoryUpdate(input: MemoryUpdateInput): Promise<MemoryUpdateOutput>;
|
|
85
|
-
/**
|
|
86
|
-
* Gets all unique categories
|
|
77
|
+
* memory_load — unified read API.
|
|
87
78
|
*
|
|
88
|
-
*
|
|
79
|
+
* Requires either `id` (exact lookup) or `query` (semantic search).
|
|
80
|
+
* Calling without either returns an empty result.
|
|
89
81
|
*/
|
|
90
|
-
|
|
82
|
+
memoryLoad(input: MemoryLoadInput): Promise<MemoryLoadOutput>;
|
|
91
83
|
/**
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
* @returns Array of tag names
|
|
84
|
+
* memory_update — unified write API (append/upsert)
|
|
95
85
|
*/
|
|
86
|
+
memoryUpdate(input: MemoryUpdateInput): Promise<MemoryUpdateOutput>;
|
|
87
|
+
getCategories(): Promise<GetCategoriesOutput>;
|
|
96
88
|
getTags(): Promise<GetTagsOutput>;
|
|
97
|
-
/**
|
|
98
|
-
* Extracts ID from file content
|
|
99
|
-
*
|
|
100
|
-
* @param content - File content
|
|
101
|
-
* @returns ID string
|
|
102
|
-
*/
|
|
103
89
|
private extractIdFromContent;
|
|
104
90
|
}
|
|
105
91
|
//# sourceMappingURL=memory-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-service.d.ts","sourceRoot":"","sources":["../../../src/services/memory-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"memory-service.d.ts","sourceRoot":"","sources":["../../../src/services/memory-service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,MAAM,EACN,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,mBAAmB,EACnB,aAAa,EAGb,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAgBlD;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;aAGnB,IAAI,EAAE,SAAS;aACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAF9C,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,SAAS,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;CAKjD;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsB;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2B;IACrD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAU;gBAElC,MAAM,EAAE,mBAAmB;IA0DvC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;;OAGG;YACW,qBAAqB;IAanC;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IA2B7D;;OAEG;IACG,IAAI,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAe/D;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IAoC7D;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IAoB7D;;OAEG;IACG,IAAI,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IAuEvD;;;OAGG;IACG,MAAM,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IA4C3F;;OAEG;YACW,aAAa;IA8E3B;;;;;OAKG;IACG,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuBnE;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgEnE,aAAa,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAgB7C,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;IAkBvC,OAAO,CAAC,oBAAoB;CAO7B"}
|