memento-mcp-server 1.12.0 → 1.13.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.
- package/dist/algorithms/forgetting-algorithm.d.ts +21 -13
- package/dist/algorithms/forgetting-algorithm.d.ts.map +1 -1
- package/dist/algorithms/forgetting-algorithm.js +32 -24
- package/dist/algorithms/forgetting-algorithm.js.map +1 -1
- package/dist/algorithms/hybrid-search-engine.d.ts +11 -9
- package/dist/algorithms/hybrid-search-engine.d.ts.map +1 -1
- package/dist/algorithms/hybrid-search-engine.js +77 -75
- package/dist/algorithms/hybrid-search-engine.js.map +1 -1
- package/dist/algorithms/search-engine.d.ts +33 -11
- package/dist/algorithms/search-engine.d.ts.map +1 -1
- package/dist/algorithms/search-engine.js +157 -62
- package/dist/algorithms/search-engine.js.map +1 -1
- package/dist/algorithms/search-ranking.d.ts +57 -50
- package/dist/algorithms/search-ranking.d.ts.map +1 -1
- package/dist/algorithms/search-ranking.js +91 -84
- package/dist/algorithms/search-ranking.js.map +1 -1
- package/dist/algorithms/spaced-repetition.d.ts +18 -13
- package/dist/algorithms/spaced-repetition.d.ts.map +1 -1
- package/dist/algorithms/spaced-repetition.js +28 -23
- package/dist/algorithms/spaced-repetition.js.map +1 -1
- package/dist/algorithms/vector-search-engine-migration.d.ts +8 -6
- package/dist/algorithms/vector-search-engine-migration.d.ts.map +1 -1
- package/dist/algorithms/vector-search-engine-migration.js +13 -11
- package/dist/algorithms/vector-search-engine-migration.js.map +1 -1
- package/dist/algorithms/vector-search-engine-refactored.d.ts +7 -7
- package/dist/algorithms/vector-search-engine-refactored.d.ts.map +1 -1
- package/dist/algorithms/vector-search-engine-refactored.js +7 -7
- package/dist/algorithms/vector-search-engine-refactored.js.map +1 -1
- package/dist/algorithms/vector-search-engine.d.ts +25 -20
- package/dist/algorithms/vector-search-engine.d.ts.map +1 -1
- package/dist/algorithms/vector-search-engine.js +47 -43
- package/dist/algorithms/vector-search-engine.js.map +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +4 -1
- package/dist/config/index.js.map +1 -1
- package/dist/database/init.d.ts.map +1 -1
- package/dist/database/init.js +24 -4
- package/dist/database/init.js.map +1 -1
- package/dist/database/migration/migrations/006-fts5-reflection-notes-migration-status.sql +30 -0
- package/dist/database/migration/migrations/006-fts5-reflection-notes.d.ts +113 -0
- package/dist/database/migration/migrations/006-fts5-reflection-notes.d.ts.map +1 -0
- package/dist/database/migration/migrations/006-fts5-reflection-notes.js +441 -0
- package/dist/database/migration/migrations/006-fts5-reflection-notes.js.map +1 -0
- package/dist/database/migration/migrations/006-fts5-reflection-notes.sql +26 -0
- package/dist/database/schema.sql +11 -9
- package/dist/server/bootstrap.d.ts +4 -0
- package/dist/server/bootstrap.d.ts.map +1 -1
- package/dist/server/bootstrap.js +11 -1
- package/dist/server/bootstrap.js.map +1 -1
- package/dist/server/context.d.ts.map +1 -1
- package/dist/server/context.js +3 -1
- package/dist/server/context.js.map +1 -1
- package/dist/server/http-server.d.ts.map +1 -1
- package/dist/server/http-server.js +2 -1
- package/dist/server/http-server.js.map +1 -1
- package/dist/server/index.js +3 -1
- package/dist/server/index.js.map +1 -1
- package/dist/services/async-optimizer.d.ts +2 -1
- package/dist/services/async-optimizer.d.ts.map +1 -1
- package/dist/services/async-optimizer.js +28 -1
- package/dist/services/async-optimizer.js.map +1 -1
- package/dist/services/batch-scheduler.d.ts +5 -1
- package/dist/services/batch-scheduler.d.ts.map +1 -1
- package/dist/services/batch-scheduler.js +13 -1
- package/dist/services/batch-scheduler.js.map +1 -1
- package/dist/services/cache-service.js +1 -1
- package/dist/services/cache-service.js.map +1 -1
- package/dist/services/failure-detector.d.ts +120 -0
- package/dist/services/failure-detector.d.ts.map +1 -0
- package/dist/services/failure-detector.js +370 -0
- package/dist/services/failure-detector.js.map +1 -0
- package/dist/services/llm-based-relation-extractor.js +1 -1
- package/dist/services/llm-based-relation-extractor.js.map +1 -1
- package/dist/services/reflexion-worker.d.ts +170 -0
- package/dist/services/reflexion-worker.d.ts.map +1 -0
- package/dist/services/reflexion-worker.js +636 -0
- package/dist/services/reflexion-worker.js.map +1 -0
- package/dist/services/relation-graph.d.ts +2 -2
- package/dist/services/relation-graph.js +3 -3
- package/dist/services/relation-graph.js.map +1 -1
- package/dist/tools/base-tool.d.ts +5 -0
- package/dist/tools/base-tool.d.ts.map +1 -1
- package/dist/tools/base-tool.js +39 -0
- package/dist/tools/base-tool.js.map +1 -1
- package/dist/tools/recall-tool.d.ts.map +1 -1
- package/dist/tools/recall-tool.js +36 -2
- package/dist/tools/recall-tool.js.map +1 -1
- package/dist/tools/remember-tool.d.ts +24 -0
- package/dist/tools/remember-tool.d.ts.map +1 -1
- package/dist/tools/remember-tool.js +445 -273
- package/dist/tools/remember-tool.js.map +1 -1
- package/dist/tools/types.d.ts +5 -1
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js +1 -1
- package/dist/tools/types.js.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/database.d.ts.map +1 -1
- package/dist/utils/database.js +34 -10
- package/dist/utils/database.js.map +1 -1
- package/dist/utils/fts5-migration-status.d.ts +72 -0
- package/dist/utils/fts5-migration-status.d.ts.map +1 -0
- package/dist/utils/fts5-migration-status.js +304 -0
- package/dist/utils/fts5-migration-status.js.map +1 -0
- package/dist/utils/reflection-notes-merge.d.ts +58 -0
- package/dist/utils/reflection-notes-merge.d.ts.map +1 -0
- package/dist/utils/reflection-notes-merge.js +227 -0
- package/dist/utils/reflection-notes-merge.js.map +1 -0
- package/dist/utils/reflection-notes-normalize.d.ts +43 -0
- package/dist/utils/reflection-notes-normalize.d.ts.map +1 -0
- package/dist/utils/reflection-notes-normalize.js +164 -0
- package/dist/utils/reflection-notes-normalize.js.map +1 -0
- package/dist/utils/reflection-notes-schema.d.ts +84 -0
- package/dist/utils/reflection-notes-schema.d.ts.map +1 -0
- package/dist/utils/reflection-notes-schema.js +215 -0
- package/dist/utils/reflection-notes-schema.js.map +1 -0
- package/package.json +3 -1
- package/src/database/schema.sql +11 -9
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reflexion Worker 서비스
|
|
3
|
+
* 실패 이벤트를 처리하여 reflection_notes를 자동 생성하고 저장
|
|
4
|
+
*/
|
|
5
|
+
import { FailureDetector, type FailureEvent } from './failure-detector.js';
|
|
6
|
+
import { AsyncTaskQueue } from './async-optimizer.js';
|
|
7
|
+
import Database from 'better-sqlite3';
|
|
8
|
+
/**
|
|
9
|
+
* Worker 상태
|
|
10
|
+
*/
|
|
11
|
+
interface WorkerStatus {
|
|
12
|
+
isRunning: boolean;
|
|
13
|
+
activeWorkers: number;
|
|
14
|
+
queueSize: number;
|
|
15
|
+
processedCount: number;
|
|
16
|
+
failedCount: number;
|
|
17
|
+
restartCount: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* ReflexionWorker 서비스 클래스
|
|
21
|
+
*/
|
|
22
|
+
export declare class ReflexionWorker {
|
|
23
|
+
private failureDetector;
|
|
24
|
+
private db;
|
|
25
|
+
private eventQueue;
|
|
26
|
+
private duplicateWindow;
|
|
27
|
+
private readonly WINDOW_SIZE_MS;
|
|
28
|
+
private readonly MAX_CONCURRENT;
|
|
29
|
+
private readonly MAX_QUEUE_SIZE;
|
|
30
|
+
private readonly MAX_RETRIES;
|
|
31
|
+
private readonly RETRY_DELAYS;
|
|
32
|
+
private readonly QUEUE_WARNING_THRESHOLD;
|
|
33
|
+
private readonly MAX_RESTART_ATTEMPTS;
|
|
34
|
+
private status;
|
|
35
|
+
private cleanupInterval;
|
|
36
|
+
private healthCheckInterval;
|
|
37
|
+
private lastHealthCheck;
|
|
38
|
+
constructor(failureDetector: FailureDetector, db: Database.Database, eventQueue?: AsyncTaskQueue);
|
|
39
|
+
/**
|
|
40
|
+
* Worker 시작
|
|
41
|
+
*/
|
|
42
|
+
start(): Promise<boolean>;
|
|
43
|
+
/**
|
|
44
|
+
* Worker 중지
|
|
45
|
+
*/
|
|
46
|
+
stop(): Promise<boolean>;
|
|
47
|
+
/**
|
|
48
|
+
* 헬스체크 시작
|
|
49
|
+
*/
|
|
50
|
+
private startHealthCheck;
|
|
51
|
+
/**
|
|
52
|
+
* 헬스체크 수행
|
|
53
|
+
*/
|
|
54
|
+
private performHealthCheck;
|
|
55
|
+
/**
|
|
56
|
+
* Worker 재시작 시도
|
|
57
|
+
*/
|
|
58
|
+
private attemptRestart;
|
|
59
|
+
/**
|
|
60
|
+
* auto_reflect 내부 함수
|
|
61
|
+
* 실패 정보를 바탕으로 Reflexion 데이터 생성 및 저장
|
|
62
|
+
*/
|
|
63
|
+
private autoReflect;
|
|
64
|
+
/**
|
|
65
|
+
* 중복 감지
|
|
66
|
+
*/
|
|
67
|
+
private isDuplicate;
|
|
68
|
+
/**
|
|
69
|
+
* 이벤트 키 생성: SHA256({tool_name}_{error_type}_{error_message_hash})
|
|
70
|
+
*/
|
|
71
|
+
private generateEventKey;
|
|
72
|
+
/**
|
|
73
|
+
* 중복 윈도우 정리 (만료된 항목 제거)
|
|
74
|
+
*/
|
|
75
|
+
private cleanupDuplicateWindow;
|
|
76
|
+
/**
|
|
77
|
+
* Reflexion 데이터 생성
|
|
78
|
+
*/
|
|
79
|
+
private generateReflectionNote;
|
|
80
|
+
/**
|
|
81
|
+
* 교훈 추출 (템플릿 기반)
|
|
82
|
+
*/
|
|
83
|
+
private generateLessonsLearned;
|
|
84
|
+
/**
|
|
85
|
+
* 개선 방안 제안 (템플릿 기반)
|
|
86
|
+
*/
|
|
87
|
+
private generateSuggestedImprovements;
|
|
88
|
+
/**
|
|
89
|
+
* 반복 실패 패턴 분석
|
|
90
|
+
* 동일 task_goal의 반복 실패 횟수 및 패턴을 분석
|
|
91
|
+
*/
|
|
92
|
+
private analyzeFailurePattern;
|
|
93
|
+
/**
|
|
94
|
+
* 작업 목표 추출
|
|
95
|
+
*/
|
|
96
|
+
private extractTaskGoal;
|
|
97
|
+
/**
|
|
98
|
+
* reflection_notes 파싱
|
|
99
|
+
*/
|
|
100
|
+
private parseReflectionNotes;
|
|
101
|
+
/**
|
|
102
|
+
* FailureDetector의 큐에 핸들러 등록
|
|
103
|
+
* FailureDetector가 실패 이벤트를 큐에 추가할 때 이 핸들러를 사용하도록 설정
|
|
104
|
+
*/
|
|
105
|
+
registerHandler(): void;
|
|
106
|
+
/**
|
|
107
|
+
* 실패 이벤트를 큐에 추가 (큐 크기 제한 포함)
|
|
108
|
+
* FailureDetector의 queueFailureEvent를 대체하는 메서드
|
|
109
|
+
* AsyncTaskQueue가 자동으로 큐 크기 제한을 처리함
|
|
110
|
+
*/
|
|
111
|
+
queueFailureEvent(event: FailureEvent): Promise<boolean>;
|
|
112
|
+
/**
|
|
113
|
+
* 가장 오래된 큐 이벤트 제거 (FIFO)
|
|
114
|
+
* AsyncTaskQueue의 큐 크기 제한 기능을 사용하므로 여기서는 더 이상 필요 없음
|
|
115
|
+
* @deprecated AsyncTaskQueue가 자동으로 처리하므로 사용하지 않음
|
|
116
|
+
*/
|
|
117
|
+
private removeOldestQueuedEvent;
|
|
118
|
+
/**
|
|
119
|
+
* 실패 이벤트 처리 (재시도 및 백오프 포함)
|
|
120
|
+
*/
|
|
121
|
+
processFailureEvent(event: FailureEvent): Promise<void>;
|
|
122
|
+
/**
|
|
123
|
+
* Worker 상태 조회
|
|
124
|
+
*/
|
|
125
|
+
getStatus(): WorkerStatus;
|
|
126
|
+
/**
|
|
127
|
+
* 큐 적체 경고 확인
|
|
128
|
+
*/
|
|
129
|
+
checkQueueBacklog(): void;
|
|
130
|
+
/**
|
|
131
|
+
* Reflexion 기록 메트릭 수집
|
|
132
|
+
*/
|
|
133
|
+
getReflexionMetrics(): {
|
|
134
|
+
processedCount: number;
|
|
135
|
+
failedCount: number;
|
|
136
|
+
successRate: number;
|
|
137
|
+
averageProcessingTime: number;
|
|
138
|
+
queueSize: number;
|
|
139
|
+
activeWorkers: number;
|
|
140
|
+
restartCount: number;
|
|
141
|
+
};
|
|
142
|
+
/**
|
|
143
|
+
* 통합 메트릭 수집 (FailureDetector + ReflexionWorker)
|
|
144
|
+
*/
|
|
145
|
+
getIntegratedMetrics(): {
|
|
146
|
+
detection: {
|
|
147
|
+
totalDetections: number;
|
|
148
|
+
toolErrorCount: number;
|
|
149
|
+
userFeedbackCount: number;
|
|
150
|
+
metricFailureCount: number;
|
|
151
|
+
detectionRate: number;
|
|
152
|
+
};
|
|
153
|
+
reflexion: {
|
|
154
|
+
processedCount: number;
|
|
155
|
+
failedCount: number;
|
|
156
|
+
successRate: number;
|
|
157
|
+
averageProcessingTime: number;
|
|
158
|
+
queueSize: number;
|
|
159
|
+
activeWorkers: number;
|
|
160
|
+
restartCount: number;
|
|
161
|
+
};
|
|
162
|
+
overall: {
|
|
163
|
+
recall: number;
|
|
164
|
+
precision: number;
|
|
165
|
+
reflexionSuccessRate: number;
|
|
166
|
+
};
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
export {};
|
|
170
|
+
//# sourceMappingURL=reflexion-worker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reflexion-worker.d.ts","sourceRoot":"","sources":["../../src/services/reflexion-worker.ts"],"names":[],"mappings":"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"}
|