/** * 升级/交接时的进程存续保障。 * * 背景(Cutie-Claw-1 事故):selfUpgrade 装完新版后 process.exit(0),假设 * 外部有守护进程拉起——但 connector 被 agent 用裸 bash 启动时没有任何守护, * 升级即死、心跳消失、KOL 分身离线。 * * 层 1(本文件):升级后自拉起——裸跑场景 spawn detached 新进程再退出, * 任何启动形态下升级都不死。守护场景维持原行为(exit 由守护拉起,避免双实例)。 */ /** * 是否运行在进程管理器(systemd / pm2)之下。 * pm2 不保证导出 PM2_HOME,per-process 标记 pm_id / NODE_APP_INSTANCE 更可靠 * (codex review P2:漏检会让 pm2 管理的进程被当裸跑,迁移/respawn 出双实例)。 */ export declare function isUnderProcessManager(env?: NodeJS.ProcessEnv): boolean; /** * 升级完成后的退出。 * - 守护下:直接 exit(0),守护拉起新版(spawn 会造成双实例双心跳,禁止)。 * - 裸跑:detached spawn 新版 `start` 再 exit——孤儿进程挂到 init,无崩溃重启 * 保险,但永远好于死掉;下次启动还会触发守护自迁移(setup.ts)。 * * respawn 失败必须以非 0 退出——exit 0 会让外层 wrapper / 监控把 * "connector 静默死亡"当成功(静默失败扫描 P3)。 */ export declare function exitForRestart(): void;