/** * Copyright 2025 Vybestack LLC * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { type ReplayResult, type SessionStartPayload } from './types.js'; /** * Replay a session from a JSONL file, reconstructing conversation history * and metadata. * * @plan PLAN-20260211-SESSIONRECORDING.P08 * @requirement REQ-RPL-002, REQ-RPL-003, REQ-RPL-005, REQ-RPL-006, REQ-RPL-007, REQ-RPL-008 * @pseudocode replay-engine.md lines 10-169 * * @param filePath - Path to the .jsonl session file * @param expectedProjectHash - Must match the file's projectHash * @returns ReplayResult discriminated union — ok: true with data, or ok: false with error */ export declare function replaySession(filePath: string, expectedProjectHash: string): Promise; /** * Read only the session header (first line) from a JSONL file. * Useful for listing sessions without replaying the entire file. * * @plan PLAN-20260211-SESSIONRECORDING.P08 * @requirement REQ-RPL-001 * @pseudocode replay-engine.md lines 175-198 * * @param filePath - Path to the .jsonl session file * @returns The SessionStartPayload from the first line, or null if unreadable */ export declare function readSessionHeader(filePath: string): Promise;