@prmichaelsen/remember-mcp 2.7.2 → 2.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/dist/server-factory.js +1 -1
- package/dist/server.js +1 -1
- package/package.json +1 -1
- package/src/tools/update-memory.ts +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,34 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.7.3] - 2026-02-17
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **CRITICAL: Fixed `remember_update_memory` "Memory not found" error**
|
|
13
|
+
- Changed `handleUpdateMemory()` to use `fetchMemoryWithAllProperties()` wrapper
|
|
14
|
+
- Previously used direct `collection.query.fetchObjectById()` call without fallback
|
|
15
|
+
- Direct call failed when querying memories with certain property configurations (e.g., `parent_id: ""`)
|
|
16
|
+
- Wrapper provides graceful fallback for schema evolution and property incompatibilities
|
|
17
|
+
- Matches pattern used in other working tools like `handlePublish()`
|
|
18
|
+
|
|
19
|
+
### Root Cause
|
|
20
|
+
|
|
21
|
+
- `handleUpdateMemory()` bypassed the `fetchMemoryWithAllProperties()` abstraction layer
|
|
22
|
+
- Direct `fetchObjectById()` without property specification can fail on edge case property values
|
|
23
|
+
- Error was caught and converted to misleading "Memory not found" message
|
|
24
|
+
- Wrapper's try-catch with fallback handles these cases gracefully
|
|
25
|
+
- This fix ensures consistent behavior across all memory operations
|
|
26
|
+
|
|
27
|
+
### Technical Details
|
|
28
|
+
|
|
29
|
+
- Modified: `src/tools/update-memory.ts` (lines 8, 140)
|
|
30
|
+
- Added import: `fetchMemoryWithAllProperties` from `weaviate/client.js`
|
|
31
|
+
- Replaced: `collection.query.fetchObjectById(id)` → `fetchMemoryWithAllProperties(collection, id)`
|
|
32
|
+
- Verified working in local testing with memories containing `parent_id: ""`
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
8
36
|
## [2.7.2] - 2026-02-17
|
|
9
37
|
|
|
10
38
|
### Fixed
|
package/dist/server-factory.js
CHANGED
|
@@ -1948,7 +1948,7 @@ async function handleUpdateMemory(args, userId) {
|
|
|
1948
1948
|
const collection = getMemoryCollection(userId);
|
|
1949
1949
|
let existingMemory;
|
|
1950
1950
|
try {
|
|
1951
|
-
existingMemory = await collection
|
|
1951
|
+
existingMemory = await fetchMemoryWithAllProperties(collection, args.memory_id);
|
|
1952
1952
|
} catch (fetchError) {
|
|
1953
1953
|
const fetchErrorMsg = fetchError instanceof Error ? fetchError.message : String(fetchError);
|
|
1954
1954
|
logger.error("Failed to fetch memory for update:", {
|
package/dist/server.js
CHANGED
|
@@ -2016,7 +2016,7 @@ async function handleUpdateMemory(args, userId) {
|
|
|
2016
2016
|
const collection = getMemoryCollection(userId);
|
|
2017
2017
|
let existingMemory;
|
|
2018
2018
|
try {
|
|
2019
|
-
existingMemory = await collection
|
|
2019
|
+
existingMemory = await fetchMemoryWithAllProperties(collection, args.memory_id);
|
|
2020
2020
|
} catch (fetchError) {
|
|
2021
2021
|
const fetchErrorMsg = fetchError instanceof Error ? fetchError.message : String(fetchError);
|
|
2022
2022
|
logger.error("Failed to fetch memory for update:", {
|
package/package.json
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
import type { Memory, MemoryUpdate } from '../types/memory.js';
|
|
7
7
|
import { getMemoryCollection } from '../weaviate/schema.js';
|
|
8
|
+
import { fetchMemoryWithAllProperties } from '../weaviate/client.js';
|
|
8
9
|
import { logger } from '../utils/logger.js';
|
|
9
10
|
import { handleToolError, withErrorHandling } from '../utils/error-handler.js';
|
|
10
11
|
import { isValidContentType } from '../constants/content-types.js';
|
|
@@ -133,9 +134,10 @@ export async function handleUpdateMemory(
|
|
|
133
134
|
// Get existing memory - fetch ALL properties for replace operation
|
|
134
135
|
// We need the full object to use replace() instead of update()
|
|
135
136
|
// (Weaviate bug: update() only persists if vectorized fields change)
|
|
137
|
+
// Use fetchMemoryWithAllProperties() to handle schema evolution gracefully
|
|
136
138
|
let existingMemory;
|
|
137
139
|
try {
|
|
138
|
-
existingMemory = await collection
|
|
140
|
+
existingMemory = await fetchMemoryWithAllProperties(collection, args.memory_id);
|
|
139
141
|
} catch (fetchError) {
|
|
140
142
|
const fetchErrorMsg = fetchError instanceof Error ? fetchError.message : String(fetchError);
|
|
141
143
|
logger.error('Failed to fetch memory for update:', {
|