/** * Workspace Session Message 的 Active + Segment JSONL 存储。 * * Active 保存上次 Compact 后产生的真实 Message;Compact 把 Active 前缀写入按 * sequence 范围命名的不可变 Segment,并在 Segment 末尾追加累计 Summary footer。 */ import type { SessionAssistantMessage, SessionMessage } from "../../types/session/SessionMessage.js"; import type { SessionMessageStorageStats, SessionSegmentRange, SessionSegmentSnapshot, SessionSegmentSummary } from "../../types/session/SessionSegment.js"; import type { CompactActiveMessagesInput, CompactActiveMessagesResult, SessionMessageCommitState } from "../../types/store/SessionStore.js"; import type { JsonlSessionMessageStoreOptions } from "../../types/store/LocalStore.js"; /** Active + Segment JSONL 存储。 */ export declare class JsonlSessionMessageStore { readonly session_id: string; readonly active_file_path: string; readonly assistant_message_file_path: string; readonly segments_dir_path: string; private readonly lock_file_path; private readonly files; constructor(options: JsonlSessionMessageStoreOptions); /** 创建 Active 与 Segment 布局,并清理已经完成的遗留草稿。 */ initialize(): Promise; /** 读取 Active 和当前 Assistant 草稿,并按 revision 折叠。 */ list_messages(): Promise; /** 读取指定 sequence 之前最近的完整 Segment。 */ read_segment_before(before_sequence: number): Promise; /** 读取最新已关闭 Segment 的累计 Summary。 */ read_latest_summary(): Promise; /** 读取全部真实历史,供 Fork 等明确需要完整复制的操作使用。 */ list_history_messages(): Promise; /** 读取当前存储统计,不解析与当前操作无关的旧 Segment 正文。 */ stats(): Promise; /** 判断给定边界之前是否仍存在历史 Segment。 */ has_segment_before(before_sequence: number): Promise; /** 返回当前 Active 之前的读取边界。 */ active_before_sequence(messages: SessionMessage[]): Promise; /** 读取当前运行中的 Assistant 草稿。 */ read_assistant_message(): Promise; /** 原子覆盖运行中的 Assistant 草稿。 */ write_assistant_message(message: SessionAssistantMessage): Promise; /** 在写锁内分配全局 sequence 并创建唯一 Assistant 草稿。 */ create_assistant_message(build_message: (state: SessionMessageCommitState) => SessionAssistantMessage): Promise; /** 创建新 Message 或向 Active 追加已有 Message revision。 */ append_message(build_message: (state: SessionMessageCommitState) => SessionMessage): Promise; /** 将 Assistant 草稿最终追加到 Active,并删除草稿文件。 */ finalize_assistant_message(message: SessionAssistantMessage): Promise; /** 把 Active 前缀与累计 Summary 提交为不可变 Segment。 */ compact_active(input: CompactActiveMessagesInput): Promise; /** 扫描 Segment 文件名并返回 sequence 升序索引。 */ list_segment_ranges(): Promise; /** 读取并验证一个不可变 Segment。 */ private read_segment; /** 读取 Active 中每个 Message 的最高 revision。 */ private read_active_messages_unsafe; /** 读取 Active 原始行,并按 Message ID 保留最高 revision。 */ private read_folded_active_messages_unsafe; /** 计算下一条真实 Message sequence。 */ private next_sequence_unsafe; /** 原子覆盖 Assistant 草稿。 */ private write_assistant_message_unsafe; /** 原子覆盖 Active,只写入每个 Message 的最终 revision。 */ private write_active_messages_unsafe; /** 原子创建一个带累计 Summary footer 的 Segment。 */ private write_segment_unsafe; /** 生成稳定的 Segment sequence 范围文件名。 */ private segment_file_path; /** 验证真实 Session Message。 */ private validate_message; /** 验证 Segment footer Summary。 */ private validate_summary; /** 验证 Active 与草稿合并后紧接最新 Segment,且真实 Message sequence 连续。 */ private validate_runtime_sequence; /** 创建 Active、Segment 与锁所需目录。 */ private ensure_layout; /** 使用同目录锁串行化 Active、草稿与 Segment 写入。 */ private with_write_lock; } //# sourceMappingURL=JsonlSessionMessageStore.d.ts.map