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
@@ -20,7 +20,11 @@ CREATE TABLE IF NOT EXISTS memory_item (
20
20
  origin_source TEXT DEFAULT '{}', -- JSON 형식: {"tool": "remember", "caller": "user", "timestamp": "...", "context": {...}}
21
21
  task_goal TEXT, -- Procedural Memory 전용, 작업 목표
22
22
  steps TEXT, -- Procedural Memory 전용, JSON 배열 형식
23
- reflection_notes TEXT -- Procedural Memory 전용, JSON 형식
23
+ reflection_notes TEXT, -- Procedural Memory 전용, JSON 형식
24
+ -- Procedural Memory Enhancement (v7.0) 추가 필드
25
+ workflow_name TEXT, -- 프로세스 이름 (예: "데이터 마이그레이션", "API 배포")
26
+ skill_name TEXT, -- 기술/능력 이름 (예: "스키마 백업", "데이터 검증")
27
+ trigger_conditions TEXT -- 트리거 조건 (JSON 객체 문자열)
24
28
  );
25
29
 
26
30
  -- 태그 테이블
@@ -45,7 +49,7 @@ CREATE TABLE IF NOT EXISTS memory_link (
45
49
  id INTEGER PRIMARY KEY AUTOINCREMENT,
46
50
  source_id TEXT NOT NULL,
47
51
  target_id TEXT NOT NULL,
48
- relation_type TEXT CHECK (relation_type IN ('cause_of', 'derived_from', 'duplicates', 'contradicts')) NOT NULL,
52
+ relation_type TEXT CHECK (relation_type IN ('cause_of', 'derived_from', 'duplicates', 'contradicts', 'version_of')) NOT NULL,
49
53
  created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
50
54
  FOREIGN KEY (source_id) REFERENCES memory_item(id) ON DELETE CASCADE,
51
55
  FOREIGN KEY (target_id) REFERENCES memory_item(id) ON DELETE CASCADE,
@@ -80,6 +84,9 @@ CREATE INDEX IF NOT EXISTS idx_memory_item_privacy_scope ON memory_item(privacy_
80
84
  CREATE INDEX IF NOT EXISTS idx_memory_item_importance ON memory_item(importance);
81
85
  CREATE INDEX IF NOT EXISTS idx_memory_item_user_id ON memory_item(id); -- user_id 대신 id 사용
82
86
  CREATE INDEX IF NOT EXISTS idx_memory_item_project_id ON memory_item(id); -- project_id 대신 id 사용
87
+ -- Procedural Memory Enhancement (v7.0) 인덱스
88
+ CREATE INDEX IF NOT EXISTS idx_memory_item_workflow_name ON memory_item(workflow_name);
89
+ CREATE INDEX IF NOT EXISTS idx_memory_item_skill_name ON memory_item(skill_name);
83
90
 
84
91
  CREATE INDEX IF NOT EXISTS idx_memory_tag_memory_id ON memory_item_tag(memory_id);
85
92
  CREATE INDEX IF NOT EXISTS idx_memory_tag_tag_id ON memory_item_tag(tag_id);
@@ -7,6 +7,19 @@ import type { ToolContext, ToolResult } from '../../../tools/types.js';
7
7
  export declare class RecallTool extends BaseTool {
8
8
  constructor();
9
9
  handle(params: any, context: ToolContext): Promise<ToolResult>;
10
+ /**
11
+ * trigger_conditions로 필터링
12
+ * match_trigger_conditions=true일 때, 현재 컨텍스트와 trigger_conditions가 매칭되는 항목만 반환
13
+ *
14
+ * PRD 요구사항: 구조화된 컨텍스트(예: tool_name, error_type, params)와 JSON 매칭
15
+ * 구조화된 컨텍스트가 제공되면 이를 우선 사용하고, 없으면 쿼리 텍스트를 사용
16
+ *
17
+ * @param items 검색 결과 항목 배열
18
+ * @param query 검색 쿼리 (컨텍스트로 사용, fallback)
19
+ * @param context 구조화된 컨텍스트 정보 (우선 사용)
20
+ * @returns 필터링된 항목 배열
21
+ */
22
+ private filterByTriggerConditions;
10
23
  /**
11
24
  * 검색 결과 후처리
12
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"recall-tool.d.ts","sourceRoot":"","sources":["../../../../src/domains/memory/tools/recall-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAgEvE,qBAAa,UAAW,SAAQ,QAAQ;;IA8GhC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IA8VpE;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAwE5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAuBrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAyBvB;;;;;;;;;OASG;YACW,gCAAgC;CAuH/C"}
1
+ {"version":3,"file":"recall-tool.d.ts","sourceRoot":"","sources":["../../../../src/domains/memory/tools/recall-tool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAuEvE,qBAAa,UAAW,SAAQ,QAAQ;;IAkIhC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAgYpE;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,yBAAyB;IA6EjC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuF5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAuBrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAyBvB;;;;;;;;;OASG;YACW,gCAAgC;CAuH/C"}
@@ -41,6 +41,13 @@ const RecallSchema = z.object({
41
41
  importance_min: z.number().min(0).max(1).optional(),
42
42
  importance_max: z.number().min(0).max(1).optional(),
43
43
  has_reflection_notes: z.boolean().optional(), // reflection_notes IS NOT NULL 필터링
44
+ // Procedural Memory Enhancement (v7.0) 필드
45
+ workflow_name: z.string().optional(),
46
+ skill_name: z.string().optional(),
47
+ match_trigger_conditions: z.boolean().optional().default(false),
48
+ context: z.record(z.any()).optional(), // 구조화된 컨텍스트 정보 (trigger_conditions 매칭용, 예: {tool_name, error_type, params})
49
+ trigger_context: z.record(z.any()).optional(), // context의 별칭 (하위 호환성)
50
+ return_format: z.enum(['full', 'steps_only']).optional().default('full'),
44
51
  limit: CommonSchemas.Limit,
45
52
  vector_weight: z.number().min(0).max(1).optional(),
46
53
  text_weight: z.number().min(0).max(1).optional(),
@@ -128,6 +135,26 @@ export class RecallTool extends BaseTool {
128
135
  type: 'boolean',
129
136
  description: 'reflection_notes가 있는 메모리만 조회 (true: IS NOT NULL, false: IS NULL, 선택사항)'
130
137
  },
138
+ // Procedural Memory Enhancement (v7.0) 필드
139
+ workflow_name: {
140
+ type: 'string',
141
+ description: '프로세스 이름으로 필터링 (선택사항)'
142
+ },
143
+ skill_name: {
144
+ type: 'string',
145
+ description: '기술/능력 이름으로 필터링 (선택사항)'
146
+ },
147
+ match_trigger_conditions: {
148
+ type: 'boolean',
149
+ default: false,
150
+ description: 'trigger_conditions 매칭 여부 (기본값: false)'
151
+ },
152
+ return_format: {
153
+ type: 'string',
154
+ enum: ['full', 'steps_only'],
155
+ default: 'full',
156
+ description: '반환 형식 선택: full (모든 필드), steps_only (steps만 반환)'
157
+ },
131
158
  limit: {
132
159
  type: 'number',
133
160
  minimum: 1,
@@ -173,7 +200,9 @@ export class RecallTool extends BaseTool {
173
200
  this.logInfo('Recall 도구 호출됨', { params });
174
201
  try {
175
202
  // 파라미터 검증 및 파싱
176
- 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, provider_filter } = RecallSchema.parse(params);
203
+ const { query, type, key, agent_id, memory_types, tags, privacy_scope, time_from, time_to, pinned, importance_min, importance_max, workflow_name, skill_name, match_trigger_conditions, context: triggerContext, trigger_context, return_format, limit, vector_weight, text_weight, enable_hybrid, include_metadata, provider_filter } = RecallSchema.parse(params);
204
+ // trigger_context가 제공되면 context로 사용 (하위 호환성)
205
+ const actualTriggerContext = triggerContext || trigger_context;
177
206
  // type 파라미터 롤아웃 모드 검증
178
207
  // PRD 요구사항: Phase 1/2에서는 type 파라미터가 없으면 항상 경고/Deprecated 메시지를 띄워야 함
179
208
  // memory_types만 있어도 경고를 띄워야 하므로, type이 없으면 항상 검증 수행
@@ -219,7 +248,7 @@ export class RecallTool extends BaseTool {
219
248
  });
220
249
  // 데이터베이스 연결 확인
221
250
  this.validateDatabase(context);
222
- const startTime = Date.now();
251
+ const searchStartTime = Date.now();
223
252
  const agentId = agent_id || 'default';
224
253
  // type 파라미터에 따른 분기 처리
225
254
  if (validatedType === 'core') {
@@ -244,7 +273,7 @@ export class RecallTool extends BaseTool {
244
273
  // 전체 Core Memory 조회
245
274
  records = await coreMemoryService.findByAgentId(agentId);
246
275
  }
247
- const executionTime = Date.now() - startTime;
276
+ const executionTime = Date.now() - searchStartTime;
248
277
  const processedResults = records.map(record => ({
249
278
  memory_id: record.core_id,
250
279
  type: 'core',
@@ -282,7 +311,7 @@ export class RecallTool extends BaseTool {
282
311
  // 전체 Vault 조회 (활성 버전만)
283
312
  records = await knowledgeVaultService.findActiveByAgentId(agentId);
284
313
  }
285
- const executionTime = Date.now() - startTime;
314
+ const executionTime = Date.now() - searchStartTime;
286
315
  const processedResults = records.map(record => ({
287
316
  memory_id: record.vault_id,
288
317
  type: 'vault',
@@ -321,8 +350,24 @@ export class RecallTool extends BaseTool {
321
350
  });
322
351
  }
323
352
  // memory_types 배열 전처리 ('core'/'vault' 제거)
324
- // 원래 type 파라미터가 제공되었는지 확인하여 fallback 동작 보장
325
- let filteredMemoryTypes = originalTypeProvided ? (validatedType ? [validatedType] : undefined) : memory_types;
353
+ // validatedType이 존재하면 항상 [validatedType]로 시작 (기본값 포함)
354
+ // originalTypeProvided false이고 memory_types가 제공되면 고려하되, validatedType 우선
355
+ let filteredMemoryTypes;
356
+ if (validatedType) {
357
+ // validatedType이 있으면 항상 사용 (기본값이든 명시적 값이든)
358
+ filteredMemoryTypes = [validatedType];
359
+ // originalTypeProvided가 false이고 memory_types도 제공되면 경고
360
+ if (!originalTypeProvided && memory_types && memory_types.length > 0) {
361
+ this.logWarning('type 파라미터가 미지정되어 기본값이 적용되었지만, memory_types도 제공되었습니다. 기본 타입을 우선 적용하고 memory_types는 무시합니다.', {
362
+ default_type: validatedType,
363
+ memory_types
364
+ });
365
+ }
366
+ }
367
+ else {
368
+ // validatedType이 없으면 memory_types 사용
369
+ filteredMemoryTypes = memory_types;
370
+ }
326
371
  if (filteredMemoryTypes && filteredMemoryTypes.length > 0) {
327
372
  const invalidTypes = filteredMemoryTypes.filter(t => t === 'core' || t === 'vault');
328
373
  if (invalidTypes.length > 0) {
@@ -357,7 +402,10 @@ export class RecallTool extends BaseTool {
357
402
  pinned,
358
403
  importance_min,
359
404
  importance_max,
360
- has_reflection_notes: params.has_reflection_notes
405
+ has_reflection_notes: params.has_reflection_notes,
406
+ // Procedural Memory Enhancement (v7.0) 필터
407
+ workflow_name,
408
+ skill_name
361
409
  };
362
410
  // 검색 옵션 설정
363
411
  const vectorWeight = vector_weight ?? 0.6;
@@ -386,7 +434,9 @@ export class RecallTool extends BaseTool {
386
434
  limit,
387
435
  vectorWeight: normalizedVectorWeight,
388
436
  textWeight: normalizedTextWeight,
389
- provider_filter: providerFilter
437
+ provider_filter: providerFilter,
438
+ match_trigger_conditions: match_trigger_conditions,
439
+ context: actualTriggerContext // 구조화된 컨텍스트 정보 전달
390
440
  });
391
441
  }
392
442
  else {
@@ -406,15 +456,19 @@ export class RecallTool extends BaseTool {
406
456
  this.logError(searchError, '검색 실행 중 오류', { query, enableHybrid });
407
457
  throw new Error(`검색 실행 실패: ${searchError.message}`);
408
458
  }
409
- const executionTime = Date.now() - startTime;
459
+ const executionTime = Date.now() - searchStartTime;
410
460
  // 검색 결과 가져오기
411
- const searchItems = searchResult?.items || [];
461
+ let searchItems = searchResult?.items || [];
462
+ // trigger_conditions 매칭 필터링 (match_trigger_conditions=true일 때)
463
+ if (match_trigger_conditions && searchItems.length > 0) {
464
+ searchItems = this.filterByTriggerConditions(searchItems, query, actualTriggerContext);
465
+ }
412
466
  // Consolidation Score System 업데이트 (기능 플래그 확인)
413
467
  if (mementoConfig.consolidationScoreEnabled && context.services.consolidationScoreService && searchItems.length > 0) {
414
468
  await this.updateConsolidationScoreMetadata(context.db, context.services.consolidationScoreService, context.services.writeCoalescingManager, searchItems);
415
469
  }
416
470
  // 결과 후처리 - searchResult가 undefined인 경우 처리
417
- const processedResults = this.processSearchResults(searchItems, includeMetadata);
471
+ const processedResults = this.processSearchResults(searchItems, includeMetadata, return_format);
418
472
  this.logInfo('검색 완료', {
419
473
  resultCount: processedResults.length,
420
474
  executionTime,
@@ -455,10 +509,91 @@ export class RecallTool extends BaseTool {
455
509
  throw error;
456
510
  }
457
511
  }
512
+ /**
513
+ * trigger_conditions로 필터링
514
+ * match_trigger_conditions=true일 때, 현재 컨텍스트와 trigger_conditions가 매칭되는 항목만 반환
515
+ *
516
+ * PRD 요구사항: 구조화된 컨텍스트(예: tool_name, error_type, params)와 JSON 매칭
517
+ * 구조화된 컨텍스트가 제공되면 이를 우선 사용하고, 없으면 쿼리 텍스트를 사용
518
+ *
519
+ * @param items 검색 결과 항목 배열
520
+ * @param query 검색 쿼리 (컨텍스트로 사용, fallback)
521
+ * @param context 구조화된 컨텍스트 정보 (우선 사용)
522
+ * @returns 필터링된 항목 배열
523
+ */
524
+ filterByTriggerConditions(items, query, triggerContext) {
525
+ const queryText = query?.toLowerCase() || '';
526
+ return items.filter(item => {
527
+ // trigger_conditions가 없는 항목은 제외
528
+ if (!item.trigger_conditions) {
529
+ return false;
530
+ }
531
+ try {
532
+ // JSON 파싱 시도
533
+ const parsed = typeof item.trigger_conditions === 'string'
534
+ ? JSON.parse(item.trigger_conditions)
535
+ : item.trigger_conditions;
536
+ // 객체인지 확인 (배열이나 null이 아닌 경우)
537
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
538
+ return false;
539
+ }
540
+ // 구조화된 컨텍스트가 제공된 경우: 키-값 기반 정확 매칭
541
+ // 모든 키/값 쌍이 매칭되어야 함 (첫 번째 키만 맞으면 통과하는 문제 수정)
542
+ if (triggerContext && Object.keys(triggerContext).length > 0) {
543
+ // trigger_conditions의 모든 키-값 쌍이 컨텍스트와 매칭되는지 확인
544
+ for (const [key, value] of Object.entries(parsed)) {
545
+ const contextValue = triggerContext[key];
546
+ // trigger_conditions에 있는 키가 컨텍스트에 없으면 매칭 실패
547
+ if (contextValue === undefined) {
548
+ return false;
549
+ }
550
+ // 값이 객체인 경우 재귀적으로 비교
551
+ if (typeof value === 'object' && typeof contextValue === 'object' && value !== null && contextValue !== null) {
552
+ // 중첩 객체 매칭: context의 값이 trigger_conditions의 값과 부분적으로 일치하는지 확인
553
+ const valueStr = JSON.stringify(value).toLowerCase();
554
+ const contextStr = JSON.stringify(contextValue).toLowerCase();
555
+ if (!(valueStr.includes(contextStr) || contextStr.includes(valueStr))) {
556
+ // 하나라도 매칭되지 않으면 실패
557
+ return false;
558
+ }
559
+ }
560
+ else {
561
+ // 단순 값 매칭: 문자열로 변환하여 비교
562
+ const valueStr = String(value).toLowerCase();
563
+ const contextStr = String(contextValue).toLowerCase();
564
+ if (!(valueStr === contextStr || valueStr.includes(contextStr) || contextStr.includes(valueStr))) {
565
+ // 하나라도 매칭되지 않으면 실패
566
+ return false;
567
+ }
568
+ }
569
+ }
570
+ // 모든 키/값 쌍이 매칭됨
571
+ return true;
572
+ }
573
+ // 구조화된 컨텍스트가 없는 경우: 쿼리 텍스트 기반 매칭 (fallback)
574
+ if (queryText) {
575
+ // 키 매칭: tool_name, error_type, params 등 구조화된 필드명과 매칭
576
+ const triggerKeys = Object.keys(parsed).map(k => k.toLowerCase());
577
+ const triggerValues = Object.values(parsed).map(v => String(v).toLowerCase());
578
+ // 키 또는 값 중 하나라도 쿼리와 매칭되면 통과
579
+ const keyMatch = triggerKeys.some(k => k.includes(queryText) || queryText.includes(k));
580
+ const valueMatch = triggerValues.some(v => v.includes(queryText) || queryText.includes(v));
581
+ return keyMatch || valueMatch;
582
+ }
583
+ // 쿼리와 컨텍스트가 모두 없으면 매칭 기준이 없으므로 필터링
584
+ // PRD: "현재 컨텍스트와 매칭" 요구사항 - 매칭 기준이 없으면 통과하지 않음
585
+ return false;
586
+ }
587
+ catch (error) {
588
+ // JSON 파싱 실패 시 제외
589
+ return false;
590
+ }
591
+ });
592
+ }
458
593
  /**
459
594
  * 검색 결과 후처리
460
595
  */
461
- processSearchResults(items, includeMetadata) {
596
+ processSearchResults(items, includeMetadata, returnFormat = 'full') {
462
597
  return items.map(item => {
463
598
  const processed = {
464
599
  memory_id: item.id || item.memory_id, // 통일된 필드명 사용
@@ -491,6 +626,10 @@ export class RecallTool extends BaseTool {
491
626
  if (item.type === 'procedural') {
492
627
  processed.task_goal = item.task_goal || null;
493
628
  processed.steps = item.steps || null;
629
+ // Procedural Memory Enhancement (v7.0) 필드 추가
630
+ processed.workflow_name = item.workflow_name || null;
631
+ processed.skill_name = item.skill_name || null;
632
+ processed.trigger_conditions = item.trigger_conditions || null;
494
633
  // reflection_notes 필드 추가 (JSON 파싱)
495
634
  if (item.reflection_notes) {
496
635
  try {
@@ -507,6 +646,15 @@ export class RecallTool extends BaseTool {
507
646
  else {
508
647
  processed.reflection_notes = null;
509
648
  }
649
+ // return_format='steps_only'일 때 steps만 반환
650
+ if (returnFormat === 'steps_only') {
651
+ // steps만 포함하고 나머지 필드는 제거
652
+ return {
653
+ memory_id: processed.memory_id,
654
+ id: processed.id,
655
+ steps: processed.steps
656
+ };
657
+ }
510
658
  }
511
659
  if (item.textScore !== undefined) {
512
660
  processed.text_score = item.textScore;
@@ -1 +1 @@
1
- {"version":3,"file":"recall-tool.js","sourceRoot":"","sources":["../../../../src/domains/memory/tools/recall-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recall-tool.js","sourceRoot":"","sources":["../../../../src/domains/memory/tools/recall-tool.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,16 @@ export declare class RememberTool extends BaseTool {
30
30
  */
31
31
  private parseReflectionNotes;
32
32
  handle(params: any, context: ToolContext): Promise<ToolResult>;
33
+ /**
34
+ * 기존 procedural memory 조회
35
+ * workflow_name과 skill_name으로 기존 레코드를 찾습니다.
36
+ *
37
+ * @param db 데이터베이스 연결
38
+ * @param workflow_name 프로세스 이름
39
+ * @param skill_name 기술/능력 이름
40
+ * @returns 기존 procedural memory 레코드 또는 null
41
+ */
42
+ private findExistingProceduralMemory;
33
43
  /**
34
44
  * 관계 추출을 위한 기존 기억들 조회
35
45
  *
@@ -1 +1 @@
1
- {"version":3,"file":"remember-tool.d.ts","sourceRoot":"","sources":["../../../../src/domains/memory/tools/remember-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAiEvE,qBAAa,YAAa,SAAQ,QAAQ;;IA4ExC;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;IASnC;;;;;;OAMG;YACW,0BAA0B;IA+CxC;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAkDtB,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAsdpE;;;;;;;OAOG;YACW,wCAAwC;IAqCtD;;;;;;OAMG;YACW,aAAa;CAmC5B"}
1
+ {"version":3,"file":"remember-tool.d.ts","sourceRoot":"","sources":["../../../../src/domains/memory/tools/remember-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAwEvE,qBAAa,YAAa,SAAQ,QAAQ;;IA8FxC;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;IASnC;;;;;;OAMG;YACW,0BAA0B;IA+CxC;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAkDtB,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IA+mBpE;;;;;;;;OAQG;YACW,4BAA4B;IA8D1C;;;;;;;OAOG;YACW,wCAAwC;IAqCtD;;;;;;OAMG;YACW,aAAa;CAmC5B"}