memento-mcp-server 1.14.0-b → 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/recall-tool.d.ts +177 -0
- package/dist/domains/memory/tools/recall-tool.d.ts.map +1 -1
- package/dist/domains/memory/tools/recall-tool.js +329 -3
- package/dist/domains/memory/tools/recall-tool.js.map +1 -1
- 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
|
@@ -21,6 +21,10 @@ import { validateReflectionNotes, formatValidationErrors } from '../../../shared
|
|
|
21
21
|
import { mergeReflectionNotes, serializeReflectionNotes } from '../../../shared/utils/reflection-notes-merge.js';
|
|
22
22
|
import { validateProceduralMemoryFields } from '../../../shared/utils/type-param-validator.js';
|
|
23
23
|
import { toDbRelationType } from '../../../shared/utils/relation-type-converter.js';
|
|
24
|
+
// AriGraph Pipeline
|
|
25
|
+
import { TripleExtractionService } from '../../../services/triple-extraction/triple-extraction-service.js';
|
|
26
|
+
import { SemanticMemoryUpdateService } from '../../../services/semantic-memory/semantic-memory-update-service.js';
|
|
27
|
+
import { getBatchScheduler } from '../../../infrastructure/scheduler/batch-scheduler.js';
|
|
24
28
|
const RememberSchema = z.object({
|
|
25
29
|
content: CommonSchemas.Content,
|
|
26
30
|
type: CommonSchemas.MemoryType.optional(), // optional - validateTypeParam에서 기본값 처리
|
|
@@ -38,6 +42,8 @@ const RememberSchema = z.object({
|
|
|
38
42
|
skill_name: CommonSchemas.SkillName,
|
|
39
43
|
trigger_conditions: CommonSchemas.TriggerConditions,
|
|
40
44
|
update_mode: CommonSchemas.UpdateMode,
|
|
45
|
+
// AriGraph Pipeline 필드
|
|
46
|
+
enable_triple_extraction: CommonSchemas.EnableTripleExtraction,
|
|
41
47
|
// 기존 필드 유지
|
|
42
48
|
tags: CommonSchemas.Tags,
|
|
43
49
|
importance: CommonSchemas.Importance.default(0.5),
|
|
@@ -126,6 +132,12 @@ export class RememberTool extends BaseTool {
|
|
|
126
132
|
enum: ['replace', 'incremental', 'versioned'],
|
|
127
133
|
description: '업데이트 모드: replace (교체), incremental (증분), versioned (버전 관리)'
|
|
128
134
|
},
|
|
135
|
+
// AriGraph Pipeline 필드
|
|
136
|
+
enable_triple_extraction: {
|
|
137
|
+
type: 'boolean',
|
|
138
|
+
description: 'Triple 추출 활성화 여부 (기본값: true). type="episodic"일 때만 적용됩니다.',
|
|
139
|
+
default: true
|
|
140
|
+
},
|
|
129
141
|
// 기존 필드 유지
|
|
130
142
|
tags: {
|
|
131
143
|
type: 'array',
|
|
@@ -264,7 +276,7 @@ export class RememberTool extends BaseTool {
|
|
|
264
276
|
async handle(params, context) {
|
|
265
277
|
const startTime = Date.now();
|
|
266
278
|
try {
|
|
267
|
-
const { content, type: rawType, key, value, always_load, immutable, task_goal, steps, reflection_notes, workflow_name, skill_name, trigger_conditions, update_mode, tags, importance, source, privacy_scope } = RememberSchema.parse(params);
|
|
279
|
+
const { content, type: rawType, key, value, always_load, immutable, task_goal, steps, reflection_notes, workflow_name, skill_name, trigger_conditions, update_mode, enable_triple_extraction, tags, importance, source, privacy_scope } = RememberSchema.parse(params);
|
|
268
280
|
// type 파라미터 롤아웃 모드 검증
|
|
269
281
|
const typeParamMode = mementoConfig.typeParamMode;
|
|
270
282
|
const typeValidation = validateTypeParam(rawType, typeParamMode, 'remember');
|
|
@@ -757,6 +769,175 @@ export class RememberTool extends BaseTool {
|
|
|
757
769
|
error: error instanceof Error ? error.message : String(error)
|
|
758
770
|
});
|
|
759
771
|
}
|
|
772
|
+
// PRD 4.1, 5.3: AriGraph Pipeline - Triple 추출 및 Semantic Memory 생성
|
|
773
|
+
// type='episodic'이고 enable_triple_extraction=true일 때만 실행
|
|
774
|
+
// JobQueue를 통해 비동기로 실행 (Episodic Memory 저장은 블로킹하지 않음)
|
|
775
|
+
if (savedMemoryType === 'episodic' && enable_triple_extraction !== false) {
|
|
776
|
+
try {
|
|
777
|
+
// BatchScheduler의 JobQueue에 Triple 추출 작업 등록
|
|
778
|
+
const batchScheduler = getBatchScheduler();
|
|
779
|
+
const jobName = `triple_extraction_${savedMemoryId}`;
|
|
780
|
+
// Triple 추출 작업 함수 정의
|
|
781
|
+
const tripleExtractionJob = async () => {
|
|
782
|
+
try {
|
|
783
|
+
// 데이터베이스 연결 재확인
|
|
784
|
+
let dbValid = false;
|
|
785
|
+
try {
|
|
786
|
+
await new Promise((resolve, reject) => {
|
|
787
|
+
try {
|
|
788
|
+
DatabaseUtils.get(dbRef, 'SELECT 1');
|
|
789
|
+
resolve();
|
|
790
|
+
}
|
|
791
|
+
catch (error) {
|
|
792
|
+
reject(error);
|
|
793
|
+
}
|
|
794
|
+
});
|
|
795
|
+
dbValid = true;
|
|
796
|
+
}
|
|
797
|
+
catch (dbError) {
|
|
798
|
+
this.logWarning('데이터베이스 연결이 유효하지 않아 Triple 추출을 건너뜁니다', {
|
|
799
|
+
memory_id: savedMemoryId,
|
|
800
|
+
error: dbError instanceof Error ? dbError.message : String(dbError)
|
|
801
|
+
});
|
|
802
|
+
return;
|
|
803
|
+
}
|
|
804
|
+
if (dbValid) {
|
|
805
|
+
// Triple 추출 서비스 초기화
|
|
806
|
+
const tripleExtractionService = new TripleExtractionService();
|
|
807
|
+
// Triple 추출 (비동기, 실패해도 메모리 저장은 성공)
|
|
808
|
+
const extractionResult = await tripleExtractionService.extractTriples(content, {}, savedMemoryId);
|
|
809
|
+
// Triple이 추출된 경우 Semantic Memory 생성/업데이트
|
|
810
|
+
if (extractionResult.triples.length > 0) {
|
|
811
|
+
const semanticMemoryUpdateService = new SemanticMemoryUpdateService(dbRef, embeddingServiceRef, context.services.relationGraph);
|
|
812
|
+
const updateResult = await semanticMemoryUpdateService.updateSemanticMemory(extractionResult, {
|
|
813
|
+
episodicMemoryId: savedMemoryId,
|
|
814
|
+
episodicImportance: importance || 0.5
|
|
815
|
+
});
|
|
816
|
+
// PRD 5.5, 5.5a, 5.6: Triple 추출 성공 시 상태 업데이트
|
|
817
|
+
// 성공 시: triple_extracted=true, triple_extracted_status='success'
|
|
818
|
+
// 이전 실패 기록 초기화 후 성공 정보로 갱신
|
|
819
|
+
const confidenceValues = [];
|
|
820
|
+
// memory_relation에서 confidence 값 수집 (각 triple별로 저장됨)
|
|
821
|
+
try {
|
|
822
|
+
const relations = DatabaseUtils.all(dbRef, `
|
|
823
|
+
SELECT confidence FROM memory_relation
|
|
824
|
+
WHERE source_id = ? AND relation_type = 'extracted_from'
|
|
825
|
+
`, [savedMemoryId]);
|
|
826
|
+
for (const rel of relations) {
|
|
827
|
+
if (rel.confidence !== null && rel.confidence !== undefined) {
|
|
828
|
+
confidenceValues.push(rel.confidence);
|
|
829
|
+
}
|
|
830
|
+
}
|
|
831
|
+
}
|
|
832
|
+
catch (err) {
|
|
833
|
+
// confidence 수집 실패해도 계속 진행
|
|
834
|
+
this.logWarning('Confidence 수집 실패', {
|
|
835
|
+
memory_id: savedMemoryId,
|
|
836
|
+
error: err instanceof Error ? err.message : String(err)
|
|
837
|
+
});
|
|
838
|
+
}
|
|
839
|
+
const confidenceAvg = confidenceValues.length > 0
|
|
840
|
+
? confidenceValues.reduce((sum, c) => sum + c, 0) / confidenceValues.length
|
|
841
|
+
: null;
|
|
842
|
+
const metadata = {
|
|
843
|
+
triple_count: extractionResult.triples.length,
|
|
844
|
+
...(confidenceAvg !== null && { confidence_avg: confidenceAvg }),
|
|
845
|
+
extracted_at: new Date().toISOString()
|
|
846
|
+
};
|
|
847
|
+
await DatabaseUtils.run(dbRef, `
|
|
848
|
+
UPDATE memory_item SET
|
|
849
|
+
triple_extracted = ?,
|
|
850
|
+
triple_extracted_status = ?,
|
|
851
|
+
triple_extraction_metadata = ?
|
|
852
|
+
WHERE id = ?
|
|
853
|
+
`, [
|
|
854
|
+
1, // triple_extracted=true (SQLite에서는 INTEGER로 저장)
|
|
855
|
+
'success', // triple_extracted_status='success'
|
|
856
|
+
JSON.stringify(metadata), // 성공 정보로 갱신 (이전 실패 기록 초기화)
|
|
857
|
+
savedMemoryId
|
|
858
|
+
]);
|
|
859
|
+
this.logInfo('Triple 추출 및 Semantic Memory 생성 완료', {
|
|
860
|
+
memory_id: savedMemoryId,
|
|
861
|
+
triple_count: extractionResult.triples.length,
|
|
862
|
+
confidence_avg: confidenceAvg
|
|
863
|
+
});
|
|
864
|
+
}
|
|
865
|
+
else {
|
|
866
|
+
// PRD 5.5, 5.5a, 5.6: Triple 추출 실패 시 상태 업데이트
|
|
867
|
+
// 실패 시: triple_extracted=false, triple_extracted_status='failed'
|
|
868
|
+
// 실패 정보 저장 (failureReason, retry_count, last_attempt)
|
|
869
|
+
const failureReason = extractionResult.extractionInfo.failureReason || 'no_triple';
|
|
870
|
+
// 기존 metadata에서 retry_count 가져오기 (있는 경우)
|
|
871
|
+
let retryCount = 0;
|
|
872
|
+
try {
|
|
873
|
+
const existing = DatabaseUtils.get(dbRef, `
|
|
874
|
+
SELECT triple_extraction_metadata FROM memory_item WHERE id = ?
|
|
875
|
+
`, [savedMemoryId]);
|
|
876
|
+
if (existing?.triple_extraction_metadata) {
|
|
877
|
+
const existingMeta = JSON.parse(existing.triple_extraction_metadata);
|
|
878
|
+
retryCount = (existingMeta.retry_count || 0) + 1;
|
|
879
|
+
}
|
|
880
|
+
else {
|
|
881
|
+
retryCount = 1;
|
|
882
|
+
}
|
|
883
|
+
}
|
|
884
|
+
catch (err) {
|
|
885
|
+
retryCount = 1;
|
|
886
|
+
}
|
|
887
|
+
const metadata = {
|
|
888
|
+
failureReason,
|
|
889
|
+
retry_count: retryCount,
|
|
890
|
+
last_attempt: new Date().toISOString()
|
|
891
|
+
};
|
|
892
|
+
await DatabaseUtils.run(dbRef, `
|
|
893
|
+
UPDATE memory_item SET
|
|
894
|
+
triple_extracted = ?,
|
|
895
|
+
triple_extracted_status = ?,
|
|
896
|
+
triple_extraction_metadata = ?
|
|
897
|
+
WHERE id = ?
|
|
898
|
+
`, [
|
|
899
|
+
0, // triple_extracted=false (SQLite에서는 INTEGER로 저장)
|
|
900
|
+
'failed', // triple_extracted_status='failed'
|
|
901
|
+
JSON.stringify(metadata), // 실패 정보 저장
|
|
902
|
+
savedMemoryId
|
|
903
|
+
]);
|
|
904
|
+
this.logInfo('Triple 추출 완료 (Triple 없음)', {
|
|
905
|
+
memory_id: savedMemoryId,
|
|
906
|
+
failure_reason: failureReason,
|
|
907
|
+
retry_count: retryCount
|
|
908
|
+
});
|
|
909
|
+
}
|
|
910
|
+
}
|
|
911
|
+
}
|
|
912
|
+
catch (error) {
|
|
913
|
+
// Triple 추출 실패해도 메모리 저장은 성공했으므로 경고만 출력
|
|
914
|
+
this.logWarning(`Triple 추출 실패 (${savedMemoryId})`, {
|
|
915
|
+
error: error instanceof Error ? error.message : String(error)
|
|
916
|
+
});
|
|
917
|
+
}
|
|
918
|
+
};
|
|
919
|
+
// JobQueue에 작업 등록 (우선순위: 5, 중간 우선순위)
|
|
920
|
+
const added = batchScheduler.addJob(jobName, tripleExtractionJob, 5, 0);
|
|
921
|
+
if (added) {
|
|
922
|
+
this.logInfo('Triple 추출 작업이 JobQueue에 등록되었습니다', {
|
|
923
|
+
memory_id: savedMemoryId,
|
|
924
|
+
job_name: jobName
|
|
925
|
+
});
|
|
926
|
+
}
|
|
927
|
+
else {
|
|
928
|
+
this.logWarning('Triple 추출 작업이 JobQueue에 등록되지 않았습니다 (중복 또는 큐 가득참)', {
|
|
929
|
+
memory_id: savedMemoryId,
|
|
930
|
+
job_name: jobName
|
|
931
|
+
});
|
|
932
|
+
}
|
|
933
|
+
}
|
|
934
|
+
catch (error) {
|
|
935
|
+
// JobQueue 등록 실패해도 메모리 저장은 성공했으므로 경고만 출력
|
|
936
|
+
this.logWarning(`Triple 추출 작업 등록 실패 (${savedMemoryId})`, {
|
|
937
|
+
error: error instanceof Error ? error.message : String(error)
|
|
938
|
+
});
|
|
939
|
+
}
|
|
940
|
+
}
|
|
760
941
|
}
|
|
761
942
|
catch (error) {
|
|
762
943
|
// 백그라운드 작업 실패해도 메모리 저장은 성공했으므로 경고만 출력
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remember-tool.js","sourceRoot":"","sources":["../../../../src/domains/memory/tools/remember-tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"remember-tool.js","sourceRoot":"","sources":["../../../../src/domains/memory/tools/remember-tool.ts"],"names":[],"mappings":"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"}
|
package/dist/infrastructure/database/database/migration/migrations/005-relation-engine-schema.sql
CHANGED
|
@@ -30,15 +30,15 @@ CREATE TABLE IF NOT EXISTS relation_type_registry (
|
|
|
30
30
|
);
|
|
31
31
|
|
|
32
32
|
-- 3. Create indexes for memory_relation table
|
|
33
|
-
CREATE INDEX idx_memory_relation_source ON memory_relation(source_id);
|
|
34
|
-
CREATE INDEX idx_memory_relation_target ON memory_relation(target_id);
|
|
35
|
-
CREATE INDEX idx_memory_relation_type ON memory_relation(relation_type);
|
|
36
|
-
CREATE INDEX idx_memory_relation_confidence ON memory_relation(confidence);
|
|
37
|
-
CREATE INDEX idx_memory_relation_source_type ON memory_relation(source_id, relation_type);
|
|
38
|
-
CREATE INDEX idx_memory_relation_target_type ON memory_relation(target_id, relation_type);
|
|
33
|
+
CREATE INDEX IF NOT EXISTS idx_memory_relation_source ON memory_relation(source_id);
|
|
34
|
+
CREATE INDEX IF NOT EXISTS idx_memory_relation_target ON memory_relation(target_id);
|
|
35
|
+
CREATE INDEX IF NOT EXISTS idx_memory_relation_type ON memory_relation(relation_type);
|
|
36
|
+
CREATE INDEX IF NOT EXISTS idx_memory_relation_confidence ON memory_relation(confidence);
|
|
37
|
+
CREATE INDEX IF NOT EXISTS idx_memory_relation_source_type ON memory_relation(source_id, relation_type);
|
|
38
|
+
CREATE INDEX IF NOT EXISTS idx_memory_relation_target_type ON memory_relation(target_id, relation_type);
|
|
39
39
|
|
|
40
40
|
-- 4. Create index for relation_type_registry table
|
|
41
|
-
CREATE INDEX idx_relation_type_registry_category ON relation_type_registry(category);
|
|
41
|
+
CREATE INDEX IF NOT EXISTS idx_relation_type_registry_category ON relation_type_registry(category);
|
|
42
42
|
|
|
43
43
|
-- 5. Insert initial relation types into registry
|
|
44
44
|
-- Causal (인과 관계군)
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Migration: 008 - AriGraph Schema Expansion
|
|
3
|
+
* Description: Add triple extraction fields to memory_item table for AriGraph pipeline
|
|
4
|
+
* Version: 8.0
|
|
5
|
+
* Date: 2025-01-XX
|
|
6
|
+
*/
|
|
7
|
+
import type Database from 'better-sqlite3';
|
|
8
|
+
import type { Migration } from '../types.js';
|
|
9
|
+
/**
|
|
10
|
+
* AriGraph Schema Expansion Migration
|
|
11
|
+
*
|
|
12
|
+
* This migration:
|
|
13
|
+
* 1. Adds subject, predicate, object columns to memory_item table (for semantic memory structural storage)
|
|
14
|
+
* 2. Adds triple_extracted, triple_extracted_status, triple_extraction_metadata columns to memory_item table
|
|
15
|
+
* 3. Creates indexes for triple extraction fields
|
|
16
|
+
* 4. Inserts initial relation types (extracted_from, supported_by) into relation_type_registry
|
|
17
|
+
*/
|
|
18
|
+
export declare class AriGraphSchemaExpansionMigration implements Migration {
|
|
19
|
+
version: string;
|
|
20
|
+
name: string;
|
|
21
|
+
description: string;
|
|
22
|
+
/**
|
|
23
|
+
* Load SQL file content
|
|
24
|
+
*/
|
|
25
|
+
private loadSQLFile;
|
|
26
|
+
/**
|
|
27
|
+
* Execute SQL script
|
|
28
|
+
* Removes transaction commands (BEGIN TRANSACTION, COMMIT) as MigrationRunner manages transactions
|
|
29
|
+
*/
|
|
30
|
+
private executeSQL;
|
|
31
|
+
/**
|
|
32
|
+
* Check if table exists
|
|
33
|
+
*/
|
|
34
|
+
private tableExists;
|
|
35
|
+
/**
|
|
36
|
+
* Check if column exists in table
|
|
37
|
+
*/
|
|
38
|
+
private columnExists;
|
|
39
|
+
/**
|
|
40
|
+
* Check if index exists
|
|
41
|
+
*/
|
|
42
|
+
private indexExists;
|
|
43
|
+
/**
|
|
44
|
+
* Validate before migration
|
|
45
|
+
*/
|
|
46
|
+
validateBefore(db: Database.Database): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Execute migration (Up)
|
|
49
|
+
*/
|
|
50
|
+
up(db: Database.Database): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Rollback migration (Down)
|
|
53
|
+
*
|
|
54
|
+
* Note: SQLite does not support ALTER TABLE DROP COLUMN directly (requires SQLite 3.35.0+).
|
|
55
|
+
* For full rollback, table recreation would be required, which is complex.
|
|
56
|
+
* This implementation provides a basic rollback that removes indexes.
|
|
57
|
+
* Columns cannot be easily removed without table recreation.
|
|
58
|
+
*/
|
|
59
|
+
down(db: Database.Database): Promise<void>;
|
|
60
|
+
/**
|
|
61
|
+
* Validate after migration
|
|
62
|
+
*/
|
|
63
|
+
validateAfter(db: Database.Database): Promise<void>;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=008-arigraph-schema-expansion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"008-arigraph-schema-expansion.d.ts","sourceRoot":"","sources":["../../../../../../src/infrastructure/database/database/migration/migrations/008-arigraph-schema-expansion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAI3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C;;;;;;;;GAQG;AACH,qBAAa,gCAAiC,YAAW,SAAS;IAChE,OAAO,SAAS;IAChB,IAAI,SAA+B;IACnC,WAAW,SAA6E;IAExF;;OAEG;IACH,OAAO,CAAC,WAAW;IAKnB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAsBlB;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;OAEG;IACG,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAyE1D;;OAEG;IACG,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9C;;;;;;;OAOG;IACG,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBhD;;OAEG;IACG,aAAa,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAoF1D"}
|