openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
51 lines (50 loc) • 1.76 kB
JavaScript
import { n as MIGRATION_REASON_TARGET_EXISTS, o as createMigrationItem } from "./migration-CRXv-K-p.js";
import { r as exists } from "./helpers-CqDz1RCI.js";
import path from "node:path";
//#region extensions/migrate-claude/memory.ts
async function addMemoryItem(params) {
if (!params.source) return;
const targetExists = await exists(params.target);
const action = params.copyWhenMissing && !targetExists ? "copy" : "append";
params.items.push(createMigrationItem({
id: params.id,
kind: params.target.endsWith("AGENTS.md") ? "workspace" : "memory",
action,
source: params.source,
target: params.target,
status: action === "copy" && targetExists && !params.overwrite ? "conflict" : "planned",
reason: action === "copy" && targetExists && !params.overwrite ? MIGRATION_REASON_TARGET_EXISTS : void 0,
details: { sourceLabel: params.sourceLabel }
}));
}
async function buildMemoryItems(params) {
const items = [];
await addMemoryItem({
items,
id: "workspace:CLAUDE.md",
source: params.source.projectMemoryPath,
target: path.join(params.targets.workspaceDir, "AGENTS.md"),
sourceLabel: "project CLAUDE.md",
copyWhenMissing: true,
overwrite: params.overwrite
});
await addMemoryItem({
items,
id: "workspace:.claude/CLAUDE.md",
source: params.source.projectDotClaudeMemoryPath,
target: path.join(params.targets.workspaceDir, "AGENTS.md"),
sourceLabel: "project .claude/CLAUDE.md",
overwrite: params.overwrite
});
await addMemoryItem({
items,
id: "memory:user-CLAUDE.md",
source: params.source.userMemoryPath,
target: path.join(params.targets.workspaceDir, "USER.md"),
sourceLabel: "user ~/.claude/CLAUDE.md",
overwrite: params.overwrite
});
return items;
}
//#endregion
export { buildMemoryItems as t };