bookworm-smart-assistant/scripts/patches/migrate-session-continuity-to-local.js
Bookworm Admin 131840c962 fix: route-interceptor fail-open + v6.6.0 sync
- route-interceptor-bundle.js: 硬 require 改为 try-catch fail-open
  (旧版部署缺 scripts/route-engine.js 等文件时不再崩溃, 降级为 BWR:skip)
- package.json 6.5.0 → 6.6.0 对齐 VERSION 文件
- INTEGRITY + 签名更新

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-27 19:30:24 +08:00

34 lines
1.3 KiB
JavaScript

#!/usr/bin/env node
// 将 settings.json 中 session-continuity-mcp 从 npm-cache 路径迁移到本地 ~/.claude/mcp/
// 幂等: 已迁移则跳过
const fs = require('fs');
const path = require('path');
const SENTINEL = '/.claude/mcp/claude-session-continuity-mcp';
const OLD_PATH = 'C:/Users/leesu/AppData/Local/npm-cache/_npx/41147f6a3b3ef0bb/node_modules/claude-session-continuity-mcp';
const NEW_PATH = 'C:/Users/leesu/.claude/mcp/claude-session-continuity-mcp';
const SETTINGS = path.join(__dirname, '../../settings.json');
const raw = fs.readFileSync(SETTINGS, 'utf8');
if (raw.includes(SENTINEL) && !raw.includes(OLD_PATH)) {
console.log('[SKIP] 已迁移,无需重复操作');
process.exit(0);
}
if (!raw.includes(OLD_PATH)) {
console.log('[SKIP] 未找到旧路径,无需迁移');
process.exit(0);
}
const bak = SETTINGS + '.bak-' + new Date().toISOString().slice(0, 10).replace(/-/g, '');
fs.copyFileSync(SETTINGS, bak);
console.log('[BAK] ' + bak);
const updated = raw.split(OLD_PATH).join(NEW_PATH);
fs.writeFileSync(SETTINGS, updated, 'utf8');
const count = (raw.match(new RegExp(OLD_PATH.replace(/[/]/g, '\\/'), 'g')) || []).length;
console.log(`[OK] 替换 ${count} 处 npm-cache → local 路径`);
console.log('[VERIFY] 新路径: ' + NEW_PATH);