import { createShade } from '@shade/sdk'; import { loadConfig } from '../config.js'; export async function rotateCommand(opts: { identity?: boolean } = {}): Promise { const config = loadConfig(); const shade = await createShade({ prekeyServer: config.prekeyServer, storage: config.storage, address: config.address, autoReplenish: false, }); try { if (opts.identity) { console.log('⚠ Rotating IDENTITY — peers will need to verify the new fingerprint'); const oldFp = await shade.fingerprint; await shade.rotate(); const newFp = await shade.fingerprint; console.log(` Old: ${oldFp}`); console.log(` New: ${newFp}`); } else { console.log('Rotating signed prekey...'); await shade.getManager().rotateSignedPreKey(); console.log('✓ Signed prekey rotated'); } } finally { await shade.shutdown(); } }