@datafrog-io/n2n-memory 1.1.0 → 1.2.1

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/CHANGELOG.md CHANGED
@@ -6,6 +6,30 @@
6
6
 
7
7
  All notable changes to this project will be documented in this file.
8
8
 
9
+ ## [1.2.1] - 2026-01-12
10
+
11
+ ### Added
12
+ - **Structured JSON Tool Responses**:
13
+ - Upgraded all tool responses from plain text to structured JSON.
14
+ - Added `status`, `message`, and `_protocol` metadata fields for better machine readability.
15
+ - **Dynamic N2N-SYNC Protocol Reminders**:
16
+ - Implemented automatic injection of `[N2N-SYNC]` protocol reminders into `nextSteps`.
17
+ - Embedded protocol hints in tool metadata to guide AI assistants toward better synchronization habits.
18
+ - **Similarity-Based Observation Deduplication**:
19
+ - New `similarity.ts` utility module with Jaccard similarity, Levenshtein distance, and containment detection algorithms.
20
+ - `addEntities()` and `addObservations()` now use intelligent deduplication instead of exact-match `Set` deduplication.
21
+ - Automatically keeps the longer (more detailed) observation when duplicates are detected.
22
+ - Prevents redundant entries like "version 2.4.1" and "version 2.4.1 is the current release" from coexisting.
23
+ - **Fuzzy Search with Relevance Ranking**:
24
+ - `n2n_search` tool now supports fuzzy matching by default.
25
+ - New optional parameters: `fuzzy` (boolean) and `minScore` (0-1 threshold).
26
+ - Search results are ranked by relevance score (highest first).
27
+ - Handles typos via Levenshtein similarity.
28
+ - Supports word-level partial matching and semantic similarity via Jaccard index.
29
+ - **New Unit Tests**:
30
+ - Comprehensive test suite for all similarity functions (`similarity.test.ts`).
31
+ - 99 tests passing.
32
+
9
33
  ## [1.1.0] - 2024-12-19
10
34
 
11
35
  ### Added
package/README.md CHANGED
@@ -1,10 +1,11 @@
1
1
  # n2n-memory
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/@datafrog-io/n2n-memory)](https://www.npmjs.com/package/@datafrog-io/n2n-memory)
4
+ [![npm total downloads](https://img.shields.io/npm/dt/@datafrog-io/n2n-memory)](https://www.npmjs.com/package/@datafrog-io/n2n-memory)
4
5
  [![license](https://img.shields.io/github/license/n2ns/n2n-memory)](https://github.com/n2ns/n2n-memory/blob/main/LICENSE)
5
6
  [![MCP Protocol](https://img.shields.io/badge/MCP-Protocol-blue)](https://modelcontextprotocol.io)
6
7
  [![node version](https://img.shields.io/node/v/@datafrog-io/n2n-memory)](https://nodejs.org)
7
- [![N2N Studio](https://datafrog.io/badges/n2n-studio.svg)](https://github.com/n2ns)
8
+ [![N2N Synthetics](https://datafrog.io/badges/n2n-synthetics.svg)](https://github.com/n2ns)
8
9
  [![DataFrog.io](https://datafrog.io/badges/datafrog.svg)](https://datafrog.io)
9
10
 
10
11
  [中文版](./docs/README_zh.md)
@@ -2,6 +2,7 @@ import { Mutex } from "async-mutex";
2
2
  import lockfile from "proper-lockfile";
3
3
  import fs from "fs-extra";
4
4
  import path from "path";
5
+ import { deduplicateObservations, fuzzyMatchScore } from "../utils/similarity.js";
5
6
  import { MemoryManager, MEMORY_FILE_PATH, CONTEXT_FILE_PATH } from "./memory-manager.js";
6
7
  /**
7
8
  * MemoryService - High reliability dual-buffer memory manager.
@@ -168,11 +169,33 @@ export class MemoryService {
168
169
  });
169
170
  }
170
171
  // --- Combined Operations ---
172
+ /**
173
+ * Protocol reminder prefix for nextSteps.
174
+ * Used to inject and identify protocol reminders in context.
175
+ */
176
+ static PROTOCOL_PREFIX = "[N2N-SYNC]";
177
+ static PROTOCOL_REMINDER = `${MemoryService.PROTOCOL_PREFIX} Before 'git commit': call n2n_update_context to sync your progress.`;
178
+ /**
179
+ * Injects protocol reminder into nextSteps if not already present.
180
+ * Preserves user-defined nextSteps while ensuring protocol visibility.
181
+ */
182
+ injectProtocolReminder(context) {
183
+ const hasProtocolReminder = context.nextSteps.some(step => step.startsWith(MemoryService.PROTOCOL_PREFIX));
184
+ if (!hasProtocolReminder) {
185
+ return {
186
+ ...context,
187
+ nextSteps: [MemoryService.PROTOCOL_REMINDER, ...context.nextSteps]
188
+ };
189
+ }
190
+ return context;
191
+ }
171
192
  async getCompleteState(projectPath, options = {}) {
172
- const [graph, context] = await Promise.all([
193
+ const [graph, rawContext] = await Promise.all([
173
194
  this.getGraph(projectPath),
174
195
  this.getContext(projectPath)
175
196
  ]);
197
+ // Inject protocol reminder into context.nextSteps
198
+ const context = this.injectProtocolReminder(rawContext);
176
199
  const totalEntityCount = graph.entities.length;
177
200
  const offset = options.offset || 0;
178
201
  const limit = options.limit || totalEntityCount;
@@ -247,9 +270,15 @@ export class MemoryService {
247
270
  entities.forEach(newEntity => {
248
271
  const existing = graph.entities.find(e => e.name === newEntity.name);
249
272
  if (existing) {
250
- existing.observations = Array.from(new Set([...existing.observations, ...newEntity.observations]));
273
+ // Use similarity-based deduplication instead of exact match
274
+ existing.observations = deduplicateObservations([
275
+ ...existing.observations,
276
+ ...newEntity.observations
277
+ ]);
251
278
  }
252
279
  else {
280
+ // Deduplicate observations within the new entity as well
281
+ newEntity.observations = deduplicateObservations(newEntity.observations);
253
282
  graph.entities.push(newEntity);
254
283
  }
255
284
  });
@@ -262,7 +291,11 @@ export class MemoryService {
262
291
  const entity = graph.entities.find(e => e.name === obs.entityName);
263
292
  if (entity) {
264
293
  const originalLen = entity.observations.length;
265
- entity.observations = Array.from(new Set([...entity.observations, ...obs.contents]));
294
+ // Use similarity-based deduplication instead of exact match
295
+ entity.observations = deduplicateObservations([
296
+ ...entity.observations,
297
+ ...obs.contents
298
+ ]);
266
299
  count += entity.observations.length - originalLen;
267
300
  }
268
301
  });
@@ -317,19 +350,67 @@ export class MemoryService {
317
350
  async search(projectPath, query, options = {}) {
318
351
  const graph = await this.getGraph(projectPath);
319
352
  const lowerQuery = query.toLowerCase();
320
- const filteredEntities = graph.entities.filter(e => e.name.toLowerCase().includes(lowerQuery) ||
321
- e.entityType.toLowerCase().includes(lowerQuery) ||
322
- e.observations.some(o => o.toLowerCase().includes(lowerQuery)));
323
- const totalResults = filteredEntities.length;
353
+ const fuzzy = options.fuzzy ?? true; // Enable fuzzy search by default
354
+ const minScore = options.minScore ?? 0.3; // Minimum score threshold
355
+ // Score each entity based on search relevance
356
+ const scoredEntities = [];
357
+ for (const entity of graph.entities) {
358
+ let maxScore = 0;
359
+ // Check entity name
360
+ if (fuzzy) {
361
+ maxScore = Math.max(maxScore, fuzzyMatchScore(query, entity.name));
362
+ }
363
+ else if (entity.name.toLowerCase().includes(lowerQuery)) {
364
+ maxScore = 1;
365
+ }
366
+ // Check entity type
367
+ if (fuzzy) {
368
+ maxScore = Math.max(maxScore, fuzzyMatchScore(query, entity.entityType) * 0.8);
369
+ }
370
+ else if (entity.entityType.toLowerCase().includes(lowerQuery)) {
371
+ maxScore = Math.max(maxScore, 0.8);
372
+ }
373
+ // Check observations
374
+ for (const obs of entity.observations) {
375
+ if (fuzzy) {
376
+ maxScore = Math.max(maxScore, fuzzyMatchScore(query, obs) * 0.9);
377
+ }
378
+ else if (obs.toLowerCase().includes(lowerQuery)) {
379
+ maxScore = Math.max(maxScore, 0.9);
380
+ }
381
+ if (maxScore >= 1)
382
+ break; // Early exit if perfect match found
383
+ }
384
+ if (maxScore >= minScore) {
385
+ scoredEntities.push({ entity, score: maxScore });
386
+ }
387
+ }
388
+ // Sort by score descending
389
+ scoredEntities.sort((a, b) => b.score - a.score);
390
+ const totalResults = scoredEntities.length;
324
391
  const offset = options.offset || 0;
325
392
  const limit = options.limit || totalResults;
326
- const paginatedEntities = filteredEntities.slice(offset, offset + limit);
393
+ const paginatedEntities = scoredEntities
394
+ .slice(offset, offset + limit)
395
+ .map(se => se.entity);
327
396
  const isTruncated = (offset + limit) < totalResults;
328
397
  const entityNames = new Set(paginatedEntities.map(e => e.name));
329
- const filteredRelations = graph.relations.filter(r => r.from.toLowerCase().includes(lowerQuery) ||
330
- r.to.toLowerCase().includes(lowerQuery) ||
331
- r.relationType.toLowerCase().includes(lowerQuery) ||
332
- (entityNames.has(r.from) || entityNames.has(r.to)));
398
+ // Filter relations with fuzzy matching support
399
+ const filteredRelations = graph.relations.filter(r => {
400
+ // Include if connected to a matched entity
401
+ if (entityNames.has(r.from) || entityNames.has(r.to)) {
402
+ return true;
403
+ }
404
+ // Include if relation itself matches the query
405
+ if (fuzzy) {
406
+ return fuzzyMatchScore(query, r.from) >= minScore ||
407
+ fuzzyMatchScore(query, r.to) >= minScore ||
408
+ fuzzyMatchScore(query, r.relationType) >= minScore;
409
+ }
410
+ return r.from.toLowerCase().includes(lowerQuery) ||
411
+ r.to.toLowerCase().includes(lowerQuery) ||
412
+ r.relationType.toLowerCase().includes(lowerQuery);
413
+ });
333
414
  return {
334
415
  graph: { entities: paginatedEntities, relations: filteredRelations },
335
416
  totalResults,
@@ -1 +1 @@
1
- {"version":3,"file":"memory-service.js","sourceRoot":"","sources":["../../src/core/memory-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-service.js","sourceRoot":"","sources":["../../src/core/memory-service.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,27 @@ import { MemoryService } from "../core/memory-service.js";
5
5
  import { MemoryManager } from "../core/memory-manager.js";
6
6
  import { findProjectRoot } from "../utils/path-utils.js";
7
7
  import { z } from "zod";
8
+ /**
9
+ * N2N-SYNC Protocol reminders embedded in tool responses.
10
+ * These are visible to ALL AI assistants regardless of client.
11
+ */
12
+ const PROTOCOL = {
13
+ AFTER_READ: {
14
+ action: "MEMORY_LOADED",
15
+ reminder: "Before 'git commit': call n2n_update_context to sync your progress.",
16
+ policy: "Update memory when you learn new facts about this project."
17
+ },
18
+ AFTER_WRITE: {
19
+ action: "MEMORY_UPDATED",
20
+ reminder: "Remember to call n2n_update_context before 'git commit'.",
21
+ tip: "Use n2n_read_graph at session start to restore context."
22
+ },
23
+ AFTER_CONTEXT_UPDATE: {
24
+ action: "CONTEXT_SYNCED",
25
+ reminder: "Context saved. You may now proceed with 'git commit'.",
26
+ tip: "Call n2n_read_graph in your next session to restore this context."
27
+ }
28
+ };
8
29
  /**
9
30
  * Handlers object containing the core logic for each tool/resource.
10
31
  */
@@ -57,7 +78,12 @@ export const Handlers = {
57
78
  if (typeof root !== 'string')
58
79
  return root;
59
80
  await MemoryService.getInstance().addEntities(root, parsed.entities);
60
- return { content: [{ type: "text", text: `Success: Added ${parsed.entities.length} entities to root: ${root}` }] };
81
+ const response = {
82
+ status: "success",
83
+ message: `Added ${parsed.entities.length} entities to root: ${root}`,
84
+ _protocol: PROTOCOL.AFTER_WRITE
85
+ };
86
+ return { content: [{ type: "text", text: JSON.stringify(response, null, 2) }] };
61
87
  },
62
88
  async addObservations(args) {
63
89
  const parsed = Schemas.AddObservationsSchema.parse(args);
@@ -65,7 +91,12 @@ export const Handlers = {
65
91
  if (typeof root !== 'string')
66
92
  return root;
67
93
  const addedCount = await MemoryService.getInstance().addObservations(root, parsed.observations);
68
- return { content: [{ type: "text", text: `Success: Added ${addedCount} observation fragments to root: ${root}` }] };
94
+ const response = {
95
+ status: "success",
96
+ message: `Added ${addedCount} observation fragments to root: ${root}`,
97
+ _protocol: PROTOCOL.AFTER_WRITE
98
+ };
99
+ return { content: [{ type: "text", text: JSON.stringify(response, null, 2) }] };
69
100
  },
70
101
  async createRelations(args) {
71
102
  const parsed = Schemas.CreateRelationsSchema.parse(args);
@@ -73,7 +104,12 @@ export const Handlers = {
73
104
  if (typeof root !== 'string')
74
105
  return root;
75
106
  await MemoryService.getInstance().createRelations(root, parsed.relations);
76
- return { content: [{ type: "text", text: `Success: Created ${parsed.relations.length} relations in root: ${root}` }] };
107
+ const response = {
108
+ status: "success",
109
+ message: `Created ${parsed.relations.length} relations in root: ${root}`,
110
+ _protocol: PROTOCOL.AFTER_WRITE
111
+ };
112
+ return { content: [{ type: "text", text: JSON.stringify(response, null, 2) }] };
77
113
  },
78
114
  async readGraph(args) {
79
115
  const parsed = Schemas.ReadGraphSchema.parse(args);
@@ -85,7 +121,12 @@ export const Handlers = {
85
121
  limit: parsed.limit,
86
122
  offset: parsed.offset
87
123
  });
88
- return { content: [{ type: "text", text: JSON.stringify(state, null, 2) }] };
124
+ // Embed protocol reminder in response (visible to all AI assistants)
125
+ const response = {
126
+ ...state,
127
+ _protocol: PROTOCOL.AFTER_READ
128
+ };
129
+ return { content: [{ type: "text", text: JSON.stringify(response, null, 2) }] };
89
130
  },
90
131
  async getGraphSummary(args) {
91
132
  const parsed = Schemas.GetGraphSummarySchema.parse(args);
@@ -105,7 +146,12 @@ export const Handlers = {
105
146
  return root;
106
147
  const { projectPath: _, confirmNewProjectRoot: __, ...updates } = parsed;
107
148
  await MemoryService.getInstance().updateContext(root, updates);
108
- return { content: [{ type: "text", text: `Success: Project context (hot-state) updated for root: ${root}` }] };
149
+ const response = {
150
+ status: "success",
151
+ message: `Project context (hot-state) updated for root: ${root}`,
152
+ _protocol: PROTOCOL.AFTER_CONTEXT_UPDATE
153
+ };
154
+ return { content: [{ type: "text", text: JSON.stringify(response, null, 2) }] };
109
155
  },
110
156
  async search(args) {
111
157
  const parsed = Schemas.SearchSchema.parse(args);
@@ -114,7 +160,9 @@ export const Handlers = {
114
160
  return root;
115
161
  const result = await MemoryService.getInstance().search(root, parsed.query, {
116
162
  limit: parsed.limit,
117
- offset: parsed.offset
163
+ offset: parsed.offset,
164
+ fuzzy: parsed.fuzzy,
165
+ minScore: parsed.minScore
118
166
  });
119
167
  return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
120
168
  },
@@ -124,7 +172,12 @@ export const Handlers = {
124
172
  if (typeof root !== 'string')
125
173
  return root;
126
174
  const deletedCount = await MemoryService.getInstance().deleteEntities(root, parsed.entityNames);
127
- return { content: [{ type: "text", text: `Success: Deleted ${deletedCount} entities from root: ${root}` }] };
175
+ const response = {
176
+ status: "success",
177
+ message: `Deleted ${deletedCount} entities from root: ${root}`,
178
+ _protocol: PROTOCOL.AFTER_WRITE
179
+ };
180
+ return { content: [{ type: "text", text: JSON.stringify(response, null, 2) }] };
128
181
  },
129
182
  async deleteObservations(args) {
130
183
  const parsed = Schemas.DeleteObservationsSchema.parse(args);
@@ -132,7 +185,12 @@ export const Handlers = {
132
185
  if (typeof root !== 'string')
133
186
  return root;
134
187
  const deletedCount = await MemoryService.getInstance().deleteObservations(root, parsed.deletions);
135
- return { content: [{ type: "text", text: `Success: Deleted ${deletedCount} observations from root: ${root}` }] };
188
+ const response = {
189
+ status: "success",
190
+ message: `Deleted ${deletedCount} observations from root: ${root}`,
191
+ _protocol: PROTOCOL.AFTER_WRITE
192
+ };
193
+ return { content: [{ type: "text", text: JSON.stringify(response, null, 2) }] };
136
194
  },
137
195
  async deleteRelations(args) {
138
196
  const parsed = Schemas.DeleteRelationsSchema.parse(args);
@@ -140,7 +198,12 @@ export const Handlers = {
140
198
  if (typeof root !== 'string')
141
199
  return root;
142
200
  const deletedCount = await MemoryService.getInstance().deleteRelations(root, parsed.relations);
143
- return { content: [{ type: "text", text: `Success: Deleted ${deletedCount} relations from root: ${root}` }] };
201
+ const response = {
202
+ status: "success",
203
+ message: `Deleted ${deletedCount} relations from root: ${root}`,
204
+ _protocol: PROTOCOL.AFTER_WRITE
205
+ };
206
+ return { content: [{ type: "text", text: JSON.stringify(response, null, 2) }] };
144
207
  },
145
208
  async openNodes(args) {
146
209
  const parsed = Schemas.OpenNodesSchema.parse(args);
@@ -156,7 +219,11 @@ export const Handlers = {
156
219
  if (typeof root !== 'string')
157
220
  return root;
158
221
  const filePath = await MemoryManager.exportToMarkdown(root, parsed.outputPath);
159
- return { content: [{ type: "text", text: `Success: Exported knowledge graph to ${filePath}` }] };
222
+ const response = {
223
+ status: "success",
224
+ message: `Exported knowledge graph to ${filePath}`,
225
+ };
226
+ return { content: [{ type: "text", text: JSON.stringify(response, null, 2) }] };
160
227
  },
161
228
  async readResource(uriString) {
162
229
  const uri = new URL(uriString);
@@ -165,7 +232,7 @@ export const Handlers = {
165
232
  }
166
233
  const projectPath = uri.searchParams.get("path");
167
234
  if (!projectPath) {
168
- throw new McpError(ErrorCode.InvalidParams, "projectPath query parameter 'path' is required");
235
+ throw new McpError(ErrorCode.InvalidParams, "Project path query parameter 'path' is required. Use mcp://memory/graph?path=/your/project/path");
169
236
  }
170
237
  // Resources are tricky since they don't take extra arguments.
171
238
  // We assume resource reading is for established projects.
@@ -205,7 +272,11 @@ export const Handlers = {
205
272
  return {
206
273
  content: [{
207
274
  type: "text",
208
- text: `Validation Error: ${error.issues.map(i => `${i.path.join('.')}: ${i.message}`).join(', ')}`
275
+ text: JSON.stringify({
276
+ status: "error",
277
+ type: "validation_error",
278
+ message: `Validation Error: ${error.issues.map(i => `${i.path.join('.')}: ${i.message}`).join(', ')}`
279
+ }, null, 2)
209
280
  }],
210
281
  isError: true,
211
282
  };
@@ -213,12 +284,26 @@ export const Handlers = {
213
284
  const message = error instanceof Error ? error.message : String(error);
214
285
  if (message.startsWith("Directory Not Recognized as a Project")) {
215
286
  return {
216
- content: [{ type: "text", text: `Project Requirement Error: ${message}` }],
287
+ content: [{
288
+ type: "text",
289
+ text: JSON.stringify({
290
+ status: "error",
291
+ type: "project_recognition_error",
292
+ message: `Project Requirement Error: ${message}`
293
+ }, null, 2)
294
+ }],
217
295
  isError: true,
218
296
  };
219
297
  }
220
298
  return {
221
- content: [{ type: "text", text: `Execution Error: ${message}` }],
299
+ content: [{
300
+ type: "text",
301
+ text: JSON.stringify({
302
+ status: "error",
303
+ type: "execution_error",
304
+ message: `Execution Error: ${message}`
305
+ }, null, 2)
306
+ }],
222
307
  isError: true,
223
308
  };
224
309
  }
@@ -227,9 +312,15 @@ export const Handlers = {
227
312
  return {
228
313
  resources: [{
229
314
  uri: "mcp://memory/graph",
230
- name: "Project Knowledge Graph & Context",
231
- description: "The complete knowledge graph and active project context.",
315
+ name: "Project Knowledge Graph & Context (Legacy Support)",
316
+ description: "The complete knowledge graph and active project context (Requires path parameter).",
232
317
  mimeType: "application/json",
318
+ }],
319
+ resourceTemplates: [{
320
+ uriTemplate: "mcp://memory/graph?path={path}",
321
+ name: "Project Knowledge Graph & Context",
322
+ description: "Get the complete graph and active context for a specific project path.",
323
+ mimeType: "application/json"
233
324
  }]
234
325
  };
235
326
  },
@@ -241,12 +332,42 @@ export const Handlers = {
241
332
  * Registers all tools and resources to the provided McpServer instance.
242
333
  */
243
334
  export function registerAll(server) {
244
- server.tool("n2n_add_entities", Schemas.AddEntitiesSchema.shape, (args) => Handlers.addEntities(args));
245
- server.tool("n2n_add_observations", Schemas.AddObservationsSchema.shape, (args) => Handlers.addObservations(args));
246
- server.tool("n2n_create_relations", Schemas.CreateRelationsSchema.shape, (args) => Handlers.createRelations(args));
247
- server.tool("n2n_read_graph", Schemas.ReadGraphSchema.shape, (args) => Handlers.readGraph(args));
335
+ server.tool("n2n_add_entities", Schemas.AddEntitiesSchema.shape, async (args) => {
336
+ await server.server.sendLoggingMessage({
337
+ level: "info",
338
+ data: `Processing n2n_add_entities for path: ${args.projectPath}`,
339
+ });
340
+ return await Handlers.addEntities(args);
341
+ });
342
+ server.tool("n2n_add_observations", Schemas.AddObservationsSchema.shape, async (args) => {
343
+ await server.server.sendLoggingMessage({
344
+ level: "info",
345
+ data: `Processing n2n_add_observations for path: ${args.projectPath}`,
346
+ });
347
+ return await Handlers.addObservations(args);
348
+ });
349
+ server.tool("n2n_create_relations", Schemas.CreateRelationsSchema.shape, async (args) => {
350
+ await server.server.sendLoggingMessage({
351
+ level: "info",
352
+ data: `Processing n2n_create_relations for path: ${args.projectPath}`,
353
+ });
354
+ return await Handlers.createRelations(args);
355
+ });
356
+ server.tool("n2n_read_graph", Schemas.ReadGraphSchema.shape, async (args) => {
357
+ await server.server.sendLoggingMessage({
358
+ level: "info",
359
+ data: `Reading graph for path: ${args.projectPath}`,
360
+ });
361
+ return await Handlers.readGraph(args);
362
+ });
248
363
  server.tool("n2n_get_graph_summary", Schemas.GetGraphSummarySchema.shape, (args) => Handlers.getGraphSummary(args));
249
- server.tool("n2n_update_context", Schemas.UpdateContextSchema.shape, (args) => Handlers.updateContext(args));
364
+ server.tool("n2n_update_context", Schemas.UpdateContextSchema.shape, async (args) => {
365
+ await server.server.sendLoggingMessage({
366
+ level: "info",
367
+ data: `Updating context for path: ${args.projectPath}`,
368
+ });
369
+ return await Handlers.updateContext(args);
370
+ });
250
371
  server.tool("n2n_search", Schemas.SearchSchema.shape, (args) => Handlers.search(args));
251
372
  server.tool("n2n_delete_entities", Schemas.DeleteEntitiesSchema.shape, (args) => Handlers.deleteEntities(args));
252
373
  server.tool("n2n_delete_observations", Schemas.DeleteObservationsSchema.shape, (args) => Handlers.deleteObservations(args));
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-handlers.js","sourceRoot":"","sources":["../../src/handlers/mcp-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-handlers.js","sourceRoot":"","sources":["../../src/handlers/mcp-handlers.ts"],"names":[],"mappings":"AACA,OAAO,EACH,SAAS,EACT,QAAQ,EAGX,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,MAAM,QAAQ,GAAG;IACb,UAAU,EAAE;QACR,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,qEAAqE;QAC/E,MAAM,EAAE,4DAA4D;KACvE;IACD,WAAW,EAAE;QACT,MAAM,EAAE,gBAAgB;QACxB,QAAQ,EAAE,0DAA0D;QACpE,GAAG,EAAE,yDAAyD;KACjE;IACD,oBAAoB,EAAE;QAClB,MAAM,EAAE,gBAAgB;QACxB,QAAQ,EAAE,uDAAuD;QACjE,GAAG,EAAE,mEAAmE;KAC3E;CACJ,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB;;;OAGG;IACH,KAAK,CAAC,wBAAwB,CAAC,IAAS;QACpC,MAAM,EAAE,WAAW,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC;QACpD,IAAI,SAAS,CAAC;QACd,IAAI,CAAC;YACD,SAAS,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,2CAA2C;YAC3C,OAAO;gBACH,OAAO,EAAE,CAAC;wBACN,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC/D,CAAC;gBACF,OAAO,EAAE,IAAI;aAChB,CAAC;QACN,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC,QAAQ,CAAC;QAC9B,CAAC;QAED,6BAA6B;QAC7B,IAAI,qBAAqB,KAAK,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC/C,OAAO,SAAS,CAAC,QAAQ,CAAC;QAC9B,CAAC;QAED,4DAA4D;QAC5D,OAAO;YACH,OAAO,EAAE,CAAC;oBACN,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACjB,MAAM,EAAE,uBAAuB;wBAC/B,YAAY,EAAE,SAAS,CAAC,QAAQ;wBAChC,YAAY,EAAE,SAAS,CAAC,YAAY;wBACpC,OAAO,EAAE,gDAAgD,SAAS,CAAC,QAAQ,KAAK;4BAC5E,2JAA2J;qBAClK,EAAE,IAAI,EAAE,CAAC,CAAC;iBACd,CAAC;YACF,OAAO,EAAE,IAAI;SAChB,CAAC;IACN,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAS;QACvB,MAAM,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG;YACb,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,SAAS,MAAM,CAAC,QAAQ,CAAC,MAAM,sBAAsB,IAAI,EAAE;YACpE,SAAS,EAAE,QAAQ,CAAC,WAAW;SAClC,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAS;QAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QAChG,MAAM,QAAQ,GAAG;YACb,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,SAAS,UAAU,mCAAmC,IAAI,EAAE;YACrE,SAAS,EAAE,QAAQ,CAAC,WAAW;SAClC,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAS;QAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG;YACb,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,WAAW,MAAM,CAAC,SAAS,CAAC,MAAM,uBAAuB,IAAI,EAAE;YACxE,SAAS,EAAE,QAAQ,CAAC,WAAW;SAClC,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAS;QACrB,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE;YACnE,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;SACxB,CAAC,CAAC;QAEH,qEAAqE;QACrE,MAAM,QAAQ,GAAG;YACb,GAAG,KAAK;YACR,SAAS,EAAE,QAAQ,CAAC,UAAU;SACjC,CAAC;QAEF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAS;QAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE;YACnE,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;SACxB,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAS;QACzB,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,EAAE,WAAW,EAAE,CAAC,EAAE,qBAAqB,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC;QACzE,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG;YACb,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,iDAAiD,IAAI,EAAE;YAChE,SAAS,EAAE,QAAQ,CAAC,oBAAoB;SAC3C,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAS;QAClB,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE;YACxE,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC5B,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAS;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAChG,MAAM,QAAQ,GAAG;YACb,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,WAAW,YAAY,wBAAwB,IAAI,EAAE;YAC9D,SAAS,EAAE,QAAQ,CAAC,WAAW;SAClC,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAS;QAC9B,MAAM,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAClG,MAAM,QAAQ,GAAG;YACb,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,WAAW,YAAY,4BAA4B,IAAI,EAAE;YAClE,SAAS,EAAE,QAAQ,CAAC,WAAW;SAClC,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAS;QAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/F,MAAM,QAAQ,GAAG;YACb,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,WAAW,YAAY,yBAAyB,IAAI,EAAE;YAC/D,SAAS,EAAE,QAAQ,CAAC,WAAW;SAClC,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAS;QACrB,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACjE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAS;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/E,MAAM,QAAQ,GAAG;YACb,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,+BAA+B,QAAQ,EAAE;SACrD,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAiB;QAChC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnD,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,yBAAyB,SAAS,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,CAAC,WAAW,EAAE,CAAC;YACf,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,iGAAiG,CAAC,CAAC;QACnJ,CAAC;QAED,8DAA8D;QAC9D,0DAA0D;QAC1D,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,uDAAuD,CAAC,CAAC;QAC1G,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrF,OAAO;YACH,QAAQ,EAAE,CAAC;oBACP,GAAG,EAAE,SAAS;oBACd,QAAQ,EAAE,kBAAkB;oBAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;iBACvC,CAAC;SACL,CAAC;IACN,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,IAAS;QAClC,IAAI,CAAC;YACD,QAAQ,IAAI,EAAE,CAAC;gBACX,KAAK,kBAAkB,CAAC,CAAC,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC7D,KAAK,sBAAsB,CAAC,CAAC,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACrE,KAAK,sBAAsB,CAAC,CAAC,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACrE,KAAK,gBAAgB,CAAC,CAAC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACzD,KAAK,uBAAuB,CAAC,CAAC,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACtE,KAAK,oBAAoB,CAAC,CAAC,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBACjE,KAAK,YAAY,CAAC,CAAC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClD,KAAK,qBAAqB,CAAC,CAAC,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBACnE,KAAK,yBAAyB,CAAC,CAAC,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;gBAC3E,KAAK,sBAAsB,CAAC,CAAC,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACrE,KAAK,gBAAgB,CAAC,CAAC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACzD,KAAK,qBAAqB,CAAC,CAAC,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBACnE,OAAO,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC;YACnF,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,KAAK,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC9B,OAAO;oBACH,OAAO,EAAE,CAAC;4BACN,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACjB,MAAM,EAAE,OAAO;gCACf,IAAI,EAAE,kBAAkB;gCACxB,OAAO,EAAE,qBAAqB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;6BACxG,EAAE,IAAI,EAAE,CAAC,CAAC;yBACd,CAAC;oBACF,OAAO,EAAE,IAAI;iBAChB,CAAC;YACN,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,OAAO,CAAC,UAAU,CAAC,uCAAuC,CAAC,EAAE,CAAC;gBAC9D,OAAO;oBACH,OAAO,EAAE,CAAC;4BACN,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACjB,MAAM,EAAE,OAAO;gCACf,IAAI,EAAE,2BAA2B;gCACjC,OAAO,EAAE,8BAA8B,OAAO,EAAE;6BACnD,EAAE,IAAI,EAAE,CAAC,CAAC;yBACd,CAAC;oBACF,OAAO,EAAE,IAAI;iBAChB,CAAC;YACN,CAAC;YACD,OAAO;gBACH,OAAO,EAAE,CAAC;wBACN,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACjB,MAAM,EAAE,OAAO;4BACf,IAAI,EAAE,iBAAiB;4BACvB,OAAO,EAAE,oBAAoB,OAAO,EAAE;yBACzC,EAAE,IAAI,EAAE,CAAC,CAAC;qBACd,CAAC;gBACF,OAAO,EAAE,IAAI;aAChB,CAAC;QACN,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa;QACf,OAAO;YACH,SAAS,EAAE,CAAC;oBACR,GAAG,EAAE,oBAAoB;oBACzB,IAAI,EAAE,oDAAoD;oBAC1D,WAAW,EAAE,oFAAoF;oBACjG,QAAQ,EAAE,kBAAkB;iBAC/B,CAAC;YACF,iBAAiB,EAAE,CAAC;oBAChB,WAAW,EAAE,gCAAgC;oBAC7C,IAAI,EAAE,mCAAmC;oBACzC,WAAW,EAAE,wEAAwE;oBACrF,QAAQ,EAAE,kBAAkB;iBAC/B,CAAC;SACL,CAAC;IACN,CAAC;IAED,KAAK,CAAC,SAAS;QACX,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;IACvC,CAAC;CACJ,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,MAAiB;IACzC,MAAM,CAAC,IAAI,CACP,kBAAkB,EAClB,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAC/B,KAAK,EAAE,IAAI,EAAE,EAAE;QACX,MAAM,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;YACnC,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,yCAAyC,IAAI,CAAC,WAAW,EAAE;SACpE,CAAC,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC,CACJ,CAAC;IAEF,MAAM,CAAC,IAAI,CACP,sBAAsB,EACtB,OAAO,CAAC,qBAAqB,CAAC,KAAK,EACnC,KAAK,EAAE,IAAI,EAAE,EAAE;QACX,MAAM,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;YACnC,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,6CAA6C,IAAI,CAAC,WAAW,EAAE;SACxE,CAAC,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CACJ,CAAC;IAEF,MAAM,CAAC,IAAI,CACP,sBAAsB,EACtB,OAAO,CAAC,qBAAqB,CAAC,KAAK,EACnC,KAAK,EAAE,IAAI,EAAE,EAAE;QACX,MAAM,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;YACnC,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,6CAA6C,IAAI,CAAC,WAAW,EAAE;SACxE,CAAC,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CACJ,CAAC;IAEF,MAAM,CAAC,IAAI,CACP,gBAAgB,EAChB,OAAO,CAAC,eAAe,CAAC,KAAK,EAC7B,KAAK,EAAE,IAAI,EAAE,EAAE;QACX,MAAM,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;YACnC,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,2BAA2B,IAAI,CAAC,WAAW,EAAE;SACtD,CAAC,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC,CACJ,CAAC;IAEF,MAAM,CAAC,IAAI,CACP,uBAAuB,EACvB,OAAO,CAAC,qBAAqB,CAAC,KAAK,EACnC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAC3C,CAAC;IAEF,MAAM,CAAC,IAAI,CACP,oBAAoB,EACpB,OAAO,CAAC,mBAAmB,CAAC,KAAK,EACjC,KAAK,EAAE,IAAI,EAAE,EAAE;QACX,MAAM,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;YACnC,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,8BAA8B,IAAI,CAAC,WAAW,EAAE;SACzD,CAAC,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CACJ,CAAC;IAEF,MAAM,CAAC,IAAI,CACP,YAAY,EACZ,OAAO,CAAC,YAAY,CAAC,KAAK,EAC1B,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAClC,CAAC;IAEF,MAAM,CAAC,IAAI,CACP,qBAAqB,EACrB,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAClC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAC1C,CAAC;IAEF,MAAM,CAAC,IAAI,CACP,yBAAyB,EACzB,OAAO,CAAC,wBAAwB,CAAC,KAAK,EACtC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAC9C,CAAC;IAEF,MAAM,CAAC,IAAI,CACP,sBAAsB,EACtB,OAAO,CAAC,qBAAqB,CAAC,KAAK,EACnC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAC3C,CAAC;IAEF,MAAM,CAAC,IAAI,CACP,gBAAgB,EAChB,OAAO,CAAC,eAAe,CAAC,KAAK,EAC7B,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CACrC,CAAC;IAEF,MAAM,CAAC,IAAI,CACP,qBAAqB,EACrB,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAClC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAC1C,CAAC;IAEF,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7F,CAAC"}
@@ -35,7 +35,7 @@ export const TOOL_DEFINITIONS = [
35
35
  },
36
36
  {
37
37
  name: "n2n_search",
38
- description: "Search project memory by keyword. Helpful for locating specific context in large graphs.",
38
+ description: "Search project memory with fuzzy matching support. Handles typos, partial matches, and semantic similarity. Results are ranked by relevance score.",
39
39
  inputSchema: { type: "object" }
40
40
  },
41
41
  {
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B;QACI,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,oOAAoO;QACjP,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,2CAA2C;KAC9E;IACD;QACI,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,gIAAgI;QAC7I,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;IACD;QACI,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,iIAAiI;QAC9I,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;IACD;QACI,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,mQAAmQ;QAChR,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;IACD;QACI,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,wJAAwJ;QACrK,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;IACD;QACI,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,sJAAsJ;QACnK,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;IACD;QACI,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,0FAA0F;QACvG,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;IACD;QACI,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,+CAA+C;QAC5D,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;IACD;QACI,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,wCAAwC;QACrD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;IACD;QACI,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,4BAA4B;QACzC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;IACD;QACI,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,+EAA+E;QAC5F,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;IACD;QACI,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,iEAAiE;QAC9E,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;CACJ,CAAC"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/tools/definitions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B;QACI,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,oOAAoO;QACjP,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,2CAA2C;KAC9E;IACD;QACI,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,gIAAgI;QAC7I,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;IACD;QACI,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,iIAAiI;QAC9I,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;IACD;QACI,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,mQAAmQ;QAChR,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;IACD;QACI,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,wJAAwJ;QACrK,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;IACD;QACI,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,sJAAsJ;QACnK,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;IACD;QACI,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,oJAAoJ;QACjK,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;IACD;QACI,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,+CAA+C;QAC5D,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;IACD;QACI,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EAAE,wCAAwC;QACrD,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;IACD;QACI,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,4BAA4B;QACzC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;IACD;QACI,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,+EAA+E;QAC5F,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;IACD;QACI,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,iEAAiE;QAC9E,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAClC;CACJ,CAAC"}
@@ -44,6 +44,8 @@ export const SearchSchema = z.object({
44
44
  query: z.string().describe("Search keywords for entities, types, or observations"),
45
45
  limit: z.number().int().positive().optional().describe("Maximum number of entities to return."),
46
46
  offset: z.number().int().nonnegative().optional().describe("Number of entities to skip."),
47
+ fuzzy: z.boolean().optional().describe("Enable fuzzy matching for typo tolerance and semantic similarity (default: true)."),
48
+ minScore: z.number().min(0).max(1).optional().describe("Minimum relevance score threshold 0-1 (default: 0.3). Higher values return fewer but more relevant results."),
47
49
  });
48
50
  export const DeleteEntitiesSchema = z.object({
49
51
  ...BaseSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/tools/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,171 @@
1
+ /**
2
+ * String similarity utilities for observation deduplication and fuzzy search.
3
+ * Uses lightweight algorithms without external dependencies.
4
+ */
5
+ /**
6
+ * Normalize a string for comparison (lowercase, trim, collapse whitespace).
7
+ */
8
+ export function normalize(str) {
9
+ return str.toLowerCase().trim().replace(/\s+/g, ' ');
10
+ }
11
+ /**
12
+ * Tokenize a string into words.
13
+ */
14
+ export function tokenize(str) {
15
+ return new Set(normalize(str)
16
+ .split(/[\s,.;:!?()[\]{}'"]+/)
17
+ .filter(word => word.length > 1));
18
+ }
19
+ /**
20
+ * Calculate Jaccard similarity between two strings.
21
+ * Returns a value between 0 (no overlap) and 1 (identical).
22
+ */
23
+ export function jaccardSimilarity(a, b) {
24
+ const setA = tokenize(a);
25
+ const setB = tokenize(b);
26
+ if (setA.size === 0 && setB.size === 0)
27
+ return 1;
28
+ if (setA.size === 0 || setB.size === 0)
29
+ return 0;
30
+ let intersection = 0;
31
+ for (const word of setA) {
32
+ if (setB.has(word))
33
+ intersection++;
34
+ }
35
+ const union = setA.size + setB.size - intersection;
36
+ return intersection / union;
37
+ }
38
+ /**
39
+ * Check if string A contains string B (or vice versa) after normalization.
40
+ * Useful for detecting "version 2.4.1" vs "current version is 2.4.1".
41
+ */
42
+ export function containsSimilar(a, b) {
43
+ const normA = normalize(a);
44
+ const normB = normalize(b);
45
+ return normA.includes(normB) || normB.includes(normA);
46
+ }
47
+ /**
48
+ * Check if two observations are semantically similar.
49
+ * Uses a combination of containment check and Jaccard similarity.
50
+ *
51
+ * @param a First observation string
52
+ * @param b Second observation string
53
+ * @param threshold Jaccard similarity threshold (default 0.5)
54
+ * @returns true if observations are considered similar
55
+ */
56
+ export function isSimilarObservation(a, b, threshold = 0.5) {
57
+ // Exact match after normalization
58
+ if (normalize(a) === normalize(b))
59
+ return true;
60
+ // Containment check (one is substring of another)
61
+ if (containsSimilar(a, b))
62
+ return true;
63
+ // Jaccard similarity check
64
+ return jaccardSimilarity(a, b) >= threshold;
65
+ }
66
+ /**
67
+ * Deduplicate observations using similarity detection.
68
+ * Keeps the longer/more detailed observation when duplicates are found.
69
+ *
70
+ * @param observations Array of observation strings
71
+ * @param threshold Similarity threshold (default 0.7)
72
+ * @returns Deduplicated array
73
+ */
74
+ export function deduplicateObservations(observations, threshold = 0.7) {
75
+ const result = [];
76
+ for (const obs of observations) {
77
+ const similarIndex = result.findIndex(existing => isSimilarObservation(existing, obs, threshold));
78
+ if (similarIndex === -1) {
79
+ // No similar observation found, add it
80
+ result.push(obs);
81
+ }
82
+ else {
83
+ // Keep the longer (presumably more detailed) observation
84
+ if (obs.length > result[similarIndex].length) {
85
+ result[similarIndex] = obs;
86
+ }
87
+ }
88
+ }
89
+ return result;
90
+ }
91
+ /**
92
+ * Calculate Levenshtein distance between two strings.
93
+ * Used for fuzzy search.
94
+ */
95
+ export function levenshteinDistance(a, b) {
96
+ const m = a.length;
97
+ const n = b.length;
98
+ // Early termination for empty strings
99
+ if (m === 0)
100
+ return n;
101
+ if (n === 0)
102
+ return m;
103
+ // Use single array optimization
104
+ let prev = Array.from({ length: n + 1 }, (_, i) => i);
105
+ let curr = new Array(n + 1);
106
+ for (let i = 1; i <= m; i++) {
107
+ curr[0] = i;
108
+ for (let j = 1; j <= n; j++) {
109
+ const cost = a[i - 1] === b[j - 1] ? 0 : 1;
110
+ curr[j] = Math.min(prev[j] + 1, // deletion
111
+ curr[j - 1] + 1, // insertion
112
+ prev[j - 1] + cost // substitution
113
+ );
114
+ }
115
+ [prev, curr] = [curr, prev];
116
+ }
117
+ return prev[n];
118
+ }
119
+ /**
120
+ * Calculate normalized Levenshtein similarity (0 to 1).
121
+ */
122
+ export function levenshteinSimilarity(a, b) {
123
+ const maxLen = Math.max(a.length, b.length);
124
+ if (maxLen === 0)
125
+ return 1;
126
+ return 1 - levenshteinDistance(a, b) / maxLen;
127
+ }
128
+ /**
129
+ * Fuzzy match score for search queries.
130
+ * Combines multiple matching strategies.
131
+ *
132
+ * @returns Score from 0 to 1, higher means better match
133
+ */
134
+ export function fuzzyMatchScore(query, target) {
135
+ const normQuery = normalize(query);
136
+ const normTarget = normalize(target);
137
+ // Exact substring match: highest priority
138
+ if (normTarget.includes(normQuery)) {
139
+ // Bonus for shorter targets (more relevant match)
140
+ return 0.8 + (0.2 * normQuery.length / normTarget.length);
141
+ }
142
+ // Word-level match
143
+ const queryWords = tokenize(query);
144
+ const targetWords = tokenize(target);
145
+ let matchedWords = 0;
146
+ for (const qw of queryWords) {
147
+ for (const tw of targetWords) {
148
+ if (tw.includes(qw) || qw.includes(tw)) {
149
+ matchedWords++;
150
+ break;
151
+ }
152
+ }
153
+ }
154
+ if (queryWords.size > 0 && matchedWords === queryWords.size) {
155
+ return 0.6 + (0.2 * matchedWords / targetWords.size);
156
+ }
157
+ // Jaccard similarity as fallback
158
+ const jaccard = jaccardSimilarity(query, target);
159
+ if (jaccard > 0.3) {
160
+ return jaccard * 0.6;
161
+ }
162
+ // Levenshtein for typo tolerance (only for short queries)
163
+ if (normQuery.length <= 20) {
164
+ const levenshtein = levenshteinSimilarity(normQuery, normTarget);
165
+ if (levenshtein >= 0.5) {
166
+ return levenshtein * 0.5;
167
+ }
168
+ }
169
+ return 0;
170
+ }
171
+ //# sourceMappingURL=similarity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"similarity.js","sourceRoot":"","sources":["../../src/utils/similarity.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datafrog-io/n2n-memory",
3
- "version": "1.1.0",
3
+ "version": "1.2.1",
4
4
  "description": "Project-local knowledge-graph memory MCP server for AI context isolation.",
5
5
  "main": "build/index.js",
6
6
  "bin": {