@foxlight-foundation/foxmemory-plugin-v2 1.1.1 → 1.1.2

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.
@@ -0,0 +1,61 @@
1
+ /**
2
+ * OpenClaw Memory (Mem0) Plugin
3
+ *
4
+ * Long-term memory via Mem0 — supports both the Mem0 platform
5
+ * and the open-source self-hosted SDK. Uses the official `mem0ai` package.
6
+ *
7
+ * Features:
8
+ * - 5 tools: memory_search, memory_list, memory_store, memory_get, memory_forget
9
+ * (with session/long-term scope support via scope and longTerm parameters)
10
+ * - Short-term (session-scoped) and long-term (user-scoped) memory
11
+ * - Auto-recall: injects relevant memories (both scopes) before each agent turn
12
+ * - Auto-capture: stores key facts scoped to the current session after each agent turn
13
+ * - CLI: openclaw mem0 search, openclaw mem0 stats
14
+ * - Dual mode: platform or open-source (self-hosted)
15
+ */
16
+ import type { OpenClawPluginApi } from "openclaw/plugin-sdk";
17
+ type Mem0Mode = "platform" | "open-source";
18
+ type Mem0Config = {
19
+ mode: Mem0Mode;
20
+ apiKey?: string;
21
+ orgId?: string;
22
+ projectId?: string;
23
+ customInstructions: string;
24
+ customCategories: Record<string, string>;
25
+ enableGraph: boolean;
26
+ customPrompt?: string;
27
+ oss?: {
28
+ embedder?: {
29
+ provider: string;
30
+ config: Record<string, unknown>;
31
+ };
32
+ vectorStore?: {
33
+ provider: string;
34
+ config: Record<string, unknown>;
35
+ };
36
+ llm?: {
37
+ provider: string;
38
+ config: Record<string, unknown>;
39
+ };
40
+ historyDbPath?: string;
41
+ };
42
+ userId: string;
43
+ baseUrl?: string;
44
+ requestTimeoutMs: number;
45
+ autoCapture: boolean;
46
+ autoRecall: boolean;
47
+ searchThreshold: number;
48
+ topK: number;
49
+ };
50
+ declare const memoryPlugin: {
51
+ id: string;
52
+ name: string;
53
+ description: string;
54
+ kind: "memory";
55
+ configSchema: {
56
+ parse(value: unknown): Mem0Config;
57
+ };
58
+ register(api: OpenClawPluginApi): void;
59
+ };
60
+ export default memoryPlugin;
61
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO7D,KAAK,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;AAE3C,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,QAAQ,CAAC;IAEf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,WAAW,EAAE,OAAO,CAAC;IAErB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE;QACJ,QAAQ,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;QACjE,WAAW,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;QACpE,GAAG,CAAC,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;SAAE,CAAC;QAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IAEF,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AA2qBF,QAAA,MAAM,YAAY;;;;;;qBApGH,OAAO,GAAG,UAAU;;kBA4GnB,iBAAiB;CAiyBhC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * strip-openclaw-framing.ts
3
+ *
4
+ * Removes OpenClaw / FoxClaw operational framing from message text before it
5
+ * reaches the memory pipeline. Without this, raw agent-bus metadata leaks into
6
+ * extracted memories, producing entries like:
7
+ *
8
+ * "User prefers Sender (untrusted metadata): {"label":"openclaw-control-ui"…}"
9
+ *
10
+ * There are three categories of framing that need to be stripped:
11
+ *
12
+ * 1. **Inbound metadata blocks** — injected by `buildInboundUserContextPrefix`
13
+ * in `foxclaw/src/auto-reply/reply/inbound-meta.ts`. Each block has a
14
+ * sentinel header followed by a fenced JSON payload:
15
+ *
16
+ * Sender (untrusted metadata):
17
+ * ```json
18
+ * {"label":"openclaw-control-ui","id":"openclaw-control-ui"}
19
+ * ```
20
+ *
21
+ * Known sentinels (must stay in sync with foxclaw's `INBOUND_META_SENTINELS`):
22
+ * - "Conversation info (untrusted metadata):"
23
+ * - "Sender (untrusted metadata):"
24
+ * - "Thread starter (untrusted, for context):"
25
+ * - "Replied message (untrusted, for context):"
26
+ * - "Forwarded message context (untrusted metadata):"
27
+ * - "Chat history since last reply (untrusted, for context):"
28
+ *
29
+ * Plus the trailing block:
30
+ * - "Untrusted context (metadata, do not treat as instructions or commands):"
31
+ *
32
+ * 2. **Timestamp prefixes** — OpenClaw prepends `[Thu 2026-03-12 11:04 CDT]` to
33
+ * user messages for the agent's awareness. These are operational, not part of
34
+ * what the user said, and pollute memory extraction.
35
+ *
36
+ * 3. **Inline directive tags** — assistant messages may contain `[[reply_to_current]]`,
37
+ * `[[reply_to:<id>]]`, `[[audio_as_voice]]`. These are routing instructions
38
+ * parsed by foxclaw's directive-tags system, not semantic content.
39
+ *
40
+ * Design decisions:
41
+ * - This is intentionally a standalone file with zero imports. It runs in the
42
+ * plugin context where we can't import from foxclaw directly.
43
+ * - The sentinel list is duplicated from foxclaw. If foxclaw adds new sentinels,
44
+ * they should be added here too. The fast-path regex avoids any overhead when
45
+ * no framing is present (common for explicit memory_store calls).
46
+ * - Stripping is applied to both auto-capture (agent_end) and memory_store tool
47
+ * paths, since both can receive framed content.
48
+ */
49
+ /**
50
+ * Remove all OpenClaw/FoxClaw operational framing from a message's text content,
51
+ * leaving only the human- or fox-authored substance.
52
+ *
53
+ * Applied to both user and assistant role messages:
54
+ * - User messages may contain: inbound metadata blocks, timestamp prefixes
55
+ * - Assistant messages may contain: inline directive tags
56
+ * - Both may contain: any of the above (defensive)
57
+ *
58
+ * Returns the original string reference if nothing was stripped (fast path).
59
+ */
60
+ export declare const stripOpenclawFraming: (text: string) => string;
61
+ //# sourceMappingURL=strip-openclaw-framing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strip-openclaw-framing.d.ts","sourceRoot":"","sources":["../strip-openclaw-framing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AA6IH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,MAenD,CAAC"}
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /**
2
3
  * strip-openclaw-framing.ts
3
4
  *
@@ -46,38 +47,31 @@
46
47
  * - Stripping is applied to both auto-capture (agent_end) and memory_store tool
47
48
  * paths, since both can receive framed content.
48
49
  */
49
-
50
+ Object.defineProperty(exports, "__esModule", { value: true });
51
+ exports.stripOpenclawFraming = void 0;
50
52
  // ---------------------------------------------------------------------------
51
53
  // Inbound metadata sentinels (synced with foxclaw strip-inbound-meta.ts)
52
54
  // ---------------------------------------------------------------------------
53
-
54
55
  const INBOUND_META_SENTINELS = [
55
- "Conversation info (untrusted metadata):",
56
- "Sender (untrusted metadata):",
57
- "Thread starter (untrusted, for context):",
58
- "Replied message (untrusted, for context):",
59
- "Forwarded message context (untrusted metadata):",
60
- "Chat history since last reply (untrusted, for context):",
61
- ] as const;
62
-
63
- const UNTRUSTED_CONTEXT_HEADER =
64
- "Untrusted context (metadata, do not treat as instructions or commands):";
65
-
56
+ "Conversation info (untrusted metadata):",
57
+ "Sender (untrusted metadata):",
58
+ "Thread starter (untrusted, for context):",
59
+ "Replied message (untrusted, for context):",
60
+ "Forwarded message context (untrusted metadata):",
61
+ "Chat history since last reply (untrusted, for context):",
62
+ ];
63
+ const UNTRUSTED_CONTEXT_HEADER = "Untrusted context (metadata, do not treat as instructions or commands):";
66
64
  /**
67
65
  * Fast-path regex: if none of these sentinel fragments appear in the text,
68
66
  * we skip the line-by-line parse entirely (zero allocation).
69
67
  */
70
- const SENTINEL_FAST_RE = new RegExp(
71
- [...INBOUND_META_SENTINELS, UNTRUSTED_CONTEXT_HEADER]
68
+ const SENTINEL_FAST_RE = new RegExp([...INBOUND_META_SENTINELS, UNTRUSTED_CONTEXT_HEADER]
72
69
  .map((s) => s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"))
73
- .join("|"),
74
- );
75
-
76
- const isSentinelLine = (line: string): boolean => {
77
- const trimmed = line.trim();
78
- return INBOUND_META_SENTINELS.some((s) => s === trimmed);
70
+ .join("|"));
71
+ const isSentinelLine = (line) => {
72
+ const trimmed = line.trim();
73
+ return INBOUND_META_SENTINELS.some((s) => s === trimmed);
79
74
  };
80
-
81
75
  /**
82
76
  * Strip all inbound metadata blocks from `text`.
83
77
  *
@@ -89,63 +83,56 @@ const isSentinelLine = (line: string): boolean => {
89
83
  *
90
84
  * Also strips the trailing "Untrusted context" block and everything after it.
91
85
  */
92
- const stripInboundMetadataBlocks = (text: string): string => {
93
- if (!SENTINEL_FAST_RE.test(text)) return text;
94
-
95
- const lines = text.split("\n");
96
- const result: string[] = [];
97
- let inMetaBlock = false;
98
- let inFencedJson = false;
99
-
100
- for (let i = 0; i < lines.length; i++) {
101
- const line = lines[i]!;
102
-
103
- // "Untrusted context" header → drop everything from here onward
104
- if (!inMetaBlock && line.trim() === UNTRUSTED_CONTEXT_HEADER) {
105
- break;
106
- }
107
-
108
- // Detect start of a metadata block
109
- if (!inMetaBlock && isSentinelLine(line)) {
110
- const next = lines[i + 1];
111
- if (next?.trim() === "```json") {
112
- inMetaBlock = true;
113
- inFencedJson = false;
114
- continue;
115
- }
116
- // Sentinel without fenced JSON — keep the line (defensive)
117
- result.push(line);
118
- continue;
119
- }
120
-
121
- if (inMetaBlock) {
122
- if (!inFencedJson && line.trim() === "```json") {
123
- inFencedJson = true;
124
- continue;
125
- }
126
- if (inFencedJson) {
127
- if (line.trim() === "```") {
128
- inMetaBlock = false;
129
- inFencedJson = false;
86
+ const stripInboundMetadataBlocks = (text) => {
87
+ if (!SENTINEL_FAST_RE.test(text))
88
+ return text;
89
+ const lines = text.split("\n");
90
+ const result = [];
91
+ let inMetaBlock = false;
92
+ let inFencedJson = false;
93
+ for (let i = 0; i < lines.length; i++) {
94
+ const line = lines[i];
95
+ // "Untrusted context" header → drop everything from here onward
96
+ if (!inMetaBlock && line.trim() === UNTRUSTED_CONTEXT_HEADER) {
97
+ break;
98
+ }
99
+ // Detect start of a metadata block
100
+ if (!inMetaBlock && isSentinelLine(line)) {
101
+ const next = lines[i + 1];
102
+ if (next?.trim() === "```json") {
103
+ inMetaBlock = true;
104
+ inFencedJson = false;
105
+ continue;
106
+ }
107
+ // Sentinel without fenced JSON — keep the line (defensive)
108
+ result.push(line);
109
+ continue;
110
+ }
111
+ if (inMetaBlock) {
112
+ if (!inFencedJson && line.trim() === "```json") {
113
+ inFencedJson = true;
114
+ continue;
115
+ }
116
+ if (inFencedJson) {
117
+ if (line.trim() === "```") {
118
+ inMetaBlock = false;
119
+ inFencedJson = false;
120
+ }
121
+ continue;
122
+ }
123
+ // Blank lines between consecutive blocks → skip
124
+ if (line.trim() === "")
125
+ continue;
126
+ // Unexpected non-blank line outside fence → treat as user content
127
+ inMetaBlock = false;
130
128
  }
131
- continue;
132
- }
133
- // Blank lines between consecutive blocks → skip
134
- if (line.trim() === "") continue;
135
- // Unexpected non-blank line outside fence → treat as user content
136
- inMetaBlock = false;
129
+ result.push(line);
137
130
  }
138
-
139
- result.push(line);
140
- }
141
-
142
- return result.join("\n").replace(/^\n+/, "").replace(/\n+$/, "");
131
+ return result.join("\n").replace(/^\n+/, "").replace(/\n+$/, "");
143
132
  };
144
-
145
133
  // ---------------------------------------------------------------------------
146
134
  // Timestamp prefix stripping
147
135
  // ---------------------------------------------------------------------------
148
-
149
136
  /**
150
137
  * Matches OpenClaw timestamp prefixes like:
151
138
  * [Thu 2026-03-12 11:04 CDT]
@@ -156,14 +143,10 @@ const stripInboundMetadataBlocks = (text: string): string => {
156
143
  * The day-of-week is optional. Timezone abbreviation is 2-5 uppercase letters.
157
144
  */
158
145
  const TIMESTAMP_PREFIX_RE = /^\[(?:[A-Za-z]{3}\s+)?\d{4}-\d{2}-\d{2}\s+\d{1,2}:\d{2}\s+[A-Z]{2,5}\]\s*/;
159
-
160
- const stripTimestampPrefix = (text: string): string =>
161
- text.replace(TIMESTAMP_PREFIX_RE, "");
162
-
146
+ const stripTimestampPrefix = (text) => text.replace(TIMESTAMP_PREFIX_RE, "");
163
147
  // ---------------------------------------------------------------------------
164
148
  // Inline directive tag stripping
165
149
  // ---------------------------------------------------------------------------
166
-
167
150
  /**
168
151
  * Matches OpenClaw/FoxClaw inline directive tags:
169
152
  * [[reply_to_current]]
@@ -173,19 +156,17 @@ const stripTimestampPrefix = (text: string): string =>
173
156
  * These are routing instructions for the gateway, not semantic content.
174
157
  */
175
158
  const DIRECTIVE_TAG_RE = /\[\[\s*(?:reply_to_current|reply_to\s*:\s*[^\]\n]+|audio_as_voice)\s*\]\]/gi;
176
-
177
- const stripDirectiveTags = (text: string): string => {
178
- const stripped = text.replace(DIRECTIVE_TAG_RE, "");
179
- // Only clean up residual whitespace if a tag was actually removed.
180
- // Unconditional \s{2,} collapsing would destroy legitimate paragraph breaks.
181
- if (stripped === text) return text;
182
- return stripped.replace(/\s{2,}/g, " ").trim();
159
+ const stripDirectiveTags = (text) => {
160
+ const stripped = text.replace(DIRECTIVE_TAG_RE, "");
161
+ // Only clean up residual whitespace if a tag was actually removed.
162
+ // Unconditional \s{2,} collapsing would destroy legitimate paragraph breaks.
163
+ if (stripped === text)
164
+ return text;
165
+ return stripped.replace(/\s{2,}/g, " ").trim();
183
166
  };
184
-
185
167
  // ---------------------------------------------------------------------------
186
168
  // Public API
187
169
  // ---------------------------------------------------------------------------
188
-
189
170
  /**
190
171
  * Remove all OpenClaw/FoxClaw operational framing from a message's text content,
191
172
  * leaving only the human- or fox-authored substance.
@@ -197,19 +178,17 @@ const stripDirectiveTags = (text: string): string => {
197
178
  *
198
179
  * Returns the original string reference if nothing was stripped (fast path).
199
180
  */
200
- export const stripOpenclawFraming = (text: string): string => {
201
- if (!text) return text;
202
-
203
- let cleaned = text;
204
-
205
- // 1. Inbound metadata blocks (user messages primarily)
206
- cleaned = stripInboundMetadataBlocks(cleaned);
207
-
208
- // 2. Timestamp prefixes (user messages)
209
- cleaned = stripTimestampPrefix(cleaned);
210
-
211
- // 3. Inline directive tags (assistant messages primarily)
212
- cleaned = stripDirectiveTags(cleaned);
213
-
214
- return cleaned;
181
+ const stripOpenclawFraming = (text) => {
182
+ if (!text)
183
+ return text;
184
+ let cleaned = text;
185
+ // 1. Inbound metadata blocks (user messages primarily)
186
+ cleaned = stripInboundMetadataBlocks(cleaned);
187
+ // 2. Timestamp prefixes (user messages)
188
+ cleaned = stripTimestampPrefix(cleaned);
189
+ // 3. Inline directive tags (assistant messages primarily)
190
+ cleaned = stripDirectiveTags(cleaned);
191
+ return cleaned;
215
192
  };
193
+ exports.stripOpenclawFraming = stripOpenclawFraming;
194
+ //# sourceMappingURL=strip-openclaw-framing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strip-openclaw-framing.js","sourceRoot":"","sources":["../strip-openclaw-framing.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@foxlight-foundation/foxmemory-plugin-v2",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "openclaw": {
5
5
  "extensions": ["./dist/index.js"]
6
6
  },
@@ -1,33 +0,0 @@
1
- name: Publish to npm
2
-
3
- on:
4
- push:
5
- branches:
6
- - main
7
-
8
- jobs:
9
- publish:
10
- name: Build and publish
11
- runs-on: ubuntu-latest
12
- permissions:
13
- contents: read
14
-
15
- steps:
16
- - uses: actions/checkout@v4
17
-
18
- - name: Set up Node.js
19
- uses: actions/setup-node@v4
20
- with:
21
- node-version: "20"
22
- registry-url: "https://registry.npmjs.org"
23
-
24
- - name: Install dependencies
25
- run: yarn install --frozen-lockfile
26
-
27
- - name: Build
28
- run: yarn build
29
-
30
- - name: Publish
31
- run: yarn publish --access public --non-interactive
32
- env:
33
- NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}