@prmichaelsen/remember-mcp 2.6.9 → 2.6.10

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 CHANGED
@@ -5,6 +5,20 @@ 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.6.10] - 2026-02-17
9
+
10
+ ### Fixed
11
+
12
+ - **CRITICAL: `fetchMemoryWithAllProperties()` Graceful Fallback**: Fixed memory content not being copied during publish
13
+ - Added try-catch wrapper around property fetch with fallback
14
+ - If fetching with ALL_MEMORY_PROPERTIES fails, falls back to fetching without property specification
15
+ - Weaviate returns all properties that actually exist on the record when no returnProperties specified
16
+ - Fixes issue where `remember_confirm` → `executePublishMemory()` only copied comment fields
17
+ - Published memories now include all content (title, content, tags, etc.)
18
+ - Prevents data loss during memory publication to shared spaces
19
+
20
+ ---
21
+
8
22
  ## [2.6.9] - 2026-02-17
9
23
 
10
24
  ### Fixed
@@ -617,9 +617,18 @@ var ALL_MEMORY_PROPERTIES = [
617
617
  "moderation_flags"
618
618
  ];
619
619
  async function fetchMemoryWithAllProperties(collection, memoryId) {
620
- return await collection.query.fetchObjectById(memoryId, {
621
- returnProperties: ALL_MEMORY_PROPERTIES
622
- });
620
+ try {
621
+ return await collection.query.fetchObjectById(memoryId, {
622
+ returnProperties: ALL_MEMORY_PROPERTIES
623
+ });
624
+ } catch (error) {
625
+ logger.warn("Failed to fetch with all properties, falling back to unspecified fetch", {
626
+ module: "weaviate-client",
627
+ memoryId,
628
+ error: error instanceof Error ? error.message : String(error)
629
+ });
630
+ return await collection.query.fetchObjectById(memoryId);
631
+ }
623
632
  }
624
633
 
625
634
  // src/firestore/init.ts
package/dist/server.js CHANGED
@@ -663,9 +663,18 @@ var ALL_MEMORY_PROPERTIES = [
663
663
  "moderation_flags"
664
664
  ];
665
665
  async function fetchMemoryWithAllProperties(collection, memoryId) {
666
- return await collection.query.fetchObjectById(memoryId, {
667
- returnProperties: ALL_MEMORY_PROPERTIES
668
- });
666
+ try {
667
+ return await collection.query.fetchObjectById(memoryId, {
668
+ returnProperties: ALL_MEMORY_PROPERTIES
669
+ });
670
+ } catch (error) {
671
+ logger.warn("Failed to fetch with all properties, falling back to unspecified fetch", {
672
+ module: "weaviate-client",
673
+ memoryId,
674
+ error: error instanceof Error ? error.message : String(error)
675
+ });
676
+ return await collection.query.fetchObjectById(memoryId);
677
+ }
669
678
  }
670
679
 
671
680
  // src/firestore/init.ts
@@ -48,9 +48,14 @@ export declare const ALL_MEMORY_PROPERTIES: readonly ["user_id", "doc_type", "co
48
48
  * This utility ensures all memory properties are fetched consistently
49
49
  * across all tools, preventing bugs where properties are missing.
50
50
  *
51
+ * NOTE: Some properties may not exist on all records (e.g., old records
52
+ * created before schema updates). This function handles that gracefully
53
+ * by falling back to fetching without property specification if the
54
+ * full property query fails.
55
+ *
51
56
  * @param collection - Weaviate collection
52
57
  * @param memoryId - Memory ID to fetch
53
- * @returns Memory object with all properties
58
+ * @returns Memory object with all properties that exist on the record
54
59
  */
55
60
  export declare function fetchMemoryWithAllProperties(collection: any, memoryId: string): Promise<any>;
56
61
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prmichaelsen/remember-mcp",
3
- "version": "2.6.9",
3
+ "version": "2.6.10",
4
4
  "description": "Multi-tenant memory system MCP server with vector search and relationships",
5
5
  "main": "dist/server.js",
6
6
  "type": "module",
@@ -215,17 +215,36 @@ export const ALL_MEMORY_PROPERTIES = [
215
215
  * This utility ensures all memory properties are fetched consistently
216
216
  * across all tools, preventing bugs where properties are missing.
217
217
  *
218
+ * NOTE: Some properties may not exist on all records (e.g., old records
219
+ * created before schema updates). This function handles that gracefully
220
+ * by falling back to fetching without property specification if the
221
+ * full property query fails.
222
+ *
218
223
  * @param collection - Weaviate collection
219
224
  * @param memoryId - Memory ID to fetch
220
- * @returns Memory object with all properties
225
+ * @returns Memory object with all properties that exist on the record
221
226
  */
222
227
  export async function fetchMemoryWithAllProperties(
223
228
  collection: any,
224
229
  memoryId: string
225
230
  ) {
226
- return await collection.query.fetchObjectById(memoryId, {
227
- returnProperties: ALL_MEMORY_PROPERTIES,
228
- });
231
+ try {
232
+ // Try to fetch with all properties specified
233
+ return await collection.query.fetchObjectById(memoryId, {
234
+ returnProperties: ALL_MEMORY_PROPERTIES,
235
+ });
236
+ } catch (error) {
237
+ // If that fails (e.g., property doesn't exist on this record),
238
+ // fetch without specifying properties - Weaviate will return
239
+ // all properties that actually exist on the record
240
+ logger.warn('Failed to fetch with all properties, falling back to unspecified fetch', {
241
+ module: 'weaviate-client',
242
+ memoryId,
243
+ error: error instanceof Error ? error.message : String(error),
244
+ });
245
+
246
+ return await collection.query.fetchObjectById(memoryId);
247
+ }
229
248
  }
230
249
 
231
250
  /**