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.
Files changed (77) hide show
  1. package/dist/domains/memory/tools/convert-episodic-to-semantic-tool.d.ts +18 -0
  2. package/dist/domains/memory/tools/convert-episodic-to-semantic-tool.d.ts.map +1 -0
  3. package/dist/domains/memory/tools/convert-episodic-to-semantic-tool.js +346 -0
  4. package/dist/domains/memory/tools/convert-episodic-to-semantic-tool.js.map +1 -0
  5. package/dist/domains/memory/tools/remember-tool.d.ts.map +1 -1
  6. package/dist/domains/memory/tools/remember-tool.js +182 -1
  7. package/dist/domains/memory/tools/remember-tool.js.map +1 -1
  8. package/dist/infrastructure/database/database/migration/migrations/005-relation-engine-schema.sql +7 -7
  9. package/dist/infrastructure/database/database/migration/migrations/008-arigraph-schema-expansion.d.ts +65 -0
  10. package/dist/infrastructure/database/database/migration/migrations/008-arigraph-schema-expansion.d.ts.map +1 -0
  11. package/dist/infrastructure/database/database/migration/migrations/008-arigraph-schema-expansion.js +250 -0
  12. package/dist/infrastructure/database/database/migration/migrations/008-arigraph-schema-expansion.js.map +1 -0
  13. package/dist/infrastructure/database/database/migration/migrations/008-arigraph-schema-expansion.sql +86 -0
  14. package/dist/infrastructure/logging/triple-extraction-logger.d.ts +92 -0
  15. package/dist/infrastructure/logging/triple-extraction-logger.d.ts.map +1 -0
  16. package/dist/infrastructure/logging/triple-extraction-logger.js +194 -0
  17. package/dist/infrastructure/logging/triple-extraction-logger.js.map +1 -0
  18. package/dist/infrastructure/scheduler/batch-scheduler.d.ts +57 -0
  19. package/dist/infrastructure/scheduler/batch-scheduler.d.ts.map +1 -1
  20. package/dist/infrastructure/scheduler/batch-scheduler.js +220 -0
  21. package/dist/infrastructure/scheduler/batch-scheduler.js.map +1 -1
  22. package/dist/infrastructure/scheduler/jobs/triple-extraction-batch-job.d.ts +194 -0
  23. package/dist/infrastructure/scheduler/jobs/triple-extraction-batch-job.d.ts.map +1 -0
  24. package/dist/infrastructure/scheduler/jobs/triple-extraction-batch-job.js +639 -0
  25. package/dist/infrastructure/scheduler/jobs/triple-extraction-batch-job.js.map +1 -0
  26. package/dist/services/semantic-memory/semantic-memory-statistics.d.ts +64 -0
  27. package/dist/services/semantic-memory/semantic-memory-statistics.d.ts.map +1 -0
  28. package/dist/services/semantic-memory/semantic-memory-statistics.js +113 -0
  29. package/dist/services/semantic-memory/semantic-memory-statistics.js.map +1 -0
  30. package/dist/services/semantic-memory/semantic-memory-update-service.d.ts +257 -0
  31. package/dist/services/semantic-memory/semantic-memory-update-service.d.ts.map +1 -0
  32. package/dist/services/semantic-memory/semantic-memory-update-service.js +696 -0
  33. package/dist/services/semantic-memory/semantic-memory-update-service.js.map +1 -0
  34. package/dist/services/triple-extraction/entity-linker.d.ts +55 -0
  35. package/dist/services/triple-extraction/entity-linker.d.ts.map +1 -0
  36. package/dist/services/triple-extraction/entity-linker.js +154 -0
  37. package/dist/services/triple-extraction/entity-linker.js.map +1 -0
  38. package/dist/services/triple-extraction/predicate-canonicalizer.d.ts +63 -0
  39. package/dist/services/triple-extraction/predicate-canonicalizer.d.ts.map +1 -0
  40. package/dist/services/triple-extraction/predicate-canonicalizer.js +166 -0
  41. package/dist/services/triple-extraction/predicate-canonicalizer.js.map +1 -0
  42. package/dist/services/triple-extraction/triple-extraction-service.d.ts +181 -0
  43. package/dist/services/triple-extraction/triple-extraction-service.d.ts.map +1 -0
  44. package/dist/services/triple-extraction/triple-extraction-service.js +907 -0
  45. package/dist/services/triple-extraction/triple-extraction-service.js.map +1 -0
  46. package/dist/services/triple-extraction/triple-extraction-statistics.d.ts +74 -0
  47. package/dist/services/triple-extraction/triple-extraction-statistics.d.ts.map +1 -0
  48. package/dist/services/triple-extraction/triple-extraction-statistics.js +146 -0
  49. package/dist/services/triple-extraction/triple-extraction-statistics.js.map +1 -0
  50. package/dist/shared/types/index.d.ts +1 -0
  51. package/dist/shared/types/index.d.ts.map +1 -1
  52. package/dist/shared/types/index.js.map +1 -1
  53. package/dist/shared/types/triple-extraction.d.ts +99 -0
  54. package/dist/shared/types/triple-extraction.d.ts.map +1 -0
  55. package/dist/shared/types/triple-extraction.js +6 -0
  56. package/dist/shared/types/triple-extraction.js.map +1 -0
  57. package/dist/shared/utils/pii-masker.d.ts +67 -0
  58. package/dist/shared/utils/pii-masker.d.ts.map +1 -0
  59. package/dist/shared/utils/pii-masker.js +205 -0
  60. package/dist/shared/utils/pii-masker.js.map +1 -0
  61. package/dist/shared/utils/prompt-template-loader.d.ts +42 -0
  62. package/dist/shared/utils/prompt-template-loader.d.ts.map +1 -0
  63. package/dist/shared/utils/prompt-template-loader.js +92 -0
  64. package/dist/shared/utils/prompt-template-loader.js.map +1 -0
  65. package/dist/shared/utils/triple-cache.d.ts +90 -0
  66. package/dist/shared/utils/triple-cache.d.ts.map +1 -0
  67. package/dist/shared/utils/triple-cache.js +124 -0
  68. package/dist/shared/utils/triple-cache.js.map +1 -0
  69. package/dist/tools/index.d.ts +2 -1
  70. package/dist/tools/index.d.ts.map +1 -1
  71. package/dist/tools/index.js +3 -1
  72. package/dist/tools/index.js.map +1 -1
  73. package/dist/tools/types.d.ts +1 -0
  74. package/dist/tools/types.d.ts.map +1 -1
  75. package/dist/tools/types.js +2 -0
  76. package/dist/tools/types.js.map +1 -1
  77. package/package.json +1 -1
@@ -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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"}
@@ -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"}
@@ -0,0 +1,250 @@
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 { readFileSync } from 'fs';
8
+ import { join, dirname } from 'path';
9
+ import { fileURLToPath } from 'url';
10
+ import { DependencyValidator } from '../dependency-validator.js';
11
+ const __filename = fileURLToPath(import.meta.url);
12
+ const __dirname = dirname(__filename);
13
+ /**
14
+ * AriGraph Schema Expansion Migration
15
+ *
16
+ * This migration:
17
+ * 1. Adds subject, predicate, object columns to memory_item table (for semantic memory structural storage)
18
+ * 2. Adds triple_extracted, triple_extracted_status, triple_extraction_metadata columns to memory_item table
19
+ * 3. Creates indexes for triple extraction fields
20
+ * 4. Inserts initial relation types (extracted_from, supported_by) into relation_type_registry
21
+ */
22
+ export class AriGraphSchemaExpansionMigration {
23
+ version = '8.0';
24
+ name = 'arigraph-schema-expansion';
25
+ description = 'Add triple extraction fields to memory_item table for AriGraph pipeline';
26
+ /**
27
+ * Load SQL file content
28
+ */
29
+ loadSQLFile(filename) {
30
+ const filePath = join(__dirname, filename);
31
+ return readFileSync(filePath, 'utf-8');
32
+ }
33
+ /**
34
+ * Execute SQL script
35
+ * Removes transaction commands (BEGIN TRANSACTION, COMMIT) as MigrationRunner manages transactions
36
+ */
37
+ executeSQL(db, sql) {
38
+ // MigrationRunner가 트랜잭션을 관리하므로 SQL에서 트랜잭션 명령 제거
39
+ let cleanedSQL = sql
40
+ // BEGIN TRANSACTION 제거
41
+ .replace(/BEGIN\s+TRANSACTION\s*;/gi, '')
42
+ // COMMIT 제거
43
+ .replace(/COMMIT\s*;/gi, '')
44
+ // PRAGMA foreign_keys 명령은 유지 (트랜잭션 외부에서도 작동)
45
+ .trim();
46
+ // 빈 줄 제거 및 정리
47
+ cleanedSQL = cleanedSQL
48
+ .split('\n')
49
+ .map(line => line.trim())
50
+ .filter(line => line.length > 0)
51
+ .join('\n');
52
+ if (cleanedSQL.length > 0) {
53
+ db.exec(cleanedSQL);
54
+ }
55
+ }
56
+ /**
57
+ * Check if table exists
58
+ */
59
+ tableExists(db, tableName) {
60
+ const result = db.prepare(`
61
+ SELECT name FROM sqlite_master
62
+ WHERE type='table' AND name=?
63
+ `).get(tableName);
64
+ return !!result;
65
+ }
66
+ /**
67
+ * Check if column exists in table
68
+ */
69
+ columnExists(db, tableName, columnName) {
70
+ const columns = db.prepare(`PRAGMA table_info(${tableName})`).all();
71
+ return columns.some(col => col.name === columnName);
72
+ }
73
+ /**
74
+ * Check if index exists
75
+ */
76
+ indexExists(db, indexName) {
77
+ const result = db.prepare(`
78
+ SELECT name FROM sqlite_master
79
+ WHERE type='index' AND name=?
80
+ `).get(indexName);
81
+ return !!result;
82
+ }
83
+ /**
84
+ * Validate before migration
85
+ */
86
+ async validateBefore(db) {
87
+ // Check if memory_item table exists (required for ALTER TABLE)
88
+ if (!this.tableExists(db, 'memory_item')) {
89
+ throw new Error('memory_item table does not exist. Cannot proceed with migration.');
90
+ }
91
+ // Check if relation_type_registry table exists (required for INSERT)
92
+ if (!this.tableExists(db, 'relation_type_registry')) {
93
+ throw new Error('relation_type_registry table does not exist. Cannot proceed with migration.');
94
+ }
95
+ // Check if migration has already been applied
96
+ if (this.tableExists(db, 'memento_schema_version')) {
97
+ const version = db.prepare(`
98
+ SELECT version FROM memento_schema_version WHERE version = ?
99
+ `).get('8.0');
100
+ if (version) {
101
+ throw new Error('Migration 008 has already been applied. Current schema version: 8.0');
102
+ }
103
+ }
104
+ // Check if new columns already exist (should not exist)
105
+ if (this.columnExists(db, 'memory_item', 'subject')) {
106
+ throw new Error('subject column already exists in memory_item table. Migration may have been partially applied.');
107
+ }
108
+ if (this.columnExists(db, 'memory_item', 'predicate')) {
109
+ throw new Error('predicate column already exists in memory_item table. Migration may have been partially applied.');
110
+ }
111
+ if (this.columnExists(db, 'memory_item', 'object')) {
112
+ throw new Error('object column already exists in memory_item table. Migration may have been partially applied.');
113
+ }
114
+ if (this.columnExists(db, 'memory_item', 'triple_extracted')) {
115
+ throw new Error('triple_extracted column already exists in memory_item table. Migration may have been partially applied.');
116
+ }
117
+ if (this.columnExists(db, 'memory_item', 'triple_extracted_status')) {
118
+ throw new Error('triple_extracted_status column already exists in memory_item table. Migration may have been partially applied.');
119
+ }
120
+ if (this.columnExists(db, 'memory_item', 'triple_extraction_metadata')) {
121
+ throw new Error('triple_extraction_metadata column already exists in memory_item table. Migration may have been partially applied.');
122
+ }
123
+ // Check if new indexes already exist (should not exist)
124
+ if (this.indexExists(db, 'idx_memory_item_triple')) {
125
+ throw new Error('idx_memory_item_triple index already exists. Migration may have been partially applied.');
126
+ }
127
+ if (this.indexExists(db, 'idx_memory_item_triple_extracted')) {
128
+ throw new Error('idx_memory_item_triple_extracted index already exists. Migration may have been partially applied.');
129
+ }
130
+ if (this.indexExists(db, 'idx_memory_item_triple_status')) {
131
+ throw new Error('idx_memory_item_triple_status index already exists. Migration may have been partially applied.');
132
+ }
133
+ // Check if relation types already exist (should not exist, but use INSERT OR IGNORE in SQL)
134
+ const existingExtractedFrom = db.prepare(`
135
+ SELECT type_name FROM relation_type_registry WHERE type_name = ?
136
+ `).get('extracted_from');
137
+ const existingSupportedBy = db.prepare(`
138
+ SELECT type_name FROM relation_type_registry WHERE type_name = ?
139
+ `).get('supported_by');
140
+ // Note: We allow existing relation types (INSERT OR IGNORE in SQL), so we don't throw here
141
+ // This allows the migration to be idempotent
142
+ }
143
+ /**
144
+ * Execute migration (Up)
145
+ */
146
+ async up(db) {
147
+ // Load and execute SQL script
148
+ const sqlScript = this.loadSQLFile('008-arigraph-schema-expansion.sql');
149
+ this.executeSQL(db, sqlScript);
150
+ // Note: Schema version is recorded by MigrationRunner, not here
151
+ // MigrationRunner.recordVersion() will be called after successful migration
152
+ }
153
+ /**
154
+ * Rollback migration (Down)
155
+ *
156
+ * Note: SQLite does not support ALTER TABLE DROP COLUMN directly (requires SQLite 3.35.0+).
157
+ * For full rollback, table recreation would be required, which is complex.
158
+ * This implementation provides a basic rollback that removes indexes.
159
+ * Columns cannot be easily removed without table recreation.
160
+ */
161
+ async down(db) {
162
+ // Drop indexes first
163
+ const indexes = [
164
+ 'idx_memory_item_triple',
165
+ 'idx_memory_item_triple_extracted',
166
+ 'idx_memory_item_triple_status'
167
+ ];
168
+ for (const indexName of indexes) {
169
+ db.exec(`DROP INDEX IF EXISTS ${indexName}`);
170
+ }
171
+ // Remove relation types from registry
172
+ db.prepare('DELETE FROM relation_type_registry WHERE type_name = ?').run('extracted_from');
173
+ db.prepare('DELETE FROM relation_type_registry WHERE type_name = ?').run('supported_by');
174
+ // Note: Removing columns from memory_item requires table recreation, which is complex.
175
+ // For production use, consider using a new migration to remove columns if needed.
176
+ // SQLite 3.35.0+ supports ALTER TABLE DROP COLUMN, but for compatibility, we skip it here.
177
+ // Remove schema version record
178
+ db.prepare('DELETE FROM memento_schema_version WHERE version = ?').run('8.0');
179
+ }
180
+ /**
181
+ * Validate after migration
182
+ */
183
+ async validateAfter(db) {
184
+ // Verify memory_item table has new columns
185
+ if (!this.columnExists(db, 'memory_item', 'subject')) {
186
+ throw new Error('subject column was not added to memory_item table');
187
+ }
188
+ if (!this.columnExists(db, 'memory_item', 'predicate')) {
189
+ throw new Error('predicate column was not added to memory_item table');
190
+ }
191
+ if (!this.columnExists(db, 'memory_item', 'object')) {
192
+ throw new Error('object column was not added to memory_item table');
193
+ }
194
+ if (!this.columnExists(db, 'memory_item', 'triple_extracted')) {
195
+ throw new Error('triple_extracted column was not added to memory_item table');
196
+ }
197
+ if (!this.columnExists(db, 'memory_item', 'triple_extracted_status')) {
198
+ throw new Error('triple_extracted_status column was not added to memory_item table');
199
+ }
200
+ if (!this.columnExists(db, 'memory_item', 'triple_extraction_metadata')) {
201
+ throw new Error('triple_extraction_metadata column was not added to memory_item table');
202
+ }
203
+ // Verify indexes were created
204
+ if (!this.indexExists(db, 'idx_memory_item_triple')) {
205
+ throw new Error('idx_memory_item_triple index was not created');
206
+ }
207
+ if (!this.indexExists(db, 'idx_memory_item_triple_extracted')) {
208
+ throw new Error('idx_memory_item_triple_extracted index was not created');
209
+ }
210
+ if (!this.indexExists(db, 'idx_memory_item_triple_status')) {
211
+ throw new Error('idx_memory_item_triple_status index was not created');
212
+ }
213
+ // Verify relation types were inserted (or already exist)
214
+ const extractedFrom = db.prepare(`
215
+ SELECT type_name FROM relation_type_registry WHERE type_name = ?
216
+ `).get('extracted_from');
217
+ if (!extractedFrom) {
218
+ throw new Error('extracted_from relation type was not inserted into relation_type_registry');
219
+ }
220
+ const supportedBy = db.prepare(`
221
+ SELECT type_name FROM relation_type_registry WHERE type_name = ?
222
+ `).get('supported_by');
223
+ if (!supportedBy) {
224
+ throw new Error('supported_by relation type was not inserted into relation_type_registry');
225
+ }
226
+ // Verify relation type metadata
227
+ const extractedFromInfo = db.prepare(`
228
+ SELECT category, description FROM relation_type_registry WHERE type_name = ?
229
+ `).get('extracted_from');
230
+ if (!extractedFromInfo || extractedFromInfo.category !== 'Structural') {
231
+ throw new Error('extracted_from relation type has incorrect category or metadata');
232
+ }
233
+ const supportedByInfo = db.prepare(`
234
+ SELECT category, description FROM relation_type_registry WHERE type_name = ?
235
+ `).get('supported_by');
236
+ if (!supportedByInfo || supportedByInfo.category !== 'Structural') {
237
+ throw new Error('supported_by relation type has incorrect category or metadata');
238
+ }
239
+ // Verify existing dependencies are intact using DependencyValidator
240
+ const dependencyReport = await DependencyValidator.validateAll(db);
241
+ if (!dependencyReport.success) {
242
+ const errors = dependencyReport.results
243
+ .filter(r => !r.success)
244
+ .map(r => `${r.name}: ${r.error}`)
245
+ .join('; ');
246
+ throw new Error(`Dependency validation failed: ${errors}`);
247
+ }
248
+ }
249
+ }
250
+ //# sourceMappingURL=008-arigraph-schema-expansion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"008-arigraph-schema-expansion.js","sourceRoot":"","sources":["../../../../../../src/infrastructure/database/database/migration/migrations/008-arigraph-schema-expansion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ -- Migration: 008 - AriGraph Schema Expansion
2
+ -- Description: Add triple extraction fields to memory_item table for AriGraph pipeline
3
+ -- Version: 8.0
4
+ -- Date: 2025-01-XX
5
+ --
6
+ -- This migration:
7
+ -- 1. Adds subject, predicate, object columns to memory_item table (for semantic memory structural storage)
8
+ -- 2. Adds triple_extracted, triple_extracted_status, triple_extraction_metadata columns to memory_item table
9
+ -- 3. Creates indexes for triple extraction fields
10
+ -- 4. Inserts initial relation types (extracted_from, supported_by) into relation_type_registry
11
+
12
+ -- ============================================================================
13
+ -- 1. Add triple structure columns to memory_item table (for semantic memory)
14
+ -- ============================================================================
15
+
16
+ -- Add subject column (TEXT, NULL allowed, for semantic memory only)
17
+ ALTER TABLE memory_item ADD COLUMN subject TEXT;
18
+
19
+ -- Add predicate column (TEXT, NULL allowed, for semantic memory only)
20
+ ALTER TABLE memory_item ADD COLUMN predicate TEXT;
21
+
22
+ -- Add object column (TEXT, NULL allowed, for semantic memory only)
23
+ ALTER TABLE memory_item ADD COLUMN object TEXT;
24
+
25
+ -- ============================================================================
26
+ -- 2. Add triple extraction tracking columns to memory_item table
27
+ -- ============================================================================
28
+
29
+ -- Add triple_extracted column (BOOLEAN, NULL allowed, default NULL)
30
+ -- NULL: 미처리, TRUE: 성공, FALSE: 실패 또는 미처리
31
+ ALTER TABLE memory_item ADD COLUMN triple_extracted BOOLEAN DEFAULT NULL;
32
+
33
+ -- Add triple_extracted_status column (TEXT, NULL allowed, default NULL)
34
+ -- NULL: 미처리, 'success': 성공, 'failed': 실패, 'abandoned': 포기
35
+ ALTER TABLE memory_item ADD COLUMN triple_extracted_status TEXT DEFAULT NULL;
36
+
37
+ -- Add triple_extraction_metadata column (TEXT, NULL allowed, JSON format, default NULL)
38
+ -- 성공 시: {"triple_count": 3, "confidence_avg": 0.85, "extracted_at": "2025-01-XX"}
39
+ -- 실패 시: {"failureReason": "no_triple", "retry_count": 2, "last_attempt": "2025-01-XX"}
40
+ -- 포기 시: {"failureReason": "llm_api_error", "retry_count": 3, "last_attempt": "2025-01-XX", "abandoned_at": "2025-01-XX"}
41
+ ALTER TABLE memory_item ADD COLUMN triple_extraction_metadata TEXT DEFAULT NULL;
42
+
43
+ -- ============================================================================
44
+ -- 3. Create indexes for triple extraction fields
45
+ -- ============================================================================
46
+
47
+ -- Partial index for triple structure (only for semantic memory with triple data)
48
+ -- This index is used for efficient triple-based queries
49
+ CREATE INDEX IF NOT EXISTS idx_memory_item_triple ON memory_item(subject, predicate, object)
50
+ WHERE type='semantic' AND subject IS NOT NULL AND predicate IS NOT NULL AND object IS NOT NULL;
51
+
52
+ -- Index for triple_extracted field (for batch job queries)
53
+ CREATE INDEX IF NOT EXISTS idx_memory_item_triple_extracted ON memory_item(triple_extracted);
54
+
55
+ -- Index for triple_extracted_status field (for batch job queries and statistics)
56
+ CREATE INDEX IF NOT EXISTS idx_memory_item_triple_status ON memory_item(triple_extracted_status);
57
+
58
+ -- ============================================================================
59
+ -- 4. Insert initial relation types for AriGraph pipeline
60
+ -- ============================================================================
61
+ -- Note: These relation types are used for Episodic-Edge creation
62
+ -- extracted_from: Episodic → Semantic (source: Episodic, target: Semantic)
63
+ -- supported_by: Semantic → Episodic (source: Semantic, target: Episodic)
64
+
65
+ -- Insert extracted_from relation type (Structural category)
66
+ INSERT OR IGNORE INTO relation_type_registry (type_name, category, description, applicable_types, default_confidence, search_boost)
67
+ VALUES (
68
+ 'extracted_from',
69
+ 'Structural',
70
+ '추출 관계: Semantic Memory가 Episodic Memory에서 추출됨',
71
+ '["episodic", "semantic"]',
72
+ 0.7,
73
+ 1.1
74
+ );
75
+
76
+ -- Insert supported_by relation type (Structural category)
77
+ INSERT OR IGNORE INTO relation_type_registry (type_name, category, description, applicable_types, default_confidence, search_boost)
78
+ VALUES (
79
+ 'supported_by',
80
+ 'Structural',
81
+ '근거 관계: Semantic Memory가 Episodic Memory에 의해 근거를 가짐',
82
+ '["semantic", "episodic"]',
83
+ 0.7,
84
+ 1.0
85
+ );
86
+