/** * Locating a Codex thread's rollout, and making it visible to a second session. * * Codex resumes a thread by reading its rollout JSONL out of `CODEX_HOME`, and * Jinn points every session at a home of its own. So handing a new session a * thread id is not enough — without the rollout beside it, `codex exec resume` * finds nothing and quietly opens a fresh thread instead, which looks like a * resume and is not one. */ /** The rollout carrying `threadId` under a sessions root, or null. Codex files * it as `YYYY/MM/DD/rollout--.jsonl`; unreadable directories are * skipped rather than raised, since a missing rollout is an ordinary outcome. */ export declare function findCodexSessionFile(root: string, threadId: string): string | null; /** The rollout for `threadId` as the given Jinn session can see it, or null. */ export declare function findCodexRollout(sessionId: string, threadId: string, baseDir?: string): string | null; /** * Copy a thread's rollout into another session's home, keeping the thread id so * the target resumes the same conversation. A copy rather than a shared file: * both homes stay independently writable, so the two sessions cannot race. * Returns false when the source rollout is gone — the retention sweep reaches * homes that have sat idle — which the caller treats as "dispatch cold". */ export declare function copyCodexRollout(input: { threadId: string; fromSessionId: string; toSessionId: string; baseDir?: string; }): boolean; //# sourceMappingURL=codex-rollout.d.ts.map