@prmichaelsen/remember-mcp 3.17.5 → 3.18.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.
@@ -45,4 +45,11 @@ jobs:
45
45
  NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
46
46
 
47
47
  - name: Summary
48
- run: echo "Bumped remember-core to ${{ github.event.client_payload.version }}, published remember-mcp@${{ steps.bump.outputs.version }}"
48
+ run: |
49
+ CORE_VERSION="${{ github.event.client_payload.version }}"
50
+ MCP_VERSION="${{ steps.bump.outputs.version }}"
51
+ echo "::notice::Published @prmichaelsen/remember-mcp@${MCP_VERSION} (remember-core@${CORE_VERSION})"
52
+ echo "## Published to npm" >> "$GITHUB_STEP_SUMMARY"
53
+ echo "**Package**: \`@prmichaelsen/remember-mcp@${MCP_VERSION}\`" >> "$GITHUB_STEP_SUMMARY"
54
+ echo "**Dependency bump**: \`@prmichaelsen/remember-core@${CORE_VERSION}\`" >> "$GITHUB_STEP_SUMMARY"
55
+ echo "**Registry**: [npm](https://www.npmjs.com/package/@prmichaelsen/remember-mcp/v/${MCP_VERSION})" >> "$GITHUB_STEP_SUMMARY"
@@ -48,8 +48,16 @@ jobs:
48
48
 
49
49
  - name: Summary
50
50
  if: steps.version.outputs.changed == 'true'
51
- run: echo "Published @prmichaelsen/remember-mcp@${{ steps.version.outputs.version }} to npm"
51
+ run: |
52
+ VERSION="${{ steps.version.outputs.version }}"
53
+ echo "::notice::Published @prmichaelsen/remember-mcp@${VERSION} to npm"
54
+ echo "## Published to npm" >> "$GITHUB_STEP_SUMMARY"
55
+ echo "**Package**: \`@prmichaelsen/remember-mcp@${VERSION}\`" >> "$GITHUB_STEP_SUMMARY"
56
+ echo "**Registry**: [npm](https://www.npmjs.com/package/@prmichaelsen/remember-mcp/v/${VERSION})" >> "$GITHUB_STEP_SUMMARY"
52
57
 
53
58
  - name: Skip
54
59
  if: steps.version.outputs.changed != 'true'
55
- run: echo "Version unchanged, skipping publish"
60
+ run: |
61
+ echo "::notice::Version unchanged, skipping publish"
62
+ echo "## Publish skipped" >> "$GITHUB_STEP_SUMMARY"
63
+ echo "Version unchanged from previous commit." >> "$GITHUB_STEP_SUMMARY"
package/CHANGELOG.md CHANGED
@@ -5,6 +5,14 @@ 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
+ ## [3.18.0] - 2026-03-12
9
+
10
+ ### Added
11
+
12
+ - Expose `follow_up_at` and `follow_up_targets` fields in `remember_create_memory` tool schema
13
+ - Expose `follow_up_at` (nullable) and `follow_up_targets` fields in `remember_update_memory` tool schema
14
+ - Wire follow-up fields through to remember-core service layer on both create and update
15
+
8
16
  ## [3.17.1] - 2026-03-09
9
17
 
10
18
  ### Fixed
@@ -6147,6 +6147,15 @@ var createMemoryTool = {
6147
6147
  description: 'Per-space moderation flags (format: "{space_id}:{flag_type}"). Usually empty.',
6148
6148
  default: []
6149
6149
  },
6150
+ follow_up_at: {
6151
+ type: "string",
6152
+ description: 'ISO 8601 datetime for when a follow-up reminder should trigger (e.g. "2026-03-12T21:00:00Z")'
6153
+ },
6154
+ follow_up_targets: {
6155
+ type: "array",
6156
+ items: { type: "string" },
6157
+ description: 'Target recipients for follow-up notifications (e.g. ["user:abc", "group:xyz"]). Empty = owner only.'
6158
+ },
6150
6159
  // Emotional dimensions — create-time hints, REM re-scores authoritatively
6151
6160
  // Layer 1: Discrete Emotions
6152
6161
  feel_emotional_significance: { type: "number", minimum: 0, maximum: 1, description: "Overall emotional weight (0-1). REM re-scores." },
@@ -6207,6 +6216,8 @@ async function handleCreateMemory(args, userId, authContext, context) {
6207
6216
  parent_id: args.parent_id,
6208
6217
  thread_root_id: args.thread_root_id,
6209
6218
  moderation_flags: args.moderation_flags,
6219
+ follow_up_at: args.follow_up_at,
6220
+ follow_up_targets: args.follow_up_targets,
6210
6221
  context_summary: context?.summary || "Memory created via MCP",
6211
6222
  context_conversation_id: context?.conversation_id,
6212
6223
  ...feelFields
@@ -6587,6 +6598,15 @@ var updateMemoryTool = {
6587
6598
  items: { type: "string" },
6588
6599
  description: "Update moderation flags"
6589
6600
  },
6601
+ follow_up_at: {
6602
+ type: ["string", "null"],
6603
+ description: "ISO 8601 datetime for follow-up reminder. Set to null to clear."
6604
+ },
6605
+ follow_up_targets: {
6606
+ type: "array",
6607
+ items: { type: "string" },
6608
+ description: 'Target recipients for follow-up (e.g. ["user:abc"]). Empty = owner only.'
6609
+ },
6590
6610
  // Emotional dimensions — manual corrections, REM re-scores authoritatively
6591
6611
  // Layer 1: Discrete Emotions
6592
6612
  feel_emotional_significance: { type: "number", minimum: 0, maximum: 1, description: "Overall emotional weight (0-1). REM re-scores." },
@@ -6647,6 +6667,8 @@ async function handleUpdateMemory(args, userId, authContext) {
6647
6667
  parent_id: args.parent_id,
6648
6668
  thread_root_id: args.thread_root_id,
6649
6669
  moderation_flags: args.moderation_flags,
6670
+ follow_up_at: args.follow_up_at,
6671
+ follow_up_targets: args.follow_up_targets,
6650
6672
  ...feelFields
6651
6673
  });
6652
6674
  const response = {
package/dist/server.js CHANGED
@@ -6151,6 +6151,15 @@ var createMemoryTool = {
6151
6151
  description: 'Per-space moderation flags (format: "{space_id}:{flag_type}"). Usually empty.',
6152
6152
  default: []
6153
6153
  },
6154
+ follow_up_at: {
6155
+ type: "string",
6156
+ description: 'ISO 8601 datetime for when a follow-up reminder should trigger (e.g. "2026-03-12T21:00:00Z")'
6157
+ },
6158
+ follow_up_targets: {
6159
+ type: "array",
6160
+ items: { type: "string" },
6161
+ description: 'Target recipients for follow-up notifications (e.g. ["user:abc", "group:xyz"]). Empty = owner only.'
6162
+ },
6154
6163
  // Emotional dimensions — create-time hints, REM re-scores authoritatively
6155
6164
  // Layer 1: Discrete Emotions
6156
6165
  feel_emotional_significance: { type: "number", minimum: 0, maximum: 1, description: "Overall emotional weight (0-1). REM re-scores." },
@@ -6211,6 +6220,8 @@ async function handleCreateMemory(args, userId, authContext, context) {
6211
6220
  parent_id: args.parent_id,
6212
6221
  thread_root_id: args.thread_root_id,
6213
6222
  moderation_flags: args.moderation_flags,
6223
+ follow_up_at: args.follow_up_at,
6224
+ follow_up_targets: args.follow_up_targets,
6214
6225
  context_summary: context?.summary || "Memory created via MCP",
6215
6226
  context_conversation_id: context?.conversation_id,
6216
6227
  ...feelFields
@@ -6591,6 +6602,15 @@ var updateMemoryTool = {
6591
6602
  items: { type: "string" },
6592
6603
  description: "Update moderation flags"
6593
6604
  },
6605
+ follow_up_at: {
6606
+ type: ["string", "null"],
6607
+ description: "ISO 8601 datetime for follow-up reminder. Set to null to clear."
6608
+ },
6609
+ follow_up_targets: {
6610
+ type: "array",
6611
+ items: { type: "string" },
6612
+ description: 'Target recipients for follow-up (e.g. ["user:abc"]). Empty = owner only.'
6613
+ },
6594
6614
  // Emotional dimensions — manual corrections, REM re-scores authoritatively
6595
6615
  // Layer 1: Discrete Emotions
6596
6616
  feel_emotional_significance: { type: "number", minimum: 0, maximum: 1, description: "Overall emotional weight (0-1). REM re-scores." },
@@ -6651,6 +6671,8 @@ async function handleUpdateMemory(args, userId, authContext) {
6651
6671
  parent_id: args.parent_id,
6652
6672
  thread_root_id: args.thread_root_id,
6653
6673
  moderation_flags: args.moderation_flags,
6674
+ follow_up_at: args.follow_up_at,
6675
+ follow_up_targets: args.follow_up_targets,
6654
6676
  ...feelFields
6655
6677
  });
6656
6678
  const response = {
@@ -77,6 +77,17 @@ export declare const createMemoryTool: {
77
77
  description: string;
78
78
  default: never[];
79
79
  };
80
+ follow_up_at: {
81
+ type: string;
82
+ description: string;
83
+ };
84
+ follow_up_targets: {
85
+ type: string;
86
+ items: {
87
+ type: string;
88
+ };
89
+ description: string;
90
+ };
80
91
  feel_emotional_significance: {
81
92
  type: string;
82
93
  minimum: number;
@@ -73,6 +73,17 @@ export declare const updateMemoryTool: {
73
73
  };
74
74
  description: string;
75
75
  };
76
+ follow_up_at: {
77
+ type: string[];
78
+ description: string;
79
+ };
80
+ follow_up_targets: {
81
+ type: string;
82
+ items: {
83
+ type: string;
84
+ };
85
+ description: string;
86
+ };
76
87
  feel_emotional_significance: {
77
88
  type: string;
78
89
  minimum: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prmichaelsen/remember-mcp",
3
- "version": "3.17.5",
3
+ "version": "3.18.0",
4
4
  "description": "Multi-tenant memory system MCP server with vector search and relationships",
5
5
  "main": "dist/server.js",
6
6
  "type": "module",
@@ -95,6 +95,15 @@ export const createMemoryTool = {
95
95
  description: 'Per-space moderation flags (format: "{space_id}:{flag_type}"). Usually empty.',
96
96
  default: [],
97
97
  },
98
+ follow_up_at: {
99
+ type: 'string',
100
+ description: 'ISO 8601 datetime for when a follow-up reminder should trigger (e.g. "2026-03-12T21:00:00Z")',
101
+ },
102
+ follow_up_targets: {
103
+ type: 'array',
104
+ items: { type: 'string' },
105
+ description: 'Target recipients for follow-up notifications (e.g. ["user:abc", "group:xyz"]). Empty = owner only.',
106
+ },
98
107
  // Emotional dimensions — create-time hints, REM re-scores authoritatively
99
108
  // Layer 1: Discrete Emotions
100
109
  feel_emotional_significance: { type: 'number', minimum: 0, maximum: 1, description: 'Overall emotional weight (0-1). REM re-scores.' },
@@ -199,6 +208,8 @@ export async function handleCreateMemory(
199
208
  parent_id: args.parent_id,
200
209
  thread_root_id: args.thread_root_id,
201
210
  moderation_flags: args.moderation_flags,
211
+ follow_up_at: args.follow_up_at,
212
+ follow_up_targets: args.follow_up_targets,
202
213
  context_summary: context?.summary || 'Memory created via MCP',
203
214
  context_conversation_id: context?.conversation_id,
204
215
  ...feelFields,
@@ -83,6 +83,15 @@ export const updateMemoryTool = {
83
83
  items: { type: 'string' },
84
84
  description: 'Update moderation flags',
85
85
  },
86
+ follow_up_at: {
87
+ type: ['string', 'null'],
88
+ description: 'ISO 8601 datetime for follow-up reminder. Set to null to clear.',
89
+ },
90
+ follow_up_targets: {
91
+ type: 'array',
92
+ items: { type: 'string' },
93
+ description: 'Target recipients for follow-up (e.g. ["user:abc"]). Empty = owner only.',
94
+ },
86
95
  // Emotional dimensions — manual corrections, REM re-scores authoritatively
87
96
  // Layer 1: Discrete Emotions
88
97
  feel_emotional_significance: { type: 'number', minimum: 0, maximum: 1, description: 'Overall emotional weight (0-1). REM re-scores.' },
@@ -187,6 +196,8 @@ export async function handleUpdateMemory(
187
196
  parent_id: args.parent_id,
188
197
  thread_root_id: args.thread_root_id,
189
198
  moderation_flags: args.moderation_flags,
199
+ follow_up_at: args.follow_up_at,
200
+ follow_up_targets: args.follow_up_targets,
190
201
  ...feelFields,
191
202
  } as any);
192
203