// 检查 pi-coding-agent 的 SessionManager / AgentSession 类型定义,确认会话落盘时机 import { readdirSync, readFileSync, existsSync } from 'node:fs' const pnpm = new URL('../node_modules/.pnpm/', import.meta.url) const dir = readdirSync(pnpm).find((d) => d.startsWith('@earendil-works+pi-coding-agent@')) if (!dir) throw new Error('pi-coding-agent not found') const dist = new URL(`${dir}/node_modules/@earendil-works/pi-coding-agent/dist/`, pnpm) console.log('dist exists:', existsSync(dist)) // 在 dist 里 grep 关键定义 const { execSync } = await import('node:child_process') const distPath = new URL('.', dist).pathname.replace(/^\/([A-Za-z]:)/, '$1') const grep = (pattern) => { try { const out = execSync( `findstr /s /n /c:"${pattern}" "${distPath}*.d.ts"`, { encoding: 'utf8', maxBuffer: 10 * 1024 * 1024 } ) console.log(`\n=== ${pattern} ===`) console.log(out.split('\n').slice(0, 40).join('\n')) } catch (e) { console.log(`\n=== ${pattern} === (no match)`) } } grep('static list(') grep('sessionFile') grep('get sessionName') grep('setSessionName') grep('static continueRecent') grep('class SessionManager') grep('interface SessionInfo')