memento-mcp-server 1.13.1-a4 → 1.14.0-a

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 (108) hide show
  1. package/dist/database/migration/migrations/007-procedural-memory-enhancement.sql +66 -0
  2. package/dist/database/schema.sql +9 -2
  3. package/dist/domains/memory/tools/recall-tool.d.ts +13 -0
  4. package/dist/domains/memory/tools/recall-tool.d.ts.map +1 -1
  5. package/dist/domains/memory/tools/recall-tool.js +160 -12
  6. package/dist/domains/memory/tools/recall-tool.js.map +1 -1
  7. package/dist/domains/memory/tools/remember-tool.d.ts +10 -0
  8. package/dist/domains/memory/tools/remember-tool.d.ts.map +1 -1
  9. package/dist/domains/memory/tools/remember-tool.js +264 -35
  10. package/dist/domains/memory/tools/remember-tool.js.map +1 -1
  11. package/dist/domains/relation/services/relation-quality-validator.d.ts.map +1 -1
  12. package/dist/domains/relation/services/relation-quality-validator.js +15 -10
  13. package/dist/domains/relation/services/relation-quality-validator.js.map +1 -1
  14. package/dist/domains/relation/services/rule-based-relation-extractor.d.ts.map +1 -1
  15. package/dist/domains/relation/services/rule-based-relation-extractor.js +18 -0
  16. package/dist/domains/relation/services/rule-based-relation-extractor.js.map +1 -1
  17. package/dist/domains/relation/tools/add-relation-tool.d.ts +3 -3
  18. package/dist/domains/relation/tools/add-relation-tool.js +2 -2
  19. package/dist/domains/relation/tools/add-relation-tool.js.map +1 -1
  20. package/dist/domains/relation/tools/get-relations-tool.d.ts +3 -3
  21. package/dist/domains/relation/tools/get-relations-tool.js +2 -2
  22. package/dist/domains/relation/tools/get-relations-tool.js.map +1 -1
  23. package/dist/domains/search/algorithms/hybrid-search-engine.d.ts +20 -0
  24. package/dist/domains/search/algorithms/hybrid-search-engine.d.ts.map +1 -1
  25. package/dist/domains/search/algorithms/hybrid-search-engine.js +168 -5
  26. package/dist/domains/search/algorithms/hybrid-search-engine.js.map +1 -1
  27. package/dist/domains/search/algorithms/search-engine.d.ts.map +1 -1
  28. package/dist/domains/search/algorithms/search-engine.js +37 -17
  29. package/dist/domains/search/algorithms/search-engine.js.map +1 -1
  30. package/dist/domains/search/algorithms/search-ranking.d.ts +15 -2
  31. package/dist/domains/search/algorithms/search-ranking.d.ts.map +1 -1
  32. package/dist/domains/search/algorithms/search-ranking.js +46 -15
  33. package/dist/domains/search/algorithms/search-ranking.js.map +1 -1
  34. package/dist/domains/search/repositories/vector-search.repository.d.ts.map +1 -1
  35. package/dist/domains/search/repositories/vector-search.repository.js +180 -89
  36. package/dist/domains/search/repositories/vector-search.repository.js.map +1 -1
  37. package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.d.ts +63 -0
  38. package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.d.ts.map +1 -0
  39. package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.js +257 -0
  40. package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.js.map +1 -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/server/http-server.d.ts.map +1 -1
  73. package/dist/server/http-server.js +15 -17
  74. package/dist/server/http-server.js.map +1 -1
  75. package/dist/services/anchor-manager.d.ts.map +1 -1
  76. package/dist/services/anchor-manager.js.map +1 -1
  77. package/dist/shared/types/index.d.ts +36 -0
  78. package/dist/shared/types/index.d.ts.map +1 -1
  79. package/dist/shared/types/index.js.map +1 -1
  80. package/dist/shared/types/relation.d.ts +1 -1
  81. package/dist/shared/types/relation.d.ts.map +1 -1
  82. package/dist/shared/types/relation.js +7 -4
  83. package/dist/shared/types/relation.js.map +1 -1
  84. package/dist/shared/utils/database.d.ts.map +1 -1
  85. package/dist/shared/utils/database.js +9 -2
  86. package/dist/shared/utils/database.js.map +1 -1
  87. package/dist/shared/utils/procedural-memory-extractor.d.ts +108 -0
  88. package/dist/shared/utils/procedural-memory-extractor.d.ts.map +1 -0
  89. package/dist/shared/utils/procedural-memory-extractor.js +581 -0
  90. package/dist/shared/utils/procedural-memory-extractor.js.map +1 -0
  91. package/dist/shared/utils/relation-type-converter.d.ts +52 -0
  92. package/dist/shared/utils/relation-type-converter.d.ts.map +1 -0
  93. package/dist/shared/utils/relation-type-converter.js +106 -0
  94. package/dist/shared/utils/relation-type-converter.js.map +1 -0
  95. package/dist/shared/utils/type-param-validator.d.ts +31 -0
  96. package/dist/shared/utils/type-param-validator.d.ts.map +1 -1
  97. package/dist/shared/utils/type-param-validator.js +90 -2
  98. package/dist/shared/utils/type-param-validator.js.map +1 -1
  99. package/dist/tools/base-tool.d.ts.map +1 -1
  100. package/dist/tools/types.d.ts +4 -0
  101. package/dist/tools/types.d.ts.map +1 -1
  102. package/dist/tools/types.js +5 -0
  103. package/dist/tools/types.js.map +1 -1
  104. package/dist/workers/consolidation-score-worker.d.ts.map +1 -1
  105. package/dist/workers/consolidation-score-worker.js +0 -2
  106. package/dist/workers/consolidation-score-worker.js.map +1 -1
  107. package/package.json +3 -3
  108. package/scripts/auto-setup.js +1 -1
@@ -0,0 +1,66 @@
1
+ -- Migration: 007 - Procedural Memory Enhancement
2
+ -- Description: Add workflow_name, skill_name, trigger_conditions fields to memory_item table and extend memory_link relation_type enum
3
+ -- Version: 7.0
4
+ -- Date: 2025-01-XX
5
+ --
6
+ -- This migration:
7
+ -- 1. Adds workflow_name, skill_name, trigger_conditions fields to memory_item table
8
+ -- 2. Creates indexes for new fields (workflow_name, skill_name)
9
+ -- 3. Extends memory_link relation_type enum to include 'version_of' for version management
10
+
11
+ -- ============================================================================
12
+ -- 1. Add new fields to memory_item table
13
+ -- ============================================================================
14
+
15
+ -- Add workflow_name field (TEXT, NULL allowed for backward compatibility)
16
+ ALTER TABLE memory_item ADD COLUMN workflow_name TEXT;
17
+
18
+ -- Add skill_name field (TEXT, NULL allowed for backward compatibility)
19
+ ALTER TABLE memory_item ADD COLUMN skill_name TEXT;
20
+
21
+ -- Add trigger_conditions field (TEXT, NULL allowed, JSON object string)
22
+ ALTER TABLE memory_item ADD COLUMN trigger_conditions TEXT;
23
+
24
+ -- ============================================================================
25
+ -- 2. Create indexes for new fields
26
+ -- ============================================================================
27
+
28
+ -- Index for workflow_name (for search performance)
29
+ CREATE INDEX IF NOT EXISTS idx_memory_item_workflow_name ON memory_item(workflow_name);
30
+
31
+ -- Index for skill_name (for search performance)
32
+ CREATE INDEX IF NOT EXISTS idx_memory_item_skill_name ON memory_item(skill_name);
33
+
34
+ -- ============================================================================
35
+ -- 3. Extend memory_link relation_type enum to include 'version_of'
36
+ -- ============================================================================
37
+ -- Note: SQLite does not support direct modification of CHECK constraints.
38
+ -- We need to recreate the table with the extended enum values.
39
+
40
+ -- Step 3.1: Create new memory_link table with extended relation_type enum
41
+ CREATE TABLE memory_link_new (
42
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
43
+ source_id TEXT NOT NULL,
44
+ target_id TEXT NOT NULL,
45
+ relation_type TEXT CHECK (relation_type IN ('cause_of', 'derived_from', 'duplicates', 'contradicts', 'version_of')) NOT NULL,
46
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
47
+ FOREIGN KEY (source_id) REFERENCES memory_item(id) ON DELETE CASCADE,
48
+ FOREIGN KEY (target_id) REFERENCES memory_item(id) ON DELETE CASCADE,
49
+ UNIQUE(source_id, target_id, relation_type)
50
+ );
51
+
52
+ -- Step 3.2: Copy existing data from old table to new table
53
+ INSERT INTO memory_link_new (id, source_id, target_id, relation_type, created_at)
54
+ SELECT id, source_id, target_id, relation_type, created_at
55
+ FROM memory_link;
56
+
57
+ -- Step 3.3: Drop old table
58
+ DROP TABLE memory_link;
59
+
60
+ -- Step 3.4: Rename new table to original name
61
+ ALTER TABLE memory_link_new RENAME TO memory_link;
62
+
63
+ -- Step 3.5: Recreate indexes (they are automatically dropped when table is dropped)
64
+ CREATE INDEX IF NOT EXISTS idx_memory_link_source ON memory_link(source_id);
65
+ CREATE INDEX IF NOT EXISTS idx_memory_link_target ON memory_link(target_id);
66
+
@@ -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":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAmE,MAAM,gCAAgC,CAAC;AACnI,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAIlE;;;;;;GAMG;AACH,SAAS,uBAAuB,CAAC,cAA+C;IAC9E,OAAO,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC;AAClF,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5B,4CAA4C;IAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,QAAQ,EAAE;IAC5D,YAAY;IACZ,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,EAAE,2BAA2B;IACtE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;IAClD,aAAa;IACb,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE;IAC1D,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE;IAC7D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACnD,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,mCAAmC;IACjF,KAAK,EAAE,aAAa,CAAC,KAAK;IAC1B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChD,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACrC,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACxC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC7G,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;IACjB,YAAY;IACZ,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAClD,qBAAqB;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,CAAC;QACN,mBAAmB;QACnB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,EAAE;IACD,OAAO,EAAE,iDAAiD;CAC3D,CAAC,CAAC;AAEH,MAAM,OAAO,UAAW,SAAQ,QAAQ;IACtC;QACE,KAAK,CACH,QAAQ,EACR,cAAc,EACd;YACE,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,uCAAuC;iBACrD;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC;oBACxE,WAAW,EAAE,qBAAqB;iBACnC;gBACD,GAAG,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,gCAAgC;iBAC9C;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,8CAA8C;iBAC5D;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;oBACnG,WAAW,EAAE,sEAAsE;iBACpF;gBACD,IAAI,EAAE;oBACJ,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBACzB,WAAW,EAAE,cAAc;iBAC5B;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE;oBAC9D,WAAW,EAAE,oBAAoB;iBAClC;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2BAA2B;iBACzC;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,2BAA2B;iBACzC;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,kBAAkB;iBAChC;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;oBACV,WAAW,EAAE,eAAe;iBAC7B;gBACD,cAAc,EAAE;oBACd,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;oBACV,WAAW,EAAE,oBAAoB;iBAClC;gBACD,oBAAoB,EAAE;oBACpB,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,wEAAwE;iBACtF;gBACD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,GAAG;oBACZ,OAAO,EAAE,EAAE;oBACX,WAAW,EAAE,SAAS;iBACvB;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,kBAAkB;iBAChC;gBACD,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,GAAG;oBACZ,WAAW,EAAE,mBAAmB;iBACjC;gBACD,aAAa,EAAE;oBACb,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,uBAAuB;iBACrC;gBACD,gBAAgB,EAAE;oBAChB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,oBAAoB;iBAClC;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE;oBACvF,WAAW,EAAE,kDAAkD;iBAChE;aACF;YACD,QAAQ,EAAE,EAAE,CAAC,8CAA8C;SAC5D,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAW,EAAE,OAAoB;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAE1C,IAAI,CAAC;YACH,eAAe;YACf,MAAM,EACJ,KAAK,EACL,IAAI,EACJ,GAAG,EACH,QAAQ,EACR,YAAY,EACZ,IAAI,EACJ,aAAa,EACb,SAAS,EACT,OAAO,EACP,MAAM,EACN,cAAc,EACd,cAAc,EACd,KAAK,EACL,aAAa,EACb,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,eAAe,EAChB,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAE/B,sBAAsB;YACtB,oEAAoE;YACpE,oDAAoD;YACpD,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC;YAClD,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,0BAA0B;YAC/D,IAAI,aAAa,GAAG,IAAI,CAAC;YAEzB,kDAAkD;YAClD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;gBAE7E,oBAAoB;gBACpB,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;oBAC5B,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,mBAAmB,CAAC,CAAC;gBACjE,CAAC;gBAED,6CAA6C;gBAC7C,mCAAmC;gBACnC,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;oBAC3B,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;wBAC7B,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;oBAC1C,CAAC;yBAAM,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;wBACzC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC;gBAED,yBAAyB;gBACzB,8DAA8D;gBAC9D,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;oBAC/B,aAAa,GAAG,cAAc,CAAC,WAAgC,CAAC;gBAClE,CAAC;YACH,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;gBACzB,KAAK;gBACL,IAAI,EAAE,aAAa;gBACnB,GAAG;gBACH,QAAQ;gBACR,YAAY;gBACZ,IAAI;gBACJ,aAAa;gBACb,KAAK;gBACL,aAAa;gBACb,WAAW;gBACX,aAAa;gBACb,eAAe;aAChB,CAAC,CAAC;YAEH,eAAe;YACf,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAE/B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,QAAQ,IAAI,SAAS,CAAC;YAEtC,sBAAsB;YACtB,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;gBAC7B,iBAAiB;gBACjB,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC,UAAU,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBACjE,CAAC;gBACD,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5C,IAAI,CAAC,UAAU,CAAC,yCAAyC,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC/E,CAAC;gBAED,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAG,CAAC,CAAC;gBACnE,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,0CAA0C,CAAC,CAAC;gBACxF,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;gBAC7C,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;gBAEvF,IAAI,OAAO,CAAC;gBACZ,IAAI,GAAG,EAAE,CAAC;oBACR,UAAU;oBACV,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBAC/D,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,oBAAoB;oBACpB,OAAO,GAAG,MAAM,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC3D,CAAC;gBAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAC7C,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAC9C,SAAS,EAAE,MAAM,CAAC,OAAO;oBACzB,IAAI,EAAE,MAAM;oBACZ,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;oBAC7E,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;iBAC9B,CAAC,CAAC,CAAC;gBAEJ,OAAO,IAAI,CAAC,mBAAmB,CAAC;oBAC9B,KAAK,EAAE,gBAAgB;oBACvB,WAAW,EAAE,gBAAgB,CAAC,MAAM;oBACpC,UAAU,EAAE,aAAa;oBACzB,WAAW,EAAE,QAAQ;iBACtB,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;gBACrC,qBAAqB;gBACrB,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC,UAAU,CAAC,mCAAmC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClE,CAAC;gBACD,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5C,IAAI,CAAC,UAAU,CAAC,0CAA0C,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;gBAChF,CAAC;gBAED,MAAM,wBAAwB,GAAG,IAAI,wBAAwB,CAAC,OAAO,CAAC,EAAG,CAAC,CAAC;gBAC3E,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,wBAAwB,CAAC,CAAC;gBAElF,IAAI,OAAO,CAAC;gBACZ,IAAI,GAAG,EAAE,CAAC;oBACR,mBAAmB;oBACnB,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBACzE,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,uBAAuB;oBACvB,OAAO,GAAG,MAAM,qBAAqB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBACrE,CAAC;gBAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAC7C,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAC9C,SAAS,EAAE,MAAM,CAAC,QAAQ;oBAC1B,IAAI,EAAE,OAAO;oBACb,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;oBAC7E,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;iBAC9B,CAAC,CAAC,CAAC;gBAEJ,OAAO,IAAI,CAAC,mBAAmB,CAAC;oBAC9B,KAAK,EAAE,gBAAgB;oBACvB,WAAW,EAAE,gBAAgB,CAAC,MAAM;oBACpC,UAAU,EAAE,aAAa;oBACzB,WAAW,EAAE,QAAQ;iBACtB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,uBAAuB;gBACvB,cAAc;gBACd,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;gBACvE,CAAC;gBAED,QAAQ;gBACR,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;gBAC1C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBAE5C,iBAAiB;gBACjB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;gBAEzE,gCAAgC;gBAChC,uCAAuC;gBACvC,IAAI,oBAAoB,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpE,IAAI,CAAC,UAAU,CAAC,8EAA8E,EAAE;wBAC9F,IAAI,EAAE,aAAa;wBACnB,YAAY;qBACb,CAAC,CAAC;gBACL,CAAC;gBAED,0CAA0C;gBAC1C,2CAA2C;gBAC3C,IAAI,mBAAmB,GAAoC,oBAAoB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC/I,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1D,MAAM,YAAY,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC;oBACpF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC5B,IAAI,CAAC,UAAU,CAAC,uEAAuE,EAAE;4BACvF,aAAa,EAAE,YAAY;4BAC3B,qBAAqB,EAAE,mBAAmB;4BAC1C,UAAU,EAAE,qCAAqC;yBAClD,CAAC,CAAC;wBACH,mBAAmB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,OAAO,CAAwB,CAAC;wBAC5G,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACrC,MAAM,IAAI,KAAK,CAAC,kHAAkH,CAAC,CAAC;wBACtI,CAAC;oBACH,CAAC;oBAED,gDAAgD;oBAChD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAmB,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjG,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAClC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBACpD,CAAC;oBACD,mBAAmB,GAAG,gBAAgB,CAAC;gBACzC,CAAC;gBAED,sBAAsB;gBACtB,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC,UAAU,CAAC,uCAAuC,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACzE,CAAC;gBAED,YAAY;gBACZ,MAAM,OAAO,GAAG;oBACd,IAAI,EAAE,mBAAmB;oBACzB,IAAI;oBACJ,aAAa;oBACb,SAAS;oBACT,OAAO;oBACP,MAAM;oBACN,cAAc;oBACd,cAAc;oBACd,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;iBAClD,CAAC;gBAEF,WAAW;gBACX,MAAM,YAAY,GAAG,aAAa,IAAI,GAAG,CAAC;gBAC1C,MAAM,UAAU,GAAG,WAAW,IAAI,GAAG,CAAC;gBACtC,MAAM,YAAY,GAAG,aAAa,IAAI,IAAI,CAAC;gBAC3C,MAAM,eAAe,GAAG,gBAAgB,IAAI,IAAI,CAAC;gBAEjD,UAAU;gBACV,MAAM,WAAW,GAAG,YAAY,GAAG,UAAU,CAAC;gBAC9C,MAAM,sBAAsB,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;gBAClF,MAAM,oBAAoB,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;gBAE9E,IAAI,YAAY,CAAC;gBAEjB,IAAI,CAAC;oBACH,IAAI,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,EAAE,CAAC;wBAC/E,sBAAsB;wBACtB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;4BAC1B,KAAK;4BACL,YAAY,EAAE,sBAAsB;4BACpC,UAAU,EAAE,oBAAoB;yBACjC,CAAC,CAAC;wBAEH,6DAA6D;wBAC7D,0CAA0C;wBAC1C,MAAM,cAAc,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAC;wBAEhE,YAAY,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;4BAC1E,KAAK;4BACL,OAAO;4BACP,KAAK;4BACL,YAAY,EAAE,sBAAsB;4BACpC,UAAU,EAAE,oBAAoB;4BAChC,eAAe,EAAE,cAAc;yBAChC,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,aAAa;wBACb,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;4BACnC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;wBAC3C,CAAC;wBAED,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;wBAErC,YAAY,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;4BACpE,KAAK;4BACL,OAAO;4BACP,KAAK;yBACN,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,WAAW,EAAE,CAAC;oBACrB,IAAI,CAAC,QAAQ,CAAC,WAAoB,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;oBAC3E,MAAM,IAAI,KAAK,CAAC,aAAc,WAAqB,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjE,CAAC;gBAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBAE7C,aAAa;gBACb,MAAM,WAAW,GAAG,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC;gBAE9C,8CAA8C;gBAC9C,IAAI,aAAa,CAAC,yBAAyB,IAAI,OAAO,CAAC,QAAQ,CAAC,yBAAyB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACpH,MAAM,IAAI,CAAC,gCAAgC,CACzC,OAAO,CAAC,EAAG,EACX,OAAO,CAAC,QAAQ,CAAC,yBAAyB,EAC1C,OAAO,CAAC,QAAQ,CAAC,sBAAsB,EACvC,WAAW,CACZ,CAAC;gBACJ,CAAC;gBAED,0CAA0C;gBAC1C,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;gBAEjF,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;oBACpB,WAAW,EAAE,gBAAgB,CAAC,MAAM;oBACpC,aAAa;oBACb,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;iBAC7C,CAAC,CAAC;gBAEH,OAAO,IAAI,CAAC,mBAAmB,CAAC;oBAC9B,KAAK,EAAE,gBAAgB;oBACvB,WAAW,EAAE,YAAY,EAAE,WAAW,IAAI,gBAAgB,CAAC,MAAM;oBACjE,UAAU,EAAE,aAAa;oBACzB,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;oBAC7C,uBAAuB,EAAE,OAAO,CAAC,QAAQ,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,IAAI,KAAK;oBAC7F,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;oBAChD,cAAc,EAAE;wBACd,aAAa,EAAE,sBAAsB;wBACrC,WAAW,EAAE,oBAAoB;wBACjC,aAAa,EAAE,YAAY;qBAC5B;iBACF,CAAC,CAAC;YACL,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,KAAc,EAAE,iBAAiB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAE7D,aAAa;YACb,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC7C,MAAM,IAAI,CAAC,aAAa,CACtB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACzD,MAAM,EACN,OAAO,EACP,aAAa,CACd,CAAC;YAEF,qBAAqB;YACrB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC3B,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBACzC,MAAM,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAChD,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC9C,MAAM,IAAI,KAAK,CAAC,cAAc,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjD,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC5C,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC7C,CAAC;YACH,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,KAAY,EAAE,eAAwB;QACjE,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACtB,MAAM,SAAS,GAAQ;gBACrB,SAAS,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,aAAa;gBACnD,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,gBAAgB;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,WAAW,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;aAChD,CAAC;YAEF,IAAI,eAAe,EAAE,CAAC;gBACpB,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;gBAC7C,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC/B,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC3B,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC/B,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;gBAE7C,gCAAgC;gBAChC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,IAAI,CAAC;wBACH,SAAS,CAAC,aAAa,GAAG,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ;4BAC9D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;4BAChC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;oBACzB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,yBAAyB;wBACzB,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;oBAC/C,CAAC;gBACH,CAAC;gBAED,6BAA6B;gBAC7B,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAC/B,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC;oBAC7C,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;oBAErC,mCAAmC;oBACnC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBAC1B,IAAI,CAAC;4BACH,4CAA4C;4BAC5C,SAAS,CAAC,gBAAgB,GAAG,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ;gCACpE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;gCACnC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;wBAC5B,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,yBAAyB;4BACzB,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;wBACrD,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBACpC,CAAC;gBACH,CAAC;gBAED,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBACjC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;gBACxC,CAAC;gBACD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBACnC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;gBAC5C,CAAC;gBACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;gBAC/C,CAAC;gBAED,wCAAwC;gBACxC,IAAI,aAAa,CAAC,yBAAyB,IAAI,IAAI,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;oBACtF,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;gBAC3D,CAAC;YACH,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,OAAa;QACrC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAExB,MAAM,OAAO,GAAQ,EAAE,CAAC;QAExB,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC9B,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC9B,CAAC;QACD,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9D,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAChD,CAAC;QACD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACxC,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACpC,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAClC,CAAC;QACD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACzC,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAClD,CAAC;QACD,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACzC,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAClD,CAAC;QACD,IAAI,OAAO,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YAC/C,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QAC9D,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,KAAa;QACjC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,WAAW;QACX,MAAM,iBAAiB,GAAG;YACxB,UAAU;YACV,cAAc;YACd,YAAY;SACb,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;YACxC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,OAAa;QACnC,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,WAAW;QACX,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAEzC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACtC,CAAC;YAED,IAAI,QAAQ,GAAG,MAAM,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,YAAY;QACZ,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACjF,IAAI,OAAO,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;gBACpD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,gCAAgC,CAC5C,EAAO,EACP,yBAAoD,EACpD,sBAA0D,EAC1D,WAAkB;QAElB,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YAEjC,mBAAmB;YACnB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC;gBAC3C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,SAAS,CAAC,aAAa;gBACzB,CAAC;gBAED,IAAI,CAAC;oBACH,mFAAmF;oBACnF,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAC9B,EAAE,EACF;;;;;;;;yBAQa,EACb,CAAC,QAAQ,CAAC,CAQC,CAAC;oBAEd,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,IAAI,CAAC,UAAU,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;wBAC/C,SAAS;oBACX,CAAC;oBAED,kBAAkB;oBAClB,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBAEtD,yDAAyD;oBACzD,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB;wBAC5C,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;wBACnC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBAChC,MAAM,WAAW,GAAG,yBAAyB,CAAC,oBAAoB,CAChE,cAAc,EACd,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAC3B,GAAG,CACJ,CAAC;oBAEF,eAAe;oBACf,MAAM,SAAS,GAAG,yBAAyB,CAAC,qBAAqB,CAAC;wBAChE,cAAc,EAAE,MAAM,CAAC,OAAO;wBAC9B,WAAW;qBACZ,CAAC,CAAC;oBAEH,yBAAyB;oBACzB,MAAM,WAAW,GAAG,yBAAyB,CAAC,cAAc,CAAC;wBAC3D,WAAW,EAAE,cAAc;wBAC3B,cAAc,EAAE,GAAG;wBACnB,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;wBACtC,MAAM,EAAE,SAAS;wBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,MAAM,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;qBACtD,CAAC,CAAC;oBAEH,4BAA4B;oBAC5B,IAAI,sBAAsB,EAAE,CAAC;wBAC3B,wBAAwB;wBACxB,sBAAsB,CAAC,QAAQ,CAAC;4BAC9B,QAAQ;4BACR,MAAM,EAAE;gCACN,YAAY,EAAE,cAAc;gCAC5B,gBAAgB,EAAE,MAAM;gCACxB,OAAO,EAAE,SAAS;gCAClB,mBAAmB,EAAE,WAAW,CAAC,KAAK;6BACvC;yBACF,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,gCAAgC;wBAChC,aAAa,CAAC,GAAG,CACf,EAAE,EACF;;;;;;4BAMc,EACd,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CACjE,CAAC;oBACJ,CAAC;gBAEH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,mCAAmC;oBACnC,IAAI,CAAC,UAAU,CAAC,gBAAgB,QAAQ,GAAG,EAAE;wBAC3C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC9D,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,4BAA4B;YAC5B,IAAI,CAAC,QAAQ,CAAC,KAAc,EAAE,mCAAmC,EAAE;gBACjE,SAAS,EAAE,WAAW,CAAC,MAAM;aAC9B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
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"}