@danielsimonjr/memory-mcp 12.5.2 → 12.7.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 (159) hide show
  1. package/README.md +158 -14
  2. package/dist/core/EntityManager.d.ts +263 -0
  3. package/dist/core/EntityManager.d.ts.map +1 -0
  4. package/dist/core/EntityManager.js +478 -0
  5. package/dist/core/GraphStorage.d.ts +344 -0
  6. package/dist/core/GraphStorage.d.ts.map +1 -0
  7. package/dist/core/GraphStorage.js +708 -0
  8. package/dist/core/GraphTraversal.d.ts +136 -0
  9. package/dist/core/GraphTraversal.d.ts.map +1 -0
  10. package/dist/core/GraphTraversal.js +556 -0
  11. package/dist/core/HierarchyManager.d.ts +111 -0
  12. package/dist/core/HierarchyManager.d.ts.map +1 -0
  13. package/dist/core/HierarchyManager.js +224 -0
  14. package/dist/core/ManagerContext.d.ts +72 -0
  15. package/dist/core/ManagerContext.d.ts.map +1 -0
  16. package/dist/core/ManagerContext.js +118 -0
  17. package/dist/core/ObservationManager.d.ts +85 -0
  18. package/dist/core/ObservationManager.d.ts.map +1 -0
  19. package/dist/core/ObservationManager.js +123 -0
  20. package/dist/core/RelationManager.d.ts +131 -0
  21. package/dist/core/RelationManager.d.ts.map +1 -0
  22. package/dist/core/RelationManager.js +210 -0
  23. package/dist/core/SQLiteStorage.d.ts +354 -0
  24. package/dist/core/SQLiteStorage.d.ts.map +1 -0
  25. package/dist/core/SQLiteStorage.js +917 -0
  26. package/dist/core/StorageFactory.d.ts +45 -0
  27. package/dist/core/StorageFactory.d.ts.map +1 -0
  28. package/dist/core/StorageFactory.js +64 -0
  29. package/dist/core/TransactionManager.d.ts +259 -0
  30. package/dist/core/TransactionManager.d.ts.map +1 -0
  31. package/dist/core/TransactionManager.js +392 -0
  32. package/dist/core/index.d.ts +16 -0
  33. package/dist/core/index.d.ts.map +1 -0
  34. package/dist/core/index.js +17 -0
  35. package/dist/features/AnalyticsManager.d.ts +44 -0
  36. package/dist/features/AnalyticsManager.d.ts.map +1 -0
  37. package/dist/features/AnalyticsManager.js +223 -0
  38. package/dist/features/ArchiveManager.d.ts +121 -0
  39. package/dist/features/ArchiveManager.d.ts.map +1 -0
  40. package/dist/features/ArchiveManager.js +240 -0
  41. package/dist/features/CompressionManager.d.ts +109 -0
  42. package/dist/features/CompressionManager.d.ts.map +1 -0
  43. package/dist/features/CompressionManager.js +404 -0
  44. package/dist/features/IOManager.d.ts +221 -0
  45. package/dist/features/IOManager.d.ts.map +1 -0
  46. package/dist/features/IOManager.js +997 -0
  47. package/dist/features/StreamingExporter.d.ts +105 -0
  48. package/dist/features/StreamingExporter.d.ts.map +1 -0
  49. package/dist/features/StreamingExporter.js +150 -0
  50. package/dist/features/TagManager.d.ts +147 -0
  51. package/dist/features/TagManager.d.ts.map +1 -0
  52. package/dist/features/TagManager.js +210 -0
  53. package/dist/features/index.d.ts +12 -0
  54. package/dist/features/index.d.ts.map +1 -0
  55. package/dist/features/index.js +11 -0
  56. package/dist/index.js +8 -2
  57. package/dist/search/BasicSearch.d.ts +51 -0
  58. package/dist/search/BasicSearch.d.ts.map +1 -0
  59. package/dist/search/BasicSearch.js +137 -0
  60. package/dist/search/BooleanSearch.d.ts +98 -0
  61. package/dist/search/BooleanSearch.d.ts.map +1 -0
  62. package/dist/search/BooleanSearch.js +430 -0
  63. package/dist/search/EmbeddingService.d.ts +178 -0
  64. package/dist/search/EmbeddingService.d.ts.map +1 -0
  65. package/dist/search/EmbeddingService.js +358 -0
  66. package/dist/search/FuzzySearch.d.ts +118 -0
  67. package/dist/search/FuzzySearch.d.ts.map +1 -0
  68. package/dist/search/FuzzySearch.js +312 -0
  69. package/dist/search/RankedSearch.d.ts +71 -0
  70. package/dist/search/RankedSearch.d.ts.map +1 -0
  71. package/dist/search/RankedSearch.js +238 -0
  72. package/dist/search/SavedSearchManager.d.ts +79 -0
  73. package/dist/search/SavedSearchManager.d.ts.map +1 -0
  74. package/dist/search/SavedSearchManager.js +145 -0
  75. package/dist/search/SearchFilterChain.d.ts +120 -0
  76. package/dist/search/SearchFilterChain.d.ts.map +1 -0
  77. package/dist/search/SearchFilterChain.js +185 -0
  78. package/dist/search/SearchManager.d.ts +285 -0
  79. package/dist/search/SearchManager.d.ts.map +1 -0
  80. package/dist/search/SearchManager.js +338 -0
  81. package/dist/search/SearchSuggestions.d.ts +27 -0
  82. package/dist/search/SearchSuggestions.d.ts.map +1 -0
  83. package/dist/search/SearchSuggestions.js +57 -0
  84. package/dist/search/SemanticSearch.d.ts +146 -0
  85. package/dist/search/SemanticSearch.d.ts.map +1 -0
  86. package/dist/search/SemanticSearch.js +313 -0
  87. package/dist/search/TFIDFIndexManager.d.ts +63 -0
  88. package/dist/search/TFIDFIndexManager.d.ts.map +1 -0
  89. package/dist/search/TFIDFIndexManager.js +215 -0
  90. package/dist/search/VectorStore.d.ts +235 -0
  91. package/dist/search/VectorStore.d.ts.map +1 -0
  92. package/dist/search/VectorStore.js +311 -0
  93. package/dist/search/index.d.ts +18 -0
  94. package/dist/search/index.d.ts.map +1 -0
  95. package/dist/search/index.js +21 -0
  96. package/dist/server/MCPServer.d.ts.map +1 -1
  97. package/dist/server/toolDefinitions.d.ts +1 -1
  98. package/dist/server/toolDefinitions.d.ts.map +1 -1
  99. package/dist/server/toolDefinitions.js +254 -2
  100. package/dist/server/toolHandlers.d.ts.map +1 -1
  101. package/dist/server/toolHandlers.js +241 -25
  102. package/dist/types/index.d.ts +13 -0
  103. package/dist/types/index.d.ts.map +1 -0
  104. package/dist/types/index.js +12 -0
  105. package/dist/types/types.d.ts +1234 -0
  106. package/dist/types/types.d.ts.map +1 -0
  107. package/dist/types/types.js +9 -0
  108. package/dist/utils/compressedCache.d.ts +192 -0
  109. package/dist/utils/compressedCache.d.ts.map +1 -0
  110. package/dist/utils/compressedCache.js +309 -0
  111. package/dist/utils/compressionUtil.d.ts +214 -0
  112. package/dist/utils/compressionUtil.d.ts.map +1 -0
  113. package/dist/utils/compressionUtil.js +247 -0
  114. package/dist/utils/constants.d.ts +245 -0
  115. package/dist/utils/constants.d.ts.map +1 -0
  116. package/dist/utils/constants.js +252 -0
  117. package/dist/utils/entityUtils.d.ts +321 -0
  118. package/dist/utils/entityUtils.d.ts.map +1 -0
  119. package/dist/utils/entityUtils.js +538 -0
  120. package/dist/utils/errors.d.ts +77 -0
  121. package/dist/utils/errors.d.ts.map +1 -0
  122. package/dist/utils/errors.js +121 -0
  123. package/dist/utils/formatters.d.ts +145 -0
  124. package/dist/utils/formatters.d.ts.map +1 -0
  125. package/dist/utils/formatters.js +132 -0
  126. package/dist/utils/index.d.ts +22 -0
  127. package/dist/utils/index.d.ts.map +1 -0
  128. package/dist/utils/index.js +75 -0
  129. package/dist/utils/indexes.d.ts +270 -0
  130. package/dist/utils/indexes.d.ts.map +1 -0
  131. package/dist/utils/indexes.js +526 -0
  132. package/dist/utils/logger.d.ts +24 -0
  133. package/dist/utils/logger.d.ts.map +1 -0
  134. package/dist/utils/logger.js +33 -0
  135. package/dist/utils/parallelUtils.d.ts +72 -0
  136. package/dist/utils/parallelUtils.d.ts.map +1 -0
  137. package/dist/utils/parallelUtils.js +169 -0
  138. package/dist/utils/schemas.d.ts +374 -0
  139. package/dist/utils/schemas.d.ts.map +1 -0
  140. package/dist/utils/schemas.js +484 -0
  141. package/dist/utils/searchAlgorithms.d.ts +99 -0
  142. package/dist/utils/searchAlgorithms.d.ts.map +1 -0
  143. package/dist/utils/searchAlgorithms.js +167 -0
  144. package/dist/utils/searchCache.d.ts +108 -0
  145. package/dist/utils/searchCache.d.ts.map +1 -0
  146. package/dist/utils/searchCache.js +209 -0
  147. package/dist/utils/taskScheduler.d.ts +290 -0
  148. package/dist/utils/taskScheduler.d.ts.map +1 -0
  149. package/dist/utils/taskScheduler.js +466 -0
  150. package/dist/workers/WorkerPool.d.ts +81 -0
  151. package/dist/workers/WorkerPool.d.ts.map +1 -0
  152. package/dist/workers/WorkerPool.js +121 -0
  153. package/dist/workers/index.d.ts +12 -0
  154. package/dist/workers/index.d.ts.map +1 -0
  155. package/dist/workers/index.js +9 -0
  156. package/dist/workers/levenshteinWorker.d.ts +60 -0
  157. package/dist/workers/levenshteinWorker.d.ts.map +1 -0
  158. package/dist/workers/levenshteinWorker.js +98 -0
  159. package/package.json +7 -7
@@ -0,0 +1,290 @@
1
+ /**
2
+ * Task Scheduler
3
+ *
4
+ * Advanced task scheduling utilities using workerpool.
5
+ * Phase 8 Sprint 4: Priority queues, concurrency control, progress tracking.
6
+ *
7
+ * @module utils/taskScheduler
8
+ */
9
+ /**
10
+ * Task priority levels.
11
+ * Higher priority tasks are executed first.
12
+ */
13
+ export declare enum TaskPriority {
14
+ LOW = 0,
15
+ NORMAL = 1,
16
+ HIGH = 2,
17
+ CRITICAL = 3
18
+ }
19
+ /**
20
+ * Task status in the queue.
21
+ */
22
+ export declare enum TaskStatus {
23
+ PENDING = "pending",
24
+ RUNNING = "running",
25
+ COMPLETED = "completed",
26
+ FAILED = "failed",
27
+ CANCELLED = "cancelled"
28
+ }
29
+ /**
30
+ * Task definition for the queue.
31
+ */
32
+ export interface Task<T = unknown, R = unknown> {
33
+ /** Unique task identifier */
34
+ id: string;
35
+ /** Task priority */
36
+ priority: TaskPriority;
37
+ /** Function to execute (must be serializable) */
38
+ fn: (input: T) => R;
39
+ /** Input data for the function */
40
+ input: T;
41
+ /** Optional timeout in milliseconds */
42
+ timeout?: number;
43
+ /** Optional task metadata */
44
+ metadata?: Record<string, unknown>;
45
+ }
46
+ /**
47
+ * Task result after execution.
48
+ */
49
+ export interface TaskResult<R = unknown> {
50
+ /** Task identifier */
51
+ id: string;
52
+ /** Task status */
53
+ status: TaskStatus;
54
+ /** Result if successful */
55
+ result?: R;
56
+ /** Error if failed */
57
+ error?: Error;
58
+ /** Execution duration in milliseconds */
59
+ duration: number;
60
+ /** Start timestamp */
61
+ startedAt: number;
62
+ /** End timestamp */
63
+ completedAt: number;
64
+ }
65
+ /**
66
+ * Progress callback for batch operations.
67
+ */
68
+ export type ProgressCallback = (progress: {
69
+ completed: number;
70
+ total: number;
71
+ percentage: number;
72
+ currentTaskId?: string;
73
+ }) => void;
74
+ /**
75
+ * Batch processing options.
76
+ */
77
+ export interface BatchOptions {
78
+ /** Maximum concurrent tasks (default: CPU count - 1) */
79
+ concurrency?: number;
80
+ /** Task timeout in milliseconds (default: 30000) */
81
+ timeout?: number;
82
+ /** Progress callback */
83
+ onProgress?: ProgressCallback;
84
+ /** Whether to stop on first error (default: false) */
85
+ stopOnError?: boolean;
86
+ }
87
+ /**
88
+ * Task queue statistics.
89
+ */
90
+ export interface QueueStats {
91
+ /** Number of pending tasks */
92
+ pending: number;
93
+ /** Number of running tasks */
94
+ running: number;
95
+ /** Number of completed tasks */
96
+ completed: number;
97
+ /** Number of failed tasks */
98
+ failed: number;
99
+ /** Average execution time in milliseconds */
100
+ averageExecutionTime: number;
101
+ /** Total tasks processed */
102
+ totalProcessed: number;
103
+ }
104
+ /**
105
+ * Priority Task Queue with advanced scheduling.
106
+ *
107
+ * Features:
108
+ * - Priority-based execution (CRITICAL > HIGH > NORMAL > LOW)
109
+ * - Configurable concurrency limits
110
+ * - Progress tracking
111
+ * - Graceful error handling
112
+ * - Task cancellation
113
+ *
114
+ * @example
115
+ * ```typescript
116
+ * const queue = new TaskQueue({ concurrency: 4 });
117
+ *
118
+ * // Add tasks with different priorities
119
+ * queue.enqueue({
120
+ * id: 'task1',
121
+ * priority: TaskPriority.HIGH,
122
+ * fn: (x: number) => x * 2,
123
+ * input: 5,
124
+ * });
125
+ *
126
+ * // Process all tasks
127
+ * const results = await queue.processAll();
128
+ * ```
129
+ */
130
+ export declare class TaskQueue {
131
+ private queue;
132
+ private running;
133
+ private completed;
134
+ private pool;
135
+ private concurrency;
136
+ private defaultTimeout;
137
+ private isProcessing;
138
+ private totalExecutionTime;
139
+ private totalProcessed;
140
+ private useWorkerPool;
141
+ constructor(options?: {
142
+ concurrency?: number;
143
+ timeout?: number;
144
+ useWorkerPool?: boolean;
145
+ });
146
+ /**
147
+ * Get or create the worker pool.
148
+ */
149
+ private getPool;
150
+ /**
151
+ * Add a task to the queue.
152
+ *
153
+ * @param task - Task to add
154
+ * @returns Promise that resolves when the task completes
155
+ */
156
+ enqueue<T, R>(task: Task<T, R>): Promise<TaskResult<R>>;
157
+ /**
158
+ * Process the next task in the queue.
159
+ */
160
+ private processNext;
161
+ /**
162
+ * Cancel a pending task.
163
+ *
164
+ * @param taskId - ID of the task to cancel
165
+ * @returns True if task was cancelled, false if not found or already running
166
+ */
167
+ cancel(taskId: string): boolean;
168
+ /**
169
+ * Wait for all tasks to complete.
170
+ *
171
+ * @returns Array of all task results
172
+ */
173
+ drain(): Promise<TaskResult[]>;
174
+ /**
175
+ * Get queue statistics.
176
+ */
177
+ getStats(): QueueStats;
178
+ /**
179
+ * Clear all completed results.
180
+ */
181
+ clearCompleted(): void;
182
+ /**
183
+ * Shutdown the task queue and release resources.
184
+ */
185
+ shutdown(): Promise<void>;
186
+ }
187
+ /**
188
+ * Process items in parallel batches with progress tracking.
189
+ *
190
+ * Unlike parallelMap, this provides:
191
+ * - Progress callbacks
192
+ * - Configurable concurrency
193
+ * - Error handling options
194
+ * - Task-level timeouts
195
+ *
196
+ * @template T - Input item type
197
+ * @template R - Output item type
198
+ * @param items - Array of items to process
199
+ * @param fn - Processing function (must be serializable)
200
+ * @param options - Batch processing options
201
+ * @returns Array of results (or errors if stopOnError is false)
202
+ *
203
+ * @example
204
+ * ```typescript
205
+ * const results = await batchProcess(
206
+ * urls,
207
+ * (url: string) => fetch(url).then(r => r.json()),
208
+ * {
209
+ * concurrency: 5,
210
+ * timeout: 10000,
211
+ * onProgress: ({ completed, total, percentage }) => {
212
+ * console.log(`Progress: ${percentage.toFixed(1)}%`);
213
+ * },
214
+ * }
215
+ * );
216
+ * ```
217
+ */
218
+ export declare function batchProcess<T, R>(items: T[], fn: (item: T) => R | Promise<R>, options?: BatchOptions): Promise<Array<{
219
+ success: true;
220
+ result: R;
221
+ } | {
222
+ success: false;
223
+ error: Error;
224
+ }>>;
225
+ /**
226
+ * Execute tasks with rate limiting.
227
+ *
228
+ * Ensures tasks don't exceed a specified rate (tasks per second).
229
+ *
230
+ * @template T - Input item type
231
+ * @template R - Output item type
232
+ * @param items - Items to process
233
+ * @param fn - Processing function
234
+ * @param rateLimit - Maximum tasks per second
235
+ * @returns Array of results
236
+ *
237
+ * @example
238
+ * ```typescript
239
+ * // Process max 10 items per second
240
+ * const results = await rateLimitedProcess(
241
+ * items,
242
+ * (item) => processItem(item),
243
+ * 10
244
+ * );
245
+ * ```
246
+ */
247
+ export declare function rateLimitedProcess<T, R>(items: T[], fn: (item: T) => R | Promise<R>, rateLimit: number): Promise<R[]>;
248
+ /**
249
+ * Retry a function with exponential backoff.
250
+ *
251
+ * @template T - Return type
252
+ * @param fn - Function to retry
253
+ * @param options - Retry options
254
+ * @returns Result of the function
255
+ *
256
+ * @example
257
+ * ```typescript
258
+ * const result = await withRetry(
259
+ * () => fetchData(),
260
+ * { maxRetries: 3, baseDelay: 1000 }
261
+ * );
262
+ * ```
263
+ */
264
+ export declare function withRetry<T>(fn: () => T | Promise<T>, options?: {
265
+ maxRetries?: number;
266
+ baseDelay?: number;
267
+ maxDelay?: number;
268
+ onRetry?: (error: Error, attempt: number) => void;
269
+ }): Promise<T>;
270
+ /**
271
+ * Create a debounced version of a function.
272
+ *
273
+ * @template T - Function arguments type
274
+ * @template R - Return type
275
+ * @param fn - Function to debounce
276
+ * @param delay - Delay in milliseconds
277
+ * @returns Debounced function
278
+ */
279
+ export declare function debounce<T extends unknown[], R>(fn: (...args: T) => R, delay: number): (...args: T) => Promise<R>;
280
+ /**
281
+ * Create a throttled version of a function.
282
+ *
283
+ * @template T - Function arguments type
284
+ * @template R - Return type
285
+ * @param fn - Function to throttle
286
+ * @param limit - Minimum time between calls in milliseconds
287
+ * @returns Throttled function
288
+ */
289
+ export declare function throttle<T extends unknown[], R>(fn: (...args: T) => R, limit: number): (...args: T) => R | undefined;
290
+ //# sourceMappingURL=taskScheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taskScheduler.d.ts","sourceRoot":"","sources":["../../src/utils/taskScheduler.ts"],"names":[],"mappings":"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"}