memento-mcp-server 1.16.3-d → 1.16.3-e
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-embedding-service.d.ts","sourceRoot":"","sources":["../../../../src/domains/memory/services/memory-embedding-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAqB,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAGnG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAIjE,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA8B;IAC9D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8B;;IAM3D;;;OAGG;YACW,gBAAgB;IAkB9B;;OAEG;IACG,uBAAuB,CAC3B,EAAE,EAAE,GAAG,EACP,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"memory-embedding-service.d.ts","sourceRoot":"","sources":["../../../../src/domains/memory/services/memory-embedding-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAqB,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAGnG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAIjE,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA8B;IAC9D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8B;;IAM3D;;;OAGG;YACW,gBAAgB;IAkB9B;;OAEG;IACG,uBAAuB,CAC3B,EAAE,EAAE,GAAG,EACP,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IA+GlC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;OAEG;IACG,kBAAkB,CACtB,EAAE,EAAE,GAAG,EACP,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GACA,OAAO,CAAC,kBAAkB,EAAE,CAAC;IA4EhC;;OAEG;IACG,eAAe,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/D,OAAO,CAAC,aAAa;IAerB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACG,iBAAiB,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC;QACxC,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,KAAK,CAAC;YACnB,QAAQ,EAAE,MAAM,CAAC;YACjB,KAAK,EAAE,MAAM,CAAC;YACd,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC,CAAC;KACJ,CAAC;IA+CF,OAAO,CAAC,iBAAiB;YAaX,sBAAsB;CA6CrC"}
|
|
@@ -32,7 +32,7 @@ export class MemoryEmbeddingService {
|
|
|
32
32
|
// 로그는 한 번만 출력하도록 조건부 처리
|
|
33
33
|
if (!global.__vecExtensionLoadWarningShown) {
|
|
34
34
|
const maskedError = error instanceof Error ? PIIMasker.maskError(error) : { message: String(error), name: 'Error' };
|
|
35
|
-
|
|
35
|
+
process.stderr.write(`⚠️ sqlite-vec 확장 로드 실패 (TF-IDF fallback 사용): ${maskedError.message}\n`);
|
|
36
36
|
global.__vecExtensionLoadWarningShown = true;
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -42,7 +42,7 @@ export class MemoryEmbeddingService {
|
|
|
42
42
|
*/
|
|
43
43
|
async createAndStoreEmbedding(db, memoryId, content, type) {
|
|
44
44
|
if (!this.embeddingService.isAvailable()) {
|
|
45
|
-
|
|
45
|
+
process.stderr.write('⚠️ 임베딩 서비스가 사용 불가능합니다. 임베딩을 건너뜁니다.\n');
|
|
46
46
|
return null;
|
|
47
47
|
}
|
|
48
48
|
try {
|
|
@@ -55,14 +55,15 @@ export class MemoryEmbeddingService {
|
|
|
55
55
|
}
|
|
56
56
|
const embeddingVector = Array.isArray(embeddingResult.embedding) ? embeddingResult.embedding : [];
|
|
57
57
|
if (embeddingVector.length === 0) {
|
|
58
|
-
|
|
58
|
+
process.stderr.write(`⚠️ 임베딩 결과가 비어 있어 저장을 건너뜁니다. memoryId=${memoryId}\n`);
|
|
59
59
|
return null;
|
|
60
60
|
}
|
|
61
61
|
const provider = this.normalizeProvider(embeddingResult.provider || this.embeddingService.getCurrentProviderName());
|
|
62
62
|
const compatibility = vectorCompatibilityService.assessProviderCompatibility(embeddingVector, provider);
|
|
63
63
|
const blockingIssues = compatibility.issues.filter(issue => issue.severity === 'error' && issue.code !== 'dimension_mismatch');
|
|
64
64
|
if (blockingIssues.length > 0) {
|
|
65
|
-
|
|
65
|
+
const errorMessages = blockingIssues.map(issue => issue.message).join(', ');
|
|
66
|
+
process.stderr.write(`❌ 임베딩 벡터 검증 실패: ${errorMessages}\n`);
|
|
66
67
|
return null;
|
|
67
68
|
}
|
|
68
69
|
const projection = compatibility.projection;
|
|
@@ -75,13 +76,13 @@ export class MemoryEmbeddingService {
|
|
|
75
76
|
if (compatibility.needsProjection) {
|
|
76
77
|
const dimensionIssue = compatibility.issues.find(issue => issue.code === 'dimension_mismatch');
|
|
77
78
|
if (dimensionIssue) {
|
|
78
|
-
|
|
79
|
+
process.stderr.write(`⚠️ ${dimensionIssue.message}\n`);
|
|
79
80
|
}
|
|
80
|
-
|
|
81
|
+
process.stderr.write(`🔄 벡터 차원 조정: ${sourceDimensions} → ${storedDimensions} (${projectionType})\n`);
|
|
81
82
|
}
|
|
82
83
|
compatibility.issues
|
|
83
84
|
.filter(issue => issue.severity === 'warning')
|
|
84
|
-
.forEach(issue =>
|
|
85
|
+
.forEach(issue => process.stderr.write(`⚠️ 임베딩 경고: ${issue.message}\n`));
|
|
85
86
|
// metadata 보정 (기존 레거시 행 대비)
|
|
86
87
|
await this.ensureMetadataDefaults(db);
|
|
87
88
|
// memory_embedding 테이블에 저장 (트리거가 자동으로 vec0 테이블에 저장)
|
|
@@ -114,7 +115,7 @@ export class MemoryEmbeddingService {
|
|
|
114
115
|
1,
|
|
115
116
|
this.createdByTag
|
|
116
117
|
]);
|
|
117
|
-
|
|
118
|
+
// 로그는 디버그 모드에서만 출력 (MCP 프로토콜 준수)
|
|
118
119
|
return {
|
|
119
120
|
...embeddingResult,
|
|
120
121
|
provider,
|
|
@@ -123,7 +124,7 @@ export class MemoryEmbeddingService {
|
|
|
123
124
|
}
|
|
124
125
|
catch (error) {
|
|
125
126
|
const maskedError = error instanceof Error ? PIIMasker.maskError(error) : { message: String(error), name: 'Error' };
|
|
126
|
-
|
|
127
|
+
process.stderr.write(`❌ 임베딩 저장 실패 (${memoryId}): ${maskedError.message}\n`);
|
|
127
128
|
return null;
|
|
128
129
|
}
|
|
129
130
|
}
|
|
@@ -139,7 +140,7 @@ export class MemoryEmbeddingService {
|
|
|
139
140
|
*/
|
|
140
141
|
async searchBySimilarity(db, query, filters) {
|
|
141
142
|
if (!this.embeddingService.isAvailable()) {
|
|
142
|
-
|
|
143
|
+
process.stderr.write('⚠️ 임베딩 서비스가 사용 불가능합니다.\n');
|
|
143
144
|
return [];
|
|
144
145
|
}
|
|
145
146
|
try {
|
|
@@ -199,7 +200,7 @@ export class MemoryEmbeddingService {
|
|
|
199
200
|
}
|
|
200
201
|
catch (error) {
|
|
201
202
|
const maskedError = error instanceof Error ? PIIMasker.maskError(error) : { message: String(error), name: 'Error' };
|
|
202
|
-
|
|
203
|
+
process.stderr.write(`❌ 벡터 검색 실패: ${maskedError.message}\n`);
|
|
203
204
|
return [];
|
|
204
205
|
}
|
|
205
206
|
}
|
|
@@ -210,11 +211,11 @@ export class MemoryEmbeddingService {
|
|
|
210
211
|
try {
|
|
211
212
|
// memory_embedding 테이블에서 삭제 (트리거가 자동으로 vec0 테이블에서도 삭제)
|
|
212
213
|
await DatabaseUtils.run(db, 'DELETE FROM memory_embedding WHERE memory_id = ?', [memoryId]);
|
|
213
|
-
|
|
214
|
+
// 로그는 디버그 모드에서만 출력 (MCP 프로토콜 준수)
|
|
214
215
|
}
|
|
215
216
|
catch (error) {
|
|
216
217
|
const maskedError = error instanceof Error ? PIIMasker.maskError(error) : { message: String(error), name: 'Error' };
|
|
217
|
-
|
|
218
|
+
process.stderr.write(`❌ 임베딩 삭제 실패 (${memoryId}): ${maskedError.message}\n`);
|
|
218
219
|
}
|
|
219
220
|
}
|
|
220
221
|
safeParseTags(rawTags) {
|
|
@@ -227,7 +228,7 @@ export class MemoryEmbeddingService {
|
|
|
227
228
|
}
|
|
228
229
|
catch (error) {
|
|
229
230
|
const maskedError = error instanceof Error ? PIIMasker.maskError(error) : { message: String(error), name: 'Error' };
|
|
230
|
-
|
|
231
|
+
process.stderr.write(`⚠️ 태그 JSON 파싱 실패, 빈 배열로 대체합니다. ${maskedError.message}\n`);
|
|
231
232
|
return [];
|
|
232
233
|
}
|
|
233
234
|
}
|
|
@@ -274,7 +275,7 @@ export class MemoryEmbeddingService {
|
|
|
274
275
|
}
|
|
275
276
|
catch (error) {
|
|
276
277
|
const maskedError = error instanceof Error ? PIIMasker.maskError(error) : { message: String(error), name: 'Error' };
|
|
277
|
-
|
|
278
|
+
process.stderr.write(`❌ 임베딩 통계 조회 실패: ${maskedError.message}\n`);
|
|
278
279
|
return {
|
|
279
280
|
totalEmbeddings: 0,
|
|
280
281
|
averageDimensions: 0,
|
|
@@ -338,7 +339,7 @@ export class MemoryEmbeddingService {
|
|
|
338
339
|
}
|
|
339
340
|
catch (error) {
|
|
340
341
|
const maskedError = error instanceof Error ? PIIMasker.maskError(error) : { message: String(error), name: 'Error' };
|
|
341
|
-
|
|
342
|
+
process.stderr.write(`⚠️ 임베딩 메타데이터 보정 실패: ${maskedError.message}\n`);
|
|
342
343
|
}
|
|
343
344
|
}
|
|
344
345
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-embedding-service.js","sourceRoot":"","sources":["../../../../src/domains/memory/services/memory-embedding-service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,uDAAuD,CAAC;AAChG,OAAO,EAAE,0BAA0B,EAAE,MAAM,0DAA0D,CAAC;AAEtG,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AACtF,OAAO,EAAE,kBAAkB,IAAI,2BAA2B,EAAE,MAAM,iDAAiD,CAAC;AAwBpH,MAAM,OAAO,sBAAsB;IACzB,gBAAgB,CAA0B;IACjC,eAAe,GAAsB,OAAO,CAAC;IAC7C,YAAY,GAAG,0BAA0B,CAAC;IAE3D;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,uBAAuB,EAAE,CAAC;IACxD,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,gBAAgB,CAAC,EAAO;QACpC,IAAI,CAAC;YACH,+BAA+B;YAC/B,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG,eAAe,EAAE,CAAC;YACxC,EAAE,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YAChC,iCAAiC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qCAAqC;YACrC,wBAAwB;YACxB,IAAI,CAAE,MAAc,CAAC,8BAA8B,EAAE,CAAC;gBACpD,MAAM,WAAW,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gBACpH,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"memory-embedding-service.js","sourceRoot":"","sources":["../../../../src/domains/memory/services/memory-embedding-service.ts"],"names":[],"mappings":"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"}
|