@@ -60,8 +60,18 @@ class KnowledgeGraphManager {
6060
6161 private async saveGraph ( graph : KnowledgeGraph ) : Promise < void > {
6262 const lines = [
63- ...graph . entities . map ( e => JSON . stringify ( { type : "entity" , ...e } ) ) ,
64- ...graph . relations . map ( r => JSON . stringify ( { type : "relation" , ...r } ) ) ,
63+ ...graph . entities . map ( e => JSON . stringify ( {
64+ type : "entity" ,
65+ name : e . name ,
66+ entityType : e . entityType ,
67+ observations : e . observations
68+ } ) ) ,
69+ ...graph . relations . map ( r => JSON . stringify ( {
70+ type : "relation" ,
71+ from : r . from ,
72+ to : r . to ,
73+ relationType : r . relationType
74+ } ) ) ,
6575 ] ;
6676 await fs . writeFile ( MEMORY_FILE_PATH , lines . join ( "\n" ) ) ;
6777 }
@@ -219,10 +229,12 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
219229 } ,
220230 } ,
221231 required : [ "name" , "entityType" , "observations" ] ,
232+ additionalProperties : false ,
222233 } ,
223234 } ,
224235 } ,
225236 required : [ "entities" ] ,
237+ additionalProperties : false ,
226238 } ,
227239 } ,
228240 {
@@ -241,10 +253,12 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
241253 relationType : { type : "string" , description : "The type of the relation" } ,
242254 } ,
243255 required : [ "from" , "to" , "relationType" ] ,
256+ additionalProperties : false ,
244257 } ,
245258 } ,
246259 } ,
247260 required : [ "relations" ] ,
261+ additionalProperties : false ,
248262 } ,
249263 } ,
250264 {
@@ -266,10 +280,12 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
266280 } ,
267281 } ,
268282 required : [ "entityName" , "contents" ] ,
283+ additionalProperties : false ,
269284 } ,
270285 } ,
271286 } ,
272287 required : [ "observations" ] ,
288+ additionalProperties : false ,
273289 } ,
274290 } ,
275291 {
@@ -285,6 +301,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
285301 } ,
286302 } ,
287303 required : [ "entityNames" ] ,
304+ additionalProperties : false ,
288305 } ,
289306 } ,
290307 {
@@ -306,10 +323,12 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
306323 } ,
307324 } ,
308325 required : [ "entityName" , "observations" ] ,
326+ additionalProperties : false ,
309327 } ,
310328 } ,
311329 } ,
312330 required : [ "deletions" ] ,
331+ additionalProperties : false ,
313332 } ,
314333 } ,
315334 {
@@ -328,11 +347,13 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
328347 relationType : { type : "string" , description : "The type of the relation" } ,
329348 } ,
330349 required : [ "from" , "to" , "relationType" ] ,
350+ additionalProperties : false ,
331351 } ,
332352 description : "An array of relations to delete"
333353 } ,
334354 } ,
335355 required : [ "relations" ] ,
356+ additionalProperties : false ,
336357 } ,
337358 } ,
338359 {
@@ -341,6 +362,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
341362 inputSchema : {
342363 type : "object" ,
343364 properties : { } ,
365+ additionalProperties : false ,
344366 } ,
345367 } ,
346368 {
@@ -352,6 +374,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
352374 query : { type : "string" , description : "The search query to match against entity names, types, and observation content" } ,
353375 } ,
354376 required : [ "query" ] ,
377+ additionalProperties : false ,
355378 } ,
356379 } ,
357380 {
@@ -367,6 +390,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
367390 } ,
368391 } ,
369392 required : [ "names" ] ,
393+ additionalProperties : false ,
370394 } ,
371395 } ,
372396 ] ,
0 commit comments