refactor: rename memory tool set and update CLI alias handling

This commit is contained in:
kartik-mem0
2026-04-06 16:24:37 +05:30
parent f8c6ccf5fe
commit 566bbeb018
2 changed files with 11 additions and 11 deletions
+4 -4
View File
@@ -775,14 +775,14 @@ function registerHooks(
// Update shared state for tools (best-effort — tools don't have ctx) // Update shared state for tools (best-effort — tools don't have ctx)
if (sessionId) session.setCurrentSessionId(sessionId); if (sessionId) session.setCurrentSessionId(sessionId);
const MEMORY_WRITE_TOOLS = new Set(["memory_add", "memory_update"]); const MEMORY_MUTATE_TOOLS = new Set(["memory_add", "memory_update", "memory_delete"]);
const agentUsedWriteTool = event.messages.some((msg: any) => { const agentUsedMemoryTool = event.messages.some((msg: any) => {
if (msg?.role !== "assistant" || !Array.isArray(msg?.content)) return false; if (msg?.role !== "assistant" || !Array.isArray(msg?.content)) return false;
return msg.content.some( return msg.content.some(
(block: any) => block?.type === "tool_use" && MEMORY_WRITE_TOOLS.has(block.name), (block: any) => block?.type === "tool_use" && MEMORY_MUTATE_TOOLS.has(block.name),
); );
}); });
if (agentUsedWriteTool) { if (agentUsedMemoryTool) {
api.logger.info( api.logger.info(
"openclaw-mem0: skipping auto-capture — agent already used memory tools this turn", "openclaw-mem0: skipping auto-capture — agent already used memory tools this turn",
); );
+7 -7
View File
@@ -940,9 +940,9 @@ describe("registerCliCommands", () => {
const allOutput = consoleSpy.log.mock.calls.map((c) => c[0]).join("\n"); const allOutput = consoleSpy.log.mock.calls.map((c) => c[0]).join("\n");
expect(allOutput).toContain("Key"); expect(allOutput).toContain("Key");
expect(allOutput).toContain("Value"); expect(allOutput).toContain("Value");
expect(allOutput).toContain("platform.api_key"); expect(allOutput).toContain("api_key");
expect(allOutput).toContain("platform.email"); expect(allOutput).toContain("email");
expect(allOutput).toContain("defaults.user_id"); expect(allOutput).toContain("user_id");
expect(allOutput).toContain("Config file:"); expect(allOutput).toContain("Config file:");
}); });
}); });
@@ -1002,12 +1002,12 @@ describe("registerCliCommands", () => {
expect(logged).not.toContain("supersecret"); expect(logged).not.toContain("supersecret");
}); });
it("supports dot-notation keys like platform.api_key", () => { it("supports short alias keys like email", () => {
const { mem0 } = setup(); const { mem0 } = setup();
const configCmd = findCommand(mem0, "config")!; const configCmd = findCommand(mem0, "config")!;
const getCmd = findCommand(configCmd, "get")!; const getCmd = findCommand(configCmd, "get")!;
getCmd._action!("platform.email"); getCmd._action!("email");
expect(consoleSpy.log).toHaveBeenCalledWith("(not set)"); expect(consoleSpy.log).toHaveBeenCalledWith("(not set)");
}); });
@@ -1119,12 +1119,12 @@ describe("registerCliCommands", () => {
expect(writePluginAuth).not.toHaveBeenCalled(); expect(writePluginAuth).not.toHaveBeenCalled();
}); });
it("supports dot-notation keys for set", () => { it("supports short alias keys for set", () => {
const { mem0 } = setup(); const { mem0 } = setup();
const configCmd = findCommand(mem0, "config")!; const configCmd = findCommand(mem0, "config")!;
const setCmd = findCommand(configCmd, "set")!; const setCmd = findCommand(configCmd, "set")!;
setCmd._action!("defaults.user_id", "bob"); setCmd._action!("user_id", "bob");
expect(writePluginAuth).toHaveBeenCalledWith( expect(writePluginAuth).toHaveBeenCalledWith(
expect.objectContaining({ userId: "bob" }), expect.objectContaining({ userId: "bob" }),