memento-mcp-server 1.14.0 → 1.15.0-c
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/domains/memory/tools/convert-episodic-to-semantic-tool.d.ts +18 -0
- package/dist/domains/memory/tools/convert-episodic-to-semantic-tool.d.ts.map +1 -0
- package/dist/domains/memory/tools/convert-episodic-to-semantic-tool.js +346 -0
- package/dist/domains/memory/tools/convert-episodic-to-semantic-tool.js.map +1 -0
- package/dist/domains/memory/tools/remember-tool.d.ts.map +1 -1
- package/dist/domains/memory/tools/remember-tool.js +182 -1
- package/dist/domains/memory/tools/remember-tool.js.map +1 -1
- package/dist/infrastructure/database/database/migration/migrations/005-relation-engine-schema.sql +7 -7
- package/dist/infrastructure/database/database/migration/migrations/008-arigraph-schema-expansion.d.ts +65 -0
- package/dist/infrastructure/database/database/migration/migrations/008-arigraph-schema-expansion.d.ts.map +1 -0
- package/dist/infrastructure/database/database/migration/migrations/008-arigraph-schema-expansion.js +250 -0
- package/dist/infrastructure/database/database/migration/migrations/008-arigraph-schema-expansion.js.map +1 -0
- package/dist/infrastructure/database/database/migration/migrations/008-arigraph-schema-expansion.sql +86 -0
- package/dist/infrastructure/logging/triple-extraction-logger.d.ts +92 -0
- package/dist/infrastructure/logging/triple-extraction-logger.d.ts.map +1 -0
- package/dist/infrastructure/logging/triple-extraction-logger.js +194 -0
- package/dist/infrastructure/logging/triple-extraction-logger.js.map +1 -0
- package/dist/infrastructure/scheduler/batch-scheduler.d.ts +57 -0
- package/dist/infrastructure/scheduler/batch-scheduler.d.ts.map +1 -1
- package/dist/infrastructure/scheduler/batch-scheduler.js +220 -0
- package/dist/infrastructure/scheduler/batch-scheduler.js.map +1 -1
- package/dist/infrastructure/scheduler/jobs/triple-extraction-batch-job.d.ts +194 -0
- package/dist/infrastructure/scheduler/jobs/triple-extraction-batch-job.d.ts.map +1 -0
- package/dist/infrastructure/scheduler/jobs/triple-extraction-batch-job.js +639 -0
- package/dist/infrastructure/scheduler/jobs/triple-extraction-batch-job.js.map +1 -0
- package/dist/services/semantic-memory/semantic-memory-statistics.d.ts +64 -0
- package/dist/services/semantic-memory/semantic-memory-statistics.d.ts.map +1 -0
- package/dist/services/semantic-memory/semantic-memory-statistics.js +113 -0
- package/dist/services/semantic-memory/semantic-memory-statistics.js.map +1 -0
- package/dist/services/semantic-memory/semantic-memory-update-service.d.ts +257 -0
- package/dist/services/semantic-memory/semantic-memory-update-service.d.ts.map +1 -0
- package/dist/services/semantic-memory/semantic-memory-update-service.js +696 -0
- package/dist/services/semantic-memory/semantic-memory-update-service.js.map +1 -0
- package/dist/services/triple-extraction/entity-linker.d.ts +55 -0
- package/dist/services/triple-extraction/entity-linker.d.ts.map +1 -0
- package/dist/services/triple-extraction/entity-linker.js +154 -0
- package/dist/services/triple-extraction/entity-linker.js.map +1 -0
- package/dist/services/triple-extraction/predicate-canonicalizer.d.ts +63 -0
- package/dist/services/triple-extraction/predicate-canonicalizer.d.ts.map +1 -0
- package/dist/services/triple-extraction/predicate-canonicalizer.js +166 -0
- package/dist/services/triple-extraction/predicate-canonicalizer.js.map +1 -0
- package/dist/services/triple-extraction/triple-extraction-service.d.ts +181 -0
- package/dist/services/triple-extraction/triple-extraction-service.d.ts.map +1 -0
- package/dist/services/triple-extraction/triple-extraction-service.js +907 -0
- package/dist/services/triple-extraction/triple-extraction-service.js.map +1 -0
- package/dist/services/triple-extraction/triple-extraction-statistics.d.ts +74 -0
- package/dist/services/triple-extraction/triple-extraction-statistics.d.ts.map +1 -0
- package/dist/services/triple-extraction/triple-extraction-statistics.js +146 -0
- package/dist/services/triple-extraction/triple-extraction-statistics.js.map +1 -0
- package/dist/shared/types/index.d.ts +1 -0
- package/dist/shared/types/index.d.ts.map +1 -1
- package/dist/shared/types/index.js.map +1 -1
- package/dist/shared/types/triple-extraction.d.ts +99 -0
- package/dist/shared/types/triple-extraction.d.ts.map +1 -0
- package/dist/shared/types/triple-extraction.js +6 -0
- package/dist/shared/types/triple-extraction.js.map +1 -0
- package/dist/shared/utils/pii-masker.d.ts +67 -0
- package/dist/shared/utils/pii-masker.d.ts.map +1 -0
- package/dist/shared/utils/pii-masker.js +205 -0
- package/dist/shared/utils/pii-masker.js.map +1 -0
- package/dist/shared/utils/prompt-template-loader.d.ts +42 -0
- package/dist/shared/utils/prompt-template-loader.d.ts.map +1 -0
- package/dist/shared/utils/prompt-template-loader.js +92 -0
- package/dist/shared/utils/prompt-template-loader.js.map +1 -0
- package/dist/shared/utils/triple-cache.d.ts +90 -0
- package/dist/shared/utils/triple-cache.d.ts.map +1 -0
- package/dist/shared/utils/triple-cache.js +124 -0
- package/dist/shared/utils/triple-cache.js.map +1 -0
- package/dist/tools/index.d.ts +2 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +3 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/types.d.ts +1 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js +2 -0
- package/dist/tools/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -15,6 +15,8 @@ import { RetryManager } from './retry-manager.js';
|
|
|
15
15
|
import { HealthChecker } from './health-checker.js';
|
|
16
16
|
import { FileLogger } from './file-logger.js';
|
|
17
17
|
import { RelationValidatorExecutor } from './relation-validator-executor.js';
|
|
18
|
+
import { tripleExtractionLogger } from '../logging/triple-extraction-logger.js';
|
|
19
|
+
import { TripleExtractionBatchJob } from './jobs/triple-extraction-batch-job.js';
|
|
18
20
|
export class BatchScheduler {
|
|
19
21
|
config;
|
|
20
22
|
forgettingService;
|
|
@@ -34,6 +36,7 @@ export class BatchScheduler {
|
|
|
34
36
|
healthChecker;
|
|
35
37
|
fileLogger;
|
|
36
38
|
relationValidatorExecutor;
|
|
39
|
+
tripleExtractionBatchJob = null;
|
|
37
40
|
constructor(config, dependencies) {
|
|
38
41
|
this.config = {
|
|
39
42
|
cleanupInterval: 60 * 60 * 1000, // 1시간
|
|
@@ -45,6 +48,11 @@ export class BatchScheduler {
|
|
|
45
48
|
relationValidationInterval: 7 * 24 * 60 * 60 * 1000, // 7일
|
|
46
49
|
relationValidationDayOfWeek: 0, // 일요일
|
|
47
50
|
relationValidationHour: 2, // 새벽 2시
|
|
51
|
+
logRotationInterval: 24 * 60 * 60 * 1000, // 24시간 (매일)
|
|
52
|
+
tripleExtractionInterval: 60 * 60 * 1000, // 1시간
|
|
53
|
+
tripleExtractionHour: undefined, // 시간 지정 안 함 (간격 기반 실행)
|
|
54
|
+
tripleExtractionBatchSize: 10, // 배치 크기 10개
|
|
55
|
+
tripleExtractionTimeout: 30 * 1000, // 30초
|
|
48
56
|
maxBatchSize: 1000,
|
|
49
57
|
enableLogging: true,
|
|
50
58
|
enableNotifications: false,
|
|
@@ -126,6 +134,10 @@ export class BatchScheduler {
|
|
|
126
134
|
}
|
|
127
135
|
// 주간 관계 추출 품질 검증 작업 스케줄링
|
|
128
136
|
this.scheduleWeeklyRelationValidation();
|
|
137
|
+
// 로그 로테이션 작업 스케줄링
|
|
138
|
+
this.scheduleJob('log_rotation', this.config.logRotationInterval, async () => { await this.runLogRotation(); }, 5);
|
|
139
|
+
// Triple 추출 배치 작업 스케줄링 (PRD 6.1)
|
|
140
|
+
this.scheduleTripleExtractionBatch();
|
|
129
141
|
// 작업 큐 처리 시작
|
|
130
142
|
this.startJobProcessor();
|
|
131
143
|
this.log('BatchScheduler started', {
|
|
@@ -188,6 +200,19 @@ export class BatchScheduler {
|
|
|
188
200
|
if (this.config.jobTimeout < 1000) {
|
|
189
201
|
throw new Error('jobTimeout must be at least 1 second');
|
|
190
202
|
}
|
|
203
|
+
if (this.config.tripleExtractionInterval < 60000) {
|
|
204
|
+
throw new Error('tripleExtractionInterval must be at least 1 minute');
|
|
205
|
+
}
|
|
206
|
+
if (this.config.tripleExtractionHour !== undefined &&
|
|
207
|
+
(this.config.tripleExtractionHour < 0 || this.config.tripleExtractionHour > 23)) {
|
|
208
|
+
throw new Error('tripleExtractionHour must be between 0 and 23');
|
|
209
|
+
}
|
|
210
|
+
if (this.config.tripleExtractionBatchSize < 1) {
|
|
211
|
+
throw new Error('tripleExtractionBatchSize must be at least 1');
|
|
212
|
+
}
|
|
213
|
+
if (this.config.tripleExtractionTimeout < 1000) {
|
|
214
|
+
throw new Error('tripleExtractionTimeout must be at least 1 second');
|
|
215
|
+
}
|
|
191
216
|
// weeklyRelationValidationTimeout 검증 (설정된 경우에만)
|
|
192
217
|
if (this.config.weeklyRelationValidationTimeout !== undefined) {
|
|
193
218
|
if (typeof this.config.weeklyRelationValidationTimeout !== 'number' ||
|
|
@@ -295,10 +320,28 @@ export class BatchScheduler {
|
|
|
295
320
|
/**
|
|
296
321
|
* 큐에 작업 추가 (중복 방지 포함)
|
|
297
322
|
* 동일 이름의 잡이 이미 큐에 있거나 실행 중이면 추가하지 않음
|
|
323
|
+
*
|
|
324
|
+
* PRD 6.2: 기존 배치 작업과 충돌 방지
|
|
325
|
+
* - 중복 방지: 동일 이름의 작업이 이미 큐에 있거나 실행 중이면 추가하지 않음
|
|
326
|
+
* - Triple 추출 배치 작업도 이 메커니즘을 통해 중복 실행 방지
|
|
327
|
+
* - 우선순위 기반 큐 관리로 중요한 작업 우선 처리
|
|
298
328
|
*/
|
|
299
329
|
addJobToQueue(name, job, priority, retryCount = 0) {
|
|
300
330
|
return this.jobQueue.add(name, job, priority, retryCount);
|
|
301
331
|
}
|
|
332
|
+
/**
|
|
333
|
+
* 외부에서 작업을 큐에 추가하는 public 메서드
|
|
334
|
+
* AriGraph Pipeline 등 외부 컴포넌트에서 사용
|
|
335
|
+
*
|
|
336
|
+
* @param name 작업 이름 (고유 식별자)
|
|
337
|
+
* @param job 실행할 작업 함수
|
|
338
|
+
* @param priority 우선순위 (낮을수록 높은 우선순위, 기본값: 10)
|
|
339
|
+
* @param retryCount 재시도 횟수 (기본값: 0)
|
|
340
|
+
* @returns 추가 성공 여부
|
|
341
|
+
*/
|
|
342
|
+
addJob(name, job, priority = 10, retryCount = 0) {
|
|
343
|
+
return this.addJobToQueue(name, job, priority, retryCount);
|
|
344
|
+
}
|
|
302
345
|
/**
|
|
303
346
|
* 작업 스케줄링
|
|
304
347
|
* 시작 시 maxConcurrentJobs를 보장하기 위해 무조건 큐를 통해 실행
|
|
@@ -319,9 +362,16 @@ export class BatchScheduler {
|
|
|
319
362
|
/**
|
|
320
363
|
* 작업 큐 처리기 시작
|
|
321
364
|
* 재시도 큐에서도 동일한 래퍼(타임아웃+상태 관리)를 사용하도록 수정
|
|
365
|
+
*
|
|
366
|
+
* PRD 6.2: 기존 배치 작업과 충돌 방지
|
|
367
|
+
* - maxConcurrentJobs 설정을 통해 동시 실행 작업 수 제한
|
|
368
|
+
* - Triple 추출 배치 작업도 이 제한에 포함되어 다른 배치 작업과 충돌 방지
|
|
369
|
+
* - 우선순위 기반 실행으로 중요한 작업 우선 처리
|
|
322
370
|
*/
|
|
323
371
|
startJobProcessor() {
|
|
324
372
|
const processQueue = async () => {
|
|
373
|
+
// PRD 6.2: maxConcurrentJobs 제한으로 충돌 방지
|
|
374
|
+
// Triple 추출 배치 작업도 이 제한에 포함되어 다른 배치 작업과 동시 실행 방지
|
|
325
375
|
if (this.jobQueue.isEmpty || this.jobQueue.runningCount >= this.config.maxConcurrentJobs) {
|
|
326
376
|
return;
|
|
327
377
|
}
|
|
@@ -971,6 +1021,176 @@ export class BatchScheduler {
|
|
|
971
1021
|
this.log('Scheduler health check failed', { error: error instanceof Error ? error.message : String(error) }, 'error');
|
|
972
1022
|
}
|
|
973
1023
|
}
|
|
1024
|
+
/**
|
|
1025
|
+
* Triple 추출 배치 작업 실행
|
|
1026
|
+
*
|
|
1027
|
+
* PRD 6.1: 주기적 배치 실행
|
|
1028
|
+
* - 대상: triple_extracted=false 또는 null인 Episodic Memory
|
|
1029
|
+
* - 재시도 정책 적용 (최대 시도 횟수 확인)
|
|
1030
|
+
* - abandoned 상태는 제외
|
|
1031
|
+
*/
|
|
1032
|
+
async runTripleExtractionBatch() {
|
|
1033
|
+
const startTime = new Date();
|
|
1034
|
+
const result = {
|
|
1035
|
+
jobType: 'triple_extraction_batch',
|
|
1036
|
+
startTime,
|
|
1037
|
+
endTime: new Date(),
|
|
1038
|
+
duration: 0,
|
|
1039
|
+
success: false,
|
|
1040
|
+
processed: 0,
|
|
1041
|
+
errors: [],
|
|
1042
|
+
warnings: []
|
|
1043
|
+
};
|
|
1044
|
+
try {
|
|
1045
|
+
if (!this.db) {
|
|
1046
|
+
throw new Error('Database not initialized');
|
|
1047
|
+
}
|
|
1048
|
+
// TripleExtractionBatchJob 초기화 (아직 초기화되지 않은 경우)
|
|
1049
|
+
if (!this.tripleExtractionBatchJob) {
|
|
1050
|
+
this.tripleExtractionBatchJob = new TripleExtractionBatchJob({
|
|
1051
|
+
batchSize: this.config.tripleExtractionBatchSize,
|
|
1052
|
+
timeout: this.config.tripleExtractionTimeout,
|
|
1053
|
+
chunkSize: 5, // SQLite WAL 환경 고려
|
|
1054
|
+
chunkDelayMs: 100 // 청크 사이 지연
|
|
1055
|
+
});
|
|
1056
|
+
}
|
|
1057
|
+
// 배치 작업 실행
|
|
1058
|
+
const batchResult = await this.tripleExtractionBatchJob.execute(this.db);
|
|
1059
|
+
// 결과 반영
|
|
1060
|
+
result.success = batchResult.success;
|
|
1061
|
+
result.processed = batchResult.processed;
|
|
1062
|
+
result.errors = batchResult.errors;
|
|
1063
|
+
result.warnings = batchResult.warnings;
|
|
1064
|
+
result.details = batchResult.details;
|
|
1065
|
+
// 실행 기록 업데이트
|
|
1066
|
+
this.lastExecution.set('triple_extraction_batch', new Date());
|
|
1067
|
+
this.totalExecutions.set('triple_extraction_batch', (this.totalExecutions.get('triple_extraction_batch') || 0) + 1);
|
|
1068
|
+
this.log('Triple extraction batch job completed', {
|
|
1069
|
+
processed: batchResult.details.processed,
|
|
1070
|
+
success: batchResult.details.success,
|
|
1071
|
+
failed: batchResult.details.failed,
|
|
1072
|
+
semanticMemoriesCreated: batchResult.details.semanticMemoriesCreated,
|
|
1073
|
+
semanticMemoriesUpdated: batchResult.details.semanticMemoriesUpdated
|
|
1074
|
+
});
|
|
1075
|
+
}
|
|
1076
|
+
catch (error) {
|
|
1077
|
+
result.errors.push(error instanceof Error ? error.message : String(error));
|
|
1078
|
+
this.log('Triple extraction batch job failed:', error, 'error');
|
|
1079
|
+
}
|
|
1080
|
+
finally {
|
|
1081
|
+
result.endTime = new Date();
|
|
1082
|
+
result.duration = result.endTime.getTime() - result.startTime.getTime();
|
|
1083
|
+
}
|
|
1084
|
+
return result;
|
|
1085
|
+
}
|
|
1086
|
+
/**
|
|
1087
|
+
* Triple 추출 배치 작업 스케줄링
|
|
1088
|
+
*
|
|
1089
|
+
* PRD 6.1: 주기적 배치 실행
|
|
1090
|
+
* - 주기: 매일 새벽 2시 (설정 가능, tripleExtractionInterval, tripleExtractionHour 설정)
|
|
1091
|
+
* - tripleExtractionHour가 지정된 경우 해당 시간에만 실행
|
|
1092
|
+
* - tripleExtractionHour가 지정되지 않은 경우 interval마다 실행
|
|
1093
|
+
*
|
|
1094
|
+
* PRD 6.2: 기존 배치 작업과 충돌 방지
|
|
1095
|
+
* - BatchScheduler의 maxConcurrentJobs 설정 고려
|
|
1096
|
+
* - Triple 추출 배치 작업은 다른 배치 작업과 동시 실행되지 않도록 스케줄링
|
|
1097
|
+
* - Triple Extraction Job은 독립적인 작업 큐로 관리
|
|
1098
|
+
* - 우선순위 6 설정 (로그 로테이션 다음, 다른 중요 작업보다 낮은 우선순위)
|
|
1099
|
+
* - JobQueue를 통해 실행하여 maxConcurrentJobs 제한 및 중복 방지 적용
|
|
1100
|
+
*/
|
|
1101
|
+
scheduleTripleExtractionBatch() {
|
|
1102
|
+
if (this.config.tripleExtractionHour !== undefined) {
|
|
1103
|
+
// 특정 시간에만 실행 (예: 매일 새벽 2시)
|
|
1104
|
+
// PRD 6.1: 주기: 매일 새벽 2시 (설정 가능)
|
|
1105
|
+
// scheduleConsolidationScoreFullSweep()와 동일한 패턴 사용
|
|
1106
|
+
const checkAndRun = () => {
|
|
1107
|
+
const now = new Date();
|
|
1108
|
+
const currentHour = now.getHours();
|
|
1109
|
+
// 지정된 시간에 실행
|
|
1110
|
+
if (currentHour === this.config.tripleExtractionHour) {
|
|
1111
|
+
// 이미 오늘 실행했는지 확인 (lastExecution 체크)
|
|
1112
|
+
const lastExecution = this.lastExecution.get('triple_extraction_batch');
|
|
1113
|
+
const today = new Date(now.getFullYear(), now.getMonth(), now.getDate());
|
|
1114
|
+
if (!lastExecution || lastExecution < today) {
|
|
1115
|
+
// 큐를 통해 실행하여 maxConcurrentJobs, 타임아웃, 재시도, lastExecution 기록이 적용되도록 함 (중복 방지 포함)
|
|
1116
|
+
this.addJobToQueue('triple_extraction_batch', async () => { await this.runTripleExtractionBatch(); }, 6, // 우선순위 6 (로그 로테이션 다음)
|
|
1117
|
+
0);
|
|
1118
|
+
}
|
|
1119
|
+
}
|
|
1120
|
+
};
|
|
1121
|
+
// 매 시간마다 체크 (config 기반 간격 사용)
|
|
1122
|
+
const checkInterval = 60 * 60 * 1000; // 1시간마다 체크
|
|
1123
|
+
const intervalId = setInterval(checkAndRun, checkInterval);
|
|
1124
|
+
// intervals Map에 저장하여 stop()에서 정리 가능하도록 함
|
|
1125
|
+
this.intervals.set('triple_extraction_batch', intervalId);
|
|
1126
|
+
// 즉시 한 번 체크 (현재 시간이 지정된 시간이면 실행)
|
|
1127
|
+
checkAndRun();
|
|
1128
|
+
}
|
|
1129
|
+
else {
|
|
1130
|
+
// interval마다 실행 (기본: 1시간마다)
|
|
1131
|
+
// PRD 6.1: 주기: 매일 새벽 2시 (설정 가능, tripleExtractionInterval)
|
|
1132
|
+
// PRD 6.2: 기존 배치 작업과 충돌 방지
|
|
1133
|
+
// scheduleJob()은 내부적으로 addJobToQueue()를 사용하여 maxConcurrentJobs 제한 및 중복 방지 적용
|
|
1134
|
+
// 우선순위 6 설정: 로그 로테이션(5) 다음, 다른 중요 작업보다 낮은 우선순위
|
|
1135
|
+
this.scheduleJob('triple_extraction_batch', this.config.tripleExtractionInterval, async () => { await this.runTripleExtractionBatch(); }, 6 // 우선순위 6 (로그 로테이션 다음, 다른 중요 작업보다 낮은 우선순위)
|
|
1136
|
+
);
|
|
1137
|
+
}
|
|
1138
|
+
}
|
|
1139
|
+
/**
|
|
1140
|
+
* 로그 로테이션 실행
|
|
1141
|
+
* 30일 이상 된 Triple 추출 로그 파일을 삭제합니다.
|
|
1142
|
+
*/
|
|
1143
|
+
async runLogRotation() {
|
|
1144
|
+
const startTime = new Date();
|
|
1145
|
+
const errors = [];
|
|
1146
|
+
const warnings = [];
|
|
1147
|
+
let deletedCount = 0;
|
|
1148
|
+
try {
|
|
1149
|
+
this.log('Starting log rotation...', { jobType: 'log_rotation' });
|
|
1150
|
+
// Triple 추출 로그 파일 정리 (30일 이상 된 파일 삭제)
|
|
1151
|
+
deletedCount = await tripleExtractionLogger.deleteOldLogs(30);
|
|
1152
|
+
this.log('Log rotation completed', {
|
|
1153
|
+
jobType: 'log_rotation',
|
|
1154
|
+
deletedFiles: deletedCount
|
|
1155
|
+
});
|
|
1156
|
+
if (deletedCount > 0) {
|
|
1157
|
+
this.log(`Deleted ${deletedCount} old log file(s)`, {
|
|
1158
|
+
jobType: 'log_rotation',
|
|
1159
|
+
retentionDays: 30
|
|
1160
|
+
});
|
|
1161
|
+
}
|
|
1162
|
+
const endTime = new Date();
|
|
1163
|
+
return {
|
|
1164
|
+
jobType: 'log_rotation',
|
|
1165
|
+
startTime,
|
|
1166
|
+
endTime,
|
|
1167
|
+
duration: endTime.getTime() - startTime.getTime(),
|
|
1168
|
+
success: true,
|
|
1169
|
+
processed: deletedCount,
|
|
1170
|
+
errors,
|
|
1171
|
+
warnings
|
|
1172
|
+
};
|
|
1173
|
+
}
|
|
1174
|
+
catch (error) {
|
|
1175
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
1176
|
+
errors.push(errorMessage);
|
|
1177
|
+
this.log('Log rotation failed', {
|
|
1178
|
+
jobType: 'log_rotation',
|
|
1179
|
+
error: errorMessage
|
|
1180
|
+
}, 'error');
|
|
1181
|
+
const endTime = new Date();
|
|
1182
|
+
return {
|
|
1183
|
+
jobType: 'log_rotation',
|
|
1184
|
+
startTime,
|
|
1185
|
+
endTime,
|
|
1186
|
+
duration: endTime.getTime() - startTime.getTime(),
|
|
1187
|
+
success: false,
|
|
1188
|
+
processed: deletedCount,
|
|
1189
|
+
errors,
|
|
1190
|
+
warnings
|
|
1191
|
+
};
|
|
1192
|
+
}
|
|
1193
|
+
}
|
|
974
1194
|
/**
|
|
975
1195
|
* 스케줄러 통계 조회
|
|
976
1196
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-scheduler.js","sourceRoot":"","sources":["../../../src/infrastructure/scheduler/batch-scheduler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"batch-scheduler.js","sourceRoot":"","sources":["../../../src/infrastructure/scheduler/batch-scheduler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Triple 추출 배치 작업
|
|
3
|
+
*
|
|
4
|
+
* 미처리 또는 실패한 Episodic Memory에 대해 Triple 추출을 수행하는 배치 작업입니다.
|
|
5
|
+
*
|
|
6
|
+
* 주요 기능:
|
|
7
|
+
* - 미처리 Episodic Memory 조회
|
|
8
|
+
* - Triple 추출 및 Semantic Memory 생성
|
|
9
|
+
* - 재시도 정책 적용 (최대 3회, 지수 백오프: 1일, 2일, 4일)
|
|
10
|
+
* - 상태 업데이트 (성공/실패/abandoned)
|
|
11
|
+
* - 로깅 및 통계 수집
|
|
12
|
+
*
|
|
13
|
+
* 재시도 정책:
|
|
14
|
+
* - 최대 시도 횟수: 3회 (설정 가능)
|
|
15
|
+
* - 지수 백오프: 1일, 2일, 4일 후 재시도
|
|
16
|
+
* - 즉각 재시도 금지: LLM 호출 실패 시 바로 재시도하지 않음 (비용 절감)
|
|
17
|
+
* - 지연 재시도: 배치 작업에서 실패한 항목을 다음 배치에서 재시도
|
|
18
|
+
* - 최대 시도 횟수 초과 시: abandoned 상태로 설정하여 재시도 중단
|
|
19
|
+
*/
|
|
20
|
+
import Database from 'better-sqlite3';
|
|
21
|
+
import { TripleExtractionService } from '../../../services/triple-extraction/triple-extraction-service.js';
|
|
22
|
+
import { SemanticMemoryUpdateService } from '../../../services/semantic-memory/semantic-memory-update-service.js';
|
|
23
|
+
import type { BatchJobResult } from '../batch-scheduler.js';
|
|
24
|
+
/**
|
|
25
|
+
* Triple 추출 배치 작업 설정
|
|
26
|
+
*/
|
|
27
|
+
export interface TripleExtractionBatchJobConfig {
|
|
28
|
+
/**
|
|
29
|
+
* 배치 크기 (한 번에 처리할 최대 메모리 수)
|
|
30
|
+
* 기본값: 10
|
|
31
|
+
*/
|
|
32
|
+
batchSize?: number;
|
|
33
|
+
/**
|
|
34
|
+
* 작업 타임아웃 (밀리초)
|
|
35
|
+
* 기본값: 30000 (30초)
|
|
36
|
+
*/
|
|
37
|
+
timeout?: number;
|
|
38
|
+
/**
|
|
39
|
+
* 최대 재시도 횟수
|
|
40
|
+
* 기본값: 3
|
|
41
|
+
*/
|
|
42
|
+
maxRetries?: number;
|
|
43
|
+
/**
|
|
44
|
+
* 재시도 백오프 간격 (일 단위)
|
|
45
|
+
* 기본값: [1, 2, 4] (1일, 2일, 4일)
|
|
46
|
+
*/
|
|
47
|
+
retryBackoffDays?: number[];
|
|
48
|
+
/**
|
|
49
|
+
* SQLite WAL 환경 고려: 청크 크기 (작은 단위로 나누어 처리하여 Lock 충돌 방지)
|
|
50
|
+
* 기본값: 5 (한 번에 5개씩 처리)
|
|
51
|
+
*/
|
|
52
|
+
chunkSize?: number;
|
|
53
|
+
/**
|
|
54
|
+
* SQLite WAL 환경 고려: 청크 처리 사이 지연 시간 (밀리초)
|
|
55
|
+
* 기본값: 100 (0.1초)
|
|
56
|
+
*/
|
|
57
|
+
chunkDelayMs?: number;
|
|
58
|
+
/**
|
|
59
|
+
* 병렬성 제어 (동시 실행 배치 수)
|
|
60
|
+
* 기본값: 1 (싱글톤 배치 작업)
|
|
61
|
+
*/
|
|
62
|
+
parallelism?: number;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Triple 추출 배치 작업 결과
|
|
66
|
+
*/
|
|
67
|
+
export interface TripleExtractionBatchResult extends BatchJobResult {
|
|
68
|
+
details: {
|
|
69
|
+
processed: number;
|
|
70
|
+
success: number;
|
|
71
|
+
failed: number;
|
|
72
|
+
skipped: number;
|
|
73
|
+
semanticMemoriesCreated: number;
|
|
74
|
+
semanticMemoriesUpdated: number;
|
|
75
|
+
retryCounts: Map<string, number>;
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* 타임아웃 발생 여부
|
|
79
|
+
* 타임아웃이 발생하여 작업이 중단된 경우 true
|
|
80
|
+
*/
|
|
81
|
+
timeoutOccurred?: boolean;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Triple 추출 배치 작업 클래스
|
|
85
|
+
*/
|
|
86
|
+
export declare class TripleExtractionBatchJob {
|
|
87
|
+
private config;
|
|
88
|
+
private tripleExtractionService;
|
|
89
|
+
private semanticMemoryUpdateService;
|
|
90
|
+
constructor(config?: TripleExtractionBatchJobConfig, dependencies?: {
|
|
91
|
+
tripleExtractionService?: TripleExtractionService;
|
|
92
|
+
semanticMemoryUpdateService?: SemanticMemoryUpdateService;
|
|
93
|
+
});
|
|
94
|
+
/**
|
|
95
|
+
* 배치 작업 실행
|
|
96
|
+
*
|
|
97
|
+
* PRD 6.2 배치 처리 최적화:
|
|
98
|
+
* - 배치 크기: 10개씩 처리 (설정 가능)
|
|
99
|
+
* - 타임아웃: 배치당 최대 30초 (설정 가능)
|
|
100
|
+
* - 병렬성 제어: Parallelism = 1 (동시에 하나의 배치만 실행)
|
|
101
|
+
*
|
|
102
|
+
* @param db 데이터베이스 연결
|
|
103
|
+
* @returns 배치 작업 결과
|
|
104
|
+
*/
|
|
105
|
+
execute(db: Database.Database): Promise<TripleExtractionBatchResult>;
|
|
106
|
+
/**
|
|
107
|
+
* 메모리 배열을 청크로 분할
|
|
108
|
+
*
|
|
109
|
+
* SQLite WAL 환경 고려: 작은 단위로 나누어 처리하여 Lock 충돌 방지
|
|
110
|
+
*
|
|
111
|
+
* @param memories 메모리 배열
|
|
112
|
+
* @param chunkSize 청크 크기
|
|
113
|
+
* @returns 청크 배열
|
|
114
|
+
*/
|
|
115
|
+
private splitIntoChunks;
|
|
116
|
+
/**
|
|
117
|
+
* 청크 단위 처리
|
|
118
|
+
*
|
|
119
|
+
* SQLite WAL 환경 고려: 작은 트랜잭션으로 처리하여 Lock 충돌 방지
|
|
120
|
+
* 각 메모리 처리는 개별적으로 처리되며, SQLITE_BUSY 오류 발생 시 재시도
|
|
121
|
+
*
|
|
122
|
+
* PRD 6.2 배치 처리 최적화:
|
|
123
|
+
* - 타임아웃 체크: 배치당 최대 30초
|
|
124
|
+
* - 병렬성 제어: 순차 처리 (parallelism=1)
|
|
125
|
+
*
|
|
126
|
+
* @param db 데이터베이스 연결
|
|
127
|
+
* @param chunk 청크 (메모리 배열)
|
|
128
|
+
* @param overallResult 전체 결과 객체 (로깅용)
|
|
129
|
+
* @param timeoutDeadline 타임아웃 데드라인 (타임스탬프)
|
|
130
|
+
* @returns 청크 처리 결과
|
|
131
|
+
*/
|
|
132
|
+
private processChunk;
|
|
133
|
+
/**
|
|
134
|
+
* 배치 작업 대상 조회
|
|
135
|
+
*
|
|
136
|
+
* @param db 데이터베이스 연결
|
|
137
|
+
* @param limit 최대 조회 개수
|
|
138
|
+
* @returns 대상 Episodic Memory 목록 (재시도 정책 적용)
|
|
139
|
+
*/
|
|
140
|
+
private getTargetMemories;
|
|
141
|
+
/**
|
|
142
|
+
* 재시도 정책 확인
|
|
143
|
+
*
|
|
144
|
+
* @param memory Episodic Memory (triple_extraction_metadata 포함)
|
|
145
|
+
* @param now 현재 시간
|
|
146
|
+
* @returns 재시도 가능 여부
|
|
147
|
+
*/
|
|
148
|
+
private shouldRetry;
|
|
149
|
+
/**
|
|
150
|
+
* 재시도 횟수 조회
|
|
151
|
+
*
|
|
152
|
+
* @param memory Episodic Memory (triple_extraction_metadata 포함)
|
|
153
|
+
* @returns 재시도 횟수
|
|
154
|
+
*/
|
|
155
|
+
private getRetryCount;
|
|
156
|
+
/**
|
|
157
|
+
* 메모리 상태 업데이트
|
|
158
|
+
*
|
|
159
|
+
* PRD 1.4 재시도 종료 조건 및 필드 조합 규칙에 따라 상태를 업데이트합니다.
|
|
160
|
+
*
|
|
161
|
+
* 상태 전이 규칙:
|
|
162
|
+
* - 성공 시: triple_extracted=true, triple_extracted_status='success', 이전 실패 기록 초기화
|
|
163
|
+
* - 최대 시도 횟수 초과 시: triple_extracted=false, triple_extracted_status='abandoned', 재시도 중단
|
|
164
|
+
* - 재시도 가능 시: triple_extracted=false, triple_extracted_status='failed', 재시도 정보 저장
|
|
165
|
+
*
|
|
166
|
+
* 필드 조합 규칙 (PRD 1.4):
|
|
167
|
+
* | triple_extracted | triple_extracted_status | 의미 |
|
|
168
|
+
* | ---------------- | ----------------------- | ---- |
|
|
169
|
+
* | NULL | NULL | 미처리 |
|
|
170
|
+
* | true | 'success' | 성공 |
|
|
171
|
+
* | false | 'failed' | 실패 (재시도 가능) |
|
|
172
|
+
* | false | 'abandoned' | 포기 (수동 재시도 필요) |
|
|
173
|
+
* | false | NULL | 미처리 또는 초기 상태 |
|
|
174
|
+
*
|
|
175
|
+
* 이 메서드는 필드 조합 규칙을 준수하여 triple_extracted와 triple_extracted_status를 동기화합니다.
|
|
176
|
+
*
|
|
177
|
+
* @param db 데이터베이스 연결
|
|
178
|
+
* @param memoryId 메모리 ID
|
|
179
|
+
* @param status 상태 ('success' | 'failed' | 'abandoned')
|
|
180
|
+
* @param metadata 메타데이터
|
|
181
|
+
*/
|
|
182
|
+
private updateMemoryStatus;
|
|
183
|
+
/**
|
|
184
|
+
* 평균 Confidence 계산
|
|
185
|
+
*
|
|
186
|
+
* memory_relation 테이블에서 해당 Episodic Memory에서 생성된 모든 관계의 confidence 값을 수집하여 평균 계산
|
|
187
|
+
*
|
|
188
|
+
* @param db 데이터베이스 연결
|
|
189
|
+
* @param episodicMemoryId Episodic Memory ID
|
|
190
|
+
* @returns 평균 Confidence (0.0~1.0), 관계가 없으면 null
|
|
191
|
+
*/
|
|
192
|
+
private calculateAverageConfidence;
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=triple-extraction-batch-job.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"triple-extraction-batch-job.d.ts","sourceRoot":"","sources":["../../../../src/infrastructure/scheduler/jobs/triple-extraction-batch-job.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,kEAAkE,CAAC;AAC3G,OAAO,EAAE,2BAA2B,EAAE,MAAM,qEAAqE,CAAC;AAElH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA4B,SAAQ,cAAc;IACjE,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,uBAAuB,EAAE,MAAM,CAAC;QAChC,uBAAuB,EAAE,MAAM,CAAC;QAChC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC,CAAC;IACF;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,MAAM,CAA2C;IACzD,OAAO,CAAC,uBAAuB,CAA0B;IACzD,OAAO,CAAC,2BAA2B,CAA4C;gBAG7E,MAAM,CAAC,EAAE,8BAA8B,EACvC,YAAY,CAAC,EAAE;QACb,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;QAClD,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;KAC3D;IAiBH;;;;;;;;;;OAUG;IACG,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAsP1E;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAQvB;;;;;;;;;;;;;;;OAeG;YACW,YAAY;IA8K1B;;;;;;OAMG;YACW,iBAAiB;IA8D/B;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAiDnB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAoBrB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;YACW,kBAAkB;IA4ChC;;;;;;;;OAQG;YACW,0BAA0B;CAmCzC"}
|