bookworm-smart-assistant/scripts/patches/fix-lvp-persist-0427.js

24 lines
1.0 KiB
JavaScript
Raw Normal View History

#!/usr/bin/env node
// Fix: lastValidPrimary 未持久化到 route-state-current.json
// writeRouteState 只保存 6 个字段lastValidPrimary 被丢弃
// 导致图片继承链在跨 hook 调用时永远无法回退到上一个有效路由
const fs = require('fs');
const path = require('path');
const SENTINEL = '// LVP_PERSIST_FIX_v1';
const fp = path.join(__dirname, '..', 'route-state.js');
let code = fs.readFileSync(fp, 'utf8');
if (code.includes(SENTINEL)) { console.log('SKIP: already patched'); process.exit(0); }
const marker = 'domain: routing.domain || null,';
const idx = code.indexOf(marker);
if (idx === -1) { console.error('FAIL: cannot find domain field in writeRouteState'); process.exit(1); }
const insertPos = idx + marker.length;
const patch = `\n lastValidPrimary: routing.lastValidPrimary || null, ${SENTINEL}`;
fs.copyFileSync(fp, fp + '.bak');
code = code.slice(0, insertPos) + patch + code.slice(insertPos);
fs.writeFileSync(fp, code, 'utf8');
console.log('PATCHED: lastValidPrimary now persisted in route-state-current.json');