@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.
Files changed (300) hide show
  1. package/README.md +385 -113
  2. package/README.md.backup-1768084780988 +266 -0
  3. package/dist/index.cjs +24156 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.cts +16967 -0
  6. package/dist/index.d.ts +16963 -11
  7. package/dist/index.js +23887 -19
  8. package/dist/index.js.map +1 -1
  9. package/dist/workers/levenshteinWorker.cjs +102 -0
  10. package/dist/workers/levenshteinWorker.cjs.map +1 -0
  11. package/dist/workers/levenshteinWorker.js +57 -91
  12. package/dist/workers/levenshteinWorker.js.map +1 -1
  13. package/package.json +75 -69
  14. package/dist/core/EntityManager.d.ts +0 -268
  15. package/dist/core/EntityManager.d.ts.map +0 -1
  16. package/dist/core/EntityManager.js +0 -512
  17. package/dist/core/EntityManager.js.map +0 -1
  18. package/dist/core/GraphEventEmitter.d.ts +0 -202
  19. package/dist/core/GraphEventEmitter.d.ts.map +0 -1
  20. package/dist/core/GraphEventEmitter.js +0 -347
  21. package/dist/core/GraphEventEmitter.js.map +0 -1
  22. package/dist/core/GraphStorage.d.ts +0 -395
  23. package/dist/core/GraphStorage.d.ts.map +0 -1
  24. package/dist/core/GraphStorage.js +0 -786
  25. package/dist/core/GraphStorage.js.map +0 -1
  26. package/dist/core/GraphTraversal.d.ts +0 -141
  27. package/dist/core/GraphTraversal.d.ts.map +0 -1
  28. package/dist/core/GraphTraversal.js +0 -574
  29. package/dist/core/GraphTraversal.js.map +0 -1
  30. package/dist/core/HierarchyManager.d.ts +0 -111
  31. package/dist/core/HierarchyManager.d.ts.map +0 -1
  32. package/dist/core/HierarchyManager.js +0 -225
  33. package/dist/core/HierarchyManager.js.map +0 -1
  34. package/dist/core/ManagerContext.d.ts +0 -76
  35. package/dist/core/ManagerContext.d.ts.map +0 -1
  36. package/dist/core/ManagerContext.js +0 -129
  37. package/dist/core/ManagerContext.js.map +0 -1
  38. package/dist/core/ObservationManager.d.ts +0 -85
  39. package/dist/core/ObservationManager.d.ts.map +0 -1
  40. package/dist/core/ObservationManager.js +0 -124
  41. package/dist/core/ObservationManager.js.map +0 -1
  42. package/dist/core/RelationManager.d.ts +0 -131
  43. package/dist/core/RelationManager.d.ts.map +0 -1
  44. package/dist/core/RelationManager.js +0 -212
  45. package/dist/core/RelationManager.js.map +0 -1
  46. package/dist/core/SQLiteStorage.d.ts +0 -354
  47. package/dist/core/SQLiteStorage.d.ts.map +0 -1
  48. package/dist/core/SQLiteStorage.js +0 -919
  49. package/dist/core/SQLiteStorage.js.map +0 -1
  50. package/dist/core/StorageFactory.d.ts +0 -45
  51. package/dist/core/StorageFactory.d.ts.map +0 -1
  52. package/dist/core/StorageFactory.js +0 -65
  53. package/dist/core/StorageFactory.js.map +0 -1
  54. package/dist/core/TransactionManager.d.ts +0 -464
  55. package/dist/core/TransactionManager.d.ts.map +0 -1
  56. package/dist/core/TransactionManager.js +0 -869
  57. package/dist/core/TransactionManager.js.map +0 -1
  58. package/dist/core/index.d.ts +0 -17
  59. package/dist/core/index.d.ts.map +0 -1
  60. package/dist/core/index.js +0 -20
  61. package/dist/core/index.js.map +0 -1
  62. package/dist/features/AnalyticsManager.d.ts +0 -44
  63. package/dist/features/AnalyticsManager.d.ts.map +0 -1
  64. package/dist/features/AnalyticsManager.js +0 -224
  65. package/dist/features/AnalyticsManager.js.map +0 -1
  66. package/dist/features/ArchiveManager.d.ts +0 -133
  67. package/dist/features/ArchiveManager.d.ts.map +0 -1
  68. package/dist/features/ArchiveManager.js +0 -282
  69. package/dist/features/ArchiveManager.js.map +0 -1
  70. package/dist/features/CompressionManager.d.ts +0 -119
  71. package/dist/features/CompressionManager.d.ts.map +0 -1
  72. package/dist/features/CompressionManager.js +0 -470
  73. package/dist/features/CompressionManager.js.map +0 -1
  74. package/dist/features/IOManager.d.ts +0 -225
  75. package/dist/features/IOManager.d.ts.map +0 -1
  76. package/dist/features/IOManager.js +0 -1093
  77. package/dist/features/IOManager.js.map +0 -1
  78. package/dist/features/KeywordExtractor.d.ts +0 -61
  79. package/dist/features/KeywordExtractor.d.ts.map +0 -1
  80. package/dist/features/KeywordExtractor.js +0 -127
  81. package/dist/features/KeywordExtractor.js.map +0 -1
  82. package/dist/features/ObservationNormalizer.d.ts +0 -90
  83. package/dist/features/ObservationNormalizer.d.ts.map +0 -1
  84. package/dist/features/ObservationNormalizer.js +0 -194
  85. package/dist/features/ObservationNormalizer.js.map +0 -1
  86. package/dist/features/StreamingExporter.d.ts +0 -128
  87. package/dist/features/StreamingExporter.d.ts.map +0 -1
  88. package/dist/features/StreamingExporter.js +0 -212
  89. package/dist/features/StreamingExporter.js.map +0 -1
  90. package/dist/features/TagManager.d.ts +0 -147
  91. package/dist/features/TagManager.d.ts.map +0 -1
  92. package/dist/features/TagManager.js +0 -211
  93. package/dist/features/TagManager.js.map +0 -1
  94. package/dist/features/index.d.ts +0 -14
  95. package/dist/features/index.d.ts.map +0 -1
  96. package/dist/features/index.js +0 -15
  97. package/dist/features/index.js.map +0 -1
  98. package/dist/index.d.ts.map +0 -1
  99. package/dist/search/BM25Search.d.ts +0 -148
  100. package/dist/search/BM25Search.d.ts.map +0 -1
  101. package/dist/search/BM25Search.js +0 -340
  102. package/dist/search/BM25Search.js.map +0 -1
  103. package/dist/search/BasicSearch.d.ts +0 -51
  104. package/dist/search/BasicSearch.d.ts.map +0 -1
  105. package/dist/search/BasicSearch.js +0 -138
  106. package/dist/search/BasicSearch.js.map +0 -1
  107. package/dist/search/BooleanSearch.d.ts +0 -98
  108. package/dist/search/BooleanSearch.d.ts.map +0 -1
  109. package/dist/search/BooleanSearch.js +0 -431
  110. package/dist/search/BooleanSearch.js.map +0 -1
  111. package/dist/search/EarlyTerminationManager.d.ts +0 -140
  112. package/dist/search/EarlyTerminationManager.d.ts.map +0 -1
  113. package/dist/search/EarlyTerminationManager.js +0 -280
  114. package/dist/search/EarlyTerminationManager.js.map +0 -1
  115. package/dist/search/EmbeddingCache.d.ts +0 -175
  116. package/dist/search/EmbeddingCache.d.ts.map +0 -1
  117. package/dist/search/EmbeddingCache.js +0 -247
  118. package/dist/search/EmbeddingCache.js.map +0 -1
  119. package/dist/search/EmbeddingService.d.ts +0 -277
  120. package/dist/search/EmbeddingService.d.ts.map +0 -1
  121. package/dist/search/EmbeddingService.js +0 -531
  122. package/dist/search/EmbeddingService.js.map +0 -1
  123. package/dist/search/FuzzySearch.d.ts +0 -118
  124. package/dist/search/FuzzySearch.d.ts.map +0 -1
  125. package/dist/search/FuzzySearch.js +0 -313
  126. package/dist/search/FuzzySearch.js.map +0 -1
  127. package/dist/search/HybridScorer.d.ts +0 -181
  128. package/dist/search/HybridScorer.d.ts.map +0 -1
  129. package/dist/search/HybridScorer.js +0 -258
  130. package/dist/search/HybridScorer.js.map +0 -1
  131. package/dist/search/HybridSearchManager.d.ts +0 -80
  132. package/dist/search/HybridSearchManager.d.ts.map +0 -1
  133. package/dist/search/HybridSearchManager.js +0 -188
  134. package/dist/search/HybridSearchManager.js.map +0 -1
  135. package/dist/search/IncrementalIndexer.d.ts +0 -201
  136. package/dist/search/IncrementalIndexer.d.ts.map +0 -1
  137. package/dist/search/IncrementalIndexer.js +0 -343
  138. package/dist/search/IncrementalIndexer.js.map +0 -1
  139. package/dist/search/OptimizedInvertedIndex.d.ts +0 -163
  140. package/dist/search/OptimizedInvertedIndex.d.ts.map +0 -1
  141. package/dist/search/OptimizedInvertedIndex.js +0 -359
  142. package/dist/search/OptimizedInvertedIndex.js.map +0 -1
  143. package/dist/search/ParallelSearchExecutor.d.ts +0 -172
  144. package/dist/search/ParallelSearchExecutor.d.ts.map +0 -1
  145. package/dist/search/ParallelSearchExecutor.js +0 -310
  146. package/dist/search/ParallelSearchExecutor.js.map +0 -1
  147. package/dist/search/QuantizedVectorStore.d.ts +0 -171
  148. package/dist/search/QuantizedVectorStore.d.ts.map +0 -1
  149. package/dist/search/QuantizedVectorStore.js +0 -308
  150. package/dist/search/QuantizedVectorStore.js.map +0 -1
  151. package/dist/search/QueryAnalyzer.d.ts +0 -76
  152. package/dist/search/QueryAnalyzer.d.ts.map +0 -1
  153. package/dist/search/QueryAnalyzer.js +0 -228
  154. package/dist/search/QueryAnalyzer.js.map +0 -1
  155. package/dist/search/QueryCostEstimator.d.ts +0 -244
  156. package/dist/search/QueryCostEstimator.d.ts.map +0 -1
  157. package/dist/search/QueryCostEstimator.js +0 -653
  158. package/dist/search/QueryCostEstimator.js.map +0 -1
  159. package/dist/search/QueryPlanCache.d.ts +0 -220
  160. package/dist/search/QueryPlanCache.d.ts.map +0 -1
  161. package/dist/search/QueryPlanCache.js +0 -380
  162. package/dist/search/QueryPlanCache.js.map +0 -1
  163. package/dist/search/QueryPlanner.d.ts +0 -58
  164. package/dist/search/QueryPlanner.d.ts.map +0 -1
  165. package/dist/search/QueryPlanner.js +0 -138
  166. package/dist/search/QueryPlanner.js.map +0 -1
  167. package/dist/search/RankedSearch.d.ts +0 -71
  168. package/dist/search/RankedSearch.d.ts.map +0 -1
  169. package/dist/search/RankedSearch.js +0 -239
  170. package/dist/search/RankedSearch.js.map +0 -1
  171. package/dist/search/ReflectionManager.d.ts +0 -120
  172. package/dist/search/ReflectionManager.d.ts.map +0 -1
  173. package/dist/search/ReflectionManager.js +0 -232
  174. package/dist/search/ReflectionManager.js.map +0 -1
  175. package/dist/search/SavedSearchManager.d.ts +0 -79
  176. package/dist/search/SavedSearchManager.d.ts.map +0 -1
  177. package/dist/search/SavedSearchManager.js +0 -147
  178. package/dist/search/SavedSearchManager.js.map +0 -1
  179. package/dist/search/SearchFilterChain.d.ts +0 -120
  180. package/dist/search/SearchFilterChain.d.ts.map +0 -1
  181. package/dist/search/SearchFilterChain.js +0 -186
  182. package/dist/search/SearchFilterChain.js.map +0 -1
  183. package/dist/search/SearchManager.d.ts +0 -326
  184. package/dist/search/SearchManager.d.ts.map +0 -1
  185. package/dist/search/SearchManager.js +0 -454
  186. package/dist/search/SearchManager.js.map +0 -1
  187. package/dist/search/SearchSuggestions.d.ts +0 -27
  188. package/dist/search/SearchSuggestions.d.ts.map +0 -1
  189. package/dist/search/SearchSuggestions.js +0 -58
  190. package/dist/search/SearchSuggestions.js.map +0 -1
  191. package/dist/search/SemanticSearch.d.ts +0 -149
  192. package/dist/search/SemanticSearch.d.ts.map +0 -1
  193. package/dist/search/SemanticSearch.js +0 -324
  194. package/dist/search/SemanticSearch.js.map +0 -1
  195. package/dist/search/SymbolicSearch.d.ts +0 -61
  196. package/dist/search/SymbolicSearch.d.ts.map +0 -1
  197. package/dist/search/SymbolicSearch.js +0 -164
  198. package/dist/search/SymbolicSearch.js.map +0 -1
  199. package/dist/search/TFIDFEventSync.d.ts +0 -85
  200. package/dist/search/TFIDFEventSync.d.ts.map +0 -1
  201. package/dist/search/TFIDFEventSync.js +0 -134
  202. package/dist/search/TFIDFEventSync.js.map +0 -1
  203. package/dist/search/TFIDFIndexManager.d.ts +0 -151
  204. package/dist/search/TFIDFIndexManager.d.ts.map +0 -1
  205. package/dist/search/TFIDFIndexManager.js +0 -433
  206. package/dist/search/TFIDFIndexManager.js.map +0 -1
  207. package/dist/search/VectorStore.d.ts +0 -235
  208. package/dist/search/VectorStore.d.ts.map +0 -1
  209. package/dist/search/VectorStore.js +0 -312
  210. package/dist/search/VectorStore.js.map +0 -1
  211. package/dist/search/index.d.ts +0 -35
  212. package/dist/search/index.d.ts.map +0 -1
  213. package/dist/search/index.js +0 -53
  214. package/dist/search/index.js.map +0 -1
  215. package/dist/types/index.d.ts +0 -13
  216. package/dist/types/index.d.ts.map +0 -1
  217. package/dist/types/index.js +0 -13
  218. package/dist/types/index.js.map +0 -1
  219. package/dist/types/types.d.ts +0 -1811
  220. package/dist/types/types.d.ts.map +0 -1
  221. package/dist/types/types.js +0 -10
  222. package/dist/types/types.js.map +0 -1
  223. package/dist/utils/BatchProcessor.d.ts +0 -271
  224. package/dist/utils/BatchProcessor.d.ts.map +0 -1
  225. package/dist/utils/BatchProcessor.js +0 -377
  226. package/dist/utils/BatchProcessor.js.map +0 -1
  227. package/dist/utils/MemoryMonitor.d.ts +0 -176
  228. package/dist/utils/MemoryMonitor.d.ts.map +0 -1
  229. package/dist/utils/MemoryMonitor.js +0 -306
  230. package/dist/utils/MemoryMonitor.js.map +0 -1
  231. package/dist/utils/WorkerPoolManager.d.ts +0 -233
  232. package/dist/utils/WorkerPoolManager.d.ts.map +0 -1
  233. package/dist/utils/WorkerPoolManager.js +0 -421
  234. package/dist/utils/WorkerPoolManager.js.map +0 -1
  235. package/dist/utils/compressedCache.d.ts +0 -221
  236. package/dist/utils/compressedCache.d.ts.map +0 -1
  237. package/dist/utils/compressedCache.js +0 -349
  238. package/dist/utils/compressedCache.js.map +0 -1
  239. package/dist/utils/compressionUtil.d.ts +0 -214
  240. package/dist/utils/compressionUtil.d.ts.map +0 -1
  241. package/dist/utils/compressionUtil.js +0 -248
  242. package/dist/utils/compressionUtil.js.map +0 -1
  243. package/dist/utils/constants.d.ts +0 -245
  244. package/dist/utils/constants.d.ts.map +0 -1
  245. package/dist/utils/constants.js +0 -253
  246. package/dist/utils/constants.js.map +0 -1
  247. package/dist/utils/entityUtils.d.ts +0 -379
  248. package/dist/utils/entityUtils.d.ts.map +0 -1
  249. package/dist/utils/entityUtils.js +0 -649
  250. package/dist/utils/entityUtils.js.map +0 -1
  251. package/dist/utils/errors.d.ts +0 -95
  252. package/dist/utils/errors.d.ts.map +0 -1
  253. package/dist/utils/errors.js +0 -146
  254. package/dist/utils/errors.js.map +0 -1
  255. package/dist/utils/formatters.d.ts +0 -145
  256. package/dist/utils/formatters.d.ts.map +0 -1
  257. package/dist/utils/formatters.js +0 -133
  258. package/dist/utils/formatters.js.map +0 -1
  259. package/dist/utils/index.d.ts +0 -26
  260. package/dist/utils/index.d.ts.map +0 -1
  261. package/dist/utils/index.js +0 -88
  262. package/dist/utils/index.js.map +0 -1
  263. package/dist/utils/indexes.d.ts +0 -270
  264. package/dist/utils/indexes.d.ts.map +0 -1
  265. package/dist/utils/indexes.js +0 -527
  266. package/dist/utils/indexes.js.map +0 -1
  267. package/dist/utils/logger.d.ts +0 -31
  268. package/dist/utils/logger.d.ts.map +0 -1
  269. package/dist/utils/logger.js +0 -41
  270. package/dist/utils/logger.js.map +0 -1
  271. package/dist/utils/operationUtils.d.ts +0 -124
  272. package/dist/utils/operationUtils.d.ts.map +0 -1
  273. package/dist/utils/operationUtils.js +0 -176
  274. package/dist/utils/operationUtils.js.map +0 -1
  275. package/dist/utils/parallelUtils.d.ts +0 -76
  276. package/dist/utils/parallelUtils.d.ts.map +0 -1
  277. package/dist/utils/parallelUtils.js +0 -192
  278. package/dist/utils/parallelUtils.js.map +0 -1
  279. package/dist/utils/schemas.d.ts +0 -556
  280. package/dist/utils/schemas.d.ts.map +0 -1
  281. package/dist/utils/schemas.js +0 -485
  282. package/dist/utils/schemas.js.map +0 -1
  283. package/dist/utils/searchAlgorithms.d.ts +0 -99
  284. package/dist/utils/searchAlgorithms.d.ts.map +0 -1
  285. package/dist/utils/searchAlgorithms.js +0 -168
  286. package/dist/utils/searchAlgorithms.js.map +0 -1
  287. package/dist/utils/searchCache.d.ts +0 -108
  288. package/dist/utils/searchCache.d.ts.map +0 -1
  289. package/dist/utils/searchCache.js +0 -210
  290. package/dist/utils/searchCache.js.map +0 -1
  291. package/dist/utils/taskScheduler.d.ts +0 -294
  292. package/dist/utils/taskScheduler.d.ts.map +0 -1
  293. package/dist/utils/taskScheduler.js +0 -487
  294. package/dist/utils/taskScheduler.js.map +0 -1
  295. package/dist/workers/index.d.ts +0 -12
  296. package/dist/workers/index.d.ts.map +0 -1
  297. package/dist/workers/index.js +0 -10
  298. package/dist/workers/index.js.map +0 -1
  299. package/dist/workers/levenshteinWorker.d.ts +0 -60
  300. package/dist/workers/levenshteinWorker.d.ts.map +0 -1
@@ -1,128 +0,0 @@
1
- /**
2
- * Streaming Export Module
3
- *
4
- * Provides streaming export functionality for large knowledge graphs to avoid
5
- * loading entire graphs into memory. Supports JSONL and CSV formats with
6
- * incremental writing to disk.
7
- *
8
- * @module features/StreamingExporter
9
- */
10
- import type { ReadonlyKnowledgeGraph, LongRunningOperationOptions } from '../types/types.js';
11
- /**
12
- * Result summary from a streaming export operation.
13
- *
14
- * Provides statistics about the export including bytes written,
15
- * entity/relation counts, and duration.
16
- *
17
- * @example
18
- * ```typescript
19
- * const result: StreamResult = {
20
- * bytesWritten: 125000,
21
- * entitiesWritten: 150,
22
- * relationsWritten: 320,
23
- * durationMs: 1250
24
- * };
25
- * ```
26
- */
27
- export interface StreamResult {
28
- /** Total bytes written to the output file */
29
- bytesWritten: number;
30
- /** Number of entities written */
31
- entitiesWritten: number;
32
- /** Number of relations written */
33
- relationsWritten: number;
34
- /** Duration of the export operation in milliseconds */
35
- durationMs: number;
36
- }
37
- /**
38
- * Streaming exporter for knowledge graphs.
39
- *
40
- * Provides memory-efficient export by streaming data directly to files
41
- * instead of building large strings in memory. Supports JSONL and CSV formats.
42
- *
43
- * @example
44
- * ```typescript
45
- * const exporter = new StreamingExporter('/path/to/output.jsonl');
46
- * const result = await exporter.streamJSONL(graph);
47
- * console.log(`Wrote ${result.bytesWritten} bytes in ${result.durationMs}ms`);
48
- * ```
49
- */
50
- export declare class StreamingExporter {
51
- private readonly validatedFilePath;
52
- /**
53
- * Create a new streaming exporter.
54
- *
55
- * @param filePath - Path to the output file
56
- * @throws {FileOperationError} If path traversal is detected
57
- */
58
- constructor(filePath: string);
59
- /**
60
- * Get the validated file path.
61
- */
62
- get filePath(): string;
63
- /**
64
- * Stream a knowledge graph to JSONL format.
65
- *
66
- * Each entity and relation is written as a separate JSON line.
67
- * Memory usage is constant regardless of graph size.
68
- *
69
- * Phase 9B: Supports progress tracking and cancellation via LongRunningOperationOptions.
70
- *
71
- * @param graph - The knowledge graph to export
72
- * @param options - Optional progress/cancellation options (Phase 9B)
73
- * @returns Promise resolving to export statistics
74
- * @throws {OperationCancelledError} If operation is cancelled via signal (Phase 9B)
75
- *
76
- * @example
77
- * ```typescript
78
- * const exporter = new StreamingExporter('export.jsonl');
79
- * const result = await exporter.streamJSONL(graph);
80
- * console.log(`Exported ${result.entitiesWritten} entities`);
81
- *
82
- * // With progress tracking (Phase 9B)
83
- * const result = await exporter.streamJSONL(graph, {
84
- * onProgress: (p) => console.log(`${p.percentage}% complete`),
85
- * });
86
- * ```
87
- */
88
- streamJSONL(graph: ReadonlyKnowledgeGraph, options?: LongRunningOperationOptions): Promise<StreamResult>;
89
- /**
90
- * Stream a knowledge graph to CSV format.
91
- *
92
- * Exports entities as CSV rows with proper escaping for special characters.
93
- * Header row includes: name, type, observations, tags, importance, createdAt, lastModified.
94
- *
95
- * Phase 9B: Supports progress tracking and cancellation via LongRunningOperationOptions.
96
- *
97
- * @param graph - The knowledge graph to export
98
- * @param options - Optional progress/cancellation options (Phase 9B)
99
- * @returns Promise resolving to export statistics
100
- * @throws {OperationCancelledError} If operation is cancelled via signal (Phase 9B)
101
- *
102
- * @example
103
- * ```typescript
104
- * const exporter = new StreamingExporter('export.csv');
105
- * const result = await exporter.streamCSV(graph);
106
- * console.log(`Exported ${result.entitiesWritten} entities as CSV`);
107
- *
108
- * // With progress tracking (Phase 9B)
109
- * const result = await exporter.streamCSV(graph, {
110
- * onProgress: (p) => console.log(`${p.percentage}% complete`),
111
- * });
112
- * ```
113
- */
114
- streamCSV(graph: ReadonlyKnowledgeGraph, options?: LongRunningOperationOptions): Promise<StreamResult>;
115
- /**
116
- * Convert an entity to a CSV row with proper escaping.
117
- *
118
- * Escapes double quotes by doubling them and wraps fields in quotes.
119
- * Arrays (observations, tags) are joined with semicolons.
120
- *
121
- * @param entity - The entity to convert
122
- * @returns CSV row string (without trailing newline)
123
- *
124
- * @private
125
- */
126
- private entityToCSVRow;
127
- }
128
- //# sourceMappingURL=StreamingExporter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StreamingExporter.d.ts","sourceRoot":"","sources":["../../src/features/StreamingExporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAU,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAGrG;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,YAAY;IAC3B,6CAA6C;IAC7C,YAAY,EAAE,MAAM,CAAC;IAErB,iCAAiC;IACjC,eAAe,EAAE,MAAM,CAAC;IAExB,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IAEzB,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAE3C;;;;;OAKG;gBACS,QAAQ,EAAE,MAAM;IAK5B;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,WAAW,CACf,KAAK,EAAE,sBAAsB,EAC7B,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,YAAY,CAAC;IA+DxB;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,SAAS,CACb,KAAK,EAAE,sBAAsB,EAC7B,OAAO,CAAC,EAAE,2BAA2B,GACpC,OAAO,CAAC,YAAY,CAAC;IAuDxB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,cAAc;CAcvB"}
@@ -1,212 +0,0 @@
1
- /**
2
- * Streaming Export Module
3
- *
4
- * Provides streaming export functionality for large knowledge graphs to avoid
5
- * loading entire graphs into memory. Supports JSONL and CSV formats with
6
- * incremental writing to disk.
7
- *
8
- * @module features/StreamingExporter
9
- */
10
- import { createWriteStream } from 'fs';
11
- import { checkCancellation, createProgressReporter, createProgress, validateFilePath } from '../utils/index.js';
12
- /**
13
- * Streaming exporter for knowledge graphs.
14
- *
15
- * Provides memory-efficient export by streaming data directly to files
16
- * instead of building large strings in memory. Supports JSONL and CSV formats.
17
- *
18
- * @example
19
- * ```typescript
20
- * const exporter = new StreamingExporter('/path/to/output.jsonl');
21
- * const result = await exporter.streamJSONL(graph);
22
- * console.log(`Wrote ${result.bytesWritten} bytes in ${result.durationMs}ms`);
23
- * ```
24
- */
25
- export class StreamingExporter {
26
- validatedFilePath;
27
- /**
28
- * Create a new streaming exporter.
29
- *
30
- * @param filePath - Path to the output file
31
- * @throws {FileOperationError} If path traversal is detected
32
- */
33
- constructor(filePath) {
34
- // Validate path to prevent path traversal attacks
35
- this.validatedFilePath = validateFilePath(filePath);
36
- }
37
- /**
38
- * Get the validated file path.
39
- */
40
- get filePath() {
41
- return this.validatedFilePath;
42
- }
43
- /**
44
- * Stream a knowledge graph to JSONL format.
45
- *
46
- * Each entity and relation is written as a separate JSON line.
47
- * Memory usage is constant regardless of graph size.
48
- *
49
- * Phase 9B: Supports progress tracking and cancellation via LongRunningOperationOptions.
50
- *
51
- * @param graph - The knowledge graph to export
52
- * @param options - Optional progress/cancellation options (Phase 9B)
53
- * @returns Promise resolving to export statistics
54
- * @throws {OperationCancelledError} If operation is cancelled via signal (Phase 9B)
55
- *
56
- * @example
57
- * ```typescript
58
- * const exporter = new StreamingExporter('export.jsonl');
59
- * const result = await exporter.streamJSONL(graph);
60
- * console.log(`Exported ${result.entitiesWritten} entities`);
61
- *
62
- * // With progress tracking (Phase 9B)
63
- * const result = await exporter.streamJSONL(graph, {
64
- * onProgress: (p) => console.log(`${p.percentage}% complete`),
65
- * });
66
- * ```
67
- */
68
- async streamJSONL(graph, options) {
69
- // Check for early cancellation
70
- checkCancellation(options?.signal, 'streamJSONL');
71
- // Setup progress reporter
72
- const reportProgress = createProgressReporter(options?.onProgress);
73
- const total = graph.entities.length + graph.relations.length;
74
- let processed = 0;
75
- reportProgress?.(createProgress(0, total, 'streamJSONL'));
76
- const start = Date.now();
77
- let bytesWritten = 0;
78
- let entitiesWritten = 0;
79
- let relationsWritten = 0;
80
- const writeStream = createWriteStream(this.filePath);
81
- // Write entities
82
- for (const entity of graph.entities) {
83
- // Check for cancellation periodically
84
- checkCancellation(options?.signal, 'streamJSONL');
85
- const line = JSON.stringify(entity) + '\n';
86
- writeStream.write(line);
87
- bytesWritten += Buffer.byteLength(line, 'utf-8');
88
- entitiesWritten++;
89
- processed++;
90
- reportProgress?.(createProgress(processed, total, 'writing entities'));
91
- }
92
- // Write relations
93
- for (const relation of graph.relations) {
94
- // Check for cancellation periodically
95
- checkCancellation(options?.signal, 'streamJSONL');
96
- const line = JSON.stringify(relation) + '\n';
97
- writeStream.write(line);
98
- bytesWritten += Buffer.byteLength(line, 'utf-8');
99
- relationsWritten++;
100
- processed++;
101
- reportProgress?.(createProgress(processed, total, 'writing relations'));
102
- }
103
- // Check for cancellation before finalizing
104
- checkCancellation(options?.signal, 'streamJSONL');
105
- // Wait for stream to finish
106
- await new Promise((resolve, reject) => {
107
- writeStream.end(() => resolve());
108
- writeStream.on('error', reject);
109
- });
110
- // Report completion
111
- reportProgress?.(createProgress(total, total, 'streamJSONL'));
112
- return {
113
- bytesWritten,
114
- entitiesWritten,
115
- relationsWritten,
116
- durationMs: Date.now() - start,
117
- };
118
- }
119
- /**
120
- * Stream a knowledge graph to CSV format.
121
- *
122
- * Exports entities as CSV rows with proper escaping for special characters.
123
- * Header row includes: name, type, observations, tags, importance, createdAt, lastModified.
124
- *
125
- * Phase 9B: Supports progress tracking and cancellation via LongRunningOperationOptions.
126
- *
127
- * @param graph - The knowledge graph to export
128
- * @param options - Optional progress/cancellation options (Phase 9B)
129
- * @returns Promise resolving to export statistics
130
- * @throws {OperationCancelledError} If operation is cancelled via signal (Phase 9B)
131
- *
132
- * @example
133
- * ```typescript
134
- * const exporter = new StreamingExporter('export.csv');
135
- * const result = await exporter.streamCSV(graph);
136
- * console.log(`Exported ${result.entitiesWritten} entities as CSV`);
137
- *
138
- * // With progress tracking (Phase 9B)
139
- * const result = await exporter.streamCSV(graph, {
140
- * onProgress: (p) => console.log(`${p.percentage}% complete`),
141
- * });
142
- * ```
143
- */
144
- async streamCSV(graph, options) {
145
- // Check for early cancellation
146
- checkCancellation(options?.signal, 'streamCSV');
147
- // Setup progress reporter
148
- const reportProgress = createProgressReporter(options?.onProgress);
149
- const total = graph.entities.length;
150
- let processed = 0;
151
- reportProgress?.(createProgress(0, total, 'streamCSV'));
152
- const start = Date.now();
153
- let bytesWritten = 0;
154
- let entitiesWritten = 0;
155
- const relationsWritten = 0; // CSV format doesn't export relations
156
- const writeStream = createWriteStream(this.filePath);
157
- // Write header
158
- const header = 'name,type,observations,tags,importance,createdAt,lastModified\n';
159
- writeStream.write(header);
160
- bytesWritten += Buffer.byteLength(header, 'utf-8');
161
- // Write entity rows
162
- for (const entity of graph.entities) {
163
- // Check for cancellation periodically
164
- checkCancellation(options?.signal, 'streamCSV');
165
- const row = this.entityToCSVRow(entity) + '\n';
166
- writeStream.write(row);
167
- bytesWritten += Buffer.byteLength(row, 'utf-8');
168
- entitiesWritten++;
169
- processed++;
170
- reportProgress?.(createProgress(processed, total, 'writing entities'));
171
- }
172
- // Check for cancellation before finalizing
173
- checkCancellation(options?.signal, 'streamCSV');
174
- // Wait for stream to finish
175
- await new Promise((resolve, reject) => {
176
- writeStream.end(() => resolve());
177
- writeStream.on('error', reject);
178
- });
179
- // Report completion
180
- reportProgress?.(createProgress(total, total, 'streamCSV'));
181
- return {
182
- bytesWritten,
183
- entitiesWritten,
184
- relationsWritten,
185
- durationMs: Date.now() - start,
186
- };
187
- }
188
- /**
189
- * Convert an entity to a CSV row with proper escaping.
190
- *
191
- * Escapes double quotes by doubling them and wraps fields in quotes.
192
- * Arrays (observations, tags) are joined with semicolons.
193
- *
194
- * @param entity - The entity to convert
195
- * @returns CSV row string (without trailing newline)
196
- *
197
- * @private
198
- */
199
- entityToCSVRow(entity) {
200
- const escape = (s) => `"${s.replace(/"/g, '""')}"`;
201
- return [
202
- escape(entity.name),
203
- escape(entity.entityType),
204
- escape(entity.observations.join('; ')),
205
- escape((entity.tags ?? []).join('; ')),
206
- entity.importance?.toString() ?? '',
207
- entity.createdAt ?? '',
208
- entity.lastModified ?? '',
209
- ].join(',');
210
- }
211
- }
212
- //# sourceMappingURL=StreamingExporter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"StreamingExporter.js","sourceRoot":"","sources":["../../src/features/StreamingExporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAgChH;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,iBAAiB;IACX,iBAAiB,CAAS;IAE3C;;;;;OAKG;IACH,YAAY,QAAgB;QAC1B,kDAAkD;QAClD,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,KAAK,CAAC,WAAW,CACf,KAA6B,EAC7B,OAAqC;QAErC,+BAA+B;QAC/B,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAElD,0BAA0B;QAC1B,MAAM,cAAc,GAAG,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;QAC7D,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,cAAc,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;QAE1D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QAEzB,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErD,iBAAiB;QACjB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpC,sCAAsC;YACtC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;YAElD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YAC3C,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACjD,eAAe,EAAE,CAAC;YAClB,SAAS,EAAE,CAAC;YACZ,cAAc,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC;QACzE,CAAC;QAED,kBAAkB;QAClB,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACvC,sCAAsC;YACtC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;YAElD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;YAC7C,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACjD,gBAAgB,EAAE,CAAC;YACnB,SAAS,EAAE,CAAC;YACZ,cAAc,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC;QAC1E,CAAC;QAED,2CAA2C;QAC3C,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAElD,4BAA4B;QAC5B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YACjC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,oBAAoB;QACpB,cAAc,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;QAE9D,OAAO;YACL,YAAY;YACZ,eAAe;YACf,gBAAgB;YAChB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;SAC/B,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,KAAK,CAAC,SAAS,CACb,KAA6B,EAC7B,OAAqC;QAErC,+BAA+B;QAC/B,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAEhD,0BAA0B;QAC1B,MAAM,cAAc,GAAG,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QACpC,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,cAAc,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;QAExD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,MAAM,gBAAgB,GAAG,CAAC,CAAC,CAAC,sCAAsC;QAElE,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErD,eAAe;QACf,MAAM,MAAM,GAAG,iEAAiE,CAAC;QACjF,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAEnD,oBAAoB;QACpB,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpC,sCAAsC;YACtC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YAEhD,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;YAC/C,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvB,YAAY,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAChD,eAAe,EAAE,CAAC;YAClB,SAAS,EAAE,CAAC;YACZ,cAAc,EAAE,CAAC,cAAc,CAAC,SAAS,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC;QACzE,CAAC;QAED,2CAA2C;QAC3C,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAEhD,4BAA4B;QAC5B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;YACjC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,oBAAoB;QACpB,cAAc,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;QAE5D,OAAO;YACL,YAAY;YACZ,eAAe;YACf,gBAAgB;YAChB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;SAC/B,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACK,cAAc,CAAC,MAAc;QACnC,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;QAE3D,OAAO;YACL,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;YACnB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;YACzB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;YACnC,MAAM,CAAC,SAAS,IAAI,EAAE;YACtB,MAAM,CAAC,YAAY,IAAI,EAAE;SAC1B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,CAAC;CAEF"}
@@ -1,147 +0,0 @@
1
- /**
2
- * Tag Manager
3
- *
4
- * Manages tag aliases and canonical tag resolution.
5
- *
6
- * @module features/TagManager
7
- */
8
- import type { TagAlias } from '../types/index.js';
9
- /**
10
- * Manages tag alias system for synonym mapping.
11
- */
12
- export declare class TagManager {
13
- private tagAliasesFilePath;
14
- constructor(tagAliasesFilePath: string);
15
- /**
16
- * Load all tag aliases from JSONL file.
17
- *
18
- * @returns Array of tag aliases
19
- */
20
- private loadTagAliases;
21
- /**
22
- * Save tag aliases to JSONL file.
23
- *
24
- * @param aliases - Array of tag aliases
25
- */
26
- private saveTagAliases;
27
- /**
28
- * Resolve a tag through aliases to get its canonical form.
29
- *
30
- * This method follows the alias chain to find the canonical (main) tag name.
31
- * All tags are normalized to lowercase for consistency.
32
- * If the tag has no alias, it returns the tag itself as canonical.
33
- *
34
- * @param tag - Tag to resolve (can be alias or canonical)
35
- * @returns Canonical tag name (lowercase)
36
- *
37
- * @example
38
- * ```typescript
39
- * const manager = new TagManager(tagAliasesPath);
40
- *
41
- * // Set up: assume "js" is aliased to "javascript"
42
- * await manager.addTagAlias('js', 'javascript');
43
- *
44
- * // Resolve alias to canonical
45
- * const canonical = await manager.resolveTag('js');
46
- * console.log(canonical); // "javascript"
47
- *
48
- * // Resolve canonical tag (returns as-is)
49
- * const unchanged = await manager.resolveTag('javascript');
50
- * console.log(unchanged); // "javascript"
51
- *
52
- * // Resolve unknown tag (returns normalized)
53
- * const unknown = await manager.resolveTag('PYTHON');
54
- * console.log(unknown); // "python"
55
- * ```
56
- */
57
- resolveTag(tag: string): Promise<string>;
58
- /**
59
- * Add a tag alias (synonym mapping).
60
- *
61
- * Creates a mapping from an alias (synonym) to a canonical (main) tag.
62
- * This enables flexible tagging where users can use different terms
63
- * that all resolve to the same canonical tag.
64
- *
65
- * Validation rules:
66
- * - Prevents duplicate aliases (same alias can't map to different canonicals)
67
- * - Prevents chained aliases (alias must point to canonical, not another alias)
68
- * - All tags are normalized to lowercase
69
- *
70
- * @param alias - The alias/synonym (will be normalized to lowercase)
71
- * @param canonical - The canonical (main) tag name (will be normalized to lowercase)
72
- * @param description - Optional description explaining the alias relationship
73
- * @returns Newly created TagAlias object with metadata
74
- * @throws {Error} If alias already exists or would create chained aliases
75
- *
76
- * @example
77
- * ```typescript
78
- * const manager = new TagManager(tagAliasesPath);
79
- *
80
- * // Create simple alias
81
- * await manager.addTagAlias('js', 'javascript', 'Common abbreviation');
82
- *
83
- * // Create multiple aliases for same canonical
84
- * await manager.addTagAlias('py', 'python');
85
- * await manager.addTagAlias('py3', 'python', 'Python 3.x');
86
- *
87
- * // Error: duplicate alias
88
- * try {
89
- * await manager.addTagAlias('js', 'ecmascript'); // Fails - 'js' already aliased
90
- * } catch (error) {
91
- * console.error('Alias already exists');
92
- * }
93
- *
94
- * // Error: chained alias
95
- * await manager.addTagAlias('js', 'javascript');
96
- * try {
97
- * await manager.addTagAlias('javascript', 'ecmascript'); // Fails - can't alias canonical
98
- * } catch (error) {
99
- * console.error('Cannot create chained aliases');
100
- * }
101
- * ```
102
- */
103
- addTagAlias(alias: string, canonical: string, description?: string): Promise<TagAlias>;
104
- /**
105
- * List all tag aliases.
106
- *
107
- * @returns Array of all tag aliases
108
- */
109
- listTagAliases(): Promise<TagAlias[]>;
110
- /**
111
- * Remove a tag alias.
112
- *
113
- * @param alias - Alias to remove
114
- * @returns True if removed, false if not found
115
- */
116
- removeTagAlias(alias: string): Promise<boolean>;
117
- /**
118
- * Get all aliases (synonyms) for a canonical tag.
119
- *
120
- * Returns all alias names that resolve to the specified canonical tag.
121
- * Useful for discovering alternative names users might use for a tag.
122
- * The canonical tag name is normalized to lowercase.
123
- *
124
- * @param canonicalTag - Canonical tag name (will be normalized to lowercase)
125
- * @returns Array of alias names (all lowercase)
126
- *
127
- * @example
128
- * ```typescript
129
- * const manager = new TagManager(tagAliasesPath);
130
- *
131
- * // Set up some aliases
132
- * await manager.addTagAlias('js', 'javascript');
133
- * await manager.addTagAlias('ecmascript', 'javascript');
134
- * await manager.addTagAlias('es6', 'javascript');
135
- *
136
- * // Get all aliases for canonical tag
137
- * const aliases = await manager.getAliasesForTag('javascript');
138
- * console.log(aliases); // ['js', 'ecmascript', 'es6']
139
- *
140
- * // Empty array if no aliases
141
- * const noAliases = await manager.getAliasesForTag('python');
142
- * console.log(noAliases); // []
143
- * ```
144
- */
145
- getAliasesForTag(canonicalTag: string): Promise<string[]>;
146
- }
147
- //# sourceMappingURL=TagManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TagManager.d.ts","sourceRoot":"","sources":["../../src/features/TagManager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD;;GAEG;AACH,qBAAa,UAAU;IACT,OAAO,CAAC,kBAAkB;gBAAlB,kBAAkB,EAAE,MAAM;IAE9C;;;;OAIG;YACW,cAAc;IAa5B;;;;OAIG;YACW,cAAc;IAK5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAc9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4CG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IA8B5F;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAI3C;;;;;OAKG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAcrD;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAKhE"}