import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry"; import { registerMemoryCli } from "./src/cli.js"; import { buildMemoryFlushPlan, DEFAULT_MEMORY_FLUSH_FORCE_TRANSCRIPT_BYTES, DEFAULT_MEMORY_FLUSH_PROMPT, DEFAULT_MEMORY_FLUSH_SOFT_TOKENS, } from "./src/flush-plan.js"; import { buildPromptSection } from "./src/prompt-section.js"; import { memoryRuntime } from "./src/runtime-provider.js"; import { createMemoryGetTool, createMemorySearchTool } from "./src/tools.js"; export { buildMemoryFlushPlan, DEFAULT_MEMORY_FLUSH_FORCE_TRANSCRIPT_BYTES, DEFAULT_MEMORY_FLUSH_PROMPT, DEFAULT_MEMORY_FLUSH_SOFT_TOKENS, } from "./src/flush-plan.js"; export { buildPromptSection } from "./src/prompt-section.js"; export default definePluginEntry({ id: "memory-core", name: "Memory (Core)", description: "File-backed memory search tools and CLI", kind: "memory", register(api) { api.registerMemoryPromptSection(buildPromptSection); api.registerMemoryFlushPlan(buildMemoryFlushPlan); api.registerMemoryRuntime(memoryRuntime); api.registerTool( (ctx) => createMemorySearchTool({ config: ctx.config, agentSessionKey: ctx.sessionKey, }), { names: ["memory_search"] }, ); api.registerTool( (ctx) => createMemoryGetTool({ config: ctx.config, agentSessionKey: ctx.sessionKey, }), { names: ["memory_get"] }, ); api.registerCli( ({ program }) => { registerMemoryCli(program); }, { descriptors: [ { name: "memory", description: "Search, inspect, and reindex memory files", hasSubcommands: true, }, ], }, ); }, });