memento-mcp-server 1.9.2 → 1.10.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.
Files changed (64) hide show
  1. package/README.md +40 -0
  2. package/dist/algorithms/hybrid-search-engine.d.ts +6 -0
  3. package/dist/algorithms/hybrid-search-engine.d.ts.map +1 -1
  4. package/dist/algorithms/hybrid-search-engine.js +49 -3
  5. package/dist/algorithms/hybrid-search-engine.js.map +1 -1
  6. package/dist/algorithms/search-engine.d.ts.map +1 -1
  7. package/dist/algorithms/search-engine.js +42 -17
  8. package/dist/algorithms/search-engine.js.map +1 -1
  9. package/dist/algorithms/search-ranking.d.ts +33 -0
  10. package/dist/algorithms/search-ranking.d.ts.map +1 -1
  11. package/dist/algorithms/search-ranking.js +50 -1
  12. package/dist/algorithms/search-ranking.js.map +1 -1
  13. package/dist/config/environment.d.ts +7 -0
  14. package/dist/config/environment.d.ts.map +1 -1
  15. package/dist/config/environment.js +16 -0
  16. package/dist/config/environment.js.map +1 -1
  17. package/dist/config/index.d.ts.map +1 -1
  18. package/dist/config/index.js +4 -2
  19. package/dist/config/index.js.map +1 -1
  20. package/dist/database/migration/migrations/003-consolidation-score-fields.d.ts +79 -0
  21. package/dist/database/migration/migrations/003-consolidation-score-fields.d.ts.map +1 -0
  22. package/dist/database/migration/migrations/003-consolidation-score-fields.js +264 -0
  23. package/dist/database/migration/migrations/003-consolidation-score-fields.js.map +1 -0
  24. package/dist/database/migration/migrations/003-consolidation-score-fields.sql +52 -0
  25. package/dist/server/index.d.ts.map +1 -1
  26. package/dist/server/index.js +72 -1
  27. package/dist/server/index.js.map +1 -1
  28. package/dist/services/batch-scheduler.d.ts +17 -0
  29. package/dist/services/batch-scheduler.d.ts.map +1 -1
  30. package/dist/services/batch-scheduler.js +144 -0
  31. package/dist/services/batch-scheduler.js.map +1 -1
  32. package/dist/services/consolidation-score-service.d.ts +80 -0
  33. package/dist/services/consolidation-score-service.d.ts.map +1 -0
  34. package/dist/services/consolidation-score-service.js +182 -0
  35. package/dist/services/consolidation-score-service.js.map +1 -0
  36. package/dist/tools/memory-injection-prompt.d.ts +12 -0
  37. package/dist/tools/memory-injection-prompt.d.ts.map +1 -1
  38. package/dist/tools/memory-injection-prompt.js +105 -0
  39. package/dist/tools/memory-injection-prompt.js.map +1 -1
  40. package/dist/tools/recall-tool.d.ts +11 -0
  41. package/dist/tools/recall-tool.d.ts.map +1 -1
  42. package/dist/tools/recall-tool.js +110 -1
  43. package/dist/tools/recall-tool.js.map +1 -1
  44. package/dist/tools/remember-tool.d.ts.map +1 -1
  45. package/dist/tools/remember-tool.js +30 -3
  46. package/dist/tools/remember-tool.js.map +1 -1
  47. package/dist/tools/types.d.ts +2 -0
  48. package/dist/tools/types.d.ts.map +1 -1
  49. package/dist/tools/types.js.map +1 -1
  50. package/dist/types/consolidation-score.types.d.ts +67 -0
  51. package/dist/types/consolidation-score.types.d.ts.map +1 -0
  52. package/dist/types/consolidation-score.types.js +5 -0
  53. package/dist/types/consolidation-score.types.js.map +1 -0
  54. package/dist/types/index.d.ts +1 -0
  55. package/dist/types/index.d.ts.map +1 -1
  56. package/dist/utils/write-coalescing.d.ts +75 -0
  57. package/dist/utils/write-coalescing.d.ts.map +1 -0
  58. package/dist/utils/write-coalescing.js +133 -0
  59. package/dist/utils/write-coalescing.js.map +1 -0
  60. package/dist/workers/consolidation-score-worker.d.ts +99 -0
  61. package/dist/workers/consolidation-score-worker.d.ts.map +1 -0
  62. package/dist/workers/consolidation-score-worker.js +406 -0
  63. package/dist/workers/consolidation-score-worker.js.map +1 -0
  64. package/package.json +1 -1
@@ -0,0 +1,182 @@
1
+ /**
2
+ * Consolidation Score Service
3
+ * Hou et al. 정규화 회상 확률 공식을 기반으로 동적 기억 통합 점수를 계산합니다.
4
+ *
5
+ * 공식:
6
+ * - p_n(t) = (1 - exp(-r * e^(-t/g_n))) / (1 - e^(-1))
7
+ * - g_n = g_{n-1} + S(t)
8
+ * - S(t) = (1 - e^(-t)) / (1 + e^(-t))
9
+ * - g_0 = 1
10
+ */
11
+ /**
12
+ * 타입별 초기 회상 확률 상수 (r_base)
13
+ */
14
+ const R_BASE_BY_TYPE = {
15
+ procedural: 0.6, // 절차 기억은 더 오래 유지
16
+ episodic: 0.5, // 기본값
17
+ semantic: 0.5, // 기본값
18
+ working: 0.5 // 기본값
19
+ };
20
+ /**
21
+ * 핀 고정 메모리 최소 바닥값
22
+ */
23
+ const PINNED_MIN_SCORE = 0.25;
24
+ /**
25
+ * 정규화 상수 (1 - e^(-1))
26
+ */
27
+ const NORMALIZATION_CONSTANT = 1 - Math.exp(-1);
28
+ /**
29
+ * Consolidation Score Service
30
+ */
31
+ export class ConsolidationScoreService {
32
+ /**
33
+ * S(t) 함수 구현: (1 - e^(-t)) / (1 + e^(-t))
34
+ *
35
+ * @param t 경과 시간 (시간 단위)
36
+ * @returns S(t) 값
37
+ */
38
+ calculateS(t) {
39
+ if (t < 0) {
40
+ throw new Error('Time elapsed must be non-negative');
41
+ }
42
+ const expNegT = Math.exp(-t);
43
+ const numerator = 1 - expNegT;
44
+ const denominator = 1 + expNegT;
45
+ return numerator / denominator;
46
+ }
47
+ /**
48
+ * g_n 계산 로직: g_n = g_{n-1} + S(t)
49
+ *
50
+ * @param input g_value 업데이트 입력 파라미터
51
+ * @returns 업데이트된 g_value
52
+ */
53
+ updateGValue(input) {
54
+ const { previousGValue, timeElapsed } = input;
55
+ // g_0 = 1 (초기값)
56
+ const gPrevious = previousGValue ?? 1.0;
57
+ // S(t) 계산
58
+ const s = this.calculateS(timeElapsed);
59
+ // g_n = g_{n-1} + S(t)
60
+ return gPrevious + s;
61
+ }
62
+ /**
63
+ * 타입별 초기 회상 확률 상수 (r_base) 조회
64
+ *
65
+ * @param type 메모리 타입
66
+ * @returns r_base 값
67
+ */
68
+ getRBaseForType(type) {
69
+ return R_BASE_BY_TYPE[type];
70
+ }
71
+ /**
72
+ * Hou et al. 정규화 회상 확률 공식 구현
73
+ * p_n(t) = (1 - exp(-r * e^(-t/g_n))) / (1 - e^(-1))
74
+ *
75
+ * @param r 초기 회상 확률 상수
76
+ * @param t 경과 시간 (시간 단위)
77
+ * @param gN 감쇠 상수 g_n
78
+ * @returns 정규화된 회상 확률 (0.0 ~ 1.0)
79
+ */
80
+ calculateRecallProbability(r, t, gN) {
81
+ if (t < 0) {
82
+ throw new Error('Time elapsed must be non-negative');
83
+ }
84
+ if (gN <= 0) {
85
+ throw new Error('g_n must be positive');
86
+ }
87
+ // e^(-t/g_n)
88
+ const expNegTOverGN = Math.exp(-t / gN);
89
+ // -r * e^(-t/g_n)
90
+ const negRExp = -r * expNegTOverGN;
91
+ // 1 - exp(-r * e^(-t/g_n))
92
+ const numerator = 1 - Math.exp(negRExp);
93
+ // 정규화: (1 - exp(-r * e^(-t/g_n))) / (1 - e^(-1))
94
+ const probability = numerator / NORMALIZATION_CONSTANT;
95
+ // 클램핑: 0.0 ~ 1.0
96
+ return Math.max(0.0, Math.min(1.0, probability));
97
+ }
98
+ /**
99
+ * 경과 시간 계산 (시간 단위)
100
+ *
101
+ * @param lastAccessedAt 마지막 접근 시간 (NULL인 경우 createdAt 사용)
102
+ * @param createdAt 생성 시간
103
+ * @param now 현재 시간 (기본값: 현재 시각)
104
+ * @returns 경과 시간 (시간 단위)
105
+ */
106
+ calculateTimeElapsed(lastAccessedAt, createdAt, now = new Date()) {
107
+ const referenceTime = lastAccessedAt ?? createdAt;
108
+ const diffMs = now.getTime() - referenceTime.getTime();
109
+ const diffHours = diffMs / (1000 * 60 * 60);
110
+ return Math.max(0, diffHours);
111
+ }
112
+ /**
113
+ * g_value 재계산 (g_value가 NULL인 경우)
114
+ * recall_count를 기반으로 처음부터 계산
115
+ *
116
+ * @param recallCount 회상 횟수
117
+ * @param timeElapsed 경과 시간 (시간 단위)
118
+ * @returns 계산된 g_value
119
+ */
120
+ recalculateGValue(recallCount, timeElapsed) {
121
+ if (recallCount < 0) {
122
+ throw new Error('Recall count must be non-negative');
123
+ }
124
+ // g_0 = 1
125
+ let gN = 1.0;
126
+ // recall_count만큼 반복하여 g_n 계산
127
+ // 실제로는 각 recall 시점의 시간 경과를 알아야 정확하지만,
128
+ // 마이그레이션된 기존 데이터의 경우 근사값으로 현재 시간 경과를 사용
129
+ for (let n = 1; n <= recallCount; n++) {
130
+ // 각 recall 시점의 시간 경과를 근사 (균등 분배 가정)
131
+ const tForRecall = timeElapsed / (recallCount + 1) * (recallCount - n + 1);
132
+ const s = this.calculateS(tForRecall);
133
+ gN = gN + s;
134
+ }
135
+ return gN;
136
+ }
137
+ /**
138
+ * Consolidation Score 계산
139
+ *
140
+ * @param input 계산 입력 파라미터
141
+ * @returns 계산 결과
142
+ */
143
+ calculateScore(input) {
144
+ const { recallCount, lastAccessedAt, createdAt, gValue, type, pinned } = input;
145
+ // 경과 시간 계산
146
+ const timeElapsed = this.calculateTimeElapsed(lastAccessedAt, createdAt);
147
+ // g_value 결정
148
+ let gN;
149
+ if (gValue !== null) {
150
+ // 저장된 g_value 사용
151
+ gN = gValue;
152
+ }
153
+ else {
154
+ // g_value가 NULL인 경우 재계산
155
+ gN = this.recalculateGValue(recallCount, timeElapsed);
156
+ }
157
+ // 타입별 r_base 조회
158
+ const rBase = this.getRBaseForType(type);
159
+ // Hou et al. 공식으로 점수 계산
160
+ let score = this.calculateRecallProbability(rBase, timeElapsed, gN);
161
+ // 핀 고정 메모리 최소값 보장
162
+ if (pinned && score < PINNED_MIN_SCORE) {
163
+ score = PINNED_MIN_SCORE;
164
+ }
165
+ // 점수 클램핑 (0.0 ~ 1.0)
166
+ score = Math.max(0.0, Math.min(1.0, score));
167
+ return {
168
+ score,
169
+ gValue: gN
170
+ };
171
+ }
172
+ /**
173
+ * g_value 업데이트 (recall_count 증가 시 호출)
174
+ *
175
+ * @param input g_value 업데이트 입력 파라미터
176
+ * @returns 업데이트된 g_value
177
+ */
178
+ updateGValueForRecall(input) {
179
+ return this.updateGValue(input);
180
+ }
181
+ }
182
+ //# sourceMappingURL=consolidation-score-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consolidation-score-service.js","sourceRoot":"","sources":["../../src/services/consolidation-score-service.ts"],"names":[],"mappings":"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"}
@@ -27,5 +27,17 @@ export declare class MemoryInjectionPrompt extends BaseTool {
27
27
  * 토큰 수 추정 (간단한 추정)
28
28
  */
29
29
  private estimateTokens;
30
+ /**
31
+ * Consolidation Score 메타데이터 업데이트
32
+ * 검색 결과로 반환된 메모리들의 recall_count, last_accessed_at, g_value 업데이트
33
+ * Write Coalescing을 사용하여 I/O 부하를 줄입니다.
34
+ * (recall-tool.ts와 동일한 로직)
35
+ *
36
+ * @param db 데이터베이스 연결
37
+ * @param consolidationScoreService Consolidation Score 서비스
38
+ * @param writeCoalescingManager Write Coalescing Manager (선택적)
39
+ * @param searchItems 검색 결과 아이템 배열
40
+ */
41
+ private updateConsolidationScoreMetadata;
30
42
  }
31
43
  //# sourceMappingURL=memory-injection-prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-injection-prompt.d.ts","sourceRoot":"","sources":["../../src/tools/memory-injection-prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAa9C,qBAAa,qBAAsB,SAAQ,QAAQ;;IA0C3C,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAyF7D;;OAEG;YACW,iBAAiB;IAoC/B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAyC9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;OAEG;IACH,OAAO,CAAC,cAAc;CAIvB"}
1
+ {"version":3,"file":"memory-injection-prompt.d.ts","sourceRoot":"","sources":["../../src/tools/memory-injection-prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAiB9C,qBAAa,qBAAsB,SAAQ,QAAQ;;IA0C3C,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAmG7D;;OAEG;YACW,iBAAiB;IAoC/B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAyC9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAKtB;;;;;;;;;;OAUG;YACW,gCAAgC;CAuH/C"}
@@ -6,6 +6,8 @@ import { BaseTool } from './base-tool.js';
6
6
  import { z } from 'zod';
7
7
  import { CommonSchemas } from './types.js';
8
8
  import { isMemoryItemType } from '../types/index.js';
9
+ import { mementoConfig } from '../config/index.js';
10
+ import { DatabaseUtils } from '../utils/database.js';
9
11
  const MemoryInjectionSchema = z.object({
10
12
  query: z.string().describe('검색할 쿼리'),
11
13
  token_budget: z.number().optional().describe('토큰 예산 (기본값: 1000)'),
@@ -95,6 +97,10 @@ export class MemoryInjectionPrompt extends BaseTool {
95
97
  });
96
98
  const memories = searchResult.items;
97
99
  console.log(`🔍 검색된 기억: ${memories.length}개`);
100
+ // Consolidation Score System 업데이트 (기능 플래그 확인)
101
+ if (mementoConfig.consolidationScoreEnabled && context.services.consolidationScoreService && memories.length > 0) {
102
+ await this.updateConsolidationScoreMetadata(context.db, context.services.consolidationScoreService, context.services.writeCoalescingManager, memories);
103
+ }
98
104
  if (memories.length === 0) {
99
105
  return this.createSuccessResult({
100
106
  message: '관련 기억을 찾을 수 없습니다.',
@@ -223,5 +229,104 @@ export class MemoryInjectionPrompt extends BaseTool {
223
229
  // 대략적인 토큰 수 추정 (실제로는 더 정확한 토크나이저 사용 가능)
224
230
  return Math.ceil(text.length / 4);
225
231
  }
232
+ /**
233
+ * Consolidation Score 메타데이터 업데이트
234
+ * 검색 결과로 반환된 메모리들의 recall_count, last_accessed_at, g_value 업데이트
235
+ * Write Coalescing을 사용하여 I/O 부하를 줄입니다.
236
+ * (recall-tool.ts와 동일한 로직)
237
+ *
238
+ * @param db 데이터베이스 연결
239
+ * @param consolidationScoreService Consolidation Score 서비스
240
+ * @param writeCoalescingManager Write Coalescing Manager (선택적)
241
+ * @param searchItems 검색 결과 아이템 배열
242
+ */
243
+ async updateConsolidationScoreMetadata(db, consolidationScoreService, writeCoalescingManager, searchItems) {
244
+ if (!searchItems || searchItems.length === 0) {
245
+ return;
246
+ }
247
+ try {
248
+ const now = new Date();
249
+ const nowISO = now.toISOString();
250
+ // 각 검색 결과에 대해 업데이트
251
+ for (const item of searchItems) {
252
+ const memoryId = item.id || item.memory_id;
253
+ if (!memoryId) {
254
+ continue; // ID가 없으면 스킵
255
+ }
256
+ try {
257
+ // 기존 메모리 정보 조회 (recall_count, last_accessed_at, g_value, created_at, type, pinned)
258
+ const memory = DatabaseUtils.get(db, `SELECT
259
+ recall_count,
260
+ last_accessed_at,
261
+ g_value,
262
+ created_at,
263
+ type,
264
+ pinned
265
+ FROM memory_item
266
+ WHERE id = ?`, [memoryId]);
267
+ if (!memory) {
268
+ this.logWarning(`메모리를 찾을 수 없습니다: ${memoryId}`);
269
+ continue;
270
+ }
271
+ // recall_count 증가
272
+ const newRecallCount = (memory.recall_count || 0) + 1;
273
+ // 경과 시간 계산 (last_accessed_at이 있으면 사용, 없으면 created_at 사용)
274
+ const lastAccessedAt = memory.last_accessed_at
275
+ ? new Date(memory.last_accessed_at)
276
+ : new Date(memory.created_at);
277
+ const timeElapsed = consolidationScoreService.calculateTimeElapsed(lastAccessedAt, new Date(memory.created_at), now);
278
+ // g_value 업데이트
279
+ const newGValue = consolidationScoreService.updateGValueForRecall({
280
+ previousGValue: memory.g_value,
281
+ timeElapsed
282
+ });
283
+ // consolidation_score 계산
284
+ const scoreResult = consolidationScoreService.calculateScore({
285
+ recallCount: newRecallCount,
286
+ lastAccessedAt: now,
287
+ createdAt: new Date(memory.created_at),
288
+ gValue: newGValue,
289
+ type: memory.type,
290
+ pinned: memory.pinned === 1 || memory.pinned === true
291
+ });
292
+ // Write Coalescing 사용 여부 확인
293
+ if (writeCoalescingManager) {
294
+ // 버퍼에 추가 (주기적으로 flush됨)
295
+ writeCoalescingManager.addWrite({
296
+ memoryId,
297
+ fields: {
298
+ recall_count: newRecallCount,
299
+ last_accessed_at: nowISO,
300
+ g_value: newGValue,
301
+ consolidation_score: scoreResult.score
302
+ }
303
+ });
304
+ }
305
+ else {
306
+ // Write Coalescing이 없으면 즉시 업데이트
307
+ DatabaseUtils.run(db, `UPDATE memory_item
308
+ SET
309
+ recall_count = ?,
310
+ last_accessed_at = ?,
311
+ g_value = ?,
312
+ consolidation_score = ?
313
+ WHERE id = ?`, [newRecallCount, nowISO, newGValue, scoreResult.score, memoryId]);
314
+ }
315
+ }
316
+ catch (error) {
317
+ // 개별 메모리 업데이트 실패해도 다른 메모리는 계속 업데이트
318
+ this.logWarning(`메모리 업데이트 실패 (${memoryId})`, {
319
+ error: error instanceof Error ? error.message : String(error)
320
+ });
321
+ }
322
+ }
323
+ }
324
+ catch (error) {
325
+ // 전체 업데이트 실패해도 검색 결과는 정상 반환
326
+ this.logError(error, 'Consolidation Score 메타데이터 업데이트 실패', {
327
+ itemCount: searchItems.length
328
+ });
329
+ }
330
+ }
226
331
  }
227
332
  //# sourceMappingURL=memory-injection-prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-injection-prompt.js","sourceRoot":"","sources":["../../src/tools/memory-injection-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-injection-prompt.js","sourceRoot":"","sources":["../../src/tools/memory-injection-prompt.ts"],"names":[],"mappings":"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"}
@@ -23,5 +23,16 @@ export declare class RecallTool extends BaseTool {
23
23
  * 필터 검증
24
24
  */
25
25
  private validateFilters;
26
+ /**
27
+ * Consolidation Score 메타데이터 업데이트
28
+ * 검색 결과로 반환된 메모리들의 recall_count, last_accessed_at, g_value 업데이트
29
+ * Write Coalescing을 사용하여 I/O 부하를 줄입니다.
30
+ *
31
+ * @param db 데이터베이스 연결
32
+ * @param consolidationScoreService Consolidation Score 서비스
33
+ * @param writeCoalescingManager Write Coalescing Manager (선택적)
34
+ * @param searchItems 검색 결과 아이템 배열
35
+ */
36
+ private updateConsolidationScoreMetadata;
26
37
  }
27
38
  //# sourceMappingURL=recall-tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recall-tool.d.ts","sourceRoot":"","sources":["../../src/tools/recall-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAgD1D,qBAAa,UAAW,SAAQ,QAAQ;;IAqGhC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IA+TpE;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA8C5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiCzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAuBrB;;OAEG;IACH,OAAO,CAAC,eAAe;CAwBxB"}
1
+ {"version":3,"file":"recall-tool.d.ts","sourceRoot":"","sources":["../../src/tools/recall-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAmD1D,qBAAa,UAAW,SAAQ,QAAQ;;IAqGhC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IA4UpE;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAmD5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiCzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAuBrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAyBvB;;;;;;;;;OASG;YACW,gCAAgC;CAuH/C"}
@@ -13,6 +13,7 @@ import { KnowledgeVaultRepository } from '../repositories/knowledge-vault-reposi
13
13
  import { KnowledgeVaultService } from '../services/knowledge-vault-service.js';
14
14
  import { validateTypeParam } from '../utils/type-param-validator.js';
15
15
  import { mementoConfig } from '../config/index.js';
16
+ import { DatabaseUtils } from '../utils/database.js';
16
17
  const RecallSchema = z.object({
17
18
  // query를 optional로 변경 (조건부 필수는 refine에서 처리)
18
19
  query: z.string().min(1, 'Query cannot be empty').optional(),
@@ -378,8 +379,14 @@ export class RecallTool extends BaseTool {
378
379
  throw new Error(`검색 실행 실패: ${searchError.message}`);
379
380
  }
380
381
  const executionTime = Date.now() - startTime;
382
+ // 검색 결과 가져오기
383
+ const searchItems = searchResult?.items || [];
384
+ // Consolidation Score System 업데이트 (기능 플래그 확인)
385
+ if (mementoConfig.consolidationScoreEnabled && context.services.consolidationScoreService && searchItems.length > 0) {
386
+ await this.updateConsolidationScoreMetadata(context.db, context.services.consolidationScoreService, context.services.writeCoalescingManager, searchItems);
387
+ }
381
388
  // 결과 후처리 - searchResult가 undefined인 경우 처리
382
- const processedResults = this.processSearchResults(searchResult?.items || [], includeMetadata);
389
+ const processedResults = this.processSearchResults(searchItems, includeMetadata);
383
390
  this.logInfo('검색 완료', {
384
391
  resultCount: processedResults.length,
385
392
  executionTime,
@@ -458,6 +465,10 @@ export class RecallTool extends BaseTool {
458
465
  if (item.recall_reason) {
459
466
  processed.recall_reason = item.recall_reason;
460
467
  }
468
+ // Consolidation Score 포함 (기능 플래그 활성화 시)
469
+ if (mementoConfig.consolidationScoreEnabled && item.consolidation_score !== undefined) {
470
+ processed.consolidation_score = item.consolidation_score;
471
+ }
461
472
  }
462
473
  return processed;
463
474
  });
@@ -541,5 +552,103 @@ export class RecallTool extends BaseTool {
541
552
  }
542
553
  }
543
554
  }
555
+ /**
556
+ * Consolidation Score 메타데이터 업데이트
557
+ * 검색 결과로 반환된 메모리들의 recall_count, last_accessed_at, g_value 업데이트
558
+ * Write Coalescing을 사용하여 I/O 부하를 줄입니다.
559
+ *
560
+ * @param db 데이터베이스 연결
561
+ * @param consolidationScoreService Consolidation Score 서비스
562
+ * @param writeCoalescingManager Write Coalescing Manager (선택적)
563
+ * @param searchItems 검색 결과 아이템 배열
564
+ */
565
+ async updateConsolidationScoreMetadata(db, consolidationScoreService, writeCoalescingManager, searchItems) {
566
+ if (!searchItems || searchItems.length === 0) {
567
+ return;
568
+ }
569
+ try {
570
+ const now = new Date();
571
+ const nowISO = now.toISOString();
572
+ // 각 검색 결과에 대해 업데이트
573
+ for (const item of searchItems) {
574
+ const memoryId = item.id || item.memory_id;
575
+ if (!memoryId) {
576
+ continue; // ID가 없으면 스킵
577
+ }
578
+ try {
579
+ // 기존 메모리 정보 조회 (recall_count, last_accessed_at, g_value, created_at, type, pinned)
580
+ const memory = DatabaseUtils.get(db, `SELECT
581
+ recall_count,
582
+ last_accessed_at,
583
+ g_value,
584
+ created_at,
585
+ type,
586
+ pinned
587
+ FROM memory_item
588
+ WHERE id = ?`, [memoryId]);
589
+ if (!memory) {
590
+ this.logWarning(`메모리를 찾을 수 없습니다: ${memoryId}`);
591
+ continue;
592
+ }
593
+ // recall_count 증가
594
+ const newRecallCount = (memory.recall_count || 0) + 1;
595
+ // 경과 시간 계산 (last_accessed_at이 있으면 사용, 없으면 created_at 사용)
596
+ const lastAccessedAt = memory.last_accessed_at
597
+ ? new Date(memory.last_accessed_at)
598
+ : new Date(memory.created_at);
599
+ const timeElapsed = consolidationScoreService.calculateTimeElapsed(lastAccessedAt, new Date(memory.created_at), now);
600
+ // g_value 업데이트
601
+ const newGValue = consolidationScoreService.updateGValueForRecall({
602
+ previousGValue: memory.g_value,
603
+ timeElapsed
604
+ });
605
+ // consolidation_score 계산
606
+ const scoreResult = consolidationScoreService.calculateScore({
607
+ recallCount: newRecallCount,
608
+ lastAccessedAt: now,
609
+ createdAt: new Date(memory.created_at),
610
+ gValue: newGValue,
611
+ type: memory.type,
612
+ pinned: memory.pinned === 1 || memory.pinned === true
613
+ });
614
+ // Write Coalescing 사용 여부 확인
615
+ if (writeCoalescingManager) {
616
+ // 버퍼에 추가 (주기적으로 flush됨)
617
+ writeCoalescingManager.addWrite({
618
+ memoryId,
619
+ fields: {
620
+ recall_count: newRecallCount,
621
+ last_accessed_at: nowISO,
622
+ g_value: newGValue,
623
+ consolidation_score: scoreResult.score
624
+ }
625
+ });
626
+ }
627
+ else {
628
+ // Write Coalescing이 없으면 즉시 업데이트
629
+ DatabaseUtils.run(db, `UPDATE memory_item
630
+ SET
631
+ recall_count = ?,
632
+ last_accessed_at = ?,
633
+ g_value = ?,
634
+ consolidation_score = ?
635
+ WHERE id = ?`, [newRecallCount, nowISO, newGValue, scoreResult.score, memoryId]);
636
+ }
637
+ }
638
+ catch (error) {
639
+ // 개별 메모리 업데이트 실패해도 다른 메모리는 계속 업데이트
640
+ this.logWarning(`메모리 업데이트 실패 (${memoryId})`, {
641
+ error: error instanceof Error ? error.message : String(error)
642
+ });
643
+ }
644
+ }
645
+ }
646
+ catch (error) {
647
+ // 전체 업데이트 실패해도 검색 결과는 정상 반환
648
+ this.logError(error, 'Consolidation Score 메타데이터 업데이트 실패', {
649
+ itemCount: searchItems.length
650
+ });
651
+ }
652
+ }
544
653
  }
545
654
  //# sourceMappingURL=recall-tool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"recall-tool.js","sourceRoot":"","sources":["../../src/tools/recall-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recall-tool.js","sourceRoot":"","sources":["../../src/tools/recall-tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"remember-tool.d.ts","sourceRoot":"","sources":["../../src/tools/remember-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAkD1D,qBAAa,YAAa,SAAQ,QAAQ;;IA4ElC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;CAsQrE"}
1
+ {"version":3,"file":"remember-tool.d.ts","sourceRoot":"","sources":["../../src/tools/remember-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAmD1D,qBAAa,YAAa,SAAQ,QAAQ;;IA4ElC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;CAmSrE"}