@j0hanz/memory-mcp 1.0.0 → 1.0.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.
Files changed (123) hide show
  1. package/README.md +32 -25
  2. package/dist/completions/index.d.ts.map +1 -1
  3. package/dist/completions/index.js +8 -5
  4. package/dist/completions/index.js.map +1 -1
  5. package/dist/db/index.d.ts.map +1 -1
  6. package/dist/db/index.js +68 -8
  7. package/dist/db/index.js.map +1 -1
  8. package/dist/db/typed.d.ts +9 -3
  9. package/dist/db/typed.d.ts.map +1 -1
  10. package/dist/db/typed.js +33 -4
  11. package/dist/db/typed.js.map +1 -1
  12. package/dist/index.js +13 -8
  13. package/dist/index.js.map +1 -1
  14. package/dist/instructions.md +102 -56
  15. package/dist/lib/errors.d.ts +3 -0
  16. package/dist/lib/errors.d.ts.map +1 -1
  17. package/dist/lib/errors.js +11 -4
  18. package/dist/lib/errors.js.map +1 -1
  19. package/dist/lib/hash.d.ts.map +1 -1
  20. package/dist/lib/hash.js +9 -2
  21. package/dist/lib/hash.js.map +1 -1
  22. package/dist/lib/instructions.d.ts +2 -0
  23. package/dist/lib/instructions.d.ts.map +1 -0
  24. package/dist/lib/instructions.js +27 -0
  25. package/dist/lib/instructions.js.map +1 -0
  26. package/dist/lib/mcp-utils.d.ts +6 -0
  27. package/dist/lib/mcp-utils.d.ts.map +1 -0
  28. package/dist/lib/mcp-utils.js +26 -0
  29. package/dist/lib/mcp-utils.js.map +1 -0
  30. package/dist/lib/pagination.d.ts.map +1 -1
  31. package/dist/lib/pagination.js +14 -7
  32. package/dist/lib/pagination.js.map +1 -1
  33. package/dist/lib/search-cursor.d.ts +13 -0
  34. package/dist/lib/search-cursor.d.ts.map +1 -0
  35. package/dist/lib/search-cursor.js +89 -0
  36. package/dist/lib/search-cursor.js.map +1 -0
  37. package/dist/lib/search.d.ts +16 -0
  38. package/dist/lib/search.d.ts.map +1 -1
  39. package/dist/lib/search.js +53 -12
  40. package/dist/lib/search.js.map +1 -1
  41. package/dist/lib/tool-response.d.ts +1 -5
  42. package/dist/lib/tool-response.d.ts.map +1 -1
  43. package/dist/lib/tool-response.js +9 -7
  44. package/dist/lib/tool-response.js.map +1 -1
  45. package/dist/lib/types.d.ts.map +1 -1
  46. package/dist/lib/types.js +10 -9
  47. package/dist/lib/types.js.map +1 -1
  48. package/dist/prompts/index.d.ts.map +1 -1
  49. package/dist/prompts/index.js +21 -35
  50. package/dist/prompts/index.js.map +1 -1
  51. package/dist/resources/index.d.ts.map +1 -1
  52. package/dist/resources/index.js +12 -32
  53. package/dist/resources/index.js.map +1 -1
  54. package/dist/schemas/index.d.ts.map +1 -1
  55. package/dist/schemas/index.js +1 -1
  56. package/dist/schemas/index.js.map +1 -1
  57. package/dist/schemas/inputs.d.ts +5 -5
  58. package/dist/schemas/inputs.d.ts.map +1 -1
  59. package/dist/schemas/inputs.js +21 -14
  60. package/dist/schemas/inputs.js.map +1 -1
  61. package/dist/schemas/outputs.d.ts +94 -148
  62. package/dist/schemas/outputs.d.ts.map +1 -1
  63. package/dist/schemas/outputs.js +59 -66
  64. package/dist/schemas/outputs.js.map +1 -1
  65. package/dist/server.d.ts.map +1 -1
  66. package/dist/server.js +20 -18
  67. package/dist/server.js.map +1 -1
  68. package/dist/tools/create-relationship.d.ts.map +1 -1
  69. package/dist/tools/create-relationship.js +28 -17
  70. package/dist/tools/create-relationship.js.map +1 -1
  71. package/dist/tools/delete-memories.d.ts.map +1 -1
  72. package/dist/tools/delete-memories.js +23 -20
  73. package/dist/tools/delete-memories.js.map +1 -1
  74. package/dist/tools/delete-memory.d.ts.map +1 -1
  75. package/dist/tools/delete-memory.js +13 -13
  76. package/dist/tools/delete-memory.js.map +1 -1
  77. package/dist/tools/delete-relationship.d.ts.map +1 -1
  78. package/dist/tools/delete-relationship.js +18 -12
  79. package/dist/tools/delete-relationship.js.map +1 -1
  80. package/dist/tools/get-memory.d.ts.map +1 -1
  81. package/dist/tools/get-memory.js +16 -8
  82. package/dist/tools/get-memory.js.map +1 -1
  83. package/dist/tools/get-relationships.d.ts.map +1 -1
  84. package/dist/tools/get-relationships.js +27 -16
  85. package/dist/tools/get-relationships.js.map +1 -1
  86. package/dist/tools/index.d.ts +6 -14
  87. package/dist/tools/index.d.ts.map +1 -1
  88. package/dist/tools/index.js +5 -0
  89. package/dist/tools/index.js.map +1 -1
  90. package/dist/tools/memory-stats.d.ts.map +1 -1
  91. package/dist/tools/memory-stats.js +26 -20
  92. package/dist/tools/memory-stats.js.map +1 -1
  93. package/dist/tools/progress.d.ts +34 -0
  94. package/dist/tools/progress.d.ts.map +1 -0
  95. package/dist/tools/progress.js +129 -0
  96. package/dist/tools/progress.js.map +1 -0
  97. package/dist/tools/recall.d.ts.map +1 -1
  98. package/dist/tools/recall.js +150 -98
  99. package/dist/tools/recall.js.map +1 -1
  100. package/dist/tools/result.d.ts +5 -0
  101. package/dist/tools/result.d.ts.map +1 -0
  102. package/dist/tools/result.js +14 -0
  103. package/dist/tools/result.js.map +1 -0
  104. package/dist/tools/retrieve-context.d.ts.map +1 -1
  105. package/dist/tools/retrieve-context.js +99 -26
  106. package/dist/tools/retrieve-context.js.map +1 -1
  107. package/dist/tools/search-memories.d.ts.map +1 -1
  108. package/dist/tools/search-memories.js +28 -40
  109. package/dist/tools/search-memories.js.map +1 -1
  110. package/dist/tools/store-memories.d.ts.map +1 -1
  111. package/dist/tools/store-memories.js +30 -18
  112. package/dist/tools/store-memories.js.map +1 -1
  113. package/dist/tools/store-memory.d.ts.map +1 -1
  114. package/dist/tools/store-memory.js +32 -13
  115. package/dist/tools/store-memory.js.map +1 -1
  116. package/dist/tools/update-memory.d.ts.map +1 -1
  117. package/dist/tools/update-memory.js +35 -16
  118. package/dist/tools/update-memory.js.map +1 -1
  119. package/package.json +1 -2
  120. package/dist/tools/helpers.d.ts +0 -13
  121. package/dist/tools/helpers.d.ts.map +0 -1
  122. package/dist/tools/helpers.js +0 -49
  123. package/dist/tools/helpers.js.map +0 -1
@@ -1,5 +1,7 @@
1
1
  const FTS_SAFE_TOKEN_REGEX = /[A-Za-z0-9_]+/g;
2
2
  const FTS_EMPTY_QUERY_FALLBACK = '"__mcp_no_results__"';
3
+ const BASE_RANKED_SEARCH_SQL = `SELECT m.*, memories_fts.rank AS rank FROM memories m
4
+ JOIN memories_fts ON memories_fts.rowid = m.rowid`;
3
5
  function tokenizeQuery(query) {
4
6
  return query.match(FTS_SAFE_TOKEN_REGEX) ?? [];
5
7
  }
@@ -10,20 +12,20 @@ export function sanitizeFtsQuery(query) {
10
12
  }
11
13
  return tokens.map((token) => `"${token}"`).join(' ');
12
14
  }
15
+ const FILTER_RULES = [
16
+ { key: 'min_importance', clause: 'm.importance >= ?' },
17
+ { key: 'max_importance', clause: 'm.importance <= ?' },
18
+ { key: 'memory_type', clause: 'm.memory_type = ?' },
19
+ ];
13
20
  export function buildFilterClauses(filters) {
14
21
  const clauses = [];
15
22
  const params = [];
16
- if (filters.min_importance != null) {
17
- clauses.push('m.importance >= ?');
18
- params.push(filters.min_importance);
19
- }
20
- if (filters.max_importance != null) {
21
- clauses.push('m.importance <= ?');
22
- params.push(filters.max_importance);
23
- }
24
- if (filters.memory_type != null) {
25
- clauses.push('m.memory_type = ?');
26
- params.push(filters.memory_type);
23
+ for (const rule of FILTER_RULES) {
24
+ const value = filters[rule.key];
25
+ if (value != null) {
26
+ clauses.push(rule.clause);
27
+ params.push(value);
28
+ }
27
29
  }
28
30
  return { clauses, params };
29
31
  }
@@ -31,6 +33,45 @@ export function buildAndWhereClause(clauses) {
31
33
  if (clauses.length === 0) {
32
34
  return '';
33
35
  }
34
- return ` ${clauses.map((clause) => `AND ${clause}`).join(' ')}`;
36
+ return clauses.map((clause) => ` AND ${clause}`).join('');
37
+ }
38
+ function buildRankedSearchSql(whereExtra, cursor) {
39
+ if (!cursor || cursor.mode === 'offset') {
40
+ return `${BASE_RANKED_SEARCH_SQL}
41
+ WHERE memories_fts MATCH ?${whereExtra}
42
+ ORDER BY memories_fts.rank, m.hash
43
+ LIMIT ? OFFSET ?`;
44
+ }
45
+ return `${BASE_RANKED_SEARCH_SQL}
46
+ WHERE memories_fts MATCH ?${whereExtra}
47
+ AND (
48
+ memories_fts.rank > ?
49
+ OR (memories_fts.rank = ? AND m.hash > ?)
50
+ )
51
+ ORDER BY memories_fts.rank, m.hash
52
+ LIMIT ?`;
53
+ }
54
+ export function loadRankedSearchRows(db, query, limit, cursor, filters) {
55
+ const ftsQuery = sanitizeFtsQuery(query);
56
+ const filter = buildFilterClauses(filters);
57
+ const whereExtra = buildAndWhereClause(filter.clauses);
58
+ const sql = buildRankedSearchSql(whereExtra, cursor);
59
+ const stmt = db.prepareOnce(sql);
60
+ if (!cursor || cursor.mode === 'offset') {
61
+ const offset = cursor?.offset ?? 0;
62
+ return stmt.all(ftsQuery, ...filter.params, limit + 1, offset);
63
+ }
64
+ return stmt.all(ftsQuery, ...filter.params, cursor.rank, cursor.rank, cursor.hash, limit + 1);
65
+ }
66
+ export function toMemoryFilters(params) {
67
+ return {
68
+ ...(params.min_importance != null
69
+ ? { min_importance: params.min_importance }
70
+ : {}),
71
+ ...(params.max_importance != null
72
+ ? { max_importance: params.max_importance }
73
+ : {}),
74
+ ...(params.memory_type != null ? { memory_type: params.memory_type } : {}),
75
+ };
35
76
  }
36
77
  //# sourceMappingURL=search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/lib/search.ts"],"names":[],"mappings":"AAEA,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AAC9C,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAExD,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,KAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAED,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvD,CAAC;AAaD,MAAM,UAAU,kBAAkB,CAAC,OAAsB;IACvD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,IAAI,OAAO,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,OAAO,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAA0B;IAC5D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/lib/search.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,4 @@
1
1
  import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
2
- interface StructuredToolResponse extends Record<string, unknown> {
3
- ok: boolean;
4
- }
5
- export declare function createToolResponse(structured: StructuredToolResponse): CallToolResult;
2
+ export declare function createToolResponse(payload: Record<string, unknown>): CallToolResult;
6
3
  export declare function createErrorResponse(code: string, message: string): CallToolResult;
7
- export {};
8
4
  //# sourceMappingURL=tool-response.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-response.d.ts","sourceRoot":"","sources":["../../src/lib/tool-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAOzE,UAAU,sBAAuB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9D,EAAE,EAAE,OAAO,CAAC;CACb;AAiBD,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,sBAAsB,GACjC,cAAc,CAEhB;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,cAAc,CAMhB"}
1
+ {"version":3,"file":"tool-response.d.ts","sourceRoot":"","sources":["../../src/lib/tool-response.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAoCzE,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,cAAc,CAEhB;AAED,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd,cAAc,CAEhB"}
@@ -1,6 +1,12 @@
1
1
  function toTextContent(value) {
2
2
  return { type: 'text', text: JSON.stringify(value) };
3
3
  }
4
+ function createStructuredError(code, message) {
5
+ return {
6
+ ok: false,
7
+ error: { code, message },
8
+ };
9
+ }
4
10
  function buildResponse(structured, isError = false) {
5
11
  return {
6
12
  content: [toTextContent(structured)],
@@ -8,14 +14,10 @@ function buildResponse(structured, isError = false) {
8
14
  ...(isError ? { isError: true } : {}),
9
15
  };
10
16
  }
11
- export function createToolResponse(structured) {
12
- return buildResponse(structured);
17
+ export function createToolResponse(payload) {
18
+ return buildResponse(payload);
13
19
  }
14
20
  export function createErrorResponse(code, message) {
15
- const structured = {
16
- ok: false,
17
- error: { code, message },
18
- };
19
- return buildResponse(structured, true);
21
+ return buildResponse(createStructuredError(code, message), true);
20
22
  }
21
23
  //# sourceMappingURL=tool-response.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-response.js","sourceRoot":"","sources":["../../src/lib/tool-response.ts"],"names":[],"mappings":"AAWA,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,aAAa,CACpB,UAAkC,EAClC,OAAO,GAAG,KAAK;IAEf,OAAO;QACL,OAAO,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACpC,iBAAiB,EAAE,UAAU;QAC7B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,UAAkC;IAElC,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,OAAe;IAEf,MAAM,UAAU,GAA2B;QACzC,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;KACzB,CAAC;IACF,OAAO,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"tool-response.js","sourceRoot":"","sources":["../../src/lib/tool-response.ts"],"names":[],"mappings":"AAWA,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAY,EACZ,OAAe;IAEf,OAAO;QACL,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,UAAmC,EACnC,OAAO,GAAG,KAAK;IAEf,OAAO;QACL,OAAO,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACpC,iBAAiB,EAAE,UAAU;QAC7B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAAgC;IAEhC,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,IAAY,EACZ,OAAe;IAEf,OAAO,aAAa,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;AACnE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,YAAY,EACZ,WAAW,GAAG,SAAS,GAAG,eAAe,CAC1C,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,OAAO;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAUD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAOpD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CASrD"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,YAAY,EACZ,WAAW,GAAG,SAAS,GAAG,eAAe,CAC1C,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,OAAO;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAQD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAOpD;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAYrD"}
package/dist/lib/types.js CHANGED
@@ -1,24 +1,25 @@
1
- function asStringArray(value) {
2
- if (!Array.isArray(value)) {
3
- return undefined;
4
- }
5
- return value.every((entry) => typeof entry === 'string') ? value : undefined;
1
+ function isStringArray(value) {
2
+ return (Array.isArray(value) && value.every((entry) => typeof entry === 'string'));
6
3
  }
7
4
  export function parseTags(tagsJson) {
8
5
  try {
9
6
  const parsed = JSON.parse(tagsJson);
10
- return asStringArray(parsed) ?? [];
7
+ return isStringArray(parsed) ? parsed : [];
11
8
  }
12
9
  catch {
13
10
  return [];
14
11
  }
15
12
  }
16
13
  export function parseMemoryRow(row) {
17
- const { rank, ...rest } = row;
18
- const relevance = rank != null ? -rank : undefined;
14
+ const relevance = row.rank != null ? -row.rank : undefined;
19
15
  return {
20
- ...rest,
16
+ hash: row.hash,
17
+ content: row.content,
21
18
  tags: parseTags(row.tags),
19
+ memory_type: row.memory_type,
20
+ importance: row.importance,
21
+ created_at: row.created_at,
22
+ updated_at: row.updated_at,
22
23
  ...(relevance != null ? { relevance } : {}),
23
24
  };
24
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAyFA,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAc;IAC3C,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnD,OAAO;QACL,GAAG,IAAI;QACP,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;QACzB,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lib/types.ts"],"names":[],"mappings":"AAyFA,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,QAAgB;IACxC,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAc;IAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;QACzB,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5C,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+CzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAI1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmCzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAI1D"}
@@ -1,45 +1,31 @@
1
- const INSTRUCTIONS_CONTENT = `# Memory Instructions
2
-
3
- > Available as resource \`internal://instructions\`. Load when unsure about tool usage.
4
-
5
- ## CORE CAPABILITY
6
-
7
- - Domain: SQLite-backed memory store with FTS5 search and knowledge graph for AI assistants.
8
- - Tools: \`search_memories\` \`get_memory\` \`recall\` \`get_relationships\` \`memory_stats\` (READ); \`store_memory\` \`store_memories\` \`update_memory\` \`delete_memory\` \`delete_memories\` \`create_relationship\` \`delete_relationship\` (WRITE).
9
-
10
- ## WORKFLOWS
11
-
12
- 1. **Recall**: \`search_memories\` → \`recall\` → \`get_memory\`
13
- 2. **Store**: \`store_memory\` or \`store_memories\` (batch ≤50)
14
- 3. **Graph**: \`create_relationship\` → \`get_relationships\`
15
-
16
- ## RESOURCES
17
-
18
- - \`internal://instructions\`: This document.
19
- - \`memory://memories/{hash}\`: Single memory by SHA-256 hash.
20
- `;
21
- const HELP_MESSAGES = [
22
- {
23
- role: 'user',
24
- content: {
25
- type: 'text',
26
- text: 'Show me the memory usage instructions.',
1
+ import { loadInstructions } from '../lib/instructions.js';
2
+ const INSTRUCTIONS_CONTENT = loadInstructions();
3
+ function createHelpMessages(instructions) {
4
+ return [
5
+ {
6
+ role: 'user',
7
+ content: {
8
+ type: 'text',
9
+ text: 'Show me the memory usage instructions.',
10
+ },
27
11
  },
28
- },
29
- {
30
- role: 'assistant',
31
- content: {
32
- type: 'text',
33
- text: INSTRUCTIONS_CONTENT,
12
+ {
13
+ role: 'assistant',
14
+ content: {
15
+ type: 'text',
16
+ text: instructions,
17
+ },
34
18
  },
35
- },
36
- ];
19
+ ];
20
+ }
21
+ const HELP_MESSAGES = createHelpMessages(INSTRUCTIONS_CONTENT);
37
22
  const GET_HELP_PROMPT_CONFIG = {
38
23
  title: 'Get Help',
39
24
  description: 'Return the full usage instructions for all memory tools and workflows.',
40
25
  };
26
+ const GET_HELP_PROMPT_NAME = 'get-help';
41
27
  export function registerAllPrompts(server) {
42
- server.registerPrompt('get-help', GET_HELP_PROMPT_CONFIG, () => ({
28
+ server.registerPrompt(GET_HELP_PROMPT_NAME, GET_HELP_PROMPT_CONFIG, () => ({
43
29
  messages: HELP_MESSAGES,
44
30
  }));
45
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAGA,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;CAmB5B,CAAC;AAEF,MAAM,aAAa,GAAoB;IACrC;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,wCAAwC;SAC/C;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,oBAAoB;SAC3B;KACF;CACF,CAAC;AAEF,MAAM,sBAAsB,GAAG;IAC7B,KAAK,EAAE,UAAU;IACjB,WAAW,EACT,wEAAwE;CAClE,CAAC;AAEX,MAAM,UAAU,kBAAkB,CAAC,MAAiB;IAClD,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/D,QAAQ,EAAE,aAAa;KACxB,CAAC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,oBAAoB,GAAG,gBAAgB,EAAE,CAAC;AAEhD,SAAS,kBAAkB,CAAC,YAAoB;IAC9C,OAAO;QACL;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,wCAAwC;aAC/C;SACF;QACD;YACE,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY;aACnB;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;AAE/D,MAAM,sBAAsB,GAAG;IAC7B,KAAK,EAAE,UAAU;IACjB,WAAW,EACT,wEAAwE;CAClE,CAAC;AACX,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAExC,MAAM,UAAU,kBAAkB,CAAC,MAAiB;IAClD,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;QACzE,QAAQ,EAAE,aAAa;KACxB,CAAC,CAAC,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAuD9C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI,CA0DzE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AA+C9C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI,CAyDzE"}
@@ -1,32 +1,11 @@
1
1
  import { ResourceTemplate } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import { readFileSync } from 'node:fs';
3
- import { join } from 'node:path';
4
- import { fileURLToPath } from 'node:url';
2
+ import { ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js';
5
3
  import { createHashCompletionCallback } from '../completions/index.js';
4
+ import { loadInstructions } from '../lib/instructions.js';
6
5
  import { parseMemoryRow } from '../lib/types.js';
7
- const BASE_DIR = fileURLToPath(new URL('.', import.meta.url));
8
- const FALLBACK_INSTRUCTIONS = '# Memory instructions\n\nSee the README for usage details.';
9
6
  const HASH_REGEX = /^[a-f0-9]{64}$/;
10
7
  const INSTRUCTIONS_URI = 'internal://instructions';
11
- function getInstructionPaths() {
12
- return [
13
- join(BASE_DIR, 'instructions.md'),
14
- join(BASE_DIR, '..', 'instructions.md'),
15
- join(BASE_DIR, '..', '..', 'src', 'instructions.md'),
16
- ];
17
- }
18
- function loadInstructions() {
19
- const paths = getInstructionPaths();
20
- for (const p of paths) {
21
- try {
22
- return readFileSync(p, 'utf8');
23
- }
24
- catch {
25
- // try next path
26
- }
27
- }
28
- return FALLBACK_INSTRUCTIONS;
29
- }
8
+ const MEMORY_RESOURCE_URI_TEMPLATE = 'memory://memories/{hash}';
30
9
  function createJsonContent(uri, payload) {
31
10
  return {
32
11
  uri,
@@ -34,12 +13,17 @@ function createJsonContent(uri, payload) {
34
13
  text: JSON.stringify(payload),
35
14
  };
36
15
  }
16
+ function createErrorResourceContents(uri, error, hash) {
17
+ return {
18
+ contents: [createJsonContent(uri, { error, ...(hash ? { hash } : {}) })],
19
+ };
20
+ }
37
21
  function getSingleVariable(value) {
38
22
  return Array.isArray(value) ? value[0] : value;
39
23
  }
40
24
  function readMemoryByHash(db, hash) {
41
25
  return db
42
- .prepare('SELECT * FROM memories WHERE hash = ?')
26
+ .prepareOnce('SELECT * FROM memories WHERE hash = ?')
43
27
  .get(hash);
44
28
  }
45
29
  const INSTRUCTIONS_CONTENT = loadInstructions();
@@ -59,7 +43,7 @@ export function registerAllResources(server, db) {
59
43
  ],
60
44
  }));
61
45
  const hashCompletion = createHashCompletionCallback(db);
62
- server.registerResource('memory', new ResourceTemplate('memory://memories/{hash}', {
46
+ server.registerResource('memory', new ResourceTemplate(MEMORY_RESOURCE_URI_TEMPLATE, {
63
47
  list: undefined,
64
48
  complete: { hash: hashCompletion },
65
49
  }), {
@@ -71,15 +55,11 @@ export function registerAllResources(server, db) {
71
55
  const rawHash = variables['hash'];
72
56
  const hash = getSingleVariable(rawHash);
73
57
  if (!hash || !HASH_REGEX.test(hash)) {
74
- return {
75
- contents: [createJsonContent(uri.href, { error: 'Invalid hash' })],
76
- };
58
+ throw new McpError(ErrorCode.InvalidParams, 'Invalid hash: must be a 64-character hex string');
77
59
  }
78
60
  const row = readMemoryByHash(db, hash);
79
61
  if (!row) {
80
- return {
81
- contents: [createJsonContent(uri.href, { error: 'Not found', hash })],
82
- };
62
+ return createErrorResourceContents(uri.href, 'Not found', hash);
83
63
  }
84
64
  return {
85
65
  contents: [createJsonContent(uri.href, parseMemoryRow(row))],
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAE5B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
@@ -1,4 +1,4 @@
1
+ // Public schema module barrel.
1
2
  export * from './inputs.js';
2
- // Keep output schema exports colocated under a single barrel import.
3
3
  export * from './outputs.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,qEAAqE;AACrE,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC"}
@@ -66,8 +66,8 @@ export declare const SearchMemoriesInputSchema: z.ZodObject<{
66
66
  query: z.ZodString;
67
67
  limit: z.ZodPrefault<z.ZodOptional<z.ZodInt>>;
68
68
  cursor: z.ZodOptional<z.ZodString>;
69
- min_importance: z.ZodOptional<z.ZodInt>;
70
- max_importance: z.ZodOptional<z.ZodInt>;
69
+ min_importance: z.ZodOptional<z.ZodNumber>;
70
+ max_importance: z.ZodOptional<z.ZodNumber>;
71
71
  memory_type: z.ZodOptional<z.ZodEnum<{
72
72
  error: "error";
73
73
  general: "general";
@@ -84,8 +84,8 @@ export declare const RecallInputSchema: z.ZodObject<{
84
84
  depth: z.ZodPrefault<z.ZodOptional<z.ZodInt>>;
85
85
  limit: z.ZodPrefault<z.ZodOptional<z.ZodInt>>;
86
86
  cursor: z.ZodOptional<z.ZodString>;
87
- min_importance: z.ZodOptional<z.ZodInt>;
88
- max_importance: z.ZodOptional<z.ZodInt>;
87
+ min_importance: z.ZodOptional<z.ZodNumber>;
88
+ max_importance: z.ZodOptional<z.ZodNumber>;
89
89
  memory_type: z.ZodOptional<z.ZodEnum<{
90
90
  error: "error";
91
91
  general: "general";
@@ -101,8 +101,8 @@ export declare const RetrieveContextInputSchema: z.ZodObject<{
101
101
  query: z.ZodString;
102
102
  token_budget: z.ZodPrefault<z.ZodOptional<z.ZodInt>>;
103
103
  strategy: z.ZodPrefault<z.ZodOptional<z.ZodEnum<{
104
- importance: "importance";
105
104
  relevance: "relevance";
105
+ importance: "importance";
106
106
  recency: "recency";
107
107
  }>>>;
108
108
  }, z.core.$strict>;
@@ -1 +1 @@
1
- {"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../src/schemas/inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,eAAO,MAAM,WAAW,aAMkB,CAAC;AAuC3C,eAAO,MAAM,wBAAwB,iIAU3B,CAAC;AAyBX,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;kBAEjC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;kBAErC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;kBAMnC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;kBAE/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;kBAIlC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;kBAElC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;kBAMpC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;kBAwBpC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;kBA6B5B,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;kBAgBrC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;kBAOtC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;kBAMxC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;kBAMxC,CAAC;AAEH,eAAO,MAAM,sBAAsB,iCAAqB,CAAC"}
1
+ {"version":3,"file":"inputs.d.ts","sourceRoot":"","sources":["../../src/schemas/inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,eAAO,MAAM,WAAW,aAMkB,CAAC;AA2C3C,eAAO,MAAM,wBAAwB,iIAU3B,CAAC;AA2CX,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;kBAEjC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;kBAErC,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;kBAMnC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;kBAE/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;kBAIlC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;kBAElC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;kBAMpC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;kBAiBpC,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;kBAsB5B,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;kBAgBrC,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;kBAOtC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;kBAMxC,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;kBAMxC,CAAC;AAEH,eAAO,MAAM,sBAAsB,iCAAqB,CAAC"}
@@ -38,6 +38,10 @@ const SEARCH_QUERY_SCHEMA = z
38
38
  .string()
39
39
  .min(1, { error: 'Query must not be empty' })
40
40
  .max(1000, { error: 'Query must be at most 1000 characters' });
41
+ const CURSOR_SCHEMA = z
42
+ .string()
43
+ .max(2048, { error: 'Cursor must be at most 2048 characters' });
44
+ const CURSOR_DESCRIPTION = 'Pagination cursor from previous response';
41
45
  export const SUGGESTED_RELATION_TYPES = [
42
46
  'related_to',
43
47
  'causes',
@@ -61,6 +65,15 @@ const IMPORTANCE_SCHEMA = z
61
65
  .max(10)
62
66
  .describe('Priority level 0-10 (0=lowest, 10=critical)');
63
67
  const IMPORTANCE_FILTER_SCHEMA = z.int().min(0).max(10).optional();
68
+ const SEARCH_MIN_IMPORTANCE_DESCRIPTION = 'Filter: only return memories with importance >= this value';
69
+ const SEARCH_MAX_IMPORTANCE_DESCRIPTION = 'Filter: only return memories with importance <= this value';
70
+ const SEARCH_MEMORY_TYPE_DESCRIPTION = 'Filter: only return memories of this type';
71
+ const RECALL_MIN_IMPORTANCE_DESCRIPTION = 'Filter: only seed memories with importance >= this value';
72
+ const RECALL_MAX_IMPORTANCE_DESCRIPTION = 'Filter: only seed memories with importance <= this value';
73
+ const RECALL_MEMORY_TYPE_DESCRIPTION = 'Filter: only seed memories of this type';
74
+ function describeImportanceFilter(description) {
75
+ return IMPORTANCE_FILTER_SCHEMA.clone().describe(description);
76
+ }
64
77
  const STORE_MEMORY_SHAPE = {
65
78
  content: CONTENT_SCHEMA,
66
79
  tags: TAGS_ARRAY_SCHEMA,
@@ -107,13 +120,10 @@ export const SearchMemoriesInputSchema = z.strictObject({
107
120
  .optional()
108
121
  .prefault(20)
109
122
  .describe('Maximum number of results to return (default 20)'),
110
- cursor: z
111
- .string()
112
- .optional()
113
- .describe('Pagination cursor from previous response'),
114
- min_importance: IMPORTANCE_FILTER_SCHEMA.clone().describe('Filter: only return memories with importance >= this value'),
115
- max_importance: IMPORTANCE_FILTER_SCHEMA.clone().describe('Filter: only return memories with importance <= this value'),
116
- memory_type: MEMORY_TYPE_SCHEMA.optional().describe('Filter: only return memories of this type'),
123
+ cursor: CURSOR_SCHEMA.optional().describe(CURSOR_DESCRIPTION),
124
+ min_importance: describeImportanceFilter(SEARCH_MIN_IMPORTANCE_DESCRIPTION),
125
+ max_importance: describeImportanceFilter(SEARCH_MAX_IMPORTANCE_DESCRIPTION),
126
+ memory_type: MEMORY_TYPE_SCHEMA.optional().describe(SEARCH_MEMORY_TYPE_DESCRIPTION),
117
127
  });
118
128
  export const RecallInputSchema = z.strictObject({
119
129
  query: SEARCH_QUERY_SCHEMA.describe('Search query to find initial memories'),
@@ -131,13 +141,10 @@ export const RecallInputSchema = z.strictObject({
131
141
  .optional()
132
142
  .prefault(10)
133
143
  .describe('Maximum seed memories to retrieve (default 10)'),
134
- cursor: z
135
- .string()
136
- .optional()
137
- .describe('Pagination cursor from previous response'),
138
- min_importance: IMPORTANCE_FILTER_SCHEMA.clone().describe('Filter: only seed memories with importance >= this value'),
139
- max_importance: IMPORTANCE_FILTER_SCHEMA.clone().describe('Filter: only seed memories with importance <= this value'),
140
- memory_type: MEMORY_TYPE_SCHEMA.optional().describe('Filter: only seed memories of this type'),
144
+ cursor: CURSOR_SCHEMA.optional().describe(CURSOR_DESCRIPTION),
145
+ min_importance: describeImportanceFilter(RECALL_MIN_IMPORTANCE_DESCRIPTION),
146
+ max_importance: describeImportanceFilter(RECALL_MAX_IMPORTANCE_DESCRIPTION),
147
+ memory_type: MEMORY_TYPE_SCHEMA.optional().describe(RECALL_MEMORY_TYPE_DESCRIPTION),
141
148
  });
142
149
  export const RetrieveContextInputSchema = z.strictObject({
143
150
  query: SEARCH_QUERY_SCHEMA.describe('Search query to find relevant memories'),
@@ -1 +1 @@
1
- {"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../src/schemas/inputs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inputs.js","sourceRoot":"","sources":["../../src/schemas/inputs.ts"],"names":[],"mappings":"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"}