zettelkasten-memory-server
Version:
基于 Zettelkasten 记忆片段盒方法的 MCP 记忆服务器 v1.6.X
45 lines • 2.25 kB
JavaScript
import { checkLatestContent, resetMemoryAccessCounter, removeLatestContentFetched } from './utils.js';
/**
* 重命名记忆片段内容处理器
*/
function createRenameMemoryHandler(manager) {
return async (args) => {
try {
const { sourceFragmentName, targetFragmentName, conversationId } = args;
if (!sourceFragmentName || typeof sourceFragmentName !== 'string') {
throw new Error('sourceFragmentName is required and must be a string');
}
if (!targetFragmentName || typeof targetFragmentName !== 'string') {
throw new Error('targetFragmentName is required and must be a string');
}
// 验证 conversationId 参数
if (!conversationId || typeof conversationId !== 'string') {
throw new Error('conversationId is required and must be a string');
}
await checkLatestContent(manager, sourceFragmentName, conversationId);
await manager.renameMemory(sourceFragmentName, targetFragmentName);
// 编辑后移除已获取最新内容标记(旧文件和重命名目标)
removeLatestContentFetched(sourceFragmentName, conversationId);
removeLatestContentFetched(targetFragmentName, conversationId);
// 重置读取计数器
resetMemoryAccessCounter(sourceFragmentName, conversationId);
resetMemoryAccessCounter(targetFragmentName, conversationId);
return {
content: [{
type: "text",
text: `✅ 记忆片段 "${sourceFragmentName}" 已重命名为 "${targetFragmentName}"\n\n💡 **提示**:重构完成后,可使用 getOptimizeSuggestions 工具检查是否需要进一步优化。`
}]
};
}
catch (error) {
return {
content: [{
type: "text",
text: `❌ 重命名记忆片段失败: ${error && error.message ? error.message : String(error)}`
}]
};
}
};
}
export default createRenameMemoryHandler;
//# sourceMappingURL=createRenameMemoryHandler.js.map