@frontmcp/plugin-remember 1.8.5 → 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 +22 -14
- package/esm/package.json +4 -4
- package/index.js +58 -50
- package/package.json +4 -4
- package/providers/remember-accessor.provider.d.ts.map +1 -1
- package/remember.errors.d.ts +4 -2
- package/remember.errors.d.ts.map +1 -1
- package/remember.plugin.d.ts +1 -1
- package/remember.plugin.d.ts.map +1 -1
- package/tools/forget.tool.d.ts.map +1 -1
- package/tools/list-memories.tool.d.ts.map +1 -1
- package/tools/recall.tool.d.ts.map +1 -1
- package/tools/remember-scope.description.d.ts +10 -0
- package/tools/remember-scope.description.d.ts.map +1 -0
- package/tools/remember-this.tool.d.ts.map +1 -1
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
|
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.
|
|
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.
|
|
53
|
-
"@frontmcp/utils": "1.8.
|
|
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.
|
|
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
|
|
64
|
+
var import_sdk6 = require("@frontmcp/sdk");
|
|
65
65
|
|
|
66
66
|
// plugins/plugin-remember/src/providers/remember-accessor.provider.ts
|
|
67
|
-
var
|
|
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
|
|
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 !==
|
|
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,
|
|
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 "${
|
|
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,
|
|
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,
|
|
684
|
+
(0, import_sdk2.Provider)({
|
|
684
685
|
name: "provider:remember:accessor",
|
|
685
686
|
description: "Context-scoped accessor for RememberPlugin storage",
|
|
686
|
-
scope:
|
|
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
|
|
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,
|
|
856
|
+
(0, import_sdk3.Provider)({
|
|
856
857
|
name: "provider:remember:memory",
|
|
857
858
|
description: "In-memory storage provider for RememberPlugin",
|
|
858
|
-
scope:
|
|
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
|
|
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,
|
|
1004
|
+
(0, import_sdk4.Provider)({
|
|
1004
1005
|
name: "provider:remember:redis",
|
|
1005
1006
|
description: "Redis-based storage provider for RememberPlugin",
|
|
1006
|
-
scope:
|
|
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
|
|
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,
|
|
1135
|
+
(0, import_sdk5.Provider)({
|
|
1135
1136
|
name: "provider:remember:vercel-kv",
|
|
1136
1137
|
description: "Vercel KV-based storage provider for RememberPlugin",
|
|
1137
|
-
scope:
|
|
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
|
|
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: () => [
|
|
1183
|
+
inject: () => [import_sdk6.FrontMcpConfig],
|
|
1183
1184
|
useFactory: (frontmcpConfig) => {
|
|
1184
|
-
const storeConfig = (0,
|
|
1185
|
-
if ((0,
|
|
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
|
-
|
|
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:
|
|
1265
|
-
inject: () => [RememberStoreToken,
|
|
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,
|
|
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
|
-
|
|
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
|
|
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
|
|
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,
|
|
1359
|
+
(0, import_sdk7.Tool)({
|
|
1352
1360
|
name: "remember_this",
|
|
1353
|
-
description: "Remember something for later
|
|
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
|
|
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(
|
|
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
|
|
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,
|
|
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
|
|
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(
|
|
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
|
|
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,
|
|
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
|
|
1470
|
+
var import_sdk10 = require("@frontmcp/sdk");
|
|
1463
1471
|
var listMemoriesInputSchema = {
|
|
1464
|
-
scope: import_lazy_zod6.z.enum(["session", "user", "tool", "global"]).optional().describe(
|
|
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
|
|
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,
|
|
1506
|
+
(0, import_sdk10.Tool)({
|
|
1499
1507
|
name: "list_memories",
|
|
1500
|
-
description: "List
|
|
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.
|
|
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.
|
|
53
|
-
"@frontmcp/utils": "1.8.
|
|
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.
|
|
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":"AAAA,OAAO,EAML,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAKvB,OAAO,KAAK,EACV,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAsBzE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAKa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;IAC/C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAkB;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwB;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAU;gBAG1C,KAAK,EAAE,sBAAsB,EAC7B,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,qBAAqB,EAC7B,MAAM,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC;IAoBjD;;;;;;OAMG;IACG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBpF;;;;;;OAMG;IACG,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAkB,CAAC,CAAC,CAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAsBtF;;;;;;OAMG;IACG,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,aAAa,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAsB9G;;;;;OAKG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7E;;;;;;OAMG;IACG,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC;IAM9E;;;;;OAKG;IACG,IAAI,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAWhE;;;;;;OAMG;IACG,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,aAAa,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA0B/G;;;;;OAKG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAS/B;IAMD;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;;;;;;;OAQG;IACH,OAAO,KAAK,iBAAiB,GAQ5B;IAED;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,sBAAsB;IAmB9B;;;;;OAKG;IACH,OAAO,KAAK,QAAQ,GAEnB;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"remember-accessor.provider.d.ts","sourceRoot":"","sources":["../../src/providers/remember-accessor.provider.ts"],"names":[],"mappings":"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"}
|
package/remember.errors.d.ts
CHANGED
|
@@ -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
|
|
10
|
+
export declare class RememberIdentityError extends PublicMcpError {
|
|
9
11
|
readonly name = "RememberIdentityError";
|
|
10
12
|
constructor(message: string);
|
|
11
13
|
}
|
package/remember.errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remember.errors.d.ts","sourceRoot":"","sources":["../src/remember.errors.ts"],"names":[],"mappings":"AAAA
|
|
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"}
|
package/remember.plugin.d.ts
CHANGED
|
@@ -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.
|
package/remember.plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remember.plugin.d.ts","sourceRoot":"","sources":["../src/remember.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EASb,YAAY,
|
|
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;
|
|
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;
|
|
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;
|
|
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;
|
|
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"}
|