(
sessionId: string,
limit?: number
)
| 308 | } |
| 309 | |
| 310 | async getSessionMessages( |
| 311 | sessionId: string, |
| 312 | limit?: number |
| 313 | ): Promise<SiSessionMessage[]> { |
| 314 | let sql = |
| 315 | "SELECT * FROM si_session_messages WHERE session_id = $1 ORDER BY created_at ASC"; |
| 316 | const params: (string | number)[] = [sessionId]; |
| 317 | |
| 318 | if (limit) { |
| 319 | sql = |
| 320 | "SELECT * FROM si_session_messages WHERE session_id = $1 ORDER BY created_at DESC LIMIT $2"; |
| 321 | params.push(limit); |
| 322 | } |
| 323 | |
| 324 | const result = await query(sql, params); |
| 325 | const messages = result.rows.map((row) => this.deserializeMessage(row)); |
| 326 | |
| 327 | // If we limited, reverse to get chronological order |
| 328 | if (limit) { |
| 329 | messages.reverse(); |
| 330 | } |
| 331 | |
| 332 | return messages; |
| 333 | } |
| 334 | |
| 335 | // -------------------------------------------------------------------------- |
| 336 | // Relationship Memory |
no test coverage detected