@frontmcp/plugin-remember 1.8.6 → 1.9.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frontmcp/plugin-remember",
3
- "version": "1.8.6",
3
+ "version": "1.9.0",
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.6",
53
- "@frontmcp/utils": "1.8.6",
52
+ "@frontmcp/sdk": "1.9.0",
53
+ "@frontmcp/utils": "1.9.0",
54
54
  "ioredis": "^5.8.0"
55
55
  },
56
56
  "peerDependencies": {
57
- "@frontmcp/lazy-zod": "1.8.6",
57
+ "@frontmcp/lazy-zod": "1.9.0",
58
58
  "@vercel/kv": "^2.0.0 || ^3.0.0"
59
59
  },
60
60
  "peerDependenciesMeta": {
@@ -66,15 +66,15 @@ export declare class RememberAccessor {
66
66
  */
67
67
  forget(key: string, options?: RememberForgetOptions): Promise<void>;
68
68
  /**
69
- * Check if a key is remembered (exists and not expired).
69
+ * Check if a key is remembered: true exactly when `get()` would return its value.
70
70
  *
71
71
  * @param key - The key to check
72
72
  * @param options - Options (scope)
73
- * @returns true if the key exists
73
+ * @returns true if the key exists and has not expired
74
74
  */
75
75
  knows(key: string, options?: RememberKnowsOptions): Promise<boolean>;
76
76
  /**
77
- * List all remembered keys for a scope.
77
+ * List all remembered keys for a scope: the keys `get()` would return a value for.
78
78
  *
79
79
  * @param options - Options (scope, pattern)
80
80
  * @returns Array of keys (without the scope prefix)
@@ -83,6 +83,9 @@ export declare class RememberAccessor {
83
83
  /**
84
84
  * Update an existing entry's value while preserving metadata.
85
85
  *
86
+ * With a `ttl` the entry expires that many seconds from now; without one it keeps its current
87
+ * expiry, in the store as well, so the store does not keep it past that (rounded up to a second).
88
+ *
86
89
  * @param key - The key to update
87
90
  * @param value - The new value
88
91
  * @param options - Options (scope, ttl)
@@ -149,6 +152,8 @@ export declare class RememberAccessor {
149
152
  * Get the encryption key source for a scope.
150
153
  */
151
154
  private getKeySource;
155
+ /** The entry stored under `storageKey`, if readable and unexpired; an expired one is deleted. */
156
+ private readEntry;
152
157
  /**
153
158
  * Parse a JSON entry (when encryption is disabled).
154
159
  */
@@ -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;IA4BxB;;OAEG;IACH,OAAO,CAAC,YAAY;IAYpB;;OAEG;IACH,OAAO,CAAC,UAAU;CAOnB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,sBAAsB,EAC7B,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,qBAAqB,EAC7B,MAAM,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,GAC9C,gBAAgB,CAElB"}
1
+ {"version":3,"file":"remember-accessor.provider.d.ts","sourceRoot":"","sources":["../../src/providers/remember-accessor.provider.ts"],"names":[],"mappings":"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"}
@@ -11,4 +11,13 @@ export declare class RememberIdentityError extends PublicMcpError {
11
11
  readonly name = "RememberIdentityError";
12
12
  constructor(message: string);
13
13
  }
14
+ /**
15
+ * Raised when a memory tool is called with a scope outside `tools.allowedScopes`, including the
16
+ * default scope when the caller omitted one. The model needs the message to retry with a valid
17
+ * scope, so it is public rather than an internal-error notice.
18
+ */
19
+ export declare class RememberScopeNotAllowedError extends PublicMcpError {
20
+ readonly name = "RememberScopeNotAllowedError";
21
+ constructor(scope: string, allowedScopes: readonly string[]);
22
+ }
14
23
  //# sourceMappingURL=remember.errors.d.ts.map
@@ -1 +1 @@
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
+ {"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;AAED;;;;GAIG;AACH,qBAAa,4BAA6B,SAAQ,cAAc;IAC9D,SAAkB,IAAI,kCAAkC;gBAE5C,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,MAAM,EAAE;CAO5D"}
@@ -1,4 +1,4 @@
1
- import { DynamicPlugin, type ProviderType } from '@frontmcp/sdk';
1
+ import { DynamicPlugin, type ProviderType, type ToolType } from '@frontmcp/sdk';
2
2
  import type { RememberPluginOptions, RememberPluginOptionsInput } from './remember.types';
3
3
  /**
4
4
  * RememberPlugin - Stateful session memory for FrontMCP.
@@ -33,6 +33,11 @@ export default class RememberPlugin extends DynamicPlugin<RememberPluginOptions,
33
33
  static defaultOptions: RememberPluginOptions;
34
34
  options: RememberPluginOptions;
35
35
  constructor(options?: RememberPluginOptionsInput);
36
+ /**
37
+ * The memory tools, when `tools.enabled` is set: `remember_this`, `recall`, `forget` and
38
+ * `list_memories`, under `tools.prefix`.
39
+ */
40
+ static dynamicTools: (options: RememberPluginOptionsInput) => readonly ToolType[];
36
41
  /**
37
42
  * Dynamic providers based on plugin options.
38
43
  */
@@ -1 +1 @@
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
+ {"version":3,"file":"remember.plugin.d.ts","sourceRoot":"","sources":["../src/remember.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EASb,KAAK,YAAY,EACjB,KAAK,QAAQ,EACd,MAAM,eAAe,CAAC;AAOvB,OAAO,KAAK,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAG1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;;;OAGG;IACH,OAAgB,YAAY,GAAI,SAAS,0BAA0B,KAAG,SAAS,QAAQ,EAAE,CACf;IAE1E;;OAEG;IACH,OAAgB,gBAAgB,GAAI,SAAS,0BAA0B,KAAG,YAAY,EAAE,CA2HtF;CACH"}
@@ -1,5 +1,6 @@
1
1
  import { z } from '@frontmcp/lazy-zod';
2
2
  import { ToolContext } from '@frontmcp/sdk';
3
+ import { type RememberToolNames } from './remember-tool-names';
3
4
  /**
4
5
  * Input schema for the forget tool.
5
6
  */
@@ -23,6 +24,29 @@ export declare const forgetOutputSchema: import("@frontmcp/lazy-zod").ZodObject<
23
24
  }, import("zod/v4/core").$strip>;
24
25
  export type ForgetInput = z.infer<z.ZodObject<typeof forgetInputSchema>>;
25
26
  export type ForgetOutput = z.infer<typeof forgetOutputSchema>;
27
+ export declare function forgetDescription(): string;
28
+ export declare function forgetToolMetadata(names?: RememberToolNames): {
29
+ name: string;
30
+ description: string;
31
+ inputSchema: {
32
+ key: import("@frontmcp/lazy-zod").ZodString;
33
+ scope: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodEnum<{
34
+ session: "session";
35
+ user: "user";
36
+ tool: "tool";
37
+ global: "global";
38
+ }>>;
39
+ };
40
+ outputSchema: import("@frontmcp/lazy-zod").ZodObject<{
41
+ success: import("@frontmcp/lazy-zod").ZodBoolean;
42
+ key: import("@frontmcp/lazy-zod").ZodString;
43
+ scope: import("@frontmcp/lazy-zod").ZodString;
44
+ existed: import("@frontmcp/lazy-zod").ZodBoolean;
45
+ }, import("zod/v4/core").$strip>;
46
+ annotations: {
47
+ readOnlyHint: boolean;
48
+ };
49
+ };
26
50
  /**
27
51
  * Tool to forget a previously remembered value.
28
52
  */
@@ -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;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
+ {"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,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAElF;;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,wBAAgB,iBAAiB,IAAI,MAAM,CAK1C;AAED,wBAAgB,kBAAkB,CAAC,KAAK,GAAE,iBAAuC;;;;;;;;;;;;;;;;;;;;;EAQhF;AAED;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IAC3C,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;CAyBzD"}
package/tools/index.d.ts CHANGED
@@ -2,6 +2,8 @@ export { default as RememberThisTool } from './remember-this.tool';
2
2
  export { default as RecallTool } from './recall.tool';
3
3
  export { default as ForgetTool } from './forget.tool';
4
4
  export { default as ListMemoriesTool } from './list-memories.tool';
5
+ export { createRememberTools } from './remember-tools.factory';
6
+ export { rememberToolNames, type RememberToolNames } from './remember-tool-names';
5
7
  export type { RememberThisInput, RememberThisOutput } from './remember-this.tool';
6
8
  export type { RecallInput, RecallOutput } from './recall.tool';
7
9
  export type { ForgetInput, ForgetOutput } from './forget.tool';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGnE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAClF,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC/D,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC/D,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAGlF,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAClF,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC/D,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC/D,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { z } from '@frontmcp/lazy-zod';
2
2
  import { ToolContext } from '@frontmcp/sdk';
3
+ import { type RememberToolNames } from './remember-tool-names';
3
4
  /**
4
5
  * Input schema for the list_memories tool.
5
6
  */
@@ -24,6 +25,30 @@ export declare const listMemoriesOutputSchema: import("@frontmcp/lazy-zod").ZodO
24
25
  }, import("zod/v4/core").$strip>;
25
26
  export type ListMemoriesInput = z.infer<z.ZodObject<typeof listMemoriesInputSchema>>;
26
27
  export type ListMemoriesOutput = z.infer<typeof listMemoriesOutputSchema>;
28
+ export declare function listMemoriesDescription(names?: RememberToolNames): string;
29
+ export declare function listMemoriesToolMetadata(names?: RememberToolNames): {
30
+ name: string;
31
+ description: string;
32
+ inputSchema: {
33
+ scope: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodEnum<{
34
+ session: "session";
35
+ user: "user";
36
+ tool: "tool";
37
+ global: "global";
38
+ }>>;
39
+ pattern: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodString>;
40
+ limit: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodNumber>;
41
+ };
42
+ outputSchema: import("@frontmcp/lazy-zod").ZodObject<{
43
+ keys: import("@frontmcp/lazy-zod").ZodArray<import("@frontmcp/lazy-zod").ZodString>;
44
+ scope: import("@frontmcp/lazy-zod").ZodString;
45
+ count: import("@frontmcp/lazy-zod").ZodNumber;
46
+ truncated: import("@frontmcp/lazy-zod").ZodBoolean;
47
+ }, import("zod/v4/core").$strip>;
48
+ annotations: {
49
+ readOnlyHint: boolean;
50
+ };
51
+ };
27
52
  /**
28
53
  * Tool to list all remembered keys in a scope.
29
54
  */
@@ -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;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
+ {"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,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAElF;;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,wBAAgB,uBAAuB,CAAC,KAAK,GAAE,iBAAuC,GAAG,MAAM,CAK9F;AAED,wBAAgB,wBAAwB,CAAC,KAAK,GAAE,iBAAuC;;;;;;;;;;;;;;;;;;;;;;EAQtF;AAED;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;IACjD,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA8BrE"}
@@ -1,6 +1,7 @@
1
1
  import { z } from '@frontmcp/lazy-zod';
2
2
  import { ToolContext } from '@frontmcp/sdk';
3
3
  import type { RememberScope } from '../remember.types';
4
+ import { type RememberToolNames } from './remember-tool-names';
4
5
  /**
5
6
  * Input schema for the recall tool.
6
7
  */
@@ -29,6 +30,31 @@ export type RecallInput = {
29
30
  scope?: RememberScope;
30
31
  };
31
32
  export type RecallOutput = z.infer<typeof recallOutputSchema>;
33
+ export declare function recallDescription(names?: RememberToolNames): string;
34
+ export declare function recallToolMetadata(names?: RememberToolNames): {
35
+ name: string;
36
+ description: string;
37
+ inputSchema: {
38
+ key: import("@frontmcp/lazy-zod").ZodString;
39
+ scope: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodEnum<{
40
+ session: "session";
41
+ user: "user";
42
+ tool: "tool";
43
+ global: "global";
44
+ }>>;
45
+ };
46
+ outputSchema: import("@frontmcp/lazy-zod").ZodObject<{
47
+ found: import("@frontmcp/lazy-zod").ZodBoolean;
48
+ key: import("@frontmcp/lazy-zod").ZodString;
49
+ value: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodUnknown>;
50
+ scope: import("@frontmcp/lazy-zod").ZodString;
51
+ createdAt: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodNumber>;
52
+ expiresAt: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodNumber>;
53
+ }, import("zod/v4/core").$strip>;
54
+ annotations: {
55
+ readOnlyHint: boolean;
56
+ };
57
+ };
32
58
  /**
33
59
  * Tool to recall a previously remembered value.
34
60
  */
@@ -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;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"}
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;AAIlD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAElF;;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,wBAAgB,iBAAiB,CAAC,KAAK,GAAE,iBAAuC,GAAG,MAAM,CAKxF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,GAAE,iBAAuC;;;;;;;;;;;;;;;;;;;;;;;EAQhF;AAED;;GAEG;AAEH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IAC3C,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;CAgCzD"}
@@ -1,5 +1,6 @@
1
1
  import { z } from '@frontmcp/lazy-zod';
2
2
  import { ToolContext } from '@frontmcp/sdk';
3
+ import { type RememberToolNames } from './remember-tool-names';
3
4
  /**
4
5
  * Input schema for the remember_this tool.
5
6
  */
@@ -32,6 +33,38 @@ export declare const rememberThisOutputSchema: import("@frontmcp/lazy-zod").ZodO
32
33
  }, import("zod/v4/core").$strip>;
33
34
  export type RememberThisInput = z.infer<z.ZodObject<typeof rememberThisInputSchema>>;
34
35
  export type RememberThisOutput = z.infer<typeof rememberThisOutputSchema>;
36
+ export declare function rememberThisDescription(names?: RememberToolNames): string;
37
+ export declare function rememberThisToolMetadata(names?: RememberToolNames): {
38
+ name: string;
39
+ description: string;
40
+ inputSchema: {
41
+ key: import("@frontmcp/lazy-zod").ZodString;
42
+ value: import("@frontmcp/lazy-zod").ZodUnknown;
43
+ scope: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodEnum<{
44
+ session: "session";
45
+ user: "user";
46
+ tool: "tool";
47
+ global: "global";
48
+ }>>;
49
+ ttl: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodNumber>;
50
+ brand: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodEnum<{
51
+ preference: "preference";
52
+ cache: "cache";
53
+ state: "state";
54
+ conversation: "conversation";
55
+ custom: "custom";
56
+ }>>;
57
+ };
58
+ outputSchema: import("@frontmcp/lazy-zod").ZodObject<{
59
+ success: import("@frontmcp/lazy-zod").ZodBoolean;
60
+ key: import("@frontmcp/lazy-zod").ZodString;
61
+ scope: import("@frontmcp/lazy-zod").ZodString;
62
+ expiresAt: import("@frontmcp/lazy-zod").ZodOptional<import("@frontmcp/lazy-zod").ZodNumber>;
63
+ }, import("zod/v4/core").$strip>;
64
+ annotations: {
65
+ readOnlyHint: boolean;
66
+ };
67
+ };
35
68
  /**
36
69
  * Tool to store a value in memory.
37
70
  * Enables LLM to remember things for later use.
@@ -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;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"}
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,OAAO,EAAqB,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAElF;;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,wBAAgB,uBAAuB,CAAC,KAAK,GAAE,iBAAuC,GAAG,MAAM,CAO9F;AAED,wBAAgB,wBAAwB,CAAC,KAAK,GAAE,iBAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQtF;AAED;;;GAGG;AAEH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;IACjD,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA2BrE"}
@@ -0,0 +1,9 @@
1
+ /** Names the four memory tools go by, so the text that points the model at one tool can name it as registered. */
2
+ export interface RememberToolNames {
3
+ rememberThis: string;
4
+ recall: string;
5
+ forget: string;
6
+ listMemories: string;
7
+ }
8
+ export declare function rememberToolNames(prefix?: string): RememberToolNames;
9
+ //# sourceMappingURL=remember-tool-names.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remember-tool-names.d.ts","sourceRoot":"","sources":["../../src/tools/remember-tool-names.ts"],"names":[],"mappings":"AAAA,kHAAkH;AAClH,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,SAAK,GAAG,iBAAiB,CAOhE"}
@@ -0,0 +1,8 @@
1
+ import { type ToolType } from '@frontmcp/sdk';
2
+ /**
3
+ * The four memory tools under `prefix`. With no prefix they are the tool classes themselves; with one
4
+ * they are subclasses registered under the prefixed names, whose descriptions name the prefixed
5
+ * siblings (a model told to call `recall` when only `memory_recall` exists would not find it).
6
+ */
7
+ export declare function createRememberTools(prefix?: string): ToolType[];
8
+ //# sourceMappingURL=remember-tools.factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remember-tools.factory.d.ts","sourceRoot":"","sources":["../../src/tools/remember-tools.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAQpD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,SAAK,GAAG,QAAQ,EAAE,CAkB3D"}