@danielsimonjr/memoryjs 1.0.0 → 1.2.0
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/README.md +385 -113
- package/README.md.backup-1768084780988 +266 -0
- package/dist/index.cjs +24156 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +16967 -0
- package/dist/index.d.ts +16963 -11
- package/dist/index.js +23887 -19
- package/dist/index.js.map +1 -1
- package/dist/workers/levenshteinWorker.cjs +102 -0
- package/dist/workers/levenshteinWorker.cjs.map +1 -0
- package/dist/workers/levenshteinWorker.js +57 -91
- package/dist/workers/levenshteinWorker.js.map +1 -1
- package/package.json +75 -69
- package/dist/core/EntityManager.d.ts +0 -268
- package/dist/core/EntityManager.d.ts.map +0 -1
- package/dist/core/EntityManager.js +0 -512
- package/dist/core/EntityManager.js.map +0 -1
- package/dist/core/GraphEventEmitter.d.ts +0 -202
- package/dist/core/GraphEventEmitter.d.ts.map +0 -1
- package/dist/core/GraphEventEmitter.js +0 -347
- package/dist/core/GraphEventEmitter.js.map +0 -1
- package/dist/core/GraphStorage.d.ts +0 -395
- package/dist/core/GraphStorage.d.ts.map +0 -1
- package/dist/core/GraphStorage.js +0 -786
- package/dist/core/GraphStorage.js.map +0 -1
- package/dist/core/GraphTraversal.d.ts +0 -141
- package/dist/core/GraphTraversal.d.ts.map +0 -1
- package/dist/core/GraphTraversal.js +0 -574
- package/dist/core/GraphTraversal.js.map +0 -1
- package/dist/core/HierarchyManager.d.ts +0 -111
- package/dist/core/HierarchyManager.d.ts.map +0 -1
- package/dist/core/HierarchyManager.js +0 -225
- package/dist/core/HierarchyManager.js.map +0 -1
- package/dist/core/ManagerContext.d.ts +0 -76
- package/dist/core/ManagerContext.d.ts.map +0 -1
- package/dist/core/ManagerContext.js +0 -129
- package/dist/core/ManagerContext.js.map +0 -1
- package/dist/core/ObservationManager.d.ts +0 -85
- package/dist/core/ObservationManager.d.ts.map +0 -1
- package/dist/core/ObservationManager.js +0 -124
- package/dist/core/ObservationManager.js.map +0 -1
- package/dist/core/RelationManager.d.ts +0 -131
- package/dist/core/RelationManager.d.ts.map +0 -1
- package/dist/core/RelationManager.js +0 -212
- package/dist/core/RelationManager.js.map +0 -1
- package/dist/core/SQLiteStorage.d.ts +0 -354
- package/dist/core/SQLiteStorage.d.ts.map +0 -1
- package/dist/core/SQLiteStorage.js +0 -919
- package/dist/core/SQLiteStorage.js.map +0 -1
- package/dist/core/StorageFactory.d.ts +0 -45
- package/dist/core/StorageFactory.d.ts.map +0 -1
- package/dist/core/StorageFactory.js +0 -65
- package/dist/core/StorageFactory.js.map +0 -1
- package/dist/core/TransactionManager.d.ts +0 -464
- package/dist/core/TransactionManager.d.ts.map +0 -1
- package/dist/core/TransactionManager.js +0 -869
- package/dist/core/TransactionManager.js.map +0 -1
- package/dist/core/index.d.ts +0 -17
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -20
- package/dist/core/index.js.map +0 -1
- package/dist/features/AnalyticsManager.d.ts +0 -44
- package/dist/features/AnalyticsManager.d.ts.map +0 -1
- package/dist/features/AnalyticsManager.js +0 -224
- package/dist/features/AnalyticsManager.js.map +0 -1
- package/dist/features/ArchiveManager.d.ts +0 -133
- package/dist/features/ArchiveManager.d.ts.map +0 -1
- package/dist/features/ArchiveManager.js +0 -282
- package/dist/features/ArchiveManager.js.map +0 -1
- package/dist/features/CompressionManager.d.ts +0 -119
- package/dist/features/CompressionManager.d.ts.map +0 -1
- package/dist/features/CompressionManager.js +0 -470
- package/dist/features/CompressionManager.js.map +0 -1
- package/dist/features/IOManager.d.ts +0 -225
- package/dist/features/IOManager.d.ts.map +0 -1
- package/dist/features/IOManager.js +0 -1093
- package/dist/features/IOManager.js.map +0 -1
- package/dist/features/KeywordExtractor.d.ts +0 -61
- package/dist/features/KeywordExtractor.d.ts.map +0 -1
- package/dist/features/KeywordExtractor.js +0 -127
- package/dist/features/KeywordExtractor.js.map +0 -1
- package/dist/features/ObservationNormalizer.d.ts +0 -90
- package/dist/features/ObservationNormalizer.d.ts.map +0 -1
- package/dist/features/ObservationNormalizer.js +0 -194
- package/dist/features/ObservationNormalizer.js.map +0 -1
- package/dist/features/StreamingExporter.d.ts +0 -128
- package/dist/features/StreamingExporter.d.ts.map +0 -1
- package/dist/features/StreamingExporter.js +0 -212
- package/dist/features/StreamingExporter.js.map +0 -1
- package/dist/features/TagManager.d.ts +0 -147
- package/dist/features/TagManager.d.ts.map +0 -1
- package/dist/features/TagManager.js +0 -211
- package/dist/features/TagManager.js.map +0 -1
- package/dist/features/index.d.ts +0 -14
- package/dist/features/index.d.ts.map +0 -1
- package/dist/features/index.js +0 -15
- package/dist/features/index.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/search/BM25Search.d.ts +0 -148
- package/dist/search/BM25Search.d.ts.map +0 -1
- package/dist/search/BM25Search.js +0 -340
- package/dist/search/BM25Search.js.map +0 -1
- package/dist/search/BasicSearch.d.ts +0 -51
- package/dist/search/BasicSearch.d.ts.map +0 -1
- package/dist/search/BasicSearch.js +0 -138
- package/dist/search/BasicSearch.js.map +0 -1
- package/dist/search/BooleanSearch.d.ts +0 -98
- package/dist/search/BooleanSearch.d.ts.map +0 -1
- package/dist/search/BooleanSearch.js +0 -431
- package/dist/search/BooleanSearch.js.map +0 -1
- package/dist/search/EarlyTerminationManager.d.ts +0 -140
- package/dist/search/EarlyTerminationManager.d.ts.map +0 -1
- package/dist/search/EarlyTerminationManager.js +0 -280
- package/dist/search/EarlyTerminationManager.js.map +0 -1
- package/dist/search/EmbeddingCache.d.ts +0 -175
- package/dist/search/EmbeddingCache.d.ts.map +0 -1
- package/dist/search/EmbeddingCache.js +0 -247
- package/dist/search/EmbeddingCache.js.map +0 -1
- package/dist/search/EmbeddingService.d.ts +0 -277
- package/dist/search/EmbeddingService.d.ts.map +0 -1
- package/dist/search/EmbeddingService.js +0 -531
- package/dist/search/EmbeddingService.js.map +0 -1
- package/dist/search/FuzzySearch.d.ts +0 -118
- package/dist/search/FuzzySearch.d.ts.map +0 -1
- package/dist/search/FuzzySearch.js +0 -313
- package/dist/search/FuzzySearch.js.map +0 -1
- package/dist/search/HybridScorer.d.ts +0 -181
- package/dist/search/HybridScorer.d.ts.map +0 -1
- package/dist/search/HybridScorer.js +0 -258
- package/dist/search/HybridScorer.js.map +0 -1
- package/dist/search/HybridSearchManager.d.ts +0 -80
- package/dist/search/HybridSearchManager.d.ts.map +0 -1
- package/dist/search/HybridSearchManager.js +0 -188
- package/dist/search/HybridSearchManager.js.map +0 -1
- package/dist/search/IncrementalIndexer.d.ts +0 -201
- package/dist/search/IncrementalIndexer.d.ts.map +0 -1
- package/dist/search/IncrementalIndexer.js +0 -343
- package/dist/search/IncrementalIndexer.js.map +0 -1
- package/dist/search/OptimizedInvertedIndex.d.ts +0 -163
- package/dist/search/OptimizedInvertedIndex.d.ts.map +0 -1
- package/dist/search/OptimizedInvertedIndex.js +0 -359
- package/dist/search/OptimizedInvertedIndex.js.map +0 -1
- package/dist/search/ParallelSearchExecutor.d.ts +0 -172
- package/dist/search/ParallelSearchExecutor.d.ts.map +0 -1
- package/dist/search/ParallelSearchExecutor.js +0 -310
- package/dist/search/ParallelSearchExecutor.js.map +0 -1
- package/dist/search/QuantizedVectorStore.d.ts +0 -171
- package/dist/search/QuantizedVectorStore.d.ts.map +0 -1
- package/dist/search/QuantizedVectorStore.js +0 -308
- package/dist/search/QuantizedVectorStore.js.map +0 -1
- package/dist/search/QueryAnalyzer.d.ts +0 -76
- package/dist/search/QueryAnalyzer.d.ts.map +0 -1
- package/dist/search/QueryAnalyzer.js +0 -228
- package/dist/search/QueryAnalyzer.js.map +0 -1
- package/dist/search/QueryCostEstimator.d.ts +0 -244
- package/dist/search/QueryCostEstimator.d.ts.map +0 -1
- package/dist/search/QueryCostEstimator.js +0 -653
- package/dist/search/QueryCostEstimator.js.map +0 -1
- package/dist/search/QueryPlanCache.d.ts +0 -220
- package/dist/search/QueryPlanCache.d.ts.map +0 -1
- package/dist/search/QueryPlanCache.js +0 -380
- package/dist/search/QueryPlanCache.js.map +0 -1
- package/dist/search/QueryPlanner.d.ts +0 -58
- package/dist/search/QueryPlanner.d.ts.map +0 -1
- package/dist/search/QueryPlanner.js +0 -138
- package/dist/search/QueryPlanner.js.map +0 -1
- package/dist/search/RankedSearch.d.ts +0 -71
- package/dist/search/RankedSearch.d.ts.map +0 -1
- package/dist/search/RankedSearch.js +0 -239
- package/dist/search/RankedSearch.js.map +0 -1
- package/dist/search/ReflectionManager.d.ts +0 -120
- package/dist/search/ReflectionManager.d.ts.map +0 -1
- package/dist/search/ReflectionManager.js +0 -232
- package/dist/search/ReflectionManager.js.map +0 -1
- package/dist/search/SavedSearchManager.d.ts +0 -79
- package/dist/search/SavedSearchManager.d.ts.map +0 -1
- package/dist/search/SavedSearchManager.js +0 -147
- package/dist/search/SavedSearchManager.js.map +0 -1
- package/dist/search/SearchFilterChain.d.ts +0 -120
- package/dist/search/SearchFilterChain.d.ts.map +0 -1
- package/dist/search/SearchFilterChain.js +0 -186
- package/dist/search/SearchFilterChain.js.map +0 -1
- package/dist/search/SearchManager.d.ts +0 -326
- package/dist/search/SearchManager.d.ts.map +0 -1
- package/dist/search/SearchManager.js +0 -454
- package/dist/search/SearchManager.js.map +0 -1
- package/dist/search/SearchSuggestions.d.ts +0 -27
- package/dist/search/SearchSuggestions.d.ts.map +0 -1
- package/dist/search/SearchSuggestions.js +0 -58
- package/dist/search/SearchSuggestions.js.map +0 -1
- package/dist/search/SemanticSearch.d.ts +0 -149
- package/dist/search/SemanticSearch.d.ts.map +0 -1
- package/dist/search/SemanticSearch.js +0 -324
- package/dist/search/SemanticSearch.js.map +0 -1
- package/dist/search/SymbolicSearch.d.ts +0 -61
- package/dist/search/SymbolicSearch.d.ts.map +0 -1
- package/dist/search/SymbolicSearch.js +0 -164
- package/dist/search/SymbolicSearch.js.map +0 -1
- package/dist/search/TFIDFEventSync.d.ts +0 -85
- package/dist/search/TFIDFEventSync.d.ts.map +0 -1
- package/dist/search/TFIDFEventSync.js +0 -134
- package/dist/search/TFIDFEventSync.js.map +0 -1
- package/dist/search/TFIDFIndexManager.d.ts +0 -151
- package/dist/search/TFIDFIndexManager.d.ts.map +0 -1
- package/dist/search/TFIDFIndexManager.js +0 -433
- package/dist/search/TFIDFIndexManager.js.map +0 -1
- package/dist/search/VectorStore.d.ts +0 -235
- package/dist/search/VectorStore.d.ts.map +0 -1
- package/dist/search/VectorStore.js +0 -312
- package/dist/search/VectorStore.js.map +0 -1
- package/dist/search/index.d.ts +0 -35
- package/dist/search/index.d.ts.map +0 -1
- package/dist/search/index.js +0 -53
- package/dist/search/index.js.map +0 -1
- package/dist/types/index.d.ts +0 -13
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -13
- package/dist/types/index.js.map +0 -1
- package/dist/types/types.d.ts +0 -1811
- package/dist/types/types.d.ts.map +0 -1
- package/dist/types/types.js +0 -10
- package/dist/types/types.js.map +0 -1
- package/dist/utils/BatchProcessor.d.ts +0 -271
- package/dist/utils/BatchProcessor.d.ts.map +0 -1
- package/dist/utils/BatchProcessor.js +0 -377
- package/dist/utils/BatchProcessor.js.map +0 -1
- package/dist/utils/MemoryMonitor.d.ts +0 -176
- package/dist/utils/MemoryMonitor.d.ts.map +0 -1
- package/dist/utils/MemoryMonitor.js +0 -306
- package/dist/utils/MemoryMonitor.js.map +0 -1
- package/dist/utils/WorkerPoolManager.d.ts +0 -233
- package/dist/utils/WorkerPoolManager.d.ts.map +0 -1
- package/dist/utils/WorkerPoolManager.js +0 -421
- package/dist/utils/WorkerPoolManager.js.map +0 -1
- package/dist/utils/compressedCache.d.ts +0 -221
- package/dist/utils/compressedCache.d.ts.map +0 -1
- package/dist/utils/compressedCache.js +0 -349
- package/dist/utils/compressedCache.js.map +0 -1
- package/dist/utils/compressionUtil.d.ts +0 -214
- package/dist/utils/compressionUtil.d.ts.map +0 -1
- package/dist/utils/compressionUtil.js +0 -248
- package/dist/utils/compressionUtil.js.map +0 -1
- package/dist/utils/constants.d.ts +0 -245
- package/dist/utils/constants.d.ts.map +0 -1
- package/dist/utils/constants.js +0 -253
- package/dist/utils/constants.js.map +0 -1
- package/dist/utils/entityUtils.d.ts +0 -379
- package/dist/utils/entityUtils.d.ts.map +0 -1
- package/dist/utils/entityUtils.js +0 -649
- package/dist/utils/entityUtils.js.map +0 -1
- package/dist/utils/errors.d.ts +0 -95
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/errors.js +0 -146
- package/dist/utils/errors.js.map +0 -1
- package/dist/utils/formatters.d.ts +0 -145
- package/dist/utils/formatters.d.ts.map +0 -1
- package/dist/utils/formatters.js +0 -133
- package/dist/utils/formatters.js.map +0 -1
- package/dist/utils/index.d.ts +0 -26
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -88
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/indexes.d.ts +0 -270
- package/dist/utils/indexes.d.ts.map +0 -1
- package/dist/utils/indexes.js +0 -527
- package/dist/utils/indexes.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -31
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -41
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/operationUtils.d.ts +0 -124
- package/dist/utils/operationUtils.d.ts.map +0 -1
- package/dist/utils/operationUtils.js +0 -176
- package/dist/utils/operationUtils.js.map +0 -1
- package/dist/utils/parallelUtils.d.ts +0 -76
- package/dist/utils/parallelUtils.d.ts.map +0 -1
- package/dist/utils/parallelUtils.js +0 -192
- package/dist/utils/parallelUtils.js.map +0 -1
- package/dist/utils/schemas.d.ts +0 -556
- package/dist/utils/schemas.d.ts.map +0 -1
- package/dist/utils/schemas.js +0 -485
- package/dist/utils/schemas.js.map +0 -1
- package/dist/utils/searchAlgorithms.d.ts +0 -99
- package/dist/utils/searchAlgorithms.d.ts.map +0 -1
- package/dist/utils/searchAlgorithms.js +0 -168
- package/dist/utils/searchAlgorithms.js.map +0 -1
- package/dist/utils/searchCache.d.ts +0 -108
- package/dist/utils/searchCache.d.ts.map +0 -1
- package/dist/utils/searchCache.js +0 -210
- package/dist/utils/searchCache.js.map +0 -1
- package/dist/utils/taskScheduler.d.ts +0 -294
- package/dist/utils/taskScheduler.d.ts.map +0 -1
- package/dist/utils/taskScheduler.js +0 -487
- package/dist/utils/taskScheduler.js.map +0 -1
- package/dist/workers/index.d.ts +0 -12
- package/dist/workers/index.d.ts.map +0 -1
- package/dist/workers/index.js +0 -10
- package/dist/workers/index.js.map +0 -1
- package/dist/workers/levenshteinWorker.d.ts +0 -60
- package/dist/workers/levenshteinWorker.d.ts.map +0 -1
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
# @danielsimonjr/memoryjs
|
|
2
|
+
|
|
3
|
+
Core knowledge graph library for managing entities, relations, and observations with advanced search capabilities.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Entity Management**: Create, read, update, delete entities with observations
|
|
8
|
+
- **Relation Management**: Connect entities with typed relationships
|
|
9
|
+
- **Hierarchical Organization**: Parent-child entity nesting
|
|
10
|
+
- **Multiple Storage Backends**: JSONL (default) or SQLite
|
|
11
|
+
- **Advanced Search**: Basic, ranked (TF-IDF), boolean, fuzzy, semantic, and hybrid search
|
|
12
|
+
- **Tag Management**: Tag aliasing, bulk operations
|
|
13
|
+
- **Graph Algorithms**: Shortest path, centrality, connected components
|
|
14
|
+
- **Import/Export**: JSON, CSV, GraphML formats with compression
|
|
15
|
+
|
|
16
|
+
## Installation
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm install @danielsimonjr/memoryjs
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Quick Start
|
|
23
|
+
|
|
24
|
+
```typescript
|
|
25
|
+
import { ManagerContext } from '@danielsimonjr/memoryjs';
|
|
26
|
+
|
|
27
|
+
// Initialize with JSONL storage (default)
|
|
28
|
+
const ctx = new ManagerContext({
|
|
29
|
+
storagePath: './memory.jsonl'
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
// Create entities
|
|
33
|
+
await ctx.entityManager.createEntities([
|
|
34
|
+
{ name: 'TypeScript', entityType: 'language', observations: ['A typed superset of JavaScript'] },
|
|
35
|
+
{ name: 'Node.js', entityType: 'runtime', observations: ['JavaScript runtime built on V8'] }
|
|
36
|
+
]);
|
|
37
|
+
|
|
38
|
+
// Create relations
|
|
39
|
+
await ctx.relationManager.createRelations([
|
|
40
|
+
{ from: 'TypeScript', to: 'Node.js', relationType: 'runs_on' }
|
|
41
|
+
]);
|
|
42
|
+
|
|
43
|
+
// Search entities
|
|
44
|
+
const results = await ctx.searchManager.search('JavaScript');
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Storage Options
|
|
48
|
+
|
|
49
|
+
### JSONL (Default)
|
|
50
|
+
|
|
51
|
+
```typescript
|
|
52
|
+
const ctx = new ManagerContext({
|
|
53
|
+
storagePath: './memory.jsonl'
|
|
54
|
+
});
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### SQLite
|
|
58
|
+
|
|
59
|
+
```typescript
|
|
60
|
+
const ctx = new ManagerContext({
|
|
61
|
+
storageType: 'sqlite',
|
|
62
|
+
storagePath: './memory.db'
|
|
63
|
+
});
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
SQLite provides:
|
|
67
|
+
- FTS5 full-text search with BM25 ranking
|
|
68
|
+
- Referential integrity (ON DELETE CASCADE)
|
|
69
|
+
- WAL mode for better concurrency
|
|
70
|
+
- ACID transactions
|
|
71
|
+
|
|
72
|
+
## Core Components
|
|
73
|
+
|
|
74
|
+
### ManagerContext
|
|
75
|
+
|
|
76
|
+
Central access point for all managers:
|
|
77
|
+
|
|
78
|
+
```typescript
|
|
79
|
+
ctx.entityManager // Entity CRUD + hierarchy
|
|
80
|
+
ctx.relationManager // Relation management
|
|
81
|
+
ctx.searchManager // All search operations
|
|
82
|
+
ctx.tagManager // Tag aliases
|
|
83
|
+
ctx.ioManager // Import/export/backup
|
|
84
|
+
ctx.graphTraversal // Graph algorithms
|
|
85
|
+
ctx.semanticSearch // Vector similarity search (optional)
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Entity Structure
|
|
89
|
+
|
|
90
|
+
```typescript
|
|
91
|
+
interface Entity {
|
|
92
|
+
name: string; // Unique identifier
|
|
93
|
+
entityType: string; // Classification
|
|
94
|
+
observations: string[]; // Facts about the entity
|
|
95
|
+
parentId?: string; // For hierarchy
|
|
96
|
+
tags?: string[]; // Categories
|
|
97
|
+
importance?: number; // 0-10 scale
|
|
98
|
+
createdAt?: string; // ISO 8601
|
|
99
|
+
lastModified?: string;
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Relation Structure
|
|
104
|
+
|
|
105
|
+
```typescript
|
|
106
|
+
interface Relation {
|
|
107
|
+
from: string; // Source entity name
|
|
108
|
+
to: string; // Target entity name
|
|
109
|
+
relationType: string; // Connection type
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Search Capabilities
|
|
114
|
+
|
|
115
|
+
### Basic Search
|
|
116
|
+
|
|
117
|
+
```typescript
|
|
118
|
+
// Find entities by name or observation content
|
|
119
|
+
const results = await ctx.searchManager.search('TypeScript');
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### Ranked Search (TF-IDF)
|
|
123
|
+
|
|
124
|
+
```typescript
|
|
125
|
+
// Get relevance-scored results
|
|
126
|
+
const ranked = await ctx.searchManager.searchRanked('JavaScript runtime', { limit: 10 });
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Boolean Search
|
|
130
|
+
|
|
131
|
+
```typescript
|
|
132
|
+
// AND, OR, NOT operators
|
|
133
|
+
const results = await ctx.searchManager.booleanSearch('TypeScript AND runtime');
|
|
134
|
+
const excluded = await ctx.searchManager.booleanSearch('JavaScript NOT browser');
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Fuzzy Search
|
|
138
|
+
|
|
139
|
+
```typescript
|
|
140
|
+
// Typo-tolerant search
|
|
141
|
+
const results = await ctx.searchManager.fuzzySearch('Typscript', { threshold: 0.7 });
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Hybrid Search
|
|
145
|
+
|
|
146
|
+
Combines semantic (vector), lexical (TF-IDF), and symbolic (metadata) signals:
|
|
147
|
+
|
|
148
|
+
```typescript
|
|
149
|
+
const results = await ctx.searchManager.hybridSearch('programming concepts', {
|
|
150
|
+
weights: { semantic: 0.5, lexical: 0.3, symbolic: 0.2 },
|
|
151
|
+
filters: { entityTypes: ['concept'], minImportance: 5 }
|
|
152
|
+
});
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Graph Algorithms
|
|
156
|
+
|
|
157
|
+
```typescript
|
|
158
|
+
// Shortest path between entities
|
|
159
|
+
const path = await ctx.graphTraversal.findShortestPath('A', 'Z');
|
|
160
|
+
|
|
161
|
+
// All paths up to max depth
|
|
162
|
+
const paths = await ctx.graphTraversal.findAllPaths('A', 'Z', { maxDepth: 5 });
|
|
163
|
+
|
|
164
|
+
// Centrality analysis
|
|
165
|
+
const centrality = await ctx.graphTraversal.getCentrality({ algorithm: 'pagerank' });
|
|
166
|
+
|
|
167
|
+
// Connected components
|
|
168
|
+
const components = await ctx.graphTraversal.getConnectedComponents();
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
## Import/Export
|
|
172
|
+
|
|
173
|
+
```typescript
|
|
174
|
+
// Export to JSON
|
|
175
|
+
const json = await ctx.ioManager.exportGraph('json');
|
|
176
|
+
|
|
177
|
+
// Export to CSV
|
|
178
|
+
const csv = await ctx.ioManager.exportGraph('csv');
|
|
179
|
+
|
|
180
|
+
// Export to GraphML (with compression)
|
|
181
|
+
await ctx.ioManager.exportGraph('graphml', {
|
|
182
|
+
outputPath: './graph.graphml.br',
|
|
183
|
+
compress: true
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
// Import from file
|
|
187
|
+
await ctx.ioManager.importGraph('json', jsonData, { mergeStrategy: 'merge' });
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
## Hierarchical Organization
|
|
191
|
+
|
|
192
|
+
```typescript
|
|
193
|
+
// Set parent
|
|
194
|
+
await ctx.entityManager.setEntityParent('Component', 'Module');
|
|
195
|
+
|
|
196
|
+
// Get hierarchy
|
|
197
|
+
const children = await ctx.entityManager.getChildren('Module');
|
|
198
|
+
const ancestors = await ctx.entityManager.getAncestors('Component');
|
|
199
|
+
const subtree = await ctx.entityManager.getSubtree('Module');
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
## Tag Management
|
|
203
|
+
|
|
204
|
+
```typescript
|
|
205
|
+
// Add/remove tags
|
|
206
|
+
await ctx.entityManager.addTags('Entity1', ['tag1', 'tag2']);
|
|
207
|
+
await ctx.entityManager.removeTags('Entity1', ['tag1']);
|
|
208
|
+
|
|
209
|
+
// Tag aliases (synonyms)
|
|
210
|
+
await ctx.tagManager.addTagAlias('js', 'javascript');
|
|
211
|
+
|
|
212
|
+
// Bulk operations
|
|
213
|
+
await ctx.entityManager.addTagsToMultipleEntities(['E1', 'E2'], ['shared-tag']);
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
## API Reference
|
|
217
|
+
|
|
218
|
+
### EntityManager
|
|
219
|
+
|
|
220
|
+
| Method | Description |
|
|
221
|
+
|--------|-------------|
|
|
222
|
+
| `createEntities(entities)` | Create multiple entities |
|
|
223
|
+
| `deleteEntities(names)` | Delete entities by name |
|
|
224
|
+
| `getEntityByName(name)` | Get single entity |
|
|
225
|
+
| `addObservations(name, observations)` | Add observations to entity |
|
|
226
|
+
| `deleteObservations(name, observations)` | Remove observations |
|
|
227
|
+
| `addTags(name, tags)` | Add tags to entity |
|
|
228
|
+
| `removeTags(name, tags)` | Remove tags from entity |
|
|
229
|
+
| `setImportance(name, score)` | Set importance (0-10) |
|
|
230
|
+
| `setEntityParent(name, parentName)` | Set hierarchy parent |
|
|
231
|
+
| `getChildren(name)` | Get child entities |
|
|
232
|
+
| `getAncestors(name)` | Get ancestor chain |
|
|
233
|
+
| `getDescendants(name)` | Get all descendants |
|
|
234
|
+
|
|
235
|
+
### SearchManager
|
|
236
|
+
|
|
237
|
+
| Method | Description |
|
|
238
|
+
|--------|-------------|
|
|
239
|
+
| `search(query, options)` | Basic search |
|
|
240
|
+
| `searchRanked(query, options)` | TF-IDF ranked search |
|
|
241
|
+
| `booleanSearch(query, options)` | Boolean operators |
|
|
242
|
+
| `fuzzySearch(query, options)` | Typo-tolerant |
|
|
243
|
+
| `hybridSearch(query, options)` | Multi-signal search |
|
|
244
|
+
| `smartSearch(query, options)` | AI-assisted refinement |
|
|
245
|
+
|
|
246
|
+
### IOManager
|
|
247
|
+
|
|
248
|
+
| Method | Description |
|
|
249
|
+
|--------|-------------|
|
|
250
|
+
| `exportGraph(format, options)` | Export to format |
|
|
251
|
+
| `importGraph(format, data, options)` | Import from format |
|
|
252
|
+
| `createBackup(options)` | Create backup |
|
|
253
|
+
| `restoreBackup(path)` | Restore from backup |
|
|
254
|
+
|
|
255
|
+
## Requirements
|
|
256
|
+
|
|
257
|
+
- Node.js >= 18.0.0
|
|
258
|
+
- TypeScript >= 5.0 (for development)
|
|
259
|
+
|
|
260
|
+
## License
|
|
261
|
+
|
|
262
|
+
MIT
|
|
263
|
+
|
|
264
|
+
## Related
|
|
265
|
+
|
|
266
|
+
- [@danielsimonjr/memory-mcp](https://github.com/danielsimonjr/memory-mcp) - MCP server built on this library
|