memento-mcp-server 1.8.0 → 1.9.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 (94) hide show
  1. package/dist/config/environment.d.ts.map +1 -1
  2. package/dist/config/environment.js +2 -1
  3. package/dist/config/environment.js.map +1 -1
  4. package/dist/config/index.d.ts.map +1 -1
  5. package/dist/config/index.js +5 -2
  6. package/dist/config/index.js.map +1 -1
  7. package/dist/database/init.d.ts.map +1 -1
  8. package/dist/database/init.js +159 -7
  9. package/dist/database/init.js.map +1 -1
  10. package/dist/database/migration/backup-manager.d.ts +55 -0
  11. package/dist/database/migration/backup-manager.d.ts.map +1 -0
  12. package/dist/database/migration/backup-manager.js +181 -0
  13. package/dist/database/migration/backup-manager.js.map +1 -0
  14. package/dist/database/migration/dependency-validator.d.ts +62 -0
  15. package/dist/database/migration/dependency-validator.d.ts.map +1 -0
  16. package/dist/database/migration/dependency-validator.js +260 -0
  17. package/dist/database/migration/dependency-validator.js.map +1 -0
  18. package/dist/database/migration/migration-detector.d.ts +67 -0
  19. package/dist/database/migration/migration-detector.d.ts.map +1 -0
  20. package/dist/database/migration/migration-detector.js +129 -0
  21. package/dist/database/migration/migration-detector.js.map +1 -0
  22. package/dist/database/migration/migration-logger.d.ts +82 -0
  23. package/dist/database/migration/migration-logger.d.ts.map +1 -0
  24. package/dist/database/migration/migration-logger.js +168 -0
  25. package/dist/database/migration/migration-logger.js.map +1 -0
  26. package/dist/database/migration/migration-runner.d.ts +45 -0
  27. package/dist/database/migration/migration-runner.d.ts.map +1 -0
  28. package/dist/database/migration/migration-runner.js +194 -0
  29. package/dist/database/migration/migration-runner.js.map +1 -0
  30. package/dist/database/migration/migrations/002-mirix-schema-expansion.d.ts +55 -0
  31. package/dist/database/migration/migrations/002-mirix-schema-expansion.d.ts.map +1 -0
  32. package/dist/database/migration/migrations/002-mirix-schema-expansion.js +154 -0
  33. package/dist/database/migration/migrations/002-mirix-schema-expansion.js.map +1 -0
  34. package/dist/database/migration/schema-version-manager.d.ts +43 -0
  35. package/dist/database/migration/schema-version-manager.d.ts.map +1 -0
  36. package/dist/database/migration/schema-version-manager.js +146 -0
  37. package/dist/database/migration/schema-version-manager.js.map +1 -0
  38. package/dist/database/migration/types.d.ts +127 -0
  39. package/dist/database/migration/types.d.ts.map +1 -0
  40. package/dist/database/migration/types.js +5 -0
  41. package/dist/database/migration/types.js.map +1 -0
  42. package/dist/database/schema.sql +69 -1
  43. package/dist/npm-client/memento-client.d.ts.map +1 -1
  44. package/dist/npm-client/memento-client.js +39 -8
  45. package/dist/npm-client/memento-client.js.map +1 -1
  46. package/dist/npm-client/types.d.ts +16 -2
  47. package/dist/npm-client/types.d.ts.map +1 -1
  48. package/dist/npm-client/types.js.map +1 -1
  49. package/dist/npm-client/utils.d.ts.map +1 -1
  50. package/dist/npm-client/utils.js +44 -5
  51. package/dist/npm-client/utils.js.map +1 -1
  52. package/dist/repositories/core-memory-repository.d.ts +81 -0
  53. package/dist/repositories/core-memory-repository.d.ts.map +1 -0
  54. package/dist/repositories/core-memory-repository.js +263 -0
  55. package/dist/repositories/core-memory-repository.js.map +1 -0
  56. package/dist/repositories/knowledge-vault-repository.d.ts +102 -0
  57. package/dist/repositories/knowledge-vault-repository.d.ts.map +1 -0
  58. package/dist/repositories/knowledge-vault-repository.js +395 -0
  59. package/dist/repositories/knowledge-vault-repository.js.map +1 -0
  60. package/dist/services/core-memory-cache-service.d.ts +80 -0
  61. package/dist/services/core-memory-cache-service.d.ts.map +1 -0
  62. package/dist/services/core-memory-cache-service.js +122 -0
  63. package/dist/services/core-memory-cache-service.js.map +1 -0
  64. package/dist/services/core-memory-service.d.ts +117 -0
  65. package/dist/services/core-memory-service.d.ts.map +1 -0
  66. package/dist/services/core-memory-service.js +247 -0
  67. package/dist/services/core-memory-service.js.map +1 -0
  68. package/dist/services/knowledge-vault-service.d.ts +114 -0
  69. package/dist/services/knowledge-vault-service.d.ts.map +1 -0
  70. package/dist/services/knowledge-vault-service.js +233 -0
  71. package/dist/services/knowledge-vault-service.js.map +1 -0
  72. package/dist/tools/memory-injection-prompt.d.ts.map +1 -1
  73. package/dist/tools/memory-injection-prompt.js +28 -4
  74. package/dist/tools/memory-injection-prompt.js.map +1 -1
  75. package/dist/tools/recall-tool.d.ts.map +1 -1
  76. package/dist/tools/recall-tool.js +292 -82
  77. package/dist/tools/recall-tool.js.map +1 -1
  78. package/dist/tools/remember-tool.d.ts.map +1 -1
  79. package/dist/tools/remember-tool.js +282 -106
  80. package/dist/tools/remember-tool.js.map +1 -1
  81. package/dist/tools/types.d.ts +9 -2
  82. package/dist/tools/types.d.ts.map +1 -1
  83. package/dist/tools/types.js +11 -2
  84. package/dist/tools/types.js.map +1 -1
  85. package/dist/types/index.d.ts +20 -3
  86. package/dist/types/index.d.ts.map +1 -1
  87. package/dist/types/index.js +7 -1
  88. package/dist/types/index.js.map +1 -1
  89. package/dist/utils/type-param-validator.d.ts +31 -0
  90. package/dist/utils/type-param-validator.d.ts.map +1 -0
  91. package/dist/utils/type-param-validator.js +76 -0
  92. package/dist/utils/type-param-validator.js.map +1 -0
  93. package/package.json +1 -1
  94. package/src/database/schema.sql +69 -1
@@ -5,8 +5,22 @@
5
5
  import { z } from 'zod';
6
6
  import { BaseTool } from './base-tool.js';
7
7
  import { CommonSchemas } from './types.js';
8
+ import { isMemoryItemType } from '../types/index.js';
9
+ import { CoreMemoryRepository } from '../repositories/core-memory-repository.js';
10
+ import { CoreMemoryService } from '../services/core-memory-service.js';
11
+ import { CoreMemoryCacheService } from '../services/core-memory-cache-service.js';
12
+ import { KnowledgeVaultRepository } from '../repositories/knowledge-vault-repository.js';
13
+ import { KnowledgeVaultService } from '../services/knowledge-vault-service.js';
14
+ import { validateTypeParam } from '../utils/type-param-validator.js';
15
+ import { mementoConfig } from '../config/index.js';
8
16
  const RecallSchema = z.object({
9
- query: CommonSchemas.Query,
17
+ // query optional로 변경 (조건부 필수는 refine에서 처리)
18
+ query: z.string().min(1, 'Query cannot be empty').optional(),
19
+ // 새 파라미터 추가
20
+ type: CommonSchemas.MemoryType.optional(), // 확장된 MemoryTypeRequest 사용
21
+ key: z.string().optional(),
22
+ agent_id: z.string().optional().default('default'),
23
+ // 기존 파라미터 유지
10
24
  memory_types: z.array(CommonSchemas.MemoryType).optional(),
11
25
  tags: z.array(z.string()).optional(),
12
26
  privacy_scope: z.array(CommonSchemas.PrivacyScope).optional(),
@@ -20,6 +34,21 @@ const RecallSchema = z.object({
20
34
  text_weight: z.number().min(0).max(1).optional(),
21
35
  enable_hybrid: z.boolean().optional(),
22
36
  include_metadata: z.boolean().optional()
37
+ }).refine((data) => {
38
+ // 조건부 필수 검증
39
+ if (data.type === 'core' || data.type === 'vault') {
40
+ // query는 선택적 (없어도 됨)
41
+ return true;
42
+ }
43
+ else {
44
+ // 나머지 타입은 query 필수
45
+ if (!data.query) {
46
+ return false;
47
+ }
48
+ }
49
+ return true;
50
+ }, {
51
+ message: "type='core' 또는 'vault'가 아닌 경우 query 파라미터는 필수입니다"
23
52
  });
24
53
  export class RecallTool extends BaseTool {
25
54
  constructor() {
@@ -28,12 +57,25 @@ export class RecallTool extends BaseTool {
28
57
  properties: {
29
58
  query: {
30
59
  type: 'string',
31
- description: '검색 쿼리'
60
+ description: '검색 쿼리 (type이 core 또는 vault가 아닌 경우 필수)'
61
+ },
62
+ type: {
63
+ type: 'string',
64
+ enum: ['working', 'episodic', 'semantic', 'procedural', 'core', 'vault'],
65
+ description: '단일 메모리 타입 지정 (선택사항)'
66
+ },
67
+ key: {
68
+ type: 'string',
69
+ description: 'Core/Vault 조회 시 특정 키 지정 (선택사항)'
70
+ },
71
+ agent_id: {
72
+ type: 'string',
73
+ description: '에이전트 ID (Core/Vault 조회 시 사용, 기본값: "default")'
32
74
  },
33
75
  memory_types: {
34
76
  type: 'array',
35
- items: { type: 'string', enum: ['working', 'episodic', 'semantic', 'procedural'] },
36
- description: '기억 타입 필터 (선택사항)'
77
+ items: { type: 'string', enum: ['working', 'episodic', 'semantic', 'procedural', 'core', 'vault'] },
78
+ description: '기억 타입 필터 (선택사항, type 파라미터와 동시 사용 시 type 우선). core/vault는 자동으로 제거됩니다.'
37
79
  },
38
80
  tags: {
39
81
  type: 'array',
@@ -101,16 +143,48 @@ export class RecallTool extends BaseTool {
101
143
  description: '메타데이터 포함 여부 (선택사항)'
102
144
  }
103
145
  },
104
- required: ['query']
146
+ required: [] // 조건부 필수는 런타임 검증 (RecallSchema.refine()에서 처리)
105
147
  });
106
148
  }
107
149
  async handle(params, context) {
108
150
  this.logInfo('Recall 도구 호출됨', { params });
109
151
  try {
110
- // 파라미터 검증 및 파싱 - 평면화된 스키마 사용
111
- const { query, memory_types, tags, privacy_scope, time_from, time_to, pinned, importance_min, importance_max, limit, vector_weight, text_weight, enable_hybrid, include_metadata } = RecallSchema.parse(params);
152
+ // 파라미터 검증 및 파싱
153
+ const { query, type, key, agent_id, memory_types, tags, privacy_scope, time_from, time_to, pinned, importance_min, importance_max, limit, vector_weight, text_weight, enable_hybrid, include_metadata } = RecallSchema.parse(params);
154
+ // type 파라미터 롤아웃 모드 검증
155
+ // PRD 요구사항: Phase 1/2에서는 type 파라미터가 없으면 항상 경고/Deprecated 메시지를 띄워야 함
156
+ // memory_types만 있어도 경고를 띄워야 하므로, type이 없으면 항상 검증 수행
157
+ const typeParamMode = mementoConfig.typeParamMode;
158
+ const originalTypeProvided = !!type; // 원래 type 파라미터가 제공되었는지 추적
159
+ let validatedType = type;
160
+ // type 파라미터가 없는 경우 항상 검증 수행 (memory_types로 우회 불가)
161
+ if (!type) {
162
+ const typeValidation = validateTypeParam(undefined, typeParamMode, 'recall');
163
+ // error 모드에서는 에러 발생
164
+ if (!typeValidation.isValid) {
165
+ throw new Error(typeValidation.message || "type 파라미터는 필수입니다.");
166
+ }
167
+ // warn/deprecate 모드에서는 경고/Deprecation 메시지 출력
168
+ // memory_types가 있어도 경고는 항상 출력되어야 함
169
+ if (typeValidation.message) {
170
+ if (typeParamMode === 'warn') {
171
+ this.logWarning(typeValidation.message);
172
+ }
173
+ else if (typeParamMode === 'deprecate') {
174
+ this.logWarning(typeValidation.message);
175
+ }
176
+ }
177
+ // 기본값 설정 (일관성을 위해 항상 설정)
178
+ // memory_types가 있어도 기본 타입을 설정하되, 나중에 memory_types를 사용할 때는 무시됨
179
+ if (typeValidation.defaultType) {
180
+ validatedType = typeValidation.defaultType;
181
+ }
182
+ }
112
183
  this.logInfo('파라미터 파싱 완료', {
113
184
  query,
185
+ type: validatedType,
186
+ key,
187
+ agent_id,
114
188
  memory_types,
115
189
  tags,
116
190
  privacy_scope,
@@ -119,89 +193,212 @@ export class RecallTool extends BaseTool {
119
193
  text_weight,
120
194
  enable_hybrid
121
195
  });
122
- // 입력 검증
123
- this.validateString(query, '검색 쿼리', 1000);
124
- this.validateNumber(limit, '결과 제한', 1, 100);
125
196
  // 데이터베이스 연결 확인
126
197
  this.validateDatabase(context);
127
- // 하이브리드 검색 엔진 확인
128
- this.validateService(context.services.hybridSearchEngine, '하이브리드 검색 엔진');
129
198
  const startTime = Date.now();
130
- // 필터 객체 재구성 (하위 호환성을 위해)
131
- const filters = {
132
- type: memory_types,
133
- tags,
134
- privacy_scope,
135
- time_from,
136
- time_to,
137
- pinned,
138
- importance_min,
139
- importance_max
140
- };
141
- // 검색 옵션 설정
142
- const vectorWeight = vector_weight ?? 0.6;
143
- const textWeight = text_weight ?? 0.4;
144
- const enableHybrid = enable_hybrid ?? true;
145
- const includeMetadata = include_metadata ?? true;
146
- // 가중치 정규화
147
- const totalWeight = vectorWeight + textWeight;
148
- const normalizedVectorWeight = totalWeight > 0 ? vectorWeight / totalWeight : 0.6;
149
- const normalizedTextWeight = totalWeight > 0 ? textWeight / totalWeight : 0.4;
150
- let searchResult;
151
- try {
152
- if (enableHybrid && context.services.hybridSearchEngine.isEmbeddingAvailable()) {
153
- // 하이브리드 검색 (텍스트 + 벡터)
154
- this.logInfo('하이브리드 검색 실행', {
155
- query,
156
- vectorWeight: normalizedVectorWeight,
157
- textWeight: normalizedTextWeight
158
- });
159
- searchResult = await context.services.hybridSearchEngine.search(context.db, {
160
- query,
161
- filters,
162
- limit,
163
- vectorWeight: normalizedVectorWeight,
164
- textWeight: normalizedTextWeight
165
- });
199
+ const agentId = agent_id || 'default';
200
+ // type 파라미터에 따른 분기 처리
201
+ if (validatedType === 'core') {
202
+ // Core Memory 조회
203
+ if (query) {
204
+ this.logWarning('type="core"일 때 query 파라미터는 무시됩니다', { query });
205
+ }
206
+ if (memory_types && memory_types.length > 0) {
207
+ this.logWarning('type="core"일 때 memory_types 파라미터는 무시됩니다', { memory_types });
208
+ }
209
+ const coreMemoryRepository = new CoreMemoryRepository(context.db);
210
+ const { getCoreMemoryCache } = await import('../services/core-memory-cache-service.js');
211
+ const coreMemoryCache = getCoreMemoryCache();
212
+ const coreMemoryService = new CoreMemoryService(coreMemoryRepository, coreMemoryCache);
213
+ let records;
214
+ if (key) {
215
+ // 특정 키 조회
216
+ const record = await coreMemoryService.findByKey(agentId, key);
217
+ records = record ? [record] : [];
166
218
  }
167
219
  else {
168
- // 텍스트 검색만 사용
169
- if (!context.services.searchEngine) {
170
- throw new Error('텍스트 검색 엔진을 사용할 수 없습니다');
171
- }
172
- this.logInfo('텍스트 검색 실행', { query });
173
- searchResult = await context.services.searchEngine.search(context.db, {
174
- query,
175
- filters,
176
- limit
177
- });
220
+ // 전체 Core Memory 조회
221
+ records = await coreMemoryService.findByAgentId(agentId);
178
222
  }
223
+ const executionTime = Date.now() - startTime;
224
+ const processedResults = records.map(record => ({
225
+ memory_id: record.core_id,
226
+ type: 'core',
227
+ key: record.key,
228
+ value: record.value,
229
+ always_load: record.always_load,
230
+ origin_source: record.origin_source ? JSON.parse(record.origin_source) : null,
231
+ created_at: record.created_at,
232
+ updated_at: record.updated_at
233
+ }));
234
+ return this.createSuccessResult({
235
+ items: processedResults,
236
+ total_count: processedResults.length,
237
+ query_time: executionTime,
238
+ search_type: 'direct'
239
+ });
179
240
  }
180
- catch (searchError) {
181
- this.logError(searchError, '검색 실행 중 오류', { query, enableHybrid });
182
- throw new Error(`검색 실행 실패: ${searchError.message}`);
241
+ else if (validatedType === 'vault') {
242
+ // Knowledge Vault 조회
243
+ if (query) {
244
+ this.logWarning('type="vault"일 때 query 파라미터는 무시됩니다', { query });
245
+ }
246
+ if (memory_types && memory_types.length > 0) {
247
+ this.logWarning('type="vault"일 때 memory_types 파라미터는 무시됩니다', { memory_types });
248
+ }
249
+ const knowledgeVaultRepository = new KnowledgeVaultRepository(context.db);
250
+ const knowledgeVaultService = new KnowledgeVaultService(knowledgeVaultRepository);
251
+ let records;
252
+ if (key) {
253
+ // 특정 키 조회 (활성 버전만)
254
+ const record = await knowledgeVaultService.findActiveByKey(agentId, key);
255
+ records = record ? [record] : [];
256
+ }
257
+ else {
258
+ // 전체 Vault 조회 (활성 버전만)
259
+ records = await knowledgeVaultService.findActiveByAgentId(agentId);
260
+ }
261
+ const executionTime = Date.now() - startTime;
262
+ const processedResults = records.map(record => ({
263
+ memory_id: record.vault_id,
264
+ type: 'vault',
265
+ key: record.key,
266
+ value: record.value,
267
+ immutable: record.immutable,
268
+ version: record.version,
269
+ origin_source: record.origin_source ? JSON.parse(record.origin_source) : null,
270
+ created_at: record.created_at,
271
+ updated_at: record.updated_at
272
+ }));
273
+ return this.createSuccessResult({
274
+ items: processedResults,
275
+ total_count: processedResults.length,
276
+ query_time: executionTime,
277
+ search_type: 'direct'
278
+ });
183
279
  }
184
- const executionTime = Date.now() - startTime;
185
- // 결과 후처리 - searchResult가 undefined인 경우 처리
186
- const processedResults = this.processSearchResults(searchResult?.items || [], includeMetadata);
187
- this.logInfo('검색 완료', {
188
- resultCount: processedResults.length,
189
- executionTime,
190
- searchType: enableHybrid ? 'hybrid' : 'text'
191
- });
192
- return this.createSuccessResult({
193
- items: processedResults,
194
- total_count: searchResult?.total_count || processedResults.length,
195
- query_time: executionTime,
196
- search_type: enableHybrid ? 'hybrid' : 'text',
197
- vector_search_available: context.services.hybridSearchEngine?.isEmbeddingAvailable() || false,
198
- filters_applied: this.getAppliedFilters(filters),
199
- search_options: {
200
- vector_weight: normalizedVectorWeight,
201
- text_weight: normalizedTextWeight,
202
- enable_hybrid: enableHybrid
280
+ else {
281
+ // 기존 memory_item 검색 로직
282
+ // query 필수 검증
283
+ if (!query) {
284
+ throw new Error("query 파라미터는 필수입니다 (type='core' 또는 'vault'가 아닌 경우)");
203
285
  }
204
- });
286
+ // 입력 검증
287
+ this.validateString(query, '검색 쿼리', 1000);
288
+ this.validateNumber(limit, '결과 제한', 1, 100);
289
+ // 하이브리드 검색 엔진 확인
290
+ this.validateService(context.services.hybridSearchEngine, '하이브리드 검색 엔진');
291
+ // type과 memory_types 동시 사용 시 경고
292
+ // 원래 type 파라미터가 제공되었는지 확인 (기본값이 아닌 경우)
293
+ if (originalTypeProvided && memory_types && memory_types.length > 0) {
294
+ this.logWarning('type 파라미터와 memory_types를 동시에 사용했습니다. type 파라미터를 우선 적용하고 memory_types는 무시합니다.', {
295
+ type: validatedType,
296
+ memory_types
297
+ });
298
+ }
299
+ // memory_types 배열 전처리 ('core'/'vault' 제거)
300
+ // 원래 type 파라미터가 제공되었는지 확인하여 fallback 동작 보장
301
+ let filteredMemoryTypes = originalTypeProvided ? (validatedType ? [validatedType] : undefined) : memory_types;
302
+ if (filteredMemoryTypes && filteredMemoryTypes.length > 0) {
303
+ const invalidTypes = filteredMemoryTypes.filter(t => t === 'core' || t === 'vault');
304
+ if (invalidTypes.length > 0) {
305
+ this.logWarning('memory_types 배열에서 core/vault는 memory_item 검색에 사용할 수 없습니다. 자동으로 제거합니다.', {
306
+ invalid_types: invalidTypes,
307
+ original_memory_types: filteredMemoryTypes,
308
+ suggestion: 'Core/Vault 조회는 단일 type 파라미터를 사용하세요.'
309
+ });
310
+ filteredMemoryTypes = filteredMemoryTypes.filter(t => t !== 'core' && t !== 'vault');
311
+ if (filteredMemoryTypes.length === 0) {
312
+ throw new Error("memory_types 배열에 유효한 타입이 없습니다. 'core'와 'vault'는 memory_types에서 사용할 수 없습니다. 단일 type 파라미터를 사용하여 Core/Vault를 조회하세요.");
313
+ }
314
+ }
315
+ // 타입 가드 적용: MemoryTypeRequest[] -> MemoryType[]
316
+ const validMemoryTypes = filteredMemoryTypes.filter((t) => isMemoryItemType(t));
317
+ if (validMemoryTypes.length === 0) {
318
+ throw new Error("memory_types 배열에 유효한 타입이 없습니다.");
319
+ }
320
+ filteredMemoryTypes = validMemoryTypes;
321
+ }
322
+ // agent_id 파라미터 무시 경고
323
+ if (agent_id) {
324
+ this.logWarning('memory_item 검색 시 agent_id 파라미터는 무시됩니다', { agent_id });
325
+ }
326
+ // 필터 객체 재구성
327
+ const filters = {
328
+ type: filteredMemoryTypes,
329
+ tags,
330
+ privacy_scope,
331
+ time_from,
332
+ time_to,
333
+ pinned,
334
+ importance_min,
335
+ importance_max
336
+ };
337
+ // 검색 옵션 설정
338
+ const vectorWeight = vector_weight ?? 0.6;
339
+ const textWeight = text_weight ?? 0.4;
340
+ const enableHybrid = enable_hybrid ?? true;
341
+ const includeMetadata = include_metadata ?? true;
342
+ // 가중치 정규화
343
+ const totalWeight = vectorWeight + textWeight;
344
+ const normalizedVectorWeight = totalWeight > 0 ? vectorWeight / totalWeight : 0.6;
345
+ const normalizedTextWeight = totalWeight > 0 ? textWeight / totalWeight : 0.4;
346
+ let searchResult;
347
+ try {
348
+ if (enableHybrid && context.services.hybridSearchEngine.isEmbeddingAvailable()) {
349
+ // 하이브리드 검색 (텍스트 + 벡터)
350
+ this.logInfo('하이브리드 검색 실행', {
351
+ query,
352
+ vectorWeight: normalizedVectorWeight,
353
+ textWeight: normalizedTextWeight
354
+ });
355
+ searchResult = await context.services.hybridSearchEngine.search(context.db, {
356
+ query,
357
+ filters,
358
+ limit,
359
+ vectorWeight: normalizedVectorWeight,
360
+ textWeight: normalizedTextWeight
361
+ });
362
+ }
363
+ else {
364
+ // 텍스트 검색만 사용
365
+ if (!context.services.searchEngine) {
366
+ throw new Error('텍스트 검색 엔진을 사용할 수 없습니다');
367
+ }
368
+ this.logInfo('텍스트 검색 실행', { query });
369
+ searchResult = await context.services.searchEngine.search(context.db, {
370
+ query,
371
+ filters,
372
+ limit
373
+ });
374
+ }
375
+ }
376
+ catch (searchError) {
377
+ this.logError(searchError, '검색 실행 중 오류', { query, enableHybrid });
378
+ throw new Error(`검색 실행 실패: ${searchError.message}`);
379
+ }
380
+ const executionTime = Date.now() - startTime;
381
+ // 결과 후처리 - searchResult가 undefined인 경우 처리
382
+ const processedResults = this.processSearchResults(searchResult?.items || [], includeMetadata);
383
+ this.logInfo('검색 완료', {
384
+ resultCount: processedResults.length,
385
+ executionTime,
386
+ searchType: enableHybrid ? 'hybrid' : 'text'
387
+ });
388
+ return this.createSuccessResult({
389
+ items: processedResults,
390
+ total_count: searchResult?.total_count || processedResults.length,
391
+ query_time: executionTime,
392
+ search_type: enableHybrid ? 'hybrid' : 'text',
393
+ vector_search_available: context.services.hybridSearchEngine?.isEmbeddingAvailable() || false,
394
+ filters_applied: this.getAppliedFilters(filters),
395
+ search_options: {
396
+ vector_weight: normalizedVectorWeight,
397
+ text_weight: normalizedTextWeight,
398
+ enable_hybrid: enableHybrid
399
+ }
400
+ });
401
+ }
205
402
  }
206
403
  catch (error) {
207
404
  this.logError(error, 'Recall 도구 실행 실패', { params });
@@ -226,7 +423,8 @@ export class RecallTool extends BaseTool {
226
423
  processSearchResults(items, includeMetadata) {
227
424
  return items.map(item => {
228
425
  const processed = {
229
- id: item.id,
426
+ memory_id: item.id || item.memory_id, // 통일된 필드명 사용
427
+ id: item.id, // 하위 호환성을 위해 유지
230
428
  content: item.content,
231
429
  type: item.type,
232
430
  importance: item.importance,
@@ -239,6 +437,18 @@ export class RecallTool extends BaseTool {
239
437
  processed.tags = item.tags;
240
438
  processed.source = item.source;
241
439
  processed.privacy_scope = item.privacy_scope;
440
+ // origin_source 필드 추가 (JSON 파싱)
441
+ if (item.origin_source) {
442
+ try {
443
+ processed.origin_source = typeof item.origin_source === 'string'
444
+ ? JSON.parse(item.origin_source)
445
+ : item.origin_source;
446
+ }
447
+ catch (error) {
448
+ // JSON 파싱 실패 시 원본 문자열 반환
449
+ processed.origin_source = item.origin_source;
450
+ }
451
+ }
242
452
  if (item.textScore !== undefined) {
243
453
  processed.text_score = item.textScore;
244
454
  }
@@ -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;AAgB1D,qBAAa,YAAa,SAAQ,QAAQ;;IAwClC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;CAmIrE"}
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"}