memento-mcp-server 1.13.1 → 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.
- package/dist/database/migration/migrations/007-procedural-memory-enhancement.sql +66 -0
- package/dist/database/schema.sql +9 -2
- package/dist/domains/memory/tools/recall-tool.d.ts +13 -0
- package/dist/domains/memory/tools/recall-tool.d.ts.map +1 -1
- package/dist/domains/memory/tools/recall-tool.js +160 -12
- package/dist/domains/memory/tools/recall-tool.js.map +1 -1
- package/dist/domains/memory/tools/remember-tool.d.ts +10 -0
- package/dist/domains/memory/tools/remember-tool.d.ts.map +1 -1
- package/dist/domains/memory/tools/remember-tool.js +264 -35
- package/dist/domains/memory/tools/remember-tool.js.map +1 -1
- package/dist/domains/relation/services/relation-quality-validator.d.ts.map +1 -1
- package/dist/domains/relation/services/relation-quality-validator.js +15 -10
- package/dist/domains/relation/services/relation-quality-validator.js.map +1 -1
- package/dist/domains/relation/services/rule-based-relation-extractor.d.ts.map +1 -1
- package/dist/domains/relation/services/rule-based-relation-extractor.js +18 -0
- package/dist/domains/relation/services/rule-based-relation-extractor.js.map +1 -1
- package/dist/domains/relation/tools/add-relation-tool.d.ts +3 -3
- package/dist/domains/relation/tools/add-relation-tool.js +2 -2
- package/dist/domains/relation/tools/add-relation-tool.js.map +1 -1
- package/dist/domains/relation/tools/get-relations-tool.d.ts +3 -3
- package/dist/domains/relation/tools/get-relations-tool.js +2 -2
- package/dist/domains/relation/tools/get-relations-tool.js.map +1 -1
- package/dist/domains/search/algorithms/hybrid-search-engine.d.ts +20 -0
- package/dist/domains/search/algorithms/hybrid-search-engine.d.ts.map +1 -1
- package/dist/domains/search/algorithms/hybrid-search-engine.js +168 -5
- package/dist/domains/search/algorithms/hybrid-search-engine.js.map +1 -1
- package/dist/domains/search/algorithms/search-engine.d.ts.map +1 -1
- package/dist/domains/search/algorithms/search-engine.js +37 -17
- package/dist/domains/search/algorithms/search-engine.js.map +1 -1
- package/dist/domains/search/algorithms/search-ranking.d.ts +15 -2
- package/dist/domains/search/algorithms/search-ranking.d.ts.map +1 -1
- package/dist/domains/search/algorithms/search-ranking.js +46 -15
- package/dist/domains/search/algorithms/search-ranking.js.map +1 -1
- package/dist/domains/search/repositories/vector-search.repository.d.ts.map +1 -1
- package/dist/domains/search/repositories/vector-search.repository.js +180 -89
- package/dist/domains/search/repositories/vector-search.repository.js.map +1 -1
- package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.d.ts +63 -0
- package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.d.ts.map +1 -0
- package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.js +257 -0
- package/dist/infrastructure/database/database/migration/migrations/007-procedural-memory-enhancement.js.map +1 -0
- package/dist/infrastructure/reflexion-worker.d.ts +18 -0
- package/dist/infrastructure/reflexion-worker.d.ts.map +1 -1
- package/dist/infrastructure/reflexion-worker.js +216 -0
- package/dist/infrastructure/reflexion-worker.js.map +1 -1
- package/dist/infrastructure/scheduler/batch-scheduler.d.ts +51 -8
- package/dist/infrastructure/scheduler/batch-scheduler.d.ts.map +1 -1
- package/dist/infrastructure/scheduler/batch-scheduler.js +299 -205
- package/dist/infrastructure/scheduler/batch-scheduler.js.map +1 -1
- package/dist/infrastructure/scheduler/file-logger.d.ts +82 -0
- package/dist/infrastructure/scheduler/file-logger.d.ts.map +1 -0
- package/dist/infrastructure/scheduler/file-logger.js +133 -0
- package/dist/infrastructure/scheduler/file-logger.js.map +1 -0
- package/dist/infrastructure/scheduler/health-checker.d.ts +54 -0
- package/dist/infrastructure/scheduler/health-checker.d.ts.map +1 -0
- package/dist/infrastructure/scheduler/health-checker.js +96 -0
- package/dist/infrastructure/scheduler/health-checker.js.map +1 -0
- package/dist/infrastructure/scheduler/job-queue.d.ts +85 -0
- package/dist/infrastructure/scheduler/job-queue.d.ts.map +1 -0
- package/dist/infrastructure/scheduler/job-queue.js +125 -0
- package/dist/infrastructure/scheduler/job-queue.js.map +1 -0
- package/dist/infrastructure/scheduler/relation-validator-executor.d.ts +37 -0
- package/dist/infrastructure/scheduler/relation-validator-executor.d.ts.map +1 -0
- package/dist/infrastructure/scheduler/relation-validator-executor.js +120 -0
- package/dist/infrastructure/scheduler/relation-validator-executor.js.map +1 -0
- package/dist/infrastructure/scheduler/retry-manager.d.ts +62 -0
- package/dist/infrastructure/scheduler/retry-manager.d.ts.map +1 -0
- package/dist/infrastructure/scheduler/retry-manager.js +91 -0
- package/dist/infrastructure/scheduler/retry-manager.js.map +1 -0
- package/dist/npm-client/utils.d.ts.map +1 -1
- package/dist/npm-client/utils.js +2 -1
- package/dist/npm-client/utils.js.map +1 -1
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/http-server.js +15 -17
- package/dist/server/http-server.js.map +1 -1
- package/dist/services/anchor-manager.d.ts.map +1 -1
- package/dist/services/anchor-manager.js.map +1 -1
- package/dist/shared/types/index.d.ts +36 -0
- package/dist/shared/types/index.d.ts.map +1 -1
- package/dist/shared/types/index.js.map +1 -1
- package/dist/shared/types/relation.d.ts +1 -1
- package/dist/shared/types/relation.d.ts.map +1 -1
- package/dist/shared/types/relation.js +7 -4
- package/dist/shared/types/relation.js.map +1 -1
- package/dist/shared/utils/database.d.ts.map +1 -1
- package/dist/shared/utils/database.js +9 -2
- package/dist/shared/utils/database.js.map +1 -1
- package/dist/shared/utils/procedural-memory-extractor.d.ts +108 -0
- package/dist/shared/utils/procedural-memory-extractor.d.ts.map +1 -0
- package/dist/shared/utils/procedural-memory-extractor.js +581 -0
- package/dist/shared/utils/procedural-memory-extractor.js.map +1 -0
- package/dist/shared/utils/relation-type-converter.d.ts +52 -0
- package/dist/shared/utils/relation-type-converter.d.ts.map +1 -0
- package/dist/shared/utils/relation-type-converter.js +106 -0
- package/dist/shared/utils/relation-type-converter.js.map +1 -0
- package/dist/shared/utils/type-param-validator.d.ts +31 -0
- package/dist/shared/utils/type-param-validator.d.ts.map +1 -1
- package/dist/shared/utils/type-param-validator.js +90 -2
- package/dist/shared/utils/type-param-validator.js.map +1 -1
- package/dist/tools/base-tool.d.ts.map +1 -1
- package/dist/tools/types.d.ts +4 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js +5 -0
- package/dist/tools/types.js.map +1 -1
- package/dist/workers/consolidation-score-worker.d.ts.map +1 -1
- package/dist/workers/consolidation-score-worker.js +0 -2
- package/dist/workers/consolidation-score-worker.js.map +1 -1
- package/package.json +3 -3
- 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
|
+
|
package/dist/database/schema.sql
CHANGED
|
@@ -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;
|
|
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
|
|
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() -
|
|
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() -
|
|
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
|
-
//
|
|
325
|
-
|
|
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() -
|
|
459
|
+
const executionTime = Date.now() - searchStartTime;
|
|
410
460
|
// 검색 결과 가져오기
|
|
411
|
-
|
|
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;
|
|
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"}
|