memento-mcp-server 1.13.1 → 1.14.0-b

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 (118) hide show
  1. package/dist/database/schema.sql +9 -2
  2. package/dist/domains/memory/tools/recall-tool.d.ts +13 -0
  3. package/dist/domains/memory/tools/recall-tool.d.ts.map +1 -1
  4. package/dist/domains/memory/tools/recall-tool.js +160 -12
  5. package/dist/domains/memory/tools/recall-tool.js.map +1 -1
  6. package/dist/domains/memory/tools/remember-tool.d.ts +10 -0
  7. package/dist/domains/memory/tools/remember-tool.d.ts.map +1 -1
  8. package/dist/domains/memory/tools/remember-tool.js +264 -35
  9. package/dist/domains/memory/tools/remember-tool.js.map +1 -1
  10. package/dist/domains/relation/services/relation-quality-validator.d.ts.map +1 -1
  11. package/dist/domains/relation/services/relation-quality-validator.js +15 -10
  12. package/dist/domains/relation/services/relation-quality-validator.js.map +1 -1
  13. package/dist/domains/relation/services/rule-based-relation-extractor.d.ts.map +1 -1
  14. package/dist/domains/relation/services/rule-based-relation-extractor.js +18 -0
  15. package/dist/domains/relation/services/rule-based-relation-extractor.js.map +1 -1
  16. package/dist/domains/relation/tools/add-relation-tool.d.ts +3 -3
  17. package/dist/domains/relation/tools/add-relation-tool.js +2 -2
  18. package/dist/domains/relation/tools/add-relation-tool.js.map +1 -1
  19. package/dist/domains/relation/tools/get-relations-tool.d.ts +3 -3
  20. package/dist/domains/relation/tools/get-relations-tool.js +2 -2
  21. package/dist/domains/relation/tools/get-relations-tool.js.map +1 -1
  22. package/dist/domains/search/algorithms/hybrid-search-engine.d.ts +20 -0
  23. package/dist/domains/search/algorithms/hybrid-search-engine.d.ts.map +1 -1
  24. package/dist/domains/search/algorithms/hybrid-search-engine.js +168 -5
  25. package/dist/domains/search/algorithms/hybrid-search-engine.js.map +1 -1
  26. package/dist/domains/search/algorithms/search-engine.d.ts.map +1 -1
  27. package/dist/domains/search/algorithms/search-engine.js +37 -17
  28. package/dist/domains/search/algorithms/search-engine.js.map +1 -1
  29. package/dist/domains/search/algorithms/search-ranking.d.ts +15 -2
  30. package/dist/domains/search/algorithms/search-ranking.d.ts.map +1 -1
  31. package/dist/domains/search/algorithms/search-ranking.js +46 -15
  32. package/dist/domains/search/algorithms/search-ranking.js.map +1 -1
  33. package/dist/domains/search/repositories/vector-search.repository.d.ts.map +1 -1
  34. package/dist/domains/search/repositories/vector-search.repository.js +180 -89
  35. package/dist/domains/search/repositories/vector-search.repository.js.map +1 -1
  36. package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.d.ts +63 -0
  37. package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.d.ts.map +1 -0
  38. package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.js +257 -0
  39. package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.js.map +1 -0
  40. package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.sql +66 -0
  41. package/dist/infrastructure/reflexion-worker.d.ts +18 -0
  42. package/dist/infrastructure/reflexion-worker.d.ts.map +1 -1
  43. package/dist/infrastructure/reflexion-worker.js +216 -0
  44. package/dist/infrastructure/reflexion-worker.js.map +1 -1
  45. package/dist/infrastructure/scheduler/batch-scheduler.d.ts +51 -8
  46. package/dist/infrastructure/scheduler/batch-scheduler.d.ts.map +1 -1
  47. package/dist/infrastructure/scheduler/batch-scheduler.js +299 -205
  48. package/dist/infrastructure/scheduler/batch-scheduler.js.map +1 -1
  49. package/dist/infrastructure/scheduler/file-logger.d.ts +82 -0
  50. package/dist/infrastructure/scheduler/file-logger.d.ts.map +1 -0
  51. package/dist/infrastructure/scheduler/file-logger.js +133 -0
  52. package/dist/infrastructure/scheduler/file-logger.js.map +1 -0
  53. package/dist/infrastructure/scheduler/health-checker.d.ts +54 -0
  54. package/dist/infrastructure/scheduler/health-checker.d.ts.map +1 -0
  55. package/dist/infrastructure/scheduler/health-checker.js +96 -0
  56. package/dist/infrastructure/scheduler/health-checker.js.map +1 -0
  57. package/dist/infrastructure/scheduler/job-queue.d.ts +85 -0
  58. package/dist/infrastructure/scheduler/job-queue.d.ts.map +1 -0
  59. package/dist/infrastructure/scheduler/job-queue.js +125 -0
  60. package/dist/infrastructure/scheduler/job-queue.js.map +1 -0
  61. package/dist/infrastructure/scheduler/relation-validator-executor.d.ts +37 -0
  62. package/dist/infrastructure/scheduler/relation-validator-executor.d.ts.map +1 -0
  63. package/dist/infrastructure/scheduler/relation-validator-executor.js +120 -0
  64. package/dist/infrastructure/scheduler/relation-validator-executor.js.map +1 -0
  65. package/dist/infrastructure/scheduler/retry-manager.d.ts +62 -0
  66. package/dist/infrastructure/scheduler/retry-manager.d.ts.map +1 -0
  67. package/dist/infrastructure/scheduler/retry-manager.js +91 -0
  68. package/dist/infrastructure/scheduler/retry-manager.js.map +1 -0
  69. package/dist/npm-client/utils.d.ts.map +1 -1
  70. package/dist/npm-client/utils.js +2 -1
  71. package/dist/npm-client/utils.js.map +1 -1
  72. package/dist/scripts/copy-assets.js +4 -4
  73. package/dist/scripts/copy-assets.js.map +1 -1
  74. package/dist/server/http-server.d.ts.map +1 -1
  75. package/dist/server/http-server.js +15 -17
  76. package/dist/server/http-server.js.map +1 -1
  77. package/dist/services/anchor-manager.d.ts.map +1 -1
  78. package/dist/services/anchor-manager.js.map +1 -1
  79. package/dist/shared/types/index.d.ts +36 -0
  80. package/dist/shared/types/index.d.ts.map +1 -1
  81. package/dist/shared/types/index.js.map +1 -1
  82. package/dist/shared/types/relation.d.ts +1 -1
  83. package/dist/shared/types/relation.d.ts.map +1 -1
  84. package/dist/shared/types/relation.js +7 -4
  85. package/dist/shared/types/relation.js.map +1 -1
  86. package/dist/shared/utils/database.d.ts.map +1 -1
  87. package/dist/shared/utils/database.js +9 -2
  88. package/dist/shared/utils/database.js.map +1 -1
  89. package/dist/shared/utils/procedural-memory-extractor.d.ts +108 -0
  90. package/dist/shared/utils/procedural-memory-extractor.d.ts.map +1 -0
  91. package/dist/shared/utils/procedural-memory-extractor.js +581 -0
  92. package/dist/shared/utils/procedural-memory-extractor.js.map +1 -0
  93. package/dist/shared/utils/relation-type-converter.d.ts +52 -0
  94. package/dist/shared/utils/relation-type-converter.d.ts.map +1 -0
  95. package/dist/shared/utils/relation-type-converter.js +106 -0
  96. package/dist/shared/utils/relation-type-converter.js.map +1 -0
  97. package/dist/shared/utils/type-param-validator.d.ts +31 -0
  98. package/dist/shared/utils/type-param-validator.d.ts.map +1 -1
  99. package/dist/shared/utils/type-param-validator.js +90 -2
  100. package/dist/shared/utils/type-param-validator.js.map +1 -1
  101. package/dist/tools/base-tool.d.ts.map +1 -1
  102. package/dist/tools/types.d.ts +4 -0
  103. package/dist/tools/types.d.ts.map +1 -1
  104. package/dist/tools/types.js +5 -0
  105. package/dist/tools/types.js.map +1 -1
  106. package/dist/workers/consolidation-score-worker.d.ts.map +1 -1
  107. package/dist/workers/consolidation-score-worker.js +0 -2
  108. package/dist/workers/consolidation-score-worker.js.map +1 -1
  109. package/package.json +3 -3
  110. package/scripts/auto-setup.js +1 -1
  111. /package/dist/{database → infrastructure/database/database}/migration/migrations/002-mirix-schema-expansion-core-memory.sql +0 -0
  112. /package/dist/{database → infrastructure/database/database}/migration/migrations/002-mirix-schema-expansion-knowledge-vault.sql +0 -0
  113. /package/dist/{database → infrastructure/database/database}/migration/migrations/002-mirix-schema-expansion-memory-item.sql +0 -0
  114. /package/dist/{database → infrastructure/database/database}/migration/migrations/002-mirix-schema-expansion-schema-version.sql +0 -0
  115. /package/dist/{database → infrastructure/database/database}/migration/migrations/003-consolidation-score-fields.sql +0 -0
  116. /package/dist/{database → infrastructure/database/database}/migration/migrations/005-relation-engine-schema.sql +0 -0
  117. /package/dist/{database → infrastructure/database/database}/migration/migrations/006-fts5-reflection-notes-migration-status.sql +0 -0
  118. /package/dist/{database → infrastructure/database/database}/migration/migrations/006-fts5-reflection-notes.sql +0 -0
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import Database from 'better-sqlite3';
6
6
  import { VECTOR_SEARCH_CONFIG } from '../../../shared/config/vector-search.config.js';
7
+ import { mcpLogger } from '../../../server/mcp-logger.js';
7
8
  export class VectorSearchRepositoryImpl {
8
9
  db = null;
9
10
  isVecAvailable = false;
@@ -37,7 +38,7 @@ export class VectorSearchRepositoryImpl {
37
38
  ? tableRows
38
39
  : [];
39
40
  if (tableCheck.length === 0) {
40
- console.log('⚠️ VEC 테이블이 없습니다. 벡터 검색이 비활성화됩니다.');
41
+ mcpLogger.logServer('warn', 'VEC 테이블이 없습니다. 벡터 검색이 비활성화됩니다.');
41
42
  this.isVecAvailable = false;
42
43
  return false;
43
44
  }
@@ -51,23 +52,23 @@ export class VectorSearchRepositoryImpl {
51
52
  LIMIT 0
52
53
  `);
53
54
  if (typeof testStatement.get !== 'function') {
54
- console.warn('⚠️ VEC 테스트 쿼리를 실행할 수 없습니다: get() 메서드가 없습니다.');
55
+ mcpLogger.logServer('warn', 'VEC 테스트 쿼리를 실행할 수 없습니다: get() 메서드가 없습니다.');
55
56
  this.isVecAvailable = false;
56
57
  return false;
57
58
  }
58
59
  testStatement.get(JSON.stringify(new Array(VECTOR_SEARCH_CONFIG.defaultDimensions).fill(0)));
59
60
  this.isVecAvailable = true;
60
- console.log(' VEC (Vector Search) 사용 가능');
61
+ mcpLogger.logServer('info', 'VEC (Vector Search) 사용 가능');
61
62
  return true;
62
63
  }
63
64
  catch (vecError) {
64
- console.warn('⚠️ VEC 함수를 사용할 수 없습니다:', vecError);
65
+ mcpLogger.logServer('warn', 'VEC 함수를 사용할 수 없습니다', { error: vecError instanceof Error ? vecError.message : String(vecError) });
65
66
  this.isVecAvailable = false;
66
67
  return false;
67
68
  }
68
69
  }
69
70
  catch (error) {
70
- console.error(' VEC 가용성 확인 실패:', error);
71
+ mcpLogger.logServer('error', 'VEC 가용성 확인 실패', { error: error instanceof Error ? error.message : String(error) });
71
72
  this.isVecAvailable = false;
72
73
  return false;
73
74
  }
@@ -77,7 +78,7 @@ export class VectorSearchRepositoryImpl {
77
78
  */
78
79
  async search(query) {
79
80
  if (!this.db || !this.isVecAvailable) {
80
- console.warn('⚠️ VEC를 사용할 수 없습니다. 빈 결과를 반환합니다.');
81
+ mcpLogger.logServer('warn', 'VEC를 사용할 수 없습니다. 빈 결과를 반환합니다.');
81
82
  return [];
82
83
  }
83
84
  const { queryVector, options, provider } = query;
@@ -86,7 +87,7 @@ export class VectorSearchRepositoryImpl {
86
87
  const expectedDimensions = this.getExpectedDimensions(provider);
87
88
  // 벡터 차원 검증
88
89
  if (queryVector.length !== expectedDimensions) {
89
- console.error(`❌ 벡터 차원 불일치: 예상 ${expectedDimensions}, 실제 ${queryVector.length}`);
90
+ mcpLogger.logServer('error', '벡터 차원 불일치', { expected: expectedDimensions, actual: queryVector.length });
90
91
  return [];
91
92
  }
92
93
  try {
@@ -99,9 +100,15 @@ export class VectorSearchRepositoryImpl {
99
100
  mi.type,
100
101
  mi.importance,
101
102
  mi.created_at,
102
- mi.last_accessed,
103
+ COALESCE(mi.last_accessed_at, mi.last_accessed) as last_accessed_at,
103
104
  mi.pinned,
104
- mi.tags
105
+ mi.tags,
106
+ mi.task_goal,
107
+ mi.steps,
108
+ mi.reflection_notes,
109
+ mi.workflow_name,
110
+ mi.skill_name,
111
+ mi.trigger_conditions
105
112
  FROM ${tableName} vec
106
113
  JOIN memory_embedding me ON vec.rowid = me.id
107
114
  JOIN memory_item mi ON mi.id = me.memory_id
@@ -113,7 +120,7 @@ export class VectorSearchRepositoryImpl {
113
120
  const params = [JSON.stringify(queryVector), ...(type ? [type] : []), limit];
114
121
  const statement = this.db.prepare(vecQuery);
115
122
  if (typeof statement.all !== 'function') {
116
- console.warn('⚠️ 벡터 검색 쿼리를 실행할 수 없습니다: all() 메서드가 없습니다.');
123
+ mcpLogger.logServer('warn', '벡터 검색 쿼리를 실행할 수 없습니다: all() 메서드가 없습니다.');
117
124
  return [];
118
125
  }
119
126
  const rawResults = statement.all(...params);
@@ -133,15 +140,23 @@ export class VectorSearchRepositoryImpl {
133
140
  type: result.type,
134
141
  importance: result.importance,
135
142
  created_at: result.created_at,
136
- last_accessed: includeMetadata ? result.last_accessed : undefined,
143
+ last_accessed_at: includeMetadata ? (result.last_accessed_at || result.last_accessed) : undefined,
137
144
  pinned: includeMetadata ? Boolean(result.pinned) : false,
138
- tags: includeMetadata ? result.tags : undefined
145
+ tags: includeMetadata ? result.tags : undefined,
146
+ // Procedural Memory 필드
147
+ task_goal: includeMetadata ? result.task_goal : undefined,
148
+ steps: includeMetadata ? result.steps : undefined,
149
+ reflection_notes: includeMetadata ? result.reflection_notes : undefined,
150
+ // Procedural Memory Enhancement (v7.0) 필드
151
+ workflow_name: includeMetadata ? result.workflow_name : undefined,
152
+ skill_name: includeMetadata ? result.skill_name : undefined,
153
+ trigger_conditions: includeMetadata ? result.trigger_conditions : undefined
139
154
  }));
140
- console.log(`🔍 벡터 검색 완료: ${normalizedResults.length}개 결과 (임계값: ${threshold})`);
155
+ mcpLogger.logServer('debug', '벡터 검색 완료', { resultCount: normalizedResults.length, threshold });
141
156
  return normalizedResults;
142
157
  }
143
158
  catch (error) {
144
- console.error(' 벡터 검색 실패:', error);
159
+ mcpLogger.logServer('error', '벡터 검색 실패', { error: error instanceof Error ? error.message : String(error) });
145
160
  return [];
146
161
  }
147
162
  }
@@ -150,7 +165,7 @@ export class VectorSearchRepositoryImpl {
150
165
  */
151
166
  async hybridSearch(query) {
152
167
  if (!this.db || !this.isVecAvailable) {
153
- console.warn('⚠️ VEC를 사용할 수 없습니다. 빈 결과를 반환합니다.');
168
+ mcpLogger.logServer('warn', 'VEC를 사용할 수 없습니다. 빈 결과를 반환합니다.');
154
169
  return [];
155
170
  }
156
171
  const { queryVector, textQuery, options, provider } = query;
@@ -159,87 +174,153 @@ export class VectorSearchRepositoryImpl {
159
174
  const expectedDimensions = this.getExpectedDimensions(provider);
160
175
  // 벡터 차원 검증
161
176
  if (queryVector.length !== expectedDimensions) {
162
- console.error(`❌ 벡터 차원 불일치: 예상 ${expectedDimensions}, 실제 ${queryVector.length}`);
177
+ mcpLogger.logServer('error', '벡터 차원 불일치', { expected: expectedDimensions, actual: queryVector.length });
163
178
  return [];
164
179
  }
165
180
  try {
166
181
  const tableName = this.getTableName(provider ?? 'tfidf');
167
- const hybridQuery = `
168
- WITH vector_search AS (
182
+ // textQuery가 없거나 빈 문자열이면 텍스트 검색을 건너뛰고 벡터 검색만 사용
183
+ // FTS5는 쿼리를 에러로 처리하므로 이를 방지
184
+ const hasTextQuery = textQuery && textQuery.trim().length > 0;
185
+ let hybridQuery;
186
+ let params;
187
+ if (hasTextQuery) {
188
+ // 텍스트 검색과 벡터 검색 모두 사용
189
+ hybridQuery = `
190
+ WITH vector_search AS (
191
+ SELECT
192
+ me.memory_id as memory_id,
193
+ vec.distance as vector_distance,
194
+ mi.content,
195
+ mi.type,
196
+ mi.importance,
197
+ mi.created_at,
198
+ COALESCE(mi.last_accessed_at, mi.last_accessed) as last_accessed_at,
199
+ mi.pinned,
200
+ mi.tags,
201
+ mi.task_goal,
202
+ mi.steps,
203
+ mi.reflection_notes,
204
+ mi.workflow_name,
205
+ mi.skill_name,
206
+ mi.trigger_conditions
207
+ FROM ${tableName} vec
208
+ JOIN memory_embedding me ON vec.rowid = me.id
209
+ JOIN memory_item mi ON mi.id = me.memory_id
210
+ WHERE vec.embedding MATCH ?
211
+ ${type ? 'AND mi.type = ?' : ''}
212
+ ),
213
+ text_search AS (
214
+ SELECT
215
+ mi.id as memory_id,
216
+ mi.content,
217
+ mi.type,
218
+ mi.importance,
219
+ mi.created_at,
220
+ COALESCE(mi.last_accessed_at, mi.last_accessed) as last_accessed_at,
221
+ mi.pinned,
222
+ mi.tags,
223
+ mi.task_goal,
224
+ mi.steps,
225
+ mi.reflection_notes,
226
+ mi.workflow_name,
227
+ mi.skill_name,
228
+ mi.trigger_conditions,
229
+ fts.rank as text_rank
230
+ FROM memory_item_fts fts
231
+ JOIN memory_item mi ON fts.rowid = mi.rowid
232
+ WHERE memory_item_fts MATCH ?
233
+ ${type ? 'AND mi.type = ?' : ''}
234
+ )
235
+ SELECT
236
+ COALESCE(vs.memory_id, ts.memory_id) as memory_id,
237
+ COALESCE(1 - vs.vector_distance, 0) as vector_similarity,
238
+ COALESCE(ts.text_rank, 0) as text_similarity,
239
+ COALESCE(vs.content, ts.content) as content,
240
+ COALESCE(vs.type, ts.type) as type,
241
+ COALESCE(vs.importance, ts.importance) as importance,
242
+ COALESCE(vs.created_at, ts.created_at) as created_at,
243
+ COALESCE(vs.last_accessed_at, ts.last_accessed_at, vs.last_accessed, ts.last_accessed) as last_accessed_at,
244
+ COALESCE(vs.pinned, ts.pinned) as pinned,
245
+ COALESCE(vs.tags, ts.tags) as tags,
246
+ COALESCE(vs.task_goal, ts.task_goal) as task_goal,
247
+ COALESCE(vs.steps, ts.steps) as steps,
248
+ COALESCE(vs.reflection_notes, ts.reflection_notes) as reflection_notes,
249
+ COALESCE(vs.workflow_name, ts.workflow_name) as workflow_name,
250
+ COALESCE(vs.skill_name, ts.skill_name) as skill_name,
251
+ COALESCE(vs.trigger_conditions, ts.trigger_conditions) as trigger_conditions
252
+ FROM vector_search vs
253
+ LEFT JOIN text_search ts ON vs.memory_id = ts.memory_id
254
+ WHERE vs.memory_id IS NOT NULL
255
+ UNION
256
+ SELECT
257
+ ts.memory_id,
258
+ 0 as vector_similarity,
259
+ ts.text_rank as text_similarity,
260
+ ts.content,
261
+ ts.type,
262
+ ts.importance,
263
+ ts.created_at,
264
+ COALESCE(ts.last_accessed_at, ts.last_accessed) as last_accessed_at,
265
+ ts.pinned,
266
+ ts.tags,
267
+ ts.task_goal,
268
+ ts.steps,
269
+ ts.reflection_notes,
270
+ ts.workflow_name,
271
+ ts.skill_name,
272
+ ts.trigger_conditions
273
+ FROM text_search ts
274
+ LEFT JOIN vector_search vs ON ts.memory_id = vs.memory_id
275
+ WHERE vs.memory_id IS NULL
276
+ ORDER BY (vector_similarity * 0.6 + text_similarity * 0.4) DESC
277
+ LIMIT ?
278
+ `;
279
+ params = [
280
+ JSON.stringify(queryVector),
281
+ ...(type ? [type] : []),
282
+ textQuery.trim(),
283
+ ...(type ? [type] : []),
284
+ limit
285
+ ];
286
+ }
287
+ else {
288
+ // 텍스트 검색 없이 벡터 검색만 사용
289
+ hybridQuery = `
169
290
  SELECT
170
291
  me.memory_id as memory_id,
171
- vec.distance as vector_distance,
292
+ COALESCE(1 - vec.distance, 0) as vector_similarity,
293
+ 0 as text_similarity,
172
294
  mi.content,
173
295
  mi.type,
174
296
  mi.importance,
175
297
  mi.created_at,
176
- mi.last_accessed,
298
+ COALESCE(mi.last_accessed_at, mi.last_accessed) as last_accessed_at,
177
299
  mi.pinned,
178
- mi.tags
300
+ mi.tags,
301
+ mi.task_goal,
302
+ mi.steps,
303
+ mi.reflection_notes,
304
+ mi.workflow_name,
305
+ mi.skill_name,
306
+ mi.trigger_conditions
179
307
  FROM ${tableName} vec
180
308
  JOIN memory_embedding me ON vec.rowid = me.id
181
309
  JOIN memory_item mi ON mi.id = me.memory_id
182
310
  WHERE vec.embedding MATCH ?
183
311
  ${type ? 'AND mi.type = ?' : ''}
184
- ),
185
- text_search AS (
186
- SELECT
187
- mi.id as memory_id,
188
- mi.content,
189
- mi.type,
190
- mi.importance,
191
- mi.created_at,
192
- mi.last_accessed,
193
- mi.pinned,
194
- mi.tags,
195
- fts.rank as text_rank
196
- FROM memory_item_fts fts
197
- JOIN memory_item mi ON fts.rowid = mi.rowid
198
- WHERE memory_item_fts MATCH ?
199
- ${type ? 'AND mi.type = ?' : ''}
200
- )
201
- SELECT
202
- COALESCE(vs.memory_id, ts.memory_id) as memory_id,
203
- COALESCE(1 - vs.vector_distance, 0) as vector_similarity,
204
- COALESCE(ts.text_rank, 0) as text_similarity,
205
- COALESCE(vs.content, ts.content) as content,
206
- COALESCE(vs.type, ts.type) as type,
207
- COALESCE(vs.importance, ts.importance) as importance,
208
- COALESCE(vs.created_at, ts.created_at) as created_at,
209
- COALESCE(vs.last_accessed, ts.last_accessed) as last_accessed,
210
- COALESCE(vs.pinned, ts.pinned) as pinned,
211
- COALESCE(vs.tags, ts.tags) as tags
212
- FROM vector_search vs
213
- LEFT JOIN text_search ts ON vs.memory_id = ts.memory_id
214
- WHERE vs.memory_id IS NOT NULL
215
- UNION
216
- SELECT
217
- ts.memory_id,
218
- 0 as vector_similarity,
219
- ts.text_rank as text_similarity,
220
- ts.content,
221
- ts.type,
222
- ts.importance,
223
- ts.created_at,
224
- ts.last_accessed,
225
- ts.pinned,
226
- ts.tags
227
- FROM text_search ts
228
- LEFT JOIN vector_search vs ON ts.memory_id = vs.memory_id
229
- WHERE vs.memory_id IS NULL
230
- ORDER BY (vector_similarity * 0.6 + text_similarity * 0.4) DESC
231
- LIMIT ?
232
- `;
233
- const params = [
234
- JSON.stringify(queryVector),
235
- ...(type ? [type] : []),
236
- textQuery || '',
237
- ...(type ? [type] : []),
238
- limit
239
- ];
312
+ ORDER BY vec.distance ASC
313
+ LIMIT ?
314
+ `;
315
+ params = [
316
+ JSON.stringify(queryVector),
317
+ ...(type ? [type] : []),
318
+ limit
319
+ ];
320
+ }
240
321
  const statement = this.db.prepare(hybridQuery);
241
322
  if (typeof statement.all !== 'function') {
242
- console.warn('⚠️ 하이브리드 검색 쿼리를 실행할 수 없습니다: all() 메서드가 없습니다.');
323
+ mcpLogger.logServer('warn', '하이브리드 검색 쿼리를 실행할 수 없습니다: all() 메서드가 없습니다.');
243
324
  return [];
244
325
  }
245
326
  const rawResults = statement.all(...params);
@@ -248,21 +329,31 @@ export class VectorSearchRepositoryImpl {
248
329
  const normalizedResults = results
249
330
  .map(result => ({
250
331
  memory_id: result.memory_id,
251
- similarity: result.vector_similarity * 0.6 + result.text_similarity * 0.4, // similarity로 통일
332
+ similarity: hasTextQuery
333
+ ? result.vector_similarity * 0.6 + result.text_similarity * 0.4 // 하이브리드 가중치
334
+ : result.vector_similarity, // 텍스트 검색 없을 때는 벡터 유사도만 사용
252
335
  content: includeContent ? result.content : '',
253
336
  type: result.type,
254
337
  importance: result.importance,
255
338
  created_at: result.created_at,
256
- last_accessed: includeMetadata ? result.last_accessed : undefined,
339
+ last_accessed_at: includeMetadata ? (result.last_accessed_at || result.last_accessed) : undefined,
257
340
  pinned: includeMetadata ? Boolean(result.pinned) : false,
258
- tags: includeMetadata ? this.safeParseTags(result.tags) : undefined
341
+ tags: includeMetadata ? this.safeParseTags(result.tags) : undefined,
342
+ // Procedural Memory 필드
343
+ task_goal: includeMetadata ? result.task_goal : undefined,
344
+ steps: includeMetadata ? result.steps : undefined,
345
+ reflection_notes: includeMetadata ? result.reflection_notes : undefined,
346
+ // Procedural Memory Enhancement (v7.0) 필드
347
+ workflow_name: includeMetadata ? result.workflow_name : undefined,
348
+ skill_name: includeMetadata ? result.skill_name : undefined,
349
+ trigger_conditions: includeMetadata ? result.trigger_conditions : undefined
259
350
  }))
260
351
  .filter(result => result.similarity >= threshold);
261
- console.log(`🔍 하이브리드 검색 완료: ${normalizedResults.length}개 결과`);
352
+ mcpLogger.logServer('debug', '하이브리드 검색 완료', { resultCount: normalizedResults.length });
262
353
  return normalizedResults;
263
354
  }
264
355
  catch (error) {
265
- console.error(' 하이브리드 검색 실패:', error);
356
+ mcpLogger.logServer('error', '하이브리드 검색 실패', { error: error instanceof Error ? error.message : String(error) });
266
357
  return [];
267
358
  }
268
359
  }
@@ -311,7 +402,7 @@ export class VectorSearchRepositoryImpl {
311
402
  };
312
403
  }
313
404
  catch (error) {
314
- console.error(' 인덱스 상태 확인 실패:', error);
405
+ mcpLogger.logServer('error', '인덱스 상태 확인 실패', { error: error instanceof Error ? error.message : String(error) });
315
406
  return {
316
407
  available: false,
317
408
  tableExists: false,
@@ -326,17 +417,17 @@ export class VectorSearchRepositoryImpl {
326
417
  */
327
418
  async rebuildIndex() {
328
419
  if (!this.db || !this.isVecAvailable) {
329
- console.warn('⚠️ VEC를 사용할 수 없습니다.');
420
+ mcpLogger.logServer('warn', 'VEC를 사용할 수 없습니다.');
330
421
  return false;
331
422
  }
332
423
  try {
333
- console.log('🔄 벡터 인덱스 재구성 시작...');
424
+ mcpLogger.logServer('info', '벡터 인덱스 재구성 시작');
334
425
  // VEC 인덱스 재구성 (sqlite-vec는 자동으로 인덱스를 관리)
335
- console.log(' 벡터 인덱스 재구성 완료 (sqlite-vec는 자동 인덱스 관리)');
426
+ mcpLogger.logServer('info', '벡터 인덱스 재구성 완료 (sqlite-vec는 자동 인덱스 관리)');
336
427
  return true;
337
428
  }
338
429
  catch (error) {
339
- console.error(' 벡터 인덱스 재구성 실패:', error);
430
+ mcpLogger.logServer('error', '벡터 인덱스 재구성 실패', { error: error instanceof Error ? error.message : String(error) });
340
431
  return false;
341
432
  }
342
433
  }
@@ -369,7 +460,7 @@ export class VectorSearchRepositoryImpl {
369
460
  return Array.isArray(parsed) ? parsed : [];
370
461
  }
371
462
  catch (error) {
372
- console.warn('⚠️ 태그 JSON 파싱 실패, 빈 배열로 대체합니다.', error);
463
+ mcpLogger.logServer('warn', '태그 JSON 파싱 실패, 빈 배열로 대체합니다', { error: error instanceof Error ? error.message : String(error) });
373
464
  return [];
374
465
  }
375
466
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vector-search.repository.js","sourceRoot":"","sources":["../../../../src/domains/search/repositories/vector-search.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vector-search.repository.js","sourceRoot":"","sources":["../../../../src/domains/search/repositories/vector-search.repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Migration: 007 - Procedural Memory Enhancement
3
+ * Description: Add workflow_name, skill_name, trigger_conditions fields to memory_item table and extend memory_link relation_type enum
4
+ * Version: 7.0
5
+ * Date: 2025-01-XX
6
+ */
7
+ import type Database from 'better-sqlite3';
8
+ import type { Migration } from '../types.js';
9
+ /**
10
+ * Procedural Memory Enhancement Migration
11
+ *
12
+ * This migration:
13
+ * 1. Adds workflow_name, skill_name, trigger_conditions fields to memory_item table
14
+ * 2. Creates indexes for new fields (workflow_name, skill_name)
15
+ * 3. Extends memory_link relation_type enum to include 'version_of' for version management
16
+ */
17
+ export declare class ProceduralMemoryEnhancementMigration implements Migration {
18
+ version: string;
19
+ name: string;
20
+ description: string;
21
+ /**
22
+ * Load SQL file content
23
+ */
24
+ private loadSQLFile;
25
+ /**
26
+ * Execute SQL script
27
+ * Removes transaction commands (BEGIN TRANSACTION, COMMIT) as MigrationRunner manages transactions
28
+ */
29
+ private executeSQL;
30
+ /**
31
+ * Check if table exists
32
+ */
33
+ private tableExists;
34
+ /**
35
+ * Check if column exists in table
36
+ */
37
+ private columnExists;
38
+ /**
39
+ * Check if index exists
40
+ */
41
+ private indexExists;
42
+ /**
43
+ * Validate before migration
44
+ */
45
+ validateBefore(db: Database.Database): Promise<void>;
46
+ /**
47
+ * Execute migration (Up)
48
+ */
49
+ up(db: Database.Database): Promise<void>;
50
+ /**
51
+ * Rollback migration (Down)
52
+ *
53
+ * Note: SQLite does not support ALTER TABLE DROP COLUMN directly (requires SQLite 3.35.0+).
54
+ * For full rollback, table recreation would be required, which is complex.
55
+ * This implementation provides a basic rollback that removes indexes and attempts to remove columns.
56
+ */
57
+ down(db: Database.Database): Promise<void>;
58
+ /**
59
+ * Validate after migration
60
+ */
61
+ validateAfter(db: Database.Database): Promise<void>;
62
+ }
63
+ //# sourceMappingURL=007-procedural-memory-enhancement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"007-procedural-memory-enhancement.d.ts","sourceRoot":"","sources":["../../../../../../src/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAI3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C;;;;;;;GAOG;AACH,qBAAa,oCAAqC,YAAW,SAAS;IACpE,OAAO,SAAS;IAChB,IAAI,SAAmC;IACvC,WAAW,SAA6H;IAExI;;OAEG;IACH,OAAO,CAAC,WAAW;IAKnB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAsBlB;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;OAEG;IACG,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAuD1D;;OAEG;IACG,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9C;;;;;;OAMG;IACG,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAuDhD;;OAEG;IACG,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CA6E1D"}