fix: openclaw plugin and fix the login section there (#4696)

Co-authored-by: Saket Aryan <saketaryan2002@gmail.com>
This commit is contained in:
Kartik
2026-04-04 22:21:46 +05:30
committed by GitHub
co-authored by Saket Aryan
parent c55447c1e4
commit 686d5e987d
33 changed files with 4282 additions and 1882 deletions
+24 -64
View File
@@ -1,76 +1,36 @@
/**
* Tool aggregator — single entry-point for registering all Mem0 tools.
*
* Re-exports the canonical `ToolContext` interface and provides
* `registerAllTools(ctx)` which wires up every tool in one call.
*/
import type { OpenClawPluginApi } from "openclaw/plugin-sdk";
import type { Backend } from "../backend/base.ts";
import type {
Mem0Config,
Mem0Provider,
AddOptions,
SearchOptions,
} from "../types.ts";
// ---------------------------------------------------------------------------
// Canonical ToolContext definition
// ---------------------------------------------------------------------------
export interface ToolContext {
api: OpenClawPluginApi;
backend: Backend;
cfg: Mem0Config;
provider?: Mem0Provider;
resolveUserId: (opts: { agentId?: string; userId?: string }) => string;
effectiveUserId: (sessionKey?: string) => string;
agentUserId: (id: string) => string;
getCurrentSessionId: () => string | undefined;
skillsActive: boolean;
buildAddOptions: (
userIdOverride?: string,
runId?: string,
sessionKey?: string,
) => AddOptions;
buildSearchOptions: (
userIdOverride?: string,
limit?: number,
runId?: string,
sessionKey?: string,
) => SearchOptions;
}
// ---------------------------------------------------------------------------
// Tool factory imports
// ---------------------------------------------------------------------------
import type { Mem0Config, Mem0Provider, AddOptions, SearchOptions } from "../types.ts";
import { createMemorySearchTool } from "./memory-search.ts";
import { createMemoryStoreTool } from "./memory-store.ts";
import { createMemoryAddTool } from "./memory-add.ts";
import { createMemoryGetTool } from "./memory-get.ts";
import { createMemoryListTool } from "./memory-list.ts";
import { createMemoryUpdateTool } from "./memory-update.ts";
import { createMemoryDeleteTool } from "./memory-delete.ts";
import { createMemoryHistoryTool } from "./memory-history.ts";
// ---------------------------------------------------------------------------
// Aggregator
// ---------------------------------------------------------------------------
export interface ToolDeps {
api: OpenClawPluginApi;
provider: Mem0Provider;
cfg: Mem0Config;
resolveUserId: (opts: { agentId?: string; userId?: string }) => string;
effectiveUserId: (sessionKey?: string) => string;
agentUserId: (id: string) => string;
buildAddOptions: (userIdOverride?: string, runId?: string, sessionKey?: string) => AddOptions;
buildSearchOptions: (userIdOverride?: string, limit?: number, runId?: string, sessionKey?: string) => SearchOptions;
getCurrentSessionId: () => string | undefined;
skillsActive: boolean;
captureToolEvent: (toolName: string, properties: Record<string, unknown>) => void;
}
/**
* Registers all Mem0 tools with the plugin API.
*
* 7 core tools for memory management:
* search, store, get, list, update, delete, history
*/
export function registerAllTools(ctx: ToolContext): void {
const { api } = ctx;
export function registerAllTools(deps: ToolDeps): void {
const { api } = deps;
api.registerTool(createMemorySearchTool(ctx), { name: "memory_search" });
api.registerTool(createMemoryStoreTool(ctx), { name: "memory_store" });
api.registerTool(createMemoryGetTool(ctx), { name: "memory_get" });
api.registerTool(createMemoryListTool(ctx), { name: "memory_list" });
api.registerTool(createMemoryUpdateTool(ctx), { name: "memory_update" });
api.registerTool(createMemoryDeleteTool(ctx), { name: "memory_delete" });
api.registerTool(createMemoryHistoryTool(ctx), { name: "memory_history" });
api.registerTool(createMemorySearchTool(deps));
api.registerTool(createMemoryAddTool(deps));
api.registerTool(createMemoryGetTool(deps));
api.registerTool(createMemoryListTool(deps));
api.registerTool(createMemoryUpdateTool(deps));
api.registerTool(createMemoryDeleteTool(deps));
api.registerTool(createMemoryHistoryTool(deps));
}