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
@@ -5,6 +5,11 @@
5
5
  */
6
6
  import Database from 'better-sqlite3';
7
7
  import { ReflexionWorker } from '../reflexion-worker.js';
8
+ import { JobQueue } from './job-queue.js';
9
+ import { RetryManager } from './retry-manager.js';
10
+ import { HealthChecker } from './health-checker.js';
11
+ import { FileLogger } from './file-logger.js';
12
+ import { RelationValidatorExecutor } from './relation-validator-executor.js';
8
13
  export interface BatchJobConfig {
9
14
  cleanupInterval: number;
10
15
  monitoringInterval: number;
@@ -23,6 +28,15 @@ export interface BatchJobConfig {
23
28
  jobTimeout: number;
24
29
  retryAttempts: number;
25
30
  retryDelay: number;
31
+ /**
32
+ * 주간 관계 검증 타임아웃 (밀리초)
33
+ * - 기본값: jobTimeout 사용
34
+ * - 최소값: 1초 (1000ms)
35
+ * - 권장값: 주간 검증은 오래 걸릴 수 있으므로 최소 5분(300000ms) 이상 권장
36
+ * - 운영 환경: 10분(600000ms) 이상 권장
37
+ * - 테스트/데브 환경: 짧게 설정 가능 (최소 1초)
38
+ */
39
+ weeklyRelationValidationTimeout?: number;
26
40
  }
27
41
  export interface BatchJobResult {
28
42
  jobType: string;
@@ -57,11 +71,19 @@ export declare class BatchScheduler {
57
71
  private startTime;
58
72
  private lastExecution;
59
73
  private totalExecutions;
60
- private errorCount;
61
- private runningJobs;
62
- private jobQueue;
63
74
  private jobProcessorInterval;
64
- constructor(config?: Partial<BatchJobConfig>);
75
+ private jobQueue;
76
+ private retryManager;
77
+ private healthChecker;
78
+ private fileLogger;
79
+ private relationValidatorExecutor;
80
+ constructor(config?: Partial<BatchJobConfig>, dependencies?: {
81
+ jobQueue?: JobQueue;
82
+ retryManager?: RetryManager;
83
+ healthChecker?: HealthChecker;
84
+ fileLogger?: FileLogger;
85
+ relationValidatorExecutor?: RelationValidatorExecutor;
86
+ });
65
87
  /**
66
88
  * 스케줄러 시작
67
89
  * @param db 데이터베이스 인스턴스
@@ -70,18 +92,38 @@ export declare class BatchScheduler {
70
92
  start(db: Database.Database, reflexionWorker?: ReflexionWorker): Promise<void>;
71
93
  /**
72
94
  * 스케줄러 중지
95
+ * 재시작 시 의도하지 않은 배치 실행과 상태 오염을 방지하기 위해 큐를 비움
73
96
  */
74
97
  stop(): Promise<void>;
75
98
  /**
76
99
  * 설정 검증
77
100
  */
78
101
  private validateConfig;
102
+ /**
103
+ * 작업 실행 래퍼 (타임아웃, 상태 관리, 재시도 포함)
104
+ * 재시도 큐에서도 동일한 래퍼를 사용하여 타임아웃/상태 관리가 적용되도록 함
105
+ *
106
+ * @param name 작업 이름
107
+ * @param job 실행할 작업 함수
108
+ * @param priority 우선순위 (재시도 시 사용)
109
+ * @param initialRetryCount 초기 재시도 횟수 (기본값: 0)
110
+ * @returns 실행 결과
111
+ */
112
+ private executeJobWithRetry;
113
+ /**
114
+ * 큐에 작업 추가 (중복 방지 포함)
115
+ * 동일 이름의 잡이 이미 큐에 있거나 실행 중이면 추가하지 않음
116
+ */
117
+ private addJobToQueue;
79
118
  /**
80
119
  * 작업 스케줄링
120
+ * 시작 시 maxConcurrentJobs를 보장하기 위해 무조건 큐를 통해 실행
121
+ * 여러 작업이 동시에 시작될 때 race condition을 방지하기 위함
81
122
  */
82
123
  private scheduleJob;
83
124
  /**
84
125
  * 작업 큐 처리기 시작
126
+ * 재시도 큐에서도 동일한 래퍼(타임아웃+상태 관리)를 사용하도록 수정
85
127
  */
86
128
  private startJobProcessor;
87
129
  /**
@@ -111,14 +153,17 @@ export declare class BatchScheduler {
111
153
  /**
112
154
  * Consolidation Score 전체 스윕 작업 스케줄링
113
155
  * 지정된 시간에 하루 1회 실행
156
+ * 큐를 통해 실행하여 maxConcurrentJobs, 타임아웃, 재시도, lastExecution 기록이 적용되도록 함
114
157
  */
115
158
  private scheduleConsolidationScoreFullSweep;
116
159
  /**
117
160
  * 주간 관계 추출 품질 검증 작업 스케줄링
161
+ * 큐를 통해 실행하여 maxConcurrentJobs, 타임아웃, 재시도, lastExecution 기록이 적용되도록 함
118
162
  */
119
163
  private scheduleWeeklyRelationValidation;
120
164
  /**
121
165
  * 주간 관계 추출 품질 검증 실행
166
+ * 타임아웃 및 강제 종료 로직 포함
122
167
  */
123
168
  private runWeeklyRelationValidation;
124
169
  /**
@@ -131,12 +176,9 @@ export declare class BatchScheduler {
131
176
  private getDatabaseStats;
132
177
  /**
133
178
  * 로깅
179
+ * data 객체에 level 속성이 있으면 이를 우선적으로 사용하여 호출부의 편의성을 높임
134
180
  */
135
181
  private log;
136
- /**
137
- * 파일 로깅 (에러 로그)
138
- */
139
- private logToFile;
140
182
  /**
141
183
  * 밀리초를 사람이 읽기 쉬운 형태로 변환
142
184
  * @param milliseconds 밀리초
@@ -145,6 +187,7 @@ export declare class BatchScheduler {
145
187
  private formatUptime;
146
188
  /**
147
189
  * 수동으로 작업 실행
190
+ * 직접 실행하되 lastExecution과 totalExecutions을 기록함
148
191
  */
149
192
  runJob(jobType: 'cleanup' | 'monitoring' | 'healthcheck'): Promise<BatchJobResult>;
150
193
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"batch-scheduler.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/scheduler/batch-scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch-scheduler.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/scheduler/batch-scheduler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,MAAM,WAAW,cAAc;IAE7B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qCAAqC,EAAE,MAAM,CAAC;IAC9C,mCAAmC,EAAE,MAAM,CAAC;IAC5C,+BAA+B,EAAE,MAAM,CAAC;IACxC,0BAA0B,EAAE,MAAM,CAAC;IACnC,2BAA2B,EAAE,MAAM,CAAC;IACpC,sBAAsB,EAAE,MAAM,CAAC;IAG/B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;IAGvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,+BAA+B,CAAC,EAAE,MAAM,CAAC;CAC1C;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,kBAAkB,CAA2C;IACrE,OAAO,CAAC,wBAAwB,CAAyC;IACzE,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,EAAE,CAAkC;IAC5C,OAAO,CAAC,SAAS,CAA0D;IAC3E,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,oBAAoB,CAA+C;IAG3E,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,yBAAyB,CAA4B;gBAG3D,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EAChC,YAAY,CAAC,EAAE;QACb,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;QAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;QACxB,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;KACvD;IAmDH;;;;OAIG;IACG,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAoEpF;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAuC3B;;OAEG;IACH,OAAO,CAAC,cAAc;IA6BtB;;;;;;;;;OASG;YACW,mBAAmB;IAiGjC;;;OAGG;IACH,OAAO,CAAC,aAAa;IAIrB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAenB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;OAEG;YACW,kBAAkB;IAShC;;OAEG;YACW,kBAAkB;IAchC;;OAEG;YACW,gBAAgB;IAoD9B;;OAEG;YACW,aAAa;IAgE3B;;OAEG;YACW,cAAc;IA4C5B;;OAEG;YACW,gCAAgC;IAuD9C;;;;OAIG;IACH,OAAO,CAAC,mCAAmC;IAkC3C;;;OAGG;IACH,OAAO,CAAC,gCAAgC;IAkCxC;;;OAGG;YACW,2BAA2B;IAwDzC;;OAEG;YACW,8BAA8B;IAwD5C;;OAEG;YACW,gBAAgB;IA+B9B;;;OAGG;IACH,OAAO,CAAC,GAAG;IA6EX;;;;OAIG;IACH,OAAO,CAAC,YAAY;IA4BpB;;;OAGG;IACG,MAAM,CAAC,OAAO,EAAE,SAAS,GAAG,YAAY,GAAG,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAwBxF;;OAEG;IACH,SAAS,IAAI,eAAe;IAsB5B;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAMtD;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAWjC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAiBpC;;OAEG;YACW,oBAAoB;IAwClC;;OAEG;IACH,gBAAgB,IAAI;QAClB,MAAM,EAAE,eAAe,CAAC;QACxB,MAAM,EAAE;YACN,WAAW,EAAE,MAAM,CAAC;YACpB,WAAW,EAAE,MAAM,CAAC;YACpB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;QACF,IAAI,EAAE,KAAK,CAAC;YACV,IAAI,EAAE,MAAM,CAAC;YACb,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;YAC3B,eAAe,EAAE,MAAM,CAAC;YACxB,UAAU,EAAE,MAAM,CAAC;YACnB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,OAAO,CAAC;SACpB,CAAC,CAAC;KACJ;CAgCF;AAKD,wBAAgB,iBAAiB,IAAI,cAAc,CAKlD;AAED,wBAAgB,oBAAoB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAErF;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}