@ubundi/openclaw-cortex 0.5.2 → 0.5.3

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/README.md CHANGED
@@ -12,7 +12,10 @@
12
12
 
13
13
  - **Auto-Recall** — injects relevant memories before every agent turn via `before_agent_start` hook
14
14
  - **Auto-Capture** — extracts facts from conversations via `agent_end` hook
15
+ - **Agent Tools** — `cortex_search_memory` and `cortex_save_memory` tools the LLM can invoke directly
16
+ - **Commands** — `/memories` auto-reply command for quick status checks and memory search
15
17
  - **File Sync** — watches `MEMORY.md`, daily logs, and session transcripts for background ingestion
18
+ - **Gateway RPC** — `cortex.status` method for programmatic health and metrics access
16
19
  - **Resilience** — retry queue with exponential backoff, cold-start detection, latency metrics
17
20
 
18
21
  > **Cortex availability:** Cortex is currently in early testing. The plugin ships with access built in — no API key or account required.
@@ -163,6 +166,41 @@ The plugin watches OpenClaw's memory files and ingests changes into Cortex:
163
166
 
164
167
  Failed file sync operations are queued for retry, so transient network failures don't cause data loss.
165
168
 
169
+ ### Agent Tools
170
+
171
+ The plugin registers two tools the LLM agent can invoke directly:
172
+
173
+ - **`cortex_search_memory`** — search long-term memory with a natural language query. Returns matching memories with confidence scores. Use when the agent needs to recall something specific.
174
+ - **`cortex_save_memory`** — explicitly save a fact, preference, or piece of information to long-term memory. Use when the user asks "remember this" or the agent identifies something worth persisting.
175
+
176
+ These work alongside Auto-Recall/Auto-Capture — the automatic hooks handle background memory flow, while the tools give the agent explicit control when needed.
177
+
178
+ > Agent tools require the OpenClaw runtime to support `api.registerTool()`. On older runtimes, the plugin gracefully skips tool registration.
179
+
180
+ ### Commands
181
+
182
+ The plugin registers a `/memories` auto-reply command that executes without invoking the AI agent:
183
+
184
+ ```
185
+ /memories # Show memory status (count, maturity, tier, latency)
186
+ /memories dark mode # Search memories for "dark mode"
187
+ ```
188
+
189
+ ### Gateway RPC
190
+
191
+ The `cortex.status` RPC method exposes plugin health and metrics programmatically:
192
+
193
+ ```json
194
+ {
195
+ "version": "0.5.2",
196
+ "healthy": true,
197
+ "knowledgeState": { "hasMemories": true, "totalSessions": 42, "maturity": "mature", "tier": 3 },
198
+ "recallMetrics": { "count": 120, "p50": 95, "p95": 280, "p99": 450 },
199
+ "retryQueuePending": 0,
200
+ "config": { "autoRecall": true, "autoCapture": true, "fileSync": true, "transcriptSync": true, "namespace": "myproject-a1b2c3d4" }
201
+ }
202
+ ```
203
+
166
204
  ### Observability
167
205
 
168
206
  On shutdown, the plugin logs recall latency percentiles:
@@ -190,7 +228,7 @@ If both this plugin and the Cortex SKILL.md are active, the `<cortex_memories>`
190
228
  ```bash
191
229
  npm install
192
230
  npm run build # TypeScript → dist/
193
- npm test # Run vitest (159 tests)
231
+ npm test # Run vitest (166 tests)
194
232
  npm run test:watch # Watch mode
195
233
  npm run test:integration # Live Cortex API tests (uses the baked-in API key)
196
234
  ```
@@ -5,6 +5,40 @@ export interface KnowledgeState {
5
5
  lastChecked: number;
6
6
  }
7
7
  export declare function deriveTier(totalSessions: number): 1 | 2 | 3;
8
+ interface HookMetadata {
9
+ name: string;
10
+ description: string;
11
+ }
12
+ interface ToolDefinition {
13
+ name: string;
14
+ description: string;
15
+ parameters: Record<string, unknown>;
16
+ execute: (id: string, params: Record<string, unknown>) => Promise<{
17
+ content: Array<{
18
+ type: string;
19
+ text: string;
20
+ }>;
21
+ }>;
22
+ }
23
+ interface CommandDefinition {
24
+ name: string;
25
+ description: string;
26
+ acceptsArgs?: boolean;
27
+ requireAuth?: boolean;
28
+ handler: (ctx: CommandContext) => Promise<{
29
+ text: string;
30
+ }> | {
31
+ text: string;
32
+ };
33
+ }
34
+ interface CommandContext {
35
+ senderId?: string;
36
+ channel?: string;
37
+ isAuthorizedSender?: boolean;
38
+ args?: string;
39
+ commandBody?: string;
40
+ config?: Record<string, unknown>;
41
+ }
8
42
  interface PluginApi {
9
43
  pluginConfig?: Record<string, unknown>;
10
44
  logger: {
@@ -13,9 +47,10 @@ interface PluginApi {
13
47
  warn(...args: unknown[]): void;
14
48
  error(...args: unknown[]): void;
15
49
  };
16
- on(hookName: string, handler: (...args: any[]) => any, opts?: {
50
+ on?(hookName: string, handler: (...args: any[]) => any, opts?: {
17
51
  priority?: number;
18
52
  }): void;
53
+ registerHook?(hookName: string, handler: (...args: any[]) => any, metadata: HookMetadata): void;
19
54
  registerService(service: {
20
55
  id: string;
21
56
  start?: (ctx: {
@@ -25,6 +60,13 @@ interface PluginApi {
25
60
  workspaceDir?: string;
26
61
  }) => void;
27
62
  }): void;
63
+ registerTool?(definition: ToolDefinition, options?: {
64
+ optional?: boolean;
65
+ }): void;
66
+ registerCommand?(definition: CommandDefinition): void;
67
+ registerGatewayMethod?(name: string, handler: (ctx: {
68
+ respond: (ok: boolean, data: unknown) => void;
69
+ }) => void): void;
28
70
  }
29
71
  declare const plugin: {
30
72
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACpD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAI3D;AAaD,UAAU,SAAS;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,EAAE;QACN,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAC/B,KAAK,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;KACjC,CAAC;IACF,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3F,eAAe,CAAC,OAAO,EAAE;QACvB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE;YAAE,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC;QACjD,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE;YAAE,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC;KACjD,GAAG,IAAI,CAAC;CACV;AAuDD,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBASI,SAAS;CA+HxB,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import { RetryQueue } from "../internal/queue/retry-queue.js";
10
10
  import { LatencyMetrics } from "../internal/metrics/latency-metrics.js";
11
11
  import { loadOrCreateUserId } from "../internal/identity/user-id.js";
12
12
  import { BAKED_API_KEY } from "../internal/identity/api-key.js";
13
+ import { formatMemories } from "../features/recall/formatter.js";
13
14
  export function deriveTier(totalSessions) {
14
15
  if (totalSessions >= 30)
15
16
  return 3;
@@ -63,6 +64,21 @@ async function bootstrapClient(client, logger, knowledgeState, userId) {
63
64
  logger.debug?.("Cortex knowledge check skipped — endpoint unavailable");
64
65
  }
65
66
  }
67
+ /**
68
+ * Registers a hook using the modern registerHook API if available,
69
+ * falling back to the legacy api.on() for older OpenClaw runtimes.
70
+ */
71
+ function registerHookCompat(api, hookName, handler, metadata) {
72
+ if (api.registerHook) {
73
+ api.registerHook(hookName, handler, metadata);
74
+ }
75
+ else if (api.on) {
76
+ api.on(hookName, handler);
77
+ }
78
+ else {
79
+ api.logger.warn(`Cortex: cannot register hook "${hookName}" — no registerHook or on method available`);
80
+ }
81
+ }
66
82
  const plugin = {
67
83
  id: "openclaw-cortex",
68
84
  name: "Cortex Memory",
@@ -116,11 +132,177 @@ const plugin = {
116
132
  api.logger.info(`Cortex plugin registered (namespace=${namespace})`);
117
133
  // Async health check + knowledge probe — chained after userId resolves
118
134
  void userIdReady.then(() => bootstrapClient(client, api.logger, knowledgeState, userId));
135
+ // --- Hooks ---
119
136
  // Auto-Recall: inject relevant memories before every agent turn
120
- api.on("before_agent_start", createRecallHandler(client, config, api.logger, recallMetrics, knowledgeState, () => userId));
137
+ registerHookCompat(api, "before_agent_start", createRecallHandler(client, config, api.logger, recallMetrics, knowledgeState, () => userId), {
138
+ name: "openclaw-cortex.recall",
139
+ description: "Inject relevant Cortex memories before agent turn",
140
+ });
121
141
  // Auto-Capture: extract facts after agent responses
122
- api.on("agent_end", createCaptureHandler(client, config, api.logger, retryQueue, knowledgeState, () => userId, userIdReady));
123
- // Services: retry queue, file sync
142
+ registerHookCompat(api, "agent_end", createCaptureHandler(client, config, api.logger, retryQueue, knowledgeState, () => userId, userIdReady), {
143
+ name: "openclaw-cortex.capture",
144
+ description: "Extract and store facts from conversation after agent turn",
145
+ });
146
+ // --- Agent Tools ---
147
+ if (api.registerTool) {
148
+ api.registerTool({
149
+ name: "cortex_search_memory",
150
+ description: "Search long-term memory for facts, preferences, and past context. Use when you need to recall something the user mentioned before or retrieve stored knowledge.",
151
+ parameters: {
152
+ type: "object",
153
+ properties: {
154
+ query: {
155
+ type: "string",
156
+ description: "Natural language search query for memory retrieval",
157
+ },
158
+ limit: {
159
+ type: "number",
160
+ description: "Maximum number of memories to return (1-50)",
161
+ default: 10,
162
+ },
163
+ },
164
+ required: ["query"],
165
+ },
166
+ async execute(_id, params) {
167
+ const query = String(params.query ?? "");
168
+ const limit = Math.min(Math.max(Number(params.limit) || 10, 1), 50);
169
+ if (userIdReady)
170
+ await userIdReady;
171
+ try {
172
+ const response = await client.recall(query, config.recallTimeoutMs, {
173
+ limit,
174
+ userId: userId,
175
+ queryType: "combined",
176
+ });
177
+ if (!response.memories?.length) {
178
+ return { content: [{ type: "text", text: "No memories found matching that query." }] };
179
+ }
180
+ const formatted = formatMemories(response.memories);
181
+ return { content: [{ type: "text", text: formatted }] };
182
+ }
183
+ catch (err) {
184
+ return { content: [{ type: "text", text: `Memory search failed: ${String(err)}` }] };
185
+ }
186
+ },
187
+ });
188
+ api.registerTool({
189
+ name: "cortex_save_memory",
190
+ description: "Explicitly save a fact, preference, or piece of information to long-term memory. Use when the user asks you to remember something specific.",
191
+ parameters: {
192
+ type: "object",
193
+ properties: {
194
+ text: {
195
+ type: "string",
196
+ description: "The information to save to memory (a fact, preference, or context)",
197
+ },
198
+ },
199
+ required: ["text"],
200
+ },
201
+ async execute(_id, params) {
202
+ const text = String(params.text ?? "");
203
+ if (!text || text.length < 5) {
204
+ return { content: [{ type: "text", text: "Text too short to save as a memory." }] };
205
+ }
206
+ if (userIdReady)
207
+ await userIdReady;
208
+ try {
209
+ const res = await client.remember(text, undefined, undefined, undefined, userId);
210
+ if (knowledgeState && res.memories_created > 0) {
211
+ knowledgeState.hasMemories = true;
212
+ }
213
+ return {
214
+ content: [{
215
+ type: "text",
216
+ text: `Saved ${res.memories_created} memory/memories. Entities found: ${res.entities_found.join(", ") || "none"}.`,
217
+ }],
218
+ };
219
+ }
220
+ catch (err) {
221
+ return { content: [{ type: "text", text: `Failed to save memory: ${String(err)}` }] };
222
+ }
223
+ },
224
+ });
225
+ api.logger.info("Cortex agent tools registered: cortex_search_memory, cortex_save_memory");
226
+ }
227
+ // --- Auto-Reply Commands ---
228
+ if (api.registerCommand) {
229
+ api.registerCommand({
230
+ name: "memories",
231
+ description: "Show Cortex memory status or search memories",
232
+ acceptsArgs: true,
233
+ handler: async (ctx) => {
234
+ if (userIdReady)
235
+ await userIdReady;
236
+ const query = ctx.args?.trim();
237
+ // No args — show status
238
+ if (!query) {
239
+ try {
240
+ const knowledge = await client.knowledge(undefined, userId);
241
+ const tier = deriveTier(knowledge.total_sessions);
242
+ const recallSummary = recallMetrics.summary();
243
+ const lines = [
244
+ `**Cortex Memory Status**`,
245
+ `- Memories: ${knowledge.total_memories}`,
246
+ `- Sessions: ${knowledge.total_sessions}`,
247
+ `- Maturity: ${knowledge.maturity}`,
248
+ `- Tier: ${tier}`,
249
+ `- Recall latency: ${recallSummary.count > 0 ? `p50=${recallSummary.p50}ms, p95=${recallSummary.p95}ms (${recallSummary.count} samples)` : "no samples yet"}`,
250
+ `- Retry queue: ${retryQueue.pending} pending`,
251
+ ];
252
+ return { text: lines.join("\n") };
253
+ }
254
+ catch (err) {
255
+ return { text: `Cortex status check failed: ${String(err)}` };
256
+ }
257
+ }
258
+ // With args — search memories
259
+ try {
260
+ const response = await client.recall(query, config.recallTimeoutMs, {
261
+ limit: config.recallLimit,
262
+ userId,
263
+ queryType: "combined",
264
+ });
265
+ if (!response.memories?.length) {
266
+ return { text: `No memories found for: "${query}"` };
267
+ }
268
+ const lines = response.memories.map((m) => `- [${m.confidence.toFixed(2)}] ${m.content}`);
269
+ return { text: `**Memories matching "${query}":**\n${lines.join("\n")}` };
270
+ }
271
+ catch (err) {
272
+ return { text: `Memory search failed: ${String(err)}` };
273
+ }
274
+ },
275
+ });
276
+ api.logger.info("Cortex command registered: /memories");
277
+ }
278
+ // --- Gateway RPC ---
279
+ if (api.registerGatewayMethod) {
280
+ api.registerGatewayMethod("cortex.status", ({ respond }) => {
281
+ const recallSummary = recallMetrics.summary();
282
+ respond(true, {
283
+ version,
284
+ healthy: knowledgeState.lastChecked > 0,
285
+ knowledgeState: {
286
+ hasMemories: knowledgeState.hasMemories,
287
+ totalSessions: knowledgeState.totalSessions,
288
+ maturity: knowledgeState.maturity,
289
+ tier: deriveTier(knowledgeState.totalSessions),
290
+ lastChecked: knowledgeState.lastChecked,
291
+ },
292
+ recallMetrics: recallSummary,
293
+ retryQueuePending: retryQueue.pending,
294
+ config: {
295
+ autoRecall: config.autoRecall,
296
+ autoCapture: config.autoCapture,
297
+ fileSync: config.fileSync,
298
+ transcriptSync: config.transcriptSync,
299
+ namespace,
300
+ },
301
+ });
302
+ });
303
+ api.logger.info("Cortex RPC registered: cortex.status");
304
+ }
305
+ // --- Services: retry queue, file sync ---
124
306
  api.registerService({
125
307
  id: "cortex-services",
126
308
  start(ctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "id": "openclaw-cortex",
3
3
  "name": "Cortex Memory",
4
- "description": "Long-term memory powered by Cortex — Auto-Recall, Auto-Capture, transcript ingestion, periodic consolidation, and background file sync",
5
- "version": "0.5.2",
4
+ "description": "Long-term memory powered by Cortex — Auto-Recall, Auto-Capture, agent tools, /memories command, transcript ingestion, and background file sync",
5
+ "version": "0.5.3",
6
6
  "kind": "memory",
7
7
  "configSchema": {
8
8
  "type": "object",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ubundi/openclaw-cortex",
3
- "version": "0.5.2",
3
+ "version": "0.5.3",
4
4
  "description": "OpenClaw plugin for Cortex memory — Auto-Recall, Auto-Capture, and file sync",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",