@j0hanz/memory-mcp 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. package/README.md +32 -25
  2. package/dist/completions/index.d.ts.map +1 -1
  3. package/dist/completions/index.js +11 -8
  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/lib/errors.d.ts +4 -0
  15. package/dist/lib/errors.d.ts.map +1 -1
  16. package/dist/lib/errors.js +12 -4
  17. package/dist/lib/errors.js.map +1 -1
  18. package/dist/lib/hash.d.ts.map +1 -1
  19. package/dist/lib/hash.js +9 -2
  20. package/dist/lib/hash.js.map +1 -1
  21. package/dist/lib/instructions.d.ts +2 -0
  22. package/dist/lib/instructions.d.ts.map +1 -0
  23. package/dist/lib/instructions.js +96 -0
  24. package/dist/lib/instructions.js.map +1 -0
  25. package/dist/lib/mcp-utils.d.ts +6 -0
  26. package/dist/lib/mcp-utils.d.ts.map +1 -0
  27. package/dist/lib/mcp-utils.js +26 -0
  28. package/dist/lib/mcp-utils.js.map +1 -0
  29. package/dist/lib/pagination.d.ts.map +1 -1
  30. package/dist/lib/pagination.js +14 -7
  31. package/dist/lib/pagination.js.map +1 -1
  32. package/dist/lib/search-cursor.d.ts +13 -0
  33. package/dist/lib/search-cursor.d.ts.map +1 -0
  34. package/dist/lib/search-cursor.js +89 -0
  35. package/dist/lib/search-cursor.js.map +1 -0
  36. package/dist/lib/search.d.ts +16 -0
  37. package/dist/lib/search.d.ts.map +1 -1
  38. package/dist/lib/search.js +53 -12
  39. package/dist/lib/search.js.map +1 -1
  40. package/dist/lib/sql.d.ts +17 -0
  41. package/dist/lib/sql.d.ts.map +1 -0
  42. package/dist/lib/sql.js +18 -0
  43. package/dist/lib/sql.js.map +1 -0
  44. package/dist/lib/tool-contracts.d.ts +18 -0
  45. package/dist/lib/tool-contracts.d.ts.map +1 -0
  46. package/dist/lib/tool-contracts.js +120 -0
  47. package/dist/lib/tool-contracts.js.map +1 -0
  48. package/dist/lib/tool-response.d.ts +1 -5
  49. package/dist/lib/tool-response.d.ts.map +1 -1
  50. package/dist/lib/tool-response.js +9 -7
  51. package/dist/lib/tool-response.js.map +1 -1
  52. package/dist/lib/types.d.ts.map +1 -1
  53. package/dist/lib/types.js +10 -9
  54. package/dist/lib/types.js.map +1 -1
  55. package/dist/prompts/index.d.ts.map +1 -1
  56. package/dist/prompts/index.js +22 -36
  57. package/dist/prompts/index.js.map +1 -1
  58. package/dist/resources/index.d.ts.map +1 -1
  59. package/dist/resources/index.js +15 -36
  60. package/dist/resources/index.js.map +1 -1
  61. package/dist/schemas/index.d.ts.map +1 -1
  62. package/dist/schemas/index.js +1 -1
  63. package/dist/schemas/index.js.map +1 -1
  64. package/dist/schemas/inputs.d.ts +5 -5
  65. package/dist/schemas/inputs.d.ts.map +1 -1
  66. package/dist/schemas/inputs.js +21 -14
  67. package/dist/schemas/inputs.js.map +1 -1
  68. package/dist/schemas/outputs.d.ts +94 -148
  69. package/dist/schemas/outputs.d.ts.map +1 -1
  70. package/dist/schemas/outputs.js +59 -66
  71. package/dist/schemas/outputs.js.map +1 -1
  72. package/dist/server.d.ts.map +1 -1
  73. package/dist/server.js +20 -18
  74. package/dist/server.js.map +1 -1
  75. package/dist/tools/create-relationship.d.ts.map +1 -1
  76. package/dist/tools/create-relationship.js +38 -25
  77. package/dist/tools/create-relationship.js.map +1 -1
  78. package/dist/tools/delete-memories.d.ts.map +1 -1
  79. package/dist/tools/delete-memories.js +37 -30
  80. package/dist/tools/delete-memories.js.map +1 -1
  81. package/dist/tools/delete-memory.d.ts.map +1 -1
  82. package/dist/tools/delete-memory.js +24 -22
  83. package/dist/tools/delete-memory.js.map +1 -1
  84. package/dist/tools/delete-relationship.d.ts.map +1 -1
  85. package/dist/tools/delete-relationship.js +28 -20
  86. package/dist/tools/delete-relationship.js.map +1 -1
  87. package/dist/tools/get-memory.d.ts.map +1 -1
  88. package/dist/tools/get-memory.js +26 -16
  89. package/dist/tools/get-memory.js.map +1 -1
  90. package/dist/tools/get-relationships.d.ts.map +1 -1
  91. package/dist/tools/get-relationships.js +71 -40
  92. package/dist/tools/get-relationships.js.map +1 -1
  93. package/dist/tools/index.d.ts +6 -14
  94. package/dist/tools/index.d.ts.map +1 -1
  95. package/dist/tools/index.js +5 -0
  96. package/dist/tools/index.js.map +1 -1
  97. package/dist/tools/memory-stats.d.ts.map +1 -1
  98. package/dist/tools/memory-stats.js +29 -39
  99. package/dist/tools/memory-stats.js.map +1 -1
  100. package/dist/tools/progress.d.ts +34 -0
  101. package/dist/tools/progress.d.ts.map +1 -0
  102. package/dist/tools/progress.js +136 -0
  103. package/dist/tools/progress.js.map +1 -0
  104. package/dist/tools/recall.d.ts.map +1 -1
  105. package/dist/tools/recall.js +157 -105
  106. package/dist/tools/recall.js.map +1 -1
  107. package/dist/tools/result.d.ts +7 -0
  108. package/dist/tools/result.d.ts.map +1 -0
  109. package/dist/tools/result.js +19 -0
  110. package/dist/tools/result.js.map +1 -0
  111. package/dist/tools/retrieve-context.d.ts.map +1 -1
  112. package/dist/tools/retrieve-context.js +127 -40
  113. package/dist/tools/retrieve-context.js.map +1 -1
  114. package/dist/tools/search-memories.d.ts.map +1 -1
  115. package/dist/tools/search-memories.js +37 -47
  116. package/dist/tools/search-memories.js.map +1 -1
  117. package/dist/tools/store-memories.d.ts.map +1 -1
  118. package/dist/tools/store-memories.js +44 -28
  119. package/dist/tools/store-memories.js.map +1 -1
  120. package/dist/tools/store-memory.d.ts.map +1 -1
  121. package/dist/tools/store-memory.js +43 -23
  122. package/dist/tools/store-memory.js.map +1 -1
  123. package/dist/tools/update-memory.d.ts.map +1 -1
  124. package/dist/tools/update-memory.js +63 -29
  125. package/dist/tools/update-memory.js.map +1 -1
  126. package/package.json +1 -3
  127. package/dist/instructions.md +0 -123
  128. package/dist/tools/helpers.d.ts +0 -13
  129. package/dist/tools/helpers.d.ts.map +0 -1
  130. package/dist/tools/helpers.js +0 -49
  131. package/dist/tools/helpers.js.map +0 -1
@@ -0,0 +1,120 @@
1
+ import {} from 'zod/v4';
2
+ import { CreateRelationshipInputSchema, DeleteMemoriesInputSchema, DeleteMemoryInputSchema, DeleteRelationshipInputSchema, GetMemoryInputSchema, GetRelationshipsInputSchema, MemoryStatsInputSchema, RecallInputSchema, RetrieveContextInputSchema, SearchMemoriesInputSchema, StoreMemoriesInputSchema, StoreMemoryInputSchema, UpdateMemoryInputSchema, } from '../schemas/inputs.js';
3
+ import { BatchResultSchema, CreateRelationshipResultSchema, DeleteRelationshipResultSchema, DeleteResultSchema, MemoryResultSchema, RecallResultSchema, RelationshipResultSchema, RetrieveContextResultSchema, SearchResultSchema, StatsResultSchema, StoreResultSchema, UpdateResultSchema, } from '../schemas/outputs.js';
4
+ export const TOOL_CONTRACTS = [
5
+ {
6
+ name: 'store_memory',
7
+ title: 'Store Memory',
8
+ description: 'Store a single memory with content, tags, and optional type/importance. Returns the SHA-256 hash. Idempotent — storing the same content+tags returns the existing hash with `created: false`. For storing multiple memories at once, prefer `store_memories`.',
9
+ inputSchema: StoreMemoryInputSchema,
10
+ outputSchema: StoreResultSchema,
11
+ annotations: { idempotentHint: true, openWorldHint: false },
12
+ },
13
+ {
14
+ name: 'store_memories',
15
+ title: 'Store Memories (Batch)',
16
+ description: 'Store up to 50 memories atomically. Each item is independently idempotent — same content+tags returns existing hash with `created: false`. Returns per-item results. Transaction rolls back entirely on unexpected error.',
17
+ inputSchema: StoreMemoriesInputSchema,
18
+ outputSchema: BatchResultSchema,
19
+ annotations: { idempotentHint: true, openWorldHint: false },
20
+ },
21
+ {
22
+ name: 'get_memory',
23
+ title: 'Get Memory',
24
+ description: 'Retrieve a single memory by its exact SHA-256 hash. Returns the full memory object or E_NOT_FOUND. Use `search_memories` or `recall` when you do not know the exact hash.',
25
+ inputSchema: GetMemoryInputSchema,
26
+ outputSchema: MemoryResultSchema,
27
+ annotations: { readOnlyHint: true, openWorldHint: false },
28
+ },
29
+ {
30
+ name: 'search_memories',
31
+ title: 'Search Memories',
32
+ description: 'Full-text search over memory content and tags using FTS5. Returns ranked results with cursor pagination. Query terms are individually matched (all-OR logic; FTS5 phrase operators and negation are not supported). Use `recall` when you need to follow relationships between memories after the search.',
33
+ inputSchema: SearchMemoriesInputSchema,
34
+ outputSchema: SearchResultSchema,
35
+ annotations: { readOnlyHint: true, openWorldHint: false },
36
+ },
37
+ {
38
+ name: 'retrieve_context',
39
+ title: 'Retrieve Context',
40
+ description: 'FTS search with automatic token-budget management. Returns relevance-ranked memories totalling at most `token_budget` tokens. `strategy` controls sort: `relevance` (FTS rank, default), `importance` (highest first), or `recency` (newest first). Returns `truncated: true` when budget was reached before all candidates were included.',
41
+ inputSchema: RetrieveContextInputSchema,
42
+ outputSchema: RetrieveContextResultSchema,
43
+ annotations: { readOnlyHint: true, openWorldHint: false },
44
+ },
45
+ {
46
+ name: 'recall',
47
+ title: 'Recall (BFS Graph Traversal)',
48
+ description: 'Search for memories and explore their connections (knowledge graph). FTS search then BFS graph traversal up to `depth` hops. Returns all discovered memories and edges. Use when exploring memory relationships or understanding context. Emits progress per hop. Returns `aborted: true` with partial results when safety limits are hit (env: RECALL_MAX_FRONTIER_SIZE, RECALL_MAX_EDGE_ROWS, RECALL_MAX_VISITED_NODES).',
49
+ inputSchema: RecallInputSchema,
50
+ outputSchema: RecallResultSchema,
51
+ annotations: { readOnlyHint: true, openWorldHint: false },
52
+ },
53
+ {
54
+ name: 'update_memory',
55
+ title: 'Update Memory',
56
+ description: 'Replace the content (and optionally tags) of an existing memory. Returns both old and new SHA-256 hashes, since content changes alter the hash. Returns E_NOT_FOUND if the memory does not exist; E_CONFLICT if the new content+tags already maps to an existing hash.',
57
+ inputSchema: UpdateMemoryInputSchema,
58
+ outputSchema: UpdateResultSchema,
59
+ annotations: { destructiveHint: true, openWorldHint: false },
60
+ },
61
+ {
62
+ name: 'delete_memory',
63
+ title: 'Delete Memory',
64
+ description: 'Delete a single memory by its SHA-256 hash. Cascade-deletes all relationships involving it. Returns E_NOT_FOUND if the hash does not exist.',
65
+ inputSchema: DeleteMemoryInputSchema,
66
+ outputSchema: DeleteResultSchema,
67
+ annotations: { destructiveHint: true, openWorldHint: false },
68
+ },
69
+ {
70
+ name: 'delete_memories',
71
+ title: 'Delete Memories (Batch)',
72
+ description: 'Delete up to 50 memories atomically. Cascade-deletes all relationships for each hash. Per-item `deleted: false` means the hash was not found — not an error, the batch still succeeds. Transaction rolls back entirely on unexpected error.',
73
+ inputSchema: DeleteMemoriesInputSchema,
74
+ outputSchema: BatchResultSchema,
75
+ annotations: { destructiveHint: true, openWorldHint: false },
76
+ },
77
+ {
78
+ name: 'create_relationship',
79
+ title: 'Create Relationship',
80
+ description: 'Create a directed labeled edge between two memories. Idempotent — re-creating an existing relationship is a no-op and returns `created: false`. Both endpoint memories must already exist, otherwise returns E_NOT_FOUND for the missing endpoint.',
81
+ inputSchema: CreateRelationshipInputSchema,
82
+ outputSchema: CreateRelationshipResultSchema,
83
+ annotations: { idempotentHint: true, openWorldHint: false },
84
+ },
85
+ {
86
+ name: 'delete_relationship',
87
+ title: 'Delete Relationship',
88
+ description: 'Remove a single directed relationship edge between two memories. All three fields (from_hash, to_hash, relation_type) must match exactly. Returns E_NOT_FOUND if the exact relationship does not exist.',
89
+ inputSchema: DeleteRelationshipInputSchema,
90
+ outputSchema: DeleteRelationshipResultSchema,
91
+ annotations: { destructiveHint: true, openWorldHint: false },
92
+ },
93
+ {
94
+ name: 'get_relationships',
95
+ title: 'Get Relationships',
96
+ description: 'Retrieve all relationships for a memory, with the related memory inlined. Filter by direction (outgoing | incoming | both). Returns E_NOT_FOUND if the source memory does not exist.',
97
+ inputSchema: GetRelationshipsInputSchema,
98
+ outputSchema: RelationshipResultSchema,
99
+ annotations: { readOnlyHint: true, openWorldHint: false },
100
+ },
101
+ {
102
+ name: 'memory_stats',
103
+ title: 'Memory Stats',
104
+ description: 'Return aggregate statistics: total memories, total relationships, oldest/newest timestamps, average importance, and per-type counts. No input required.',
105
+ inputSchema: MemoryStatsInputSchema,
106
+ outputSchema: StatsResultSchema,
107
+ annotations: { readOnlyHint: true, openWorldHint: false },
108
+ },
109
+ ];
110
+ export function getToolContracts() {
111
+ return TOOL_CONTRACTS;
112
+ }
113
+ export function getToolContract(name) {
114
+ const contract = TOOL_CONTRACTS.find((c) => c.name === name);
115
+ if (!contract) {
116
+ throw new Error(`Tool contract not found: ${name}`);
117
+ }
118
+ return contract;
119
+ }
120
+ //# sourceMappingURL=tool-contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-contracts.js","sourceRoot":"","sources":["../../src/lib/tool-contracts.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: 'How do I use the memory tools?',
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
- description: 'Return the full usage instructions for all memory tools and workflows.',
24
+ description: 'Return full usage instructions: tool inventory, routing decisions, error codes, data model limits, and workflow patterns.',
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,gCAAgC;aACvC;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,2HAA2H;CACrH,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;AA8C9C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,GAAG,IAAI,CA2DzE"}
@@ -1,32 +1,12 @@
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';
5
+ import { SELECT_MEMORY_BY_HASH_SQL } from '../lib/sql.js';
6
6
  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
7
  const HASH_REGEX = /^[a-f0-9]{64}$/;
10
8
  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
- }
9
+ const MEMORY_RESOURCE_URI_TEMPLATE = 'memory://memories/{hash}';
30
10
  function createJsonContent(uri, payload) {
31
11
  return {
32
12
  uri,
@@ -34,19 +14,22 @@ function createJsonContent(uri, payload) {
34
14
  text: JSON.stringify(payload),
35
15
  };
36
16
  }
17
+ function createErrorResourceContents(uri, error, hash) {
18
+ return {
19
+ contents: [createJsonContent(uri, { error, ...(hash ? { hash } : {}) })],
20
+ };
21
+ }
37
22
  function getSingleVariable(value) {
38
23
  return Array.isArray(value) ? value[0] : value;
39
24
  }
40
25
  function readMemoryByHash(db, hash) {
41
- return db
42
- .prepare('SELECT * FROM memories WHERE hash = ?')
43
- .get(hash);
26
+ return db.prepareOnce(SELECT_MEMORY_BY_HASH_SQL).get(hash);
44
27
  }
45
28
  const INSTRUCTIONS_CONTENT = loadInstructions();
46
29
  export function registerAllResources(server, db) {
47
30
  server.registerResource('instructions', INSTRUCTIONS_URI, {
48
31
  title: 'Memory Instructions',
49
- description: 'Usage guide for all memory tools and workflows.',
32
+ description: 'Complete usage guide: tool inventory, routing decisions, error codes, data model, and workflow patterns. Read this first.',
50
33
  mimeType: 'text/markdown',
51
34
  annotations: { audience: ['assistant'], priority: 0.9 },
52
35
  }, () => ({
@@ -59,27 +42,23 @@ export function registerAllResources(server, db) {
59
42
  ],
60
43
  }));
61
44
  const hashCompletion = createHashCompletionCallback(db);
62
- server.registerResource('memory', new ResourceTemplate('memory://memories/{hash}', {
45
+ server.registerResource('memory', new ResourceTemplate(MEMORY_RESOURCE_URI_TEMPLATE, {
63
46
  list: undefined,
64
47
  complete: { hash: hashCompletion },
65
48
  }), {
66
49
  title: 'Memory',
67
- description: 'Retrieve a memory by its SHA-256 hash.',
50
+ description: 'Fetch a single memory object by exact SHA-256 hash. Supports hash auto-completion. Returns { error } if the hash does not exist.',
68
51
  mimeType: 'application/json',
69
52
  annotations: { audience: ['assistant'], priority: 0.7 },
70
53
  }, (uri, variables) => {
71
54
  const rawHash = variables['hash'];
72
55
  const hash = getSingleVariable(rawHash);
73
56
  if (!hash || !HASH_REGEX.test(hash)) {
74
- return {
75
- contents: [createJsonContent(uri.href, { error: 'Invalid hash' })],
76
- };
57
+ throw new McpError(ErrorCode.InvalidParams, 'Invalid hash: must be a 64-character hex string');
77
58
  }
78
59
  const row = readMemoryByHash(db, hash);
79
60
  if (!row) {
80
- return {
81
- contents: [createJsonContent(uri.href, { error: 'Not found', hash })],
82
- };
61
+ return createErrorResourceContents(uri.href, 'Not found', hash);
83
62
  }
84
63
  return {
85
64
  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";
@@ -102,8 +102,8 @@ export declare const RetrieveContextInputSchema: z.ZodObject<{
102
102
  token_budget: z.ZodPrefault<z.ZodOptional<z.ZodInt>>;
103
103
  strategy: z.ZodPrefault<z.ZodOptional<z.ZodEnum<{
104
104
  importance: "importance";
105
- relevance: "relevance";
106
105
  recency: "recency";
106
+ relevance: "relevance";
107
107
  }>>>;
108
108
  }, z.core.$strict>;
109
109
  export declare const GetRelationshipsInputSchema: z.ZodObject<{
@@ -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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"}