( sessionName: string, projectRoot: string )
| 180 | * Load complete session data |
| 181 | */ |
| 182 | export async function loadSession( |
| 183 | sessionName: string, |
| 184 | projectRoot: string |
| 185 | ): Promise<SessionData> { |
| 186 | const sessionDir = path.join(projectRoot, DEFAULT_SESSION_DIR, sessionName) |
| 187 | |
| 188 | // Check if session exists |
| 189 | try { |
| 190 | await fs.access(sessionDir) |
| 191 | } catch { |
| 192 | throw new Error(`Session not found: ${sessionName}`) |
| 193 | } |
| 194 | |
| 195 | const [sessionInfo, commands, captures] = await Promise.all([ |
| 196 | loadSessionInfo(sessionDir), |
| 197 | loadCommands(sessionDir), |
| 198 | loadCaptures(sessionDir), |
| 199 | ]) |
| 200 | |
| 201 | return { |
| 202 | sessionInfo, |
| 203 | commands, |
| 204 | captures, |
| 205 | sessionDir, |
| 206 | } |
| 207 | } |
| 208 | |
| 209 | /** |
| 210 | * Convert session data to JSON format for AI consumption |
no test coverage detected