@frontmcp/plugin-remember 1.8.4 → 1.8.6

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/esm/index.mjs CHANGED
@@ -282,10 +282,11 @@ async function deserializeAndDecrypt(str, keySource) {
282
282
  }
283
283
 
284
284
  // plugins/plugin-remember/src/remember.errors.ts
285
- var RememberIdentityError = class extends Error {
285
+ import { PublicMcpError } from "@frontmcp/sdk";
286
+ var RememberIdentityError = class extends PublicMcpError {
286
287
  name = "RememberIdentityError";
287
288
  constructor(message) {
288
- super(message);
289
+ super(message, "REMEMBER_IDENTITY_REQUIRED", 403);
289
290
  }
290
291
  };
291
292
 
@@ -623,7 +624,7 @@ var RememberAccessor = class {
623
624
  return `${this.keyPrefix}${STORAGE_LAYOUT_VERSION}:session:${encodeKeyPart(this.resolveSessionIdentity())}:`;
624
625
  case "user": {
625
626
  const userId = this.userId;
626
- if (!userId) {
627
+ if (!userId || isAnonymousSubject(userId)) {
627
628
  throw new RememberIdentityError(
628
629
  "Remember cannot use user scope without an authenticated user: all unauthenticated callers would share one namespace. Authenticate the request or use the 'global' scope."
629
630
  );
@@ -1228,7 +1229,9 @@ __publicField(RememberPlugin, "dynamicProviders", (options) => {
1228
1229
  providers.push({
1229
1230
  name: "remember:store:memory",
1230
1231
  provide: RememberStoreToken,
1231
- useValue: new RememberMemoryProvider()
1232
+ // Built per server: `init()` runs once, so a value here would be shared by every server using it.
1233
+ inject: () => [],
1234
+ useFactory: () => new RememberMemoryProvider()
1232
1235
  });
1233
1236
  break;
1234
1237
  }
@@ -1251,11 +1254,13 @@ RememberPlugin = __decorateClass([
1251
1254
  name: "remember",
1252
1255
  description: "Help your LLM remember things across sessions",
1253
1256
  providers: [
1254
- // Default in-memory provider (overridden by dynamicProviders if configured)
1257
+ // Default in-memory provider (overridden by dynamicProviders if configured). A factory, so each
1258
+ // server gets its own store: a value built here is one store for every server in the process.
1255
1259
  {
1256
1260
  name: "remember:store:memory",
1257
1261
  provide: RememberStoreToken,
1258
- useValue: new RememberMemoryProvider()
1262
+ inject: () => [],
1263
+ useFactory: () => new RememberMemoryProvider()
1259
1264
  }
1260
1265
  ],
1261
1266
  // Context extensions - SDK handles runtime installation
@@ -1288,12 +1293,15 @@ var rememberEntrySchema = z2.object({
1288
1293
  // plugins/plugin-remember/src/tools/remember-this.tool.ts
1289
1294
  import { z as z3 } from "@frontmcp/lazy-zod";
1290
1295
  import { Tool, ToolContext } from "@frontmcp/sdk";
1296
+
1297
+ // plugins/plugin-remember/src/tools/remember-scope.description.ts
1298
+ var REMEMBER_SCOPE_DESCRIPTION = "Whose memory to use (default: session). session: this session; without one (stateless HTTP, MCP 2026-07-28), the signed-in caller across its requests. user: the signed-in caller, across all of its sessions. tool: the tool running the call, for the same caller as session; each memory tool has its own, so the other memory tools do not see what one of them stores in tool scope. global: shared by every caller. An anonymous caller cannot use user scope, nor session or tool scope without a session.";
1299
+
1300
+ // plugins/plugin-remember/src/tools/remember-this.tool.ts
1291
1301
  var rememberThisInputSchema = {
1292
1302
  key: z3.string().min(1).describe('What to call this memory (e.g., "user_preference", "last_action")'),
1293
1303
  value: z3.unknown().describe("The value to remember (any JSON-serializable data)"),
1294
- scope: z3.enum(["session", "user", "tool", "global"]).optional().describe(
1295
- "How long to remember: session (until disconnect), user (forever), tool (for this tool), global (shared)"
1296
- ),
1304
+ scope: z3.enum(["session", "user", "tool", "global"]).optional().describe(REMEMBER_SCOPE_DESCRIPTION),
1297
1305
  ttl: z3.number().positive().optional().describe("Forget after this many seconds"),
1298
1306
  brand: z3.enum(["preference", "cache", "state", "conversation", "custom"]).optional().describe("Type hint for the stored value")
1299
1307
  };
@@ -1329,7 +1337,7 @@ var RememberThisTool = class extends ToolContext {
1329
1337
  RememberThisTool = __decorateClass([
1330
1338
  Tool({
1331
1339
  name: "remember_this",
1332
- description: "Remember something for later. Store a value that can be recalled in future conversations. Use this when the user asks you to remember preferences, settings, or any information they want to persist.",
1340
+ description: "Remember something for later: store a value under a key that recall can read back, in the scope you choose (this session by default; user scope for the signed-in user across sessions). It lasts until it is forgotten or its ttl runs out. Use this when the user asks you to remember preferences, settings, or any information they want to persist.",
1333
1341
  inputSchema: rememberThisInputSchema,
1334
1342
  outputSchema: rememberThisOutputSchema,
1335
1343
  annotations: {
@@ -1343,7 +1351,7 @@ import { z as z4 } from "@frontmcp/lazy-zod";
1343
1351
  import { Tool as Tool2, ToolContext as ToolContext2 } from "@frontmcp/sdk";
1344
1352
  var recallInputSchema = {
1345
1353
  key: z4.string().min(1).describe("What memory to recall"),
1346
- scope: z4.enum(["session", "user", "tool", "global"]).optional().describe("Which scope to look in (default: session)")
1354
+ scope: z4.enum(["session", "user", "tool", "global"]).optional().describe(REMEMBER_SCOPE_DESCRIPTION)
1347
1355
  };
1348
1356
  var recallOutputSchema = z4.object({
1349
1357
  found: z4.boolean(),
@@ -1397,7 +1405,7 @@ import { z as z5 } from "@frontmcp/lazy-zod";
1397
1405
  import { Tool as Tool3, ToolContext as ToolContext3 } from "@frontmcp/sdk";
1398
1406
  var forgetInputSchema = {
1399
1407
  key: z5.string().min(1).describe("What memory to forget"),
1400
- scope: z5.enum(["session", "user", "tool", "global"]).optional().describe("Which scope to forget from (default: session)")
1408
+ scope: z5.enum(["session", "user", "tool", "global"]).optional().describe(REMEMBER_SCOPE_DESCRIPTION)
1401
1409
  };
1402
1410
  var forgetOutputSchema = z5.object({
1403
1411
  success: z5.boolean(),
@@ -1440,7 +1448,7 @@ ForgetTool = __decorateClass([
1440
1448
  import { z as z6 } from "@frontmcp/lazy-zod";
1441
1449
  import { Tool as Tool4, ToolContext as ToolContext4 } from "@frontmcp/sdk";
1442
1450
  var listMemoriesInputSchema = {
1443
- scope: z6.enum(["session", "user", "tool", "global"]).optional().describe("Which scope to list from (default: session)"),
1451
+ scope: z6.enum(["session", "user", "tool", "global"]).optional().describe(REMEMBER_SCOPE_DESCRIPTION),
1444
1452
  pattern: z6.string().optional().describe('Pattern to filter keys (e.g., "user_*")'),
1445
1453
  limit: z6.number().positive().max(100).optional().describe("Maximum number of keys to return (default: 50)")
1446
1454
  };
@@ -1476,7 +1484,7 @@ var ListMemoriesTool = class extends ToolContext4 {
1476
1484
  ListMemoriesTool = __decorateClass([
1477
1485
  Tool4({
1478
1486
  name: "list_memories",
1479
- description: "List all remembered keys in a scope. Use this to see what memories are stored for the current session or user.",
1487
+ description: "List the remembered keys in one scope (default: session). Use this to see what memories are stored before you recall or forget one.",
1480
1488
  inputSchema: listMemoriesInputSchema,
1481
1489
  outputSchema: listMemoriesOutputSchema,
1482
1490
  annotations: {
package/esm/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frontmcp/plugin-remember",
3
- "version": "1.8.4",
3
+ "version": "1.8.6",
4
4
  "description": "Remember plugin for FrontMCP - encrypted session memory with approval system for secure tool authorization",
5
5
  "author": "AgentFront <info@agentfront.dev>",
6
6
  "license": "Apache-2.0",
@@ -49,12 +49,12 @@
49
49
  }
50
50
  },
51
51
  "dependencies": {
52
- "@frontmcp/sdk": "1.8.4",
53
- "@frontmcp/utils": "1.8.4",
52
+ "@frontmcp/sdk": "1.8.6",
53
+ "@frontmcp/utils": "1.8.6",
54
54
  "ioredis": "^5.8.0"
55
55
  },
56
56
  "peerDependencies": {
57
- "@frontmcp/lazy-zod": "1.8.4",
57
+ "@frontmcp/lazy-zod": "1.8.6",
58
58
  "@vercel/kv": "^2.0.0 || ^3.0.0"
59
59
  },
60
60
  "peerDependenciesMeta": {
package/index.js CHANGED
@@ -61,10 +61,10 @@ __export(index_exports, {
61
61
  module.exports = __toCommonJS(index_exports);
62
62
 
63
63
  // plugins/plugin-remember/src/remember.plugin.ts
64
- var import_sdk5 = require("@frontmcp/sdk");
64
+ var import_sdk6 = require("@frontmcp/sdk");
65
65
 
66
66
  // plugins/plugin-remember/src/providers/remember-accessor.provider.ts
67
- var import_sdk = require("@frontmcp/sdk");
67
+ var import_sdk2 = require("@frontmcp/sdk");
68
68
 
69
69
  // plugins/plugin-remember/src/remember.crypto.ts
70
70
  var import_utils2 = require("@frontmcp/utils");
@@ -303,10 +303,11 @@ async function deserializeAndDecrypt(str, keySource) {
303
303
  }
304
304
 
305
305
  // plugins/plugin-remember/src/remember.errors.ts
306
- var RememberIdentityError = class extends Error {
306
+ var import_sdk = require("@frontmcp/sdk");
307
+ var RememberIdentityError = class extends import_sdk.PublicMcpError {
307
308
  name = "RememberIdentityError";
308
309
  constructor(message) {
309
- super(message);
310
+ super(message, "REMEMBER_IDENTITY_REQUIRED", 403);
310
311
  }
311
312
  };
312
313
 
@@ -593,7 +594,7 @@ var RememberAccessor = class {
593
594
  get verifiedSessionId() {
594
595
  const authInfo = this.ctx.authInfo;
595
596
  return [authInfo?.sessionId, authInfo?.extra?.["sessionId"]].find(
596
- (candidate) => typeof candidate === "string" && candidate.length > 0 && candidate !== import_sdk.STATELESS_SESSION_ID
597
+ (candidate) => typeof candidate === "string" && candidate.length > 0 && candidate !== import_sdk2.STATELESS_SESSION_ID
597
598
  );
598
599
  }
599
600
  /**
@@ -614,11 +615,11 @@ var RememberAccessor = class {
614
615
  return sessionId;
615
616
  }
616
617
  const userId = this.userId;
617
- if (userId && !(0, import_sdk.isAnonymousSubject)(userId)) {
618
+ if (userId && !(0, import_sdk2.isAnonymousSubject)(userId)) {
618
619
  return `stateless-user:${userId}`;
619
620
  }
620
621
  throw new RememberIdentityError(
621
- `Remember cannot use session or tool scope for an unauthenticated request without a verified session: a stateless request shares the session id "${import_sdk.STATELESS_SESSION_ID}", and an mcp-session-id the server did not verify could belong to any caller, so the data would be shared across clients. Authenticate the request, use a stateful transport, or choose the 'global' scope if the data really is shared.`
622
+ `Remember cannot use session or tool scope for an unauthenticated request without a verified session: a stateless request shares the session id "${import_sdk2.STATELESS_SESSION_ID}", and an mcp-session-id the server did not verify could belong to any caller, so the data would be shared across clients. Authenticate the request, use a stateful transport, or choose the 'global' scope if the data really is shared.`
622
623
  );
623
624
  }
624
625
  /**
@@ -628,7 +629,7 @@ var RememberAccessor = class {
628
629
  * `'unknown'`.
629
630
  */
630
631
  get toolName() {
631
- return (0, import_sdk.getRunningTool)()?.fullName ?? this.ctx.flow?.name ?? "unknown";
632
+ return (0, import_sdk2.getRunningTool)()?.fullName ?? this.ctx.flow?.name ?? "unknown";
632
633
  }
633
634
  /**
634
635
  * Build the scope-specific prefix.
@@ -644,7 +645,7 @@ var RememberAccessor = class {
644
645
  return `${this.keyPrefix}${STORAGE_LAYOUT_VERSION}:session:${encodeKeyPart(this.resolveSessionIdentity())}:`;
645
646
  case "user": {
646
647
  const userId = this.userId;
647
- if (!userId) {
648
+ if (!userId || (0, import_sdk2.isAnonymousSubject)(userId)) {
648
649
  throw new RememberIdentityError(
649
650
  "Remember cannot use user scope without an authenticated user: all unauthenticated callers would share one namespace. Authenticate the request or use the 'global' scope."
650
651
  );
@@ -680,10 +681,10 @@ var RememberAccessor = class {
680
681
  }
681
682
  };
682
683
  RememberAccessor = __decorateClass([
683
- (0, import_sdk.Provider)({
684
+ (0, import_sdk2.Provider)({
684
685
  name: "provider:remember:accessor",
685
686
  description: "Context-scoped accessor for RememberPlugin storage",
686
- scope: import_sdk.ProviderScope.CONTEXT
687
+ scope: import_sdk2.ProviderScope.CONTEXT
687
688
  })
688
689
  ], RememberAccessor);
689
690
  function createRememberAccessor(store, ctx, config, logger) {
@@ -691,7 +692,7 @@ function createRememberAccessor(store, ctx, config, logger) {
691
692
  }
692
693
 
693
694
  // plugins/plugin-remember/src/providers/remember-memory.provider.ts
694
- var import_sdk2 = require("@frontmcp/sdk");
695
+ var import_sdk3 = require("@frontmcp/sdk");
695
696
  var MAX_TIMEOUT_MS = 2 ** 31 - 1;
696
697
  var RememberMemoryProvider = class {
697
698
  memory = /* @__PURE__ */ new Map();
@@ -852,16 +853,16 @@ var RememberMemoryProvider = class {
852
853
  __publicField(RememberMemoryProvider, "MAX_PATTERN_LENGTH", 500);
853
854
  __publicField(RememberMemoryProvider, "MAX_WILDCARDS", 20);
854
855
  RememberMemoryProvider = __decorateClass([
855
- (0, import_sdk2.Provider)({
856
+ (0, import_sdk3.Provider)({
856
857
  name: "provider:remember:memory",
857
858
  description: "In-memory storage provider for RememberPlugin",
858
- scope: import_sdk2.ProviderScope.GLOBAL
859
+ scope: import_sdk3.ProviderScope.GLOBAL
859
860
  })
860
861
  ], RememberMemoryProvider);
861
862
 
862
863
  // plugins/plugin-remember/src/providers/remember-redis.provider.ts
863
864
  var import_ioredis = __toESM(require("ioredis"));
864
- var import_sdk3 = require("@frontmcp/sdk");
865
+ var import_sdk4 = require("@frontmcp/sdk");
865
866
  var RememberRedisProvider = class {
866
867
  client;
867
868
  /**
@@ -1000,15 +1001,15 @@ var RememberRedisProvider = class {
1000
1001
  }
1001
1002
  };
1002
1003
  RememberRedisProvider = __decorateClass([
1003
- (0, import_sdk3.Provider)({
1004
+ (0, import_sdk4.Provider)({
1004
1005
  name: "provider:remember:redis",
1005
1006
  description: "Redis-based storage provider for RememberPlugin",
1006
- scope: import_sdk3.ProviderScope.GLOBAL
1007
+ scope: import_sdk4.ProviderScope.GLOBAL
1007
1008
  })
1008
1009
  ], RememberRedisProvider);
1009
1010
 
1010
1011
  // plugins/plugin-remember/src/providers/remember-vercel-kv.provider.ts
1011
- var import_sdk4 = require("@frontmcp/sdk");
1012
+ var import_sdk5 = require("@frontmcp/sdk");
1012
1013
  var RememberVercelKvProvider = class {
1013
1014
  kv;
1014
1015
  keyPrefix;
@@ -1131,10 +1132,10 @@ var RememberVercelKvProvider = class {
1131
1132
  }
1132
1133
  };
1133
1134
  RememberVercelKvProvider = __decorateClass([
1134
- (0, import_sdk4.Provider)({
1135
+ (0, import_sdk5.Provider)({
1135
1136
  name: "provider:remember:vercel-kv",
1136
1137
  description: "Vercel KV-based storage provider for RememberPlugin",
1137
- scope: import_sdk4.ProviderScope.GLOBAL
1138
+ scope: import_sdk5.ProviderScope.GLOBAL
1138
1139
  })
1139
1140
  ], RememberVercelKvProvider);
1140
1141
 
@@ -1150,7 +1151,7 @@ var RememberAccessorToken = /* @__PURE__ */ Symbol(
1150
1151
  );
1151
1152
 
1152
1153
  // plugins/plugin-remember/src/remember.plugin.ts
1153
- var RememberPlugin = class extends import_sdk5.DynamicPlugin {
1154
+ var RememberPlugin = class extends import_sdk6.DynamicPlugin {
1154
1155
  options;
1155
1156
  constructor(options = {}) {
1156
1157
  super();
@@ -1179,10 +1180,10 @@ __publicField(RememberPlugin, "dynamicProviders", (options) => {
1179
1180
  providers.push({
1180
1181
  name: "remember:store:global",
1181
1182
  provide: RememberStoreToken,
1182
- inject: () => [import_sdk5.FrontMcpConfig],
1183
+ inject: () => [import_sdk6.FrontMcpConfig],
1183
1184
  useFactory: (frontmcpConfig) => {
1184
- const storeConfig = (0, import_sdk5.getGlobalStoreConfig)("RememberPlugin", frontmcpConfig);
1185
- if ((0, import_sdk5.isVercelKvProvider)(storeConfig)) {
1185
+ const storeConfig = (0, import_sdk6.getGlobalStoreConfig)("RememberPlugin", frontmcpConfig);
1186
+ if ((0, import_sdk6.isVercelKvProvider)(storeConfig)) {
1186
1187
  return new RememberVercelKvProvider({
1187
1188
  url: storeConfig.url,
1188
1189
  token: storeConfig.token,
@@ -1249,7 +1250,9 @@ __publicField(RememberPlugin, "dynamicProviders", (options) => {
1249
1250
  providers.push({
1250
1251
  name: "remember:store:memory",
1251
1252
  provide: RememberStoreToken,
1252
- useValue: new RememberMemoryProvider()
1253
+ // Built per server: `init()` runs once, so a value here would be shared by every server using it.
1254
+ inject: () => [],
1255
+ useFactory: () => new RememberMemoryProvider()
1253
1256
  });
1254
1257
  break;
1255
1258
  }
@@ -1261,22 +1264,24 @@ __publicField(RememberPlugin, "dynamicProviders", (options) => {
1261
1264
  providers.push({
1262
1265
  name: "remember:accessor",
1263
1266
  provide: RememberAccessorToken,
1264
- scope: import_sdk5.ProviderScope.CONTEXT,
1265
- inject: () => [RememberStoreToken, import_sdk5.FRONTMCP_CONTEXT, RememberConfigToken, import_sdk5.FrontMcpLogger],
1267
+ scope: import_sdk6.ProviderScope.CONTEXT,
1268
+ inject: () => [RememberStoreToken, import_sdk6.FRONTMCP_CONTEXT, RememberConfigToken, import_sdk6.FrontMcpLogger],
1266
1269
  useFactory: (store, ctx, cfg, logger) => createRememberAccessor(store, ctx, cfg, logger)
1267
1270
  });
1268
1271
  return providers;
1269
1272
  });
1270
1273
  RememberPlugin = __decorateClass([
1271
- (0, import_sdk5.Plugin)({
1274
+ (0, import_sdk6.Plugin)({
1272
1275
  name: "remember",
1273
1276
  description: "Help your LLM remember things across sessions",
1274
1277
  providers: [
1275
- // Default in-memory provider (overridden by dynamicProviders if configured)
1278
+ // Default in-memory provider (overridden by dynamicProviders if configured). A factory, so each
1279
+ // server gets its own store: a value built here is one store for every server in the process.
1276
1280
  {
1277
1281
  name: "remember:store:memory",
1278
1282
  provide: RememberStoreToken,
1279
- useValue: new RememberMemoryProvider()
1283
+ inject: () => [],
1284
+ useFactory: () => new RememberMemoryProvider()
1280
1285
  }
1281
1286
  ],
1282
1287
  // Context extensions - SDK handles runtime installation
@@ -1308,13 +1313,16 @@ var rememberEntrySchema = import_lazy_zod2.z.object({
1308
1313
 
1309
1314
  // plugins/plugin-remember/src/tools/remember-this.tool.ts
1310
1315
  var import_lazy_zod3 = require("@frontmcp/lazy-zod");
1311
- var import_sdk6 = require("@frontmcp/sdk");
1316
+ var import_sdk7 = require("@frontmcp/sdk");
1317
+
1318
+ // plugins/plugin-remember/src/tools/remember-scope.description.ts
1319
+ var REMEMBER_SCOPE_DESCRIPTION = "Whose memory to use (default: session). session: this session; without one (stateless HTTP, MCP 2026-07-28), the signed-in caller across its requests. user: the signed-in caller, across all of its sessions. tool: the tool running the call, for the same caller as session; each memory tool has its own, so the other memory tools do not see what one of them stores in tool scope. global: shared by every caller. An anonymous caller cannot use user scope, nor session or tool scope without a session.";
1320
+
1321
+ // plugins/plugin-remember/src/tools/remember-this.tool.ts
1312
1322
  var rememberThisInputSchema = {
1313
1323
  key: import_lazy_zod3.z.string().min(1).describe('What to call this memory (e.g., "user_preference", "last_action")'),
1314
1324
  value: import_lazy_zod3.z.unknown().describe("The value to remember (any JSON-serializable data)"),
1315
- scope: import_lazy_zod3.z.enum(["session", "user", "tool", "global"]).optional().describe(
1316
- "How long to remember: session (until disconnect), user (forever), tool (for this tool), global (shared)"
1317
- ),
1325
+ scope: import_lazy_zod3.z.enum(["session", "user", "tool", "global"]).optional().describe(REMEMBER_SCOPE_DESCRIPTION),
1318
1326
  ttl: import_lazy_zod3.z.number().positive().optional().describe("Forget after this many seconds"),
1319
1327
  brand: import_lazy_zod3.z.enum(["preference", "cache", "state", "conversation", "custom"]).optional().describe("Type hint for the stored value")
1320
1328
  };
@@ -1324,7 +1332,7 @@ var rememberThisOutputSchema = import_lazy_zod3.z.object({
1324
1332
  scope: import_lazy_zod3.z.string(),
1325
1333
  expiresAt: import_lazy_zod3.z.number().optional()
1326
1334
  });
1327
- var RememberThisTool = class extends import_sdk6.ToolContext {
1335
+ var RememberThisTool = class extends import_sdk7.ToolContext {
1328
1336
  async execute(input) {
1329
1337
  const remember = this.get(RememberAccessorToken);
1330
1338
  const config = this.get(RememberConfigToken);
@@ -1348,9 +1356,9 @@ var RememberThisTool = class extends import_sdk6.ToolContext {
1348
1356
  }
1349
1357
  };
1350
1358
  RememberThisTool = __decorateClass([
1351
- (0, import_sdk6.Tool)({
1359
+ (0, import_sdk7.Tool)({
1352
1360
  name: "remember_this",
1353
- description: "Remember something for later. Store a value that can be recalled in future conversations. Use this when the user asks you to remember preferences, settings, or any information they want to persist.",
1361
+ description: "Remember something for later: store a value under a key that recall can read back, in the scope you choose (this session by default; user scope for the signed-in user across sessions). It lasts until it is forgotten or its ttl runs out. Use this when the user asks you to remember preferences, settings, or any information they want to persist.",
1354
1362
  inputSchema: rememberThisInputSchema,
1355
1363
  outputSchema: rememberThisOutputSchema,
1356
1364
  annotations: {
@@ -1361,10 +1369,10 @@ RememberThisTool = __decorateClass([
1361
1369
 
1362
1370
  // plugins/plugin-remember/src/tools/recall.tool.ts
1363
1371
  var import_lazy_zod4 = require("@frontmcp/lazy-zod");
1364
- var import_sdk7 = require("@frontmcp/sdk");
1372
+ var import_sdk8 = require("@frontmcp/sdk");
1365
1373
  var recallInputSchema = {
1366
1374
  key: import_lazy_zod4.z.string().min(1).describe("What memory to recall"),
1367
- scope: import_lazy_zod4.z.enum(["session", "user", "tool", "global"]).optional().describe("Which scope to look in (default: session)")
1375
+ scope: import_lazy_zod4.z.enum(["session", "user", "tool", "global"]).optional().describe(REMEMBER_SCOPE_DESCRIPTION)
1368
1376
  };
1369
1377
  var recallOutputSchema = import_lazy_zod4.z.object({
1370
1378
  found: import_lazy_zod4.z.boolean(),
@@ -1374,7 +1382,7 @@ var recallOutputSchema = import_lazy_zod4.z.object({
1374
1382
  createdAt: import_lazy_zod4.z.number().optional(),
1375
1383
  expiresAt: import_lazy_zod4.z.number().optional()
1376
1384
  });
1377
- var RecallTool = class extends import_sdk7.ToolContext {
1385
+ var RecallTool = class extends import_sdk8.ToolContext {
1378
1386
  async execute(input) {
1379
1387
  const remember = this.get(RememberAccessorToken);
1380
1388
  const config = this.get(RememberConfigToken);
@@ -1402,7 +1410,7 @@ var RecallTool = class extends import_sdk7.ToolContext {
1402
1410
  }
1403
1411
  };
1404
1412
  RecallTool = __decorateClass([
1405
- (0, import_sdk7.Tool)({
1413
+ (0, import_sdk8.Tool)({
1406
1414
  name: "recall",
1407
1415
  description: "Recall something that was previously remembered. Use this to retrieve stored preferences, settings, or any information that was saved with remember_this.",
1408
1416
  inputSchema: recallInputSchema,
@@ -1415,10 +1423,10 @@ RecallTool = __decorateClass([
1415
1423
 
1416
1424
  // plugins/plugin-remember/src/tools/forget.tool.ts
1417
1425
  var import_lazy_zod5 = require("@frontmcp/lazy-zod");
1418
- var import_sdk8 = require("@frontmcp/sdk");
1426
+ var import_sdk9 = require("@frontmcp/sdk");
1419
1427
  var forgetInputSchema = {
1420
1428
  key: import_lazy_zod5.z.string().min(1).describe("What memory to forget"),
1421
- scope: import_lazy_zod5.z.enum(["session", "user", "tool", "global"]).optional().describe("Which scope to forget from (default: session)")
1429
+ scope: import_lazy_zod5.z.enum(["session", "user", "tool", "global"]).optional().describe(REMEMBER_SCOPE_DESCRIPTION)
1422
1430
  };
1423
1431
  var forgetOutputSchema = import_lazy_zod5.z.object({
1424
1432
  success: import_lazy_zod5.z.boolean(),
@@ -1426,7 +1434,7 @@ var forgetOutputSchema = import_lazy_zod5.z.object({
1426
1434
  scope: import_lazy_zod5.z.string(),
1427
1435
  existed: import_lazy_zod5.z.boolean()
1428
1436
  });
1429
- var ForgetTool = class extends import_sdk8.ToolContext {
1437
+ var ForgetTool = class extends import_sdk9.ToolContext {
1430
1438
  async execute(input) {
1431
1439
  const remember = this.get(RememberAccessorToken);
1432
1440
  const config = this.get(RememberConfigToken);
@@ -1446,7 +1454,7 @@ var ForgetTool = class extends import_sdk8.ToolContext {
1446
1454
  }
1447
1455
  };
1448
1456
  ForgetTool = __decorateClass([
1449
- (0, import_sdk8.Tool)({
1457
+ (0, import_sdk9.Tool)({
1450
1458
  name: "forget",
1451
1459
  description: "Forget a previously remembered value. Use this when the user wants to delete stored preferences or information.",
1452
1460
  inputSchema: forgetInputSchema,
@@ -1459,9 +1467,9 @@ ForgetTool = __decorateClass([
1459
1467
 
1460
1468
  // plugins/plugin-remember/src/tools/list-memories.tool.ts
1461
1469
  var import_lazy_zod6 = require("@frontmcp/lazy-zod");
1462
- var import_sdk9 = require("@frontmcp/sdk");
1470
+ var import_sdk10 = require("@frontmcp/sdk");
1463
1471
  var listMemoriesInputSchema = {
1464
- scope: import_lazy_zod6.z.enum(["session", "user", "tool", "global"]).optional().describe("Which scope to list from (default: session)"),
1472
+ scope: import_lazy_zod6.z.enum(["session", "user", "tool", "global"]).optional().describe(REMEMBER_SCOPE_DESCRIPTION),
1465
1473
  pattern: import_lazy_zod6.z.string().optional().describe('Pattern to filter keys (e.g., "user_*")'),
1466
1474
  limit: import_lazy_zod6.z.number().positive().max(100).optional().describe("Maximum number of keys to return (default: 50)")
1467
1475
  };
@@ -1471,7 +1479,7 @@ var listMemoriesOutputSchema = import_lazy_zod6.z.object({
1471
1479
  count: import_lazy_zod6.z.number(),
1472
1480
  truncated: import_lazy_zod6.z.boolean()
1473
1481
  });
1474
- var ListMemoriesTool = class extends import_sdk9.ToolContext {
1482
+ var ListMemoriesTool = class extends import_sdk10.ToolContext {
1475
1483
  async execute(input) {
1476
1484
  const remember = this.get(RememberAccessorToken);
1477
1485
  const config = this.get(RememberConfigToken);
@@ -1495,9 +1503,9 @@ var ListMemoriesTool = class extends import_sdk9.ToolContext {
1495
1503
  }
1496
1504
  };
1497
1505
  ListMemoriesTool = __decorateClass([
1498
- (0, import_sdk9.Tool)({
1506
+ (0, import_sdk10.Tool)({
1499
1507
  name: "list_memories",
1500
- description: "List all remembered keys in a scope. Use this to see what memories are stored for the current session or user.",
1508
+ description: "List the remembered keys in one scope (default: session). Use this to see what memories are stored before you recall or forget one.",
1501
1509
  inputSchema: listMemoriesInputSchema,
1502
1510
  outputSchema: listMemoriesOutputSchema,
1503
1511
  annotations: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frontmcp/plugin-remember",
3
- "version": "1.8.4",
3
+ "version": "1.8.6",
4
4
  "description": "Remember plugin for FrontMCP - encrypted session memory with approval system for secure tool authorization",
5
5
  "author": "AgentFront <info@agentfront.dev>",
6
6
  "license": "Apache-2.0",
@@ -49,12 +49,12 @@
49
49
  }
50
50
  },
51
51
  "dependencies": {
52
- "@frontmcp/sdk": "1.8.4",
53
- "@frontmcp/utils": "1.8.4",
52
+ "@frontmcp/sdk": "1.8.6",
53
+ "@frontmcp/utils": "1.8.6",
54
54
  "ioredis": "^5.8.0"
55
55
  },
56
56
  "peerDependencies": {
57
- "@frontmcp/lazy-zod": "1.8.4",
57
+ "@frontmcp/lazy-zod": "1.8.6",
58
58
  "@vercel/kv": "^2.0.0 || ^3.0.0"
59
59
  },
60
60
  "peerDependenciesMeta": {
@@ -1 +1 @@
1
- {"version":3,"file":"remember-accessor.provider.d.ts","sourceRoot":"","sources":["../../src/providers/remember-accessor.provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remember-accessor.provider.d.ts","sourceRoot":"","sources":["../../src/providers/remember-accessor.provider.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
+ import { PublicMcpError } from '@frontmcp/sdk';
1
2
  /**
2
3
  * Raised when Remember has no per-client identity to namespace storage with
3
4
  * (GHSA-225p-f8jh-f3rh).
4
5
  *
5
6
  * Failing the call is the point: the alternative is a namespace shared by every client,
6
- * which silently turns one caller's memory into another's.
7
+ * which silently turns one caller's memory into another's. It is a public error, so the caller
8
+ * reads why in every environment rather than an internal-error notice.
7
9
  */
8
- export declare class RememberIdentityError extends Error {
10
+ export declare class RememberIdentityError extends PublicMcpError {
9
11
  readonly name = "RememberIdentityError";
10
12
  constructor(message: string);
11
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"remember.errors.d.ts","sourceRoot":"","sources":["../src/remember.errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,SAAkB,IAAI,2BAA2B;gBAErC,OAAO,EAAE,MAAM;CAG5B"}
1
+ {"version":3,"file":"remember.errors.d.ts","sourceRoot":"","sources":["../src/remember.errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;GAOG;AACH,qBAAa,qBAAsB,SAAQ,cAAc;IACvD,SAAkB,IAAI,2BAA2B;gBAErC,OAAO,EAAE,MAAM;CAG5B"}
@@ -1,4 +1,4 @@
1
- import { DynamicPlugin, ProviderType } from '@frontmcp/sdk';
1
+ import { DynamicPlugin, type ProviderType } from '@frontmcp/sdk';
2
2
  import type { RememberPluginOptions, RememberPluginOptionsInput } from './remember.types';
3
3
  /**
4
4
  * RememberPlugin - Stateful session memory for FrontMCP.
@@ -1 +1 @@
1
- {"version":3,"file":"remember.plugin.d.ts","sourceRoot":"","sources":["../src/remember.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EASb,YAAY,EACb,MAAM,eAAe,CAAC;AAOvB,OAAO,KAAK,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAE1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAsBH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,aAAa,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;IAC1G,MAAM,CAAC,cAAc,EAAE,qBAAqB,CAI1C;IAEF,OAAO,EAAE,qBAAqB,CAAC;gBAEnB,OAAO,GAAE,0BAA+B;IAQpD;;OAEG;IACH,OAAgB,gBAAgB,GAAI,SAAS,0BAA0B,KAAG,YAAY,EAAE,CAyHtF;CACH"}
1
+ {"version":3,"file":"remember.plugin.d.ts","sourceRoot":"","sources":["../src/remember.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EASb,KAAK,YAAY,EAClB,MAAM,eAAe,CAAC;AAOvB,OAAO,KAAK,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAE1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAwBH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,aAAa,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;IAC1G,MAAM,CAAC,cAAc,EAAE,qBAAqB,CAI1C;IAEF,OAAO,EAAE,qBAAqB,CAAC;gBAEnB,OAAO,GAAE,0BAA+B;IAQpD;;OAEG;IACH,OAAgB,gBAAgB,GAAI,SAAS,0BAA0B,KAAG,YAAY,EAAE,CA2HtF;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"forget.tool.d.ts","sourceRoot":"","sources":["../../src/tools/forget.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAQ,WAAW,EAAE,MAAM,eAAe,CAAC;AAIlD;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;CAM7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;gCAK7B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC;AAEzE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AAYH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IAC3C,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;CAyBzD"}
1
+ {"version":3,"file":"forget.tool.d.ts","sourceRoot":"","sources":["../../src/tools/forget.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAQ,WAAW,EAAE,MAAM,eAAe,CAAC;AAKlD;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;CAG7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;gCAK7B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC;AAEzE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AAYH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IAC3C,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;CAyBzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"list-memories.tool.d.ts","sourceRoot":"","sources":["../../src/tools/list-memories.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAQ,WAAW,EAAE,MAAM,eAAe,CAAC;AAIlD;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;CAOnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;gCAKnC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC;AAErF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;GAEG;AAYH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;IACjD,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA8BrE"}
1
+ {"version":3,"file":"list-memories.tool.d.ts","sourceRoot":"","sources":["../../src/tools/list-memories.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAQ,WAAW,EAAE,MAAM,eAAe,CAAC;AAKlD;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;CAInC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;gCAKnC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC;AAErF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;GAEG;AAYH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;IACjD,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA8BrE"}
@@ -1 +1 @@
1
- {"version":3,"file":"recall.tool.d.ts","sourceRoot":"","sources":["../../src/tools/recall.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAQ,WAAW,EAAE,MAAM,eAAe,CAAC;AAGlD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;CAG7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;gCAO7B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AAYH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IAC3C,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;CAgCzD"}
1
+ {"version":3,"file":"recall.tool.d.ts","sourceRoot":"","sources":["../../src/tools/recall.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAQ,WAAW,EAAE,MAAM,eAAe,CAAC;AAGlD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvD;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;CAG7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;gCAO7B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AAYH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IAC3C,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;CAgCzD"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * What each memory scope means, for the `scope` argument of all four Remember tools.
3
+ *
4
+ * One text, so the tools never disagree, and one that holds on every transport: under MCP
5
+ * 2026-07-28 and on the stateless HTTP transport there is no session, and `session` and `tool`
6
+ * memory then belong to the signed-in caller (`RememberAccessor.resolveSessionIdentity`). The
7
+ * `tool` scope is the memory of the tool that runs the call, so each of these tools has its own.
8
+ */
9
+ export declare const REMEMBER_SCOPE_DESCRIPTION: string;
10
+ //# sourceMappingURL=remember-scope.description.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remember-scope.description.d.ts","sourceRoot":"","sources":["../../src/tools/remember-scope.description.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,QAOoD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"remember-this.tool.d.ts","sourceRoot":"","sources":["../../src/tools/remember-this.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAQ,WAAW,EAAE,MAAM,eAAe,CAAC;AAIlD;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;CAcnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;gCAKnC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC;AAErF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;GAGG;AAYH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;IACjD,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA2BrE"}
1
+ {"version":3,"file":"remember-this.tool.d.ts","sourceRoot":"","sources":["../../src/tools/remember-this.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAQ,WAAW,EAAE,MAAM,eAAe,CAAC;AAKlD;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;CASnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;gCAKnC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC;AAErF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;GAGG;AAcH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;IACjD,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA2BrE"}