@nahisaho/yata-local 1.6.6 → 1.7.5

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.
@@ -0,0 +1,525 @@
1
+ /**
2
+ * Index Optimizer for YATA Local
3
+ *
4
+ * Analyzes database indexes and provides optimization recommendations.
5
+ *
6
+ * @packageDocumentation
7
+ * @module @nahisaho/yata-local/index-optimizer
8
+ *
9
+ * @see REQ-YI-IDX-001 - Index Analysis
10
+ * @see REQ-YI-IDX-002 - Composite Index Generation
11
+ * @see REQ-YI-IDX-003 - Query Performance Monitoring
12
+ * @see DES-YATA-IMPROVEMENTS-001 - Design Document
13
+ */
14
+ // ============================================================
15
+ // Constants
16
+ // ============================================================
17
+ /**
18
+ * Common query patterns that benefit from composite indexes
19
+ */
20
+ const COMPOSITE_INDEX_PATTERNS = [
21
+ {
22
+ table: 'entities',
23
+ columns: ['namespace', 'type'],
24
+ reason: 'Frequent filtering by namespace and type together',
25
+ improvement: 40,
26
+ },
27
+ {
28
+ table: 'entities',
29
+ columns: ['type', 'updated_at'],
30
+ reason: 'Recent entities by type query optimization',
31
+ improvement: 35,
32
+ },
33
+ {
34
+ table: 'relationships',
35
+ columns: ['source_id', 'type'],
36
+ reason: 'Outgoing relationships by type lookup',
37
+ improvement: 45,
38
+ },
39
+ {
40
+ table: 'relationships',
41
+ columns: ['target_id', 'type'],
42
+ reason: 'Incoming relationships by type lookup',
43
+ improvement: 45,
44
+ },
45
+ {
46
+ table: 'patterns',
47
+ columns: ['category', 'confidence'],
48
+ reason: 'High-confidence patterns by category query',
49
+ improvement: 30,
50
+ },
51
+ ];
52
+ /**
53
+ * Schema for query logging table
54
+ * @see REQ-YI-IDX-003
55
+ */
56
+ export const QUERY_LOG_SCHEMA = `
57
+ -- Query log table for performance monitoring
58
+ CREATE TABLE IF NOT EXISTS query_log (
59
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
60
+ query_hash TEXT NOT NULL,
61
+ query_pattern TEXT NOT NULL,
62
+ execution_time_ms INTEGER NOT NULL,
63
+ rows_examined INTEGER,
64
+ indexes_used TEXT,
65
+ timestamp TEXT NOT NULL
66
+ );
67
+
68
+ CREATE INDEX IF NOT EXISTS idx_query_log_hash ON query_log(query_hash);
69
+ CREATE INDEX IF NOT EXISTS idx_query_log_timestamp ON query_log(timestamp);
70
+ CREATE INDEX IF NOT EXISTS idx_query_log_time ON query_log(execution_time_ms);
71
+ `;
72
+ // ============================================================
73
+ // IndexOptimizer Class
74
+ // ============================================================
75
+ /**
76
+ * Index Optimizer for YATA Local database
77
+ *
78
+ * Provides index analysis, recommendations, and monitoring capabilities.
79
+ *
80
+ * @example
81
+ * ```typescript
82
+ * const optimizer = new IndexOptimizer(db);
83
+ * const result = await optimizer.analyzeIndexes();
84
+ * console.log(result.recommendations);
85
+ * ```
86
+ *
87
+ * @see REQ-YI-IDX-001
88
+ * @see REQ-YI-IDX-002
89
+ * @see REQ-YI-IDX-003
90
+ */
91
+ export class IndexOptimizer {
92
+ db;
93
+ monitoringEnabled = false;
94
+ constructor(db) {
95
+ this.db = db;
96
+ }
97
+ // ============================================================
98
+ // Index Analysis (REQ-YI-IDX-001)
99
+ // ============================================================
100
+ /**
101
+ * Analyze database indexes and generate recommendations
102
+ *
103
+ * Performance target: Complete within 5 seconds for up to 100,000 entities
104
+ *
105
+ * @param options - Analysis options
106
+ * @returns Index analysis result with recommendations
107
+ *
108
+ * @see REQ-YI-IDX-001
109
+ */
110
+ async analyzeIndexes(options = {}) {
111
+ const startTime = Date.now();
112
+ const { includeQueryStats = true, maxRecommendations = 10, minImprovementThreshold = 10, } = options;
113
+ // Get existing indexes
114
+ const indexes = this.getExistingIndexes();
115
+ // Get table statistics
116
+ const entityCount = this.getTableRowCount('entities');
117
+ const relationshipCount = this.getTableRowCount('relationships');
118
+ // Generate recommendations
119
+ const allRecommendations = this.generateRecommendations(indexes);
120
+ const recommendations = allRecommendations
121
+ .filter(r => r.estimatedImprovement >= minImprovementThreshold)
122
+ .slice(0, maxRecommendations);
123
+ // Get query statistics if available and requested
124
+ let queryStats = [];
125
+ if (includeQueryStats && this.isQueryLogTableExists()) {
126
+ queryStats = this.getQueryStats();
127
+ }
128
+ const analysisTimeMs = Date.now() - startTime;
129
+ return {
130
+ indexes,
131
+ recommendations,
132
+ queryStats,
133
+ analyzedAt: new Date().toISOString(),
134
+ analysisTimeMs,
135
+ databasePath: this.db.name,
136
+ entityCount,
137
+ relationshipCount,
138
+ };
139
+ }
140
+ /**
141
+ * Get all existing indexes in the database
142
+ */
143
+ getExistingIndexes() {
144
+ const tables = ['entities', 'relationships', 'patterns', 'learning_cycles', 'kgprs', 'change_log'];
145
+ const indexes = [];
146
+ for (const table of tables) {
147
+ try {
148
+ const tableIndexes = this.db
149
+ .prepare(`PRAGMA index_list('${table}')`)
150
+ .all();
151
+ for (const idx of tableIndexes) {
152
+ // Skip auto-indexes
153
+ if (idx.name.startsWith('sqlite_autoindex'))
154
+ continue;
155
+ const columns = this.db
156
+ .prepare(`PRAGMA index_info('${idx.name}')`)
157
+ .all();
158
+ // Get row count estimate
159
+ let rowCount = 0;
160
+ try {
161
+ const stat = this.db
162
+ .prepare(`SELECT stat FROM sqlite_stat1 WHERE tbl = ? AND idx = ?`)
163
+ .get(table, idx.name);
164
+ if (stat) {
165
+ rowCount = parseInt(stat.stat.split(' ')[0], 10);
166
+ }
167
+ }
168
+ catch {
169
+ // sqlite_stat1 may not exist if ANALYZE hasn't been run
170
+ }
171
+ indexes.push({
172
+ name: idx.name,
173
+ table,
174
+ columns: columns.map(c => c.name),
175
+ unique: idx.unique === 1,
176
+ rowCount,
177
+ seq: idx.seq,
178
+ });
179
+ }
180
+ }
181
+ catch {
182
+ // Table may not exist
183
+ }
184
+ }
185
+ return indexes;
186
+ }
187
+ /**
188
+ * Generate index recommendations based on analysis
189
+ */
190
+ generateRecommendations(existingIndexes) {
191
+ const recommendations = [];
192
+ const existingIndexSet = new Set(existingIndexes.map(idx => `${idx.table}:${idx.columns.join(',')}`));
193
+ // Check for missing composite indexes
194
+ for (const pattern of COMPOSITE_INDEX_PATTERNS) {
195
+ const key = `${pattern.table}:${pattern.columns.join(',')}`;
196
+ if (!existingIndexSet.has(key)) {
197
+ const indexName = `idx_${pattern.table}_${pattern.columns.join('_')}`;
198
+ recommendations.push({
199
+ type: 'create',
200
+ table: pattern.table,
201
+ columns: pattern.columns,
202
+ reason: pattern.reason,
203
+ estimatedImprovement: pattern.improvement,
204
+ sql: `CREATE INDEX IF NOT EXISTS ${indexName} ON ${pattern.table}(${pattern.columns.join(', ')})`,
205
+ priority: pattern.improvement >= 40 ? 1 : pattern.improvement >= 30 ? 2 : 3,
206
+ });
207
+ }
208
+ }
209
+ // Check for potentially unused indexes based on query patterns
210
+ // This is a heuristic - actual usage requires monitoring data
211
+ const coreIndexes = new Set([
212
+ 'idx_entities_type',
213
+ 'idx_entities_name',
214
+ 'idx_entities_namespace',
215
+ 'idx_relationships_source',
216
+ 'idx_relationships_target',
217
+ ]);
218
+ for (const idx of existingIndexes) {
219
+ if (!coreIndexes.has(idx.name) && idx.rowCount === 0) {
220
+ recommendations.push({
221
+ type: 'drop',
222
+ table: idx.table,
223
+ columns: idx.columns,
224
+ reason: 'Index appears unused (no recorded statistics)',
225
+ estimatedImprovement: 5,
226
+ sql: `DROP INDEX IF EXISTS ${idx.name}`,
227
+ priority: 5,
228
+ });
229
+ }
230
+ }
231
+ // Sort by priority and improvement
232
+ return recommendations.sort((a, b) => {
233
+ if (a.priority !== b.priority)
234
+ return a.priority - b.priority;
235
+ return b.estimatedImprovement - a.estimatedImprovement;
236
+ });
237
+ }
238
+ /**
239
+ * Get row count for a table
240
+ */
241
+ getTableRowCount(table) {
242
+ try {
243
+ const result = this.db
244
+ .prepare(`SELECT COUNT(*) as count FROM ${table}`)
245
+ .get();
246
+ return result.count;
247
+ }
248
+ catch {
249
+ return 0;
250
+ }
251
+ }
252
+ // ============================================================
253
+ // Composite Index Creation (REQ-YI-IDX-002)
254
+ // ============================================================
255
+ /**
256
+ * Create a composite index on the specified table and columns
257
+ *
258
+ * @param table - Table name
259
+ * @param columns - Column names for the composite index
260
+ * @param options - Creation options
261
+ * @returns SQL statement (and executes if options.execute is true)
262
+ *
263
+ * @see REQ-YI-IDX-002
264
+ */
265
+ createCompositeIndex(table, columns, options = {}) {
266
+ const { name, unique = false, execute = true } = options;
267
+ // Generate index name if not provided
268
+ const indexName = name || `idx_${table}_${columns.join('_')}`;
269
+ // Validate table exists
270
+ const tableExists = this.db
271
+ .prepare(`SELECT name FROM sqlite_master WHERE type='table' AND name=?`)
272
+ .get(table);
273
+ if (!tableExists) {
274
+ throw new Error(`Table '${table}' does not exist`);
275
+ }
276
+ // Validate columns exist
277
+ const tableInfo = this.db
278
+ .prepare(`PRAGMA table_info('${table}')`)
279
+ .all();
280
+ const existingColumns = new Set(tableInfo.map(c => c.name));
281
+ for (const col of columns) {
282
+ if (!existingColumns.has(col)) {
283
+ throw new Error(`Column '${col}' does not exist in table '${table}'`);
284
+ }
285
+ }
286
+ // Generate SQL
287
+ const uniqueKeyword = unique ? 'UNIQUE ' : '';
288
+ const sql = `CREATE ${uniqueKeyword}INDEX IF NOT EXISTS ${indexName} ON ${table}(${columns.join(', ')})`;
289
+ // Execute if requested
290
+ if (execute) {
291
+ this.db.exec(sql);
292
+ }
293
+ return sql;
294
+ }
295
+ /**
296
+ * Apply all recommended indexes
297
+ *
298
+ * @param recommendations - List of recommendations to apply
299
+ * @returns Applied index names
300
+ */
301
+ applyRecommendations(recommendations) {
302
+ const applied = [];
303
+ for (const rec of recommendations) {
304
+ if (rec.type === 'create') {
305
+ try {
306
+ this.db.exec(rec.sql);
307
+ const indexName = `idx_${rec.table}_${rec.columns.join('_')}`;
308
+ applied.push(indexName);
309
+ }
310
+ catch (error) {
311
+ // Index might already exist
312
+ console.warn(`Warning: Could not apply index: ${rec.sql}`, error);
313
+ }
314
+ }
315
+ }
316
+ // Run ANALYZE to update statistics
317
+ if (applied.length > 0) {
318
+ this.db.exec('ANALYZE');
319
+ }
320
+ return applied;
321
+ }
322
+ // ============================================================
323
+ // Query Performance Monitoring (REQ-YI-IDX-003)
324
+ // ============================================================
325
+ /**
326
+ * Enable query performance monitoring
327
+ *
328
+ * Creates query_log table if it doesn't exist.
329
+ *
330
+ * @see REQ-YI-IDX-003
331
+ */
332
+ enableMonitoring() {
333
+ this.db.exec(QUERY_LOG_SCHEMA);
334
+ this.monitoringEnabled = true;
335
+ }
336
+ /**
337
+ * Disable query performance monitoring
338
+ */
339
+ disableMonitoring() {
340
+ this.monitoringEnabled = false;
341
+ }
342
+ /**
343
+ * Check if monitoring is enabled
344
+ */
345
+ isMonitoringEnabled() {
346
+ return this.monitoringEnabled;
347
+ }
348
+ /**
349
+ * Log a query execution for monitoring
350
+ *
351
+ * @param queryPattern - Normalized query pattern
352
+ * @param executionTimeMs - Execution time in milliseconds
353
+ * @param rowsExamined - Number of rows examined (optional)
354
+ * @param indexesUsed - List of indexes used (optional)
355
+ */
356
+ logQuery(queryPattern, executionTimeMs, rowsExamined, indexesUsed) {
357
+ if (!this.monitoringEnabled || !this.isQueryLogTableExists())
358
+ return;
359
+ const queryHash = this.hashQuery(queryPattern);
360
+ const timestamp = new Date().toISOString();
361
+ this.db
362
+ .prepare(`INSERT INTO query_log (query_hash, query_pattern, execution_time_ms, rows_examined, indexes_used, timestamp)
363
+ VALUES (?, ?, ?, ?, ?, ?)`)
364
+ .run(queryHash, queryPattern, executionTimeMs, rowsExamined ?? null, indexesUsed ? JSON.stringify(indexesUsed) : null, timestamp);
365
+ }
366
+ /**
367
+ * Get query statistics from monitoring data
368
+ *
369
+ * @param limit - Maximum number of query patterns to return
370
+ * @returns Aggregated query statistics
371
+ */
372
+ getQueryStats(limit = 50) {
373
+ if (!this.isQueryLogTableExists())
374
+ return [];
375
+ const stats = this.db
376
+ .prepare(`SELECT
377
+ query_hash,
378
+ query_pattern,
379
+ AVG(execution_time_ms) as avg_time,
380
+ MIN(execution_time_ms) as min_time,
381
+ MAX(execution_time_ms) as max_time,
382
+ COUNT(*) as exec_count,
383
+ AVG(rows_examined) as avg_rows,
384
+ MAX(timestamp) as last_executed
385
+ FROM query_log
386
+ GROUP BY query_hash
387
+ ORDER BY avg_time DESC
388
+ LIMIT ?`)
389
+ .all(limit);
390
+ return stats.map(s => ({
391
+ queryPattern: s.query_pattern,
392
+ queryHash: s.query_hash,
393
+ avgTimeMs: Math.round(s.avg_time * 100) / 100,
394
+ minTimeMs: s.min_time,
395
+ maxTimeMs: s.max_time,
396
+ executionCount: s.exec_count,
397
+ avgRowsExamined: s.avg_rows ? Math.round(s.avg_rows) : 0,
398
+ indexesUsed: [], // Would need to aggregate from individual logs
399
+ lastExecuted: s.last_executed,
400
+ }));
401
+ }
402
+ /**
403
+ * Get slow queries (queries exceeding threshold)
404
+ *
405
+ * @param thresholdMs - Minimum execution time to consider slow
406
+ * @param limit - Maximum results to return
407
+ * @returns Slow query entries
408
+ */
409
+ getSlowQueries(thresholdMs = 100, limit = 20) {
410
+ if (!this.isQueryLogTableExists())
411
+ return [];
412
+ const stats = this.db
413
+ .prepare(`SELECT
414
+ query_hash,
415
+ query_pattern,
416
+ AVG(execution_time_ms) as avg_time,
417
+ MIN(execution_time_ms) as min_time,
418
+ MAX(execution_time_ms) as max_time,
419
+ COUNT(*) as exec_count,
420
+ AVG(rows_examined) as avg_rows,
421
+ MAX(timestamp) as last_executed
422
+ FROM query_log
423
+ GROUP BY query_hash
424
+ HAVING avg_time >= ?
425
+ ORDER BY avg_time DESC
426
+ LIMIT ?`)
427
+ .all(thresholdMs, limit);
428
+ return stats.map(s => ({
429
+ queryPattern: s.query_pattern,
430
+ queryHash: s.query_hash,
431
+ avgTimeMs: Math.round(s.avg_time * 100) / 100,
432
+ minTimeMs: s.min_time,
433
+ maxTimeMs: s.max_time,
434
+ executionCount: s.exec_count,
435
+ avgRowsExamined: s.avg_rows ? Math.round(s.avg_rows) : 0,
436
+ indexesUsed: [],
437
+ lastExecuted: s.last_executed,
438
+ }));
439
+ }
440
+ /**
441
+ * Clear query log (older than specified days)
442
+ *
443
+ * @param olderThanDays - Delete logs older than this many days (0 = all)
444
+ * @returns Number of deleted entries
445
+ */
446
+ clearQueryLog(olderThanDays = 30) {
447
+ if (!this.isQueryLogTableExists())
448
+ return 0;
449
+ if (olderThanDays === 0) {
450
+ const result = this.db.prepare('DELETE FROM query_log').run();
451
+ return result.changes;
452
+ }
453
+ const cutoffDate = new Date();
454
+ cutoffDate.setDate(cutoffDate.getDate() - olderThanDays);
455
+ const cutoffIso = cutoffDate.toISOString();
456
+ const result = this.db
457
+ .prepare('DELETE FROM query_log WHERE timestamp < ?')
458
+ .run(cutoffIso);
459
+ return result.changes;
460
+ }
461
+ // ============================================================
462
+ // Helper Methods
463
+ // ============================================================
464
+ /**
465
+ * Check if query_log table exists
466
+ */
467
+ isQueryLogTableExists() {
468
+ const result = this.db
469
+ .prepare(`SELECT name FROM sqlite_master WHERE type='table' AND name='query_log'`)
470
+ .get();
471
+ return !!result;
472
+ }
473
+ /**
474
+ * Generate a hash for query pattern grouping
475
+ */
476
+ hashQuery(query) {
477
+ // Simple hash for grouping similar queries
478
+ let hash = 0;
479
+ const normalized = query
480
+ .toLowerCase()
481
+ .replace(/\s+/g, ' ')
482
+ .replace(/\d+/g, '?')
483
+ .replace(/'[^']*'/g, '?')
484
+ .trim();
485
+ for (let i = 0; i < normalized.length; i++) {
486
+ const char = normalized.charCodeAt(i);
487
+ hash = (hash << 5) - hash + char;
488
+ hash = hash & hash; // Convert to 32-bit integer
489
+ }
490
+ return Math.abs(hash).toString(16).padStart(8, '0');
491
+ }
492
+ /**
493
+ * Run ANALYZE to update SQLite statistics
494
+ */
495
+ runAnalyze() {
496
+ this.db.exec('ANALYZE');
497
+ }
498
+ /**
499
+ * Get database statistics summary
500
+ */
501
+ getDatabaseStats() {
502
+ const entityCount = this.getTableRowCount('entities');
503
+ const relationshipCount = this.getTableRowCount('relationships');
504
+ const patternCount = this.getTableRowCount('patterns');
505
+ const indexes = this.getExistingIndexes();
506
+ // Get database size
507
+ let dbSizeBytes = 0;
508
+ try {
509
+ const pageCount = this.db.prepare('PRAGMA page_count').get().page_count;
510
+ const pageSize = this.db.prepare('PRAGMA page_size').get().page_size;
511
+ dbSizeBytes = pageCount * pageSize;
512
+ }
513
+ catch {
514
+ // Fallback
515
+ }
516
+ return {
517
+ entityCount,
518
+ relationshipCount,
519
+ patternCount,
520
+ indexCount: indexes.length,
521
+ dbSizeBytes,
522
+ };
523
+ }
524
+ }
525
+ //# sourceMappingURL=index-optimizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-optimizer.js","sourceRoot":"","sources":["../src/index-optimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAqHH,+DAA+D;AAC/D,YAAY;AACZ,+DAA+D;AAE/D;;GAEG;AACH,MAAM,wBAAwB,GAKzB;IACH;QACE,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;QAC9B,MAAM,EAAE,mDAAmD;QAC3D,WAAW,EAAE,EAAE;KAChB;IACD;QACE,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC;QAC/B,MAAM,EAAE,4CAA4C;QACpD,WAAW,EAAE,EAAE;KAChB;IACD;QACE,KAAK,EAAE,eAAe;QACtB,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;QAC9B,MAAM,EAAE,uCAAuC;QAC/C,WAAW,EAAE,EAAE;KAChB;IACD;QACE,KAAK,EAAE,eAAe;QACtB,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;QAC9B,MAAM,EAAE,uCAAuC;QAC/C,WAAW,EAAE,EAAE;KAChB;IACD;QACE,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC;QACnC,MAAM,EAAE,4CAA4C;QACpD,WAAW,EAAE,EAAE;KAChB;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;CAe/B,CAAC;AAEF,+DAA+D;AAC/D,uBAAuB;AACvB,+DAA+D;AAE/D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,cAAc;IACjB,EAAE,CAAoB;IACtB,iBAAiB,GAAY,KAAK,CAAC;IAE3C,YAAY,EAAqB;QAC/B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAED,+DAA+D;IAC/D,kCAAkC;IAClC,+DAA+D;IAE/D;;;;;;;;;OASG;IACH,KAAK,CAAC,cAAc,CAAC,UAA2B,EAAE;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,EACJ,iBAAiB,GAAG,IAAI,EACxB,kBAAkB,GAAG,EAAE,EACvB,uBAAuB,GAAG,EAAE,GAC7B,GAAG,OAAO,CAAC;QAEZ,uBAAuB;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1C,uBAAuB;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAEjE,2BAA2B;QAC3B,MAAM,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACjE,MAAM,eAAe,GAAG,kBAAkB;aACvC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,IAAI,uBAAuB,CAAC;aAC9D,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;QAEhC,kDAAkD;QAClD,IAAI,UAAU,GAAiB,EAAE,CAAC;QAClC,IAAI,iBAAiB,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC;YACtD,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAE9C,OAAO;YACL,OAAO;YACP,eAAe;YACf,UAAU;YACV,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,cAAc;YACd,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI;YAC1B,WAAW;YACX,iBAAiB;SAClB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,iBAAiB,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QACnG,MAAM,OAAO,GAAgB,EAAE,CAAC;QAEhC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE;qBACzB,OAAO,CAAC,sBAAsB,KAAK,IAAI,CAAC;qBACxC,GAAG,EAA0D,CAAC;gBAEjE,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;oBAC/B,oBAAoB;oBACpB,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;wBAAE,SAAS;oBAEtD,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE;yBACpB,OAAO,CAAC,sBAAsB,GAAG,CAAC,IAAI,IAAI,CAAC;yBAC3C,GAAG,EAA6B,CAAC;oBAEpC,yBAAyB;oBACzB,IAAI,QAAQ,GAAG,CAAC,CAAC;oBACjB,IAAI,CAAC;wBACH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;6BACjB,OAAO,CAAC,yDAAyD,CAAC;6BAClE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAiC,CAAC;wBACxD,IAAI,IAAI,EAAE,CAAC;4BACT,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACnD,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,wDAAwD;oBAC1D,CAAC;oBAED,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,KAAK;wBACL,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;wBACjC,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,CAAC;wBACxB,QAAQ;wBACR,GAAG,EAAE,GAAG,CAAC,GAAG;qBACb,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,eAA4B;QAC1D,MAAM,eAAe,GAA0B,EAAE,CAAC;QAClD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CACpE,CAAC;QAEF,sCAAsC;QACtC,KAAK,MAAM,OAAO,IAAI,wBAAwB,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtE,eAAe,CAAC,IAAI,CAAC;oBACnB,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,oBAAoB,EAAE,OAAO,CAAC,WAAW;oBACzC,GAAG,EAAE,8BAA8B,SAAS,OAAO,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;oBACjG,QAAQ,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC5E,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,8DAA8D;QAC9D,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;YAC1B,mBAAmB;YACnB,mBAAmB;YACnB,wBAAwB;YACxB,0BAA0B;YAC1B,0BAA0B;SAC3B,CAAC,CAAC;QAEH,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACrD,eAAe,CAAC,IAAI,CAAC;oBACnB,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,MAAM,EAAE,+CAA+C;oBACvD,oBAAoB,EAAE,CAAC;oBACvB,GAAG,EAAE,wBAAwB,GAAG,CAAC,IAAI,EAAE;oBACvC,QAAQ,EAAE,CAAC;iBACZ,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ;gBAAE,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;YAC9D,OAAO,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,oBAAoB,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,KAAa;QACpC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;iBACnB,OAAO,CAAC,iCAAiC,KAAK,EAAE,CAAC;iBACjD,GAAG,EAAuB,CAAC;YAC9B,OAAO,MAAM,CAAC,KAAK,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,4CAA4C;IAC5C,+DAA+D;IAE/D;;;;;;;;;OASG;IACH,oBAAoB,CAClB,KAAa,EACb,OAAiB,EACjB,UAAiC,EAAE;QAEnC,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAEzD,sCAAsC;QACtC,MAAM,SAAS,GAAG,IAAI,IAAI,OAAO,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAE9D,wBAAwB;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE;aACxB,OAAO,CAAC,8DAA8D,CAAC;aACvE,GAAG,CAAC,KAAK,CAAC,CAAC;QAEd,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,kBAAkB,CAAC,CAAC;QACrD,CAAC;QAED,yBAAyB;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE;aACtB,OAAO,CAAC,sBAAsB,KAAK,IAAI,CAAC;aACxC,GAAG,EAA6B,CAAC;QACpC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5D,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,WAAW,GAAG,8BAA8B,KAAK,GAAG,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,eAAe;QACf,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,UAAU,aAAa,uBAAuB,SAAS,OAAO,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAEzG,uBAAuB;QACvB,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,eAAsC;QACzD,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;YAClC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACtB,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC9D,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC1B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,4BAA4B;oBAC5B,OAAO,CAAC,IAAI,CAAC,mCAAmC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,+DAA+D;IAC/D,gDAAgD;IAChD,+DAA+D;IAE/D;;;;;;OAMG;IACH,gBAAgB;QACd,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACH,QAAQ,CACN,YAAoB,EACpB,eAAuB,EACvB,YAAqB,EACrB,WAAsB;QAEtB,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAAE,OAAO;QAErE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE3C,IAAI,CAAC,EAAE;aACJ,OAAO,CACN;mCAC2B,CAC5B;aACA,GAAG,CACF,SAAS,EACT,YAAY,EACZ,eAAe,EACf,YAAY,IAAI,IAAI,EACpB,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAChD,SAAS,CACV,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,QAAgB,EAAE;QAC9B,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAAE,OAAO,EAAE,CAAC;QAE7C,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE;aAClB,OAAO,CACN;;;;;;;;;;;;iBAYS,CACV;aACA,GAAG,CAAC,KAAK,CASR,CAAC;QAEL,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrB,YAAY,EAAE,CAAC,CAAC,aAAa;YAC7B,SAAS,EAAE,CAAC,CAAC,UAAU;YACvB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,GAAG;YAC7C,SAAS,EAAE,CAAC,CAAC,QAAQ;YACrB,SAAS,EAAE,CAAC,CAAC,QAAQ;YACrB,cAAc,EAAE,CAAC,CAAC,UAAU;YAC5B,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,WAAW,EAAE,EAAE,EAAE,+CAA+C;YAChE,YAAY,EAAE,CAAC,CAAC,aAAa;SAC9B,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CACZ,cAAsB,GAAG,EACzB,QAAgB,EAAE;QAElB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAAE,OAAO,EAAE,CAAC;QAE7C,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE;aAClB,OAAO,CACN;;;;;;;;;;;;;iBAaS,CACV;aACA,GAAG,CAAC,WAAW,EAAE,KAAK,CASrB,CAAC;QAEL,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrB,YAAY,EAAE,CAAC,CAAC,aAAa;YAC7B,SAAS,EAAE,CAAC,CAAC,UAAU;YACvB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,GAAG;YAC7C,SAAS,EAAE,CAAC,CAAC,QAAQ;YACrB,SAAS,EAAE,CAAC,CAAC,QAAQ;YACrB,cAAc,EAAE,CAAC,CAAC,UAAU;YAC5B,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,CAAC,CAAC,aAAa;SAC9B,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,gBAAwB,EAAE;QACtC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAAE,OAAO,CAAC,CAAC;QAE5C,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,GAAG,EAAE,CAAC;YAC9D,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAC9B,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,aAAa,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAE3C,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CAAC,2CAA2C,CAAC;aACpD,GAAG,CAAC,SAAS,CAAC,CAAC;QAElB,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,+DAA+D;IAC/D,iBAAiB;IACjB,+DAA+D;IAE/D;;OAEG;IACK,qBAAqB;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CAAC,wEAAwE,CAAC;aACjF,GAAG,EAAE,CAAC;QACT,OAAO,CAAC,CAAC,MAAM,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,KAAa;QAC7B,2CAA2C;QAC3C,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,MAAM,UAAU,GAAG,KAAK;aACrB,WAAW,EAAE;aACb,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aACpB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;aACpB,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;aACxB,IAAI,EAAE,CAAC;QAEV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;YACjC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,4BAA4B;QAClD,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,gBAAgB;QAOd,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAEvD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1C,oBAAoB;QACpB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,SAAS,GAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,GAAG,EAA6B,CAAC,UAAU,CAAC;YACpG,MAAM,QAAQ,GAAI,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAA4B,CAAC,SAAS,CAAC;YAChG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,WAAW;QACb,CAAC;QAED,OAAO;YACL,WAAW;YACX,iBAAiB;YACjB,YAAY;YACZ,UAAU,EAAE,OAAO,CAAC,MAAM;YAC1B,WAAW;SACZ,CAAC;IACJ,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -248,6 +248,36 @@ export declare class YataLocal {
248
248
  * @see REQ-YL-IO-001
249
249
  */
250
250
  exportRdf(filePath?: string, options?: RdfExportOptions): Promise<string>;
251
+ /**
252
+ * Unified export API supporting multiple formats (JSON, RDF, GraphML)
253
+ * Performance target: 30 seconds for up to 100,000 entities
254
+ *
255
+ * @param options - Export options (format, namespace filter, output path)
256
+ * @returns Export result with content or file path
257
+ *
258
+ * @see REQ-YI-EXP-001
259
+ */
260
+ export(options: import('./io.js').ExportOptions): Promise<import('./io.js').ExportResult>;
261
+ /**
262
+ * Unified import API supporting multiple formats
263
+ *
264
+ * @param input - File path or content string
265
+ * @param options - Import options (format, merge strategy)
266
+ * @returns Import result with statistics
267
+ *
268
+ * @see REQ-YI-EXP-002
269
+ */
270
+ import(input: string, options: import('./io.js').ImportOptions): Promise<import('./io.js').ImportResult>;
271
+ /**
272
+ * Export incremental changes since a specific date
273
+ *
274
+ * @param since - Export changes since this date
275
+ * @param options - Export options (format, output path)
276
+ * @returns Export result with only changed entities
277
+ *
278
+ * @see REQ-YI-EXP-003
279
+ */
280
+ exportIncremental(since: Date, options?: Omit<import('./io.js').ExportOptions, 'since'>): Promise<import('./io.js').ExportResult>;
251
281
  /**
252
282
  * Compute delta between states
253
283
  * @see REQ-YL-IO-004
@@ -288,11 +318,15 @@ export * from './types.js';
288
318
  export { YataDatabase } from './database.js';
289
319
  export { QueryEngine } from './query-engine.js';
290
320
  export { ReasoningEngine, type InferenceResult } from './reasoning.js';
291
- export { IoModule, type JsonExport, type RdfExportOptions } from './io.js';
321
+ export { IoModule, type JsonExport, type RdfExportOptions, type EnhancedJsonExport, type ExportOptions, type ImportOptions, type ExportResult, type ImportResult, } from './io.js';
292
322
  export { KnowledgeGraphUpdater, createKnowledgeGraphUpdater, type ExtractedEntity, type ExtractedRelationship, type CodeAnalysisResult, type UpdateResult, } from './auto-updater.js';
293
323
  export { YataBridge, createYataBridge, type YataBridgeConfig, } from './yata-bridge.js';
294
324
  export { LocalKGPRManager, createLocalKGPRManager, LocalPrivacyFilter, createLocalPrivacyFilter, LocalDiffEngine, createLocalDiffEngine, } from './kgpr/index.js';
295
325
  export type { LocalKGPRInfo, LocalKGPRDiff, LocalKGPRReviewEntry, LocalEntityChange, LocalRelationshipChange, LocalDiffStats, CreateLocalKGPROptions, ListLocalKGPROptions, LocalPrivacyFilterConfig, KGSnapshot, DiffOptions, } from './kgpr/types.js';
296
326
  export { LocalWakeSleepCycle, createLocalWakeSleepCycle, LocalWakePhase, createLocalWakePhase, LocalSleepPhase, createLocalSleepPhase, LocalPatternCompressor, createLocalPatternCompressor, DEFAULT_WAKE_SLEEP_CONFIG, } from './wake-sleep/index.js';
297
327
  export type { LocalPatternCandidate, LocalPatternType, LocalPatternCluster, LocalConsolidatedPattern, WakeObserveOptions, WakeObserveResult, SleepClusterOptions, SleepClusterResult, CompressOptions, LocalLearningCycleResult, LocalLearningCycleMetadata, LearningCycleStatus, SimilarityMethod, WakeSleepConfig, } from './wake-sleep/types.js';
328
+ export { IndexOptimizer, QUERY_LOG_SCHEMA, } from './index-optimizer.js';
329
+ export type { IndexInfo, IndexRecommendation, QueryStats, IndexAnalysisResult, AnalysisOptions, CompositeIndexOptions, } from './index-optimizer.js';
330
+ export { GlobalSyncManager, createGlobalSyncManager, DEFAULT_SYNC_CONFIG, } from './sync.js';
331
+ export type { SyncConfig, SyncState, SyncStatus, SyncConflict, SyncResult, ChangeSet, SyncResponse, } from './sync.js';
298
332
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}