@prometheus-ai/memory 0.5.3 → 0.5.8

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 (50) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +4 -4
  3. package/dist/types/config.d.ts +13 -2
  4. package/dist/types/core/beam/store.d.ts +20 -0
  5. package/dist/types/core/embeddings.d.ts +2 -1
  6. package/dist/types/core/extraction/client.d.ts +11 -7
  7. package/dist/types/core/extraction.d.ts +2 -1
  8. package/dist/types/core/fastembed-runtime.d.ts +4 -0
  9. package/dist/types/core/index.d.ts +1 -0
  10. package/dist/types/core/llm-backends.d.ts +2 -0
  11. package/dist/types/core/local-llm.d.ts +8 -3
  12. package/dist/types/core/memory.d.ts +12 -3
  13. package/dist/types/core/query-cache.d.ts +1 -2
  14. package/dist/types/core/runtime-options.d.ts +10 -5
  15. package/dist/types/core/shmr.d.ts +11 -5
  16. package/dist/types/core/vector-index.d.ts +16 -0
  17. package/dist/types/index.d.ts +2 -1
  18. package/package.json +30 -7
  19. package/src/cli.ts +19 -19
  20. package/src/config.ts +98 -68
  21. package/src/core/banks.ts +2 -2
  22. package/src/core/beam/consolidate.ts +34 -5
  23. package/src/core/beam/helpers.ts +21 -28
  24. package/src/core/beam/index.ts +2 -2
  25. package/src/core/beam/recall.ts +98 -25
  26. package/src/core/beam/store.ts +96 -4
  27. package/src/core/binary-vectors.ts +1 -1
  28. package/src/core/content-sanitizer.ts +3 -3
  29. package/src/core/cost-log.ts +1 -1
  30. package/src/core/embeddings.ts +75 -50
  31. package/src/core/extraction/client.ts +44 -20
  32. package/src/core/extraction.ts +10 -9
  33. package/src/core/fastembed-runtime.ts +89 -0
  34. package/src/core/index.ts +1 -0
  35. package/src/core/llm-backends.ts +3 -0
  36. package/src/core/local-llm.ts +81 -43
  37. package/src/core/memory.ts +25 -5
  38. package/src/core/plugins.ts +1 -1
  39. package/src/core/polyphonic-recall.ts +4 -4
  40. package/src/core/query-cache.ts +2 -3
  41. package/src/core/runtime-options.ts +13 -5
  42. package/src/core/shmr.ts +141 -39
  43. package/src/core/streaming.ts +1 -1
  44. package/src/core/triples.ts +3 -3
  45. package/src/core/vector-index.ts +84 -0
  46. package/src/diagnose.ts +2 -2
  47. package/src/dr/recovery.ts +5 -5
  48. package/src/index.ts +1 -1
  49. package/src/mcp-server.ts +2 -2
  50. package/src/mcp-tools.ts +61 -61
package/src/mcp-tools.ts CHANGED
@@ -282,113 +282,113 @@ export const GRAPH_LINK_SCHEMA = {
282
282
 
283
283
  export const TOOLS: readonly ToolDefinition[] = [
284
284
  {
285
- name: "prometheus_memory_remember",
286
- description: "Store a durable memory in Prometheus Memory.",
285
+ name: "mnemopi_remember",
286
+ description: "Store a durable memory in Mnemopi.",
287
287
  inputSchema: REMEMBER_SCHEMA,
288
288
  },
289
289
  {
290
- name: "prometheus_memory_recall",
290
+ name: "mnemopi_recall",
291
291
  description: "Search memories with hybrid scoring.",
292
292
  inputSchema: RECALL_SCHEMA,
293
293
  },
294
294
  {
295
- name: "prometheus_memory_shared_remember",
295
+ name: "mnemopi_shared_remember",
296
296
  description: "Store compact cross-agent surface memory.",
297
297
  inputSchema: SHARED_REMEMBER_SCHEMA,
298
298
  },
299
299
  {
300
- name: "prometheus_memory_shared_recall",
301
- description: "Search only the shared Prometheus Memory surface DB.",
300
+ name: "mnemopi_shared_recall",
301
+ description: "Search only the shared Mnemopi surface DB.",
302
302
  inputSchema: SHARED_RECALL_SCHEMA,
303
303
  },
304
304
  {
305
- name: "prometheus_memory_shared_forget",
305
+ name: "mnemopi_shared_forget",
306
306
  description: "Delete one shared-surface memory by ID.",
307
307
  inputSchema: SHARED_FORGET_SCHEMA,
308
308
  },
309
309
  {
310
- name: "prometheus_memory_shared_stats",
310
+ name: "mnemopi_shared_stats",
311
311
  description: "Return shared surface DB path and counts.",
312
312
  inputSchema: EMPTY_SCHEMA,
313
313
  },
314
314
  {
315
- name: "prometheus_memory_sleep",
315
+ name: "mnemopi_sleep",
316
316
  description: "Run the consolidation sleep cycle.",
317
317
  inputSchema: SLEEP_SCHEMA,
318
318
  },
319
319
  {
320
- name: "prometheus_memory_stats",
321
- description: "Return Prometheus Memory statistics.",
320
+ name: "mnemopi_stats",
321
+ description: "Return Mnemopi memory statistics.",
322
322
  inputSchema: EMPTY_SCHEMA,
323
323
  },
324
324
  {
325
- name: "prometheus_memory_invalidate",
325
+ name: "mnemopi_invalidate",
326
326
  description: "Mark a memory as expired or superseded.",
327
327
  inputSchema: INVALIDATE_SCHEMA,
328
328
  },
329
329
  {
330
- name: "prometheus_memory_validate",
330
+ name: "mnemopi_validate",
331
331
  description: "Attest, update, invalidate, or delete a memory.",
332
332
  inputSchema: VALIDATE_SCHEMA,
333
333
  },
334
- { name: "prometheus_memory_get", description: "Retrieve one memory by ID.", inputSchema: GET_SCHEMA },
334
+ { name: "mnemopi_get", description: "Retrieve one memory by ID.", inputSchema: GET_SCHEMA },
335
335
  {
336
- name: "prometheus_memory_triple_add",
336
+ name: "mnemopi_triple_add",
337
337
  description: "Add a temporal fact triple.",
338
338
  inputSchema: TRIPLE_ADD_SCHEMA,
339
339
  },
340
340
  {
341
- name: "prometheus_memory_triple_query",
341
+ name: "mnemopi_triple_query",
342
342
  description: "Query temporal fact triples.",
343
343
  inputSchema: TRIPLE_QUERY_SCHEMA,
344
344
  },
345
345
  {
346
- name: "prometheus_memory_scratchpad_write",
346
+ name: "mnemopi_scratchpad_write",
347
347
  description: "Write a temporary scratchpad note.",
348
348
  inputSchema: SCRATCHPAD_WRITE_SCHEMA,
349
349
  },
350
350
  {
351
- name: "prometheus_memory_scratchpad_read",
351
+ name: "mnemopi_scratchpad_read",
352
352
  description: "Read scratchpad entries.",
353
353
  inputSchema: SCRATCHPAD_READ_SCHEMA,
354
354
  },
355
355
  {
356
- name: "prometheus_memory_scratchpad_clear",
356
+ name: "mnemopi_scratchpad_clear",
357
357
  description: "Clear scratchpad entries.",
358
358
  inputSchema: SCRATCHPAD_CLEAR_SCHEMA,
359
359
  },
360
360
  {
361
- name: "prometheus_memory_export",
362
- description: "Export Prometheus Memory memories to a JSON file.",
361
+ name: "mnemopi_export",
362
+ description: "Export Mnemopi memories to a JSON file.",
363
363
  inputSchema: EXPORT_SCHEMA,
364
364
  },
365
365
  {
366
- name: "prometheus_memory_update",
366
+ name: "mnemopi_update",
367
367
  description: "Update the content or importance of an existing memory.",
368
368
  inputSchema: UPDATE_SCHEMA,
369
369
  },
370
370
  {
371
- name: "prometheus_memory_forget",
371
+ name: "mnemopi_forget",
372
372
  description: "Permanently delete a memory by ID.",
373
373
  inputSchema: FORGET_SCHEMA,
374
374
  },
375
375
  {
376
- name: "prometheus_memory_import",
377
- description: "Import Prometheus Memory memories from a JSON file.",
376
+ name: "mnemopi_import",
377
+ description: "Import Mnemopi memories from a JSON file.",
378
378
  inputSchema: IMPORT_SCHEMA,
379
379
  },
380
380
  {
381
- name: "prometheus_memory_diagnose",
382
- description: "Run PII-safe diagnostics on the active Prometheus Memory database.",
381
+ name: "mnemopi_diagnose",
382
+ description: "Run PII-safe diagnostics on the active Mnemopi database.",
383
383
  inputSchema: EMPTY_SCHEMA,
384
384
  },
385
385
  {
386
- name: "prometheus_memory_graph_query",
386
+ name: "mnemopi_graph_query",
387
387
  description: "Traverse the memory graph from a seed memory.",
388
388
  inputSchema: GRAPH_QUERY_SCHEMA,
389
389
  },
390
390
  {
391
- name: "prometheus_memory_graph_link",
391
+ name: "mnemopi_graph_link",
392
392
  description: "Declare a semantic edge between two memories.",
393
393
  inputSchema: GRAPH_LINK_SCHEMA,
394
394
  },
@@ -423,7 +423,7 @@ function metadataArg(args: ToolArguments): Record<string, JsonValue> | null {
423
423
  }
424
424
 
425
425
  function resolveBank(args: ToolArguments): string {
426
- return stringArg(args, "bank") || process.env.PROMETHEUS_MEMORY_MCP_BANK || "default";
426
+ return stringArg(args, "bank") || process.env.MNEMOPROMETHEUS_MCP_BANK || "default";
427
427
  }
428
428
 
429
429
  function bankDbPath(bank: string): string {
@@ -431,18 +431,18 @@ function bankDbPath(bank: string): string {
431
431
  }
432
432
 
433
433
  function createBeam(args: ToolArguments, bank = resolveBank(args)): BeamMemory {
434
- const sessionId = process.env.PROMETHEUS_MEMORY_SESSION_ID || `mcp_${bank}`;
434
+ const sessionId = process.env.MNEMOPROMETHEUS_SESSION_ID || `mcp_${bank}`;
435
435
  return new BeamMemory({
436
436
  sessionId,
437
437
  dbPath: bankDbPath(bank),
438
- authorId: optionalStringArg(args, "author_id") ?? process.env.PROMETHEUS_MEMORY_AUTHOR_ID ?? null,
439
- authorType: optionalStringArg(args, "author_type") ?? process.env.PROMETHEUS_MEMORY_AUTHOR_TYPE ?? null,
440
- channelId: optionalStringArg(args, "channel_id") ?? process.env.PROMETHEUS_MEMORY_CHANNEL_ID ?? sessionId,
438
+ authorId: optionalStringArg(args, "author_id") ?? process.env.MNEMOPROMETHEUS_AUTHOR_ID ?? null,
439
+ authorType: optionalStringArg(args, "author_type") ?? process.env.MNEMOPROMETHEUS_AUTHOR_TYPE ?? null,
440
+ channelId: optionalStringArg(args, "channel_id") ?? process.env.MNEMOPROMETHEUS_CHANNEL_ID ?? sessionId,
441
441
  });
442
442
  }
443
443
 
444
444
  function sharedBeam(): BeamMemory {
445
- const configured = process.env.PROMETHEUS_MEMORY_SHARED_SURFACE_DB;
445
+ const configured = process.env.MNEMOPROMETHEUS_SHARED_SURFACE_DB;
446
446
  const dbPath = configured && configured.length > 0 ? configured : join(dataDir(), "shared", DEFAULT_DB_FILENAME);
447
447
  return new BeamMemory({ sessionId: "mcp_shared_surface", dbPath });
448
448
  }
@@ -564,7 +564,7 @@ async function handleSleep(args: ToolArguments): Promise<ToolResult> {
564
564
  async function handleStats(args: ToolArguments): Promise<ToolResult> {
565
565
  return withBeam(args, (beam, bank) => ({
566
566
  status: "ok",
567
- provider: "prometheus-memory",
567
+ provider: "mnemopi",
568
568
  bank,
569
569
  working: serialize(beam.getWorkingStats()),
570
570
  episodic: serialize(beam.getEpisodicStats()),
@@ -796,7 +796,7 @@ async function handleSharedForget(args: ToolArguments): Promise<ToolResult> {
796
796
 
797
797
  async function handleSharedStats(): Promise<ToolResult> {
798
798
  return withSharedBeam(beam => ({
799
- provider: "prometheus_memory_shared",
799
+ provider: "mnemopi_shared",
800
800
  working: serialize(beam.getWorkingStats()),
801
801
  episodic: serialize(beam.getEpisodicStats()),
802
802
  }));
@@ -934,30 +934,30 @@ async function handleGraphLink(args: ToolArguments): Promise<ToolResult> {
934
934
  type Handler = (args: ToolArguments) => ToolResult | Promise<ToolResult>;
935
935
 
936
936
  const TOOL_HANDLERS: Record<string, Handler> = {
937
- prometheus_memory_remember: handleRemember,
938
- prometheus_memory_recall: handleRecall,
939
- prometheus_memory_shared_remember: handleSharedRemember,
940
- prometheus_memory_shared_recall: handleSharedRecall,
941
- prometheus_memory_shared_forget: handleSharedForget,
942
- prometheus_memory_shared_stats: () => handleSharedStats(),
943
- prometheus_memory_sleep: handleSleep,
944
- prometheus_memory_stats: handleStats,
945
- prometheus_memory_get_stats: handleStats,
946
- prometheus_memory_invalidate: handleInvalidate,
947
- prometheus_memory_validate: handleValidate,
948
- prometheus_memory_get: handleGet,
949
- prometheus_memory_triple_add: handleTripleAdd,
950
- prometheus_memory_triple_query: handleTripleQuery,
951
- prometheus_memory_scratchpad_write: handleScratchpadWrite,
952
- prometheus_memory_scratchpad_read: handleScratchpadRead,
953
- prometheus_memory_scratchpad_clear: handleScratchpadClear,
954
- prometheus_memory_export: handleExport,
955
- prometheus_memory_update: handleUpdate,
956
- prometheus_memory_forget: handleForget,
957
- prometheus_memory_import: handleImport,
958
- prometheus_memory_diagnose: handleDiagnose,
959
- prometheus_memory_graph_query: handleGraphQuery,
960
- prometheus_memory_graph_link: handleGraphLink,
937
+ mnemopi_remember: handleRemember,
938
+ mnemopi_recall: handleRecall,
939
+ mnemopi_shared_remember: handleSharedRemember,
940
+ mnemopi_shared_recall: handleSharedRecall,
941
+ mnemopi_shared_forget: handleSharedForget,
942
+ mnemopi_shared_stats: () => handleSharedStats(),
943
+ mnemopi_sleep: handleSleep,
944
+ mnemopi_stats: handleStats,
945
+ mnemopi_get_stats: handleStats,
946
+ mnemopi_invalidate: handleInvalidate,
947
+ mnemopi_validate: handleValidate,
948
+ mnemopi_get: handleGet,
949
+ mnemopi_triple_add: handleTripleAdd,
950
+ mnemopi_triple_query: handleTripleQuery,
951
+ mnemopi_scratchpad_write: handleScratchpadWrite,
952
+ mnemopi_scratchpad_read: handleScratchpadRead,
953
+ mnemopi_scratchpad_clear: handleScratchpadClear,
954
+ mnemopi_export: handleExport,
955
+ mnemopi_update: handleUpdate,
956
+ mnemopi_forget: handleForget,
957
+ mnemopi_import: handleImport,
958
+ mnemopi_diagnose: handleDiagnose,
959
+ mnemopi_graph_query: handleGraphQuery,
960
+ mnemopi_graph_link: handleGraphLink,
961
961
  };
962
962
 
963
963
  export async function handleToolCall(name: string, args: ToolArguments = {}): Promise<ToolResult> {